nextcloud/apps/settings/js/vue-vendors-settings-users-...

1 line
6.5 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"sources":["webpack:///./node_modules/@nextcloud/vue/dist/ncvuecomponents.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionButton.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/Actions.js","webpack:///./node_modules/@nextcloud/vue/node_modules/core-js/modules/es.array.find.js","webpack:///./node_modules/@nextcloud/vue/node_modules/core-js/modules/es.object.values.js","webpack:///./node_modules/@nextcloud/vue/node_modules/core-js/internals/object-to-array.js","webpack:///./node_modules/@nextcloud/vue/node_modules/core-js/modules/es.string.includes.js","webpack:///./node_modules/@nextcloud/vue/node_modules/debounce/index.js","webpack:///./node_modules/@nextcloud/vue/node_modules/string-length/index.js","webpack:///./node_modules/@nextcloud/vue/node_modules/string-length/node_modules/strip-ansi/index.js","webpack:///./node_modules/@nextcloud/vue/node_modules/string-length/node_modules/ansi-regex/index.js","webpack:///./node_modules/@nextcloud/vue/node_modules/char-regex/index.js","webpack:///./node_modules/@nextcloud/vue/node_modules/tributejs/dist/tribute.esm.js","webpack:///./node_modules/@nextcloud/vue/node_modules/vue-color/dist/vue-color.min.js","webpack:///./node_modules/@nextcloud/vue/node_modules/date-format-parse/es/util.js","webpack:///./node_modules/@nextcloud/vue/node_modules/date-format-parse/es/locale/en.js","webpack:///./node_modules/@nextcloud/vue/node_modules/date-format-parse/es/format.js","webpack:///./node_modules/@nextcloud/vue/node_modules/date-format-parse/es/parse.js","webpack:///./node_modules/@nextcloud/vue/node_modules/vue2-datepicker/index.esm.js","webpack:///./node_modules/vue-click-outside/index.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/AppNavigationCaption.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/AppNavigationNew.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/AppNavigationSettings.js","webpack:///./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/PopoverMenu.js"],"names":["factory","window","modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","_mixins_actionText__WEBPACK_IMPORTED_MODULE_0__","mixins","props","disabled","type","Boolean","default","computed","isFocusable","this","_mixins_actionGlobal__WEBPACK_IMPORTED_MODULE_2__","_utils_GenRandomId__WEBPACK_IMPORTED_MODULE_3__","id","String","validator","trim","checked","Number","methods","checkInput","event","$refs","label","click","onChange","$emit","checkbox","_mixins_actionGlobal__WEBPACK_IMPORTED_MODULE_7__","_utils_GenRandomId__WEBPACK_IMPORTED_MODULE_8__","_DatetimePicker__WEBPACK_IMPORTED_MODULE_9__","_Multiselect__WEBPACK_IMPORTED_MODULE_10__","components","DatetimePicker","Multiselect","icon","required","indexOf","Date","isIconUrl","URL","error","isMultiselectType","isDatePickerType","onLeave","datetimepicker","datepicker","closePopup","onInput","target","onSubmit","preventDefault","stopPropagation","_mixins_actionText__WEBPACK_IMPORTED_MODULE_6__","href","startsWith","download","toggleInput","radio","to","exact","_mixins_actionText__WEBPACK_IMPORTED_MODULE_1__","_utils_GenRandomId__WEBPACK_IMPORTED_MODULE_2__","_directives_Tooltip__WEBPACK_IMPORTED_MODULE_16__","_utils_GenRandomId__WEBPACK_IMPORTED_MODULE_17__","_utils_ValidateSlot__WEBPACK_IMPORTED_MODULE_18__","_l10n__WEBPACK_IMPORTED_MODULE_19__","_Popover__WEBPACK_IMPORTED_MODULE_20__","_toConsumableArray","arr","Array","isArray","_arrayLikeToArray","_arrayWithoutHoles","iter","iterator","from","_iterableToArray","minLen","toString","slice","constructor","test","_unsupportedIterableToArray","TypeError","_nonIterableSpread","len","length","arr2","ownKeys","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","configurable","writable","allowedChildren","directives","tooltip","Popover","VNodes","functional","render","h","context","vnodes","open","forceMenu","menuTitle","primary","defaultIcon","ariaLabel","placement","boundariesElement","Element","document","querySelector","container","data","actions","opened","focusIndex","randomId","children","$children","hasMultipleActions","isValidSingleAction","firstActionElement","firstActionVNode","firstAction","firstActionBinding","componentOptions","tag","is","$attrs","$props","firstActionEvent","_this$firstActionVNod","_this$firstActionVNod2","_this$firstActionVNod3","listeners","firstActionEventBinding","firstActionIconSlot","_this$firstAction","_this$firstAction$$sl","$slots","firstActionClass","staticClass","class","iconSlotIsPopulated","watch","state","beforeMount","initActions","beforeUpdate","openMenu","e","closeMenu","menuButton","focus","onOpen","_this","$nextTick","focusFirstAction","onMouseFocusAction","activeElement","menuItem","closest","focusableItem","menu","querySelectorAll","focusAction","removeCurrentActive","currentActiveElement","classList","remove","focusElement","liMenuParent","add","focusPreviousAction","preventIfEvent","focusNextAction","indexLength","focusLastAction","$el","execFirstAction","node","onFocus","onBlur","hammerjs__WEBPACK_IMPORTED_MODULE_0__","hammerjs__WEBPACK_IMPORTED_MODULE_0___default","_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_1__","allowSwipeNavigation","mounted","mc","a","cssProps","userSelect","on","handleSwipe","beforeDestroy","off","startX","srcEvent","pageX","deltaX","hasEnoughDistance","Math","abs","touchzone","selection","showDetails","_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_0__","_AppNavigationToggle_AppNavigationToggle__WEBPACK_IMPORTED_MODULE_1__","_mixins_isMobile__WEBPACK_IMPORTED_MODULE_2__","AppNavigationToggle","isMobile","toggleNavigationByEventBus","unmounted","destroy","toggleNavigation","bodyStyles","getComputedStyle","body","animationLength","parseInt","getPropertyValue","setTimeout","_ref","title","highlighted","color","formattedColor","onClick","v_click_outside__WEBPACK_IMPORTED_MODULE_0__","_Actions_Actions__WEBPACK_IMPORTED_MODULE_1__","_ActionButton_ActionButton__WEBPACK_IMPORTED_MODULE_2__","_AppNavigationIconCollapsible__WEBPACK_IMPORTED_MODULE_3__","_mixins_isMobile__WEBPACK_IMPORTED_MODULE_4__","_InputConfirmCancel__WEBPACK_IMPORTED_MODULE_5__","Actions","ActionButton","AppNavigationIconCollapsible","InputConfirmCancel","ClickOutside","loading","allowCollapse","editable","editLabel","editPlaceholder","pinned","undo","menuOpen","menuIcon","undefined","menuPlacement","editingValue","editingActive","collapsible","isIconShown","canHaveChildren","$parent","$options","_componentTag","hasChildren","hasUtils","editing","counter","navElement","isActive","$route","newVal","onMenuToggle","toggleCollapse","handleEdit","editingInput","focusInput","cancelEditing","handleEditingDone","handleUndo","placeholder","valueModel","set","newValue","confirm","cancel","input","buttonId","buttonClass","text","_mixins_isMobile__WEBPACK_IMPORTED_MODULE_1__","_AppNavigationItem_InputConfirmCancel__WEBPACK_IMPORTED_MODULE_2__","newItemValue","newItemActive","handleNewItem","newItemInput","cancelNewItem","handleNewItemDone","_l10n__WEBPACK_IMPORTED_MODULE_1__","_mixins__WEBPACK_IMPORTED_MODULE_2__","clickOutsideConfig","handler","middleware","clickOutsideMiddleware","toggleMenu","_Modal__WEBPACK_IMPORTED_MODULE_19__","_mixins_isMobile__WEBPACK_IMPORTED_MODULE_20__","debounce__WEBPACK_IMPORTED_MODULE_21__","debounce__WEBPACK_IMPORTED_MODULE_21___default","Modal","showNavigation","selectedSection","linkClicked","addedScrollListener","scroller","hasNavigation","settingsNavigationAriaLabel","propsData","updated","settingsScroller","addEventListener","handleScroll","getSettingsNavigation","slots","navigationItems","vNode","map","_vNode$componentOptio","element","index","newArray","splice","Error","concat","handleSettingsNavigationClick","item","getElementById","replace","scrollIntoView","behavior","inline","handleCloseModal","removeEventListener","scrollTop","unfocusNavigationItem","className","includes","blur","handleLinkKeydown","keyDownEvent","code","createElement","_this2","createListElemtent","attrs","role","tabindex","keydown","close","ref","_Actions__WEBPACK_IMPORTED_MODULE_0__","_directives_Focus__WEBPACK_IMPORTED_MODULE_1__","_directives_Linkify__WEBPACK_IMPORTED_MODULE_2__","_directives_Tooltip__WEBPACK_IMPORTED_MODULE_3__","_AppSidebarTabs__WEBPACK_IMPORTED_MODULE_4__","_EmptyContent_EmptyContent__WEBPACK_IMPORTED_MODULE_5__","_l10n__WEBPACK_IMPORTED_MODULE_6__","v_click_outside__WEBPACK_IMPORTED_MODULE_7__","AppSidebarTabs","EmptyContent","linkify","Tooltip","active","titleEditable","titlePlaceholder","subtitle","subtitleTooltip","background","starred","starLoading","compact","empty","linkifyTitle","titleTooltip","closeTranslated","isStarred","canStar","hasFigure","header","hasFigureClickListener","$listeners","onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave","closeSidebar","onFigureClick","toggleStarred","editTitle","titleInput","onTitleInput","onSubmitTitle","onDismissEditing","onUpdateActive","activeTab","vue__WEBPACK_IMPORTED_MODULE_6__","vue__WEBPACK_IMPORTED_MODULE_6___default","IsValidString","IsValidStringWithoutSpaces","tabs","hasMultipleTabs","currentTabIndex","findIndex","tab","_active","updateActive","updateTabs","setActive","focusPreviousTab","focusActiveTab","focusNextTab","focusFirstTab","focusLastTab","focusActiveTabContent","elem","invalidTabs","reduce","tabNode","componentInstance","util","warn","invalid","console","debug","sort","b","orderA","order","orderB","OC","Util","naturalSortCompare","onScroll","scrollHeight","clientHeight","_nextcloud_browser_storage__WEBPACK_IMPORTED_MODULE_10__","v_click_outside__WEBPACK_IMPORTED_MODULE_11__","_PopoverMenu__WEBPACK_IMPORTED_MODULE_12__","_nextcloud_auth__WEBPACK_IMPORTED_MODULE_13__","_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_14__","_nextcloud_axios__WEBPACK_IMPORTED_MODULE_15__","_nextcloud_axios__WEBPACK_IMPORTED_MODULE_15___default","_nextcloud_router__WEBPACK_IMPORTED_MODULE_16__","_directives_Tooltip__WEBPACK_IMPORTED_MODULE_17__","_functions_usernameToColor__WEBPACK_IMPORTED_MODULE_18__","_mixins__WEBPACK_IMPORTED_MODULE_19__","_Popover_Popover__WEBPACK_IMPORTED_MODULE_20__","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","done","Promise","then","_asyncToGenerator","fn","self","args","err","browserStorage","persist","build","getUserHasAvatar","userId","flag","getItem","setUserHasAvatar","setItem","PopoverMenu","url","iconClass","user","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","displayName","size","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","status","statusColor","menuPosition","menuContainer","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","canDisplayUserStatus","hasStatus","userStatus","showUserStatusIconOnAvatar","getUserIdentifier","isDisplayNameDefined","isUserDefined","isUrlDefined","hasMenu","_getCurrentUser","uid","shouldShowPlaceholder","avatarStyle","style","width","height","lineHeight","fontSize","round","rgb","backgroundColor","g","initials","idx","fromCodePoint","codePointAt","toUpperCase","html","hyperlink","longtext","message","createTextNode","appendChild","innerHTML","loadAvatarUrl","fetchUserStatus","handleUserStatusUpdated","beforeDestroyed","regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","fetchContactsMenu","stop","_callee2","_yield$axios$post","_context2","encodeURIComponent","post","sent","topAction","t0","updateImageIfValid","avatarUrl","avatarUrlGenerator","srcset","join","_getCurrentUser2","oc_userconfig","avatar","version","_this3","userHasAvatar","img","Image","onload","onerror","src","disableDrop","hovering","onOpenChange","dropped","dragEnter","dragLeave","contains","relatedTarget","crumb","vue__WEBPACK_IMPORTED_MODULE_7__","vue__WEBPACK_IMPORTED_MODULE_7___default","debounce__WEBPACK_IMPORTED_MODULE_8__","debounce__WEBPACK_IMPORTED_MODULE_8___default","_Actions__WEBPACK_IMPORTED_MODULE_9__","_ActionRouter__WEBPACK_IMPORTED_MODULE_10__","_ActionLink__WEBPACK_IMPORTED_MODULE_11__","_utils_ValidateSlot__WEBPACK_IMPORTED_MODULE_12__","_Breadcrumb__WEBPACK_IMPORTED_MODULE_13__","ActionRouter","ActionLink","Breadcrumb","rootIcon","hiddenCrumbs","hiddenIndices","menuBreadcrumbProps","created","handleWindowResize","delayedResize","delayedHideCrumbs","crumbs","hideCrumbs","closeActions","actionsBreadcrumb","breadcrumbs","nrCrumbs","availableWidth","offsetWidth","overflow","getTotalWidth","startIndex","floor","currentIndex","pow","getWidth","elm","arraysEqual","_this4","el","hide","minWidth","w","dragStart","path","f","dragOver","_this5","offset","_crumb$elm","_this6","crumbs1","nativeOn","dragstart","dragenter","dragleave","draggable","drop","$event","dragover","crumbs2","vue_color__WEBPACK_IMPORTED_MODULE_3__","_utils_GenColors__WEBPACK_IMPORTED_MODULE_4__","_mixins_l10n__WEBPACK_IMPORTED_MODULE_5__","_Popover__WEBPACK_IMPORTED_MODULE_6__","Chrome","currentColor","advanced","palette","rgbToHex","handleConfirm","handleBack","handleMoreSettings","pickColor","hex","appName","vue2_datepicker__WEBPACK_IMPORTED_MODULE_1__","vue2_datepicker__WEBPACK_IMPORTED_MODULE_1___default","DatePicker","inheritAttrs","clearable","minuteStep","format","date","datetime","year","month","time","week","formatter","appendToBody","showWeekNumber","handleSelectYear","currentValue","setFullYear","selectDate","handleSelectMonth","setMonth","_utils_FindRanges__WEBPACK_IMPORTED_MODULE_10__","search","highlight","ranges","validRanges","range","start","end","chunks","currentRange","substr","chunk","_Avatar__WEBPACK_IMPORTED_MODULE_2__","_Highlight__WEBPACK_IMPORTED_MODULE_3__","_mixins__WEBPACK_IMPORTED_MODULE_4__","Avatar","Highlight","avatarSize","noMargin","margin","hasIcon","hasSlot","isValidSubtitle","_this$subtitle","_this$subtitle$trim","isSizeBigEnough","cssVars","hammerjs__WEBPACK_IMPORTED_MODULE_1__","hammerjs__WEBPACK_IMPORTED_MODULE_1___default","_Actions__WEBPACK_IMPORTED_MODULE_2__","_ActionButton__WEBPACK_IMPORTED_MODULE_3__","_mixins_l10n__WEBPACK_IMPORTED_MODULE_4__","_l10n__WEBPACK_IMPORTED_MODULE_5__","_directives_Tooltip__WEBPACK_IMPORTED_MODULE_6__","_utils_Timer__WEBPACK_IMPORTED_MODULE_7__","hasPrevious","hasNext","outTransition","enableSlideshow","clearViewDelay","slideshowDelay","slideshowPaused","enableSwipe","spreadNavigation","canClose","dark","showModal","clearView","clearViewTimeout","playing","slideshowTimeout","modalTransitionName","playPauseTitle","paused","pause","handleKeydown","handleMouseMove","mask","insertBefore","lastChild","destroyed","previous","resetSlideshow","keyCode","clearTimeout","togglePlayPause","handleSlideshow","clearSlideshowTimeout","clear","_Highlight__WEBPACK_IMPORTED_MODULE_5__","_utils_FindRanges__WEBPACK_IMPORTED_MODULE_6__","option","needsTruncate","split","min","part1","part2","highlight1","highlight2","vue_multiselect__WEBPACK_IMPORTED_MODULE_11__","vue_multiselect__WEBPACK_IMPORTED_MODULE_11___default","_EllipsisedOption__WEBPACK_IMPORTED_MODULE_12__","_mixins_l10n__WEBPACK_IMPORTED_MODULE_13__","_ListItemIcon__WEBPACK_IMPORTED_MODULE_14__","_directives_Tooltip__WEBPACK_IMPORTED_MODULE_15__","_typeof","EllipsisedOption","ListItemIcon","VueMultiselect","multiple","limit","trackBy","options","autoLimit","tagWidth","elWidth","maxOptions","limitString","localValue","updateWidth","getOptionLabel","_this$$refs$VueMultis","formatLimitTitle","_mixins_l10n__WEBPACK_IMPORTED_MODULE_7__","_Multiselect__WEBPACK_IMPORTED_MODULE_8__","_api__WEBPACK_IMPORTED_MODULE_9__","_l10n__WEBPACK_IMPORTED_MODULE_10__","tags","inputValue","getValueObject","beforeCreate","result","find","tag2","update","tagLabel","userVisible","userAssignable","v_tooltip__WEBPACK_IMPORTED_MODULE_0__","VPopover","$watch","popover","isOpen","val","_PopoverMenuItem__WEBPACK_IMPORTED_MODULE_0__","PopoverMenuItem","random","iconIsUrl","_","action","_nextcloud_router__WEBPACK_IMPORTED_MODULE_0__","subline","getAvatarUrl","haveStatus","_this$status","_this$status2","mentionText","tributejs_dist_tribute_esm__WEBPACK_IMPORTED_MODULE_11__","tributejs_dist_tribute_esm__WEBPACK_IMPORTED_MODULE_11___default","debounce__WEBPACK_IMPORTED_MODULE_12__","debounce__WEBPACK_IMPORTED_MODULE_12___default","string_length__WEBPACK_IMPORTED_MODULE_13__","string_length__WEBPACK_IMPORTED_MODULE_13___default","_l10n_js__WEBPACK_IMPORTED_MODULE_14__","_AutoCompleteResult__WEBPACK_IMPORTED_MODULE_15__","_mixins_richEditor_index__WEBPACK_IMPORTED_MODULE_16__","autoComplete","Function","multiline","contenteditable","maxlength","tribute","fillAttr","lookup","menuItemTemplate","renderComponentHtml","original","noMatchTemplate","selectTemplate","_item$original","genSelectTemplate","values","debouncedAutoComplete","isEmptyValue","isFF","navigator","userAgent","match","isOverMaxlength","content","count","show","trigger","parseContent","updateContent","attach","contentEditable","detach","updateValue","onPaste","clipboardData","files","items","getData","getSelection","rangeCount","getRangeAt","deleteFromDocument","insertNode","newRange","createRange","setStart","endOffset","collapse","removeAllRanges","addRange","htmlOrText","renderedContent","renderContent","onDelete","isCollapsed","curRange","commonAncestorContainer","nodeType","startOffset","anchorNode","selectNodeContents","setEndBefore","anchorOffset","setEnd","previousNode","cloneContents","deleteContents","onEnter","onCtrlEnter","callback","_x","_x2","_l10n__WEBPACK_IMPORTED_MODULE_2__","description","docUrl","docTitleTranslated","hasDescription","hasDocUrl","_Popover__WEBPACK_IMPORTED_MODULE_7__","_Avatar__WEBPACK_IMPORTED_MODULE_8__","avatarImage","isPopoverComponent","popoverEmpty","isAvatarUrl","isCustomAvatar","isLinkComponent","styles","borderRadius","marginLeft","_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__","_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__","_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default","_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__","_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__","_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__","_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","cssWithMappingToString","list","mediaQuery","dedupe","alreadyImportedModules","_i","_slicedToArray","_arrayWithHoles","_arr","_n","_d","_e","_s","_iterableToArrayLimit","_nonIterableRest","_item","cssMapping","btoa","base64","unescape","JSON","stringify","sourceMapping","sourceURLs","sources","sourceRoot","hash","needQuotes","_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__","_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_style_index_0_id_2e929b4f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","locals","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionCheckbox_vue_vue_type_style_index_0_id_74cf1d6f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionInput_vue_vue_type_style_index_0_id_5e00ea39_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionLink_vue_vue_type_style_index_0_id_7b85b80f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRadio_vue_vue_type_style_index_0_id_031b3fca_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRouter_vue_vue_type_style_index_0_id_3a6feea2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionSeparator_vue_vue_type_style_index_0_id_64ac3a22_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionText_vue_vue_type_style_index_0_id_68547a2f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionTextEditable_vue_vue_type_style_index_0_id_6377b0a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_style_index_0_id_4f45864b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContent_vue_vue_type_style_index_0_id_71758b0f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigation_vue_vue_type_style_index_0_id_d3908c0a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_style_index_0_id_6ee65822_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCounter_vue_vue_type_style_index_0_id_231d7daf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconBullet_vue_vue_type_style_index_0_id_1589a81e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconCollapsible_vue_vue_type_style_index_0_id_3c4acfb3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationItem_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_InputConfirmCancel_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_style_index_0_id_cc6353a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNewItem_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_style_index_0_id_9c9c397e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationToggle_vue_vue_type_style_index_0_id_17ebeae3_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsDialog_vue_vue_type_style_index_0_id_1d3abcae_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsSection_vue_vue_type_style_index_0_id_a1fa5522_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_style_index_0_id_4a2a5f2f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTabs_vue_vue_type_style_index_0_id_5772e44d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTab_vue_vue_type_style_index_0_id_e5dbfd76_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Avatar_vue_vue_type_style_index_0_id_100e3b6f_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_style_index_0_id_03216ba2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumbs_vue_vue_type_style_index_0_id_7650ef71_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ColorPicker_vue_vue_type_style_index_0_id_ee3f421a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Content_vue_vue_type_style_index_0_id_37f0357a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_EmptyContent_vue_vue_type_style_index_0_id_a68b8462_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ListItemIcon_vue_vue_type_style_index_0_id_7fe95a8f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_style_index_0_id_47db75aa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisedOption_vue_vue_type_style_index_0_id_026c3def_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_style_index_0_id_0a0eb719_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_1_id_512ea768_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoCompleteResult_vue_vue_type_style_index_0_id_6cb58afa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_style_index_0_id_69f40ec8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_style_index_0_id_554d37da_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_SettingsSection_vue_vue_type_style_index_0_id_911c1c56_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_UserBubble_vue_vue_type_style_index_0_id_5c0e21af_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSpacer_vue_vue_type_style_index_0_id_9c70beda_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_0_id_512ea768_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__","memo","isOldIE","all","atob","getTarget","styleTarget","HTMLIFrameElement","contentDocument","head","stylesInDom","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","base","css","media","sourceMap","references","updater","addStyle","insertStyleElement","attributes","nonce","nc","setAttribute","insert","textStore","replaceText","replacement","applyToSingletonTag","styleSheet","cssText","cssNode","childNodes","removeChild","applyToTag","removeAttribute","firstChild","singleton","singletonCounter","styleIndex","parentNode","removeStyleElement","newObj","lastIdentifiers","newList","newLastIdentifiers","_index","staticRenderFns","_vm","_h","$createElement","_c","_self","focusable","backgroundImage","_t","_v","domProps","textContent","isLongText","_withStripped","_k","ctrlKey","shiftKey","altKey","metaKey","change","for","mouseleave","submit","_b","_g","rawName","expression","rel","_obj","_obj$1","modifiers","auto","hidden","delay","slot","mousemove","showdetails","model","$$v","composing","appear","currentTarget","button","_l","scroll","alt","xmlns","viewBox","fill","stroke","scopedSlots","_u","proxy","toLowerCase","$scopedSlots","scope","desc","touchmove","invisible","cx","cy","mousedown","$$a","$$el","$$c","$$i","$set","_q","paste","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","shadowRoot","_injectStyles","originalRender","existing","_ActionButton_vue_vue_type_template_id_2e929b4f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionButton_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__","_ActionButton_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_ActionButton_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","component","__file","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_template_id_2e929b4f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionButton__WEBPACK_IMPORTED_MODULE_0__","_ActionCheckbox_vue_vue_type_template_id_74cf1d6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionCheckbox_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_ActionCheckbox_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_ActionCheckbox_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionCheckbox_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionCheckbox_vue_vue_type_template_id_74cf1d6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionCheckbox__WEBPACK_IMPORTED_MODULE_0__","_ActionInput_vue_vue_type_template_id_5e00ea39_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionInput_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_ActionInput_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_ActionInput_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionInput_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionInput_vue_vue_type_template_id_5e00ea39_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionInput__WEBPACK_IMPORTED_MODULE_0__","_ActionLink_vue_vue_type_template_id_7b85b80f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_ActionLink_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_ActionLink_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionLink_vue_vue_type_template_id_7b85b80f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionLink__WEBPACK_IMPORTED_MODULE_0__","_ActionRadio_vue_vue_type_template_id_031b3fca_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionRadio_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_ActionRadio_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_ActionRadio_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRadio_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRadio_vue_vue_type_template_id_031b3fca_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionRadio__WEBPACK_IMPORTED_MODULE_0__","_ActionRouter_vue_vue_type_template_id_3a6feea2_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionRouter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRouter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRouter_vue_vue_type_template_id_3a6feea2_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionRouter__WEBPACK_IMPORTED_MODULE_0__","_ActionSeparator_vue_vue_type_template_id_64ac3a22_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionSeparator_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionSeparator_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionSeparator_vue_vue_type_template_id_64ac3a22_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionSeparator__WEBPACK_IMPORTED_MODULE_0__","_ActionText_vue_vue_type_template_id_68547a2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionText_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionText_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionText_vue_vue_type_template_id_68547a2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionText__WEBPACK_IMPORTED_MODULE_0__","_ActionTextEditable_vue_vue_type_template_id_6377b0a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionTextEditable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_ActionTextEditable_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_ActionTextEditable_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionTextEditable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionTextEditable_vue_vue_type_template_id_6377b0a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ActionTextEditable__WEBPACK_IMPORTED_MODULE_0__","_Actions_vue_vue_type_template_id_4f45864b_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_Actions_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_Actions_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_Actions_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_template_id_4f45864b_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppContent_vue_vue_type_template_id_71758b0f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContent_vue_vue_type_template_id_71758b0f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppContent__WEBPACK_IMPORTED_MODULE_0__","_AppContentDetails_vue_vue_type_template_id_649708a5___WEBPACK_IMPORTED_MODULE_0__","_AppContentDetails_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContentDetails_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContentDetails_vue_vue_type_template_id_649708a5___WEBPACK_IMPORTED_MODULE_0__","_AppContentDetails__WEBPACK_IMPORTED_MODULE_0__","_AppContentList_vue_vue_type_template_id_53bb4862___WEBPACK_IMPORTED_MODULE_0__","_AppContentList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContentList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContentList_vue_vue_type_template_id_53bb4862___WEBPACK_IMPORTED_MODULE_0__","_AppContentList__WEBPACK_IMPORTED_MODULE_0__","_AppNavigation_vue_vue_type_template_id_d3908c0a_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigation_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_AppNavigation_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_AppNavigation_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigation_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigation_vue_vue_type_template_id_d3908c0a_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigation__WEBPACK_IMPORTED_MODULE_0__","_AppNavigationCaption_vue_vue_type_template_id_6ee65822_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationCaption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_template_id_6ee65822_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationCaption__WEBPACK_IMPORTED_MODULE_0__","_AppNavigationCounter_vue_vue_type_template_id_231d7daf_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationCounter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_AppNavigationCounter_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_AppNavigationCounter_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCounter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCounter_vue_vue_type_template_id_231d7daf_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationCounter__WEBPACK_IMPORTED_MODULE_0__","_AppNavigationIconBullet_vue_vue_type_template_id_1589a81e_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationIconBullet_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_AppNavigationIconBullet_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_AppNavigationIconBullet_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconBullet_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconBullet_vue_vue_type_template_id_1589a81e_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationIconBullet__WEBPACK_IMPORTED_MODULE_0__","_AppNavigationIconCollapsible_vue_vue_type_template_id_3c4acfb3_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationIconCollapsible_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconCollapsible_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconCollapsible_vue_vue_type_template_id_3c4acfb3_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationItem_vue_vue_type_template_id_210dfea1___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_AppNavigationItem_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_AppNavigationItem_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationItem_vue_vue_type_template_id_210dfea1___WEBPACK_IMPORTED_MODULE_0__","_InputConfirmCancel_vue_vue_type_template_id_185307b2___WEBPACK_IMPORTED_MODULE_0__","_InputConfirmCancel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_InputConfirmCancel_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_InputConfirmCancel_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_InputConfirmCancel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_InputConfirmCancel_vue_vue_type_template_id_185307b2___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationItem__WEBPACK_IMPORTED_MODULE_0__","_AppNavigationNew_vue_vue_type_template_id_cc6353a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationNew_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_template_id_cc6353a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationNew__WEBPACK_IMPORTED_MODULE_0__","_AppNavigationNewItem_vue_vue_type_template_id_2b534a0f___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationNewItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_AppNavigationNewItem_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_AppNavigationNewItem_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNewItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNewItem_vue_vue_type_template_id_2b534a0f___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationNewItem__WEBPACK_IMPORTED_MODULE_0__","_AppNavigationSettings_vue_vue_type_template_id_9c9c397e_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_template_id_9c9c397e_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationSettings__WEBPACK_IMPORTED_MODULE_0__","_AppNavigationSpacer_vue_vue_type_template_id_9c70beda_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationSpacer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSpacer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSpacer_vue_vue_type_template_id_9c70beda_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationSpacer__WEBPACK_IMPORTED_MODULE_0__","_AppNavigationToggle_vue_vue_type_template_id_17ebeae3_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppNavigationToggle_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationToggle_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationToggle_vue_vue_type_template_id_17ebeae3_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppSettingsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_AppSettingsDialog_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__","_AppSettingsDialog_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_AppSettingsDialog__WEBPACK_IMPORTED_MODULE_0__","_AppSettingsSection_vue_vue_type_template_id_a1fa5522_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppSettingsSection_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsSection_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsSection_vue_vue_type_template_id_a1fa5522_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppSettingsSection__WEBPACK_IMPORTED_MODULE_0__","_AppSidebar_vue_vue_type_template_id_4a2a5f2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppSidebar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__","_AppSidebar_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_5__","_AppSidebar_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_5___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_template_id_4a2a5f2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppSidebarTabs_vue_vue_type_template_id_5772e44d_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppSidebarTabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTabs_vue_vue_type_template_id_5772e44d_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppSidebar__WEBPACK_IMPORTED_MODULE_0__","_AppSidebarTab_vue_vue_type_template_id_e5dbfd76_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppSidebarTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTab_vue_vue_type_template_id_e5dbfd76_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AppSidebarTab__WEBPACK_IMPORTED_MODULE_0__","_Avatar_vue_vue_type_template_id_100e3b6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_Avatar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_Avatar_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_Avatar_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Avatar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Avatar_vue_vue_type_template_id_100e3b6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_Avatar__WEBPACK_IMPORTED_MODULE_0__","_Breadcrumb_vue_vue_type_template_id_03216ba2_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_Breadcrumb_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_Breadcrumb_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_Breadcrumb_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_template_id_03216ba2_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_Breadcrumb__WEBPACK_IMPORTED_MODULE_0__","_Breadcrumbs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_Breadcrumbs_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__","_Breadcrumbs_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumbs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_Breadcrumbs__WEBPACK_IMPORTED_MODULE_0__","_ColorPicker_vue_vue_type_template_id_ee3f421a_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ColorPicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_ColorPicker_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_ColorPicker_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ColorPicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ColorPicker_vue_vue_type_template_id_ee3f421a_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ColorPicker__WEBPACK_IMPORTED_MODULE_0__","_Content_vue_vue_type_template_id_37f0357a_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_Content_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_Content_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_Content_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Content_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Content_vue_vue_type_template_id_37f0357a_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_Content__WEBPACK_IMPORTED_MODULE_0__","_DatetimePicker_vue_vue_type_template_id_6a62836f___WEBPACK_IMPORTED_MODULE_0__","_DatetimePicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_DatetimePicker_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__","_DatetimePicker_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DatetimePicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_DatetimePicker_vue_vue_type_template_id_6a62836f___WEBPACK_IMPORTED_MODULE_0__","_utils_ScopeComponent__WEBPACK_IMPORTED_MODULE_0__","_DatetimePicker__WEBPACK_IMPORTED_MODULE_1__","_node_modules_css_loader_dist_cjs_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_index_scss__WEBPACK_IMPORTED_MODULE_1__","_EmptyContent_vue_vue_type_template_id_a68b8462_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_EmptyContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_EmptyContent_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_EmptyContent_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_EmptyContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_EmptyContent_vue_vue_type_template_id_a68b8462_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_EmptyContent__WEBPACK_IMPORTED_MODULE_0__","_Highlight_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__","_Highlight_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_2__","_Highlight_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_2___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Highlight_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_Highlight__WEBPACK_IMPORTED_MODULE_0__","_ListItemIcon_vue_vue_type_template_id_7fe95a8f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ListItemIcon_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_ListItemIcon_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_ListItemIcon_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ListItemIcon_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ListItemIcon_vue_vue_type_template_id_7fe95a8f_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_ListItemIcon__WEBPACK_IMPORTED_MODULE_0__","_Modal_vue_vue_type_template_id_47db75aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_Modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_Modal_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_Modal_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_template_id_47db75aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_Modal__WEBPACK_IMPORTED_MODULE_1__","_EllipsisedOption_vue_vue_type_template_id_026c3def_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_EllipsisedOption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisedOption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisedOption_vue_vue_type_template_id_026c3def_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_Multiselect_vue_vue_type_template_id_1cd2ff8a___WEBPACK_IMPORTED_MODULE_0__","_Multiselect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_Multiselect_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__","_Multiselect_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Multiselect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Multiselect_vue_vue_type_template_id_1cd2ff8a___WEBPACK_IMPORTED_MODULE_0__","_Multiselect__WEBPACK_IMPORTED_MODULE_1__","_MultiselectTags_vue_vue_type_template_id_5083b5ad___WEBPACK_IMPORTED_MODULE_0__","_MultiselectTags_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_MultiselectTags_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__","_MultiselectTags_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_MultiselectTags_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MultiselectTags_vue_vue_type_template_id_5083b5ad___WEBPACK_IMPORTED_MODULE_0__","searchTags","_nextcloud_axios__WEBPACK_IMPORTED_MODULE_3__","_nextcloud_axios__WEBPACK_IMPORTED_MODULE_3___default","_nextcloud_router__WEBPACK_IMPORTED_MODULE_4__","xmlToTagList","xml","xmlToJson","j","attribute","nodeName","nodeValue","hasChildNodes","old","dom","DOMParser","parseFromString","parseXml","canAssign","NextcloudVueDocs","method","_MultiselectTags__WEBPACK_IMPORTED_MODULE_0__","_Popover_vue_vue_type_template_id_45093cca___WEBPACK_IMPORTED_MODULE_0__","_Popover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_Popover_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_Popover_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_template_id_45093cca___WEBPACK_IMPORTED_MODULE_0__","_Popover__WEBPACK_IMPORTED_MODULE_0__","_PopoverMenu_vue_vue_type_template_id_0a0eb719_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_PopoverMenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_PopoverMenu_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_PopoverMenu_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_template_id_0a0eb719_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_PopoverMenuItem_vue_vue_type_template_id_512ea768_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_PopoverMenuItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_template_id_512ea768_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_PopoverMenu__WEBPACK_IMPORTED_MODULE_0__","_AutoCompleteResult_vue_vue_type_template_id_6cb58afa_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_AutoCompleteResult_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoCompleteResult_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoCompleteResult_vue_vue_type_template_id_6cb58afa_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_MentionBubble_vue_vue_type_template_id_69f40ec8_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_MentionBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_template_id_69f40ec8_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_RichContenteditable_vue_vue_type_template_id_554d37da_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_RichContenteditable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_RichContenteditable_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_5__","_RichContenteditable_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_5___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_template_id_554d37da_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_RichContenteditable__WEBPACK_IMPORTED_MODULE_0__","_SettingsSection_vue_vue_type_template_id_911c1c56_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_SettingsSection_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_SettingsSection_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_SettingsSection_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_SettingsSection_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_SettingsSection_vue_vue_type_template_id_911c1c56_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_SettingsSection__WEBPACK_IMPORTED_MODULE_0__","_UserBubble_vue_vue_type_template_id_5c0e21af_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_UserBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__","_UserBubble_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__","_UserBubble_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default","_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__","_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserBubble_vue_vue_type_template_id_5c0e21af_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_UserBubble__WEBPACK_IMPORTED_MODULE_0__","_ActionCheckbox__WEBPACK_IMPORTED_MODULE_1__","_ActionInput__WEBPACK_IMPORTED_MODULE_2__","_ActionLink__WEBPACK_IMPORTED_MODULE_3__","_ActionRadio__WEBPACK_IMPORTED_MODULE_4__","_ActionRouter__WEBPACK_IMPORTED_MODULE_5__","_Actions__WEBPACK_IMPORTED_MODULE_6__","_ActionSeparator__WEBPACK_IMPORTED_MODULE_7__","_ActionText__WEBPACK_IMPORTED_MODULE_8__","_ActionTextEditable__WEBPACK_IMPORTED_MODULE_9__","_AppContent__WEBPACK_IMPORTED_MODULE_10__","_AppContentDetails__WEBPACK_IMPORTED_MODULE_11__","_AppContentList__WEBPACK_IMPORTED_MODULE_12__","_AppNavigation__WEBPACK_IMPORTED_MODULE_13__","_AppNavigationCaption__WEBPACK_IMPORTED_MODULE_14__","_AppNavigationCounter__WEBPACK_IMPORTED_MODULE_15__","_AppNavigationIconBullet__WEBPACK_IMPORTED_MODULE_16__","_AppNavigationItem__WEBPACK_IMPORTED_MODULE_17__","_AppNavigationNew__WEBPACK_IMPORTED_MODULE_18__","_AppNavigationNewItem__WEBPACK_IMPORTED_MODULE_19__","_AppNavigationSettings__WEBPACK_IMPORTED_MODULE_20__","_AppNavigationSpacer__WEBPACK_IMPORTED_MODULE_21__","_AppSettingsDialog__WEBPACK_IMPORTED_MODULE_22__","_AppSettingsSection__WEBPACK_IMPORTED_MODULE_23__","_AppSidebar__WEBPACK_IMPORTED_MODULE_24__","_AppSidebarTab__WEBPACK_IMPORTED_MODULE_25__","_Avatar__WEBPACK_IMPORTED_MODULE_26__","_Breadcrumb__WEBPACK_IMPORTED_MODULE_27__","_Breadcrumbs__WEBPACK_IMPORTED_MODULE_28__","_ColorPicker__WEBPACK_IMPORTED_MODULE_29__","_Content__WEBPACK_IMPORTED_MODULE_30__","_DatetimePicker__WEBPACK_IMPORTED_MODULE_31__","_EmptyContent__WEBPACK_IMPORTED_MODULE_32__","_ListItemIcon__WEBPACK_IMPORTED_MODULE_33__","_Modal__WEBPACK_IMPORTED_MODULE_34__","_Multiselect__WEBPACK_IMPORTED_MODULE_35__","_MultiselectTags__WEBPACK_IMPORTED_MODULE_36__","_Popover__WEBPACK_IMPORTED_MODULE_37__","_PopoverMenu__WEBPACK_IMPORTED_MODULE_38__","_RichContenteditable__WEBPACK_IMPORTED_MODULE_39__","_SettingsSection__WEBPACK_IMPORTED_MODULE_40__","_UserBubble__WEBPACK_IMPORTED_MODULE_41__","directive","inserted","linkifyjs_string__WEBPACK_IMPORTED_MODULE_0__","linkifyjs_string__WEBPACK_IMPORTED_MODULE_0___default","binding","_binding$value","defaultProtocol","defaultTemplate","defaultHtml","_Focus__WEBPACK_IMPORTED_MODULE_0__","_Linkify__WEBPACK_IMPORTED_MODULE_1__","_Tooltip__WEBPACK_IMPORTED_MODULE_2__","_usernameToColor__WEBPACK_IMPORTED_MODULE_0__","md5__WEBPACK_IMPORTED_MODULE_3__","md5__WEBPACK_IMPORTED_MODULE_3___default","username","maximum","finalInt","charAt","hashToInt","steps","_components__WEBPACK_IMPORTED_MODULE_8__","_directives__WEBPACK_IMPORTED_MODULE_9__","_mixins__WEBPACK_IMPORTED_MODULE_10__","install","Vue","_nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_1__","gtBuilder","detectLocale","lang","translations","pluralId","msgid","msgid_plural","msgstr","addTranslation","locale","gt","ngettext","gettext","vue__WEBPACK_IMPORTED_MODULE_2__","vue__WEBPACK_IMPORTED_MODULE_2___default","before","$destroy","getText","_actionGlobal__WEBPACK_IMPORTED_MODULE_5__","_utils_GetParent__WEBPACK_IMPORTED_MODULE_6__","closeAfterClick","_createForOfIteratorHelper","allowArrayLike","it","F","normalCompletion","didErr","step","_e2","return","excludeClickOutsideClasses","excludedClassList","hasNodeOrAnyParentClass","classArray","_step","_iterator","_node$classList","parentElement","_excludeClickOutsideClasses__WEBPACK_IMPORTED_MODULE_0__","_isFullscreen__WEBPACK_IMPORTED_MODULE_1__","_isMobile__WEBPACK_IMPORTED_MODULE_2__","_richEditor__WEBPACK_IMPORTED_MODULE_3__","_userStatus__WEBPACK_IMPORTED_MODULE_4__","isFullscreen","_isFullscreen","_onResize","outerHeight","screen","_utils_IsMobileState__WEBPACK_IMPORTED_MODULE_0__","$on","onIsMobileChanged","$off","_l10n__WEBPACK_IMPORTED_MODULE_0__","USERID_REGEX","USERID_REGEX_WITH_SPACE","escape_html__WEBPACK_IMPORTED_MODULE_9__","escape_html__WEBPACK_IMPORTED_MODULE_9___default","linkifyjs_string__WEBPACK_IMPORTED_MODULE_10__","linkifyjs_string__WEBPACK_IMPORTED_MODULE_10___default","striptags__WEBPACK_IMPORTED_MODULE_11__","striptags__WEBPACK_IMPORTED_MODULE_11___default","vue__WEBPACK_IMPORTED_MODULE_12__","vue__WEBPACK_IMPORTED_MODULE_12___default","_components_RichContenteditable_MentionBubble__WEBPACK_IMPORTED_MODULE_13__","RegExp","userData","part","flat","Item","extend","wrapper","mount","display","$mount","renderedHtml","_nextcloud_capabilities__WEBPACK_IMPORTED_MODULE_5__","_nextcloud_auth__WEBPACK_IMPORTED_MODULE_6__","capabilities","_yield$axios$get","_data$ocs$data","_e$response$data$ocs","_e$response$data$ocs$","user_status","enabled","ocs","response","Color","mixPalette","color1","color2","ends","stepCalc","red","yellow","blue","palette1","palette2","palette3","IsMobileState","vue__WEBPACK_IMPORTED_MODULE_0__","documentElement","clientWidth","Component","timer","started","running","remaining","getTimeLeft","getStateRunning","vue__WEBPACK_IMPORTED_MODULE_3__","vue__WEBPACK_IMPORTED_MODULE_3___default","allowed","vm","isHtmlElement","isVueComponent","isForbiddenComponent","$","$find","addToUnscopables","SKIPS_HOLES","proto","forced","callbackfn","$values","stat","O","DESCRIPTORS","objectKeys","toIndexedObject","propertyIsEnumerable","createMethod","TO_ENTRIES","entries","notARegExp","requireObjectCoercible","correctIsRegExpLogic","searchString","debounce","func","wait","immediate","timeout","timestamp","later","last","now","debounced","callNow","flush","stripAnsi","charRegex","string","strippedString","ansiRegex","onlyFirst","pattern","astral","combo","fitz","nonAstral","regional","surrogatePair","family","optModifier","seq","symbol","predicate","thisArg","CustomEvent","CustomEvent$1","params","bubbles","cancelable","detail","evt","createEvent","initCustomEvent","Event","TributeEvents","events","boundKeydown","boundKeyup","keyup","boundInput","instance","shouldDeactivate","hideMenu","commandEvent","callbacks","inputEvent","li","selectItemAtIndex","getAttribute","current","externalTrigger","updateSelection","allowSpaces","hasTrailingSpace","autocompleteMode","triggerChar","getKeyCode","isNaN","triggers","charCodeAt","collection","menuShowMinLength","showMenuFor","eventKeyPressed","getTriggerInfo","mentionTriggerChar","selectedPath","mentionSelectedPath","selectedOffset","mentionSelectedOffset","collectionItem","enter","filteredItems","menuSelected","escape","space","spaceSelectsMatch","up","selected","setActiveLi","down","delete","lis","selectClass","liClientRect","getBoundingClientRect","menuClientRect","bottom","scrollDistance","top","includeMargin","currentStyle","parseFloat","marginTop","marginBottom","TributeMenuEvents","menuEvents","menuClickEvent","menuContainerScrollEvent","windowResizeEvent","positionMenuAtCaret","getDocument","TributeRange","iframe","contentWindow","scrollTo","coordinates","positionMenu","isContentEditable","getContentEditableCaretPosition","mentionPosition","getTextAreaOrInputUnderlinePosition","left","right","menuDimensions","offsetHeight","menuIsOffScreen","isMenuOffScreen","menuIsOffScreenHorizontally","innerWidth","menuIsOffScreenVertically","innerHeight","targetElement","nextSibling","previousSibling","sel","getWindowSelection","requireLeadingSpace","originalEvent","replaceEvent","replaceTextSuffix","endPos","pasteHtml","myField","textSuffix","startPos","substring","selectionStart","selectionEnd","dispatchEvent","lastNode","frag","createDocumentFragment","cloneRange","setStartAfter","ctx","ce","getNodePositionInParent","reverse","selectedElem","workingNodeContent","selectStartOffset","textComponent","wordsArray","menuAlreadyActive","isAutocomplete","selectionInfo","getContentEditableSelectedPath","effectiveRange","getTextPrecedingCurrentSelection","lastWordOfEffectiveRange","getLastWordInText","mentionSelectedElement","mostRecentTriggerCharPos","config","lastIndexWithLeadingSpace","lastIndexOf","currentTriggerSnippet","firstSnippetChar","leadingSpace","regex","str","reversedStr","cidx","firstChar","triggerIdx","windowWidth","windowHeight","doc","windowLeft","pageXOffset","scrollLeft","clientLeft","windowTop","pageYOffset","clientTop","menuTop","menuRight","menuBottom","menuLeft","ceil","dimensions","position","flipped","isFirefox","mozInnerScreenX","div","whiteSpace","wordWrap","visibility","prop","overflowY","span","rect","menuContainerIsBody","offsetTop","borderTopWidth","offsetLeft","borderLeftWidth","getMenuDimensions","parentHeight","scrollStillAvailable","selectedNodePosition","clientRect","elemTop","elemBottom","maxY","targetY","TributeSearch","array","opts","pre","compareString","caseSensitive","skip","rendered","score","patternCache","traverse","cache","stringIndex","patternIndex","calculateScore","best","temp","pop","indices","extract","compare","Tribute","containerClass","itemClass","searchOpts","menuItemLimit","defaultSelectTemplate","defaultMenuItemTemplate","_isActive","noMatchEvent","matchItem","jQuery","NodeList","HTMLCollection","_attach","hasAttribute","ensureEditable","inputTypes","ul","currentMentionTextSnapshot","createMenu","tributeMenu","processValues","fragment","_findLiTarget","movementY","collectionIndex","placeCaretAtEnd","insertTextAtCursor","insertAtCaret","createTextRange","textRange","moveToElementText","select","textNode","textarea","scrollPos","caretPos","front","back","replaceTriggerText","newValues","_append","_detach","unbind","u","refs","parts","v","x","ssrId","DEBUG","getElementsByTagName","esModule","hsl","hsv","rgba","_a","setAlpha","toHsl","toHsv","toHexString","hex8","toHex8String","toRgb","oldHue","getAlpha","colors","colorChange","isValidHex","isValid","simpleCheckForValidColor","paletteUpperCase","isTransparent","__g","store","__e","valueOf","copyright","pick","handlerClick","labelText","max","arrowOffset","labelId","labelSpanText","handleChange","handleKeyDown","swatches","hue","normalizedSwatches","hueChange","handleSwClick","y","C","k","S","A","E","P","G","B","W","virtual","R","U","write","getOwnPropertyNames","direction","pullDirection","directionClass","pointerTop","pointerLeft","touches","pageY","handleMouseDown","handleMouseUp","unbindEventListeners","equal","disableFields","hasResetButton","acceptLabel","cancelLabel","resetLabel","newLabel","currentLabel","saturation","alpha","toFixed","childChange","inputChange","clickCurrentColor","handleAccept","handleCancel","handleReset","bgColor","throttle","leading","trailing","checkboard","gradientColor","getContext","fillStyle","fillRect","translate","toDataURL","white","grey","bgStyle","presetColors","disableAlpha","activeColor","handlePreset","fieldsIndex","hasAlpha","toggleViews","showHighlight","hideHighlight","editableInput","defaultColors","triangle","Compact","Grayscale","Twitter","Material","Slider","Swatches","Photoshop","Sketch","Alpha","Checkboard","EditableInput","Hue","Saturation","ColorMixin","I","J","exec","hsla","hsva","T","hex6","hex4","hex3","N","H","D","ok","V","q","_originalInput","_r","_roundA","_format","_gradientType","gradientType","_ok","_tc_id","M","desaturate","L","CSS_UNIT","X","isDark","getBrightness","isLight","getOriginalInput","getFormat","getLuminance","toHsvString","toHslString","toHex","toHex8","toRgbString","toPercentageRgb","toPercentageRgbString","toName","Y","toFilter","clone","_applyModification","lighten","brighten","darken","saturate","greyscale","spin","_applyCombination","analogous","complement","monochromatic","splitcomplement","triad","tetrad","fromRatio","equals","mix","readability","isReadable","level","z","mostReadable","includeFallbackColors","names","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","hexNames","borderColor","getPrototypeOf","Arguments","KEY","QObject","findChild","Z","Q","ee","te","ne","re","ie","oe","keyFor","useSetter","useSimple","ae","isExtensible","preventExtensions","NEED","fastKey","getWeak","onFreeze","touchstart","50","100","200","300","400","500","600","700","800","900","a100","a200","a400","a700","secondary","dividers","inactive","deepPurple","lightBlue","lightGreen","amber","deepOrange","blueGrey","darkText","lightText","darkIcons","lightIcons","staticStyle","maxWait","NaN","global","mouseover","mouseenter","mouseout","boxShadow","isDate","toDate","getTime","isValidDate","startOfWeek","firstDayOfWeek","RangeError","day","getDay","diff","setDate","getDate","setHours","startOfWeekYear","_ref$firstDayOfWeek","_ref$firstWeekContain","firstWeekContainsDate","getFullYear","firstDateOfFirstWeek","getWeek","_ref2","_ref2$firstDayOfWeek","_ref2$firstWeekContai","firstDateOfThisWeek","months","monthsShort","weekdays","weekdaysShort","weekdaysMin","REGEX_FORMAT","pad","output","sign","formatTimezone","delimeter","absOffset","hours","minutes","meridiem","isLowercase","word","toLocaleLowerCase","formatFlags","YY","YYYY","getMonth","MM","MMM","MMMM","DD","getHours","HH","hh","getMinutes","mm","getSeconds","ss","getMilliseconds","SS","SSS","dd","ddd","dddd","getTimezoneOffset","ZZ","ww","formatStr","p1","formattingTokens","match1","match2","match1to2","matchSigned","parseFlags","addParseFlag","token","tokens","escapeStringRegExp","matchWordRegExp","localeKey","matchWordCallback","to24hour","hour","isPM","getFullInputArray","backupDate","backupArr","useBackup","createUTCDate","_len","_key","UTC","isFinite","getUTCFullYear","setUTCFullYear","makeParser","dateString","parseTo","parser","_extends","assign","_objectSpread2","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","_extends$1","cent","meridiemParse","defaultIsPM","_ref9","minute","normalMerge","toArrayMerge","functionalMerge","mergeFn","helper","createDate","ms","isValidRangeDate","every","getValidDate","backup","startOfYear","startOfMonth","startOfDay","assignTime","isObject","res","createCommonjsModule","_default","formatLocale","yearFormat","monthFormat","monthBeforeYear","defaultLocale","locales","isLocal","getLocale","getScrollParent","until","template","script","isFunctionalTemplate","createInjector","createInjectorSSR","createInjectorShadow","scrollBarWidth","__vue_component__","prefixClass","visible","inject","displayPopup","_clickoutEvent","handleClickOutside","isRunning","relativeElement","_displayPopup","requestAnimationFrame","_scrollParent","popup","_popupRect","originalDisplay","originalVisibility","marginRight","getPopupElementSize","_this$_popupRect","_getRelativePosition","targetWidth","targetHeight","fixed","offsetX","offsetY","relativeRect","dw","dh","getRelativePosition","__vue_component__$1","__vue_component__$2","__vue_component__$3","__vue_component__$4","handleIconDoubleLeftClick","handleIconLeftClick","handleIconDoubleRightClick","handleIconRightClick","yearMonth","panel","handlePanelChange","days","handleCellClick","dates","row","getRowClasses","getWeekNumber","cell","getCellClasses","getCellTitle","handleMouseEnter","handleMouseLeave","IconButton","onDateMouseEnter","onDateMouseLeave","calendar","titleFormat","_this$getLocale","_this$getLocale$month","yearLabel","formatDate","monthLabel","lastDayInLastMonth","firstDayInLastMonth","lastDayInCurrentMonth","nextMonthLength","_i2","getCalendar","getNextCalendar","diffMonth","tagName","_index$split$map2","col","fmt","__vue_component__$5","calendarYear","handleClick","diffYear","__vue_component__$6","firstYear","lastYear","years","getYearPanel","getYears","CalendarPanel","dispatchDatePicker","defaultValue","defaultPanel","disabledDate","getClasses","partialUpdate","panels","innerCalendar","innerValue","calendarMonth","initCalendar","calendarDate","isDisabled","emitDate","handleCalendarChange","oldCalendar","handelPanelChange","oldPanel","getYearCellDate","_date","getMonthCellDate","_date2","dirtyDate","dirtyMonth","daysInMonth","handleSelectDate","getDateClasses","cellDate","notCurrentMonth","classes","getStateClass","getMonthClasses","getYearClasses","some","getWeekState","CalendarRange","provide","calendars","hoveredValue","calendarMinDiff","calendarMaxDiff","Infinity","defaultValues","updateCalendars","handleSelect","_this$innerValue","startValue","endValue","updateStartCalendar","updateEndCalendar","adjustIndex","gap","getCalendarGap","_calendars","calendarLeft","calendarRight","getRangeClasses","currentDates","classnames","inRange","_range$map","_range$map2","calendarRange","__vue_component__$7","scrollbarWidth","thumbHeight","thumbTop","handleDragstart","outer","inner","getScrollbarWidth","handleDragend","getThumbSize","heightPercentage","stopImmediatePropagation","_draggable","thumb","_prevY","clientY","handleDraging","padNumber","generateOptions","duration","difference","tick","__vue_component__$8","columns","ScrollbarVertical","scrollDuration","hourOptions","minuteOptions","secondOptions","showHour","showMinute","showSecond","hourStep","secondStep","use12h","cols","getHoursList","getMinutesList","getSecondsList","getAMPMList","scrollToSelected","num","setMinutes","setSeconds","elements","scrollElement","colIndex","cellIndex","parseOption","__vue_component__$9","startMinutes","endMinutes","stepMinutes","timeMinutes","scrollTo$1","__vue_component__$a","showTimeHeader","handleClickTitle","timePickerOptions","innerForamt","ShowHourMinuteSecondAMPM","ListColumns","ListOptions","timeTitleFormat","disabledTime","defaultProps","TimeRange","_this$value","emitChange","handleSelectStart","handleSelectEnd","disabledStartTime","disabledEndTime","DatetimePanel","emits","showTimePanel","defaultTimeVisible","timeVisible","closeTimePanel","openTimePanel","calendarProps","timeProps","clicktitle","DatetimeRange","datetimes","componentMap","componentRangeMap","valueType","rangeSeparator","inputClass","inputAttr","popupClass","popupStyle","confirmText","renderInputText","shortcuts","userInput","defaultOpen","popupVisible","innerRangeSeparator","innerFormat","validMultipleType","value2date","isValidValue","showClearIcon","mergeDeep","handleClickOutSide","getFormatter","parseDate","_options$locale","_locale","_options$backupDate","parseResult","second","millisecond","weekday","inputArray","firstDate","utcDate","offsetMilliseconds","parsedDate","parse","date2value","emitValue","afterEmitValue","isValidValueAndNotDisabled","handleMultipleDates","nextDates","handleClear","handleConfirmDate","handleSelectShortcut","openPopup","handleInputChange","handleInputInput","handleInputKeydown","handleInputBlur","handleInputFocus","renderSlot","fallback","slotFn","renderInput","autocomplete","readonly","emit","renderSidebar","renderHeader","renderFooter","_class","sidedar","TimePanel","validate","isServer","$isServer","composedPath","unshift","popupItem","isPopup","__vueClickOutside__","clickHandler","throttleLimit","loopCheckTimeout","loopCheckMaxCalls","passive","STATE_CHANGER","INFINITE_EVENT","IDENTIFIER","INFINITE_LOOP","READY","LOADING","COMPLETE","ERROR","padding","spinner","distance","forceUseInfiniteWrapper","system","noResults","noMore","errorBtnText","WARNINGS","ERRORS","STATUS","BUBBLES","CIRCLES","DEFAULT","SPIRAL","WAVEDOTS","spinnerView","spinnerInConfig","__inject__","timers","caches","shift","reset","isChecked","times","track","getScrollElm","save","restore","scrollParent","scrollHandler","isFirstLoad","Spinner","isShowSpinner","isShowError","isShowNoResults","isShowNoMore","slotStyles","onInfinite","stateChanger","attemptLoad","$forceUpdate","loaded","complete","deactivated","activated","getCurrentDistance","productionTip"],"mappings":"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xBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,KAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAExBC,EAAOD,QAAU,EAAQ,MAInB;;;;8BAKA,SAAUC,EAAQD,GAE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","file":"vue-vendors-settings-users-42291cf8d2a2aa1043a8.js?v=c7c1542be663eb356c29","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"ncvuecomponents\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ncvuecomponents\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"ncvuecomponents\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionButton/ActionButton.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mixins_actionText__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mixins/actionText */ \"./src/mixins/actionText.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/**\n * Button component to be used in Actions\n*/\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'ActionButton',\n mixins: [_mixins_actionText__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n props: {\n /**\n * disabled state of the action button\n */\n disabled: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n /**\n * determines if the action is focusable\n * @returns {boolean} is the action focusable ?\n */\n isFocusable: function isFocusable() {\n return !this.disabled;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"core-js/modules/es.string.trim.js\");\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _mixins_actionGlobal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/actionGlobal */ \"./src/mixins/actionGlobal.js\");\n/* harmony import */ var _utils_GenRandomId__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/GenRandomId */ \"./src/utils/GenRandomId.js\");\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'ActionCheckbox',\n mixins: [_mixins_actionGlobal__WEBPACK_IMPORTED_MODULE_2__[\"default\"]],\n props: {\n /**\n * id attribute of the checkbox element\n */\n id: {\n type: String,\n default: function _default() {\n return 'action-' + Object(_utils_GenRandomId__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n },\n validator: function validator(id) {\n return id.trim() !== '';\n }\n },\n\n /**\n * checked state of the the checkbox element\n */\n checked: {\n type: Boolean,\n default: false\n },\n\n /**\n * value of the checkbox input\n */\n value: {\n type: [String, Number],\n default: ''\n },\n\n /**\n * disabled state of the checkbox element\n */\n disabled: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n /**\n * determines if the action is focusable\n * @returns {boolean} is the action focusable ?\n */\n isFocusable: function isFocusable() {\n return !this.disabled;\n }\n },\n methods: {\n checkInput: function checkInput(event) {\n // by clicking we also trigger the change event\n this.$refs.label.click();\n },\n onChange: function onChange(event) {\n /**\n * Emitted when the checkbox state is changed\n * @type {boolean}\n */\n this.$emit('update:checked', this.$refs.checkbox.checked);\n /**\n * Emitted when the checkbox state is changed\n * @type {Event}\n */\n\n this.$emit('change', event);\n\n if (this.$refs.checkbox.checked) {\n /**\n * Emitted when the checkbox is checked\n * @type {Event}\n */\n this.$emit('check');\n } else {\n /**\n * Emitted when the checkbox is unchecked\n * @type {Event}\n */\n this.$emit('uncheck');\n }\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionInput/ActionInput.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionInput/ActionInput.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"core-js/modules/es.string.trim.js\");\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/web.url.js */ \"core-js/modules/web.url.js\");\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _mixins_actionGlobal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../mixins/actionGlobal */ \"./src/mixins/actionGlobal.js\");\n/* harmony import */ var _utils_GenRandomId__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/GenRandomId */ \"./src/utils/GenRandomId.js\");\n/* harmony import */ var _DatetimePicker__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../DatetimePicker */ \"./src/components/DatetimePicker/index.js\");\n/* harmony import */ var _Multiselect__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Multiselect */ \"./src/components/Multiselect/index.js\");\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'ActionInput',\n components: {\n DatetimePicker: _DatetimePicker__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n Multiselect: _Multiselect__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n },\n mixins: [_mixins_actionGlobal__WEBPACK_IMPORTED_MODULE_7__[\"default\"]],\n props: {\n /**\n * id attribute of the checkbox element\n */\n id: {\n type: String,\n default: function _default() {\n return 'action-' + Object(_utils_GenRandomId__WEBPACK_IMPORTED_MODULE_8__[\"default\"])();\n },\n validator: function validator(id) {\n return id.trim() !== '';\n }\n },\n\n /**\n * Icon to show with the action, can be either a CSS class or an URL\n */\n icon: {\n type: String,\n default: '',\n required: true\n },\n\n /**\n * type attribute of the input field\n */\n type: {\n type: String,\n default: 'text',\n validator: function validator(type) {\n return ['date', 'datetime-local', 'month', 'multiselect', 'number', 'password', 'search', 'tel', 'text', 'time', 'url', 'week', 'color', 'email'].indexOf(type) > -1;\n }\n },\n\n /**\n * value attribute of the input field\n */\n value: {\n type: [String, Date, Number],\n default: ''\n },\n\n /**\n * disabled state of the input field\n */\n disabled: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n isIconUrl: function isIconUrl() {\n try {\n return new URL(this.icon);\n } catch (error) {\n return false;\n }\n },\n isMultiselectType: function isMultiselectType() {\n return this.type === 'multiselect';\n },\n isDatePickerType: function isDatePickerType() {\n switch (this.type) {\n case 'date':\n case 'month':\n case 'time':\n return this.type;\n\n case 'datetime-local':\n return 'datetime';\n }\n\n return false;\n },\n\n /**\n * determines if the action is focusable\n * @returns {boolean} is the action focusable ?\n */\n isFocusable: function isFocusable() {\n return !this.disabled;\n }\n },\n methods: {\n // closing datepicker popup on mouseleave = unfocus\n onLeave: function onLeave() {\n if (this.$refs.datetimepicker && this.$refs.datetimepicker.$refs.datepicker) {\n this.$refs.datetimepicker.$refs.datepicker.closePopup();\n }\n },\n onInput: function onInput(event) {\n /**\n * Emitted on input events of the text field\n * @type {Event|Date}\n */\n this.$emit('input', event);\n /**\n * Emitted when the inputs value changes\n * ! DatetimePicker only send the value\n * @type {string|Date}\n */\n\n this.$emit('update:value', event.target ? event.target.value : event);\n },\n onSubmit: function onSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (!this.disabled) {\n /**\n * Emitted on submit of the input field\n * @type {Event}\n */\n this.$emit('submit', event);\n } else {\n // ignore submit\n return false;\n }\n },\n onChange: function onChange(event) {\n /**\n * Emitted on change of the input field\n * @type {Event}\n */\n this.$emit('change', event);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionLink/ActionLink.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionLink/ActionLink.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/web.url.js */ \"core-js/modules/web.url.js\");\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.starts-with.js */ \"core-js/modules/es.string.starts-with.js\");\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _mixins_actionText__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../mixins/actionText */ \"./src/mixins/actionText.js\");\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'ActionLink',\n mixins: [_mixins_actionText__WEBPACK_IMPORTED_MODULE_6__[\"default\"]],\n props: {\n /**\n * destionation to link to\n */\n href: {\n type: String,\n default: '#',\n required: true,\n validator: function validator(value) {\n // href is either an anchor or a valid url starting with a scheme or a relative path\n try {\n return new URL(value);\n } catch (error) {\n return value.startsWith('#') || value.startsWith('/');\n }\n }\n },\n\n /**\n * download the link instead of opening\n */\n download: {\n type: String,\n default: null\n },\n\n /**\n * target to open the link\n */\n target: {\n type: String,\n default: '_self',\n validator: function validator(value) {\n return ['_blank', '_self', '_parent', '_top'].indexOf(value) > -1;\n }\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRadio/ActionRadio.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionRadio/ActionRadio.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"core-js/modules/es.string.trim.js\");\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _mixins_actionGlobal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/actionGlobal */ \"./src/mixins/actionGlobal.js\");\n/* harmony import */ var _utils_GenRandomId__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/GenRandomId */ \"./src/utils/GenRandomId.js\");\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'ActionRadio',\n mixins: [_mixins_actionGlobal__WEBPACK_IMPORTED_MODULE_2__[\"default\"]],\n props: {\n /**\n * id attribute of the radio element\n */\n id: {\n type: String,\n default: function _default() {\n return 'action-' + Object(_utils_GenRandomId__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n },\n validator: function validator(id) {\n return id.trim() !== '';\n }\n },\n\n /**\n * checked state of the the radio element\n */\n checked: {\n type: Boolean,\n default: false\n },\n\n /**\n * Define if this radio is part of a set.\n * Checking the radio will disable all the\n * others with the same name.\n */\n name: {\n type: String,\n required: true\n },\n\n /**\n * value of the radio input\n */\n value: {\n type: [String, Number],\n default: ''\n },\n\n /**\n * disabled state of the radio element\n */\n disabled: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n /**\n * determines if the action is focusable\n * @returns {boolean} is the action focusable ?\n */\n isFocusable: function isFocusable() {\n return !this.disabled;\n }\n },\n methods: {\n toggleInput: function toggleInput(event) {\n // by clicking we also trigger the change event\n this.$refs.label.click();\n },\n onChange: function onChange(event) {\n /**\n * Emitted when the radio state is changed\n * @type {boolean}\n */\n this.$emit('update:checked', this.$refs.radio.checked);\n /**\n * Emitted when the radio state is changed\n * @type {Event}\n */\n\n this.$emit('change', event);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRouter/ActionRouter.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionRouter/ActionRouter.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mixins_actionText__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mixins/actionText */ \"./src/mixins/actionText.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'ActionRouter',\n mixins: [_mixins_actionText__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n props: {\n /**\n * router-link to prop [https://router.vuejs.org/api/#to](https://router.vuejs.org/api/#to)\n */\n to: {\n type: [String, Object],\n default: '',\n required: true\n },\n\n /**\n * router-link exact prop [https://router.vuejs.org/api/#exact](https://router.vuejs.org/api/#exact)\n */\n exact: {\n type: Boolean,\n default: false\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionSeparator/ActionSeparator.vue?vue&type=script&lang=js&\":\n/*!***********************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionSeparator/ActionSeparator.vue?vue&type=script&lang=js& ***!\n \\***********************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'ActionSeparator'\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionText/ActionText.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionText/ActionText.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mixins_actionText__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mixins/actionText */ \"./src/mixins/actionText.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'ActionText',\n mixins: [_mixins_actionText__WEBPACK_IMPORTED_MODULE_0__[\"default\"]]\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"core-js/modules/es.string.trim.js\");\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mixins_actionText__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../mixins/actionText */ \"./src/mixins/actionText.js\");\n/* harmony import */ var _utils_GenRandomId__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/GenRandomId */ \"./src/utils/GenRandomId.js\");\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'ActionTextEditable',\n mixins: [_mixins_actionText__WEBPACK_IMPORTED_MODULE_1__[\"default\"]],\n props: {\n /**\n * id attribute of the checkbox element\n */\n id: {\n type: String,\n default: function _default() {\n return 'action-' + Object(_utils_GenRandomId__WEBPACK_IMPORTED_MODULE_2__[\"default\"])();\n },\n validator: function validator(id) {\n return id.trim() !== '';\n }\n },\n\n /**\n * disabled state of the text area\n */\n disabled: {\n type: Boolean,\n default: false\n },\n\n /**\n * value attribute of the input field\n */\n value: {\n type: String,\n default: ''\n }\n },\n computed: {\n /**\n * determines if the action is focusable\n * @returns {boolean} is the action focusable ?\n */\n isFocusable: function isFocusable() {\n return !this.disabled;\n }\n },\n methods: {\n onInput: function onInput(event) {\n /**\n * Emitted on input events of the text field\n * @type {Event|Date}\n */\n this.$emit('input', event);\n /**\n * Emitted when the inputs value changes\n * @type {string|Date}\n */\n\n this.$emit('update:value', event.target.value);\n },\n onSubmit: function onSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (!this.disabled) {\n /**\n * Emitted on submit of the input field\n * @type {Event}\n */\n this.$emit('submit', event);\n } else {\n // ignore submit\n return false;\n }\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Actions/Actions.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"core-js/modules/es.string.trim.js\");\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ \"core-js/modules/es.object.get-own-property-descriptor.js\");\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ \"core-js/modules/es.object.get-own-property-descriptors.js\");\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"core-js/modules/es.symbol.description.js\");\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"core-js/modules/es.symbol.iterator.js\");\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ \"core-js/modules/es.array.from.js\");\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var _directives_Tooltip__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../directives/Tooltip */ \"./src/directives/Tooltip/index.js\");\n/* harmony import */ var _utils_GenRandomId__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../utils/GenRandomId */ \"./src/utils/GenRandomId.js\");\n/* harmony import */ var _utils_ValidateSlot__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../utils/ValidateSlot */ \"./src/utils/ValidateSlot.js\");\n/* harmony import */ var _l10n__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../l10n */ \"./src/l10n.js\");\n/* harmony import */ var _Popover__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../Popover */ \"./src/components/Popover/index.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n // This is the list of ALL the ALLOWED components\n// in the default SLOT\n\nvar allowedChildren = ['ActionButton', 'ActionCheckbox', 'ActionInput', 'ActionLink', 'ActionRadio', 'ActionRouter', 'ActionSeparator', 'ActionText', 'ActionTextEditable'];\nvar focusableSelector = '.focusable';\n/**\n * The Actions component can be used to display one ore more actions.\n * If only a single action is provided, it will be rendered as an inline icon.\n * For more, a menu indicator will be shown and a popovermenu containing the\n * actions will be opened on click.\n *\n * @since 0.10.0\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Actions',\n directives: {\n tooltip: _directives_Tooltip__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n components: {\n Popover: _Popover__WEBPACK_IMPORTED_MODULE_20__[\"default\"],\n // Component to render the first action icon slot content (vnodes)\n VNodes: {\n functional: true,\n render: function render(h, context) {\n return context.props.vnodes;\n }\n }\n },\n props: {\n /**\n * Specify the open state of the popover menu\n */\n open: {\n type: Boolean,\n default: false\n },\n\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n\n /**\n * Specify the menu title\n */\n menuTitle: {\n type: String,\n default: null\n },\n\n /**\n * Apply primary styling for this menu\n */\n primary: {\n type: Boolean,\n default: false\n },\n\n /**\n * Icon to show for the toggle menu button\n * when more than one action is inside the actions component.\n * Only replace the default three-dot icon if really necessary.\n */\n defaultIcon: {\n type: String,\n default: 'action-item__menutoggle--default-icon'\n },\n\n /**\n * Aria label for the actions menu\n */\n ariaLabel: {\n type: String,\n default: Object(_l10n__WEBPACK_IMPORTED_MODULE_19__[\"t\"])('Actions')\n },\n\n /**\n * Wanted direction of the menu\n */\n placement: {\n type: String,\n default: 'bottom'\n },\n\n /**\n * DOM element for the actions' popover boundaries\n */\n boundariesElement: {\n type: Element,\n default: function _default() {\n return document.querySelector('body');\n }\n },\n\n /**\n * Selector for the actions' popover container\n */\n container: {\n type: String,\n default: 'body'\n },\n\n /**\n * Disabled state of the main button (single action or menu toggle)\n */\n disabled: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n actions: [],\n opened: this.open,\n focusIndex: 0,\n randomId: 'menu-' + Object(_utils_GenRandomId__WEBPACK_IMPORTED_MODULE_17__[\"default\"])(),\n // Making children reactive!\n // By binding this here, vuejs will track the object content\n // Needed for firstAction reactivity !!!\n children: this.$children\n };\n },\n computed: {\n /**\n * Is there more than one action?\n * @returns {boolean}\n */\n hasMultipleActions: function hasMultipleActions() {\n return this.actions.length > 1;\n },\n\n /**\n * Is there any first action ?\n * And is it allowed as a standalone element ?\n * @returns {boolean}\n */\n isValidSingleAction: function isValidSingleAction() {\n return this.actions.length === 1 && this.firstActionElement !== null;\n },\n\n /**\n * First action vnode\n * @returns {Object} return the first action vue vnode\n */\n firstActionVNode: function firstActionVNode() {\n return this.actions[0];\n },\n\n /**\n * Reactive binding to the first children\n * Since we're here, it means we already passed all the proper checks\n * we can assume the first action is the first children too\n * @returns {Object} first action vue children object\n */\n firstAction: function firstAction() {\n return this.children[0] ? this.children[0] : {};\n },\n\n /**\n * Binding of the first action to the template\n * @returns {Object} vue template v-bind shortcut\n */\n firstActionBinding: function firstActionBinding() {\n if (this.firstActionVNode && this.firstActionVNode.componentOptions) {\n var tag = this.firstActionVNode.componentOptions.tag;\n\n if (tag === 'ActionLink') {\n return _objectSpread(_objectSpread({\n is: 'a',\n href: this.firstAction.href,\n target: this.firstAction.target,\n 'aria-label': this.firstAction.ariaLabel\n }, this.firstAction.$attrs), this.firstAction.$props);\n }\n\n if (tag === 'ActionRouter') {\n return _objectSpread(_objectSpread({\n is: 'router-link',\n to: this.firstAction.to,\n exact: this.firstAction.exact,\n 'aria-label': this.firstAction.ariaLabel\n }, this.firstAction.$attrs), this.firstAction.$props);\n }\n\n if (tag === 'ActionButton') {\n return _objectSpread(_objectSpread({\n is: 'button',\n 'aria-label': this.firstAction.ariaLabel\n }, this.firstAction.$attrs), this.firstAction.$props);\n }\n } // other action types are not allowed as standalone buttons\n\n\n return null;\n },\n // return the event to bind if the firstActionVNode have an action\n firstActionEvent: function firstActionEvent() {\n var _this$firstActionVNod, _this$firstActionVNod2, _this$firstActionVNod3;\n\n return (_this$firstActionVNod = this.firstActionVNode) === null || _this$firstActionVNod === void 0 ? void 0 : (_this$firstActionVNod2 = _this$firstActionVNod.componentOptions) === null || _this$firstActionVNod2 === void 0 ? void 0 : (_this$firstActionVNod3 = _this$firstActionVNod2.listeners) === null || _this$firstActionVNod3 === void 0 ? void 0 : _this$firstActionVNod3.click;\n },\n firstActionEventBinding: function firstActionEventBinding() {\n return this.firstActionEvent ? 'click' : null;\n },\n // return the first action icon slot vnodes array\n firstActionIconSlot: function firstActionIconSlot() {\n var _this$firstAction, _this$firstAction$$sl;\n\n return (_this$firstAction = this.firstAction) === null || _this$firstAction === void 0 ? void 0 : (_this$firstAction$$sl = _this$firstAction.$slots) === null || _this$firstAction$$sl === void 0 ? void 0 : _this$firstAction$$sl.icon;\n },\n firstActionClass: function firstActionClass() {\n var staticClass = this.firstActionVNode && this.firstActionVNode.data.staticClass;\n var dynClass = this.firstActionVNode && this.firstActionVNode.data.class;\n return (staticClass + ' ' + dynClass).trim();\n },\n iconSlotIsPopulated: function iconSlotIsPopulated() {\n return !!this.$slots.icon;\n }\n },\n watch: {\n // Watch parent prop\n open: function open(state) {\n if (state === this.opened) {\n return;\n }\n\n this.opened = state;\n }\n },\n beforeMount: function beforeMount() {\n // init actions\n this.initActions(); // filter invalid menu items\n\n Object(_utils_ValidateSlot__WEBPACK_IMPORTED_MODULE_18__[\"default\"])(this.$slots.default, allowedChildren, this);\n },\n beforeUpdate: function beforeUpdate() {\n // ! since we're using $slots to manage our actions\n // ! we NEED to update the actions if anything change\n // update children & actions\n // no need to init actions again since we bound it to $children\n // and the array is now reactive\n // init actions\n this.initActions();\n Object(_utils_ValidateSlot__WEBPACK_IMPORTED_MODULE_18__[\"default\"])(this.$slots.default, allowedChildren, this);\n },\n methods: {\n // MENU STATE MANAGEMENT\n openMenu: function openMenu(e) {\n if (this.opened) {\n return;\n }\n\n this.opened = true;\n /**\n * Event emitted when the popover menu open state is changed\n * @type {boolean}\n */\n\n this.$emit('update:open', true);\n /**\n * Event emitted when the popover menu is closed\n */\n\n this.$emit('open');\n },\n closeMenu: function closeMenu(e) {\n if (!this.opened) {\n return;\n }\n\n this.opened = false;\n /**\n * Event emitted when the popover menu open state is changed\n * @type {boolean}\n */\n\n this.$emit('update:open', false);\n /**\n * Event emitted when the popover menu is closed\n */\n\n this.$emit('close'); // close everything\n\n this.opened = false;\n this.focusIndex = 0; // focus back the menu button\n\n this.$refs.menuButton.focus();\n },\n onOpen: function onOpen(event) {\n var _this = this;\n\n this.$nextTick(function () {\n _this.focusFirstAction(event);\n });\n },\n // MENU KEYS & FOCUS MANAGEMENT\n // focus nearest focusable item on mouse move\n // DO NOT change the focus if the target is already focused\n // this will prevent issues with input being unfocused\n // on mouse move\n onMouseFocusAction: function onMouseFocusAction(event) {\n if (document.activeElement === event.target) {\n return;\n }\n\n var menuItem = event.target.closest('li');\n\n if (menuItem) {\n var focusableItem = menuItem.querySelector(focusableSelector);\n\n if (focusableItem) {\n var focusList = this.$refs.menu.querySelectorAll(focusableSelector);\n\n var focusIndex = _toConsumableArray(focusList).indexOf(focusableItem);\n\n if (focusIndex > -1) {\n this.focusIndex = focusIndex;\n this.focusAction();\n }\n }\n }\n },\n removeCurrentActive: function removeCurrentActive() {\n var currentActiveElement = this.$refs.menu.querySelector('li.active');\n\n if (currentActiveElement) {\n currentActiveElement.classList.remove('active');\n }\n },\n focusAction: function focusAction() {\n // TODO: have a global disabled state for non input elements\n var focusElement = this.$refs.menu.querySelectorAll(focusableSelector)[this.focusIndex];\n\n if (focusElement) {\n this.removeCurrentActive();\n var liMenuParent = focusElement.closest('li.action');\n focusElement.focus();\n\n if (liMenuParent) {\n liMenuParent.classList.add('active');\n }\n }\n },\n focusPreviousAction: function focusPreviousAction(event) {\n if (this.opened) {\n if (this.focusIndex === 0) {\n // First element overflows to body-navigation (no preventDefault!) and closes Actions-menu\n this.closeMenu();\n } else {\n this.preventIfEvent(event);\n this.focusIndex = this.focusIndex - 1;\n }\n\n this.focusAction();\n }\n },\n focusNextAction: function focusNextAction(event) {\n if (this.opened) {\n var indexLength = this.$refs.menu.querySelectorAll(focusableSelector).length - 1;\n\n if (this.focusIndex === indexLength) {\n // Last element overflows to body-navigation (no preventDefault!) and closes Actions-menu\n this.closeMenu();\n } else {\n this.preventIfEvent(event);\n this.focusIndex = this.focusIndex + 1;\n }\n\n this.focusAction();\n }\n },\n focusFirstAction: function focusFirstAction(event) {\n if (this.opened) {\n this.preventIfEvent(event);\n this.focusIndex = 0;\n this.focusAction();\n }\n },\n focusLastAction: function focusLastAction(event) {\n if (this.opened) {\n this.preventIfEvent(event);\n this.focusIndex = this.$el.querySelectorAll(focusableSelector).length - 1;\n this.focusAction();\n }\n },\n preventIfEvent: function preventIfEvent(event) {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n // ACTIONS MANAGEMENT\n // exec the first action\n execFirstAction: function execFirstAction(event) {\n if (this.firstActionEvent) {\n this.firstActionEvent(event);\n }\n },\n initActions: function initActions() {\n // filter out invalid slots\n this.actions = (this.$slots.default || []).filter(function (node) {\n return !!node && !!node.componentOptions;\n });\n },\n onFocus: function onFocus(event) {\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.$emit('blur', event);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppContent/AppContent.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppContent/AppContent.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var hammerjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! hammerjs */ \"hammerjs\");\n/* harmony import */ var hammerjs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(hammerjs__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nextcloud/event-bus */ \"@nextcloud/event-bus\");\n/* harmony import */ var _nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_1__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/**\n * App content container to be used for the main content of your app\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppContent',\n props: {\n // Allows to disable the control by swipe of the app navigation open state\n allowSwipeNavigation: {\n type: Boolean,\n default: true\n }\n },\n mounted: function mounted() {\n if (this.allowSwipeNavigation) {\n this.mc = new hammerjs__WEBPACK_IMPORTED_MODULE_0___default.a(this.$el, {\n cssProps: {\n userSelect: 'text'\n }\n });\n this.mc.on('swipeleft swiperight', this.handleSwipe);\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.mc.off('swipeleft swiperight', this.handleSwipe);\n },\n methods: {\n // handle the swipe event\n handleSwipe: function handleSwipe(e) {\n var minSwipeX = 70;\n var touchzone = 40;\n var startX = e.srcEvent.pageX - e.deltaX;\n var hasEnoughDistance = Math.abs(e.deltaX) > minSwipeX;\n\n if (hasEnoughDistance && startX < touchzone) {\n Object(_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_1__[\"emit\"])('toggle-navigation', {\n open: true\n });\n } else if (hasEnoughDistance && startX < touchzone + 300) {\n Object(_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_1__[\"emit\"])('toggle-navigation', {\n open: false\n });\n }\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppContentDetails/AppContentDetails.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppContentDetails/AppContentDetails.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppContentDetails'\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppContentList/AppContentList.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppContentList/AppContentList.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppContentList',\n props: {\n selection: {\n type: Boolean,\n default: false\n },\n showDetails: {\n type: Boolean,\n default: false\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigation/AppNavigation.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigation/AppNavigation.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/event-bus */ \"@nextcloud/event-bus\");\n/* harmony import */ var _nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _AppNavigationToggle_AppNavigationToggle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../AppNavigationToggle/AppNavigationToggle */ \"./src/components/AppNavigationToggle/AppNavigationToggle.vue\");\n/* harmony import */ var _mixins_isMobile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/isMobile */ \"./src/mixins/isMobile/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppNavigation',\n components: {\n AppNavigationToggle: _AppNavigationToggle_AppNavigationToggle__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n mixins: [_mixins_isMobile__WEBPACK_IMPORTED_MODULE_2__[\"default\"]],\n data: function data() {\n return {\n open: true\n };\n },\n watch: {\n isMobile: function isMobile() {\n this.open = !this.isMobile;\n }\n },\n mounted: function mounted() {\n Object(_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_0__[\"subscribe\"])('toggle-navigation', this.toggleNavigationByEventBus); // Emit an event with the initial state of the navigation\n\n Object(_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_0__[\"emit\"])('navigation-toggled', {\n open: this.open\n });\n },\n unmounted: function unmounted() {\n this.mc.off('swipeleft swiperight');\n this.mc.destroy();\n Object(_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_0__[\"unsubscribe\"])('toggle-navigation', this.toggleNavigationByEventBus);\n },\n methods: {\n /**\n * Toggle the navigation\n *\n * @param {Boolean} [state] set the state instead of inverting the current one\n */\n toggleNavigation: function toggleNavigation(state) {\n var _this = this;\n\n this.open = typeof state === 'undefined' ? !this.open : state;\n var bodyStyles = getComputedStyle(document.body);\n var animationLength = parseInt(bodyStyles.getPropertyValue('--animation-quick')) || 100;\n setTimeout(function () {\n Object(_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_0__[\"emit\"])('navigation-toggled', {\n open: _this.open\n }); // We wait for 1.5 times the animation length to give the animation time to really finish.\n }, 1.5 * animationLength);\n },\n toggleNavigationByEventBus: function toggleNavigationByEventBus(_ref) {\n var open = _ref.open;\n this.toggleNavigation(open);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppNavigationCaption',\n props: {\n title: {\n type: String,\n required: true\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppNavigationCounter',\n props: {\n highlighted: {\n type: Boolean,\n default: false\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.string.starts-with.js */ \"core-js/modules/es.string.starts-with.js\");\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_0__);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppNavigationIconBullet',\n props: {\n color: {\n type: String,\n required: true,\n validator: function validator(color) {\n // #000, 000, #0082c9 and 0082c9\n return /^#?([0-9A-F]{3}){1,2}$/i.test(color);\n }\n }\n },\n computed: {\n formattedColor: function formattedColor() {\n if (this.color.startsWith('#')) {\n return this.color;\n }\n\n return '#' + this.color;\n }\n },\n methods: {\n onClick: function onClick(e) {\n this.$emit('click', e);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=script&lang=js&\":\n/*!**************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=script&lang=js& ***!\n \\**************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppNavigationIconCollapsible',\n props: {\n open: {\n type: Boolean,\n default: true\n }\n },\n methods: {\n onClick: function onClick(e) {\n this.$emit('click', e);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var v_click_outside__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! v-click-outside */ \"v-click-outside\");\n/* harmony import */ var v_click_outside__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(v_click_outside__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Actions_Actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Actions/Actions */ \"./src/components/Actions/Actions.vue\");\n/* harmony import */ var _ActionButton_ActionButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ActionButton/ActionButton */ \"./src/components/ActionButton/ActionButton.vue\");\n/* harmony import */ var _AppNavigationIconCollapsible__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AppNavigationIconCollapsible */ \"./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue\");\n/* harmony import */ var _mixins_isMobile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../mixins/isMobile */ \"./src/mixins/isMobile/index.js\");\n/* harmony import */ var _InputConfirmCancel__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./InputConfirmCancel */ \"./src/components/AppNavigationItem/InputConfirmCancel.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppNavigationItem',\n components: {\n Actions: _Actions_Actions__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n ActionButton: _ActionButton_ActionButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n AppNavigationIconCollapsible: _AppNavigationIconCollapsible__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n InputConfirmCancel: _InputConfirmCancel__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n },\n directives: {\n ClickOutside: v_click_outside__WEBPACK_IMPORTED_MODULE_0__[\"directive\"]\n },\n mixins: [_mixins_isMobile__WEBPACK_IMPORTED_MODULE_4__[\"default\"]],\n props: {\n /**\n * The title of the element.\n */\n title: {\n type: String,\n required: true\n },\n\n /**\n * Refers to the icon on the left, this prop accepts a class\n * like 'icon-category-enabled'.\n */\n icon: {\n type: String,\n default: ''\n },\n\n /**\n * Displays a loading animated icon on the left of the element\n * instead of the icon.\n */\n loading: {\n type: Boolean,\n default: false\n },\n\n /**\n * Passing in a route will make the root element of this\n * component a `<router-link />` that points to that route.\n * By leaving this blank, the root element will be a `<li>`.\n */\n to: {\n type: [String, Object],\n default: ''\n },\n\n /**\n * Pass in `true` if you want the matching behaviour to\n * be non-inclusive: https://router.vuejs.org/api/#exact\n */\n exact: {\n type: Boolean,\n default: false\n },\n\n /**\n * Gives the possibility to collapse the children elements into the\n * parent element (true) or expands the children elements (false).\n */\n allowCollapse: {\n type: Boolean,\n default: false\n },\n\n /**\n * Makes the title of the item editable by providing an `ActionButton`\n * component that toggles a form\n */\n editable: {\n type: Boolean,\n default: false\n },\n\n /**\n * Only for 'editable' items, sets label for the edit action button.\n */\n editLabel: {\n type: String,\n default: ''\n },\n\n /**\n * Only for items in 'editable' mode, sets the placeholder text for the editing form.\n */\n editPlaceholder: {\n type: String,\n default: ''\n },\n\n /**\n * Pins the item to the bottom left area, above the settings. Do not\n * place 'non-pinned' `AppnavigationItem` components below `pinned`\n * ones.\n */\n pinned: {\n type: Boolean,\n default: false\n },\n\n /**\n * Puts the item in the 'undo' state.\n */\n undo: {\n type: Boolean,\n default: false\n },\n\n /**\n * The navigation collapsible state (synced)\n */\n open: {\n type: Boolean,\n default: false\n },\n\n /**\n * The actions menu open state (synced)\n */\n menuOpen: {\n type: Boolean,\n default: false\n },\n\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n\n /**\n * The action's menu default icon\n */\n menuIcon: {\n type: String,\n default: undefined\n },\n\n /**\n * The action's menu direction\n */\n menuPlacement: {\n type: String,\n default: 'bottom'\n }\n },\n data: function data() {\n return {\n editingValue: '',\n opened: this.open,\n editingActive: false\n };\n },\n computed: {\n collapsible: function collapsible() {\n return this.allowCollapse && !!this.$slots.default;\n },\n // is the icon shown?\n // we don't show it on mobile if the entry is collapsible\n // we show the collapse toggle directly!\n isIconShown: function isIconShown() {\n return !this.collapsible || this.collapsible && !this.isMobile;\n },\n // Checks if the component is already a children of another\n // instance of AppNavigationItem\n canHaveChildren: function canHaveChildren() {\n if (this.$parent.$options._componentTag === 'AppNavigationItem') {\n return false;\n } else {\n return true;\n }\n },\n hasChildren: function hasChildren() {\n if (this.$slots.default) {\n return true;\n } else {\n return false;\n }\n },\n hasUtils: function hasUtils() {\n if (this.editing) {\n return false;\n } else if (this.$slots.actions || this.$slots.counter || this.editable || this.undo) {\n return true;\n } else {\n return false;\n }\n },\n // This is used to decide which outer element type to use\n // li or router-link\n navElement: function navElement() {\n if (this.to) {\n return {\n is: 'router-link',\n tag: 'li',\n to: this.to,\n exact: this.exact\n };\n }\n\n return {\n is: 'li'\n };\n },\n isActive: function isActive() {\n return this.to && this.$route === this.to;\n }\n },\n watch: {\n open: function open(newVal) {\n this.opened = newVal;\n }\n },\n methods: {\n // sync opened menu state with prop\n onMenuToggle: function onMenuToggle(state) {\n this.$emit('update:menuOpen', state);\n },\n // toggle the collapsible state\n toggleCollapse: function toggleCollapse() {\n this.opened = !this.opened;\n this.$emit('update:open', this.opened);\n },\n // forward click event\n onClick: function onClick(event) {\n this.$emit('click', event);\n },\n // Edition methods\n handleEdit: function handleEdit() {\n var _this = this;\n\n this.editingValue = this.title;\n this.editingActive = true;\n this.onMenuToggle(false);\n this.$nextTick(function () {\n _this.$refs.editingInput.focusInput();\n });\n },\n cancelEditing: function cancelEditing() {\n this.editingActive = false;\n },\n handleEditingDone: function handleEditingDone() {\n this.$emit('update:title', this.editingValue);\n this.editingValue = '';\n this.editingActive = false;\n },\n // Undo methods\n handleUndo: function handleUndo() {\n this.$emit('undo');\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=script&lang=js&\":\n/*!****************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=script&lang=js& ***!\n \\****************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n placeholder: {\n default: '',\n type: String\n },\n value: {\n default: '',\n type: String\n }\n },\n computed: {\n valueModel: {\n get: function get() {\n return this.value;\n },\n set: function set(newValue) {\n this.$emit('input', newValue);\n }\n }\n },\n methods: {\n confirm: function confirm() {\n this.$emit('confirm');\n },\n cancel: function cancel() {\n this.$emit('cancel');\n },\n focusInput: function focusInput() {\n this.$refs.input.focus();\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n buttonId: {\n type: String,\n required: false,\n default: ''\n },\n buttonClass: {\n type: [String, Array, Object],\n required: false,\n default: ''\n },\n disabled: {\n type: Boolean,\n required: false,\n default: false\n },\n text: {\n type: String,\n required: true\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var v_click_outside__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! v-click-outside */ \"v-click-outside\");\n/* harmony import */ var v_click_outside__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(v_click_outside__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mixins_isMobile__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../mixins/isMobile */ \"./src/mixins/isMobile/index.js\");\n/* harmony import */ var _AppNavigationItem_InputConfirmCancel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../AppNavigationItem/InputConfirmCancel */ \"./src/components/AppNavigationItem/InputConfirmCancel.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppNavigationNewItem',\n components: {\n InputConfirmCancel: _AppNavigationItem_InputConfirmCancel__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n directives: {\n ClickOutside: v_click_outside__WEBPACK_IMPORTED_MODULE_0__[\"directive\"]\n },\n mixins: [_mixins_isMobile__WEBPACK_IMPORTED_MODULE_1__[\"default\"]],\n props: {\n /**\n * The title of the element.\n */\n title: {\n type: String,\n required: true\n },\n\n /**\n * Refers to the icon on the left, this prop accepts a class\n * like 'icon-category-enabled'.\n */\n icon: {\n type: String,\n default: ''\n },\n\n /**\n * Displays a loading animated icon on the left of the element\n * instead of the icon.\n */\n loading: {\n type: Boolean,\n default: false\n },\n\n /**\n * Only for 'editable' items, sets label for the edit action button.\n */\n editLabel: {\n type: String,\n default: ''\n },\n\n /**\n * Sets the placeholder text for the editing form.\n */\n editPlaceholder: {\n type: String,\n default: ''\n }\n },\n data: function data() {\n return {\n newItemValue: '',\n newItemActive: false\n };\n },\n methods: {\n handleNewItem: function handleNewItem() {\n var _this = this;\n\n if (!this.loading) {\n this.newItemActive = true;\n this.$nextTick(function () {\n _this.$refs.newItemInput.focusInput();\n });\n }\n },\n cancelNewItem: function cancelNewItem() {\n this.newItemActive = false;\n },\n handleNewItemDone: function handleNewItemDone() {\n this.$emit('new-item', this.newItemValue);\n this.newItemValue = '';\n this.newItemActive = false;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=script&lang=js&\":\n/*!***********************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=script&lang=js& ***!\n \\***********************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var v_click_outside__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! v-click-outside */ \"v-click-outside\");\n/* harmony import */ var v_click_outside__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(v_click_outside__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _l10n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../l10n */ \"./src/l10n.js\");\n/* harmony import */ var _mixins__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins */ \"./src/mixins/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n directives: {\n ClickOutside: v_click_outside__WEBPACK_IMPORTED_MODULE_0__[\"directive\"]\n },\n mixins: [_mixins__WEBPACK_IMPORTED_MODULE_2__[\"excludeClickOutsideClasses\"]],\n props: {\n title: {\n type: String,\n required: false,\n default: Object(_l10n__WEBPACK_IMPORTED_MODULE_1__[\"t\"])('Settings')\n }\n },\n data: function data() {\n return {\n open: false,\n clickOutsideConfig: {\n handler: this.closeMenu,\n middleware: this.clickOutsideMiddleware\n }\n };\n },\n methods: {\n toggleMenu: function toggleMenu() {\n this.open = !this.open;\n },\n closeMenu: function closeMenu() {\n this.open = false;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppNavigationSpacer'\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppNavigationToggle',\n props: {\n open: {\n type: Boolean,\n required: true\n }\n },\n methods: {\n toggleNavigation: function toggleNavigation() {\n this.$emit('update:open', !this.open);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ \"core-js/modules/es.array.splice.js\");\n/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ \"core-js/modules/es.string.replace.js\");\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ \"core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"core-js/modules/es.symbol.description.js\");\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"core-js/modules/es.symbol.iterator.js\");\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ \"core-js/modules/es.array.from.js\");\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../Modal */ \"./src/components/Modal/index.js\");\n/* harmony import */ var _mixins_isMobile__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../mixins/isMobile */ \"./src/mixins/isMobile/index.js\");\n/* harmony import */ var debounce__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! debounce */ \"debounce\");\n/* harmony import */ var debounce__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(debounce__WEBPACK_IMPORTED_MODULE_21__);\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppSettingsDialog',\n components: {\n Modal: _Modal__WEBPACK_IMPORTED_MODULE_19__[\"default\"]\n },\n mixins: [_mixins_isMobile__WEBPACK_IMPORTED_MODULE_20__[\"default\"]],\n props: {\n /**\n * Determines the open / closed state of the modal\n */\n open: {\n type: Boolean,\n required: true\n },\n\n /**\n * Shows the navigation on desktop if true\n */\n showNavigation: {\n type: Boolean,\n default: false\n },\n\n /**\n * Selector for the popover container\n */\n container: {\n type: String,\n default: 'body'\n }\n },\n data: function data() {\n return {\n selectedSection: '',\n linkClicked: false,\n addedScrollListener: false,\n scroller: null\n };\n },\n computed: {\n hasNavigation: function hasNavigation() {\n if (this.isMobile || !this.showNavigation) {\n return false;\n } else {\n return true;\n }\n },\n settingsNavigationAriaLabel: function settingsNavigationAriaLabel() {\n return t('Settings navigation');\n }\n },\n mounted: function mounted() {\n // Select first settings section\n this.selectedSection = this.$slots.default[0].componentOptions.propsData.title;\n },\n updated: function updated() {\n // Check that the scroller element has been mounted\n if (!this.$refs.settingsScroller) {\n return;\n } // Get the scroller element\n\n\n this.scroller = this.$refs.settingsScroller;\n\n if (!this.addedScrollListener) {\n this.scroller.addEventListener('scroll', this.handleScroll);\n this.addedScrollListener = true;\n }\n },\n methods: {\n /**\n * Builds the settings navigation menu\n * @param {object} slots The default slots object passed from the render function.\n * @returns {array} the navigation items\n */\n getSettingsNavigation: function getSettingsNavigation(slots) {\n // Array of navigationitems strings\n var navigationItems = slots.filter(function (vNode) {\n return vNode.componentOptions;\n }).map(function (vNode) {\n var _vNode$componentOptio;\n\n return (_vNode$componentOptio = vNode.componentOptions.propsData) === null || _vNode$componentOptio === void 0 ? void 0 : _vNode$componentOptio.title;\n }); // Check for the uniqueness of section titles\n\n navigationItems.forEach(function (element, index) {\n var newArray = _toConsumableArray(navigationItems);\n\n newArray.splice(index, 1);\n\n if (newArray.indexOf(element) !== -1) {\n throw new Error(\"Duplicate section title found: \".concat(element, \". Settings navigation sections must have unique section titles.\"));\n }\n });\n return navigationItems;\n },\n\n /**\n * Scrolls the content to the selected settings section.absolute\n * @param {string} item the name of the section\n */\n handleSettingsNavigationClick: function handleSettingsNavigationClick(item) {\n var _this = this;\n\n this.linkClicked = true;\n document.getElementById('settings-section_' + item.replace(/\\s+/g, '')).scrollIntoView({\n behavior: 'smooth',\n inline: 'nearest'\n });\n this.selectedSection = item;\n setTimeout(function () {\n _this.linkClicked = false;\n }, 1000);\n },\n handleCloseModal: function handleCloseModal() {\n this.$emit('update:open', false); // Remove scroll listener each time the modal is closed\n\n this.scroller.removeEventListener('scroll', this.handleScroll);\n this.addedScrollListener = false;\n this.scroller.scrollTop = 0;\n },\n handleScroll: function handleScroll() {\n if (!this.linkClicked) {\n this.unfocusNavigationItem();\n }\n },\n // Remove selected section once the user starts scrolling\n unfocusNavigationItem: debounce__WEBPACK_IMPORTED_MODULE_21___default()(function () {\n this.selectedSection = '';\n\n if (document.activeElement.className.includes('navigation-list__link')) {\n document.activeElement.blur();\n }\n }, 300),\n handleLinkKeydown: function handleLinkKeydown(keyDownEvent, item) {\n if (keyDownEvent.code === 'Enter') {\n this.handleSettingsNavigationClick(item);\n }\n }\n },\n render: function render(createElement) {\n var _this2 = this;\n\n /**\n * Build the navigation\n * @returns {object} the navigation\n */\n var createAppSettingsNavigation = function createAppSettingsNavigation() {\n if (_this2.hasNavigation) {\n return [createElement('div', {\n attrs: {\n class: 'app-settings__navigation',\n role: 'tablist',\n 'aria-label': _this2.settingsNavigationAriaLabel\n }\n }, [createElement('ul', {\n attrs: {\n class: 'navigation-list',\n role: 'tablist'\n }\n }, _this2.getSettingsNavigation(_this2.$slots.default).map(function (item) {\n return createListElemtent(item);\n }))])];\n } else {\n return [];\n }\n };\n /**\n * Build each list element in the navigation\n * @param {object} item the navigation item\n * @returns {object} the list element\n */\n\n\n var createListElemtent = function createListElemtent(item) {\n return createElement('li', {}, [createElement('a', {\n class: {\n 'navigation-list__link': true,\n 'navigation-list__link--active': item === _this2.selectedSection\n },\n attrs: {\n role: 'tab',\n 'aria-selected': item === _this2.selectedSection,\n tabindex: '0'\n },\n on: {\n click: function click() {\n return _this2.handleSettingsNavigationClick(item);\n },\n keydown: function keydown() {\n return _this2.handleLinkKeydown(event, item);\n }\n }\n }, item)]);\n }; // Return value of the render function\n\n\n if (this.open) {\n return createElement('Modal', {\n attrs: {\n container: this.container\n },\n on: {\n close: function close() {\n _this2.handleCloseModal();\n }\n }\n }, [createElement('div', {\n attrs: {\n class: 'app-settings'\n }\n }, [].concat(_toConsumableArray(createAppSettingsNavigation()), [createElement('div', {\n attrs: {\n class: 'app-settings__content'\n },\n ref: 'settingsScroller'\n }, this.$slots.default)]))]);\n } else {\n return undefined;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ \"core-js/modules/es.string.replace.js\");\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppSettingsSection',\n props: {\n title: {\n type: String,\n required: true\n }\n },\n computed: {\n // generate an id for each settingssection based on the title without whitespaces\n id: function id() {\n return 'settings-section_' + this.title.replace(/\\s+/g, '');\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebar.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSidebar/AppSidebar.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Actions */ \"./src/components/Actions/index.js\");\n/* harmony import */ var _directives_Focus__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../directives/Focus */ \"./src/directives/Focus/index.js\");\n/* harmony import */ var _directives_Linkify__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../directives/Linkify */ \"./src/directives/Linkify/index.js\");\n/* harmony import */ var _directives_Tooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../directives/Tooltip */ \"./src/directives/Tooltip/index.js\");\n/* harmony import */ var _AppSidebarTabs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AppSidebarTabs */ \"./src/components/AppSidebar/AppSidebarTabs.vue\");\n/* harmony import */ var _EmptyContent_EmptyContent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../EmptyContent/EmptyContent */ \"./src/components/EmptyContent/EmptyContent.vue\");\n/* harmony import */ var _l10n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../l10n */ \"./src/l10n.js\");\n/* harmony import */ var v_click_outside__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! v-click-outside */ \"v-click-outside\");\n/* harmony import */ var v_click_outside__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(v_click_outside__WEBPACK_IMPORTED_MODULE_7__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppSidebar',\n components: {\n Actions: _Actions__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n AppSidebarTabs: _AppSidebarTabs__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n EmptyContent: _EmptyContent_EmptyContent__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n },\n directives: {\n focus: _directives_Focus__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n linkify: _directives_Linkify__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ClickOutside: v_click_outside__WEBPACK_IMPORTED_MODULE_7__[\"directive\"],\n Tooltip: _directives_Tooltip__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n props: {\n active: {\n type: String,\n default: ''\n },\n title: {\n type: String,\n default: '',\n required: true\n },\n\n /**\n * Allow to edit the sidebar title.\n */\n titleEditable: {\n type: Boolean,\n default: false\n },\n titlePlaceholder: {\n type: String,\n default: ''\n },\n subtitle: {\n type: String,\n default: ''\n },\n subtitleTooltip: {\n type: String,\n default: ''\n },\n\n /**\n * Url to the top header background image\n * Applied with css\n */\n background: {\n type: String,\n default: ''\n },\n\n /**\n * Enable the favourite icon if not null\n * See fired events\n */\n starred: {\n type: Boolean,\n default: null\n },\n\n /**\n * Show loading spinner instead of the star icon\n */\n starLoading: {\n type: Boolean,\n default: false\n },\n\n /**\n * Show loading spinner instead of tabs\n */\n loading: {\n type: Boolean,\n default: false\n },\n\n /**\n * Display the sidebar in compact mode\n */\n compact: {\n type: Boolean,\n default: false\n },\n\n /**\n * Only display close button and default slot content.\n * Don't display other header content and primary and secondary actions.\n * Useful when showing the EmptyContent component as content.\n */\n empty: {\n type: Boolean,\n default: false\n },\n\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n\n /**\n * Linkify the title\n */\n linkifyTitle: {\n type: Boolean,\n default: false\n },\n\n /**\n * Tooltip to display for the title.\n * Can be set to the same text in case it's too long.\n */\n titleTooltip: {\n type: String,\n default: ''\n }\n },\n data: function data() {\n return {\n closeTranslated: Object(_l10n__WEBPACK_IMPORTED_MODULE_6__[\"t\"])('Close'),\n isStarred: this.starred\n };\n },\n computed: {\n canStar: function canStar() {\n return this.isStarred !== null;\n },\n hasFigure: function hasFigure() {\n return this.$slots.header || this.background;\n },\n hasFigureClickListener: function hasFigureClickListener() {\n return this.$listeners['figure-click'];\n }\n },\n watch: {\n starred: function starred() {\n this.isStarred = this.starred;\n }\n },\n methods: {\n onBeforeEnter: function onBeforeEnter(element) {\n /**\n * The sidebar is opening and the transition is in progress\n * @type {HTMLElement}\n */\n this.$emit('opening', element);\n },\n onAfterEnter: function onAfterEnter(element) {\n /**\n * The sidebar is opened and the transition is complete\n * @type {HTMLElement}\n */\n this.$emit('opened', element);\n },\n onBeforeLeave: function onBeforeLeave(element) {\n /**\n * The sidebar is closing and the transition is in progress\n * @type {HTMLElement}\n */\n this.$emit('closing', element);\n },\n onAfterLeave: function onAfterLeave(element) {\n /**\n * The sidebar is closed and the transition is complete\n * @type {HTMLElement}\n */\n this.$emit('closed', element);\n },\n\n /**\n * Used to tell parent component the user asked to close the sidebar\n * @param {Event} e close icon click event\n */\n closeSidebar: function closeSidebar(e) {\n /**\n * The user clicked to closed the sidebar\n * @type {Event}\n */\n this.$emit('close', e);\n },\n\n /**\n * Emit figure click event to parent component\n * @param {Event} e click event\n */\n onFigureClick: function onFigureClick(e) {\n /**\n * The figure/background header has been clicked\n * @type {Event}\n */\n this.$emit('figure-click', e);\n },\n\n /**\n * Toggle the favourite state\n * and emit to the parent component\n */\n toggleStarred: function toggleStarred() {\n this.isStarred = !this.isStarred;\n /**\n * Emitted when the starred value changes\n * @type {boolean}\n */\n\n this.$emit('update:starred', this.isStarred);\n },\n editTitle: function editTitle() {\n var _this = this;\n\n /**\n * Emitted when the titleEditable value changes\n * @type {boolean}\n */\n this.$emit('update:titleEditable', true); // Focus the title input\n\n if (this.titleEditable) {\n this.$nextTick(function () {\n return _this.$refs.titleInput.focus();\n });\n }\n },\n\n /**\n * Emit title change event to parent component\n * @param {Event} event input event\n */\n onTitleInput: function onTitleInput(event) {\n /**\n * Emitted when the title value changes\n * @type {string|Date}\n */\n this.$emit('update:title', event.target.value);\n },\n\n /**\n * Emit when the title form edit confirm button is pressed in order\n * to change the title.\n * @param {Event} event submit event\n */\n onSubmitTitle: function onSubmitTitle(event) {\n // Disable editing\n this.$emit('update:titleEditable', false);\n /**\n * Emitted when the title edit input has been submitted\n * @type {Event}\n */\n\n this.$emit('submit-title', event);\n },\n onDismissEditing: function onDismissEditing() {\n // Disable editing\n this.$emit('update:titleEditable', false);\n /**\n * Emitted when the title edit has been cancelled\n * @type {Event}\n */\n\n this.$emit('dismiss-editing');\n },\n onUpdateActive: function onUpdateActive(activeTab) {\n /**\n * The active tab changed\n * @type {string}\n */\n this.$emit('update:active', activeTab);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"core-js/modules/es.string.trim.js\");\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.find-index.js */ \"core-js/modules/es.array.find-index.js\");\n/* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\nvar IsValidString = function IsValidString(value) {\n return value && typeof value === 'string' && value.trim() !== '';\n};\n\nvar IsValidStringWithoutSpaces = function IsValidStringWithoutSpaces(value) {\n return IsValidString(value) && value.indexOf(' ') === -1;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppSidebarTabs',\n props: {\n /**\n * Id of the tab to activate\n */\n active: {\n type: String,\n default: ''\n }\n },\n data: function data() {\n return {\n /**\n * The tab component instances to build the tab navbar from.\n */\n tabs: [],\n\n /**\n * The id of the currently active tab.\n */\n activeTab: '',\n\n /**\n * Dummy array to react on slot changes.\n */\n children: []\n };\n },\n computed: {\n hasMultipleTabs: function hasMultipleTabs() {\n return this.tabs.length > 1;\n },\n currentTabIndex: function currentTabIndex() {\n var _this = this;\n\n return this.tabs.findIndex(function (tab) {\n return tab.id === _this.activeTab;\n });\n }\n },\n watch: {\n active: function active(_active) {\n // Prevent running it twice\n if (_active !== this.activeTab) {\n this.updateActive();\n }\n },\n children: function children() {\n this.updateTabs();\n }\n },\n mounted: function mounted() {\n // Init the tabs list\n this.updateTabs(); // Let's make the children list reactive\n\n this.children = this.$children;\n },\n methods: {\n /**\n * Set the current active tab\n * @param {string} id the id of the tab\n */\n setActive: function setActive(id) {\n this.activeTab = id;\n this.$emit('update:active', this.activeTab);\n },\n\n /**\n * Focus the previous tab\n * and emit to the parent component\n */\n focusPreviousTab: function focusPreviousTab() {\n if (this.currentTabIndex > 0) {\n this.setActive(this.tabs[this.currentTabIndex - 1].id);\n }\n\n this.focusActiveTab(); // focus nav item\n },\n\n /**\n * Focus the next tab\n * and emit to the parent component\n */\n focusNextTab: function focusNextTab() {\n if (this.currentTabIndex < this.tabs.length - 1) {\n this.setActive(this.tabs[this.currentTabIndex + 1].id);\n }\n\n this.focusActiveTab(); // focus nav item\n },\n\n /**\n * Focus the first tab\n * and emit to the parent component\n */\n focusFirstTab: function focusFirstTab() {\n this.setActive(this.tabs[0].id);\n this.focusActiveTab(); // focus nav item\n },\n\n /**\n * Focus the last tab\n * and emit to the parent component\n */\n focusLastTab: function focusLastTab() {\n this.setActive(this.tabs[this.tabs.length - 1].id);\n this.focusActiveTab(); // focus nav item\n },\n\n /**\n * Focus the current active tab\n */\n focusActiveTab: function focusActiveTab() {\n this.$el.querySelector('#' + this.activeTab).focus();\n },\n\n /**\n * Focus the content on tab\n * see aria accessibility guidelines\n */\n focusActiveTabContent: function focusActiveTabContent() {\n this.$el.querySelector('#tab-' + this.activeTab).focus();\n },\n\n /**\n * Update the current active tab\n */\n updateActive: function updateActive() {\n var _this2 = this;\n\n this.activeTab = this.active && this.tabs.findIndex(function (tab) {\n return tab.id === _this2.active;\n }) !== -1 ? this.active : this.tabs.length > 0 ? this.tabs[0].id : '';\n },\n\n /**\n * Manually update the sidebar tabs according to $slots.default\n */\n updateTabs: function updateTabs() {\n if (!this.$slots.default) {\n this.tabs = [];\n return;\n } // Find all valid children (AppSidebarTab, other components, text nodes, etc.)\n\n\n var children = this.$slots.default.filter(function (elem) {\n return elem.tag || elem.text.trim();\n }); // Find all valid instances of AppSidebarTab\n\n var invalidTabs = [];\n var tabs = children.reduce(function (tabs, tabNode) {\n var tab = tabNode.componentInstance; // Make sure all required props are provided and valid\n\n if (IsValidString(tab === null || tab === void 0 ? void 0 : tab.name) && IsValidStringWithoutSpaces(tab === null || tab === void 0 ? void 0 : tab.id) && IsValidStringWithoutSpaces(tab === null || tab === void 0 ? void 0 : tab.icon)) {\n tabs.push(tab);\n } else {\n invalidTabs.push(tabNode);\n }\n\n return tabs;\n }, []); // Tabs are optional, but you can use either tabs or non-tab-content only\n\n if (tabs.length !== 0 && tabs.length !== children.length) {\n vue__WEBPACK_IMPORTED_MODULE_6___default.a.util.warn('Mixing tabs and non-tab-content is not possible.');\n invalidTabs.map(function (invalid) {\n return console.debug('Ignoring invalid tab', invalid);\n });\n } // We sort the tabs by their order or by their name\n\n\n this.tabs = tabs.sort(function (a, b) {\n var orderA = a.order || 0;\n var orderB = b.order || 0;\n\n if (orderA === orderB) {\n return OC.Util.naturalSortCompare(a.name, b.name);\n }\n\n return orderA - orderB;\n }); // Init active tab if exists\n\n if (this.tabs.length > 0) {\n this.updateActive();\n }\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppSidebarTab',\n props: {\n id: {\n type: String,\n required: true\n },\n name: {\n type: String,\n required: true\n },\n icon: {\n type: String,\n required: true\n },\n order: {\n type: Number,\n default: 0\n }\n },\n computed: {\n // TODO: implement a better way to force pass a prop fromm Sidebar\n isActive: function isActive() {\n return this.$parent.activeTab === this.id;\n }\n },\n methods: {\n onScroll: function onScroll(event) {\n // Are we scrolled to the very bottom ?\n if (this.$el.scrollHeight - this.$el.scrollTop === this.$el.clientHeight) {\n /**\n * Bottom scroll is reached\n */\n this.$emit('bottomReached', event);\n }\n\n this.$emit('scroll', event);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Avatar/Avatar.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Avatar/Avatar.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! regenerator-runtime/runtime.js */ \"regenerator-runtime/runtime.js\");\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_from_code_point_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.from-code-point.js */ \"core-js/modules/es.string.from-code-point.js\");\n/* harmony import */ var core_js_modules_es_string_from_code_point_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_from_code_point_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_code_point_at_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.code-point-at.js */ \"core-js/modules/es.string.code-point-at.js\");\n/* harmony import */ var core_js_modules_es_string_code_point_at_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_code_point_at_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ \"core-js/modules/es.array.join.js\");\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.promise.js */ \"core-js/modules/es.promise.js\");\n/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _nextcloud_browser_storage__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @nextcloud/browser-storage */ \"@nextcloud/browser-storage\");\n/* harmony import */ var _nextcloud_browser_storage__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_browser_storage__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var v_click_outside__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! v-click-outside */ \"v-click-outside\");\n/* harmony import */ var v_click_outside__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(v_click_outside__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _PopoverMenu__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../PopoverMenu */ \"./src/components/PopoverMenu/index.js\");\n/* harmony import */ var _nextcloud_auth__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @nextcloud/auth */ \"@nextcloud/auth\");\n/* harmony import */ var _nextcloud_auth__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_auth__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var _nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @nextcloud/event-bus */ \"@nextcloud/event-bus\");\n/* harmony import */ var _nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @nextcloud/axios */ \"@nextcloud/axios\");\n/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_axios__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @nextcloud/router */ \"@nextcloud/router\");\n/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_router__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var _directives_Tooltip__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../directives/Tooltip */ \"./src/directives/Tooltip/index.js\");\n/* harmony import */ var _functions_usernameToColor__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../functions/usernameToColor */ \"./src/functions/usernameToColor/index.js\");\n/* harmony import */ var _mixins__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../mixins */ \"./src/mixins/index.js\");\n/* harmony import */ var _Popover_Popover__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../Popover/Popover */ \"./src/components/Popover/Popover.vue\");\n\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n\n\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n\nvar browserStorage = Object(_nextcloud_browser_storage__WEBPACK_IMPORTED_MODULE_10__[\"getBuilder\"])('nextcloud').persist().build();\n\nfunction getUserHasAvatar(userId) {\n var flag = browserStorage.getItem('user-has-avatar.' + userId);\n\n if (typeof flag === 'string') {\n return Boolean(flag);\n }\n\n return null;\n}\n\nfunction setUserHasAvatar(userId, flag) {\n if (userId) {\n browserStorage.setItem('user-has-avatar.' + userId, flag);\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Avatar',\n directives: {\n tooltip: _directives_Tooltip__WEBPACK_IMPORTED_MODULE_17__[\"default\"],\n ClickOutside: v_click_outside__WEBPACK_IMPORTED_MODULE_11__[\"directive\"]\n },\n components: {\n Popover: _Popover_Popover__WEBPACK_IMPORTED_MODULE_20__[\"default\"],\n PopoverMenu: _PopoverMenu__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n mixins: [_mixins__WEBPACK_IMPORTED_MODULE_19__[\"userStatus\"]],\n props: {\n /**\n * Set a custom url to the avatar image\n * either the url, user or displayName property must be defined\n */\n url: {\n type: String,\n default: undefined\n },\n\n /**\n * Set a css icon-class for an icon to be used instead of the avatar.\n */\n iconClass: {\n type: String,\n default: undefined\n },\n\n /**\n * Set the user id to fetch the avatar\n * either the url, user or displayName property must be defined\n */\n user: {\n type: String,\n default: undefined\n },\n\n /**\n * Whether or not to display the user-status\n */\n showUserStatus: {\n type: Boolean,\n default: true\n },\n\n /**\n * Whether or not to the status-icon should be used instead of online/away\n */\n showUserStatusCompact: {\n type: Boolean,\n default: true\n },\n\n /**\n * When the user status was preloaded via another source it can be handed in with this property to save the request.\n * If this property is not set the status will be fetched automatically.\n * If a preloaded no-status is available provide this object with properties \"status\", \"icon\" and \"message\" set to null.\n */\n preloadedUserStatus: {\n type: Object,\n default: undefined\n },\n\n /**\n * Is the user a guest user (then we have to user a different endpoint)\n */\n isGuest: {\n type: Boolean,\n default: false\n },\n\n /**\n * Set a display name that will be rendered as a tooltip\n * either the url, user or displayName property must be defined\n * specify just the displayname to generate a placeholder avatar without\n * trying to fetch the avatar based on the user id\n */\n displayName: {\n type: String,\n default: undefined\n },\n\n /**\n * Set a size in px for the rendered avatar\n */\n size: {\n type: Number,\n default: 32\n },\n\n /**\n * Placeholder avatars will be automatically generated when this is set to true\n */\n allowPlaceholder: {\n type: Boolean,\n default: true\n },\n\n /**\n * Disable the tooltip\n */\n disableTooltip: {\n type: Boolean,\n default: false\n },\n\n /**\n * Disable the menu\n */\n disableMenu: {\n type: Boolean,\n default: false\n },\n\n /**\n * Declares a custom tooltip when not null\n * Fallback will be the displayName\n *\n * requires disableTooltip not to be set to true\n */\n tooltipMessage: {\n type: String,\n default: null\n },\n\n /**\n * Declares username is not a user's name, when true.\n * Prevents loading user's avatar from server and forces generating colored initials,\n * i.e. if the user is a group\n */\n isNoUser: {\n type: Boolean,\n default: false\n },\n\n /**\n * DEPRECATED!\n * This prop will be removed with nc/vue 3.0\n *\n * Declares a status indicator on the avatar\n * Available options are `positive`, `negative`, `neutral`\n */\n status: {\n type: String,\n default: null,\n validator: function validator(value) {\n switch (value) {\n case 'positive':\n case 'negative':\n case 'neutral':\n return true;\n }\n\n return false;\n }\n },\n\n /**\n * Declares a different color to be used with the status indicator\n */\n statusColor: {\n type: [Number, String],\n default: null,\n validator: function validator(value) {\n return /^([a-f0-9]{3}){1,2}$/i.test(value);\n }\n },\n\n /**\n * Choose the avatar menu alignment.\n * Possible values are `left`, `center`, `right`.\n */\n menuPosition: {\n type: String,\n default: 'center'\n },\n\n /**\n * Selector for the popover menu container\n */\n menuContainer: {\n type: String,\n default: 'body'\n }\n },\n data: function data() {\n return {\n avatarUrlLoaded: null,\n avatarSrcSetLoaded: null,\n userDoesNotExist: false,\n isAvatarLoaded: false,\n isMenuLoaded: false,\n contactsMenuLoading: false,\n contactsMenuActions: [],\n contactsMenuOpenState: false\n };\n },\n computed: {\n canDisplayUserStatus: function canDisplayUserStatus() {\n return this.showUserStatus && this.hasStatus && ['online', 'away', 'dnd'].includes(this.userStatus.status);\n },\n showUserStatusIconOnAvatar: function showUserStatusIconOnAvatar() {\n return this.showUserStatus && this.showUserStatusCompact && this.hasStatus && this.userStatus.status !== 'dnd' && this.userStatus.icon;\n },\n getUserIdentifier: function getUserIdentifier() {\n if (this.isDisplayNameDefined) {\n return this.displayName;\n }\n\n if (this.isUserDefined) {\n return this.user;\n }\n\n return '';\n },\n isUserDefined: function isUserDefined() {\n return typeof this.user !== 'undefined';\n },\n isDisplayNameDefined: function isDisplayNameDefined() {\n return typeof this.displayName !== 'undefined';\n },\n isUrlDefined: function isUrlDefined() {\n return typeof this.url !== 'undefined';\n },\n hasMenu: function hasMenu() {\n var _getCurrentUser;\n\n if (this.disableMenu) {\n return false;\n }\n\n if (this.isMenuLoaded) {\n return this.menu.length > 0;\n }\n\n return !(this.user === ((_getCurrentUser = Object(_nextcloud_auth__WEBPACK_IMPORTED_MODULE_13__[\"getCurrentUser\"])()) === null || _getCurrentUser === void 0 ? void 0 : _getCurrentUser.uid) || this.userDoesNotExist || this.url);\n },\n shouldShowPlaceholder: function shouldShowPlaceholder() {\n return this.allowPlaceholder && this.userDoesNotExist;\n },\n avatarStyle: function avatarStyle() {\n var style = {\n width: this.size + 'px',\n height: this.size + 'px',\n lineHeight: this.size + 'px',\n fontSize: Math.round(this.size * 0.55) + 'px'\n };\n\n if (!this.iconClass && !this.avatarSrcSetLoaded) {\n var rgb = Object(_functions_usernameToColor__WEBPACK_IMPORTED_MODULE_18__[\"default\"])(this.getUserIdentifier);\n style.backgroundColor = 'rgb(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ')';\n }\n\n return style;\n },\n tooltip: function tooltip() {\n if (this.disableTooltip) {\n return false;\n }\n\n if (this.tooltipMessage) {\n return this.tooltipMessage;\n }\n\n return this.displayName;\n },\n initials: function initials() {\n var initials;\n\n if (this.shouldShowPlaceholder) {\n var user = this.getUserIdentifier;\n var idx = user.indexOf(' ');\n\n if (user === '') {\n initials = '?';\n } else {\n initials = String.fromCodePoint(user.codePointAt(0));\n\n if (idx !== -1) {\n initials = initials.concat(String.fromCodePoint(user.codePointAt(idx + 1)));\n }\n }\n }\n\n return initials.toUpperCase();\n },\n menu: function menu() {\n var actions = this.contactsMenuActions.map(function (item) {\n return {\n href: item.hyperlink,\n icon: item.icon,\n longtext: item.title\n };\n });\n\n function escape(html) {\n var text = document.createTextNode(html);\n var p = document.createElement('p');\n p.appendChild(text);\n return p.innerHTML;\n }\n\n if (this.showUserStatus && (this.userStatus.icon || this.userStatus.message)) {\n return [{\n href: '#',\n icon: \"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat(escape(this.userStatus.icon), \"</text></svg>\"),\n text: \"\".concat(this.userStatus.message)\n }].concat(actions);\n }\n\n return actions;\n }\n },\n watch: {\n url: function url() {\n this.userDoesNotExist = false;\n this.loadAvatarUrl();\n },\n user: function user() {\n this.userDoesNotExist = false;\n this.isMenuLoaded = false;\n this.loadAvatarUrl();\n }\n },\n mounted: function mounted() {\n this.loadAvatarUrl();\n\n if (this.showUserStatus && this.user && !this.isNoUser) {\n if (!this.preloadedUserStatus) {\n this.fetchUserStatus(this.user);\n } else {\n this.userStatus.status = this.preloadedUserStatus.status || '';\n this.userStatus.message = this.preloadedUserStatus.message || '';\n this.userStatus.icon = this.preloadedUserStatus.icon || '';\n this.hasStatus = this.preloadedUserStatus.status !== null;\n }\n\n Object(_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_14__[\"subscribe\"])('user_status:status.updated', this.handleUserStatusUpdated);\n }\n },\n beforeDestroyed: function beforeDestroyed() {\n if (this.showUserStatus && this.user && !this.isNoUser) {\n Object(_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_14__[\"unsubscribe\"])('user_status:status.updated', this.handleUserStatusUpdated);\n }\n },\n methods: {\n handleUserStatusUpdated: function handleUserStatusUpdated(state) {\n if (this.user === state.userId) {\n this.userStatus = {\n status: state.status,\n icon: state.icon,\n message: state.message\n };\n }\n },\n toggleMenu: function toggleMenu() {\n var _this = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (_this.hasMenu) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n if (_this.contactsMenuOpenState) {\n _context.next = 5;\n break;\n }\n\n _context.next = 5;\n return _this.fetchContactsMenu();\n\n case 5:\n _this.contactsMenuOpenState = !_this.contactsMenuOpenState;\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n closeMenu: function closeMenu() {\n this.contactsMenuOpenState = false;\n },\n fetchContactsMenu: function fetchContactsMenu() {\n var _this2 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var user, _yield$axios$post, data;\n\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _this2.contactsMenuLoading = true;\n _context2.prev = 1;\n user = encodeURIComponent(_this2.user);\n _context2.next = 5;\n return _nextcloud_axios__WEBPACK_IMPORTED_MODULE_15___default.a.post(Object(_nextcloud_router__WEBPACK_IMPORTED_MODULE_16__[\"generateUrl\"])('contactsmenu/findOne'), \"shareType=0&shareWith=\".concat(user));\n\n case 5:\n _yield$axios$post = _context2.sent;\n data = _yield$axios$post.data;\n _this2.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions;\n _context2.next = 13;\n break;\n\n case 10:\n _context2.prev = 10;\n _context2.t0 = _context2[\"catch\"](1);\n _this2.contactsMenuOpenState = false;\n\n case 13:\n _this2.contactsMenuLoading = false;\n _this2.isMenuLoaded = true;\n\n case 15:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[1, 10]]);\n }))();\n },\n\n /**\n * Handle avatar loading if user or url defined\n */\n loadAvatarUrl: function loadAvatarUrl() {\n this.isAvatarLoaded = false;\n /** Only run avatar image loading if either user or url property is defined */\n\n if (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser)) {\n this.isAvatarLoaded = true;\n this.userDoesNotExist = true;\n return;\n } // Directly use the url if defined\n\n\n if (this.isUrlDefined) {\n this.updateImageIfValid(this.url);\n return;\n }\n\n var avatarUrl = this.avatarUrlGenerator(this.user, this.size);\n var srcset = [avatarUrl + ' 1x', this.avatarUrlGenerator(this.user, this.size * 2) + ' 2x', this.avatarUrlGenerator(this.user, this.size * 4) + ' 4x'].join(', ');\n this.updateImageIfValid(avatarUrl, srcset);\n },\n\n /**\n * Generate an avatar url from the server's avatar endpoint\n *\n * @param {string} user the user id\n * @param {number} size the desired size\n * @returns {string}\n */\n avatarUrlGenerator: function avatarUrlGenerator(user, size) {\n var _getCurrentUser2;\n\n var url = '/avatar/{user}/{size}';\n\n if (this.isGuest) {\n url = '/avatar/guest/{user}/{size}';\n }\n\n var avatarUrl = Object(_nextcloud_router__WEBPACK_IMPORTED_MODULE_16__[\"generateUrl\"])(url, {\n user: user,\n size: size\n }); // eslint-disable-next-line camelcase\n\n if (user === ((_getCurrentUser2 = Object(_nextcloud_auth__WEBPACK_IMPORTED_MODULE_13__[\"getCurrentUser\"])()) === null || _getCurrentUser2 === void 0 ? void 0 : _getCurrentUser2.uid) && typeof oc_userconfig !== 'undefined') {\n avatarUrl += '?v=' + oc_userconfig.avatar.version;\n }\n\n return avatarUrl;\n },\n\n /**\n * Check if the provided url is valid and update Avatar if so\n *\n * @param {string} url the avatar url\n * @param {array} srcset the avatar srcset\n */\n updateImageIfValid: function updateImageIfValid(url) {\n var _this3 = this;\n\n var srcset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n // skip loading\n var userHasAvatar = getUserHasAvatar(this.user);\n\n if (this.isUserDefined && typeof userHasAvatar === 'boolean') {\n this.isAvatarLoaded = true;\n this.avatarUrlLoaded = url;\n\n if (srcset) {\n this.avatarSrcSetLoaded = srcset;\n }\n\n if (userHasAvatar === false) {\n this.userDoesNotExist = true;\n }\n\n return;\n }\n\n var img = new Image();\n\n img.onload = function () {\n _this3.avatarUrlLoaded = url;\n\n if (srcset) {\n _this3.avatarSrcSetLoaded = srcset;\n }\n\n _this3.isAvatarLoaded = true; // re-get to avoid concurrent access\n\n setUserHasAvatar(_this3.user, true);\n };\n\n img.onerror = function () {\n console.debug('Invalid avatar url', url); // Avatar is invalid, reset\n\n _this3.avatarUrlLoaded = null;\n _this3.avatarSrcSetLoaded = null;\n _this3.userDoesNotExist = true;\n _this3.isAvatarLoaded = false;\n setUserHasAvatar(_this3.user, false);\n };\n\n if (srcset) {\n img.srcset = srcset;\n }\n\n img.src = url;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Breadcrumb/Breadcrumb.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Breadcrumb/Breadcrumb.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Actions */ \"./src/components/Actions/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Breadcrumb',\n components: {\n Actions: _Actions__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n props: {\n /**\n * The displayed title of the breadcrumb.\n */\n title: {\n type: String,\n required: true\n },\n\n /**\n * The router-link to prop [https://router.vuejs.org/api/#to](https://router.vuejs.org/api/#to)\n * If set, the breadcrumbs will be rendered by router-link.\n */\n to: {\n type: String,\n default: undefined\n },\n\n /**\n * Set this prop if your app doesn't use vue-router, breadcrumbs will show as normal links.\n */\n href: {\n type: String,\n default: undefined\n },\n\n /**\n * Set a css icon-class to show an icon instead of the title text.\n */\n icon: {\n type: String,\n default: ''\n },\n\n /**\n * Disable dropping on this breadcrumb.\n */\n disableDrop: {\n type: Boolean,\n default: false\n },\n\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n\n /**\n * Open state of the Actions menu\n */\n open: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n /**\n * Variable to track if we hover over the breadcrumb\n */\n hovering: false\n };\n },\n computed: {\n /**\n * Determines which element tag to use\n *\n * @returns {String} the tag\n */\n tag: function tag() {\n return this.to ? 'router-link' : 'a';\n }\n },\n methods: {\n /**\n * Function to handle changing the open state of the Actions menu\n * $emit the open state.\n *\n * @param {boolean} open The open state of the Actions menu\n */\n onOpenChange: function onOpenChange(open) {\n /**\n * Event emitted when the open state of the Actions menu changes\n * @type {null}\n */\n this.$emit('update:open', open);\n },\n\n /**\n * Function to handle a drop on the breadcrumb.\n * $emit the event and the path, remove the hovering state.\n *\n * @param {Object} e The drop event\n * @returns {boolean}\n */\n dropped: function dropped(e) {\n /**\n * Don't do anything if dropping is disabled.\n */\n if (this.disableDrop) {\n return false;\n }\n /**\n * Event emitted when something is dropped on the breadcrumb.\n * @type {null}\n */\n\n\n this.$emit('dropped', e, this.to || this.href);\n this.$parent.$emit('dropped', e, this.to || this.href);\n this.hovering = false;\n return false;\n },\n\n /**\n * Add the hovering state on drag enter\n *\n * @param {Object} e The drag enter event\n */\n dragEnter: function dragEnter(e) {\n /**\n * Don't do anything if dropping is disabled.\n */\n if (this.disableDrop) {\n return;\n }\n\n this.hovering = true;\n },\n\n /**\n * Remove the hovering state on drag leave\n *\n * @param {Object} e The drag leave event\n */\n dragLeave: function dragLeave(e) {\n /**\n * Don't do anything if dropping is disabled.\n */\n if (this.disableDrop) {\n return;\n } // Don't do anything if we\n // - leave towards a child element.\n // - or are still within the crumb\n\n\n if (e.target.contains(e.relatedTarget) || this.$refs.crumb.contains(e.relatedTarget)) {\n return;\n }\n\n this.hovering = false;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ \"core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ \"core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var debounce__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! debounce */ \"debounce\");\n/* harmony import */ var debounce__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(debounce__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _Actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Actions */ \"./src/components/Actions/index.js\");\n/* harmony import */ var _ActionRouter__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../ActionRouter */ \"./src/components/ActionRouter/index.js\");\n/* harmony import */ var _ActionLink__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../ActionLink */ \"./src/components/ActionLink/index.js\");\n/* harmony import */ var _utils_ValidateSlot__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../utils/ValidateSlot */ \"./src/utils/ValidateSlot.js\");\n/* harmony import */ var _Breadcrumb__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../Breadcrumb */ \"./src/components/Breadcrumb/index.js\");\n/* harmony import */ var _nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @nextcloud/event-bus */ \"@nextcloud/event-bus\");\n/* harmony import */ var _nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_14__);\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Breadcrumbs',\n components: {\n Actions: _Actions__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n ActionRouter: _ActionRouter__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n ActionLink: _ActionLink__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n Breadcrumb: _Breadcrumb__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n },\n props: {\n /**\n * Set a css icon-class for the icon of the root breadcrumb to be used.\n */\n rootIcon: {\n type: String,\n default: 'icon-home'\n }\n },\n data: function data() {\n return {\n /**\n * The breadcrumbs which should be shown in a dropdown Actions menu.\n */\n hiddenCrumbs: [],\n\n /**\n * Array to track the hidden breadcrumbs by their index.\n * Comparing two crumbs somehow does not work, so we use the indices.\n */\n hiddenIndices: [],\n\n /**\n * This is the props of the middle Action menu\n * that show the ellipsised breadcrumbs\n */\n menuBreadcrumbProps: {\n // Don't show a title for this breadcrumb, only the Actions menu\n title: '',\n forceMenu: true,\n // Don't allow dropping directly on the actions breadcrumb\n disableDrop: true,\n // Is the menu open or not\n open: false\n }\n };\n },\n beforeMount: function beforeMount() {\n // Filter all invalid items, only Breadcrumb components are allowed\n Object(_utils_ValidateSlot__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(this.$slots.default, ['Breadcrumb'], this);\n },\n beforeUpdate: function beforeUpdate() {\n // Also check before every update\n Object(_utils_ValidateSlot__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(this.$slots.default, ['Breadcrumb'], this);\n },\n created: function created() {\n var _this = this;\n\n /**\n * Add a listener so the component reacts on resize\n */\n window.addEventListener('resize', debounce__WEBPACK_IMPORTED_MODULE_8___default()(function () {\n _this.handleWindowResize();\n }, 100));\n Object(_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_14__[\"subscribe\"])('navigation-toggled', this.delayedResize);\n },\n mounted: function mounted() {\n this.handleWindowResize();\n },\n updated: function updated() {\n /**\n * Check the size on update\n */\n this.delayedResize();\n /**\n * Check that crumbs to hide are hidden\n */\n\n this.delayedHideCrumbs();\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('resize', this.handleWindowResize);\n Object(_nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_14__[\"unsubscribe\"])('navigation-toggled', this.delayedResize);\n },\n methods: {\n /**\n * Check that all crumbs to hide are really hidden\n */\n delayedHideCrumbs: function delayedHideCrumbs() {\n var _this2 = this;\n\n this.$nextTick(function () {\n var crumbs = _this2.$slots.default || [];\n\n _this2.hideCrumbs(crumbs);\n });\n },\n\n /**\n * Close the actions menu\n *\n * @param {Object} e The event\n */\n closeActions: function closeActions(e) {\n // Don't do anything if we leave towards a child element.\n if (this.$refs.actionsBreadcrumb.$el.contains(e.relatedTarget)) {\n return;\n }\n\n this.menuBreadcrumbProps.open = false;\n },\n\n /**\n * Call the resize function after a delay\n */\n delayedResize: function delayedResize() {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.handleWindowResize();\n });\n },\n\n /**\n * Check the width of the breadcrumb and hide breadcrumbs\n * if we overflow otherwise.\n */\n handleWindowResize: function handleWindowResize() {\n // All breadcrumb components passed into the default slot\n var breadcrumbs = this.$slots.default || []; // If there is no container yet, we cannot determine its size\n\n if (this.$refs.container) {\n var nrCrumbs = breadcrumbs.length;\n var hiddenIndices = [];\n var availableWidth = this.$refs.container.offsetWidth;\n var totalWidth = this.getTotalWidth(breadcrumbs);\n var overflow = totalWidth - availableWidth; // If we overflow, we have to take the action-item width into account as well.\n\n overflow += overflow > 0 ? 51 : 0;\n var i = 0; // We start hiding the breadcrumb in the center\n\n var startIndex = Math.floor(nrCrumbs / 2); // Don't hide the first and last breadcrumb\n\n while (overflow > 0 && i < nrCrumbs - 2) {\n // We hide elements alternating to the left and right\n var currentIndex = startIndex + (i % 2 ? i + 1 : i) / 2 * Math.pow(-1, i + nrCrumbs % 2); // Calculate the remaining overflow width after hiding this breadcrumb\n\n overflow -= this.getWidth(breadcrumbs[currentIndex].elm);\n hiddenIndices.push(currentIndex);\n i++;\n } // We only update the hidden crumbs if they have changed,\n // otherwise we will run into an infinite update loop.\n\n\n if (!this.arraysEqual(this.hiddenIndices, hiddenIndices.sort(function (a, b) {\n return a - b;\n }))) {\n // Get all breadcrumbs based on the hidden indices\n this.hiddenCrumbs = hiddenIndices.map(function (index) {\n return breadcrumbs[index];\n });\n this.hiddenIndices = hiddenIndices;\n }\n }\n },\n\n /**\n * Checks if two arrays are equal.\n * Only works for primitive arrays, but that's enough here.\n *\n * @param {Array} a The first array\n * @param {Array} b The second array\n * @returns {boolean} Wether the arrays are equal\n */\n arraysEqual: function arraysEqual(a, b) {\n if (a.length !== b.length) return false;\n if (a === b) return true;\n if (a === null || b === null) return false;\n\n for (var i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n },\n\n /**\n * Calculates the total width of all breadcrumbs\n *\n * @param {Array} breadcrumbs All breadcrumbs\n * @returns {Integer} The total width\n */\n getTotalWidth: function getTotalWidth(breadcrumbs) {\n var _this4 = this;\n\n return breadcrumbs.reduce(function (width, crumb, index) {\n return width + _this4.getWidth(crumb.elm);\n }, 0);\n },\n\n /**\n * Calculates the width of the provided element\n *\n * @param {Object} el The element\n * @returns {Integer} The width\n */\n getWidth: function getWidth(el) {\n if (!el.classList) return 0;\n var hide = el.classList.contains('crumb--hidden');\n el.style.minWidth = 'auto';\n el.classList.remove('crumb--hidden');\n var w = el.offsetWidth;\n\n if (hide) {\n el.classList.add('crumb--hidden');\n }\n\n el.style.minWidth = '';\n return w;\n },\n\n /**\n * Prevents the default of a provided event\n *\n * @param {Object} e The event\n * @returns {boolean}\n */\n preventDefault: function preventDefault(e) {\n if (e.preventDefault) {\n e.preventDefault();\n }\n\n return false;\n },\n\n /**\n * Handles the drag start.\n * Prevents a breadcrumb from being draggable.\n *\n * @param {Object} e The event\n * @returns {boolean}\n */\n dragStart: function dragStart(e) {\n return this.preventDefault(e);\n },\n\n /**\n * Handles when something is dropped on the breadcrumb.\n *\n * @param {Object} e The drop event\n * @param {String} path The path of the breadcrumb\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n * @returns {boolean}\n */\n dropped: function dropped(e, path, disabled) {\n /**\n * Don't emit if dropping is disabled.\n */\n if (!disabled) {\n /**\n * Event emitted when something is dropped on the breadcrumb.\n * @type {null}\n */\n this.$emit('dropped', e, path);\n } // Close the actions menu after the drop\n\n\n this.menuBreadcrumbProps.open = false; // Remove all hovering classes\n\n var crumbs = document.querySelectorAll('.crumb');\n crumbs.forEach(function (f) {\n f.classList.remove('crumb--hovered');\n });\n return this.preventDefault(e);\n },\n\n /**\n * Handles the drag over event\n *\n * @param {Object} e The drag over event\n * @returns {boolean}\n */\n dragOver: function dragOver(e) {\n return this.preventDefault(e);\n },\n\n /**\n * Handles the drag enter event\n *\n * @param {Object} e The drag over event\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n */\n dragEnter: function dragEnter(e, disabled) {\n /**\n * Don't do anything if dropping is disabled.\n */\n if (disabled) {\n return;\n } // Get the correct element, in case we hover a child.\n\n\n if (e.target.closest) {\n var target = e.target.closest('.crumb');\n\n if (target.classList && target.classList.contains('crumb')) {\n var crumbs = document.querySelectorAll('.crumb');\n crumbs.forEach(function (f) {\n f.classList.remove('crumb--hovered');\n });\n target.classList.add('crumb--hovered');\n }\n }\n },\n\n /**\n * Handles the drag leave event\n *\n * @param {Object} e The drag leave event\n * @param {boolean} disabled Whether dropping is disabled for this breadcrumb\n */\n dragLeave: function dragLeave(e, disabled) {\n /**\n * Don't do anything if dropping is disabled.\n */\n if (disabled) {\n return;\n } // Don't do anything if we leave towards a child element.\n\n\n if (e.target.contains(e.relatedTarget)) {\n return;\n } // Get the correct element, in case we leave directly from a child.\n\n\n if (e.target.closest) {\n var target = e.target.closest('.crumb');\n\n if (target.contains(e.relatedTarget)) {\n return;\n }\n\n if (target.classList && target.classList.contains('crumb')) {\n target.classList.remove('crumb--hovered');\n }\n }\n },\n\n /**\n * Check for each crumb if we have to hide it and\n * add it to the array of all crumbs.\n *\n * @param {Array} crumbs The array of the crumbs to hide\n * @param {Integer} offset The offset of the indices of the provided crumbs array\n */\n hideCrumbs: function hideCrumbs(crumbs) {\n var _this5 = this;\n\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n crumbs.forEach(function (crumb, i) {\n var _crumb$elm;\n\n if (crumb !== null && crumb !== void 0 && (_crumb$elm = crumb.elm) !== null && _crumb$elm !== void 0 && _crumb$elm.classList) {\n if (_this5.hiddenIndices.includes(i + offset)) {\n crumb.elm.classList.add('crumb--hidden');\n } else {\n crumb.elm.classList.remove('crumb--hidden');\n }\n }\n });\n }\n },\n\n /**\n * The render function to display the component\n *\n * @param {Function} createElement The function to create VNodes\n * @returns {VNodes} The created VNodes\n */\n render: function render(createElement) {\n var _this6 = this;\n\n // Get the breadcrumbs\n var breadcrumbs = this.$slots.default || []; // Check that we have at least one breadcrumb\n\n if (breadcrumbs.length === 0) {\n return;\n } // Add the root icon to the first breadcrumb\n\n\n vue__WEBPACK_IMPORTED_MODULE_7___default.a.set(breadcrumbs[0].componentOptions.propsData, 'icon', this.rootIcon); // The array of all created VNodes\n\n var crumbs = [];\n /**\n * We show the first half of the breadcrumbs before the Actions dropdown menu\n * which shows the hidden breadcrumbs.\n */\n\n var crumbs1 = this.hiddenCrumbs.length ? breadcrumbs.slice(0, Math.round(breadcrumbs.length / 2)) : breadcrumbs; // Add the breadcrumbs to the array of the created VNodes, check if hiding them is necessary.\n\n crumbs = crumbs.concat(crumbs1);\n this.hideCrumbs(crumbs1); // The Actions menu\n\n if (this.hiddenCrumbs.length) {\n // Use a breadcrumb component for the hidden breadcrumbs\n crumbs.push(createElement('Breadcrumb', {\n class: 'dropdown',\n props: this.menuBreadcrumbProps,\n // Add a ref to the Actions menu\n ref: 'actionsBreadcrumb',\n key: 'actions-breadcrumb-1',\n // Add handlers so the Actions menu opens on hover\n nativeOn: {\n dragstart: this.dragStart,\n dragenter: function dragenter() {\n _this6.menuBreadcrumbProps.open = true;\n },\n dragleave: this.closeActions\n },\n on: {\n // Make sure we keep the same open state\n // as the Actions component\n 'update:open': function updateOpen(open) {\n _this6.menuBreadcrumbProps.open = open;\n }\n } // Add all hidden breadcrumbs as ActionRouter or ActionLink\n\n }, this.hiddenCrumbs.map(function (crumb) {\n // Get the parameters from the breadcrumb component props\n var to = crumb.componentOptions.propsData.to;\n var href = crumb.componentOptions.propsData.href;\n var disabled = crumb.componentOptions.propsData.disableDrop; // Decide whether to show the breadcrumbs as ActionRouter or ActionLink\n\n var element = 'ActionLink';\n var path = href;\n\n if (to) {\n element = 'ActionRouter';\n path = to;\n }\n\n return createElement(element, {\n class: 'crumb',\n props: {\n to: to,\n href: href,\n icon: 'icon-folder'\n },\n // Prevent the breadcrumbs from being draggable\n attrs: {\n draggable: false\n },\n // Add the drag and drop handlers\n nativeOn: {\n dragstart: _this6.dragStart,\n drop: function drop($event) {\n return _this6.dropped($event, path, disabled);\n },\n dragover: _this6.dragOver,\n dragenter: function dragenter($event) {\n return _this6.dragEnter($event, disabled);\n },\n dragleave: function dragleave($event) {\n return _this6.dragLeave($event, disabled);\n }\n }\n }, crumb.componentOptions.propsData.title);\n })));\n } // The second half of the breadcrumbs\n\n\n var crumbs2 = this.hiddenCrumbs.length ? breadcrumbs.slice(Math.round(breadcrumbs.length / 2)) : [];\n crumbs = crumbs.concat(crumbs2);\n this.hideCrumbs(crumbs2, crumbs1.length);\n return createElement('div', {\n class: ['breadcrumb', {\n 'breadcrumb--collapsed': this.hiddenCrumbs.length === breadcrumbs.length - 2\n }],\n ref: 'container'\n }, crumbs);\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ColorPicker/ColorPicker.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ColorPicker/ColorPicker.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"core-js/modules/es.regexp.to-string.js\");\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vue_color__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue-color */ \"vue-color\");\n/* harmony import */ var vue_color__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(vue_color__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _utils_GenColors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/GenColors */ \"./src/utils/GenColors.js\");\n/* harmony import */ var _mixins_l10n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mixins/l10n */ \"./src/mixins/l10n.js\");\n/* harmony import */ var _Popover__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Popover */ \"./src/components/Popover/index.js\");\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'ColorPicker',\n components: {\n Chrome: vue_color__WEBPACK_IMPORTED_MODULE_3__[\"Chrome\"],\n Popover: _Popover__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n mixins: [_mixins_l10n__WEBPACK_IMPORTED_MODULE_5__[\"default\"]],\n props: {\n /**\n * A HEX color that represents the initial value of the picker\n */\n value: {\n type: String,\n required: true\n }\n },\n data: function data() {\n var _this = this;\n\n return {\n currentColor: this.value,\n advanced: false,\n palette: Object(_utils_GenColors__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(4).map(function (color) {\n return '#' + _this.rgbToHex(color.r) + _this.rgbToHex(color.g) + _this.rgbToHex(color.b);\n }),\n open: true\n };\n },\n watch: {\n value: function value(color) {\n this.currentColor = color;\n }\n },\n methods: {\n handleConfirm: function handleConfirm() {\n this.$emit('close');\n /**\n * Emits a hexadecimal string e.g. '#ffffff'\n */\n\n this.$emit('submit', this.currentColor);\n this.advanced = false;\n },\n handleBack: function handleBack() {\n this.advanced = false;\n },\n handleMoreSettings: function handleMoreSettings() {\n this.advanced = true;\n },\n pickColor: function pickColor(color) {\n if (typeof color !== 'string') {\n color = this.currentColor.hex;\n }\n\n this.currentColor = color;\n this.$emit('close');\n /**\n * Emits a hexadecimal string e.g. '#ffffff'\n */\n\n this.$emit('update:value', color);\n /**\n * Emits a hexadecimal string e.g. '#ffffff'\n */\n\n this.$emit('input', color);\n },\n rgbToHex: function rgbToHex(color) {\n var hex = color.toString(16);\n return hex.length === 1 ? '0' + hex : hex;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Content/Content.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Content/Content.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n appName: {\n type: String,\n required: true\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/DatetimePicker/DatetimePicker.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/DatetimePicker/DatetimePicker.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vue2_datepicker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue2-datepicker */ \"vue2-datepicker\");\n/* harmony import */ var vue2_datepicker__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vue2_datepicker__WEBPACK_IMPORTED_MODULE_1__);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'DatetimePicker',\n components: {\n DatePicker: vue2_datepicker__WEBPACK_IMPORTED_MODULE_1___default.a\n },\n inheritAttrs: false,\n props: {\n clearable: {\n type: Boolean,\n default: function _default() {\n return false;\n }\n },\n minuteStep: {\n type: Number,\n default: function _default() {\n return 10;\n }\n },\n type: {\n type: String,\n default: 'date'\n },\n format: {\n type: String,\n default: function _default() {\n var map = {\n date: 'YYYY-MM-DD',\n datetime: 'YYYY-MM-DD H:mm:ss',\n year: 'YYYY',\n month: 'YYYY-MM',\n time: 'H:mm:ss',\n week: 'w'\n };\n return map[this.type] || map.date;\n }\n },\n formatter: {\n type: Object,\n default: function _default() {\n return null;\n }\n },\n // eslint-disable-next-line\n value: {\n default: function _default() {\n return new Date();\n }\n },\n appendToBody: {\n type: Boolean,\n default: false\n },\n showWeekNumber: {\n type: Boolean,\n default: false\n }\n },\n methods: {\n handleSelectYear: function handleSelectYear(year) {\n var value = this.$refs.datepicker.currentValue;\n\n if (value) {\n try {\n var date = new Date(new Date(value).setFullYear(year));\n this.$refs.datepicker.selectDate(date);\n } catch (error) {\n console.error('Invalid value', value, year);\n }\n }\n },\n handleSelectMonth: function handleSelectMonth(month) {\n var value = this.$refs.datepicker.currentValue;\n\n if (value) {\n try {\n var date = new Date(new Date(value).setMonth(month));\n this.$refs.datepicker.selectDate(date);\n } catch (error) {\n console.error('Invalid value', value, month);\n }\n }\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/EmptyContent/EmptyContent.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/EmptyContent/EmptyContent.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'EmptyContent',\n props: {\n /**\n * The main icon illustration\n */\n icon: {\n type: String,\n default: ''\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Highlight/Highlight.vue?vue&type=script&lang=js&\":\n/*!***********************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Highlight/Highlight.vue?vue&type=script&lang=js& ***!\n \\***********************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.search.js */ \"core-js/modules/es.string.search.js\");\n/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ \"core-js/modules/es.object.get-own-property-descriptor.js\");\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ \"core-js/modules/es.object.get-own-property-descriptors.js\");\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _utils_FindRanges__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/FindRanges */ \"./src/utils/FindRanges.js\");\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Highlight',\n props: {\n /**\n * The string to display\n */\n text: {\n type: String,\n default: ''\n },\n\n /**\n * The string to match and highlight\n */\n search: {\n type: String,\n default: ''\n },\n\n /**\n * The ranges to highlight, takes precedence over the search prop.\n */\n highlight: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n /**\n * The indice ranges which should be highlighted.\n * If an array with ranges is provided, we use it. Otherwise\n * we calculate it based on the provided substring to highlight.\n *\n * @returns {Array} The array of ranges to highlight\n */\n ranges: function ranges() {\n var _this = this;\n\n var ranges = []; // If the search term and the highlight array is empty, return early with empty array\n\n if (!this.search && this.highlight.length === 0) {\n return ranges;\n } // If there are ranges to highlight provided, we use this array.\n\n\n if (this.highlight.length > 0) {\n ranges = this.highlight; // Otherwise we check the text to highlight for matches of the search term.\n } else {\n ranges = Object(_utils_FindRanges__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(this.text, this.search);\n }\n /**\n * Validate the ranges array to be within the string length\n * and discard ranges which are completely out of bonds.\n */\n\n\n return ranges.reduce(function (validRanges, range) {\n if (range.start < _this.text.length && range.end > 0) {\n validRanges.push({\n start: range.start < 0 ? 0 : range.start,\n end: range.end > _this.text.length ? _this.text.length : range.end\n });\n }\n\n return validRanges;\n }, []);\n },\n\n /**\n * Calculate the different chunks to show based on the ranges to highlight.\n *\n * @returns {Array} The chunks\n */\n chunks: function chunks() {\n // If the ranges array is empty, show only one chunk with all text\n if (this.ranges.length === 0) {\n return [{\n start: 0,\n end: this.text.length,\n highlight: false,\n text: this.text\n }];\n } // Calculate the chunks\n\n\n var chunks = [];\n var currentIndex = 0;\n var currentRange = 0; // Iterate over all characters in the text\n\n while (currentIndex < this.text.length) {\n // Get the first range to highlight\n var range = this.ranges[currentRange]; // If the range starts at the current index, construct a chunk to highlight,\n // set the next range and continue with the next iteration.\n\n if (range.start === currentIndex) {\n chunks.push(_objectSpread(_objectSpread({}, range), {}, {\n highlight: true,\n text: this.text.substr(range.start, range.end - range.start)\n }));\n currentRange++;\n currentIndex = range.end; // If this was the last range to highlight and we haven't reached the end of the text,\n // add the rest of the text without highlighting.\n\n if (currentRange >= this.ranges.length && currentIndex < this.text.length) {\n chunks.push({\n start: currentIndex,\n end: this.text.length,\n highlight: false,\n text: this.text.substr(currentIndex, this.text.length - currentIndex)\n }); // Set the current index so the while loop ends.\n\n currentIndex = this.text.length;\n }\n\n continue;\n } // If the current range does start after the current index, construct a chunk without\n // highlighting and set the current index to the start of the current range.\n\n\n chunks.push({\n start: currentIndex,\n end: range.start,\n highlight: false,\n text: this.text.substr(currentIndex, range.start - currentIndex)\n });\n currentIndex = range.start;\n }\n\n return chunks;\n }\n },\n\n /**\n * The render function to display the component\n *\n * @param {Function} createElement The function to create VNodes\n * @returns {VNodes} The created VNodes\n */\n render: function render(createElement) {\n if (!this.ranges.length) {\n return createElement('span', {}, this.text);\n }\n\n return createElement('span', {}, this.chunks.map(function (chunk) {\n return chunk.highlight ? createElement('strong', {}, chunk.text) : chunk.text;\n }));\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ListItemIcon/ListItemIcon.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ListItemIcon/ListItemIcon.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"core-js/modules/es.string.trim.js\");\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Avatar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Avatar */ \"./src/components/Avatar/index.js\");\n/* harmony import */ var _Highlight__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Highlight */ \"./src/components/Highlight/index.js\");\n/* harmony import */ var _mixins__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../mixins */ \"./src/mixins/index.js\");\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n // global margin, ^2 ratio\n\nvar margin = 8;\nvar defaultSize = 32;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'ListItemIcon',\n components: {\n Avatar: _Avatar__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Highlight: _Highlight__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n mixins: [_mixins__WEBPACK_IMPORTED_MODULE_4__[\"userStatus\"]],\n props: {\n /**\n * Default first line text\n */\n title: {\n type: String,\n required: true\n },\n\n /**\n * Secondary optional line\n * Only visible on size of 32 and above\n */\n subtitle: {\n type: String,\n default: ''\n },\n\n /**\n * Icon class to be displayed at the end of the component\n */\n icon: {\n type: String,\n default: ''\n },\n\n /**\n * Search within the highlight of title/subtitle\n */\n search: {\n type: String,\n default: ''\n },\n\n /**\n * Set a size in px that will define the avatar height/width\n * and therefore, the height of the component\n */\n avatarSize: {\n type: Number,\n default: defaultSize\n },\n\n /**\n * Disable the margins of this component.\n * Useful for integration in Multiselect for example\n */\n noMargin: {\n type: Boolean,\n default: false\n },\n\n /**\n * See the [Avatar](#Avatar) displayName prop\n * Fallback to title\n */\n displayName: {\n type: String,\n default: null\n },\n\n /**\n * See the [Avatar](#Avatar) isNoUser prop\n * Enable/disable the UserStatus fetching\n */\n isNoUser: {\n type: Boolean,\n default: false\n },\n\n /**\n * Unique list item ID\n */\n id: {\n type: String,\n default: null\n }\n },\n data: function data() {\n return {\n margin: margin\n };\n },\n computed: {\n hasIcon: function hasIcon() {\n return this.icon !== '';\n },\n hasSlot: function hasSlot() {\n return !!this.$slots.default;\n },\n isValidSubtitle: function isValidSubtitle() {\n var _this$subtitle, _this$subtitle$trim;\n\n return ((_this$subtitle = this.subtitle) === null || _this$subtitle === void 0 ? void 0 : (_this$subtitle$trim = _this$subtitle.trim) === null || _this$subtitle$trim === void 0 ? void 0 : _this$subtitle$trim.call(_this$subtitle)) !== '';\n },\n isSizeBigEnough: function isSizeBigEnough() {\n return this.avatarSize >= defaultSize;\n },\n cssVars: function cssVars() {\n // Don't use margin to calculate the height if noMargin\n var margin = this.noMargin ? 0 : this.margin;\n return {\n '--height': this.avatarSize + 2 * margin + 'px',\n '--margin': this.margin + 'px'\n };\n }\n },\n beforeMount: function beforeMount() {\n // If we don't have a subtitle and if this is a user\n if (!this.isNoUser && !this.subtitle) {\n this.fetchUserStatus(this.user);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Modal/Modal.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Modal/Modal.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var hammerjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! hammerjs */ \"hammerjs\");\n/* harmony import */ var hammerjs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(hammerjs__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Actions */ \"./src/components/Actions/index.js\");\n/* harmony import */ var _ActionButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ActionButton */ \"./src/components/ActionButton/index.js\");\n/* harmony import */ var _mixins_l10n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../mixins/l10n */ \"./src/mixins/l10n.js\");\n/* harmony import */ var _l10n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../l10n */ \"./src/l10n.js\");\n/* harmony import */ var _directives_Tooltip__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../directives/Tooltip */ \"./src/directives/Tooltip/index.js\");\n/* harmony import */ var _utils_Timer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/Timer */ \"./src/utils/Timer.js\");\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Modal',\n components: {\n Actions: _Actions__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ActionButton: _ActionButton__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n directives: {\n tooltip: _directives_Tooltip__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n mixins: [_mixins_l10n__WEBPACK_IMPORTED_MODULE_4__[\"default\"]],\n props: {\n /**\n * Title to be shown with the modal\n */\n title: {\n type: String,\n default: ''\n },\n\n /**\n * Declare if a previous slide is available\n */\n hasPrevious: {\n type: Boolean,\n default: false\n },\n\n /**\n * Declare if a next slide is available\n */\n hasNext: {\n type: Boolean,\n default: false\n },\n\n /**\n * Declare if hiding the modal should be animated\n */\n outTransition: {\n type: Boolean,\n default: false\n },\n\n /**\n * Declare if the slideshow functionality should be enabled\n */\n enableSlideshow: {\n type: Boolean,\n default: false\n },\n clearViewDelay: {\n type: Number,\n default: 5000\n },\n\n /**\n * Declare the slide interval\n */\n slideshowDelay: {\n type: Number,\n default: 3000\n },\n\n /**\n * Allow to pause an ongoing slideshow\n */\n slideshowPaused: {\n type: Boolean,\n default: false\n },\n\n /**\n * Enable swipe between slides\n */\n enableSwipe: {\n type: Boolean,\n default: true\n },\n spreadNavigation: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: 'normal',\n validator: function validator(size) {\n return ['normal', 'large', 'full'].indexOf(size) !== -1;\n }\n },\n\n /**\n * Declare if the modal can be closed\n */\n canClose: {\n type: Boolean,\n default: true\n },\n\n /** Makes the modal backdrop black if true */\n dark: {\n type: Boolean,\n default: false\n },\n\n /**\n * Selector for the modal container\n */\n container: {\n type: String,\n default: 'body'\n }\n },\n data: function data() {\n return {\n mc: null,\n showModal: false,\n clearView: false,\n clearViewTimeout: null,\n playing: false,\n slideshowTimeout: null\n };\n },\n computed: {\n modalTransitionName: function modalTransitionName() {\n return \"modal-\".concat(this.outTransition ? 'out' : 'in');\n },\n playPauseTitle: function playPauseTitle() {\n return this.playing ? Object(_l10n__WEBPACK_IMPORTED_MODULE_5__[\"t\"])('Pause slideshow') : Object(_l10n__WEBPACK_IMPORTED_MODULE_5__[\"t\"])('Start slideshow');\n }\n },\n watch: {\n /**\n * Handle play/pause of an ongoing slideshow\n * @param {boolean} paused is the player paused\n */\n slideshowPaused: function slideshowPaused(paused) {\n if (this.slideshowTimeout) {\n if (paused) {\n this.slideshowTimeout.pause();\n } else {\n this.slideshowTimeout.start();\n }\n }\n }\n },\n beforeMount: function beforeMount() {\n window.addEventListener('keydown', this.handleKeydown);\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('keydown', this.handleKeydown);\n this.mc.off('swipeleft swiperight');\n this.mc.destroy();\n },\n mounted: function mounted() {\n var _this = this;\n\n this.showModal = true; // init clear view\n\n this.handleMouseMove();\n this.mc = new hammerjs__WEBPACK_IMPORTED_MODULE_1___default.a(this.$refs.mask);\n this.mc.on('swipeleft swiperight', function (e) {\n _this.handleSwipe(e);\n });\n\n if (this.container === 'body') {\n // force mount the component to body\n document.body.insertBefore(this.$el, document.body.lastChild);\n } else {\n var container = document.querySelector(this.container);\n container.appendChild(this.$el);\n }\n },\n destroyed: function destroyed() {\n this.$el.remove();\n },\n methods: {\n // Events emitters\n previous: function previous(data) {\n // do not send the event if nothing is available\n if (this.hasPrevious) {\n // if data is set, then it's a user mouse event\n // and not the slideshow handler, therefore\n // we reset the timer\n if (data) {\n this.resetSlideshow();\n }\n\n this.$emit('previous', data);\n }\n },\n next: function next(data) {\n // do not send the event if nothing is available\n if (this.hasNext) {\n // if data is set, then it's a mouse event\n // and not the slideshow handler, therefore\n // we reset the timer\n if (data) {\n this.resetSlideshow();\n }\n\n this.$emit('next', data);\n }\n },\n close: function close(data) {\n var _this2 = this;\n\n // do not fire event if forbidden\n if (this.canClose) {\n this.showModal = false; // delay closing for animation\n\n setTimeout(function () {\n /**\n * Emitted when the closing animation is finished\n */\n _this2.$emit('close', data);\n }, 300);\n }\n },\n // Key Handlers\n handleKeydown: function handleKeydown(e) {\n switch (e.keyCode) {\n case 37:\n // left arrow\n this.previous(e);\n break;\n\n case 13: // enter key\n\n case 39:\n // rigth arrow\n this.next(e);\n break;\n\n case 27:\n // escape key\n this.close(e);\n break;\n }\n },\n handleSwipe: function handleSwipe(e) {\n if (this.enableSwipe) {\n if (e.type === 'swipeleft') {\n // swiping to left to go to the next item\n this.next(e);\n } else if (e.type === 'swiperight') {\n // swiping to right to go back to the previous item\n this.previous(e);\n }\n }\n },\n handleMouseMove: function handleMouseMove() {\n var _this3 = this;\n\n if (this.clearViewDelay > 0) {\n this.clearView = false;\n clearTimeout(this.clearViewTimeout);\n this.clearViewTimeout = setTimeout(function () {\n _this3.clearView = true;\n }, this.clearViewDelay);\n }\n },\n\n /**\n * Toggle the slideshow state\n */\n togglePlayPause: function togglePlayPause() {\n this.playing = !this.playing;\n\n if (this.playing) {\n this.handleSlideshow();\n } else {\n this.clearSlideshowTimeout();\n }\n },\n\n /**\n * Reset the slideshow timer and keep going if it was on\n */\n resetSlideshow: function resetSlideshow() {\n this.playing = !this.playing;\n this.clearSlideshowTimeout();\n this.$nextTick(function () {\n this.togglePlayPause();\n });\n },\n\n /**\n * Handle the slideshow timer and next event\n */\n handleSlideshow: function handleSlideshow() {\n var _this4 = this;\n\n this.playing = true;\n\n if (this.hasNext) {\n this.slideshowTimeout = new _utils_Timer__WEBPACK_IMPORTED_MODULE_7__[\"default\"](function () {\n _this4.next();\n\n _this4.handleSlideshow();\n }, this.slideshowDelay);\n } else {\n this.playing = false;\n this.clearSlideshowTimeout();\n }\n },\n\n /**\n * Clear slideshowTimeout if ongoing\n */\n clearSlideshowTimeout: function clearSlideshowTimeout() {\n if (this.slideshowTimeout) {\n this.slideshowTimeout.clear();\n }\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Multiselect/EllipsisedOption.vue?vue&type=script&lang=js&\":\n/*!********************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Multiselect/EllipsisedOption.vue?vue&type=script&lang=js& ***!\n \\********************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.search.js */ \"core-js/modules/es.string.search.js\");\n/* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _Highlight__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Highlight */ \"./src/components/Highlight/index.js\");\n/* harmony import */ var _utils_FindRanges__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/FindRanges */ \"./src/utils/FindRanges.js\");\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'EllipsisedOption',\n components: {\n Highlight: _Highlight__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n },\n props: {\n option: {\n type: [String, Object],\n required: true,\n default: ''\n },\n label: {\n type: String,\n default: ''\n },\n search: {\n type: String,\n default: ''\n },\n name: {\n type: String,\n default: ''\n }\n },\n computed: {\n needsTruncate: function needsTruncate() {\n return this.name && this.name.length >= 10;\n },\n\n /**\n * Index at which to split the name if it is longer than 10 characters.\n *\n * @returns {Integer} The position at which to split\n */\n split: function split() {\n // leave maximum 10 letters\n return this.name.length - Math.min(Math.floor(this.name.length / 2), 10);\n },\n part1: function part1() {\n if (this.needsTruncate) {\n return this.name.substr(0, this.split);\n }\n\n return this.name;\n },\n part2: function part2() {\n if (this.needsTruncate) {\n return this.name.substr(this.split);\n }\n\n return '';\n },\n\n /**\n * The ranges to highlight. Since we split the string for ellipsising,\n * the Highlight component cannot figure this out itself and needs the ranges provided.\n *\n * @returns {Array} The array with the ranges to highlight\n */\n highlight1: function highlight1() {\n if (!this.search) {\n return [];\n }\n\n return Object(_utils_FindRanges__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this.name, this.search);\n },\n\n /**\n * We shift the ranges for the second part by the position of the split.\n * Ranges out of the string length are discarded by the Highlight component,\n * so we don't need to take care of this here.\n *\n * @returns {Array} The array with the ranges to highlight\n */\n highlight2: function highlight2() {\n var _this = this;\n\n return this.highlight1.map(function (range) {\n return {\n start: range.start - _this.split,\n end: range.end - _this.split\n };\n });\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Multiselect/Multiselect.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Multiselect/Multiselect.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ \"core-js/modules/es.array.join.js\");\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"core-js/modules/es.symbol.description.js\");\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"core-js/modules/es.symbol.iterator.js\");\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var vue_multiselect__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vue-multiselect */ \"vue-multiselect\");\n/* harmony import */ var vue_multiselect__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(vue_multiselect__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _EllipsisedOption__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./EllipsisedOption */ \"./src/components/Multiselect/EllipsisedOption.vue\");\n/* harmony import */ var _mixins_l10n__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../mixins/l10n */ \"./src/mixins/l10n.js\");\n/* harmony import */ var _ListItemIcon__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../ListItemIcon */ \"./src/components/ListItemIcon/index.js\");\n/* harmony import */ var _directives_Tooltip__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../directives/Tooltip */ \"./src/directives/Tooltip/index.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\n\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Multiselect',\n components: {\n EllipsisedOption: _EllipsisedOption__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n ListItemIcon: _ListItemIcon__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n VueMultiselect: vue_multiselect__WEBPACK_IMPORTED_MODULE_11___default.a\n },\n directives: {\n tooltip: _directives_Tooltip__WEBPACK_IMPORTED_MODULE_15__[\"default\"]\n },\n mixins: [_mixins_l10n__WEBPACK_IMPORTED_MODULE_13__[\"default\"]],\n inheritAttrs: false,\n\n /**\n * Every prop that is defined here will break the auto\n * forward to the vue-multiselect component\n * You will have to specify it as a prop on the template\n */\n props: {\n // eslint-disable-next-line\n value: {\n default: function _default() {\n return [];\n }\n },\n\n /**\n * Allow multiple select ?\n */\n multiple: {\n type: Boolean,\n default: false\n },\n\n /**\n * Limit the number of results\n */\n limit: {\n type: Number,\n default: 99999\n },\n\n /**\n * key to use as label on object options\n */\n label: {\n type: String,\n default: ''\n },\n\n /**\n * key to use as id on object options\n */\n trackBy: {\n type: String,\n default: ''\n },\n\n /**\n * Array of available options: Objects, Strings or Integers.\n * If array of objects, visible label will default to option.label.\n * If `labal` prop is passed, label will equal option['label']\n */\n options: {\n type: Array,\n required: true\n },\n\n /**\n * Enable the big user selector w/ avatar\n * Make sure your objects fit the requirements\n */\n userSelect: {\n type: Boolean,\n default: false\n },\n\n /**\n * Overriding the default slot. Only showing a spiner.\n */\n loading: {\n type: Boolean,\n default: false\n },\n\n /**\n * Enable the automatic limit and width calculation\n * Only works on multiple\n */\n autoLimit: {\n type: Boolean,\n default: true\n },\n\n /**\n * If autoLimit, allow to specify the min-width of every\n * selected option when calculating the number of options\n * to show. This needs to be a positive integer.\n */\n tagWidth: {\n type: Number,\n default: 150,\n validator: function validator(value) {\n return value > 0;\n }\n }\n },\n data: function data() {\n return {\n elWidth: 0\n };\n },\n computed: {\n /**\n * Calculate the number of options to show\n * depending on the width of the select.\n * Only works if `autoLimit` is `true`\n * @returns {number}\n */\n maxOptions: function maxOptions() {\n if (this.autoLimit && this.elWidth > 0 && this.tagWidth !== 0) {\n var limit = Math.floor(this.elWidth / this.tagWidth);\n return limit > 0 ? limit : 1;\n }\n\n return this.limit ? this.limit : 9999;\n },\n\n /**\n * Make the tooltip limit string for the `autoLimit`\n * @returns {string}\n */\n limitString: function limitString() {\n return \"+\".concat(this.value.length - this.maxOptions);\n },\n localValue: {\n get: function get() {\n if (this.trackBy && this.options && _typeof(this.value) !== 'object' && this.options[this.value]) {\n return this.options[this.value];\n }\n\n return this.value;\n },\n set: function set(value) {\n this.$emit('update:value', value);\n this.$emit('change', value);\n }\n }\n },\n watch: {\n // ensure we update the width when we add or remove data\n value: function value() {\n this.updateWidth();\n }\n },\n mounted: function mounted() {\n this.updateWidth();\n window.addEventListener('resize', this.updateWidth);\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('resize', this.updateWidth);\n },\n methods: {\n /**\n * Returns the option label\n *\n * @param {String} option The selected option\n * @returns {string}\n */\n getOptionLabel: function getOptionLabel(option) {\n var _this$$refs$VueMultis;\n\n return String((_this$$refs$VueMultis = this.$refs.VueMultiselect) === null || _this$$refs$VueMultis === void 0 ? void 0 : _this$$refs$VueMultis.getOptionLabel(option));\n },\n\n /**\n * Format array of groups objects to a string\n * for the limit popup using the label prop\n *\n * @param {array} options The selected options\n * @returns {string}\n */\n formatLimitTitle: function formatLimitTitle(options) {\n var _this = this;\n\n if (Array.isArray(options) && options.length > 0) {\n var selection = options;\n\n if (_typeof(options[0]) === 'object') {\n selection = options.map(function (option) {\n return option[_this.label];\n });\n }\n\n return selection.slice(this.maxOptions).join(', ');\n }\n\n return '';\n },\n\n /**\n * Update the component width data\n */\n updateWidth: function updateWidth() {\n // width of the tags wrapper minus the padding\n if (this.$el && this.$el.querySelector('.multiselect__tags-wrap')) {\n this.elWidth = this.$el.querySelector('.multiselect__tags-wrap').offsetWidth - 10;\n }\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/MultiselectTags/MultiselectTags.vue?vue&type=script&lang=js&\":\n/*!***********************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/MultiselectTags/MultiselectTags.vue?vue&type=script&lang=js& ***!\n \\***********************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! regenerator-runtime/runtime.js */ \"regenerator-runtime/runtime.js\");\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ \"core-js/modules/es.array.find.js\");\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.promise.js */ \"core-js/modules/es.promise.js\");\n/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _mixins_l10n__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../mixins/l10n */ \"./src/mixins/l10n.js\");\n/* harmony import */ var _Multiselect__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Multiselect */ \"./src/components/Multiselect/index.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./api */ \"./src/components/MultiselectTags/api.js\");\n/* harmony import */ var _l10n__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../l10n */ \"./src/l10n.js\");\n\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'MultiselectTags',\n components: {\n Multiselect: _Multiselect__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n mixins: [_mixins_l10n__WEBPACK_IMPORTED_MODULE_7__[\"default\"]],\n props: {\n label: {\n type: String,\n default: Object(_l10n__WEBPACK_IMPORTED_MODULE_10__[\"t\"])('Select a tag')\n },\n value: {\n type: [Number, Array],\n required: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n multiple: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n tags: []\n };\n },\n computed: {\n inputValue: function inputValue() {\n return this.getValueObject();\n }\n },\n beforeCreate: function beforeCreate() {\n var _this = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var result;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return Object(_api__WEBPACK_IMPORTED_MODULE_9__[\"searchTags\"])();\n\n case 3:\n result = _context.sent;\n _this.tags = result;\n _context.next = 10;\n break;\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](0);\n console.error('Loading systemtags failed', _context.t0);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 7]]);\n }))();\n },\n methods: {\n getValueObject: function getValueObject() {\n var _this2 = this;\n\n if (this.tags.length === 0) {\n return [];\n }\n\n if (this.multiple) {\n return this.value.filter(function (tag) {\n return tag !== '';\n }).map(function (id) {\n return _this2.tags.find(function (tag2) {\n return tag2.id === id;\n });\n });\n } else {\n return this.tags.find(function (tag) {\n return tag.id === _this2.value;\n });\n }\n },\n update: function update(value) {\n if (this.multiple) {\n /**\n * Emitted on input events of the multiselect field\n * @type {number|number[]}\n */\n this.$emit('input', value.map(function (element) {\n return element.id;\n }));\n } else {\n if (value === null) {\n this.$emit('input', null);\n } else {\n this.$emit('input', value.id);\n }\n }\n },\n\n /**\n * @param {Object} tag destructuring object\n * @param {string} tag.displayName the tag display name\n * @param {bool} tag.userVisible is the tag visible\n * @param {bool} tag.userAssignable is the tag restricted\n * @returns {string}\n */\n tagLabel: function tagLabel(_ref) {\n var displayName = _ref.displayName,\n userVisible = _ref.userVisible,\n userAssignable = _ref.userAssignable;\n\n if (userVisible === false) {\n return Object(_l10n__WEBPACK_IMPORTED_MODULE_10__[\"t\"])('{tag} (invisible)', {\n tag: displayName\n });\n }\n\n if (userAssignable === false) {\n return Object(_l10n__WEBPACK_IMPORTED_MODULE_10__[\"t\"])('{tag} (restricted)', {\n tag: displayName\n });\n }\n\n return displayName;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Popover/Popover.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! v-tooltip */ \"v-tooltip\");\n/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(v_tooltip__WEBPACK_IMPORTED_MODULE_0__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Popover',\n components: {\n VPopover: v_tooltip__WEBPACK_IMPORTED_MODULE_0__[\"VPopover\"]\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$watch(function () {\n // required because v-tooltip doesn't provide events\n // and @show is too early\n // see https://github.com/Akryum/v-tooltip/issues/661\n return _this.$refs.popover.isOpen;\n }, function (val) {\n if (val) {\n /**\n * Triggered after the tooltip was visually displayed.\n *\n * This is different from the 'show' and 'apply-show' which\n * run earlier than this where there is no guarantee that the\n * tooltip is already visible and in the DOM.\n */\n _this.$emit('after-show');\n } else {\n /**\n * Triggered after the tooltip was visually hidden.\n */\n _this.$emit('after-hide');\n }\n });\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _PopoverMenuItem__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PopoverMenuItem */ \"./src/components/PopoverMenu/PopoverMenuItem.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'PopoverMenu',\n components: {\n PopoverMenuItem: _PopoverMenuItem__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n props: {\n menu: {\n type: Array,\n default: function _default() {\n return [{\n href: 'https://nextcloud.com',\n icon: 'icon-links',\n text: 'Nextcloud'\n }];\n },\n required: true\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"core-js/modules/es.regexp.to-string.js\");\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.url.js */ \"core-js/modules/web.url.js\");\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'PopoverMenuItem',\n props: {\n item: {\n type: Object,\n required: true,\n default: function _default() {\n return {\n key: 'nextcloud-link',\n href: 'https://nextcloud.com',\n icon: 'icon-links',\n text: 'Nextcloud'\n };\n },\n // check the input types\n // TODO: add more validation of types\n validator: function validator(item) {\n // TODO: support radio\n if (item.input) {\n return ['text', 'checkbox'].indexOf(item.input) !== -1;\n }\n\n return true;\n }\n }\n },\n computed: {\n // random key for inputs binding if not provided\n key: function key() {\n return this.item.key ? this.item.key : Math.round(Math.random() * 16 * 1000000).toString(16);\n },\n iconIsUrl: function iconIsUrl() {\n try {\n // eslint-disable-next-line no-new\n new URL(this.item.icon);\n return true;\n } catch (_) {\n return false;\n }\n }\n },\n methods: {\n // allow us to use both link and an action on `a`\n // we still need to make sure item.action exists\n action: function action(event) {\n if (this.item.action) {\n this.item.action(event);\n }\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=script&lang=js&\":\n/*!******************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=script&lang=js& ***!\n \\******************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/router */ \"@nextcloud/router\");\n/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_router__WEBPACK_IMPORTED_MODULE_0__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AutoCompleteResult',\n props: {\n label: {\n type: String,\n required: true\n },\n subline: {\n type: String,\n default: null\n },\n id: {\n type: String,\n default: null\n },\n icon: {\n type: String,\n required: true\n },\n source: {\n type: String,\n required: true\n },\n status: {\n type: [Object, Array],\n default: function _default() {\n return {};\n }\n }\n },\n computed: {\n avatarUrl: function avatarUrl() {\n return this.id && this.source === 'users' ? this.getAvatarUrl(this.id, 44) : null;\n },\n haveStatus: function haveStatus() {\n var _this$status, _this$status2;\n\n return ((_this$status = this.status) === null || _this$status === void 0 ? void 0 : _this$status.icon) || ((_this$status2 = this.status) === null || _this$status2 === void 0 ? void 0 : _this$status2.status);\n }\n },\n methods: {\n getAvatarUrl: function getAvatarUrl(user, size) {\n return Object(_nextcloud_router__WEBPACK_IMPORTED_MODULE_0__[\"generateUrl\"])('/avatar/{user}/{size}', {\n user: user,\n size: size\n });\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/MentionBubble.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/router */ \"@nextcloud/router\");\n/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_router__WEBPACK_IMPORTED_MODULE_0__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'MentionBubble',\n props: {\n id: {\n type: String,\n required: true\n },\n label: {\n type: String,\n required: true\n },\n icon: {\n type: String,\n required: true\n },\n source: {\n type: String,\n required: true\n },\n primary: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n avatarUrl: function avatarUrl() {\n return this.id && this.source === 'users' ? this.getAvatarUrl(this.id, 44) : null;\n },\n mentionText: function mentionText() {\n return this.id.indexOf(' ') === -1 ? \"@\".concat(this.id) : \"@\\\"\".concat(this.id, \"\\\"\");\n }\n },\n methods: {\n getAvatarUrl: function getAvatarUrl(user, size) {\n return Object(_nextcloud_router__WEBPACK_IMPORTED_MODULE_0__[\"generateUrl\"])('/avatar/{user}/{size}', {\n user: user,\n size: size\n });\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! regenerator-runtime/runtime.js */ \"regenerator-runtime/runtime.js\");\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"core-js/modules/es.string.trim.js\");\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.match.js */ \"core-js/modules/es.string.match.js\");\n/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ \"core-js/modules/es.array.find.js\");\n/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ \"core-js/modules/es.object.values.js\");\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.string.starts-with.js */ \"core-js/modules/es.string.starts-with.js\");\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.promise.js */ \"core-js/modules/es.promise.js\");\n/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var tributejs_dist_tribute_esm__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! tributejs/dist/tribute.esm */ \"tributejs/dist/tribute.esm\");\n/* harmony import */ var tributejs_dist_tribute_esm__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(tributejs_dist_tribute_esm__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var debounce__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! debounce */ \"debounce\");\n/* harmony import */ var debounce__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(debounce__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var string_length__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! string-length */ \"string-length\");\n/* harmony import */ var string_length__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(string_length__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var _l10n_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../l10n.js */ \"./src/l10n.js\");\n/* harmony import */ var _AutoCompleteResult__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./AutoCompleteResult */ \"./src/components/RichContenteditable/AutoCompleteResult.vue\");\n/* harmony import */ var _mixins_richEditor_index__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../mixins/richEditor/index */ \"./src/mixins/richEditor/index.js\");\n\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n\n\n\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'RichContenteditable',\n mixins: [_mixins_richEditor_index__WEBPACK_IMPORTED_MODULE_16__[\"default\"]],\n props: {\n value: {\n type: String,\n default: '',\n required: true\n },\n placeholder: {\n type: String,\n default: Object(_l10n_js__WEBPACK_IMPORTED_MODULE_14__[\"t\"])('Write message, @ to mention someone …')\n },\n autoComplete: {\n type: Function,\n required: true\n },\n menuContainer: {\n type: Element,\n default: function _default() {\n return document.body;\n }\n },\n\n /**\n * Make the contenteditable looks like a textarea or not.\n * Default looks like a single-line input.\n * This also handle the default enter/shift+enter behaviour.\n * if multiline, enter = newline; otherwise enter = submit\n * shift+enter always add a new line. ctrl+enter always submits\n */\n multiline: {\n type: Boolean,\n default: false\n },\n\n /**\n * Is the content editable ?\n */\n contenteditable: {\n type: Boolean,\n default: true\n },\n\n /**\n * Max allowed length\n */\n maxlength: {\n type: Number,\n default: null\n }\n },\n data: function data() {\n var _this = this;\n\n return {\n tribute: null,\n options: {\n fillAttr: 'id',\n // Search against id and label (display name)\n lookup: function lookup(result) {\n return \"\".concat(result.id, \" \").concat(result.label);\n },\n // Where to inject the menu popup\n menuContainer: this.menuContainer,\n // Popup mention autocompletion templates\n menuItemTemplate: function menuItemTemplate(item) {\n return _this.renderComponentHtml(item.original, _AutoCompleteResult__WEBPACK_IMPORTED_MODULE_15__[\"default\"]);\n },\n // Hide if no results\n noMatchTemplate: function noMatchTemplate() {\n return '<span class=\"hidden\"></span>';\n },\n // Inner display of mentions\n selectTemplate: function selectTemplate(item) {\n var _item$original;\n\n return _this.genSelectTemplate(item === null || item === void 0 ? void 0 : (_item$original = item.original) === null || _item$original === void 0 ? void 0 : _item$original.id);\n },\n // Autocompletion results\n values: this.debouncedAutoComplete\n },\n // Represent the raw untrimmed text of the contenteditable\n // serves no other purpose than to check whether the\n // content is empty or not\n localValue: this.value\n };\n },\n computed: {\n /**\n * Is the current trimmed value empty?\n * @returns {boolean}\n */\n isEmptyValue: function isEmptyValue() {\n return !this.localValue || this.localValue && this.localValue.trim() === '';\n },\n\n /**\n * Is this Firefox? 🙄\n * @returns {boolean}\n */\n isFF: function isFF() {\n return !!navigator.userAgent.match(/firefox/i);\n },\n\n /**\n * Is the current value over maxlength?\n * @returns {boolean}\n */\n isOverMaxlength: function isOverMaxlength() {\n if (this.isEmptyValue || !this.maxlength) {\n return false;\n }\n\n return string_length__WEBPACK_IMPORTED_MODULE_13___default()(this.localValue) > this.maxlength;\n },\n\n /**\n * Tooltip to show if characters count is over limit\n * @returns {string}\n */\n tooltip: function tooltip() {\n if (!this.isOverMaxlength) {\n return null;\n }\n\n return {\n content: Object(_l10n_js__WEBPACK_IMPORTED_MODULE_14__[\"t\"])('Message limit of {count} characters reached', {\n count: this.maxlength\n }),\n show: true,\n trigger: 'manual'\n };\n }\n },\n watch: {\n /**\n * If the parent value change, we compare the plain text rendering\n * If it's different, we render everything and update the main content\n */\n value: function value() {\n var html = this.$refs.contenteditable.innerHTML; // Compare trimmed versions to be safe\n\n if (this.value.trim() !== this.parseContent(html).trim()) {\n this.updateContent(this.value);\n }\n }\n },\n mounted: function mounted() {\n this.tribute = new tributejs_dist_tribute_esm__WEBPACK_IMPORTED_MODULE_11___default.a(this.options);\n this.tribute.attach(this.$el); // Update default value\n\n this.updateContent(this.value); // Removes the contenteditable attribute at first load if the prop is\n // set to false.\n\n this.$refs.contenteditable.contentEditable = this.contenteditable;\n },\n beforeDestroy: function beforeDestroy() {\n if (this.tribute) {\n this.tribute.detach(this.$el);\n }\n },\n methods: {\n /**\n * Re-emit the input event to the parent\n * @param {Event} event the input event\n */\n onInput: function onInput(event) {\n this.updateValue(event.target.innerHTML);\n },\n\n /**\n * When pasting, sanitize the content, extract text\n * and render it again\n * @param {Event} event the paste event\n * @emits {Event} paste the original paste event\n */\n onPaste: function onPaste(event) {\n event.preventDefault();\n var clipboardData = event.clipboardData;\n /** The original paste event */\n\n this.$emit('paste', event); // If we have a file or if we don't have any text, ignore\n\n if (clipboardData.files.length !== 0 || !Object.values(clipboardData.items).find(function (item) {\n return item === null || item === void 0 ? void 0 : item.type.startsWith('text');\n })) {\n return;\n }\n\n var html = clipboardData.getData('text');\n var selection = window.getSelection(); // If no selection, replace the whole data\n\n if (!selection.rangeCount) {\n this.updateValue(html);\n } // Generate text and insert\n\n\n var text = this.parseContent(html);\n var range = selection.getRangeAt(0);\n selection.deleteFromDocument();\n range.insertNode(document.createTextNode(text)); // Put cursor at the end of the selection\n\n var newRange = document.createRange();\n newRange.setStart(event.target, range.endOffset);\n newRange.collapse(true);\n selection.removeAllRanges();\n selection.addRange(newRange); // Propagate data\n\n this.updateValue(event.target.innerHTML);\n },\n\n /**\n * Update the value text from the provided html\n * @param {string} htmlOrText the html content (or raw text with @mentions)\n */\n updateValue: function updateValue(htmlOrText) {\n var text = this.parseContent(htmlOrText);\n this.localValue = text;\n this.$emit('input', text);\n this.$emit('update:value', text);\n },\n\n /**\n * Update content and local value\n * @param {string} value the message value\n */\n updateContent: function updateContent(value) {\n var renderedContent = this.renderContent(value);\n this.$refs.contenteditable.innerHTML = renderedContent;\n this.localValue = value;\n },\n\n /**\n * Because FF have a decade old bug preventing contenteditable=false\n * to properly be deleted on backspace, we have to hack 👀\n * https://stackoverflow.com/a/59383394/3885878\n * https://stackoverflow.com/a/30574622\n *\n * @param {Event} event the delete keydown event\n */\n onDelete: function onDelete(event) {\n if (!this.isFF || !window.getSelection) {\n return;\n } // fix backspace bug in FF\n // https://bugzilla.mozilla.org/show_bug.cgi?id=685445\n\n\n var selection = window.getSelection();\n var node = event.target;\n\n if (!selection.isCollapsed || !selection.rangeCount) {\n return;\n }\n\n var curRange = selection.getRangeAt(selection.rangeCount - 1);\n\n if (curRange.commonAncestorContainer.nodeType === 3 && curRange.startOffset > 0) {\n // we are in child selection. The characters of the text node is being deleted\n return;\n }\n\n var range = document.createRange();\n\n if (selection.anchorNode !== node) {\n // selection is in character mode. expand it to the whole editable field\n range.selectNodeContents(node);\n range.setEndBefore(selection.anchorNode);\n } else if (selection.anchorOffset > 0) {\n range.setEnd(node, selection.anchorOffset);\n } else {\n // reached the beginning of editable field\n return;\n }\n\n range.setStart(node, range.endOffset - 1);\n var previousNode = range.cloneContents().lastChild;\n\n if (previousNode && previousNode.contentEditable === 'false') {\n // this is some rich content, e.g. smile. We should help the user to delete it\n range.deleteContents();\n event.preventDefault();\n }\n },\n\n /**\n * Enter key pressed. Submits if not multiline\n * @param {Event} event the keydown event\n */\n onEnter: function onEnter(event) {\n // Prevent submitting if autocompletion menu\n // is opened or length is over maxlength\n if (this.multiline || this.isOverMaxlength || this.tribute.isActive) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n this.$emit('submit', event);\n },\n\n /**\n * Ctrl + Enter key pressed\n * @param {Event} event the keydown event\n */\n onCtrlEnter: function onCtrlEnter(event) {\n if (this.isOverMaxlength) {\n return;\n }\n\n this.$emit('submit', event);\n },\n\n /**\n * Debounce the autocomplete function\n */\n debouncedAutoComplete: debounce__WEBPACK_IMPORTED_MODULE_12___default()( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(search, callback) {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.autoComplete(search, callback);\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n return function (_x, _x2) {\n return _ref.apply(this, arguments);\n };\n }(), 100)\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/SettingsSection/SettingsSection.vue?vue&type=script&lang=js&\":\n/*!***********************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SettingsSection/SettingsSection.vue?vue&type=script&lang=js& ***!\n \\***********************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"core-js/modules/es.symbol.description.js\");\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _l10n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../l10n */ \"./src/l10n.js\");\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'SettingsSection',\n components: {},\n props: {\n title: {\n type: String,\n required: true\n },\n description: {\n type: String,\n default: ''\n },\n docUrl: {\n type: String,\n default: ''\n }\n },\n data: function data() {\n return {\n docTitleTranslated: Object(_l10n__WEBPACK_IMPORTED_MODULE_2__[\"t\"])('External documentation for {title}', {\n title: this.title\n })\n };\n },\n computed: {\n hasDescription: function hasDescription() {\n return this.description.length > 0;\n },\n hasDocUrl: function hasDocUrl() {\n return this.docUrl.length > 0;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/UserBubble/UserBubble.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/UserBubble/UserBubble.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/web.url.js */ \"core-js/modules/web.url.js\");\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"core-js/modules/es.number.constructor.js\");\n/* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"core-js/modules/es.string.trim.js\");\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _Popover__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Popover */ \"./src/components/Popover/index.js\");\n/* harmony import */ var _Avatar__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Avatar */ \"./src/components/Avatar/index.js\");\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'UserBubble',\n components: {\n Popover: _Popover__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n Avatar: _Avatar__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n },\n props: {\n /**\n * Override generated avatar, can be an url or an icon class\n */\n avatarImage: {\n type: String,\n default: undefined\n },\n\n /**\n * Provide the user id if this is a user\n */\n user: {\n type: String,\n default: undefined\n },\n\n /**\n * Displayed label\n */\n displayName: {\n type: String,\n required: true\n },\n\n /**\n * Whether or not to display the user-status\n */\n showUserStatus: {\n type: Boolean,\n default: false\n },\n\n /**\n * Define the whole bubble as a link\n */\n url: {\n type: String,\n default: undefined,\n validator: function validator(url) {\n try {\n url = new URL(url);\n return !!url;\n } catch (error) {\n return false;\n }\n }\n },\n\n /**\n * Default popover state. Requires the UserBubble\n * to have some content to render inside the popover\n */\n open: {\n type: Boolean,\n default: false\n },\n\n /**\n * Use the primary colour\n */\n primary: {\n type: Boolean,\n default: false\n },\n\n /**\n * This is the height of the component\n */\n size: {\n type: Number,\n default: 20\n },\n\n /**\n * This is the margin of the avatar (size - margin = avatar size)\n */\n margin: {\n type: Number,\n default: 2\n }\n },\n computed: {\n /**\n * If userbubble is empty, let's NOT\n * use the Popover component\n * @returns {string} 'Popover' or 'div'\n */\n isPopoverComponent: function isPopoverComponent() {\n return !this.popoverEmpty ? 'Popover' : 'div';\n },\n\n /**\n * Is the provided avatar url valid or not\n * @returns {boolean}\n */\n isAvatarUrl: function isAvatarUrl() {\n if (!this.avatarImage) {\n return false;\n }\n\n try {\n var url = new URL(this.avatarImage);\n return !!url;\n } catch (error) {\n return false;\n }\n },\n\n /**\n * Do we have a custom avatar or not\n * @returns {boolean}\n */\n isCustomAvatar: function isCustomAvatar() {\n return !!this.avatarImage;\n },\n isLinkComponent: function isLinkComponent() {\n if (this.url && this.url.trim() !== '') {\n return {\n is: 'a',\n href: this.url\n };\n }\n\n return {\n is: 'div'\n };\n },\n popoverEmpty: function popoverEmpty() {\n if ('default' in this.$slots) {\n return false;\n }\n\n return true;\n },\n styles: function styles() {\n return {\n content: {\n height: this.size + 'px',\n lineHeight: this.size + 'px',\n borderRadius: this.size / 2 + 'px'\n },\n avatar: {\n marginLeft: this.margin + 'px'\n }\n };\n }\n },\n methods: {\n onOpenChange: function onOpenChange(state) {\n this.$emit('update:open', state);\n },\n\n /**\n * Catch and forward click event to parent\n * @param {Event} event the click event\n */\n onClick: function onClick(event) {\n this.$emit('click', event);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./src/components/DatetimePicker/index.scss\":\n/*!***************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./src/components/DatetimePicker/index.scss ***!\n \\***************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */ }\\n\\n.icon {\\n font-style: normal;\\n font-weight: 400; }\\n .icon.arrow-left-double:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.arrow-left:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.arrow-right-double:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.arrow-right:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.breadcrumb:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.checkmark:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.close:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.confirm:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.info:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.menu:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.more:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.pause:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.play:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.triangle-s:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.user-status-away:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.user-status-dnd:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.user-status-invisible:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n .icon.user-status-online:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\"; }\\n\\n.mx-icon-left:before,\\n.mx-icon-right:before,\\n.mx-icon-double-left:before,\\n.mx-icon-double-right:before,\\n.mx-icon-double-left:after,\\n.mx-icon-double-right:after {\\n content: '';\\n position: relative;\\n top: -1px;\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n vertical-align: middle;\\n border-style: solid;\\n border-color: currentColor;\\n border-width: 2px 0 0 2px;\\n border-radius: 1px;\\n box-sizing: border-box;\\n transform-origin: center;\\n transform: rotate(-45deg) scale(0.7); }\\n\\n.mx-icon-double-left:after {\\n left: -4px; }\\n\\n.mx-icon-double-right:before {\\n left: 4px; }\\n\\n.mx-icon-right:before,\\n.mx-icon-double-right:before,\\n.mx-icon-double-right:after {\\n transform: rotate(135deg) scale(0.7); }\\n\\n.mx-btn {\\n box-sizing: border-box;\\n line-height: 1;\\n font-size: 14px;\\n font-weight: 500;\\n padding: 7px 15px;\\n margin: 0;\\n cursor: pointer;\\n background-color: transparent;\\n outline: none;\\n border: 1px solid rgba(0, 0, 0, 0.1);\\n border-radius: 4px;\\n color: #73879c;\\n white-space: nowrap; }\\n .mx-btn:hover {\\n border-color: #1284e7;\\n color: #1284e7; }\\n\\n.mx-btn-text {\\n border: 0;\\n padding: 0 4px;\\n text-align: left;\\n line-height: inherit; }\\n\\n.mx-scrollbar {\\n height: 100%; }\\n .mx-scrollbar:hover .mx-scrollbar-track {\\n opacity: 1; }\\n\\n.mx-scrollbar-wrap {\\n height: 100%;\\n overflow-x: hidden;\\n overflow-y: auto; }\\n\\n.mx-scrollbar-track {\\n position: absolute;\\n top: 2px;\\n right: 2px;\\n bottom: 2px;\\n width: 6px;\\n z-index: 1;\\n border-radius: 4px;\\n opacity: 0;\\n transition: opacity 0.24s ease-out; }\\n .mx-scrollbar-track .mx-scrollbar-thumb {\\n position: absolute;\\n width: 100%;\\n height: 0;\\n cursor: pointer;\\n border-radius: inherit;\\n background-color: rgba(144, 147, 153, 0.3);\\n transition: background-color 0.3s; }\\n\\n.mx-zoom-in-down-enter-active,\\n.mx-zoom-in-down-leave-active {\\n opacity: 1;\\n transform: scaleY(1);\\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);\\n transform-origin: center top; }\\n\\n.mx-zoom-in-down-enter,\\n.mx-zoom-in-down-leave-to {\\n opacity: 0;\\n transform: scaleY(0); }\\n\\n.mx-datepicker {\\n position: relative;\\n display: inline-block;\\n width: 210px; }\\n .mx-datepicker svg {\\n width: 1em;\\n height: 1em;\\n vertical-align: -0.15em;\\n fill: currentColor;\\n overflow: hidden; }\\n\\n.mx-datepicker-range {\\n width: 320px; }\\n\\n.mx-datepicker-inline {\\n width: auto; }\\n\\n.mx-input-wrapper {\\n position: relative; }\\n .mx-input-wrapper .mx-icon-clear {\\n display: none; }\\n .mx-input-wrapper:hover .mx-icon-clear {\\n display: block; }\\n .mx-input-wrapper:hover .mx-icon-clear + .mx-icon-calendar {\\n display: none; }\\n\\n.mx-input {\\n display: inline-block;\\n box-sizing: border-box;\\n width: 100%;\\n height: 34px;\\n padding: 6px 30px;\\n padding-left: 10px;\\n font-size: 14px;\\n line-height: 1.4;\\n color: #555;\\n background-color: #fff;\\n border: 1px solid #ccc;\\n border-radius: 4px;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }\\n .mx-input:hover, .mx-input:focus {\\n border-color: #409aff; }\\n .mx-input:disabled, .mx-input.disabled {\\n color: #ccc;\\n background-color: #f3f3f3;\\n border-color: #ccc;\\n cursor: not-allowed; }\\n .mx-input:focus {\\n outline: none; }\\n .mx-input::-ms-clear {\\n display: none; }\\n\\n.mx-icon-calendar,\\n.mx-icon-clear {\\n position: absolute;\\n top: 50%;\\n right: 8px;\\n transform: translateY(-50%);\\n font-size: 16px;\\n line-height: 1;\\n color: rgba(0, 0, 0, 0.5);\\n vertical-align: middle; }\\n\\n.mx-icon-clear {\\n cursor: pointer; }\\n .mx-icon-clear:hover {\\n color: rgba(0, 0, 0, 0.8); }\\n\\n.mx-datepicker-main {\\n font: 14px/1.5 'Helvetica Neue', Helvetica, Arial, 'Microsoft Yahei', sans-serif;\\n color: #73879c;\\n background-color: #fff;\\n border: 1px solid #e8e8e8; }\\n\\n.mx-datepicker-popup {\\n position: absolute;\\n margin-top: 1px;\\n margin-bottom: 1px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n z-index: 2001; }\\n\\n.mx-datepicker-sidebar {\\n float: left;\\n box-sizing: border-box;\\n width: 100px;\\n padding: 6px;\\n overflow: auto; }\\n\\n.mx-datepicker-sidebar + .mx-datepicker-content {\\n margin-left: 100px;\\n border-left: 1px solid #e8e8e8; }\\n\\n.mx-datepicker-body {\\n position: relative;\\n user-select: none; }\\n\\n.mx-btn-shortcut {\\n display: block;\\n padding: 0 6px;\\n line-height: 24px; }\\n\\n.mx-range-wrapper {\\n display: flex; }\\n @media (max-width: 750px) {\\n .mx-range-wrapper {\\n flex-direction: column; } }\\n\\n.mx-datepicker-header {\\n padding: 6px 8px;\\n border-bottom: 1px solid #e8e8e8; }\\n\\n.mx-datepicker-footer {\\n padding: 6px 8px;\\n text-align: right;\\n border-top: 1px solid #e8e8e8; }\\n\\n.mx-calendar {\\n box-sizing: border-box;\\n width: 248px;\\n padding: 6px 12px; }\\n .mx-calendar + .mx-calendar {\\n border-left: 1px solid #e8e8e8; }\\n\\n.mx-calendar-header, .mx-time-header {\\n box-sizing: border-box;\\n height: 34px;\\n line-height: 34px;\\n text-align: center;\\n overflow: hidden; }\\n\\n.mx-btn-icon-left,\\n.mx-btn-icon-double-left {\\n float: left; }\\n\\n.mx-btn-icon-right,\\n.mx-btn-icon-double-right {\\n float: right; }\\n\\n.mx-calendar-header-label {\\n font-size: 14px; }\\n\\n.mx-calendar-decade-separator {\\n margin: 0 2px; }\\n .mx-calendar-decade-separator:after {\\n content: '~'; }\\n\\n.mx-calendar-content {\\n position: relative;\\n height: 224px;\\n box-sizing: border-box; }\\n .mx-calendar-content .cell {\\n cursor: pointer; }\\n .mx-calendar-content .cell:hover {\\n color: #73879c;\\n background-color: #f3f9fe; }\\n .mx-calendar-content .cell.active {\\n color: #fff;\\n background-color: #1284e7; }\\n .mx-calendar-content .cell.in-range, .mx-calendar-content .cell.hover-in-range {\\n color: #73879c;\\n background-color: #dbedfb; }\\n .mx-calendar-content .cell.disabled {\\n cursor: not-allowed;\\n color: #ccc;\\n background-color: #f3f3f3; }\\n\\n.mx-calendar-week-mode .mx-date-row {\\n cursor: pointer; }\\n .mx-calendar-week-mode .mx-date-row:hover {\\n background-color: #f3f9fe; }\\n .mx-calendar-week-mode .mx-date-row.mx-active-week {\\n background-color: #dbedfb; }\\n .mx-calendar-week-mode .mx-date-row .cell:hover {\\n color: inherit;\\n background-color: transparent; }\\n .mx-calendar-week-mode .mx-date-row .cell.active {\\n color: inherit;\\n background-color: transparent; }\\n\\n.mx-week-number {\\n opacity: 0.5; }\\n\\n.mx-table {\\n table-layout: fixed;\\n border-collapse: separate;\\n border-spacing: 0;\\n width: 100%;\\n height: 100%;\\n box-sizing: border-box;\\n text-align: center;\\n vertical-align: middle; }\\n .mx-table th {\\n padding: 0;\\n font-weight: 500; }\\n .mx-table td {\\n padding: 0; }\\n\\n.mx-table-date td,\\n.mx-table-date th {\\n height: 32px;\\n font-size: 12px; }\\n\\n.mx-table-date .today {\\n color: #2a90e9; }\\n\\n.mx-table-date .cell.not-current-month {\\n color: #ccc;\\n background: none; }\\n\\n.mx-time {\\n flex: 1;\\n width: 224px;\\n background: #fff; }\\n .mx-time + .mx-time {\\n border-left: 1px solid #e8e8e8; }\\n\\n.mx-calendar-time {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%; }\\n\\n.mx-time-header {\\n border-bottom: 1px solid #e8e8e8; }\\n\\n.mx-time-content {\\n height: 224px;\\n box-sizing: border-box;\\n overflow: hidden; }\\n\\n.mx-time-columns {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n overflow: hidden; }\\n\\n.mx-time-column {\\n flex: 1;\\n position: relative;\\n border-left: 1px solid #e8e8e8;\\n text-align: center; }\\n .mx-time-column:first-child {\\n border-left: 0; }\\n .mx-time-column .mx-time-list {\\n margin: 0;\\n padding: 0;\\n list-style: none; }\\n .mx-time-column .mx-time-list::after {\\n content: '';\\n display: block;\\n height: 192px; }\\n .mx-time-column .mx-time-item {\\n cursor: pointer;\\n font-size: 12px;\\n height: 32px;\\n line-height: 32px; }\\n .mx-time-column .mx-time-item:hover {\\n color: #73879c;\\n background-color: #f3f9fe; }\\n .mx-time-column .mx-time-item.active {\\n color: #1284e7;\\n background-color: transparent;\\n font-weight: 700; }\\n .mx-time-column .mx-time-item.disabled {\\n cursor: not-allowed;\\n color: #ccc;\\n background-color: #f3f3f3; }\\n\\n.mx-time-option {\\n cursor: pointer;\\n padding: 8px 10px;\\n font-size: 14px;\\n line-height: 20px; }\\n .mx-time-option:hover {\\n color: #73879c;\\n background-color: #f3f9fe; }\\n .mx-time-option.active {\\n color: #1284e7;\\n background-color: transparent;\\n font-weight: 700; }\\n .mx-time-option.disabled {\\n cursor: not-allowed;\\n color: #ccc;\\n background-color: #f3f3f3; }\\n\\n.mx-datepicker[data-v-84c461f] {\\n user-select: none;\\n color: var(--color-main-text);\\n /* INPUT CONTAINER */ }\\n .mx-datepicker[data-v-84c461f] svg {\\n fill: var(--color-main-text); }\\n .mx-datepicker[data-v-84c461f] .mx-input-wrapper .mx-input {\\n width: 100%;\\n border: 1px solid var(--color-border);\\n background-color: var(--color-main-background);\\n background-clip: content-box; }\\n .mx-datepicker[data-v-84c461f] .mx-input-wrapper:disabled, .mx-datepicker[data-v-84c461f] .mx-input-wrapper.disabled {\\n cursor: not-allowed;\\n opacity: 0.7; }\\n .mx-datepicker[data-v-84c461f] .mx-input-wrapper .mx-icon-calendar,\\n .mx-datepicker[data-v-84c461f] .mx-input-wrapper .mx-icon-clear {\\n color: var(--color-text-lighter); }\\n\\n.mx-datepicker-main {\\n color: var(--color-main-text);\\n border: 1px solid var(--color-border);\\n background-color: var(--color-main-background);\\n font-family: var(--font-face) !important;\\n line-height: 1.5; }\\n .mx-datepicker-main svg {\\n fill: var(--color-main-text); }\\n .mx-datepicker-main.mx-datepicker-popup {\\n z-index: 2000;\\n box-shadow: none; }\\n .mx-datepicker-main.mx-datepicker-popup .mx-datepicker-sidebar + .mx-datepicker-content {\\n border-left: 1px solid var(--color-border); }\\n .mx-datepicker-main.show-week-number .mx-calendar {\\n width: 266px; }\\n .mx-datepicker-main .mx-datepicker-header {\\n border-bottom: 1px solid var(--color-border); }\\n .mx-datepicker-main .mx-datepicker-footer {\\n border-top: 1px solid var(--color-border); }\\n .mx-datepicker-main .mx-calendar {\\n width: 234px;\\n padding: 5px; }\\n .mx-datepicker-main .mx-calendar.mx-calendar-week-mode {\\n width: 266px; }\\n .mx-datepicker-main .mx-time + .mx-time,\\n .mx-datepicker-main .mx-calendar + .mx-calendar {\\n border-left: 1px solid var(--color-border); }\\n .mx-datepicker-main .mx-range-wrapper {\\n display: flex;\\n overflow: hidden; }\\n .mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.active {\\n border-radius: var(--border-radius) 0 0 var(--border-radius); }\\n .mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.in-range + .cell.active {\\n border-radius: 0 var(--border-radius) var(--border-radius) 0; }\\n .mx-datepicker-main .mx-table {\\n text-align: center; }\\n .mx-datepicker-main .mx-table thead > tr > th {\\n text-align: center;\\n opacity: 0.5;\\n color: var(--color-text-lighter); }\\n .mx-datepicker-main .mx-table tr:focus,\\n .mx-datepicker-main .mx-table tr:hover,\\n .mx-datepicker-main .mx-table tr:active {\\n background-color: transparent; }\\n .mx-datepicker-main .mx-table .cell {\\n transition: all 100ms ease-in-out;\\n text-align: center;\\n opacity: 0.7;\\n border-radius: 50px; }\\n .mx-datepicker-main .mx-table .cell > * {\\n cursor: pointer; }\\n .mx-datepicker-main .mx-table .cell.today {\\n opacity: 1;\\n color: var(--color-primary-element);\\n font-weight: bold; }\\n .mx-datepicker-main .mx-table .cell.today:hover, .mx-datepicker-main .mx-table .cell.today:focus {\\n color: var(--color-primary-text); }\\n .mx-datepicker-main .mx-table .cell.in-range, .mx-datepicker-main .mx-table .cell.disabled {\\n border-radius: 0;\\n font-weight: normal; }\\n .mx-datepicker-main .mx-table .cell.in-range {\\n opacity: 0.7; }\\n .mx-datepicker-main .mx-table .cell.not-current-month {\\n opacity: 0.5;\\n color: var(--color-text-lighter); }\\n .mx-datepicker-main .mx-table .cell.not-current-month:hover, .mx-datepicker-main .mx-table .cell.not-current-month:focus {\\n opacity: 1; }\\n .mx-datepicker-main .mx-table .cell:hover, .mx-datepicker-main .mx-table .cell:focus, .mx-datepicker-main .mx-table .cell.actived, .mx-datepicker-main .mx-table .cell.active, .mx-datepicker-main .mx-table .cell.in-range {\\n opacity: 1;\\n color: var(--color-primary-text);\\n background-color: var(--color-primary-element);\\n font-weight: bold; }\\n .mx-datepicker-main .mx-table .cell.disabled {\\n opacity: 0.5;\\n color: var(--color-text-lighter);\\n border-radius: 0;\\n background-color: var(--color-background-darker); }\\n .mx-datepicker-main .mx-table .mx-week-number {\\n text-align: center;\\n opacity: 0.7;\\n border-radius: 50px; }\\n .mx-datepicker-main .mx-table span.mx-week-number,\\n .mx-datepicker-main .mx-table li.mx-week-number,\\n .mx-datepicker-main .mx-table span.cell,\\n .mx-datepicker-main .mx-table li.cell {\\n min-height: 32px; }\\n .mx-datepicker-main .mx-table.mx-table-date thead,\\n .mx-datepicker-main .mx-table.mx-table-date tbody, .mx-datepicker-main .mx-table.mx-table-year, .mx-datepicker-main .mx-table.mx-table-month {\\n display: flex;\\n flex-direction: column;\\n justify-content: space-around; }\\n .mx-datepicker-main .mx-table.mx-table-date thead tr,\\n .mx-datepicker-main .mx-table.mx-table-date tbody tr, .mx-datepicker-main .mx-table.mx-table-year tr, .mx-datepicker-main .mx-table.mx-table-month tr {\\n display: inline-flex;\\n align-items: center;\\n flex: 1 1 32px;\\n justify-content: space-around;\\n min-height: 32px; }\\n .mx-datepicker-main .mx-table.mx-table-date thead th,\\n .mx-datepicker-main .mx-table.mx-table-date thead td,\\n .mx-datepicker-main .mx-table.mx-table-date tbody th,\\n .mx-datepicker-main .mx-table.mx-table-date tbody td, .mx-datepicker-main .mx-table.mx-table-year th,\\n .mx-datepicker-main .mx-table.mx-table-year td, .mx-datepicker-main .mx-table.mx-table-month th,\\n .mx-datepicker-main .mx-table.mx-table-month td {\\n display: flex;\\n align-items: center;\\n flex: 0 1 32%;\\n justify-content: center;\\n min-width: 32px;\\n height: 95%;\\n min-height: 32px;\\n transition: background 100ms ease-in-out; }\\n .mx-datepicker-main .mx-table.mx-table-year tr th,\\n .mx-datepicker-main .mx-table.mx-table-year tr td {\\n flex-basis: 48%; }\\n .mx-datepicker-main .mx-table.mx-table-date tr th,\\n .mx-datepicker-main .mx-table.mx-table-date tr td {\\n flex-basis: 32px; }\\n .mx-datepicker-main .mx-btn {\\n min-width: 32px;\\n height: 32px;\\n margin: 0 auto;\\n padding: 7px 10px;\\n cursor: pointer;\\n text-decoration: none;\\n opacity: 0.5;\\n color: var(--color-text-lighter);\\n border-radius: 32px;\\n line-height: 20px; }\\n .mx-datepicker-main .mx-btn:hover, .mx-datepicker-main .mx-btn:focus {\\n opacity: 1;\\n color: var(--color-main-text);\\n background-color: var(--color-background-darker); }\\n .mx-datepicker-main .mx-calendar-header, .mx-datepicker-main .mx-time-header {\\n display: inline-flex;\\n align-items: center;\\n justify-content: space-between;\\n width: 100%;\\n height: 44px;\\n margin-bottom: 4px; }\\n .mx-datepicker-main .mx-calendar-header button, .mx-datepicker-main .mx-time-header button {\\n min-width: 32px;\\n min-height: 32px;\\n margin: 0;\\n cursor: pointer;\\n text-align: center;\\n text-decoration: none;\\n opacity: 0.7;\\n color: var(--color-main-text);\\n border-radius: 32px;\\n line-height: 20px; }\\n .mx-datepicker-main .mx-calendar-header button:hover, .mx-datepicker-main .mx-time-header button:hover, .mx-datepicker-main .mx-calendar-header button:focus, .mx-datepicker-main .mx-time-header button:focus {\\n opacity: 1;\\n color: var(--color-main-text);\\n background-color: var(--color-background-darker); }\\n .mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left, .mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left, .mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left, .mx-datepicker-main .mx-time-header button.mx-btn-icon-left, .mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right, .mx-datepicker-main .mx-time-header button.mx-btn-icon-right, .mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right, .mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right {\\n align-items: center;\\n justify-content: center;\\n width: 32px;\\n padding: 0; }\\n .mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left:before, .mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left:before, .mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left:before, .mx-datepicker-main .mx-time-header button.mx-btn-icon-left:before, .mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right:before, .mx-datepicker-main .mx-time-header button.mx-btn-icon-right:before, .mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right:before, .mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right:before {\\n display: block;\\n font-size: 16px; }\\n .mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left > i, .mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left > i, .mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left > i, .mx-datepicker-main .mx-time-header button.mx-btn-icon-left > i, .mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right > i, .mx-datepicker-main .mx-time-header button.mx-btn-icon-right > i, .mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right > i, .mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right > i {\\n display: none; }\\n .mx-datepicker-main .mx-calendar-header .mx-calendar-header-label, .mx-datepicker-main .mx-time-header .mx-calendar-header-label {\\n display: flex; }\\n .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left:before, .mx-datepicker-main .mx-time-header .mx-btn-icon-double-left:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\"; }\\n .mx-datepicker-main .mx-calendar-header .mx-btn-icon-left:before, .mx-datepicker-main .mx-time-header .mx-btn-icon-left:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\"; }\\n .mx-datepicker-main .mx-calendar-header .mx-btn-icon-right:before, .mx-datepicker-main .mx-time-header .mx-btn-icon-right:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\"; }\\n .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right:before, .mx-datepicker-main .mx-time-header .mx-btn-icon-double-right:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\"; }\\n .mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right, .mx-datepicker-main .mx-time-header button.mx-btn-icon-right {\\n order: 2; }\\n .mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right, .mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right {\\n order: 3; }\\n .mx-datepicker-main .mx-calendar-week-mode .mx-date-row .mx-week-number {\\n font-weight: bold; }\\n .mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover, .mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week {\\n opacity: 1;\\n border-radius: 50px;\\n background-color: var(--color-background-dark); }\\n .mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td, .mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td {\\n background-color: transparent; }\\n .mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td, .mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:hover, .mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:focus, .mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td, .mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:hover, .mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:focus {\\n color: inherit; }\\n .mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week {\\n color: var(--color-primary-text);\\n background-color: var(--color-primary-element); }\\n .mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td {\\n opacity: 0.7;\\n font-weight: normal; }\\n .mx-datepicker-main .mx-time {\\n background-color: var(--color-main-background); }\\n .mx-datepicker-main .mx-time .mx-time-header {\\n justify-content: center;\\n border-bottom: 1px solid var(--color-border); }\\n .mx-datepicker-main .mx-time .mx-time-column {\\n border-left: 1px solid var(--color-border); }\\n .mx-datepicker-main .mx-time .mx-time-option.active, .mx-datepicker-main .mx-time .mx-time-option:hover,\\n .mx-datepicker-main .mx-time .mx-time-item.active,\\n .mx-datepicker-main .mx-time .mx-time-item:hover {\\n color: var(--color-primary-text);\\n background-color: var(--color-primary-element); }\\n .mx-datepicker-main .mx-time .mx-time-option.disabled,\\n .mx-datepicker-main .mx-time .mx-time-item.disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n color: var(--color-main-text);\\n background-color: var(--color-main-background); }\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/icon.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/btn.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/var.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/scrollbar.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/animation.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/index.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AEsEA;EACC,mCAAmC;EACnC,4CAAuC;EAAE,qBAAA;EACzC,mPAGmD;EAAE,eAAA,EAAgB;;AAMtE;EACE,kBAAkB;EAClB,gBAAgB,EAAA;EAFlB;IAMM,mCAAmC;IACnC,YA5Ge,EAAO;EAqG5B;IAMM,mCAAmC;IACnC,YA3GQ,EAAO;EAoGrB;IAMM,mCAAmC;IACnC,YA1GgB,EAAO;EAmG7B;IAMM,mCAAmC;IACnC,YAzGS,EAAO;EAkGtB;IAMM,mCAAmC;IACnC,YAxGQ,EAAO;EAiGrB;IAMM,mCAAmC;IACnC,YAvGO,EAAO;EAgGpB;IAMM,mCAAmC;IACnC,YAtGG,EAAO;EA+FhB;IAMM,mCAAmC;IACnC,YArGK,EAAO;EA8FlB;IAMM,mCAAmC;IACnC,YApGE,EAAO;EA6Ff;IAMM,mCAAmC;IACnC,YAnGE,EAAO;EA4Ff;IAMM,mCAAmC;IACnC,YAlGE,EAAO;EA2Ff;IAMM,mCAAmC;IACnC,YAjGG,EAAO;EA0FhB;IAMM,mCAAmC;IACnC,YAhGE,EAAO;EAyFf;IAMM,mCAAmC;IACnC,YA/FQ,EAAO;EAwFrB;IAMM,mCAAmC;IACnC,YA9Fc,EAAO;EAuF3B;IAMM,mCAAmC;IACnC,YA7Fa,EAAO;EAsF1B;IAMM,mCAAmC;IACnC,YA5FmB,EAAO;EAqFhC;IAMM,mCAAmC;IACnC,YA3FgB,EAAO;;ACjB/B;;;;;;EAME,WAAW;EACX,kBAAkB;EAClB,SAAS;EACT,qBAAqB;EACrB,WAAW;EACX,YAAY;EACZ,sBAAsB;EACtB,mBAAmB;EACnB,0BAA0B;EAC1B,yBAAyB;EACzB,kBAAkB;EAClB,sBAAsB;EACtB,wBAAwB;EACxB,oCAAoC,EAAA;;AAGtC;EACE,UAAU,EAAA;;AAGZ;EACE,SAAS,EAAA;;AAGX;;;EAGE,oCAAoC,EAAA;;ACjCtC;EACE,sBAAsB;EACtB,cAAc;EACd,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,SAAS;EACT,eAAe;EACf,6BAA6B;EAC7B,aAAa;EACb,oCAAoC;EACpC,kBAAkB;EAClB,cCZqB;EDarB,mBAAmB,EAAA;EAbrB;IAeI,qBCdmB;IDenB,cCfmB,EAAA;;ADmBvB;EACE,SAAS;EACT,cAAc;EACd,gBAAgB;EAChB,oBAAoB,EAAA;;AExBtB;EACE,YAAY,EAAA;EADd;IAIM,UAAU,EAAA;;AAKhB;EACE,YAAY;EACZ,kBAAkB;EAClB,gBAAgB,EAAA;;AAGlB;EACE,kBAAkB;EAClB,QAAQ;EACR,UAAU;EACV,WAAW;EACX,UAAU;EACV,UAAU;EACV,kBAAkB;EAClB,UAAU;EACV,kCAAkC,EAAA;EATpC;IAWI,kBAAkB;IAClB,WAAW;IACX,SAAS;IACT,eAAe;IACf,sBAAsB;IACtB,0CAA0C;IAC1C,iCAAiC,EAAA;;AChCrC;;EAEE,UAAU;EACV,oBAAoB;EACpB,sGAC6C;EAC7C,4BAA4B,EAAA;;AAG9B;;EAEE,UAAU;EACV,oBAAoB,EAAA;;ACRtB;EACE,kBAAkB;EAClB,qBAAqB;EACrB,YAAY,EAAA;EAHd;IAKI,UAAU;IACV,WAAW;IACX,uBAAuB;IACvB,kBAAkB;IAClB,gBAAgB,EAAA;;AAIpB;EACE,YAAY,EAAA;;AAGd;EACE,WAAW,EAAA;;AAGb;EACE,kBAAkB,EAAA;EADpB;IAGI,aAAa,EAAA;EAHjB;IAOM,cAAc,EAAA;EAPpB;IAUM,aAAa,EAAA;;AAKnB;EACE,qBAAqB;EACrB,sBAAsB;EACtB,WAAW;EACX,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;EACf,gBAAgB;EAChB,WHzCgB;EG0ChB,sBAAsB;EACtB,sBH5CuB;EG6CvB,kBHrBuB;EGsBvB,gDAAgD,EAAA;EAblD;IAiBI,qBHhD8B,EAAA;EG+BlC;IAqBI,WHlDiB;IGmDjB,yBHlD+B;IGmD/B,kBHxDqB;IGyDrB,mBAAmB,EAAA;EAxBvB;IA2BI,aAAa,EAAA;EA3BjB;IA8BI,aAAa,EAAA;;AAIjB;;EAEE,kBAAkB;EAClB,QAAQ;EACR,UAAU;EACV,2BAA2B;EAC3B,eAAe;EACf,cAAc;EACd,yBAAyB;EACzB,sBAAsB,EAAA;;AAGxB;EACE,eAAe,EAAA;EADjB;IAGI,yBAAyB,EAAA;;AAI7B;EACE,gFAAgF;EAChF,cH/FqB;EGgGrB,sBAAsB;EACtB,yBHnFoB,EAAA;;AGsFtB;EACE,kBAAkB;EAClB,eAAe;EACf,kBAAkB;EAClB,2CAA2C;EAC3C,aHpGkB,EAAA;;AGuGpB;EACE,WAAW;EACX,sBAAsB;EACtB,YH/EyB;EGgFzB,YAAY;EACZ,cAAc,EAAA;;AAGhB;EACE,kBHrFyB;EGsFzB,8BHxGoB,EAAA;;AG2GtB;EACE,kBAAkB;EAClB,iBAAiB,EAAA;;AAGnB;EACE,cAAc;EACd,cAAc;EACd,iBAAiB,EAAA;;AAGnB;EACE,aAAa,EAAA;EACb;IAFF;MAGI,sBAAsB,EAAA,EAEzB;;AAED;EACE,gBAAgB;EAChB,gCH/HoB,EAAA;;AGkItB;EACE,gBAAgB;EAChB,iBAAiB;EACjB,6BHrIoB,EAAA;;AGwItB;EACE,sBAAsB;EACtB,YAAY;EACZ,iBAAiB,EAAA;EAHnB;IAKI,8BH7IkB,EAAA;;AGiJtB;EACE,sBAAsB;EACtB,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;EAClB,gBAAgB,EAAA;;AAGlB;;EAEE,WAAW,EAAA;;AAEb;;EAEE,YAAY,EAAA;;AAGd;EACE,eAAe,EAAA;;AAGjB;EACE,aAAa,EAAA;EADf;IAGI,YAAY,EAAA;;AAIhB;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB,EAAA;EAHxB;IAKI,eAAe,EAAA;IALnB;MAOM,cHlMiB;MGmMjB,yBH/K6E,EAAA;IGuKnF;MAWM,WHtLsB;MGuLtB,yBHtMiB,EAAA;IG0LvB;MAgBM,cH3MiB;MG4MjB,yBHrLgF,EAAA;IGoKtF;MAoBM,mBAAmB;MACnB,WHrMe;MGsMf,yBHrM6B,EAAA;;AG0MnC;EAEI,eAAe,EAAA;EAFnB;IAIM,yBHtM6E,EAAA;EGkMnF;IAOM,yBHtMgF,EAAA;EG+LtF;IAWQ,cAAc;IACd,6BAA6B,EAAA;EAZrC;IAeQ,cAAc;IACd,6BAA6B,EAAA;;AAMrC;EACE,YAAY,EAAA;;AAGd;EACE,mBAAmB;EACnB,yBAAyB;EACzB,iBAAiB;EACjB,WAAW;EACX,YAAY;EACZ,sBAAsB;EACtB,kBAAkB;EAClB,sBAAsB,EAAA;EARxB;IAUI,UAAU;IACV,gBAAgB,EAAA;EAXpB;IAcI,UAAU,EAAA;;AAId;;EAGI,YAAY;EACZ,eAAe,EAAA;;AAJnB;EAQI,cHvQwC,EAAA;;AG+P5C;EAWI,WAAW;EACX,gBAAgB,EAAA;;AAIpB;EACE,OAAO;EACP,YAAY;EACZ,gBAAgB,EAAA;EAHlB;IAKI,8BHzQkB,EAAA;;AG4QtB;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY,EAAA;;AAEd;EAEE,gCHrRoB,EAAA;;AGwRtB;EACE,aAAa;EACb,sBAAsB;EACtB,gBAAgB,EAAA;;AAGlB;EACE,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB,EAAA;;AAGlB;EACE,OAAO;EACP,kBAAkB;EAClB,8BHxSoB;EGySpB,kBAAkB,EAAA;EAJpB;IAOI,cAAc,EAAA;EAPlB;IAUI,SAAS;IACT,UAAU;IACV,gBAAgB,EAAA;IAZpB;MAcM,WAAW;MACX,cAAc;MACd,aAAgB,EAAA;EAhBtB;IAoBI,eAAe;IACf,eAAe;IACf,YAAY;IACZ,iBAAiB,EAAA;IAvBrB;MAyBM,cH5UiB;MG6UjB,yBHhTyE,EAAA;IGsR/E;MA6BM,cH/UiB;MGgVjB,6BHvToC;MGwTpC,gBAAgB,EAAA;IA/BtB;MAkCM,mBAAmB;MACnB,WH3Ue;MG4Uf,yBH3U6B,EAAA;;AGgVnC;EACE,eAAe;EACf,iBAAiB;EACjB,eAAe;EACf,iBAAiB,EAAA;EAJnB;IAMI,cHlWmB;IGmWnB,yBHtU2E,EAAA;EG+T/E;IAUI,cHrWmB;IGsWnB,6BH7UsC;IG8UtC,gBAAgB,EAAA;EAZpB;IAeI,mBAAmB;IACnB,WHjWiB;IGkWjB,yBHjW+B,EAAA;;ALPnC;EACC,iBAAiB;EACjB,6BAA6B;EAM7B,oBAAA,EAAqB;EARtB;IAKE,4BAA4B,EAAA;EAL9B;IAYG,WAAW;IACX,qCAAqC;IACrC,8CAA8C;IAC9C,4BAA4B,EAAA;EAf/B;IAoBG,mBAAmB;IACnB,YCegB,EAAA;EDpCnB;;IA0BG,gCAAgC,EAAA;;AQ8DnC;ERvDC,6BAA6B;EAC7B,qCAAqC;EACrC,8CAA8C;EAC9C,wCAAwC;EACxC,gBAAgB,EAAA;EALjB;IAQE,4BAA4B,EAAA;EAR9B;IAYE,aAAa;IACb,gBAAgB,EAAA;IAblB;MAgBG,0CAA0C,EAAA;EAhB7C;IAqBE,YAAkC,EAAA;EArBpC;IAyBE,4CAA4C,EAAA;EAzB9C;IA6BE,yCAAyC,EAAA;EA7B3C;IAkCE,YAAkC;IAClC,YAAY,EAAA;IAnCd;MAqCG,YAAkC,EAAA;EArCrC;;IA2CE,0CAA0C,EAAA;EA3C5C;IA+CE,aAAa;IACb,gBAAgB,EAAA;IAhDlB;MAqDI,4DAA4D,EAAA;IArDhE;MAyDI,4DAA4D,EAAA;EAzDhE;IAgEE,kBAAkB,EAAA;IAhEpB;MAmEG,kBAAkB;MAClB,YCjEkB;MDkElB,gCAAgC,EAAA;IArEnC;;;MA4EG,6BAA6B,EAAA;IA5EhC;MAiFG,iCAAiC;MACjC,kBAAkB;MAClB,YC/EgB;MDgFhB,mBAAmB,EAAA;MApFtB;QAwFI,eAAe,EAAA;MAxFnB;QA6FI,UCxFY;QDyFZ,mCAAmC;QACnC,iBAAiB,EAAA;QA/FrB;UAkGK,gCAAgC,EAAA;MAlGrC;QAuGI,gBAAgB;QAChB,mBAAmB,EAAA;MAxGvB;QA2GI,YCvGe,EAAA;MDJnB;QA8GI,YC3GiB;QD4GjB,gCAAgC,EAAA;QA/GpC;UAkHK,UC7GW,EAAA;MDLhB;QA4HI,UCvHY;QDwHZ,gCAAgC;QAChC,8CAA8C;QAC9C,iBAAiB,EAAA;MA/HrB;QAkII,YC/HiB;QDgIjB,gCAAgC;QAChC,gBAAgB;QAChB,gDAAgD,EAAA;IArIpD;MA0IG,kBAAkB;MAClB,YCvIgB;MDwIhB,mBAAmB,EAAA;IA5ItB;;;;MAoJG,gBA1Le,EAAA;IAsClB;;MA4JG,aAAa;MACb,sBAAsB;MACtB,6BAA6B,EAAA;MA9JhC;;QAgKI,oBAAoB;QACpB,mBAAmB;QACnB,cAxMc;QAyMd,6BAA6B;QAC7B,gBA1Mc,EAAA;MAsClB;;;;;;QAyKI,aAAa;QACb,mBAAmB;QAEnB,aAAa;QACb,uBAAuB;QACvB,eApNc;QAsNd,WAAW;QACX,gBAvNc;QAwNd,wCAAwC,EAAA;IAlL5C;;MAyLI,eAAe,EAAA;IAzLnB;;MAgMI,gBAtOc,EAAA;EAsClB;IAuME,eA7OgB;IA8OhB,YA9OgB;IA+OhB,cAAc;IACd,iBAAiB;IACjB,eAAe;IACf,qBAAqB;IACrB,YC1MmB;ID2MnB,gCAAgC;IAChC,mBArPgB;IAsPhB,iBAAgC,EAAA;IAhNlC;MAoNG,UC/Ma;MDgNb,6BAA6B;MAC7B,gDAAgD,EAAA;EAtNnD;IA4NE,oBAAoB;IACpB,mBAAmB;IACnB,8BAA8B;IAC9B,WAAW;IACX,YC9OmB;ID+OnB,kBAAkB,EAAA;IAjOpB;MAoOG,eA1Qe;MA2Qf,gBA3Qe;MA4Qf,SAAS;MACT,eAAe;MACf,kBAAkB;MAClB,qBAAqB;MACrB,YCtOgB;MDuOhB,6BAA6B;MAC7B,mBAlRe;MAmRf,iBAAgC,EAAA;MA7OnC;QAkPI,UC7OY;QD8OZ,6BAA6B;QAC7B,gDAAgD,EAAA;MApPpD;QA4PI,mBAAmB;QACnB,uBAAuB;QACvB,WApSc;QAqSd,UAAU,EAAA;QA/Pd;UAmQK,cAAc;UACd,eC9QW,EAAA;QDUhB;UAyQK,aAAa,EAAA;IAzQlB;MA+QG,aAAa,EAAA;IA/QhB;ME2CI,mCAjFmB;MAkFnB,kBAAkB;MAClB,gBAAgB;MAChB,YAnFmB,EAAO;IFqC9B;ME2CI,mCAjFmB;MAkFnB,kBAAkB;MAClB,gBAAgB;MAChB,YAlFY,EAAO;IFoCvB;ME2CI,mCAjFmB;MAkFnB,kBAAkB;MAClB,gBAAgB;MAChB,YAhFa,EAAO;IFkCxB;ME2CI,mCAjFmB;MAkFnB,kBAAkB;MAClB,gBAAgB;MAChB,YAjFoB,EAAO;IFmC/B;MAySG,QAAQ,EAAA;IAzSX;MA6SG,QAAQ,EAAA;EA7SX;IAsTI,iBAAiB,EAAA;EAtTrB;IA0TI,UCrTY;IDsTZ,mBAAmB;IACnB,8CAA8C,EAAA;IA5TlD;MA8TK,6BAA6B,EAAA;MA9TlC;QAgUM,cAAc,EAAA;EAhUpB;IAqUI,gCAAgC;IAChC,8CAA8C,EAAA;IAtUlD;MAyUK,YCrUc;MDsUd,mBAAmB,EAAA;EA1UxB;IAkVE,8CAA8C,EAAA;IAlVhD;MAsVG,uBAAuB;MACvB,4CAA4C,EAAA;IAvV/C;MA2VG,0CAA0C,EAAA;IA3V7C;;;MAkWI,gCAAgC;MAChC,8CAA8C,EAAA;IAnWlD;;MAuWI,mBAAmB;MACnB,YCrWiB;MDsWjB,6BAA6B;MAC7B,8CAA8C,EAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n$cell_height: 32px;\\n\\n// import the icons font scss\\n@import '../../fonts/scss/iconfont-vue';\\n@import '~vue2-datepicker/scss/index.scss';\\n\\n.mx-datepicker[data-v-#{$scope_version}] {\\n\\tuser-select: none;\\n\\tcolor: var(--color-main-text);\\n\\n\\tsvg {\\n\\t\\tfill: var(--color-main-text);\\n\\t}\\n\\n\\t/* INPUT CONTAINER */\\n\\t.mx-input-wrapper {\\n\\t\\t// input\\n\\t\\t.mx-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tborder: 1px solid var(--color-border);\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tbackground-clip: content-box;\\n\\t\\t}\\n\\n\\t\\t&:disabled,\\n\\t\\t&.disabled {\\n\\t\\t\\tcursor: not-allowed;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\n\\t\\t.mx-icon-calendar,\\n\\t\\t.mx-icon-clear {\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\t}\\n}\\n\\n// Datepicker popup wrapper\\n.mx-datepicker-main {\\n\\tcolor: var(--color-main-text);\\n\\tborder: 1px solid var(--color-border);\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-family: var(--font-face) !important;\\n\\tline-height: 1.5;\\n\\n\\tsvg {\\n\\t\\tfill: var(--color-main-text);\\n\\t}\\n\\n\\t&.mx-datepicker-popup {\\n\\t\\tz-index: 2000;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\t.mx-datepicker-sidebar + .mx-datepicker-content {\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\t\\n\\t&.show-week-number .mx-calendar {\\n\\t\\twidth: $cell_height * 8 + 2 * 5px; // week number + 7 days + padding\\n\\t}\\n\\n\\t.mx-datepicker-header {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-datepicker-footer {\\n\\t\\tborder-top: 1px solid var(--color-border);\\n\\t}\\n\\n\\t// default popup styles\\n\\t.mx-calendar {\\n\\t\\twidth: $cell_height * 7 + 2 * 5px; // 7 days + padding\\n\\t\\tpadding: 5px;\\n\\t\\t&.mx-calendar-week-mode {\\n\\t\\t\\twidth: $cell_height * 8 + 2 * 5px; // week number + 7 days + padding\\n\\t\\t}\\n\\t}\\n\\n\\t.mx-time + .mx-time,\\n\\t.mx-calendar + .mx-calendar {\\n\\t\\tborder-left: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-range-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\n\\t\\t// first active cell, range style on day picker panel only\\n\\t\\t.mx-calendar-content .mx-table-date .cell {\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\tborder-radius: var(--border-radius) 0 0 var(--border-radius);\\n\\t\\t\\t}\\n\\t\\t\\t// second selected cell\\n\\t\\t\\t&.in-range + .cell.active {\\n\\t\\t\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Various panels\\n\\t.mx-table {\\n\\t\\ttext-align: center;\\n\\n\\t\\tthead > tr > th {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\n\\t\\t// Override table rule from server\\n\\t\\ttr:focus,\\n\\t\\ttr:hover,\\n\\t\\ttr:active {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\n\\t\\t// regular cell style\\n\\t\\t.cell {\\n\\t\\t\\ttransition: all 100ms ease-in-out;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: 50px;\\n\\n\\t\\t\\t// force pointer on all content\\n\\t\\t\\t> * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Selected and mouse event\\n\\t\\t\\t&.today {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.in-range,\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t}\\n\\t\\t\\t&.in-range {\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t\\t&.not-current-month {\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// hover-/focus after the other rules\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&.actived,\\n\\t\\t\\t&.active,\\n\\t\\t\\t&.in-range {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-week-number {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: 50px;\\n\\t\\t}\\n\\n\\t\\t// cell that are not in a table\\n\\t\\tspan.mx-week-number,\\n\\t\\tli.mx-week-number,\\n\\t\\tspan.cell,\\n\\t\\tli.cell {\\n\\t\\t\\tmin-height: $cell_height;\\n\\t\\t}\\n\\n\\t\\t// Standard grid/flex layout for day/month/year panels\\n\\t\\t&.mx-table-date thead,\\n\\t\\t&.mx-table-date tbody,\\n\\t\\t&.mx-table-year,\\n\\t\\t&.mx-table-month {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\tjustify-content: space-around;\\n\\t\\t\\ttr {\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tflex: 1 1 $cell_height;\\n\\t\\t\\t\\tjustify-content: space-around;\\n\\t\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\t}\\n\\t\\t\\t// Default cell style\\n\\t\\t\\tth,\\n\\t\\t\\ttd {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t// 3 rows with a little spacing\\n\\t\\t\\t\\tflex: 0 1 32%;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tmin-width: $cell_height;\\n\\t\\t\\t\\t// spacing between rows\\n\\t\\t\\t\\theight: 95%;\\n\\t\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\t\\ttransition: background 100ms ease-in-out;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&.mx-table-year {\\n\\t\\t\\ttr th,\\n\\t\\t\\ttr td {\\n\\t\\t\\t\\t// only two rows in year panel\\n\\t\\t\\t\\tflex-basis: 48%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&.mx-table-date {\\n\\t\\t\\ttr th,\\n\\t\\t\\ttr td {\\n\\t\\t\\t\\t// only two rows in year panel\\n\\t\\t\\t\\tflex-basis: $cell_height;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// default buttons: header...\\n\\t.mx-btn {\\n\\t\\tmin-width: $cell_height;\\n\\t\\theight: $cell_height;\\n\\t\\tmargin: 0 auto; // center also single element\\n\\t\\tpadding: 7px 10px;\\n\\t\\tcursor: pointer;\\n\\t\\ttext-decoration: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder-radius: $cell_height;\\n\\t\\tline-height: $cell_height - 12px; // padding minus 2px for better visual\\n\\t\\t// Mouse feedback\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t}\\n\\t}\\n\\n\\t// Header, arrows, years, months\\n\\t.mx-calendar-header {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: space-between;\\n\\t\\twidth: 100%;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin-bottom: 4px;\\n\\n\\t\\tbutton {\\n\\t\\t\\tmin-width: $cell_height;\\n\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\ttext-decoration: none;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: $cell_height;\\n\\t\\t\\tline-height: $cell_height - 12px; // padding minus 2px for better visual\\n\\n\\t\\t\\t// Mouse feedback\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Header arrows\\n\\t\\t\\t&.mx-btn-icon-double-left,\\n\\t\\t\\t&.mx-btn-icon-left,\\n\\t\\t\\t&.mx-btn-icon-right,\\n\\t\\t\\t&.mx-btn-icon-double-right {\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\twidth: $cell_height;\\n\\t\\t\\t\\tpadding: 0; // leave the centering to flex\\n\\n\\t\\t\\t\\t// font icons\\n\\t\\t\\t\\t&:before {\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\tfont-size: $icon-size;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Hide original icons\\n\\t\\t\\t\\t> i {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-calendar-header-label {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-double-left {\\n\\t\\t\\t@include iconfont('arrow-left-double');\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-left {\\n\\t\\t\\t@include iconfont('arrow-left');\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-right {\\n\\t\\t\\t@include iconfont('arrow-right');\\n\\t\\t\\t// arrows are all before month and year\\n\\t\\t\\t// send them to the end of the row\\n\\t\\t\\t//order: 3;\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-double-right {\\n\\t\\t\\t@include iconfont('arrow-right-double');\\n\\t\\t\\t// arrows are all before month and year\\n\\t\\t\\t// send them to the end of the row\\n\\t\\t\\t//order: 4;\\n\\t\\t}\\n\\n\\t\\tbutton.mx-btn-icon-right {\\n\\t\\t\\torder: 2;\\n\\t\\t}\\n\\n\\t\\tbutton.mx-btn-icon-double-right {\\n\\t\\t\\torder: 3;\\n\\t\\t}\\n\\t}\\n\\n\\t// Week panel\\n\\t.mx-calendar-week-mode {\\n\\t\\t// move focus on row and not on cell\\n\\t\\t.mx-date-row {\\n\\t\\t\\t.mx-week-number {\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&.mx-active-week {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tborder-radius: 50px;\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\ttd {\\n\\t\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\t\\t&, &:hover, &:focus {\\n\\t\\t\\t\\t\\t\\tcolor: inherit;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.mx-active-week {\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\t// Remove cell feedback on selected rows\\n\\t\\t\\t\\ttd {\\n\\t\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Time panel\\n\\t.mx-time {\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t.mx-time-header {\\n\\t\\t\\t// only one button, center it\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\t.mx-time-column {\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\t.mx-time-option,\\n\\t\\t.mx-time-item {\\n\\t\\t\\t&.active,\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\tcursor: not-allowed;\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-icon-left:before,\\n.#{$namespace}-icon-right:before,\\n.#{$namespace}-icon-double-left:before,\\n.#{$namespace}-icon-double-right:before,\\n.#{$namespace}-icon-double-left:after,\\n.#{$namespace}-icon-double-right:after {\\n content: '';\\n position: relative;\\n top: -1px;\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n vertical-align: middle;\\n border-style: solid;\\n border-color: currentColor;\\n border-width: 2px 0 0 2px;\\n border-radius: 1px;\\n box-sizing: border-box;\\n transform-origin: center;\\n transform: rotate(-45deg) scale(0.7);\\n}\\n\\n.#{$namespace}-icon-double-left:after {\\n left: -4px;\\n}\\n\\n.#{$namespace}-icon-double-right:before {\\n left: 4px;\\n}\\n\\n.#{$namespace}-icon-right:before,\\n.#{$namespace}-icon-double-right:before,\\n.#{$namespace}-icon-double-right:after {\\n transform: rotate(135deg) scale(0.7);\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-btn {\\n box-sizing: border-box;\\n line-height: 1;\\n font-size: 14px;\\n font-weight: 500;\\n padding: 7px 15px;\\n margin: 0;\\n cursor: pointer;\\n background-color: transparent;\\n outline: none;\\n border: 1px solid rgba(0, 0, 0, 0.1);\\n border-radius: 4px;\\n color: $default-color;\\n white-space: nowrap;\\n &:hover {\\n border-color: $primary-color;\\n color: $primary-color;\\n }\\n}\\n\\n.#{$namespace}-btn-text {\\n border: 0;\\n padding: 0 4px;\\n text-align: left;\\n line-height: inherit;\\n}\\n\",\"$namespace: 'mx' !default;\\n\\n$default-color: #73879c !default;\\n$primary-color: #1284e7 !default;\\n\\n$today-color: mix(#fff, $primary-color, 10%) !default;\\n\\n$popup-z-index: 2001 !default;\\n\\n$input-border-color: #ccc !default;\\n$input-color: #555 !default;\\n$input-hover-border-color: #409aff !default;\\n\\n$disabled-color: #ccc !default;\\n$disabled-background-color: #f3f3f3 !default;\\n\\n$border-color: #e8e8e8 !default;\\n\\n$calendar-active-color: #fff !default;\\n$calendar-active-background-color: $primary-color !default;\\n\\n$calendar-hover-color: $default-color !default;\\n$calendar-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\\n\\n$calendar-in-range-color: $default-color !default;\\n$calendar-in-range-background-color: mix(#fff, $calendar-active-background-color, 85%) !default;\\n\\n$time-active-color: $primary-color !default;\\n$time-active-background-color: transparent !default;\\n\\n$time-hover-color: $default-color !default;\\n$time-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\\n\\n$input-border-radius: 4px !default;\\n$sidebar-margin-left: 100px !default;\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-scrollbar {\\n height: 100%;\\n &:hover {\\n .#{$namespace}-scrollbar-track {\\n opacity: 1;\\n }\\n }\\n}\\n\\n.#{$namespace}-scrollbar-wrap {\\n height: 100%;\\n overflow-x: hidden;\\n overflow-y: auto;\\n}\\n\\n.#{$namespace}-scrollbar-track {\\n position: absolute;\\n top: 2px;\\n right: 2px;\\n bottom: 2px;\\n width: 6px;\\n z-index: 1;\\n border-radius: 4px;\\n opacity: 0;\\n transition: opacity 0.24s ease-out;\\n .#{$namespace}-scrollbar-thumb {\\n position: absolute;\\n width: 100%;\\n height: 0;\\n cursor: pointer;\\n border-radius: inherit;\\n background-color: rgba(144, 147, 153, 0.3);\\n transition: background-color 0.3s;\\n }\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-zoom-in-down-enter-active,\\n.#{$namespace}-zoom-in-down-leave-active {\\n opacity: 1;\\n transform: scaleY(1);\\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1),\\n opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);\\n transform-origin: center top;\\n}\\n\\n.#{$namespace}-zoom-in-down-enter,\\n.#{$namespace}-zoom-in-down-leave-to {\\n opacity: 0;\\n transform: scaleY(0);\\n}\\n\",\"@import './var.scss';\\n@import './icon.scss';\\n@import './btn.scss';\\n@import './scrollbar.scss';\\n@import './animation.scss';\\n\\n.#{$namespace}-datepicker {\\n position: relative;\\n display: inline-block;\\n width: 210px;\\n svg {\\n width: 1em;\\n height: 1em;\\n vertical-align: -0.15em;\\n fill: currentColor;\\n overflow: hidden;\\n }\\n}\\n\\n.#{$namespace}-datepicker-range {\\n width: 320px;\\n}\\n\\n.#{$namespace}-datepicker-inline {\\n width: auto;\\n}\\n\\n.#{$namespace}-input-wrapper {\\n position: relative;\\n .#{$namespace}-icon-clear {\\n display: none;\\n }\\n &:hover {\\n .#{$namespace}-icon-clear {\\n display: block;\\n }\\n .#{$namespace}-icon-clear + .#{$namespace}-icon-calendar {\\n display: none;\\n }\\n }\\n}\\n\\n.#{$namespace}-input {\\n display: inline-block;\\n box-sizing: border-box;\\n width: 100%;\\n height: 34px;\\n padding: 6px 30px;\\n padding-left: 10px;\\n font-size: 14px;\\n line-height: 1.4;\\n color: $input-color;\\n background-color: #fff;\\n border: 1px solid $input-border-color;\\n border-radius: $input-border-radius;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n\\n &:hover,\\n &:focus {\\n border-color: $input-hover-border-color;\\n }\\n &:disabled,\\n &.disabled {\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n border-color: $input-border-color;\\n cursor: not-allowed;\\n }\\n &:focus {\\n outline: none;\\n }\\n &::-ms-clear {\\n display: none;\\n }\\n}\\n\\n.#{$namespace}-icon-calendar,\\n.#{$namespace}-icon-clear {\\n position: absolute;\\n top: 50%;\\n right: 8px;\\n transform: translateY(-50%);\\n font-size: 16px;\\n line-height: 1;\\n color: rgba(0, 0, 0, 0.5);\\n vertical-align: middle;\\n}\\n\\n.#{$namespace}-icon-clear {\\n cursor: pointer;\\n &:hover {\\n color: rgba(0, 0, 0, 0.8);\\n }\\n}\\n\\n.#{$namespace}-datepicker-main {\\n font: 14px/1.5 'Helvetica Neue', Helvetica, Arial, 'Microsoft Yahei', sans-serif;\\n color: $default-color;\\n background-color: #fff;\\n border: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-popup {\\n position: absolute;\\n margin-top: 1px;\\n margin-bottom: 1px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n z-index: $popup-z-index;\\n}\\n\\n.#{$namespace}-datepicker-sidebar {\\n float: left;\\n box-sizing: border-box;\\n width: $sidebar-margin-left;\\n padding: 6px;\\n overflow: auto;\\n}\\n\\n.#{$namespace}-datepicker-sidebar + .#{$namespace}-datepicker-content {\\n margin-left: $sidebar-margin-left;\\n border-left: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-body {\\n position: relative;\\n user-select: none;\\n}\\n\\n.#{$namespace}-btn-shortcut {\\n display: block;\\n padding: 0 6px;\\n line-height: 24px;\\n}\\n\\n.#{$namespace}-range-wrapper {\\n display: flex;\\n @media (max-width: 750px) {\\n flex-direction: column;\\n }\\n}\\n\\n.#{$namespace}-datepicker-header {\\n padding: 6px 8px;\\n border-bottom: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-footer {\\n padding: 6px 8px;\\n text-align: right;\\n border-top: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-calendar {\\n box-sizing: border-box;\\n width: 248px;\\n padding: 6px 12px;\\n & + & {\\n border-left: 1px solid $border-color;\\n }\\n}\\n\\n.#{$namespace}-calendar-header {\\n box-sizing: border-box;\\n height: 34px;\\n line-height: 34px;\\n text-align: center;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-btn-icon-left,\\n.#{$namespace}-btn-icon-double-left {\\n float: left;\\n}\\n.#{$namespace}-btn-icon-right,\\n.#{$namespace}-btn-icon-double-right {\\n float: right;\\n}\\n\\n.#{$namespace}-calendar-header-label {\\n font-size: 14px;\\n}\\n\\n.#{$namespace}-calendar-decade-separator {\\n margin: 0 2px;\\n &:after {\\n content: '~';\\n }\\n}\\n\\n.#{$namespace}-calendar-content {\\n position: relative;\\n height: 224px;\\n box-sizing: border-box;\\n .cell {\\n cursor: pointer;\\n &:hover {\\n color: $calendar-hover-color;\\n background-color: $calendar-hover-background-color;\\n }\\n &.active {\\n color: $calendar-active-color;\\n background-color: $calendar-active-background-color;\\n }\\n &.in-range,\\n &.hover-in-range {\\n color: $calendar-in-range-color;\\n background-color: $calendar-in-range-background-color;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n }\\n}\\n\\n.#{$namespace}-calendar-week-mode {\\n .#{$namespace}-date-row {\\n cursor: pointer;\\n &:hover {\\n background-color: $calendar-hover-background-color;\\n }\\n &.#{$namespace}-active-week {\\n background-color: $calendar-in-range-background-color;\\n }\\n .cell {\\n &:hover {\\n color: inherit;\\n background-color: transparent;\\n }\\n &.active {\\n color: inherit;\\n background-color: transparent;\\n }\\n }\\n }\\n}\\n\\n.#{$namespace}-week-number {\\n opacity: 0.5;\\n}\\n\\n.#{$namespace}-table {\\n table-layout: fixed;\\n border-collapse: separate;\\n border-spacing: 0;\\n width: 100%;\\n height: 100%;\\n box-sizing: border-box;\\n text-align: center;\\n vertical-align: middle;\\n th {\\n padding: 0;\\n font-weight: 500;\\n }\\n td {\\n padding: 0;\\n }\\n}\\n\\n.#{$namespace}-table-date {\\n td,\\n th {\\n height: 32px;\\n font-size: 12px;\\n }\\n\\n .today {\\n color: $today-color;\\n }\\n .cell.not-current-month {\\n color: #ccc;\\n background: none; // cover the in-range style\\n }\\n}\\n\\n.#{$namespace}-time {\\n flex: 1;\\n width: 224px;\\n background: #fff;\\n & + & {\\n border-left: 1px solid $border-color;\\n }\\n}\\n.#{$namespace}-calendar-time {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n.#{$namespace}-time-header {\\n @extend .#{$namespace}-calendar-header;\\n border-bottom: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-time-content {\\n height: 224px;\\n box-sizing: border-box;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-time-columns {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-time-column {\\n flex: 1;\\n position: relative;\\n border-left: 1px solid $border-color;\\n text-align: center;\\n\\n &:first-child {\\n border-left: 0;\\n }\\n .#{$namespace}-time-list {\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n &::after {\\n content: '';\\n display: block;\\n height: 32 * 6px;\\n }\\n }\\n .#{$namespace}-time-item {\\n cursor: pointer;\\n font-size: 12px;\\n height: 32px;\\n line-height: 32px;\\n &:hover {\\n color: $time-hover-color;\\n background-color: $time-hover-background-color;\\n }\\n &.active {\\n color: $time-active-color;\\n background-color: $time-active-background-color;\\n font-weight: 700;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n }\\n}\\n\\n.#{$namespace}-time-option {\\n cursor: pointer;\\n padding: 8px 10px;\\n font-size: 14px;\\n line-height: 20px;\\n &:hover {\\n color: $time-hover-color;\\n background-color: $time-hover-background-color;\\n }\\n &.active {\\n color: $time-active-color;\\n background-color: $time-active-background-color;\\n font-weight: 700;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./src/components/Multiselect/index.scss\":\n/*!************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./src/components/Multiselect/index.scss ***!\n \\************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.multiselect[data-v-84c461f] {\\n margin: 0;\\n padding: 0 !important;\\n display: inline-block;\\n /* override this rule with your width styling if you need */\\n min-width: 160px;\\n position: relative;\\n background-color: var(--color-main-background);\\n /* Force single multiselect value to be shown when not active */\\n /* results wrapper */\\n /* ABOVE display */\\n /* Icon before option select */\\n /* No need for an icon here */\\n /* Mouse feedback */ }\\n .multiselect[data-v-84c461f]:not(.multiselect--active) .multiselect__single {\\n width: 100%;\\n z-index: 2 !important; }\\n .multiselect[data-v-84c461f].multiselect--active {\\n /* Opened: force display the input */\\n /* multiselect__limit hidden if active */ }\\n .multiselect[data-v-84c461f].multiselect--active input.multiselect__input {\\n opacity: 1 !important;\\n cursor: text !important;\\n border-radius: var(--border-radius) var(--border-radius) 0 0;\\n display: block !important; }\\n .multiselect[data-v-84c461f].multiselect--active .multiselect__limit {\\n display: none; }\\n .multiselect[data-v-84c461f].multiselect--active.multiselect--above input.multiselect__input {\\n border-radius: 0 0 var(--border-radius) var(--border-radius); }\\n .multiselect[data-v-84c461f].multiselect--disabled,\\n .multiselect[data-v-84c461f].multiselect--disabled .multiselect__single {\\n background-color: var(--color-background-dark) !important; }\\n .multiselect[data-v-84c461f].icon-loading-small::after {\\n left: 100%;\\n margin-left: -24px; }\\n .multiselect[data-v-84c461f] .multiselect__tags {\\n /* space between tags and limit tag */\\n display: flex;\\n flex-wrap: nowrap;\\n overflow: hidden;\\n border: 1px solid var(--color-border-dark);\\n cursor: pointer;\\n position: relative;\\n border-radius: 3px;\\n min-height: 34px;\\n height: 100%;\\n /* tag wrapper */\\n /* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n /* displayed text if tag limit reached */\\n /* default multiselect input for search and placeholder */ }\\n .multiselect[data-v-84c461f] .multiselect__tags .multiselect__tags-wrap {\\n align-items: center;\\n display: inline-flex;\\n overflow: hidden;\\n max-width: 100%;\\n position: relative;\\n padding: 3px 5px;\\n flex: 1 1;\\n flex-wrap: nowrap;\\n /* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n /* selected tag */ }\\n .multiselect[data-v-84c461f] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input {\\n opacity: 1 !important;\\n display: block !important;\\n /* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */ }\\n .multiselect[data-v-84c461f] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input + span:not(.multiselect__single) {\\n display: none; }\\n .multiselect[data-v-84c461f] .multiselect__tags .multiselect__tags-wrap .multiselect__tag {\\n line-height: 20px;\\n padding: 1px 5px;\\n background-image: none;\\n color: var(--color-main-text);\\n border: 1px solid var(--color-border-dark);\\n display: inline-flex;\\n align-items: center;\\n border-radius: 3px;\\n /* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n min-width: 0;\\n max-width: fit-content;\\n max-width: -moz-fit-content;\\n margin-bottom: 3px;\\n /* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n /* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */ }\\n .multiselect[data-v-84c461f] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child {\\n flex: 0 1 auto; }\\n .multiselect[data-v-84c461f] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child) {\\n margin-right: 5px; }\\n .multiselect[data-v-84c461f] .multiselect__tags .multiselect__tags-wrap .multiselect__tag > span {\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n overflow: hidden; }\\n .multiselect[data-v-84c461f] .multiselect__tags .multiselect__single,\\n .multiselect[data-v-84c461f] .multiselect__tags .multiselect__placeholder {\\n padding: 7px 6px;\\n flex: 0 0 100%;\\n z-index: 1;\\n /* above input */\\n background-color: var(--color-main-background);\\n line-height: 18px;\\n color: var(--color-text-lighter);\\n display: flex;\\n align-items: center; }\\n .multiselect[data-v-84c461f] .multiselect__tags .multiselect__single, .multiselect[data-v-84c461f] .multiselect__tags .multiselect__single *,\\n .multiselect[data-v-84c461f] .multiselect__tags .multiselect__placeholder,\\n .multiselect[data-v-84c461f] .multiselect__tags .multiselect__placeholder * {\\n cursor: pointer; }\\n .multiselect[data-v-84c461f] .multiselect__tags .multiselect__strong,\\n .multiselect[data-v-84c461f] .multiselect__tags .multiselect__limit {\\n line-height: 20px;\\n color: var(--color-text-lighter);\\n display: inline-flex;\\n align-items: center;\\n opacity: 0.7;\\n margin-right: 5px;\\n /* above the input */\\n z-index: 5; }\\n .multiselect[data-v-84c461f] .multiselect__tags input.multiselect__input {\\n width: 100% !important;\\n position: relative !important;\\n margin: 0;\\n opacity: 0;\\n /* let's leave it on top of tags but hide it */\\n height: 100% !important;\\n border: none;\\n /* override hide to force show the placeholder */\\n /* only when not active */\\n cursor: pointer;\\n /* override inline styling of the lib */\\n padding: 7px 6px !important;\\n display: none; }\\n .multiselect[data-v-84c461f] .multiselect__content-wrapper {\\n position: absolute;\\n width: 100%;\\n margin-top: -1px;\\n border: 1px solid var(--color-border-dark);\\n background: var(--color-main-background);\\n z-index: 50;\\n max-height: 250px;\\n overflow-y: auto;\\n border-radius: 0 0 var(--border-radius) var(--border-radius); }\\n .multiselect[data-v-84c461f] .multiselect__content-wrapper .multiselect__content {\\n width: 100%;\\n padding: 0; }\\n .multiselect[data-v-84c461f] .multiselect__content-wrapper li {\\n position: relative;\\n display: flex;\\n align-items: center;\\n background-color: transparent; }\\n .multiselect[data-v-84c461f] .multiselect__content-wrapper li,\\n .multiselect[data-v-84c461f] .multiselect__content-wrapper li span {\\n cursor: pointer; }\\n .multiselect[data-v-84c461f] .multiselect__content-wrapper li > span {\\n padding: 8px;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n margin: 0;\\n height: auto;\\n min-height: 1em;\\n -webkit-touch-callout: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n display: inline-flex;\\n align-items: center;\\n background-color: transparent;\\n color: var(--color-text-lighter);\\n width: 100%;\\n /* selected checkmark icon */ }\\n .multiselect[data-v-84c461f] .multiselect__content-wrapper li > span::before {\\n content: ' ';\\n background-repeat: no-repeat;\\n background-position: center;\\n min-width: 16px;\\n min-height: 16px;\\n display: block;\\n opacity: 0.5;\\n margin-right: 5px;\\n visibility: hidden; }\\n .multiselect[data-v-84c461f] .multiselect__content-wrapper li > span.multiselect__option--disabled {\\n background-color: var(--color-background-dark);\\n opacity: 0.5; }\\n .multiselect[data-v-84c461f] .multiselect__content-wrapper li > span.multiselect__option--highlight {\\n color: var(--color-main-text);\\n background-color: var(--color-background-dark); }\\n .multiselect[data-v-84c461f] .multiselect__content-wrapper li > span:not(.multiselect__option--disabled):hover::before {\\n opacity: .3; }\\n .multiselect[data-v-84c461f] .multiselect__content-wrapper li > span.multiselect__option--selected::before, .multiselect[data-v-84c461f] .multiselect__content-wrapper li > span:not(.multiselect__option--disabled):hover::before {\\n visibility: visible; }\\n .multiselect[data-v-84c461f].multiselect--above .multiselect__content-wrapper {\\n bottom: 100%;\\n margin-bottom: -1px; }\\n .multiselect[data-v-84c461f].multiselect--multiple .multiselect__tags {\\n flex-wrap: wrap; }\\n .multiselect[data-v-84c461f].multiselect--multiple .multiselect__content-wrapper li > span {\\n /* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */ }\\n .multiselect[data-v-84c461f].multiselect--multiple .multiselect__content-wrapper li > span::before {\\n background-image: var(--icon-checkmark-000); }\\n .multiselect[data-v-84c461f].multiselect--multiple .multiselect__content-wrapper li > span[data-select='create']::before {\\n background-image: var(--icon-add-000);\\n visibility: visible; }\\n .multiselect[data-v-84c461f].multiselect--single .multiselect__content-wrapper li > span::before {\\n display: none; }\\n .multiselect[data-v-84c461f]:hover .multiselect__placeholder,\\n .multiselect[data-v-84c461f] input.multiselect__input .multiselect__placeholder {\\n color: var(--color-main-text); }\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 160px;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t&.icon-loading-small::after {\\n\\t\\tleft: 100%;\\n\\t\\tmargin-left: -24px;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: 3px;\\n\\t\\tmin-height: 34px;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 3px $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 1px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin-bottom: 3px;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:last-child) {\\n\\t\\t\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tpadding: 7px 6px; // like the input\\n\\t\\t\\tflex: 0 0 100%;\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\tposition: relative !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* let's leave it on top of tags but hide it */\\n\\t\\t\\theight: 100% !important;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tpadding: 7px 6px !important;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-000);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-000);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./src/directives/Tooltip/index.scss\":\n/*!********************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./src/directives/Tooltip/index.scss ***!\n \\********************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n.vue-tooltip[data-v-84c461f] {\\n position: absolute;\\n z-index: 100000;\\n right: auto;\\n left: auto;\\n display: block;\\n margin: 0;\\n /* default to top */\\n margin-top: -3px;\\n padding: 10px 0;\\n text-align: left;\\n text-align: start;\\n opacity: 0;\\n line-height: 1.6;\\n line-break: auto;\\n filter: drop-shadow(0 1px 10px var(--color-box-shadow)); }\\n .vue-tooltip[data-v-84c461f][x-placement^='top'] .tooltip-arrow {\\n bottom: 0;\\n margin-top: 0;\\n margin-bottom: 0;\\n border-width: 10px 10px 0 10px;\\n border-right-color: transparent;\\n border-bottom-color: transparent;\\n border-left-color: transparent; }\\n .vue-tooltip[data-v-84c461f][x-placement^='bottom'] .tooltip-arrow {\\n top: 0;\\n margin-top: 0;\\n margin-bottom: 0;\\n border-width: 0 10px 10px 10px;\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent; }\\n .vue-tooltip[data-v-84c461f][x-placement^='right'] .tooltip-arrow {\\n right: 100%;\\n margin-right: 0;\\n margin-left: 0;\\n border-width: 10px 10px 10px 0;\\n border-top-color: transparent;\\n border-bottom-color: transparent;\\n border-left-color: transparent; }\\n .vue-tooltip[data-v-84c461f][x-placement^='left'] .tooltip-arrow {\\n left: 100%;\\n margin-right: 0;\\n margin-left: 0;\\n border-width: 10px 0 10px 10px;\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-bottom-color: transparent; }\\n .vue-tooltip[data-v-84c461f][aria-hidden='true'] {\\n visibility: hidden;\\n transition: opacity .15s, visibility .15s;\\n opacity: 0; }\\n .vue-tooltip[data-v-84c461f][aria-hidden='false'] {\\n visibility: visible;\\n transition: opacity .15s;\\n opacity: 1; }\\n .vue-tooltip[data-v-84c461f] .tooltip-inner {\\n max-width: 350px;\\n padding: 5px 8px;\\n text-align: center;\\n color: var(--color-main-text);\\n border-radius: var(--border-radius);\\n background-color: var(--color-main-background); }\\n .vue-tooltip[data-v-84c461f] .tooltip-arrow {\\n position: absolute;\\n z-index: 1;\\n width: 0;\\n height: 0;\\n margin: 0;\\n border-style: solid;\\n border-color: var(--color-main-background); }\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AApBF;;;;;;;;;;CA+BC;AAjBD;EACC,kBAAkB;EAClB,eAAe;EACf,WAAW;EACX,UAAU;EACV,cAAc;EACd,SAAS;EACT,mBAAA;EACA,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,UAAU;EACV,gBAAgB;EAEhB,gBAAgB;EAChB,uDAAuD,EAAA;EAhBxD;IAqBG,SAAS;IACT,aAAa;IACb,gBAAgB;IAChB,8BA1Be;IA2Bf,+BAA+B;IAC/B,gCAAgC;IAChC,8BAA8B,EAAA;EA3BjC;IAkCG,MAAM;IACN,aAAa;IACb,gBAAgB;IAChB,8BAvCe;IAwCf,6BAA6B;IAC7B,+BAA+B;IAC/B,8BAA8B,EAAA;EAxCjC;IA+CG,WAAW;IACX,eAAe;IACf,cAAc;IACd,8BAAsD;IACtD,6BAA6B;IAC7B,gCAAgC;IAChC,8BAA8B,EAAA;EArDjC;IA4DG,UAAU;IACV,eAAe;IACf,cAAc;IACd,8BAjEe;IAkEf,6BAA6B;IAC7B,+BAA+B;IAC/B,gCAAgC,EAAA;EAlEnC;IAwEE,kBAAkB;IAClB,yCAAyC;IACzC,UAAU,EAAA;EA1EZ;IA6EE,mBAAmB;IACnB,wBAAwB;IACxB,UAAU,EAAA;EA/EZ;IAoFE,gBAAgB;IAChB,gBAAgB;IAChB,kBAAkB;IAClB,6BAA6B;IAC7B,mCAAmC;IACnC,8CAA8C,EAAA;EAzFhD;IA8FE,kBAAkB;IAClB,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,mBAAmB;IACnB,0CAA0C,EAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\nli.active[data-v-2e929b4f] {\\n background-color: var(--color-background-hover);\\n}\\n.action--disabled[data-v-2e929b4f] {\\n pointer-events: none;\\n opacity: 0.5;\\n}\\n.action--disabled[data-v-2e929b4f]:hover, .action--disabled[data-v-2e929b4f]:focus {\\n cursor: default;\\n opacity: 0.5;\\n}\\n.action--disabled *[data-v-2e929b4f] {\\n opacity: 1 !important;\\n}\\n.action-button[data-v-2e929b4f] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n padding-right: 14px;\\n cursor: pointer;\\n white-space: nowrap;\\n opacity: 0.7;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n font-size: var(--default-font-size);\\n line-height: 44px;\\n}\\n.action-button[data-v-2e929b4f]:hover, .action-button[data-v-2e929b4f]:focus {\\n opacity: 1;\\n}\\n.action-button > span[data-v-2e929b4f] {\\n cursor: pointer;\\n white-space: nowrap;\\n}\\n.action-button__icon[data-v-2e929b4f] {\\n width: 44px;\\n height: 44px;\\n opacity: 1;\\n background-position: 14px center;\\n background-size: 16px;\\n background-repeat: no-repeat;\\n}\\n.action-button .material-design-icon[data-v-2e929b4f] {\\n width: 44px;\\n height: 44px;\\n opacity: 1;\\n}\\n.action-button .material-design-icon .material-design-icon__svg[data-v-2e929b4f] {\\n vertical-align: middle;\\n}\\n.action-button p[data-v-2e929b4f] {\\n max-width: 220px;\\n line-height: 1.6em;\\n padding: 10.8px 0;\\n cursor: pointer;\\n text-align: left;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.action-button__longtext[data-v-2e929b4f] {\\n cursor: pointer;\\n white-space: pre-wrap;\\n}\\n.action-button__title[data-v-2e929b4f] {\\n font-weight: bold;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n max-width: 100%;\\n display: inline-block;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./ActionButton.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../assets/action.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AErBF;;;;;;;;;;;;;;;;;;;;;EF2CE;AEnBD;EAEE,+CAA+C;AAAA;AAMjD;EACC,oBAAoB;EACpB,YDQmB;AAAA;ACVpB;IAIE,eAAe;IACf,YDKkB;AAAA;ACVpB;IAQE,qBAAqB;AAAA;AAOvB;EACC,aAAa;EACb,uBAAuB;EAEvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,mBDtB8C;ECwB9C,eAAe;EACf,mBAAmB;EAEnB,YDjBiB;ECkBjB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAEhB,mBAAmB;EACnB,mCAAmC;EACnC,iBD5CmB;AAAA;ACsBpB;IA0BE,UD7Ba;AAAA;ACGf;IA8BE,eAAe;IACf,mBAAmB;AAAA;AAGpB;IACC,WDzDkB;IC0DlB,YD1DkB;IC2DlB,UDxCa;ICyCb,gCAAwC;IACxC,qBDzDa;IC0Db,4BAA4B;AAAA;AAxC9B;IA4CE,WDlEkB;ICmElB,YDnEkB;ICoElB,UDjDa;AAAA;ACGf;MAiDG,sBAAsB;AAAA;AAjDzB;IAuDE,gBAAgB;IAChB,kBAAkB;IAGlB,iBAA8C;IAE9C,eAAe;IACf,gBAAgB;IAGhB,gBAAgB;IAChB,uBAAuB;AAAA;AAGxB;IACC,eAAe;IAEf,qBAAqB;AAAA;AAGtB;IACC,iBAAiB;IACjB,uBAAuB;IACvB,gBAAgB;IAChB,mBAAmB;IACnB,eAAe;IACf,qBAAqB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n@include action-item('button');\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=style&index=0&id=74cf1d6f&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=style&index=0&id=74cf1d6f&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\nli.active[data-v-74cf1d6f] {\\n background-color: var(--color-background-hover);\\n}\\n.action--disabled[data-v-74cf1d6f] {\\n pointer-events: none;\\n opacity: 0.5;\\n}\\n.action--disabled[data-v-74cf1d6f]:hover, .action--disabled[data-v-74cf1d6f]:focus {\\n cursor: default;\\n opacity: 0.5;\\n}\\n.action--disabled *[data-v-74cf1d6f] {\\n opacity: 1 !important;\\n}\\n.action-checkbox[data-v-74cf1d6f] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n cursor: pointer;\\n white-space: nowrap;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n line-height: 44px;\\n /* checkbox/radio fixes */\\n}\\n.action-checkbox__checkbox[data-v-74cf1d6f] {\\n position: absolute;\\n top: auto;\\n left: -10000px;\\n overflow: hidden;\\n width: 1px;\\n height: 1px;\\n}\\n.action-checkbox__checkbox:focus + .action-checkbox__label[data-v-74cf1d6f] {\\n opacity: 1;\\n}\\n.action-checkbox__label[data-v-74cf1d6f] {\\n display: flex;\\n align-items: center;\\n width: 100%;\\n padding: 0 !important;\\n padding-right: 14px !important;\\n opacity: 0.7;\\n}\\n.action-checkbox__label[data-v-74cf1d6f]::before {\\n margin: 0 14px 0 !important;\\n}\\n.action-checkbox--disabled[data-v-74cf1d6f],\\n .action-checkbox--disabled .action-checkbox__label[data-v-74cf1d6f] {\\n cursor: pointer;\\n}\\n.action-checkbox:not(.action-checkbox--disabled):hover .action-checkbox__label[data-v-74cf1d6f], .action-checkbox:not(.action-checkbox--disabled):focus .action-checkbox__label[data-v-74cf1d6f] {\\n opacity: 1;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./ActionCheckbox.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../assets/action.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AErBF;;;;;;;;;;;;;;;;;;;;;EF2CE;AEnBD;EAEE,+CAA+C;AAAA;AAMjD;EACC,oBAAoB;EACpB,YDQmB;AAAA;ACVpB;IAIE,eAAe;IACf,YDKkB;AAAA;ACVpB;IAQE,qBAAqB;AAAA;AFiHxB;EACC,aAAa;EACb,uBAAuB;EAEvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EAEV,eAAe;EACf,mBAAmB;EAEnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAEhB,mBAAmB;EACnB,iBCnJoB;EDqJpB,yBAAA;AAA0B;AAC1B;IACC,kBAAkB;IAClB,SAAS;IACT,cAAc;IAEd,gBAAgB;IAEhB,UAAU;IACV,WAAW;AAAA;AARX;MAUC,UC7Ia;AAAA;ADiJf;IACC,aAAa;IACb,mBAAmB;IAEnB,WAAW;IACX,qBAAqB;IACrB,8BAAsC;IAEtC,YC1JiB;AAAA;ADkJjB;MAYC,2BAA2B;AAAA;AAI5B;;IAGC,eAAe;AAAA;AAvDlB;IA8DG,UC3Ka;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n.action-checkbox {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t/* checkbox/radio fixes */\\n\\t&__checkbox {\\n\\t\\tposition: absolute;\\n\\t\\ttop: auto;\\n\\t\\tleft: -10000px;\\n\\n\\t\\toverflow: hidden;\\n\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\t&:focus + .action-checkbox__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center; // align checkbox to text\\n\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 !important;\\n\\t\\tpadding-right: $icon-margin !important;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\t// checkbox-width is 12px, border is 2\\n\\t\\t// (44 - 14 - 2) / 2 = 14\\n\\t\\t&::before {\\n\\t\\t\\tmargin: 0 14px 0 !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\t&,\\n\\t\\t.action-checkbox__label {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.action-checkbox--disabled):hover,\\n\\t&:not(.action-checkbox--disabled):focus {\\n\\t\\t.action-checkbox__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionInput/ActionInput.vue?vue&type=style&index=0&id=5e00ea39&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionInput/ActionInput.vue?vue&type=style&index=0&id=5e00ea39&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon[data-v-5e00ea39] {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n/* Default global values */\\nbutton[data-v-5e00ea39],\\ninput[data-v-5e00ea39]:not([type='range']),\\ntextarea[data-v-5e00ea39] {\\n margin: 0;\\n padding: 7px 6px;\\n cursor: text;\\n color: var(--color-text-lighter);\\n border: 1px solid var(--color-border-dark);\\n border-radius: var(--border-radius);\\n outline: none;\\n background-color: var(--color-main-background);\\n font-size: 13px;\\n /* Primary action button, use sparingly */\\n}\\nbutton[data-v-5e00ea39]:not(:disabled):not(.primary):hover, button[data-v-5e00ea39]:not(:disabled):not(.primary):focus, button:not(:disabled):not(.primary).active[data-v-5e00ea39],\\n input[data-v-5e00ea39]:not([type='range']):not(:disabled):not(.primary):hover,\\n input[data-v-5e00ea39]:not([type='range']):not(:disabled):not(.primary):focus,\\n input:not([type='range']):not(:disabled):not(.primary).active[data-v-5e00ea39],\\n textarea[data-v-5e00ea39]:not(:disabled):not(.primary):hover,\\n textarea[data-v-5e00ea39]:not(:disabled):not(.primary):focus,\\n textarea:not(:disabled):not(.primary).active[data-v-5e00ea39] {\\n /* active class used for multiselect */\\n border-color: var(--color-primary-element);\\n outline: none;\\n}\\nbutton[data-v-5e00ea39]:not(:disabled):not(.primary):active,\\n input[data-v-5e00ea39]:not([type='range']):not(:disabled):not(.primary):active,\\n textarea[data-v-5e00ea39]:not(:disabled):not(.primary):active {\\n color: var(--color-text-light);\\n outline: none;\\n background-color: var(--color-main-background);\\n}\\nbutton[data-v-5e00ea39]:disabled,\\n input[data-v-5e00ea39]:not([type='range']):disabled,\\n textarea[data-v-5e00ea39]:disabled {\\n cursor: default;\\n opacity: 0.5;\\n color: var(--color-text-maxcontrast);\\n background-color: var(--color-background-dark);\\n}\\nbutton[data-v-5e00ea39]:required,\\n input[data-v-5e00ea39]:not([type='range']):required,\\n textarea[data-v-5e00ea39]:required {\\n box-shadow: none;\\n}\\nbutton[data-v-5e00ea39]:invalid,\\n input[data-v-5e00ea39]:not([type='range']):invalid,\\n textarea[data-v-5e00ea39]:invalid {\\n border-color: var(--color-error);\\n box-shadow: none !important;\\n}\\nbutton.primary[data-v-5e00ea39],\\n input:not([type='range']).primary[data-v-5e00ea39],\\n textarea.primary[data-v-5e00ea39] {\\n cursor: pointer;\\n color: var(--color-primary-text);\\n border-color: var(--color-primary-element);\\n background-color: var(--color-primary-element);\\n}\\nbutton.primary[data-v-5e00ea39]:not(:disabled):hover, button.primary[data-v-5e00ea39]:not(:disabled):focus, button.primary[data-v-5e00ea39]:not(:disabled):active,\\n input:not([type='range']).primary[data-v-5e00ea39]:not(:disabled):hover,\\n input:not([type='range']).primary[data-v-5e00ea39]:not(:disabled):focus,\\n input:not([type='range']).primary[data-v-5e00ea39]:not(:disabled):active,\\n textarea.primary[data-v-5e00ea39]:not(:disabled):hover,\\n textarea.primary[data-v-5e00ea39]:not(:disabled):focus,\\n textarea.primary[data-v-5e00ea39]:not(:disabled):active {\\n border-color: var(--color-primary-element-light);\\n background-color: var(--color-primary-element-light);\\n}\\nbutton.primary[data-v-5e00ea39]:not(:disabled):active,\\n input:not([type='range']).primary[data-v-5e00ea39]:not(:disabled):active,\\n textarea.primary[data-v-5e00ea39]:not(:disabled):active {\\n color: var(--color-primary-text-dark);\\n}\\nbutton.primary[data-v-5e00ea39]:disabled,\\n input:not([type='range']).primary[data-v-5e00ea39]:disabled,\\n textarea.primary[data-v-5e00ea39]:disabled {\\n cursor: default;\\n color: var(--color-primary-text-dark);\\n background-color: var(--color-primary-element);\\n}\\n\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\nli.active[data-v-5e00ea39] {\\n background-color: var(--color-background-hover);\\n}\\n.action--disabled[data-v-5e00ea39] {\\n pointer-events: none;\\n opacity: 0.5;\\n}\\n.action--disabled[data-v-5e00ea39]:hover, .action--disabled[data-v-5e00ea39]:focus {\\n cursor: default;\\n opacity: 0.5;\\n}\\n.action--disabled *[data-v-5e00ea39] {\\n opacity: 1 !important;\\n}\\n.action-input[data-v-5e00ea39] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n cursor: pointer;\\n white-space: nowrap;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n /* Inputs inside popover supports text, submit & reset */\\n}\\n.action-input[data-v-5e00ea39]:not(.action-input--picker) {\\n opacity: 0.7;\\n}\\n.action-input[data-v-5e00ea39]:not(.action-input--picker):hover, .action-input[data-v-5e00ea39]:not(.action-input--picker):focus {\\n opacity: 1;\\n}\\n.action-input--picker .action-input__icon[data-v-5e00ea39] {\\n opacity: 0.7;\\n}\\n.action-input--picker:hover .action-input__icon[data-v-5e00ea39],\\n .action-input--picker:focus .action-input__icon[data-v-5e00ea39] {\\n opacity: 1;\\n}\\n.action-input > span[data-v-5e00ea39] {\\n cursor: pointer;\\n white-space: nowrap;\\n}\\n.action-input__icon[data-v-5e00ea39] {\\n min-width: 0;\\n /* Overwrite icons*/\\n min-height: 0;\\n /* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n padding: 22px 0 22px 44px;\\n background-position: 14px center;\\n background-size: 16px;\\n}\\n.action-input__form[data-v-5e00ea39] {\\n display: flex;\\n align-items: center;\\n flex: 1 1 auto;\\n margin: 4px 0;\\n padding-right: 14px;\\n}\\n.action-input__submit[data-v-5e00ea39] {\\n position: absolute;\\n left: -10000px;\\n top: auto;\\n width: 1px;\\n height: 1px;\\n overflow: hidden;\\n}\\n.action-input__label[data-v-5e00ea39] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 36px;\\n height: 36px;\\n box-sizing: border-box;\\n margin: 0 0 0 -8px;\\n padding: 7px 6px;\\n cursor: pointer;\\n opacity: 1;\\n color: var(--color-text-lighter);\\n border: 1px solid var(--color-border-dark);\\n border-left-color: transparent;\\n border-radius: 0 var(--border-radius) var(--border-radius) 0;\\n /* Avoid background under border */\\n background-color: var(--color-main-background);\\n background-clip: padding-box;\\n font-size: 16px;\\n}\\n.action-input__label[data-v-5e00ea39]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.action-input__input[data-v-5e00ea39] {\\n flex: 1 1 auto;\\n min-width: 132px;\\n min-height: 36px;\\n /* twice the element margin-y */\\n max-height: 36px;\\n /* twice the element margin-y */\\n margin: 0;\\n /* only show confirm borders if input is not focused */\\n}\\n.action-input__input[data-v-5e00ea39]:disabled {\\n cursor: default;\\n}\\n.action-input__input:not(:active):not(:hover):not(:focus):invalid + .action-input__label[data-v-5e00ea39] {\\n border-color: var(--color-error);\\n border-left-color: transparent;\\n}\\n.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled) + .action-input__label[data-v-5e00ea39]:active, .action-input__input:not(:active):not(:hover):not(:focus):not(:disabled) + .action-input__label[data-v-5e00ea39]:hover, .action-input__input:not(:active):not(:hover):not(:focus):not(:disabled) + .action-input__label[data-v-5e00ea39]:focus {\\n border-color: var(--color-primary-element);\\n border-radius: var(--border-radius);\\n}\\n.action-input__input:active:not(:disabled) + .action-input__label[data-v-5e00ea39], .action-input__input:hover:not(:disabled) + .action-input__label[data-v-5e00ea39], .action-input__input:focus:not(:disabled) + .action-input__label[data-v-5e00ea39] {\\n /* above previous input */\\n z-index: 2;\\n border-color: var(--color-primary-element);\\n border-left-color: transparent;\\n}\\n.action-input__picker[data-v-5e00ea39] .mx-input {\\n margin: 0;\\n}\\n.action-input__multi[data-v-5e00ea39] {\\n width: 100%;\\n}\\nli:last-child > .action-input[data-v-5e00ea39] {\\n margin-bottom: 10px;\\n}\\nli:first-child > .action-input[data-v-5e00ea39] {\\n margin-top: 10px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./ActionInput.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./../../assets/inputs.scss\",\"webpack://./../../assets/action.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AEsEA;EACC,mCAAmC;EACnC,4CAAuC;EAAE,qBAAA;EACzC,mPAGmD;EAAE,eAAA;AAAgB;AAMtE;EACE,kBAAkB;EAClB,gBAAgB;AAAA;AAFlB;IAMM,mCAAmC;IACnC,YA5Ge;AAAO;AAqG5B;IAMM,mCAAmC;IACnC,YA3GQ;AAAO;AAoGrB;IAMM,mCAAmC;IACnC,YA1GgB;AAAO;AAmG7B;IAMM,mCAAmC;IACnC,YAzGS;AAAO;AAkGtB;IAMM,mCAAmC;IACnC,YAxGQ;AAAO;AAiGrB;IAMM,mCAAmC;IACnC,YAvGO;AAAO;AAgGpB;IAMM,mCAAmC;IACnC,YAtGG;AAAO;AA+FhB;IAMM,mCAAmC;IACnC,YArGK;AAAO;AA8FlB;IAMM,mCAAmC;IACnC,YApGE;AAAO;AA6Ff;IAMM,mCAAmC;IACnC,YAnGE;AAAO;AA4Ff;IAMM,mCAAmC;IACnC,YAlGE;AAAO;AA2Ff;IAMM,mCAAmC;IACnC,YAjGG;AAAO;AA0FhB;IAMM,mCAAmC;IACnC,YAhGE;AAAO;AAyFf;IAMM,mCAAmC;IACnC,YA/FQ;AAAO;AAwFrB;IAMM,mCAAmC;IACnC,YA9Fc;AAAO;AAuF3B;IAMM,mCAAmC;IACnC,YA7Fa;AAAO;AAsF1B;IAMM,mCAAmC;IACnC,YA5FmB;AAAO;AAqFhC;IAMM,mCAAmC;IACnC,YA3FgB;AAAO;;ACnB/B;;;;;;;;;;;;;;;;;;;;EH2GE;AGrFF;;;;EH0FE;AGpFF,0BAAA;AACA;;;EAGC,SAAS;EACT,gBAAgB;EAEhB,YAAY;EAEZ,gCAAgC;EAChC,0CAA0C;EAC1C,mCAAmC;EACnC,aAAa;EACb,8CAA8C;EAE9C,eAAe;EAkCf,yCAAA;AAA0C;AAhD3C;;;;;;;IAoBG,sCAAA;IACA,0CAA0C;IAC1C,aAAa;AAAA;AAtBhB;;;IA0BG,8BAA8B;IAC9B,aAAa;IACb,8CAA8C;AAAA;AA5BjD;;;IAiCE,eAAe;IACf,YFrBmB;IEsBnB,oCAAoC;IACpC,8CAA8C;AAAA;AApChD;;;IAwCE,gBAAgB;AAAA;AAxClB;;;IA4CE,gCAAgC;IAChC,2BAA2B;AAAA;AA7C7B;;;IAkDE,eAAe;IACf,gCAAgC;IAChC,0CAA0C;IAC1C,8CAA8C;AAAA;AArDhD;;;;;;;MA2DI,gDAAgD;MAChD,oDAAoD;AAAA;AA5DxD;;;MA+DI,qCAAqC;AAAA;AA/DzC;;;MAoEG,eAAe;MACf,qCAAqC;MAErC,8CAA8C;AAAA;;ACpGjD;;;;;;;;;;;;;;;;;;;;;EJ+ME;AIvLD;EAEE,+CAA+C;AAAA;AAMjD;EACC,oBAAoB;EACpB,YHQmB;AAAA;AGVpB;IAIE,eAAe;IACf,YHKkB;AAAA;AGVpB;IAQE,qBAAqB;AAAA;AJiNxB;EACC,aAAa;EACb,uBAAuB;EAEvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EAEV,eAAe;EACf,mBAAmB;EAEnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAEhB,mBAAmB;EAoFnB,wDAAA;AAAyD;AAtG1D;IAsBE,YCpOiB;AAAA;AD8MnB;MAyBG,UCtOa;AAAA;AD2Od;IAEC,YC9OgB;AAAA;AD4OjB;;IAMC,UCjPa;AAAA;AD6MhB;IAyCE,eAAe;IACf,mBAAmB;AAAA;AAGpB;IACC,YAAY;IAAE,mBAAA;IACd,aAAa;IACb;+CA5C6C;IA8C7C,yBClRmB;IDoRnB,gCAA2C;IAC3C,qBCjRc;AAAA;ADqRf;IACC,aAAa;IACb,mBAAmB;IACnB,cAAc;IAEd,aAAuB;IACvB,mBCvR8C;AAAA;AD0R/C;IACC,kBAAkB;IAClB,cAAc;IACd,SAAS;IACT,UAAU;IACV,WAAW;IACX,gBAAgB;AAAA;AAGjB;IACC,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IAEvB,WAAO;IACP,YAAQ;IACR,sBAAsB;IACtB,kBAAkB;IAClB,gBAAgB;IAEhB,eAAe;IAEf,UCrSc;IDsSd,gCAAgC;IAChC,0CAA0C;IAC1C,8BAA8B;IAC9B,4DAA4D;IAC5D,kCAAA;IACA,8CAA8C;IAC9C,4BAA4B;IAE5B,eC7Tc;AAAA;ADuSd;MElPE,mCAjFmB;MAkFnB,kBAAkB;MAClB,gBAAgB;MAChB,YA5ES;AAAO;AFuVnB;IACC,cAAc;IAEd,gBAA8B;IAC9B,gBAAY;IAAwC,+BAAA;IACpD,gBAAY;IAAwC,+BAAA;IACpD,SAAS;IAOT,sDAAA;AAAuD;AAbvD;MAUC,eAAe;AAAA;AAVhB;MAiBG,gCAAgC;MAChC,8BAA8B;AAAA;AAlBjC;MAyBG,0CAA0C;MAC1C,mCAAmC;AAAA;AA1BtC;MAkCE,yBAAA;MACA,UAAU;MAEV,0CAA0C;MAC1C,8BAA8B;AAAA;AAKhC;IAEC,SAAS;AAAA;AAIX;IACC,WAAW;AAAA;AAOb;EACC,mBAA2C;AAAA;AAI5C;EACC,gBAAwC;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n@import '../../assets/inputs';\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n$input-margin: 4px;\\n\\n.action-input {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\n\\t// do not change the opacity of the datepicker\\n\\t&:not(.action-input--picker) {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t// only change for the icon then\\n\\t&--picker {\\n\\t\\t.action-input__icon {\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\t\\t&:hover .action-input__icon,\\n\\t\\t&:focus .action-input__icon {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t& > span {\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\tmin-height: 0;\\n\\t\\t/* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\n\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\tbackground-size: $icon-size;\\n\\t}\\n\\n\\t// Forms & text inputs\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmargin: $input-margin 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute;\\n\\t\\tleft: -10000px;\\n\\t\\ttop: auto;\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\n\\t\\twidth: #{$clickable-area - $input-margin * 2};\\n\\t\\theight: #{$clickable-area - $input-margin * 2};\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0 0 0 -8px;\\n\\t\\tpadding: 7px 6px;\\n\\n\\t\\tcursor: pointer;\\n\\n\\t\\topacity: $opacity_full;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tborder-left-color: transparent;\\n\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t/* Avoid background under border */\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-clip: padding-box;\\n\\n\\t\\tfont-size: $icon-size;\\n\\n\\t\\t@include iconfont('confirm');\\n\\t}\\n\\n\\t/* Inputs inside popover supports text, submit & reset */\\n\\t&__input {\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmin-width: $clickable-area * 3;\\n\\t\\tmin-height: #{$clickable-area - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmax-height: #{$clickable-area - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmargin: 0;\\n\\n\\t\\t// if disabled, change cursor\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t/* only show confirm borders if input is not focused */\\n\\t\\t&:not(:active):not(:hover):not(:focus) {\\n\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t& + .action-input__label {\\n\\t\\t\\t\\t\\tborder-color: var(--color-error);\\n\\t\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(:disabled) + .action-input__label {\\n\\t\\t\\t\\t&:active,\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\t&:not(:disabled) + .action-input__label {\\n\\t\\t\\t\\t/* above previous input */\\n\\t\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__picker::v-deep { // stylelint-disable-line\\n\\t\\t.mx-input {\\n\\t\\t\\tmargin: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__multi {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n// if a form is the last of the list\\n// add the same bottomMargin as the right padding\\n// for visual balance\\nli:last-child > .action-input {\\n\\tmargin-bottom: $icon-margin - $input-margin;\\n}\\n\\n// same for first item\\nli:first-child > .action-input {\\n\\tmargin-top: $icon-margin - $input-margin;\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n\\n/* Default global values */\\nbutton,\\ninput:not([type='range']),\\ntextarea {\\n\\tmargin: 0;\\n\\tpadding: 7px 6px;\\n\\n\\tcursor: text;\\n\\n\\tcolor: var(--color-text-lighter);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\tfont-size: 13px;\\n\\n\\t&:not(:disabled):not(.primary) {\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&.active {\\n\\t\\t\\t/* active class used for multiselect */\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\toutline: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&:required {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&:invalid {\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t/* Primary action button, use sparingly */\\n\\t&.primary {\\n\\t\\tcursor: pointer;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\n\\t\\t&:not(:disabled) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t}\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t// opacity is already defined to .5 if disabled\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionLink/ActionLink.vue?vue&type=style&index=0&id=7b85b80f&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionLink/ActionLink.vue?vue&type=style&index=0&id=7b85b80f&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\nli.active[data-v-7b85b80f] {\\n background-color: var(--color-background-hover);\\n}\\n.action-link[data-v-7b85b80f] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n padding-right: 14px;\\n cursor: pointer;\\n white-space: nowrap;\\n opacity: 0.7;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n font-size: var(--default-font-size);\\n line-height: 44px;\\n}\\n.action-link[data-v-7b85b80f]:hover, .action-link[data-v-7b85b80f]:focus {\\n opacity: 1;\\n}\\n.action-link > span[data-v-7b85b80f] {\\n cursor: pointer;\\n white-space: nowrap;\\n}\\n.action-link__icon[data-v-7b85b80f] {\\n width: 44px;\\n height: 44px;\\n opacity: 1;\\n background-position: 14px center;\\n background-size: 16px;\\n background-repeat: no-repeat;\\n}\\n.action-link .material-design-icon[data-v-7b85b80f] {\\n width: 44px;\\n height: 44px;\\n opacity: 1;\\n}\\n.action-link .material-design-icon .material-design-icon__svg[data-v-7b85b80f] {\\n vertical-align: middle;\\n}\\n.action-link p[data-v-7b85b80f] {\\n max-width: 220px;\\n line-height: 1.6em;\\n padding: 10.8px 0;\\n cursor: pointer;\\n text-align: left;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.action-link__longtext[data-v-7b85b80f] {\\n cursor: pointer;\\n white-space: pre-wrap;\\n}\\n.action-link__title[data-v-7b85b80f] {\\n font-weight: bold;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n max-width: 100%;\\n display: inline-block;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./ActionLink.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../assets/action.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AErBF;;;;;;;;;;;;;;;;;;;;;EF2CE;AEnBD;EAEE,+CAA+C;AAAA;AAqBjD;EACC,aAAa;EACb,uBAAuB;EAEvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,mBDtB8C;ECwB9C,eAAe;EACf,mBAAmB;EAEnB,YDjBiB;ECkBjB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAEhB,mBAAmB;EACnB,mCAAmC;EACnC,iBD5CmB;AAAA;ACsBpB;IA0BE,UD7Ba;AAAA;ACGf;IA8BE,eAAe;IACf,mBAAmB;AAAA;AAGpB;IACC,WDzDkB;IC0DlB,YD1DkB;IC2DlB,UDxCa;ICyCb,gCAAwC;IACxC,qBDzDa;IC0Db,4BAA4B;AAAA;AAxC9B;IA4CE,WDlEkB;ICmElB,YDnEkB;ICoElB,UDjDa;AAAA;ACGf;MAiDG,sBAAsB;AAAA;AAjDzB;IAuDE,gBAAgB;IAChB,kBAAkB;IAGlB,iBAA8C;IAE9C,eAAe;IACf,gBAAgB;IAGhB,gBAAgB;IAChB,uBAAuB;AAAA;AAGxB;IACC,eAAe;IAEf,qBAAqB;AAAA;AAGtB;IACC,iBAAiB;IACjB,uBAAuB;IACvB,gBAAgB;IAChB,mBAAmB;IACnB,eAAe;IACf,qBAAqB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action-item('link');\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRadio/ActionRadio.vue?vue&type=style&index=0&id=031b3fca&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionRadio/ActionRadio.vue?vue&type=style&index=0&id=031b3fca&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\nli.active[data-v-031b3fca] {\\n background-color: var(--color-background-hover);\\n}\\n.action--disabled[data-v-031b3fca] {\\n pointer-events: none;\\n opacity: 0.5;\\n}\\n.action--disabled[data-v-031b3fca]:hover, .action--disabled[data-v-031b3fca]:focus {\\n cursor: default;\\n opacity: 0.5;\\n}\\n.action--disabled *[data-v-031b3fca] {\\n opacity: 1 !important;\\n}\\n.action-radio[data-v-031b3fca] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n cursor: pointer;\\n white-space: nowrap;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n line-height: 44px;\\n /* checkbox/radio fixes */\\n}\\n.action-radio__radio[data-v-031b3fca] {\\n position: absolute;\\n top: auto;\\n left: -10000px;\\n overflow: hidden;\\n width: 1px;\\n height: 1px;\\n}\\n.action-radio__radio:focus + .action-radio__label[data-v-031b3fca] {\\n opacity: 1;\\n}\\n.action-radio__label[data-v-031b3fca] {\\n display: flex;\\n align-items: center;\\n width: 100%;\\n padding: 0 !important;\\n padding-right: 14px !important;\\n opacity: 0.7;\\n}\\n.action-radio__label[data-v-031b3fca]::before {\\n margin: 0 14px 0 !important;\\n}\\n.action-radio--disabled[data-v-031b3fca],\\n .action-radio--disabled .action-radio__label[data-v-031b3fca] {\\n cursor: pointer;\\n}\\n.action-radio:not(.action-radio--disabled):hover .action-radio__label[data-v-031b3fca], .action-radio:not(.action-radio--disabled):focus .action-radio__label[data-v-031b3fca] {\\n opacity: 1;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./ActionRadio.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../assets/action.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AErBF;;;;;;;;;;;;;;;;;;;;;EF2CE;AEnBD;EAEE,+CAA+C;AAAA;AAMjD;EACC,oBAAoB;EACpB,YDQmB;AAAA;ACVpB;IAIE,eAAe;IACf,YDKkB;AAAA;ACVpB;IAQE,qBAAqB;AAAA;AFgHxB;EACC,aAAa;EACb,uBAAuB;EAEvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EAEV,eAAe;EACf,mBAAmB;EAEnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAEhB,mBAAmB;EACnB,iBClJoB;EDoJpB,yBAAA;AAA0B;AAC1B;IACC,kBAAkB;IAClB,SAAS;IACT,cAAc;IAEd,gBAAgB;IAEhB,UAAU;IACV,WAAW;AAAA;AARX;MAUC,UC5Ia;AAAA;ADgJf;IACC,aAAa;IACb,mBAAmB;IAEnB,WAAW;IACX,qBAAqB;IACrB,8BAAsC;IAEtC,YCzJiB;AAAA;ADiJjB;MAYC,2BAA2B;AAAA;AAI5B;;IAGC,eAAe;AAAA;AAvDlB;IA8DG,UC1Ka;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n.action-radio {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t/* checkbox/radio fixes */\\n\\t&__radio {\\n\\t\\tposition: absolute;\\n\\t\\ttop: auto;\\n\\t\\tleft: -10000px;\\n\\n\\t\\toverflow: hidden;\\n\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\t&:focus + .action-radio__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center; // align radio to text\\n\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 !important;\\n\\t\\tpadding-right: $icon-margin !important;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\t// radio-width is 12px, border is 2\\n\\t\\t// (44 - 14 - 2) / 2 = 14\\n\\t\\t&::before {\\n\\t\\t\\tmargin: 0 14px 0 !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\t&,\\n\\t\\t.action-radio__label {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.action-radio--disabled):hover,\\n\\t&:not(.action-radio--disabled):focus {\\n\\t\\t.action-radio__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRouter/ActionRouter.vue?vue&type=style&index=0&id=3a6feea2&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionRouter/ActionRouter.vue?vue&type=style&index=0&id=3a6feea2&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\nli.active[data-v-3a6feea2] {\\n background-color: var(--color-background-hover);\\n}\\n.action-router[data-v-3a6feea2] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n padding-right: 14px;\\n cursor: pointer;\\n white-space: nowrap;\\n opacity: 0.7;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n font-size: var(--default-font-size);\\n line-height: 44px;\\n}\\n.action-router[data-v-3a6feea2]:hover, .action-router[data-v-3a6feea2]:focus {\\n opacity: 1;\\n}\\n.action-router > span[data-v-3a6feea2] {\\n cursor: pointer;\\n white-space: nowrap;\\n}\\n.action-router__icon[data-v-3a6feea2] {\\n width: 44px;\\n height: 44px;\\n opacity: 1;\\n background-position: 14px center;\\n background-size: 16px;\\n background-repeat: no-repeat;\\n}\\n.action-router .material-design-icon[data-v-3a6feea2] {\\n width: 44px;\\n height: 44px;\\n opacity: 1;\\n}\\n.action-router .material-design-icon .material-design-icon__svg[data-v-3a6feea2] {\\n vertical-align: middle;\\n}\\n.action-router p[data-v-3a6feea2] {\\n max-width: 220px;\\n line-height: 1.6em;\\n padding: 10.8px 0;\\n cursor: pointer;\\n text-align: left;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.action-router__longtext[data-v-3a6feea2] {\\n cursor: pointer;\\n white-space: pre-wrap;\\n}\\n.action-router__title[data-v-3a6feea2] {\\n font-weight: bold;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n max-width: 100%;\\n display: inline-block;\\n}\\n.action--disabled[data-v-3a6feea2] {\\n pointer-events: none;\\n opacity: 0.5;\\n}\\n.action--disabled[data-v-3a6feea2]:hover, .action--disabled[data-v-3a6feea2]:focus {\\n cursor: default;\\n opacity: 0.5;\\n}\\n.action--disabled *[data-v-3a6feea2] {\\n opacity: 1 !important;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./ActionRouter.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../assets/action.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AErBF;;;;;;;;;;;;;;;;;;;;;EF2CE;AEnBD;EAEE,+CAA+C;AAAA;AAqBjD;EACC,aAAa;EACb,uBAAuB;EAEvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,mBDtB8C;ECwB9C,eAAe;EACf,mBAAmB;EAEnB,YDjBiB;ECkBjB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAEhB,mBAAmB;EACnB,mCAAmC;EACnC,iBD5CmB;AAAA;ACsBpB;IA0BE,UD7Ba;AAAA;ACGf;IA8BE,eAAe;IACf,mBAAmB;AAAA;AAGpB;IACC,WDzDkB;IC0DlB,YD1DkB;IC2DlB,UDxCa;ICyCb,gCAAwC;IACxC,qBDzDa;IC0Db,4BAA4B;AAAA;AAxC9B;IA4CE,WDlEkB;ICmElB,YDnEkB;ICoElB,UDjDa;AAAA;ACGf;MAiDG,sBAAsB;AAAA;AAjDzB;IAuDE,gBAAgB;IAChB,kBAAkB;IAGlB,iBAA8C;IAE9C,eAAe;IACf,gBAAgB;IAGhB,gBAAgB;IAChB,uBAAuB;AAAA;AAGxB;IACC,eAAe;IAEf,qBAAqB;AAAA;AAGtB;IACC,iBAAiB;IACjB,uBAAuB;IACvB,gBAAgB;IAChB,mBAAmB;IACnB,eAAe;IACf,qBAAqB;AAAA;AAhGvB;EACC,oBAAoB;EACpB,YDQmB;AAAA;ACVpB;IAIE,eAAe;IACf,YDKkB;AAAA;ACVpB;IAQE,qBAAqB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action-item('router');\\n@include action--disabled;\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionSeparator/ActionSeparator.vue?vue&type=style&index=0&id=64ac3a22&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionSeparator/ActionSeparator.vue?vue&type=style&index=0&id=64ac3a22&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.action-separator[data-v-64ac3a22] {\\n height: 0;\\n margin: 5px 10px 5px 15px;\\n border-bottom: 1px solid var(--color-border-dark);\\n cursor: default;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./ActionSeparator.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAgBF;EACC,SAAS;EACT,yBAAyB;EACzB,iDAAiD;EACjD,eAAe;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.action-separator {\\n\\theight: 0;\\n\\tmargin: 5px 10px 5px 15px;\\n\\tborder-bottom: 1px solid var(--color-border-dark);\\n\\tcursor: default;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionText/ActionText.vue?vue&type=style&index=0&id=68547a2f&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionText/ActionText.vue?vue&type=style&index=0&id=68547a2f&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\nli.active[data-v-68547a2f] {\\n background-color: var(--color-background-hover);\\n}\\n.action-text[data-v-68547a2f] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n padding-right: 14px;\\n cursor: pointer;\\n white-space: nowrap;\\n opacity: 0.7;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n font-size: var(--default-font-size);\\n line-height: 44px;\\n}\\n.action-text[data-v-68547a2f]:hover, .action-text[data-v-68547a2f]:focus {\\n opacity: 1;\\n}\\n.action-text > span[data-v-68547a2f] {\\n cursor: pointer;\\n white-space: nowrap;\\n}\\n.action-text__icon[data-v-68547a2f] {\\n width: 44px;\\n height: 44px;\\n opacity: 1;\\n background-position: 14px center;\\n background-size: 16px;\\n background-repeat: no-repeat;\\n}\\n.action-text .material-design-icon[data-v-68547a2f] {\\n width: 44px;\\n height: 44px;\\n opacity: 1;\\n}\\n.action-text .material-design-icon .material-design-icon__svg[data-v-68547a2f] {\\n vertical-align: middle;\\n}\\n.action-text p[data-v-68547a2f] {\\n max-width: 220px;\\n line-height: 1.6em;\\n padding: 10.8px 0;\\n cursor: pointer;\\n text-align: left;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.action-text__longtext[data-v-68547a2f] {\\n cursor: pointer;\\n white-space: pre-wrap;\\n}\\n.action-text__title[data-v-68547a2f] {\\n font-weight: bold;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n max-width: 100%;\\n display: inline-block;\\n}\\n.action--disabled[data-v-68547a2f] {\\n pointer-events: none;\\n opacity: 0.5;\\n}\\n.action--disabled[data-v-68547a2f]:hover, .action--disabled[data-v-68547a2f]:focus {\\n cursor: default;\\n opacity: 0.5;\\n}\\n.action--disabled *[data-v-68547a2f] {\\n opacity: 1 !important;\\n}\\n.action-text[data-v-68547a2f],\\n.action-text span[data-v-68547a2f] {\\n cursor: default;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./ActionText.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../assets/action.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AErBF;;;;;;;;;;;;;;;;;;;;;EF2CE;AEnBD;EAEE,+CAA+C;AAAA;AAqBjD;EACC,aAAa;EACb,uBAAuB;EAEvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,mBDtB8C;ECwB9C,eAAe;EACf,mBAAmB;EAEnB,YDjBiB;ECkBjB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAEhB,mBAAmB;EACnB,mCAAmC;EACnC,iBD5CmB;AAAA;ACsBpB;IA0BE,UD7Ba;AAAA;ACGf;IA8BE,eAAe;IACf,mBAAmB;AAAA;AAGpB;IACC,WDzDkB;IC0DlB,YD1DkB;IC2DlB,UDxCa;ICyCb,gCAAwC;IACxC,qBDzDa;IC0Db,4BAA4B;AAAA;AAxC9B;IA4CE,WDlEkB;ICmElB,YDnEkB;ICoElB,UDjDa;AAAA;ACGf;MAiDG,sBAAsB;AAAA;AAjDzB;IAuDE,gBAAgB;IAChB,kBAAkB;IAGlB,iBAA8C;IAE9C,eAAe;IACf,gBAAgB;IAGhB,gBAAgB;IAChB,uBAAuB;AAAA;AAGxB;IACC,eAAe;IAEf,qBAAqB;AAAA;AAGtB;IACC,iBAAiB;IACjB,uBAAuB;IACvB,gBAAgB;IAChB,mBAAmB;IACnB,eAAe;IACf,qBAAqB;AAAA;AAhGvB;EACC,oBAAoB;EACpB,YDQmB;AAAA;ACVpB;IAIE,eAAe;IACf,YDKkB;AAAA;ACVpB;IAQE,qBAAqB;AAAA;AFyCxB;;EAGE,eAAe;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action-item('text');\\n@include action--disabled;\\n\\n.action-text {\\n\\t&,\\n\\tspan {\\n\\t\\tcursor: default;\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=style&index=0&id=6377b0a2&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=style&index=0&id=6377b0a2&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon[data-v-6377b0a2] {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n/* Default global values */\\nbutton[data-v-6377b0a2],\\ninput[data-v-6377b0a2]:not([type='range']),\\ntextarea[data-v-6377b0a2] {\\n margin: 0;\\n padding: 7px 6px;\\n cursor: text;\\n color: var(--color-text-lighter);\\n border: 1px solid var(--color-border-dark);\\n border-radius: var(--border-radius);\\n outline: none;\\n background-color: var(--color-main-background);\\n font-size: 13px;\\n /* Primary action button, use sparingly */\\n}\\nbutton[data-v-6377b0a2]:not(:disabled):not(.primary):hover, button[data-v-6377b0a2]:not(:disabled):not(.primary):focus, button:not(:disabled):not(.primary).active[data-v-6377b0a2],\\n input[data-v-6377b0a2]:not([type='range']):not(:disabled):not(.primary):hover,\\n input[data-v-6377b0a2]:not([type='range']):not(:disabled):not(.primary):focus,\\n input:not([type='range']):not(:disabled):not(.primary).active[data-v-6377b0a2],\\n textarea[data-v-6377b0a2]:not(:disabled):not(.primary):hover,\\n textarea[data-v-6377b0a2]:not(:disabled):not(.primary):focus,\\n textarea:not(:disabled):not(.primary).active[data-v-6377b0a2] {\\n /* active class used for multiselect */\\n border-color: var(--color-primary-element);\\n outline: none;\\n}\\nbutton[data-v-6377b0a2]:not(:disabled):not(.primary):active,\\n input[data-v-6377b0a2]:not([type='range']):not(:disabled):not(.primary):active,\\n textarea[data-v-6377b0a2]:not(:disabled):not(.primary):active {\\n color: var(--color-text-light);\\n outline: none;\\n background-color: var(--color-main-background);\\n}\\nbutton[data-v-6377b0a2]:disabled,\\n input[data-v-6377b0a2]:not([type='range']):disabled,\\n textarea[data-v-6377b0a2]:disabled {\\n cursor: default;\\n opacity: 0.5;\\n color: var(--color-text-maxcontrast);\\n background-color: var(--color-background-dark);\\n}\\nbutton[data-v-6377b0a2]:required,\\n input[data-v-6377b0a2]:not([type='range']):required,\\n textarea[data-v-6377b0a2]:required {\\n box-shadow: none;\\n}\\nbutton[data-v-6377b0a2]:invalid,\\n input[data-v-6377b0a2]:not([type='range']):invalid,\\n textarea[data-v-6377b0a2]:invalid {\\n border-color: var(--color-error);\\n box-shadow: none !important;\\n}\\nbutton.primary[data-v-6377b0a2],\\n input:not([type='range']).primary[data-v-6377b0a2],\\n textarea.primary[data-v-6377b0a2] {\\n cursor: pointer;\\n color: var(--color-primary-text);\\n border-color: var(--color-primary-element);\\n background-color: var(--color-primary-element);\\n}\\nbutton.primary[data-v-6377b0a2]:not(:disabled):hover, button.primary[data-v-6377b0a2]:not(:disabled):focus, button.primary[data-v-6377b0a2]:not(:disabled):active,\\n input:not([type='range']).primary[data-v-6377b0a2]:not(:disabled):hover,\\n input:not([type='range']).primary[data-v-6377b0a2]:not(:disabled):focus,\\n input:not([type='range']).primary[data-v-6377b0a2]:not(:disabled):active,\\n textarea.primary[data-v-6377b0a2]:not(:disabled):hover,\\n textarea.primary[data-v-6377b0a2]:not(:disabled):focus,\\n textarea.primary[data-v-6377b0a2]:not(:disabled):active {\\n border-color: var(--color-primary-element-light);\\n background-color: var(--color-primary-element-light);\\n}\\nbutton.primary[data-v-6377b0a2]:not(:disabled):active,\\n input:not([type='range']).primary[data-v-6377b0a2]:not(:disabled):active,\\n textarea.primary[data-v-6377b0a2]:not(:disabled):active {\\n color: var(--color-primary-text-dark);\\n}\\nbutton.primary[data-v-6377b0a2]:disabled,\\n input:not([type='range']).primary[data-v-6377b0a2]:disabled,\\n textarea.primary[data-v-6377b0a2]:disabled {\\n cursor: default;\\n color: var(--color-primary-text-dark);\\n background-color: var(--color-primary-element);\\n}\\n\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\nli.active[data-v-6377b0a2] {\\n background-color: var(--color-background-hover);\\n}\\n.action--disabled[data-v-6377b0a2] {\\n pointer-events: none;\\n opacity: 0.5;\\n}\\n.action--disabled[data-v-6377b0a2]:hover, .action--disabled[data-v-6377b0a2]:focus {\\n cursor: default;\\n opacity: 0.5;\\n}\\n.action--disabled *[data-v-6377b0a2] {\\n opacity: 1 !important;\\n}\\n.action-text-editable[data-v-6377b0a2] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n cursor: pointer;\\n white-space: nowrap;\\n opacity: 0.7;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n line-height: 44px;\\n /* Inputs inside popover supports text, submit & reset */\\n}\\n.action-text-editable[data-v-6377b0a2]:hover, .action-text-editable[data-v-6377b0a2]:focus {\\n opacity: 1;\\n}\\n.action-text-editable > span[data-v-6377b0a2] {\\n cursor: pointer;\\n white-space: nowrap;\\n}\\n.action-text-editable__icon[data-v-6377b0a2] {\\n min-width: 0;\\n /* Overwrite icons*/\\n min-height: 0;\\n /* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n padding: 22px 0 22px 44px;\\n background-position: 14px center;\\n background-size: 16px;\\n}\\n.action-text-editable__form[data-v-6377b0a2] {\\n display: flex;\\n flex: 1 1 auto;\\n flex-direction: column;\\n position: relative;\\n margin: 4px 0;\\n padding-right: 14px;\\n}\\n.action-text-editable__submit[data-v-6377b0a2] {\\n position: absolute;\\n left: -10000px;\\n top: auto;\\n width: 1px;\\n height: 1px;\\n overflow: hidden;\\n}\\n.action-text-editable__label[data-v-6377b0a2] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n position: absolute;\\n right: 15px;\\n bottom: 1px;\\n width: 36px;\\n height: 36px;\\n margin: 0;\\n padding: 7px 6px;\\n cursor: pointer;\\n opacity: 1;\\n color: var(--color-text-lighter);\\n border: 0;\\n border-radius: 50%;\\n /* Avoid background under border */\\n background-color: var(--color-main-background);\\n background-clip: padding-box;\\n font-size: 16px;\\n}\\n.action-text-editable__label[data-v-6377b0a2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.action-text-editable__textarea[data-v-6377b0a2] {\\n flex: 1 1 auto;\\n min-height: 80px;\\n /* twice the element margin-y */\\n max-height: 124px;\\n /* twice the element margin-y */\\n min-width: 176px;\\n width: 100% !important;\\n margin: 0;\\n /* only show confirm borders if input is not focused */\\n}\\n.action-text-editable__textarea[data-v-6377b0a2]:disabled {\\n cursor: default;\\n}\\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid + .action-text-editable__label[data-v-6377b0a2] {\\n background-color: var(--color-error);\\n}\\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-6377b0a2]:active, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-6377b0a2]:hover, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-6377b0a2]:focus {\\n background-color: var(--color-primary-element);\\n color: var(--color-primary-text);\\n}\\n.action-text-editable__textarea:active:not(:disabled) + .action-text-editable__label[data-v-6377b0a2], .action-text-editable__textarea:hover:not(:disabled) + .action-text-editable__label[data-v-6377b0a2], .action-text-editable__textarea:focus:not(:disabled) + .action-text-editable__label[data-v-6377b0a2] {\\n /* above previous input */\\n z-index: 2;\\n border-color: var(--color-primary-element);\\n border-left-color: transparent;\\n}\\nli:last-child > .action-text-editable[data-v-6377b0a2] {\\n margin-bottom: 10px;\\n}\\nli:first-child > .action-text-editable[data-v-6377b0a2] {\\n margin-top: 10px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./ActionTextEditable.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./../../assets/inputs.scss\",\"webpack://./../../assets/action.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n@import '../../assets/inputs';\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n$input-margin: 4px;\\n\\n.action-text-editable {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\topacity: $opacity_normal;\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\topacity: $opacity_full;\\n\\t}\\n\\n\\t& > span {\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\tmin-height: 0;\\n\\t\\t/* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\n\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\tbackground-size: $icon-size;\\n\\t}\\n\\n\\t// Forms & text inputs\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 auto;\\n\\t\\tflex-direction: column;\\n\\n\\t\\tposition: relative;\\n\\t\\tmargin: $input-margin 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute;\\n\\t\\tleft: -10000px;\\n\\t\\ttop: auto;\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\n\\t\\t// bottom-right corner\\n\\t\\tposition: absolute;\\n\\t\\tright: $icon-margin + 1;\\n\\t\\tbottom: 1px;\\n\\t\\twidth: #{$clickable-area - $input-margin * 2};\\n\\t\\theight: #{$clickable-area - $input-margin * 2};\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 7px 6px;\\n\\n\\t\\tcursor: pointer;\\n\\n\\t\\topacity: $opacity_full;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 50%;\\n\\t\\t/* Avoid background under border */\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-clip: padding-box;\\n\\n\\t\\tfont-size: $icon-size;\\n\\n\\t\\t@include iconfont('confirm');\\n\\t}\\n\\n\\t/* Inputs inside popover supports text, submit & reset */\\n\\t&__textarea {\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmin-height: #{$clickable-area * 2 - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmax-height: #{$clickable-area * 3 - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\t// block width widening\\n\\t\\tmin-width: $clickable-area * 4;\\n\\t\\twidth: 100% !important;\\n\\t\\tmargin: 0;\\n\\n\\t\\t// if disabled, change cursor\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t/* only show confirm borders if input is not focused */\\n\\t\\t&:not(:active):not(:hover):not(:focus) {\\n\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t& + .action-text-editable__label {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(:disabled) + .action-text-editable__label {\\n\\t\\t\\t\\t&:active,\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\t&:not(:disabled) + .action-text-editable__label {\\n\\t\\t\\t\\t/* above previous input */\\n\\t\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n// if a form is the last of the list\\n// add the same bottomMargin as the right padding\\n// for visual balance\\nli:last-child > .action-text-editable {\\n\\tmargin-bottom: $icon-margin - $input-margin;\\n}\\n\\n// same for first item\\nli:first-child > .action-text-editable {\\n\\tmargin-top: $icon-margin - $input-margin;\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n\\n/* Default global values */\\nbutton,\\ninput:not([type='range']),\\ntextarea {\\n\\tmargin: 0;\\n\\tpadding: 7px 6px;\\n\\n\\tcursor: text;\\n\\n\\tcolor: var(--color-text-lighter);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\tfont-size: 13px;\\n\\n\\t&:not(:disabled):not(.primary) {\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&.active {\\n\\t\\t\\t/* active class used for multiselect */\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\toutline: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&:required {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&:invalid {\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t/* Primary action button, use sparingly */\\n\\t&.primary {\\n\\t\\tcursor: pointer;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\n\\t\\t&:not(:disabled) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t}\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t// opacity is already defined to .5 if disabled\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon[data-v-4f45864b] {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.action-item[data-v-4f45864b] {\\n position: relative;\\n display: inline-block;\\n}\\n.action-item--single[data-v-4f45864b]:hover, .action-item--single[data-v-4f45864b]:focus, .action-item--single[data-v-4f45864b]:active, .action-item__menutoggle[data-v-4f45864b]:hover, .action-item__menutoggle[data-v-4f45864b]:focus, .action-item__menutoggle[data-v-4f45864b]:active {\\n opacity: 1;\\n background-color: rgba(127, 127, 127, 0.25);\\n}\\n.action-item__menutoggle[data-v-4f45864b]:disabled, .action-item--single[data-v-4f45864b]:disabled {\\n opacity: .3 !important;\\n}\\n.action-item.action-item--open .action-item__menutoggle[data-v-4f45864b] {\\n opacity: 1;\\n background-color: rgba(127, 127, 127, 0.25);\\n}\\n.action-item--single[data-v-4f45864b], .action-item__menutoggle[data-v-4f45864b] {\\n box-sizing: border-box;\\n width: auto;\\n min-width: 44px;\\n height: 44px;\\n margin: 0;\\n padding: 14px;\\n cursor: pointer;\\n border: none;\\n border-radius: 22px;\\n background-color: transparent;\\n}\\n.action-item__menutoggle[data-v-4f45864b] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n opacity: 0.7;\\n font-weight: bold;\\n line-height: 16px;\\n}\\n.action-item__menutoggle[data-v-4f45864b] span {\\n width: 16px;\\n height: 16px;\\n line-height: 16px;\\n}\\n.action-item__menutoggle[data-v-4f45864b]:before {\\n content: '';\\n}\\n.action-item__menutoggle--default-icon[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.action-item__menutoggle--default-icon[data-v-4f45864b]::before {\\n font-size: 16px;\\n}\\n.action-item__menutoggle--with-title[data-v-4f45864b] {\\n position: relative;\\n padding-left: 44px;\\n white-space: nowrap;\\n opacity: 1;\\n border: 1px solid var(--color-border-dark);\\n background-color: var(--color-background-dark);\\n background-position: 14px center;\\n font-size: inherit;\\n}\\n.action-item__menutoggle--with-title[data-v-4f45864b]:before {\\n position: absolute;\\n top: 14px;\\n left: 14px;\\n}\\n.action-item__menutoggle--primary[data-v-4f45864b] {\\n opacity: 1;\\n color: var(--color-primary-text);\\n border: none;\\n background-color: var(--color-primary-element);\\n}\\n.action-item--open .action-item__menutoggle--primary[data-v-4f45864b], .action-item__menutoggle--primary[data-v-4f45864b]:hover, .action-item__menutoggle--primary[data-v-4f45864b]:focus, .action-item__menutoggle--primary[data-v-4f45864b]:active {\\n color: var(--color-primary-text) !important;\\n background-color: var(--color-primary-element-light) !important;\\n}\\n.action-item--single[data-v-4f45864b] {\\n opacity: 0.7;\\n}\\n.action-item--single[data-v-4f45864b]:hover, .action-item--single[data-v-4f45864b]:focus, .action-item--single[data-v-4f45864b]:active {\\n opacity: 1;\\n}\\n.action-item--single > [hidden][data-v-4f45864b] {\\n display: none;\\n}\\n.ie .action-item__menu[data-v-4f45864b],\\n.ie .action-item__menu .action-item__menu_arrow[data-v-4f45864b],\\n.edge .action-item__menu[data-v-4f45864b],\\n.edge .action-item__menu .action-item__menu_arrow[data-v-4f45864b] {\\n border: 1px solid var(--color-border);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./Actions.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AEsEA;EACC,mCAAmC;EACnC,4CAAuC;EAAE,qBAAA;EACzC,mPAGmD;EAAE,eAAA;AAAgB;AAMtE;EACE,kBAAkB;EAClB,gBAAgB;AAAA;AAFlB;IAMM,mCAAmC;IACnC,YA5Ge;AAAO;AAqG5B;IAMM,mCAAmC;IACnC,YA3GQ;AAAO;AAoGrB;IAMM,mCAAmC;IACnC,YA1GgB;AAAO;AAmG7B;IAMM,mCAAmC;IACnC,YAzGS;AAAO;AAkGtB;IAMM,mCAAmC;IACnC,YAxGQ;AAAO;AAiGrB;IAMM,mCAAmC;IACnC,YAvGO;AAAO;AAgGpB;IAMM,mCAAmC;IACnC,YAtGG;AAAO;AA+FhB;IAMM,mCAAmC;IACnC,YArGK;AAAO;AA8FlB;IAMM,mCAAmC;IACnC,YApGE;AAAO;AA6Ff;IAMM,mCAAmC;IACnC,YAnGE;AAAO;AA4Ff;IAMM,mCAAmC;IACnC,YAlGE;AAAO;AA2Ff;IAMM,mCAAmC;IACnC,YAjGG;AAAO;AA0FhB;IAMM,mCAAmC;IACnC,YAhGE;AAAO;AAyFf;IAMM,mCAAmC;IACnC,YA/FQ;AAAO;AAwFrB;IAMM,mCAAmC;IACnC,YA9Fc;AAAO;AAuF3B;IAMM,mCAAmC;IACnC,YA7Fa;AAAO;AAsF1B;IAMM,mCAAmC;IACnC,YA5FmB;AAAO;AAqFhC;IAMM,mCAAmC;IACnC,YA3FgB;AAAO;AF6nB/B;EACC,kBAAkB;EAClB,qBAAqB;AAAA;AAIrB;IAMC,UChnBc;IDknBd,2CC1nBsC;AAAA;AD8nBvC;IAEC,sBAAsB;AAAA;AApBxB;IAwBE,UC5nBc;ID6nBd,2CCznBgD;AAAA;AD6nBjD;IAEC,sBAAsB;IACtB,WAAW;IACX,eCxpBmB;IDypBnB,YCzpBmB;ID0pBnB,SAAS;IACT,aCnpB8C;IDopB9C,eAAe;IACf,YAAY;IACZ,mBAAkC;IAClC,6BAA6B;AAAA;AAI9B;IAEC,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,YCtpBiB;IDupBjB,iBAAiB;IACjB,iBCtqBc;AAAA;AD+pBd;MAWC,WC1qBa;MD2qBb,YC3qBa;MD4qBb,iBC5qBa;AAAA;AD+pBd;MAiBC,WAAW;AAAA;AAGX;ME9nBC,mCAjFmB;MAkFnB,kBAAkB;MAClB,gBAAgB;MAChB,YAzEM;AAAO;AFosBd;MAGC,eCtrBY;AAAA;AD0rBd;MACC,kBAAkB;MAClB,kBChsBkB;MDisBlB,mBAAmB;MACnB,UC/qBa;MDgrBb,0CAA0C;MAE1C,8CAA8C;MAC9C,gCAAwC;MACxC,kBAAkB;AAAA;AATlB;QAYC,kBAAkB;QAClB,SCnsB4C;QDosB5C,UCpsB4C;AAAA;ADwsB9C;MACC,UC9rBa;MD+rBb,gCAAgC;MAChC,YAAY;MACZ,8CAA8C;AAAA;AAC9C;QAIC,2CAA2C;QAC3C,+DAA+D;AAAA;AAKlE;IACC,YC9sBiB;AAAA;AD6sBjB;MAKC,UCjtBa;AAAA;AD4sBd;MASC,aAAa;AAAA;AAKhB;;;;EAIE,qCAAqC;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg\\n\\t\\tbackground-color: $icon-focus-bg;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: $icon-margin;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t// image slot\\n\\t\\t/deep/ span {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tline-height: $icon-size;\\n\\t\\t}\\n\\n\\t\\t&:before {\\n\\t\\t\\tcontent: '';\\n\\t\\t}\\n\\n\\t\\t&--default-icon {\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tfont-size: $icon-size;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t&:before {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: $icon-margin;\\n\\t\\t\\t\\tleft: $icon-margin;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppContent/AppContent.vue?vue&type=style&index=0&id=71758b0f&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppContent/AppContent.vue?vue&type=style&index=0&id=71758b0f&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.app-content[data-v-71758b0f] {\\n position: relative;\\n z-index: 1000;\\n flex-basis: 100vw;\\n min-width: 0;\\n min-height: 100%;\\n margin: 0 !important;\\n background-color: var(--color-main-background);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppContent.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AA6DF;EACC,kBAAkB;EAClB,aAAa;EACb,iBAAiB;EACjB,YAAY;EACZ,gBAAgB;EAEhB,oBAAoB;EACpB,8CAA8C;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-content {\\n\\tposition: relative;\\n\\tz-index: 1000;\\n\\tflex-basis: 100vw;\\n\\tmin-width: 0;\\n\\tmin-height: 100%;\\n\\t// Overriding server styles TODO: cleanup!\\n\\tmargin: 0 !important;\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigation/AppNavigation.vue?vue&type=style&index=0&id=d3908c0a&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigation/AppNavigation.vue?vue&type=style&index=0&id=d3908c0a&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.app-navigation[data-v-d3908c0a] {\\n will-change: transform;\\n transition: transform var(--animation-quick), margin var(--animation-quick);\\n width: 300px;\\n position: sticky;\\n position: -webkit-sticky;\\n top: 50px;\\n left: 0;\\n z-index: 1800;\\n height: calc(100vh - 50px);\\n box-sizing: border-box;\\n background-color: var(--color-main-background);\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n border-right: 1px solid var(--color-border);\\n display: flex;\\n flex-direction: column;\\n flex-grow: 0;\\n flex-shrink: 0;\\n}\\n.app-navigation--close[data-v-d3908c0a] {\\n margin-left: -300px;\\n transform: translateX(-100%);\\n}\\n.app-navigation ul[data-v-d3908c0a], .app-navigation__list[data-v-d3908c0a] {\\n position: relative;\\n height: 100%;\\n width: inherit;\\n overflow-x: hidden;\\n overflow-y: auto;\\n box-sizing: border-box;\\n display: flex;\\n flex-direction: column;\\n}\\n@media only screen and (max-width: 1024px) {\\n.app-navigation[data-v-d3908c0a]:not(.app-navigation--close) {\\n margin-left: -300px;\\n}\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppNavigation.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAwHF;EACC,sBAAsB;EACtB,2EAA2E;EAC3E,YC3FuB;ED4FvB,gBAAgB;EAChB,wBAAwB;EACxB,SC/FmB;EDgGnB,OAAO;EAEP,aAAa;EACb,0BAAuC;EACvC,sBAAsB;EACtB,8CAA8C;EAC9C,yBAAyB;EACzB,sBAAsB;EACtB,qBAAqB;EACrB,iBAAiB;EACjB,2CAA2C;EAC3C,aAAa;EACb,sBAAsB;EACtB,YAAY;EACZ,cAAc;AAAA;AAEd;IACC,mBChHsB;IDiHtB,4BAA4B;AAAA;AAzB9B;IA+BE,kBAAkB;IAClB,YAAY;IACZ,cAAc;IACd,kBAAkB;IAClB,gBAAgB;IAChB,sBAAsB;IACtB,aAAa;IACb,sBAAsB;AAAA;AAKxB;AACC;IACC,mBCrIsB;AAAA;ADsItB\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation {\\n\\twill-change: transform;\\n\\ttransition: transform var(--animation-quick), margin var(--animation-quick);\\n\\twidth: $navigation-width;\\n\\tposition: sticky;\\n\\tposition: -webkit-sticky;\\n\\ttop: $header-height;\\n\\tleft: 0;\\n\\t// Above appcontent\\n\\tz-index: 1800;\\n\\theight: calc(100vh - #{$header-height});\\n\\tbox-sizing: border-box;\\n\\tbackground-color: var(--color-main-background);\\n\\t-webkit-user-select: none;\\n\\t-moz-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none;\\n\\tborder-right: 1px solid var(--color-border);\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\n\\t&--close {\\n\\t\\tmargin-left: - $navigation-width;\\n\\t\\ttransform: translateX(-100%);\\n\\t}\\n\\n\\t//list of navigation items\\n\\tul,\\n\\t&__list {\\n\\t\\tposition: relative;\\n\\t\\theight: 100%;\\n\\t\\twidth: inherit;\\n\\t\\toverflow-x: hidden;\\n\\t\\toverflow-y: auto;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t}\\n}\\n\\n// When on mobile, we make the navigation slide over the appcontent\\n@media only screen and (max-width: $breakpoint-mobile) {\\n\\t.app-navigation:not(.app-navigation--close) {\\n\\t\\tmargin-left: - $navigation-width;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.app-navigation-caption[data-v-6ee65822] {\\n font-weight: bold;\\n color: var(--color-text-maxcontrast);\\n line-height: 44px;\\n padding-left: 44px;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n opacity: 0.7;\\n box-shadow: none !important;\\n order: 1;\\n flex-shrink: 0;\\n}\\n.app-navigation-caption[data-v-6ee65822]:not(:first-child) {\\n margin-top: 22px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppNavigationCaption.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAAF;EACC,iBAAiB;EACjB,oCAAoC;EACpC,iBCCoB;EDApB,kBCAoB;EDCpB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,YAAY;EACZ,2BAA2B;EAC3B,QAAQ;EACR,cAAc;AAAA;AAIf;EACC,gBAA+B;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-caption {\\n\\tfont-weight: bold;\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tline-height: $clickable-area;\\n\\tpadding-left: $clickable-area;\\n\\twhite-space: nowrap;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\topacity: 0.7;\\n\\tbox-shadow: none !important;\\n\\torder: 1;\\n\\tflex-shrink: 0;\\n}\\n\\n// extra top space if it's not the first item on the list\\n.app-navigation-caption:not(:first-child) {\\n\\tmargin-top: $clickable-area / 2;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=style&index=0&id=231d7daf&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=style&index=0&id=231d7daf&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.app-navigation-entry__counter[data-v-231d7daf] {\\n font-size: calc(var(--default-font-size) * .8);\\n overflow: hidden;\\n width: fit-content;\\n max-width: 44px;\\n text-align: center;\\n text-overflow: ellipsis;\\n line-height: 1em;\\n padding: 4px 8px;\\n border-radius: var(--border-radius-pill);\\n background-color: var(--color-background-darker);\\n}\\n.app-navigation-entry__counter--highlighted[data-v-231d7daf] {\\n padding: 4px 6px;\\n color: var(--color-primary-text);\\n background-color: var(--color-primary);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppNavigationCounter.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AA0CF;EACC,8CAA8C;EAC9C,gBAAgB;EAChB,kBAAkB;EAClB,eC1CoB;ED2CpB,kBAAkB;EAClB,uBAAuB;EACvB,gBAAgB;EAChB,gBAAgB;EAChB,wCAAwC;EACxC,gDAAgD;AAAA;AAEhD;IACC,gBAAgB;IAChB,gCAAgC;IAChC,sCAAsC;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-entry__counter {\\n\\tfont-size: calc(var(--default-font-size) * .8);\\n\\toverflow: hidden;\\n\\twidth: fit-content;\\n\\tmax-width: $clickable-area;\\n\\ttext-align: center;\\n\\ttext-overflow: ellipsis;\\n\\tline-height: 1em;\\n\\tpadding: 4px 8px;\\n\\tborder-radius: var(--border-radius-pill);\\n\\tbackground-color: var(--color-background-darker);\\n\\n\\t&--highlighted {\\n\\t\\tpadding: 4px 6px;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=style&index=0&id=1589a81e&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=style&index=0&id=1589a81e&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.app-navigation-entry__icon-bullet[data-v-1589a81e] {\\n display: block;\\n padding: 15px;\\n}\\n.app-navigation-entry__icon-bullet div[data-v-1589a81e] {\\n width: 14px;\\n height: 14px;\\n cursor: pointer;\\n transition: background 100ms ease-in-out;\\n border: none;\\n border-radius: 50%;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppNavigationIconBullet.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AA4DF;EACC,cAAc;EAEd,aAA2B;AAAA;AAH5B;IAKE,WAAuB;IACvB,YAAwB;IACxB,eAAe;IACf,wCAAwC;IACxC,YAAY;IACZ,kBAAkB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-entry__icon-bullet {\\n\\tdisplay: block;\\n\\t// there is 2 margins\\n\\tpadding: $icon-margin + 1px;\\n\\tdiv {\\n\\t\\twidth: $icon-size - 2px;\\n\\t\\theight: $icon-size - 2px;\\n\\t\\tcursor: pointer;\\n\\t\\ttransition: background 100ms ease-in-out;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: 50%;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=style&index=0&id=3c4acfb3&lang=scss&scoped=true&\":\n/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=style&index=0&id=3c4acfb3&lang=scss&scoped=true& ***!\n \\*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon[data-v-3c4acfb3] {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon-collapse[data-v-3c4acfb3] {\\n position: absolute;\\n z-index: 105;\\n width: 44px;\\n height: 44px;\\n margin: 0;\\n padding: 0;\\n transition: opacity var(--animation-quick) ease-in-out;\\n -webkit-transform: rotate(-90deg);\\n -ms-transform: rotate(-90deg);\\n transform: rotate(-90deg);\\n color: var(--color-main-text);\\n border: none;\\n border-radius: 0;\\n outline: none !important;\\n background-color: transparent;\\n box-shadow: none;\\n font-size: 18px;\\n}\\n.icon-collapse[data-v-3c4acfb3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.icon-collapse[data-v-3c4acfb3]:hover {\\n color: var(--color-primary);\\n}\\n.icon-collapse--rotated[data-v-3c4acfb3] {\\n -webkit-transform: rotate(0deg);\\n -ms-transform: rotate(0deg);\\n transform: rotate(0deg);\\n color: var(--color-main-text);\\n}\\n.icon-collapse--rotated[data-v-3c4acfb3]:hover {\\n color: var(--color-primary);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppNavigationIconCollapsible.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AEsEA;EACC,mCAAmC;EACnC,4CAAuC;EAAE,qBAAA;EACzC,mPAGmD;EAAE,eAAA;AAAgB;AAMtE;EACE,kBAAkB;EAClB,gBAAgB;AAAA;AAFlB;IAMM,mCAAmC;IACnC,YA5Ge;AAAO;AAqG5B;IAMM,mCAAmC;IACnC,YA3GQ;AAAO;AAoGrB;IAMM,mCAAmC;IACnC,YA1GgB;AAAO;AAmG7B;IAMM,mCAAmC;IACnC,YAzGS;AAAO;AAkGtB;IAMM,mCAAmC;IACnC,YAxGQ;AAAO;AAiGrB;IAMM,mCAAmC;IACnC,YAvGO;AAAO;AAgGpB;IAMM,mCAAmC;IACnC,YAtGG;AAAO;AA+FhB;IAMM,mCAAmC;IACnC,YArGK;AAAO;AA8FlB;IAMM,mCAAmC;IACnC,YApGE;AAAO;AA6Ff;IAMM,mCAAmC;IACnC,YAnGE;AAAO;AA4Ff;IAMM,mCAAmC;IACnC,YAlGE;AAAO;AA2Ff;IAMM,mCAAmC;IACnC,YAjGG;AAAO;AA0FhB;IAMM,mCAAmC;IACnC,YAhGE;AAAO;AAyFf;IAMM,mCAAmC;IACnC,YA/FQ;AAAO;AAwFrB;IAMM,mCAAmC;IACnC,YA9Fc;AAAO;AAuF3B;IAMM,mCAAmC;IACnC,YA7Fa;AAAO;AAsF1B;IAMM,mCAAmC;IACnC,YA5FmB;AAAO;AAqFhC;IAMM,mCAAmC;IACnC,YA3FgB;AAAO;AFmC/B;EACC,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,sDAAsD;EACtD,iCAAiC;EACjC,6BAA6B;EAC7B,yBAAyB;EACzB,6BAA6B;EAC7B,YAAY;EACZ,gBAAgB;EAChB,wBAAwB;EACxB,6BAA6B;EAC7B,gBAAgB;EAChB,eAAe;AAAA;AAjBhB;IE4BI,mCAjFmB;IAkFnB,kBAAkB;IAClB,gBAAgB;IAChB,YAtEY;AAAO;AFuCvB;IAsBE,2BAA2B;AAAA;AAE5B;IACC,+BAA+B;IAC/B,2BAA2B;IAC3B,uBAAuB;IACvB,6BAA6B;AAAA;AAJ7B;MAMC,2BAA2B;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.icon-collapse {\\n\\tposition: absolute;\\n\\tz-index: 105; // above a, under button\\n\\twidth: 44px;\\n\\theight: 44px;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\ttransition: opacity var(--animation-quick) ease-in-out;\\n\\t-webkit-transform: rotate(-90deg);\\n\\t-ms-transform: rotate(-90deg);\\n\\ttransform: rotate(-90deg);\\n\\tcolor: var(--color-main-text);\\n\\tborder: none;\\n\\tborder-radius: 0;\\n\\toutline: none !important;\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\tfont-size: 18px;\\n\\n\\t@include iconfont('triangle-s');\\n\\n\\t&:hover{\\n\\t\\tcolor: var(--color-primary);\\n\\t}\\n\\t&--rotated {\\n\\t\\t-webkit-transform: rotate(0deg);\\n\\t\\t-ms-transform: rotate(0deg);\\n\\t\\ttransform: rotate(0deg);\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\t&:hover{\\n\\t\\t\\tcolor: var(--color-primary);\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=style&index=0&lang=scss&\":\n/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=style&index=0&lang=scss& ***!\n \\**************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.app-navigation-entry {\\n position: relative;\\n display: flex;\\n flex-shrink: 0;\\n flex-wrap: wrap;\\n order: 1;\\n box-sizing: border-box;\\n width: 100%;\\n min-height: 44px;\\n padding-right: 4px;\\n /* hide deletion/collapse of subitems */\\n /* Second level nesting for lists */\\n}\\n.app-navigation-entry.active {\\n background-color: var(--color-primary-light) !important;\\n}\\n.app-navigation-entry:focus-within, .app-navigation-entry:hover {\\n background-color: var(--color-background-hover);\\n}\\n.app-navigation-entry.active .app-navigation-entry__children, .app-navigation-entry:focus-within .app-navigation-entry__children, .app-navigation-entry:hover .app-navigation-entry__children {\\n background-color: var(--color-main-background);\\n}\\n.app-navigation-entry.app-navigation-entry--deleted > ul, .app-navigation-entry.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul {\\n display: none;\\n}\\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link, .app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-div {\\n padding-right: 14px;\\n}\\n.app-navigation-entry .app-navigation-entry-link, .app-navigation-entry .app-navigation-entry-div {\\n z-index: 100;\\n /* above the bullet to allow click*/\\n display: flex;\\n overflow: hidden;\\n flex: 1 1 0;\\n box-sizing: border-box;\\n min-height: 44px;\\n padding: 0;\\n white-space: nowrap;\\n color: var(--color-main-text);\\n background-repeat: no-repeat;\\n background-position: 14px center;\\n background-size: 16px 16px;\\n line-height: 44px;\\n}\\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon, .app-navigation-entry .app-navigation-entry-div .app-navigation-entry-icon {\\n display: flex;\\n align-items: center;\\n flex: 0 0 44px;\\n justify-content: center;\\n width: 44px;\\n height: 44px;\\n background-size: 16px 16px;\\n}\\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__title, .app-navigation-entry .app-navigation-entry-div .app-navigation-entry__title {\\n overflow: hidden;\\n max-width: 100%;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n padding-left: 6px;\\n}\\n.app-navigation-entry .app-navigation-entry-link .editingContainer, .app-navigation-entry .app-navigation-entry-div .editingContainer {\\n width: calc(100% - 44px);\\n margin: auto;\\n}\\n.app-navigation-entry .app-navigation-entry__children {\\n position: relative;\\n display: flex;\\n flex: 0 1 auto;\\n flex-direction: column;\\n width: 100%;\\n}\\n.app-navigation-entry .app-navigation-entry__children .app-navigation-entry {\\n display: inline-flex;\\n flex-wrap: wrap;\\n padding-left: 30px;\\n}\\n\\n/* Deleted entries */\\n.app-navigation-entry__deleted {\\n display: inline-flex;\\n flex: 1 1 0;\\n padding-left: 30px !important;\\n}\\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description {\\n position: relative;\\n overflow: hidden;\\n flex: 1 1 0;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n line-height: 44px;\\n}\\n\\n/* Makes the icon of the collapsible element disappear\\n* When hovering on the root element */\\n.app-navigation-entry--collapsible .icon-collapse {\\n visibility: hidden;\\n}\\n.app-navigation-entry--collapsible.app-navigation-entry--no-icon a .app-navigation-entry-icon, .app-navigation-entry--collapsible:hover a .app-navigation-entry-icon, .app-navigation-entry--collapsible:focus a .app-navigation-entry-icon {\\n visibility: hidden;\\n}\\n.app-navigation-entry--collapsible.app-navigation-entry--no-icon .icon-collapse, .app-navigation-entry--collapsible:hover .icon-collapse, .app-navigation-entry--collapsible:focus .icon-collapse {\\n visibility: visible;\\n}\\n.app-navigation-entry--collapsible.app-navigation-entry--no-icon .app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child, .app-navigation-entry--collapsible:hover .app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child, .app-navigation-entry--collapsible:focus .app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child {\\n visibility: visible;\\n}\\n\\n/* counter and actions */\\n.app-navigation-entry__utils {\\n display: flex;\\n align-items: center;\\n flex: 0 1 auto;\\n}\\n\\n/* counter */\\n.app-navigation-entry__counter-wrapper {\\n margin-right: 2px;\\n display: flex;\\n align-items: center;\\n flex: 0 1 auto;\\n}\\n\\n/* editing state */\\n.app-navigation-entry--editing .app-navigation-entry-edit {\\n z-index: 250;\\n opacity: 1;\\n}\\n\\n/* deleted state */\\n.app-navigation-entry--deleted .app-navigation-entry-deleted {\\n z-index: 250;\\n transform: translateX(0);\\n}\\n\\n/* pinned state */\\n.app-navigation-entry--pinned {\\n order: 2;\\n margin-top: auto;\\n}\\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned {\\n margin-top: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppNavigationItem.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.app-navigation-entry {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tflex-shrink: 0;\\n\\tflex-wrap: wrap;\\n\\torder: 1;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\tmin-height: $clickable-area;\\n\\tpadding-right: 4px;\\n\\n\\t// When .active class is applied, change color background of link and utils. The\\n\\t// !important prevents the focus state to override the active state.\\n\\t&.active {\\n\\t\\tbackground-color: var(--color-primary-light) !important;\\n\\t}\\n\\t&:focus-within,\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\t&.active,\\n\\t&:focus-within,\\n\\t&:hover {\\n\\t\\t.app-navigation-entry__children {\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t/* hide deletion/collapse of subitems */\\n\\t&.app-navigation-entry--deleted,\\n\\t&.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) {\\n\\t\\t> ul {\\n\\t\\t\\t// NO ANIMATE because if not really hidden, we can still tab through it\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.app-navigation-entry--editing) {\\n\\t\\t.app-navigation-entry-link, .app-navigation-entry-div {\\n\\t\\t\\tpadding-right: $icon-margin;\\n\\t\\t}\\n\\t}\\n\\n\\t// Main entry link\\n\\t.app-navigation-entry-link, .app-navigation-entry-div {\\n\\t\\tz-index: 100; /* above the bullet to allow click*/\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\t\\tflex: 1 1 0;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tpadding: 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: $icon-margin center;\\n\\t\\tbackground-size: $icon-size $icon-size;\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t.app-navigation-entry-icon {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tflex: 0 0 $clickable-area;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\tbackground-size: $icon-size $icon-size;\\n\\t\\t}\\n\\n\\t\\t.app-navigation-entry__title {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\tpadding-left: 6px;\\n\\t\\t}\\n\\n\\t\\t.editingContainer {\\n\\t\\t\\twidth: calc(100% - #{$clickable-area});\\n\\t\\t\\tmargin: auto;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Second level nesting for lists */\\n\\t.app-navigation-entry__children {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 0 1 auto;\\n\\t\\tflex-direction: column;\\n\\t\\twidth: 100%;\\n\\n\\t\\t.app-navigation-entry {\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\tpadding-left: $clickable-area - $icon-margin;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Deleted entries */\\n.app-navigation-entry__deleted {\\n\\tdisplay: inline-flex;\\n\\tflex: 1 1 0;\\n\\tpadding-left: $clickable-area - $icon-margin !important;\\n\\t.app-navigation-entry__deleted-description {\\n\\t\\tposition: relative;\\n\\t\\toverflow: hidden;\\n\\t\\tflex: 1 1 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: $clickable-area;\\n\\t}\\n}\\n\\n/* Makes the icon of the collapsible element disappear\\n* When hovering on the root element */\\n.app-navigation-entry--collapsible {\\n\\t//shows the triangle button\\n\\t.icon-collapse {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\t&.app-navigation-entry--no-icon,\\n\\t&:hover, &:focus {\\n\\t\\ta .app-navigation-entry-icon {\\n\\t\\t\\t// hides the icon\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t\\t.icon-collapse {\\n\\t\\t\\t//shows the triangle button\\n\\t\\t\\tvisibility: visible;\\n\\t\\t}\\n\\t\\t// prevent the icon of children elements from being hidden\\n\\t\\t// by the previous rule\\n\\t\\t.app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* counter and actions */\\n.app-navigation-entry__utils {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tflex: 0 1 auto;\\n}\\n\\n/* counter */\\n.app-navigation-entry__counter-wrapper {\\n\\t// Add slightly more space to the right of the counter\\n\\tmargin-right: 2px;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tflex: 0 1 auto;\\n}\\n\\n// STATES\\n/* editing state */\\n.app-navigation-entry--editing {\\n\\t.app-navigation-entry-edit {\\n\\t\\tz-index: 250;\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n/* deleted state */\\n.app-navigation-entry--deleted {\\n\\t.app-navigation-entry-deleted {\\n\\t\\tz-index: 250;\\n\\t\\ttransform: translateX(0);\\n\\t}\\n}\\n\\n/* pinned state */\\n.app-navigation-entry--pinned {\\n\\torder: 2;\\n\\tmargin-top: auto;\\n\\t// only put a marginTop auto to the first one!\\n\\t~ .app-navigation-entry--pinned {\\n\\t\\tmargin-top: 0;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=style&index=0&lang=scss&\":\n/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=style&index=0&lang=scss& ***!\n \\***************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.app-navigation-entry__inline-input-container {\\n flex: 1 0 100%;\\n width: 100%;\\n}\\n.app-navigation-entry__inline-input-container form {\\n display: flex;\\n}\\n.app-navigation-entry__inline-input-container form .app-navigation-entry__inline-input {\\n flex: 1 1 100%;\\n font-size: 14px;\\n}\\n.app-navigation-entry__inline-input-container form button {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 44px !important;\\n color: var(--color-main-text);\\n background: none;\\n font-size: 16px;\\n}\\n.app-navigation-entry__inline-input-container form button::before {\\n opacity: 0.7;\\n}\\n.app-navigation-entry__inline-input-container form button:hover::before, .app-navigation-entry__inline-input-container form button:focus::before {\\n opacity: 1;\\n}\\n.app-navigation-entry__inline-input-container form button.icon-confirm {\\n border-left: none;\\n}\\n.app-navigation-entry__inline-input-container form button.icon-confirm:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.app-navigation-entry__inline-input-container form button.icon-confirm:hover {\\n border-radius: 0px var(--border-radius) var(--border-radius) 0px !important;\\n}\\n.app-navigation-entry__inline-input-container form button.icon-close:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.app-navigation-entry__inline-input-container form .icon-close {\\n margin: 0;\\n border: none;\\n background-color: transparent;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./InputConfirmCancel.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AEsEA;EACC,mCAAmC;EACnC,4CAAuC;EAAE,qBAAA;EACzC,mPAGmD;EAAE,eAAA;AAAgB;AAMtE;EACE,kBAAkB;EAClB,gBAAgB;AAAA;AAFlB;IAMM,mCAAmC;IACnC,YA5Ge;AAAO;AAqG5B;IAMM,mCAAmC;IACnC,YA3GQ;AAAO;AAoGrB;IAMM,mCAAmC;IACnC,YA1GgB;AAAO;AAmG7B;IAMM,mCAAmC;IACnC,YAzGS;AAAO;AAkGtB;IAMM,mCAAmC;IACnC,YAxGQ;AAAO;AAiGrB;IAMM,mCAAmC;IACnC,YAvGO;AAAO;AAgGpB;IAMM,mCAAmC;IACnC,YAtGG;AAAO;AA+FhB;IAMM,mCAAmC;IACnC,YArGK;AAAO;AA8FlB;IAMM,mCAAmC;IACnC,YApGE;AAAO;AA6Ff;IAMM,mCAAmC;IACnC,YAnGE;AAAO;AA4Ff;IAMM,mCAAmC;IACnC,YAlGE;AAAO;AA2Ff;IAMM,mCAAmC;IACnC,YAjGG;AAAO;AA0FhB;IAMM,mCAAmC;IACnC,YAhGE;AAAO;AAyFf;IAMM,mCAAmC;IACnC,YA/FQ;AAAO;AAwFrB;IAMM,mCAAmC;IACnC,YA9Fc;AAAO;AAuF3B;IAMM,mCAAmC;IACnC,YA7Fa;AAAO;AAsF1B;IAMM,mCAAmC;IACnC,YA5FmB;AAAO;AAqFhC;IAMM,mCAAmC;IACnC,YA3FgB;AAAO;AFiE/B;EACC,cAAc;EACd,WAAW;AAAA;AAFZ;IAIE,aAAa;AAAA;AAJf;MAMG,cAAc;MACd,eAAe;AAAA;AAPlB;MAYG,aAAa;MACb,mBAAmB;MACnB,uBAAuB;MACvB,sBAAiC;MACjC,6BAA6B;MAC7B,gBAAgB;MAChB,eAAe;AAAA;AAlBlB;QAsBI,YC/De;AAAA;ADyCnB;QA2BK,UCnEW;AAAA;ADwChB;QAiCI,iBAAiB;AAAA;AAjCrB;UEFI,mCAjFmB;UAkFnB,kBAAkB;UAClB,gBAAgB;UAChB,YA5ES;AAAO;AF2EpB;QAoCI,2EAA2E;AAAA;AApC/E;QEFI,mCAjFmB;QAkFnB,kBAAkB;QAClB,gBAAgB;QAChB,YA7EO;AAAO;AF4ElB;MA4CG,SAAS;MACT,YAAY;MACZ,6BAA6B;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.app-navigation-entry__inline-input-container {\\n\\tflex: 1 0 100%;\\n\\twidth: 100%;\\n\\tform {\\n\\t\\tdisplay: flex;\\n\\t\\t.app-navigation-entry__inline-input {\\n\\t\\t\\tflex: 1 1 100%;\\n\\t\\t\\tfont-size: 14px;\\n\\t\\t}\\n\\n\\t\\t// submit and cancel buttons\\n\\t\\tbutton {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: $clickable-area !important;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tbackground: none;\\n\\t\\t\\tfont-size: 16px;\\n\\n\\t\\t\\t// icon hover/focus feedback\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.icon-confirm {\\n\\t\\t\\t\\t@include iconfont('confirm');\\n\\t\\t\\t\\tborder-left: none;\\n\\t\\t\\t}\\n\\t\\t\\t&.icon-confirm:hover {\\n\\t\\t\\t\\tborder-radius: 0px var(--border-radius) var(--border-radius) 0px !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.icon-close {\\n\\t\\t\\t\\t@include iconfont('close');\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-close {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n/* 'New' button */\\n.app-navigation-new[data-v-cc6353a2] {\\n display: block;\\n padding: 10px;\\n}\\n.app-navigation-new button[data-v-cc6353a2] {\\n display: inline-block;\\n width: 100%;\\n padding: 10px;\\n padding-left: 34px;\\n background-position: 10px center;\\n text-align: left;\\n margin: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppNavigationNew.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAyCF,iBAAA;AACA;EACC,cAAc;EACd,aAAa;AAAA;AAFd;IAIE,qBAAqB;IACrB,WAAW;IACX,aAAa;IACb,kBAAkB;IAClB,gCAAgC;IAChC,gBAAgB;IAChB,SAAS;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* 'New' button */\\n.app-navigation-new {\\n\\tdisplay: block;\\n\\tpadding: 10px;\\n\\tbutton {\\n\\t\\tdisplay: inline-block;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 10px;\\n\\t\\tpadding-left: 34px;\\n\\t\\tbackground-position: 10px center;\\n\\t\\ttext-align: left;\\n\\t\\tmargin: 0;\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=style&index=0&lang=scss&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=style&index=0&lang=scss& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.app-navigation-new-item__title {\\n overflow: hidden;\\n max-width: 100%;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n padding-left: 7px;\\n font-size: 14px;\\n}\\n.newItemContainer {\\n width: calc(100% - 44px);\\n margin: auto;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppNavigationNewItem.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAmIF;EACC,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;EACvB,iBAAiB;EACjB,eAAe;AAAA;AAGhB;EACC,wBAAsC;EACtC,YAAY;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-new-item__title {\\n\\toverflow: hidden;\\n\\tmax-width: 100%;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tpadding-left: 7px;\\n\\tfont-size: 14px;\\n}\\n\\n.newItemContainer {\\n\\twidth: calc(100% - #{$clickable-area});\\n\\tmargin: auto;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n#app-settings-content[data-v-9c9c397e] {\\n display: block;\\n padding: 10px;\\n background-color: var(--color-main-background);\\n /* restrict height of settings and make scrollable */\\n max-height: 300px;\\n overflow-y: auto;\\n box-sizing: border-box;\\n}\\n.slide-up-leave-active[data-v-9c9c397e],\\n.slide-up-enter-active[data-v-9c9c397e] {\\n transition-duration: var(--animation-slow);\\n transition-property: max-height, padding;\\n overflow-y: hidden !important;\\n}\\n.slide-up-enter[data-v-9c9c397e],\\n.slide-up-leave-to[data-v-9c9c397e] {\\n max-height: 0 !important;\\n padding: 0 10px !important;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppNavigationSettings.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AA2DF;EACC,cAAc;EACd,aAAa;EACb,8CAA8C;EAC9C,oDAAA;EACA,iBAAiB;EACjB,gBAAgB;EAChB,sBAAsB;AAAA;AAGvB;;EAEC,0CAA0C;EAC1C,wCAAwC;EACxC,6BAA6B;AAAA;AAG9B;;EAEC,wBAAwB;EACxB,0BAA0B;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n#app-settings-content {\\n\\tdisplay: block;\\n\\tpadding: 10px;\\n\\tbackground-color: var(--color-main-background);\\n\\t/* restrict height of settings and make scrollable */\\n\\tmax-height: 300px;\\n\\toverflow-y: auto;\\n\\tbox-sizing: border-box;\\n}\\n\\n.slide-up-leave-active,\\n.slide-up-enter-active {\\n\\ttransition-duration: var(--animation-slow);\\n\\ttransition-property: max-height, padding;\\n\\toverflow-y: hidden !important;\\n}\\n\\n.slide-up-enter,\\n.slide-up-leave-to {\\n\\tmax-height: 0 !important;\\n\\tpadding: 0 10px !important;\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=style&index=0&id=17ebeae3&scoped=true&lang=scss&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=style&index=0&id=17ebeae3&scoped=true&lang=scss& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon[data-v-17ebeae3] {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.app-navigation-toggle[data-v-17ebeae3] {\\n position: absolute;\\n top: 0;\\n right: 0;\\n margin-right: -44px;\\n width: 44px;\\n height: 44px;\\n padding: 14px;\\n cursor: pointer;\\n opacity: 0.6;\\n font-size: 16px;\\n line-height: 17px;\\n}\\n.app-navigation-toggle[data-v-17ebeae3]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.app-navigation-toggle[data-v-17ebeae3]:hover, .app-navigation-toggle[data-v-17ebeae3]:focus {\\n opacity: 1;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppNavigationToggle.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AEsEA;EACC,mCAAmC;EACnC,4CAAuC;EAAE,qBAAA;EACzC,mPAGmD;EAAE,eAAA;AAAgB;AAMtE;EACE,kBAAkB;EAClB,gBAAgB;AAAA;AAFlB;IAMM,mCAAmC;IACnC,YA5Ge;AAAO;AAqG5B;IAMM,mCAAmC;IACnC,YA3GQ;AAAO;AAoGrB;IAMM,mCAAmC;IACnC,YA1GgB;AAAO;AAmG7B;IAMM,mCAAmC;IACnC,YAzGS;AAAO;AAkGtB;IAMM,mCAAmC;IACnC,YAxGQ;AAAO;AAiGrB;IAMM,mCAAmC;IACnC,YAvGO;AAAO;AAgGpB;IAMM,mCAAmC;IACnC,YAtGG;AAAO;AA+FhB;IAMM,mCAAmC;IACnC,YArGK;AAAO;AA8FlB;IAMM,mCAAmC;IACnC,YApGE;AAAO;AA6Ff;IAMM,mCAAmC;IACnC,YAnGE;AAAO;AA4Ff;IAMM,mCAAmC;IACnC,YAlGE;AAAO;AA2Ff;IAMM,mCAAmC;IACnC,YAjGG;AAAO;AA0FhB;IAMM,mCAAmC;IACnC,YAhGE;AAAO;AAyFf;IAMM,mCAAmC;IACnC,YA/FQ;AAAO;AAwFrB;IAMM,mCAAmC;IACnC,YA9Fc;AAAO;AAuF3B;IAMM,mCAAmC;IACnC,YA7Fa;AAAO;AAsF1B;IAMM,mCAAmC;IACnC,YA5FmB;AAAO;AAqFhC;IAMM,mCAAmC;IACnC,YA3FgB;AAAO;AFqC/B;EACC,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,mBCnCoB;EDoCpB,WCpCoB;EDqCpB,YCrCoB;EDsCpB,aC9B+C;EDgC/C,eAAe;EACf,YAAY;EAEZ,eCvCe;EDwCf,iBAAiB;AAAA;AAblB;IE0BI,mCAjFmB;IAkFnB,kBAAkB;IAClB,gBAAgB;IAChB,YA1EM;AAAO;AF6CjB;IAkBE,UC9Bc;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.app-navigation-toggle {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tmargin-right: - $clickable-area;\\n\\twidth: $clickable-area;\\n\\theight: $clickable-area;\\n\\tpadding: $icon-margin;\\n\\n\\tcursor: pointer;\\n\\topacity: 0.6;\\n\\n\\tfont-size: $icon-size;\\n\\tline-height: 17px;\\n\\t@include iconfont('menu');\\n\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\topacity: $opacity_full;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=style&index=0&id=1d3abcae&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=style&index=0&id=1d3abcae&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n[data-v-1d3abcae] .modal-wrapper .modal-container {\\n display: flex;\\n}\\n.app-settings[data-v-1d3abcae] {\\n display: flex;\\n width: 100%;\\n}\\n.app-settings__navigation[data-v-1d3abcae] {\\n min-width: 200px;\\n margin-right: 20px;\\n}\\n.app-settings__content[data-v-1d3abcae] {\\n max-width: 100vw;\\n overflow-y: auto;\\n overflow-x: hidden;\\n padding: 24px;\\n}\\n.navigation-list[data-v-1d3abcae] {\\n height: 100%;\\n overflow-y: auto;\\n}\\n.navigation-list__link[data-v-1d3abcae] {\\n display: block;\\n font-size: 16px;\\n height: 44px;\\n margin: 4px;\\n line-height: 44px;\\n border-radius: var(--border-radius-pill);\\n font-weight: bold;\\n padding: 0 20px;\\n cursor: pointer;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n background-color: transparent;\\n border: none;\\n}\\n.navigation-list__link[data-v-1d3abcae]:hover, .navigation-list__link[data-v-1d3abcae]:focus {\\n background-color: var(--color-background-hover);\\n}\\n.navigation-list__link--active[data-v-1d3abcae] {\\n background-color: var(--color-primary-light) !important;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppSettingsDialog.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAuQF;EACC,aAAa;AAAA;AAGd;EACC,aAAa;EACb,WAAW;AAAA;AACX;IACC,gBAAgB;IAChB,kBAAkB;AAAA;AAEnB;IACC,gBAAgB;IAChB,gBAAgB;IAChB,kBAAkB;IAClB,aAAa;AAAA;AAIf;EACC,YAAY;EACZ,gBAAgB;AAAA;AAChB;IACC,cAAc;IACd,eAAe;IACf,YC5RmB;ID6RnB,WAAW;IACX,iBC9RmB;ID+RnB,wCAAwC;IACxC,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,mBAAmB;IACnB,uBAAuB;IACvB,gBAAgB;IAChB,6BAA6B;IAC7B,YAAY;AAAA;AAdZ;MAiBC,+CAA+C;AAAA;AAEhD;MACC,uDAAuD;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n::v-deep .modal-wrapper .modal-container {\\n\\tdisplay: flex;\\n}\\n\\n.app-settings {\\n\\tdisplay: flex;\\n\\twidth: 100%;\\n\\t&__navigation {\\n\\t\\tmin-width: 200px;\\n\\t\\tmargin-right: 20px;\\n\\t}\\n\\t&__content {\\n\\t\\tmax-width: 100vw;\\n\\t\\toverflow-y: auto;\\n\\t\\toverflow-x: hidden;\\n\\t\\tpadding: 24px;\\n\\t}\\n}\\n\\n.navigation-list {\\n\\theight: 100%;\\n\\toverflow-y: auto;\\n\\t&__link {\\n\\t\\tdisplay: block;\\n\\t\\tfont-size: 16px;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 4px;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\tfont-weight: bold;\\n\\t\\tpadding: 0 20px;\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t\\tbackground-color: transparent;\\n\\t\\tborder: none;\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t&--active {\\n\\t\\t\\tbackground-color: var(--color-primary-light) !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=style&index=0&id=a1fa5522&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=style&index=0&id=a1fa5522&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.app-settings-section[data-v-a1fa5522] {\\n margin-bottom: 80px;\\n}\\n.app-settings-section__title[data-v-a1fa5522] {\\n font-size: 20px;\\n font-weight: bold;\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppSettingsSection.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAiCF;EACC,mBAAmB;AAAA;AACnB;IACC,eAAe;IACf,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,uBAAuB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-settings-section {\\n\\tmargin-bottom: 80px;\\n\\t&__title {\\n\\t\\tfont-size: 20px;\\n\\t\\tfont-weight: bold;\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=0&id=4a2a5f2f&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=0&id=4a2a5f2f&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n/*\\n\\tSidebar: to be used within #content\\n\\tapp-content will be shrinked properly\\n*/\\n.app-sidebar[data-v-4a2a5f2f] {\\n position: -webkit-sticky;\\n position: sticky;\\n z-index: 1500;\\n top: var(--header-height);\\n right: 0;\\n display: flex;\\n overflow-x: hidden;\\n overflow-y: auto;\\n flex-direction: column;\\n flex-shrink: 0;\\n width: 27vw;\\n min-width: 300px;\\n max-width: 500px;\\n height: calc(100vh - var(--header-height));\\n border-left: 1px solid var(--color-border);\\n background: var(--color-main-background);\\n}\\n.app-sidebar .app-sidebar-header > .app-sidebar__close[data-v-4a2a5f2f] {\\n position: absolute;\\n z-index: 100;\\n top: 6px;\\n right: 6px;\\n width: 44px;\\n height: 44px;\\n opacity: 0.7;\\n border-radius: 22px;\\n}\\n.app-sidebar .app-sidebar-header > .app-sidebar__close[data-v-4a2a5f2f]:hover, .app-sidebar .app-sidebar-header > .app-sidebar__close[data-v-4a2a5f2f]:active, .app-sidebar .app-sidebar-header > .app-sidebar__close[data-v-4a2a5f2f]:focus {\\n opacity: 1;\\n background-color: rgba(127, 127, 127, 0.25);\\n}\\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info[data-v-4a2a5f2f] {\\n flex-direction: row;\\n}\\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__figure[data-v-4a2a5f2f] {\\n z-index: 2;\\n width: 70px;\\n height: 70px;\\n margin: 9px;\\n border-radius: 3px;\\n flex: 0 0 auto;\\n}\\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc[data-v-4a2a5f2f] {\\n padding-left: 0;\\n flex: 1 1 auto;\\n min-width: 0;\\n padding-right: 94px;\\n}\\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-4a2a5f2f] {\\n padding-right: 50px;\\n}\\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-4a2a5f2f] {\\n z-index: 3;\\n position: absolute;\\n top: 9px;\\n left: -44px;\\n}\\n.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__menu[data-v-4a2a5f2f] {\\n top: 6px;\\n right: 50px;\\n background-color: transparent;\\n position: absolute;\\n}\\n.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__menu[data-v-4a2a5f2f] {\\n position: absolute;\\n top: 6px;\\n right: 50px;\\n}\\n.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc[data-v-4a2a5f2f] {\\n padding-right: 94px;\\n}\\n.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-4a2a5f2f] {\\n padding-right: 50px;\\n}\\n.app-sidebar .app-sidebar-header .app-sidebar-header__info[data-v-4a2a5f2f] {\\n display: flex;\\n flex-direction: column;\\n}\\n.app-sidebar .app-sidebar-header__figure[data-v-4a2a5f2f] {\\n width: 100%;\\n height: 250px;\\n max-height: 250px;\\n background-repeat: no-repeat;\\n background-position: center;\\n background-size: contain;\\n}\\n.app-sidebar .app-sidebar-header__figure--with-action[data-v-4a2a5f2f] {\\n cursor: pointer;\\n}\\n.app-sidebar .app-sidebar-header__desc[data-v-4a2a5f2f] {\\n position: relative;\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n padding: 18px 6px 18px 9px;\\n}\\n.app-sidebar .app-sidebar-header__desc--with-tertiary-action[data-v-4a2a5f2f] {\\n padding-left: 0;\\n}\\n.app-sidebar .app-sidebar-header__desc--editable .app-sidebar-header__maintitle-form[data-v-4a2a5f2f],\\n .app-sidebar .app-sidebar-header__desc--with-subtitle--editable .app-sidebar-header__maintitle-form[data-v-4a2a5f2f] {\\n margin-top: -2px;\\n margin-bottom: -2px;\\n}\\n.app-sidebar .app-sidebar-header__desc--with-subtitle--editable .app-sidebar-header__subtitle[data-v-4a2a5f2f] {\\n margin-top: -2px;\\n}\\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-4a2a5f2f] {\\n display: flex;\\n height: 44px;\\n width: 44px;\\n justify-content: center;\\n flex: 0 0 auto;\\n}\\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container[data-v-4a2a5f2f] {\\n flex: 1 1 auto;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n min-width: 0;\\n}\\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle[data-v-4a2a5f2f] {\\n padding: 0;\\n min-height: 30px;\\n font-size: 20px;\\n line-height: 30px;\\n}\\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle[data-v-4a2a5f2f] .linkified {\\n cursor: pointer;\\n text-decoration: underline;\\n}\\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle[data-v-4a2a5f2f],\\n .app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__subtitle[data-v-4a2a5f2f] {\\n overflow: hidden;\\n width: 100%;\\n margin: 0;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__subtitle[data-v-4a2a5f2f] {\\n padding: 0;\\n opacity: 0.7;\\n font-size: var(--default-font-size);\\n}\\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-form[data-v-4a2a5f2f] {\\n display: flex;\\n margin-left: -7.5px;\\n}\\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-form .icon-confirm[data-v-4a2a5f2f] {\\n margin: 0;\\n}\\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-form input.app-sidebar-header__maintitle-input[data-v-4a2a5f2f] {\\n flex: 1 1 auto;\\n margin: 0;\\n padding: 7px;\\n font-size: 20px;\\n font-weight: bold;\\n}\\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star[data-v-4a2a5f2f] {\\n display: block;\\n width: 44px;\\n height: 44px;\\n padding: 14px;\\n}\\n.app-sidebar .app-sidebar-header__desc .app-sidebar-header__menu[data-v-4a2a5f2f] {\\n height: 44px;\\n width: 44px;\\n border-radius: 22px;\\n background-color: rgba(127, 127, 127, 0.25);\\n}\\n.app-sidebar .app-sidebar-header__description[data-v-4a2a5f2f] {\\n display: flex;\\n align-items: center;\\n margin: 0 10px;\\n}\\n.slide-right-leave-active[data-v-4a2a5f2f],\\n.slide-right-enter-active[data-v-4a2a5f2f] {\\n transition-duration: var(--animation-quick);\\n transition-property: max-width, min-width;\\n}\\n.slide-right-enter-to[data-v-4a2a5f2f],\\n.slide-right-leave[data-v-4a2a5f2f] {\\n min-width: 300px;\\n max-width: 500px;\\n}\\n.slide-right-enter[data-v-4a2a5f2f],\\n.slide-right-leave-to[data-v-4a2a5f2f] {\\n min-width: 0 !important;\\n max-width: 0 !important;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppSidebar.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAugBF;;;CAngBC;AAugBD;EACC,wBAAwB;EACxB,gBAAgB;EAChB,aAAa;EACb,yBAAyB;EACzB,QAAQ;EACR,aAAa;EACb,kBAAkB;EAClB,gBAAgB;EAChB,sBAAsB;EACtB,cAAc;EACd,WAAW;EACX,gBA7BwB;EA8BxB,gBA7BwB;EA8BxB,0CAA0C;EAC1C,0CAA0C;EAC1C,wCAAwC;AAAA;AAhBzC;IAmBG,kBAAkB;IAClB,YAAY;IACZ,QA3BsB;IA4BtB,UA5BsB;IA6BtB,WC9hBkB;ID+hBlB,YC/hBkB;IDgiBlB,YC9gBgB;ID+gBhB,mBAAkC;AAAA;AA1BrC;MA8BI,UClhBY;MDmhBZ,2CC/gB8C;AAAA;ADgflD;IAsCI,mBAAmB;AAAA;AAtCvB;MAyCK,UAAU;MACV,WAA4C;MAC5C,YAA6C;MAC7C,WAAkC;MAClC,kBAAkB;MAClB,cAAc;AAAA;AA9CnB;MAiDK,eAAe;MACf,cAAc;MACd,YAAY;MACZ,mBAAyD;AAAA;AApD9D;QAuDM,mBAAe;AAAA;AAvDrB;QA2DM,UAAU;QACV,kBAAkB;QAClB,QAA+B;QAC/B,WAA0B;AAAA;AA9DhC;QAiEM,QAvEmB;QAwEnB,WAA6C;QAC7C,6BAA6B;QAC7B,kBAAkB;AAAA;AApExB;IA8EI,kBAAkB;IAClB,QArFqB;IAsFrB,WAA6C;AAAA;AAhFjD;IAoFI,mBAAe;AAAA;AApFnB;MAuFK,mBAAe;AAAA;AAvFpB;IA8FG,aAAa;IACb,sBAAsB;AAAA;AA/FzB;IAoGG,WAAW;IACX,aAAa;IACb,iBAAiB;IACjB,4BAA4B;IAC5B,2BAA2B;IAC3B,wBAAwB;AAAA;AAzG3B;MA2GI,eAAe;AAAA;AA3GnB;IAiHG,kBAAkB;IAClB,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,0BAAkH;AAAA;AArHrH;MAyHI,eAAe;AAAA;AAzHnB;;MA8HI,gBAAgB;MAChB,mBAAmB;AAAA;AA/HvB;MAmII,gBAAgB;AAAA;AAnIpB;MAuII,aAAa;MACb,YC/oBiB;MDgpBjB,WChpBiB;MDipBjB,uBAAuB;MACvB,cAAc;AAAA;AA3IlB;MAgJI,cAAc;MACd,aAAa;MACb,sBAAsB;MACtB,uBAAuB;MACvB,YAAY;AAAA;AApJhB;QAwJK,UAAU;QACV,gBAAgB;QAChB,eAAe;QACf,iBArKmB;AAAA;AAUxB;UA+JM,eAAe;UACf,0BAA0B;AAAA;AAhKhC;;QAsKK,gBAAgB;QAChB,WAAW;QACX,SAAS;QACT,mBAAmB;QACnB,uBAAuB;AAAA;AA1K5B;QA+KK,UAAU;QACV,YCrqBc;QDsqBd,mCAAmC;AAAA;AAjLxC;QAqLK,aAAa;QACb,mBAAmB;AAAA;AAtLxB;UAwLM,SAAS;AAAA;AAxLf;UA4LM,cAAc;UACd,SAAS;UACT,YA3MkB;UA4MlB,eAAe;UACf,iBAAiB;AAAA;AAhMvB;MAuMI,cAAc;MACd,WC/sBiB;MDgtBjB,YChtBiB;MDitBjB,aCzsB4C;AAAA;AD+fhD;MA8MI,YCrtBiB;MDstBjB,WCttBiB;MDutBjB,mBAAkC;MAClC,2CCjsB8C;AAAA;ADgflD;IAuNG,aAAa;IACb,mBAAmB;IACnB,cAAc;AAAA;AAKjB;;EAEC,2CAA2C;EAC3C,yCAAyC;AAAA;AAG1C;;EAEC,gBAvPwB;EAwPxB,gBAvPwB;AAAA;AA0PzB;;EAEC,uBAAuB;EACvB,uBAAuB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$sidebar-min-width: 300px;\\n$sidebar-max-width: 500px;\\n\\n$desc-vertical-padding: 18px;\\n$desc-input-padding: 7px;\\n\\n// title and subtitle\\n$desc-title-height: 30px;\\n$desc-subtitle-height: 22px;\\n$desc-height: $desc-title-height + $desc-subtitle-height;\\n\\n$top-buttons-spacing: 6px;\\n\\n/*\\n\\tSidebar: to be used within #content\\n\\tapp-content will be shrinked properly\\n*/\\n.app-sidebar {\\n\\tposition: -webkit-sticky; // Safari support\\n\\tposition: sticky;\\n\\tz-index: 1500;\\n\\ttop: var(--header-height);\\n\\tright: 0;\\n\\tdisplay: flex;\\n\\toverflow-x: hidden;\\n\\toverflow-y: auto;\\n\\tflex-direction: column;\\n\\tflex-shrink: 0;\\n\\twidth: 27vw;\\n\\tmin-width: $sidebar-min-width;\\n\\tmax-width: $sidebar-max-width;\\n\\theight: calc(100vh - var(--header-height));\\n\\tborder-left: 1px solid var(--color-border);\\n\\tbackground: var(--color-main-background);\\n\\t.app-sidebar-header {\\n\\t\\t> .app-sidebar__close {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tz-index: 100;\\n\\t\\t\\ttop: $top-buttons-spacing;\\n\\t\\t\\tright: $top-buttons-spacing;\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:active,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tbackground-color: $action-background-hover;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Compact mode only affects a sidebar with a figure\\n\\t\\t&--compact.app-sidebar-header--with-figure {\\n\\t\\t\\t.app-sidebar-header__info {\\n\\t\\t\\t\\tflex-direction: row;\\n\\n\\t\\t\\t\\t.app-sidebar-header__figure {\\n\\t\\t\\t\\t\\tz-index: 2;\\n\\t\\t\\t\\t\\twidth: $desc-height + $desc-vertical-padding;\\n\\t\\t\\t\\t\\theight: $desc-height + $desc-vertical-padding;\\n\\t\\t\\t\\t\\tmargin: $desc-vertical-padding / 2;\\n\\t\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t.app-sidebar-header__desc {\\n\\t\\t\\t\\t\\tpadding-left: 0;\\n\\t\\t\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\t\\tpadding-right: 2 * $clickable-area + $top-buttons-spacing;\\n\\n\\t\\t\\t\\t\\t&.app-sidebar-header__desc--without-actions {\\n\\t\\t\\t\\t\\t\\tpadding-right: #{$clickable-area + $top-buttons-spacing};\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t.app-sidebar-header__tertiary-actions {\\n\\t\\t\\t\\t\\t\\tz-index: 3; // above star\\n\\t\\t\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\t\\t\\ttop: $desc-vertical-padding / 2;\\n\\t\\t\\t\\t\\t\\tleft: -1 * $clickable-area;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t.app-sidebar-header__menu {\\n\\t\\t\\t\\t\\t\\ttop: $top-buttons-spacing;\\n\\t\\t\\t\\t\\t\\tright: $clickable-area + $top-buttons-spacing; // left of the close button\\n\\t\\t\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// sidebar without figure\\n\\t\\t&:not(.app-sidebar-header--with-figure) {\\n\\t\\t\\t// align the menu with the close button\\n\\t\\t\\t.app-sidebar-header__menu {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: $top-buttons-spacing;\\n\\t\\t\\t\\tright: $top-buttons-spacing + $clickable-area;\\n\\t\\t\\t}\\n\\t\\t\\t// increase the padding to not overlap the menu\\n\\t\\t\\t.app-sidebar-header__desc {\\n\\t\\t\\t\\tpadding-right: #{$clickable-area * 2 + $top-buttons-spacing};\\n\\n\\t\\t\\t\\t&.app-sidebar-header__desc--without-actions {\\n\\t\\t\\t\\t\\tpadding-right: #{$clickable-area + $top-buttons-spacing};\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// the container with the figure and the description\\n\\t\\t.app-sidebar-header__info {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t}\\n\\n\\t\\t// header background\\n\\t\\t&__figure {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 250px;\\n\\t\\t\\tmax-height: 250px;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: contain;\\n\\t\\t\\t&--with-action {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// description\\n\\t\\t&__desc {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tpadding: #{$desc-vertical-padding} #{$top-buttons-spacing} #{$desc-vertical-padding} #{$desc-vertical-padding / 2};\\n\\n\\t\\t\\t// custom overrides\\n\\t\\t\\t&--with-tertiary-action {\\n\\t\\t\\t\\tpadding-left: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--editable .app-sidebar-header__maintitle-form,\\n\\t\\t\\t&--with-subtitle--editable .app-sidebar-header__maintitle-form {\\n\\t\\t\\t\\tmargin-top: -2px;\\n\\t\\t\\t\\tmargin-bottom: -2px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--with-subtitle--editable .app-sidebar-header__subtitle {\\n\\t\\t\\t\\tmargin-top: -2px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.app-sidebar-header__tertiary-actions {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// titles\\n\\t\\t\\t.app-sidebar-header__title-container {\\n\\t\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tflex-direction: column;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tmin-width: 0;\\n\\n\\t\\t\\t\\t// main title\\n\\t\\t\\t\\t.app-sidebar-header__maintitle {\\n\\t\\t\\t\\t\\tpadding: 0;\\n\\t\\t\\t\\t\\tmin-height: 30px;\\n\\t\\t\\t\\t\\tfont-size: 20px;\\n\\t\\t\\t\\t\\tline-height: $desc-title-height;\\n\\n\\t\\t\\t\\t\\t// Needs 'deep' as the link is generated by the linkify directive\\n\\t\\t\\t\\t\\t&::v-deep .linkified {\\n\\t\\t\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.app-sidebar-header__maintitle,\\n\\t\\t\\t\\t.app-sidebar-header__subtitle {\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// subtitle\\n\\t\\t\\t\\t.app-sidebar-header__subtitle {\\n\\t\\t\\t\\t\\tpadding: 0;\\n\\t\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t\\t\\tfont-size: var(--default-font-size);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.app-sidebar-header__maintitle-form {\\n\\t\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\t\\tmargin-left: -7.5px;\\n\\t\\t\\t\\t\\t& .icon-confirm {\\n\\t\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tinput.app-sidebar-header__maintitle-input {\\n\\t\\t\\t\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\t\\tpadding: $desc-input-padding;\\n\\t\\t\\t\\t\\t\\tfont-size: 20px;\\n\\t\\t\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// favourite\\n\\t\\t\\t.app-sidebar-header__star {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tpadding: $icon-margin;\\n\\t\\t\\t}\\n\\t\\t\\t// main menu\\n\\t\\t\\t.app-sidebar-header__menu {\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\t\\tbackground-color: $action-background-hover;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// sidebar description slot\\n\\t\\t&__description {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmargin: 0 10px;\\n\\t\\t}\\n\\t}\\n}\\n\\n.slide-right-leave-active,\\n.slide-right-enter-active {\\n\\ttransition-duration: var(--animation-quick);\\n\\ttransition-property: max-width, min-width;\\n}\\n\\n.slide-right-enter-to,\\n.slide-right-leave {\\n\\tmin-width: $sidebar-min-width;\\n\\tmax-width: $sidebar-max-width;\\n}\\n\\n.slide-right-enter,\\n.slide-right-leave-to {\\n\\tmin-width: 0 !important;\\n\\tmax-width: 0 !important;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=1&lang=scss&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=1&lang=scss& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.app-sidebar-header__description button, .app-sidebar-header__description .button,\\n.app-sidebar-header__description input[type='button'],\\n.app-sidebar-header__description input[type='submit'],\\n.app-sidebar-header__description input[type='reset'] {\\n padding: 6px 22px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppSidebar.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AA+vBF;;;;EAKE,iBAAiB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n// ! slots specific designs, cannot be scoped\\n// if any button inside the description slot, increase visual padding\\n.app-sidebar-header__description {\\n\\tbutton, .button,\\n\\tinput[type='button'],\\n\\tinput[type='submit'],\\n\\tinput[type='reset'] {\\n\\t\\tpadding: 6px 22px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=style&index=0&id=5772e44d&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=style&index=0&id=5772e44d&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.app-sidebar-tabs[data-v-5772e44d] {\\n display: flex;\\n flex-direction: column;\\n min-height: 0;\\n flex: 1 1 100%;\\n}\\n.app-sidebar-tabs__nav[data-v-5772e44d] {\\n margin-top: 10px;\\n}\\n.app-sidebar-tabs__nav ul[data-v-5772e44d] {\\n display: flex;\\n justify-content: stretch;\\n}\\n.app-sidebar-tabs__tab[data-v-5772e44d] {\\n display: block;\\n flex: 1 1;\\n min-width: 0;\\n text-align: center;\\n}\\n.app-sidebar-tabs__tab a[data-v-5772e44d] {\\n position: relative;\\n display: block;\\n overflow: hidden;\\n padding: 25px 5px 5px 5px;\\n transition: color var(--animation-quick), opacity var(--animation-quick), border-color var(--animation-quick);\\n text-align: center;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n opacity: 0.7;\\n color: var(--color-main-text);\\n border-bottom: 1px solid var(--color-border);\\n}\\n.app-sidebar-tabs__tab a[data-v-5772e44d]:hover, .app-sidebar-tabs__tab a[data-v-5772e44d]:focus, .app-sidebar-tabs__tab a[data-v-5772e44d]:active, .app-sidebar-tabs__tab a.active[data-v-5772e44d] {\\n opacity: 1;\\n}\\n.app-sidebar-tabs__tab a:hover .app-sidebar-tabs__tab-icon[data-v-5772e44d], .app-sidebar-tabs__tab a:focus .app-sidebar-tabs__tab-icon[data-v-5772e44d], .app-sidebar-tabs__tab a:active .app-sidebar-tabs__tab-icon[data-v-5772e44d], .app-sidebar-tabs__tab a.active .app-sidebar-tabs__tab-icon[data-v-5772e44d] {\\n opacity: 1;\\n}\\n.app-sidebar-tabs__tab a[data-v-5772e44d]:not(.active):hover, .app-sidebar-tabs__tab a[data-v-5772e44d]:not(.active):focus {\\n border-bottom-color: var(--color-background-darker);\\n box-shadow: inset 0 -1px 0 var(--color-background-darker);\\n}\\n.app-sidebar-tabs__tab a.active[data-v-5772e44d] {\\n color: var(--color-text-light);\\n border-bottom-color: var(--color-text-light);\\n box-shadow: inset 0 -1px 0 var(--color-text-light);\\n font-weight: bold;\\n}\\n.app-sidebar-tabs__tab a[data-v-5772e44d]:focus {\\n border-bottom-color: var(--color-primary-element);\\n box-shadow: inset 0 -1px 0 var(--color-primary-element);\\n}\\n.app-sidebar-tabs__tab-icon[data-v-5772e44d] {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 25px;\\n transition: opacity var(--animation-quick);\\n opacity: 0.7;\\n background-position: center 8px;\\n background-size: 16px;\\n}\\n.app-sidebar-tabs__content[data-v-5772e44d] {\\n position: relative;\\n min-height: 0;\\n height: 100%;\\n}\\n.app-sidebar-tabs__content--multiple[data-v-5772e44d] > :not(section) {\\n display: none;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppSidebarTabs.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAkPF;EACC,aAAa;EACb,sBAAsB;EACtB,aAAa;EACb,cAAc;AAAA;AAEd;IACC,gBAAgB;AAAA;AADhB;MAGC,aAAa;MACb,wBAAwB;AAAA;AAG1B;IACC,cAAc;IACd,SAAS;IACT,YAAY;IACZ,kBAAkB;AAAA;AAJlB;MAMC,kBAAkB;MAClB,cAAc;MACd,gBAAgB;MAChB,yBAAyB;MACzB,6GAA6G;MAC7G,kBAAkB;MAClB,mBAAmB;MACnB,uBAAuB;MACvB,YCvPgB;MDwPhB,6BAA6B;MAC7B,4CAA4C;AAAA;AAhB7C;QAsBE,UC9PY;AAAA;ADwOd;UAwBG,UChQW;AAAA;ADwOd;QA6BE,mDAAmD;QACnD,yDAAyD;AAAA;AA9B3D;QAiCE,8BAA8B;QAC9B,4CAA4C;QAC5C,kDAAkD;QAClD,iBAAiB;AAAA;AApCnB;QA0CE,iDAAiD;QACjD,uDAAuD;AAAA;AAK1D;IACC,kBAAkB;IAClB,MAAM;IACN,OAAO;IACP,WAAW;IACX,YAAY;IACZ,0CAA0C;IAC1C,YChSiB;IDiSjB,+BAA+B;IAC/B,qBAAqB;AAAA;AAGtB;IACC,kBAAkB;IAElB,aAAa;IACb,YAAY;AAAA;AAGZ;MACC,aAAa;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-sidebar-tabs {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmin-height: 0;\\n\\tflex: 1 1 100%;\\n\\n\\t&__nav {\\n\\t\\tmargin-top: 10px;\\n\\t\\tul {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tjustify-content: stretch;\\n\\t\\t}\\n\\t}\\n\\t&__tab {\\n\\t\\tdisplay: block;\\n\\t\\tflex: 1 1;\\n\\t\\tmin-width: 0;\\n\\t\\ttext-align: center;\\n\\t\\ta {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tpadding: 25px 5px 5px 5px;\\n\\t\\t\\ttransition: color var(--animation-quick), opacity var(--animation-quick), border-color var(--animation-quick);\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active,\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t.app-sidebar-tabs__tab-icon {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(.active):hover,\\n\\t\\t\\t&:not(.active):focus {\\n\\t\\t\\t\\tborder-bottom-color: var(--color-background-darker);\\n\\t\\t\\t\\tbox-shadow: inset 0 -1px 0 var(--color-background-darker);\\n\\t\\t\\t}\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\t\\tborder-bottom-color: var(--color-text-light);\\n\\t\\t\\t\\tbox-shadow: inset 0 -1px 0 var(--color-text-light);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t// differentiate the two for accessibility purpose\\n\\t\\t\\t// make sure the user knows she's focusing the navigation\\n\\t\\t\\t// and can use arrows/home/pageup...\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\tborder-bottom-color: var(--color-primary-element);\\n\\t\\t\\t\\tbox-shadow: inset 0 -1px 0 var(--color-primary-element);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__tab-icon {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\twidth: 100%;\\n\\t\\theight: 25px;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: $opacity_normal;\\n\\t\\tbackground-position: center 8px;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tposition: relative;\\n\\t\\t// take full available height\\n\\t\\tmin-height: 0;\\n\\t\\theight: 100%;\\n\\t\\t// force the use of the tab component if more than one tab\\n\\t\\t// you can just put raw content if you don't use tabs\\n\\t\\t&--multiple > :not(section) {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=style&index=0&id=e5dbfd76&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=style&index=0&id=e5dbfd76&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.app-sidebar__tab[data-v-e5dbfd76] {\\n display: none;\\n padding: 10px;\\n min-height: 100%;\\n max-height: 100%;\\n overflow: auto;\\n}\\n.app-sidebar__tab[data-v-e5dbfd76]:focus {\\n border-color: var(--color-primary);\\n box-shadow: 0 0 0.2em var(--color-primary);\\n outline: 0;\\n}\\n.app-sidebar__tab--active[data-v-e5dbfd76] {\\n display: block;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppSidebarTab.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAiEF;EACC,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,gBAAgB;EAChB,cAAc;AAAA;AALf;IAQE,kCAAkC;IAClC,0CAA0C;IAC1C,UAAU;AAAA;AAGX;IACC,cAAc;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-sidebar__tab {\\n\\tdisplay: none;\\n\\tpadding: 10px;\\n\\tmin-height: 100%; // fill available height\\n\\tmax-height: 100%; // scroll inside\\n\\toverflow: auto;\\n\\n\\t&:focus {\\n\\t\\tborder-color: var(--color-primary);\\n\\t\\tbox-shadow: 0 0 0.2em var(--color-primary);\\n\\t\\toutline: 0;\\n\\t}\\n\\n\\t&--active {\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Avatar/Avatar.vue?vue&type=style&index=0&id=100e3b6f&scoped=true&lang=scss&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Avatar/Avatar.vue?vue&type=style&index=0&id=100e3b6f&scoped=true&lang=scss& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon[data-v-100e3b6f] {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.avatardiv[data-v-100e3b6f] {\\n position: relative;\\n display: inline-block;\\n}\\n.avatardiv--unknown[data-v-100e3b6f] {\\n position: relative;\\n background-color: var(--color-text-maxcontrast);\\n}\\n.avatardiv[data-v-100e3b6f]:not(.avatardiv--unknown) {\\n background-color: #fff !important;\\n box-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n}\\nbody.theme--dark .avatardiv[data-v-100e3b6f]:not(.avatardiv--unknown) {\\n background-color: #000 !important;\\n}\\n.avatardiv--with-menu[data-v-100e3b6f] {\\n cursor: pointer;\\n}\\n.avatardiv--with-menu[data-v-100e3b6f] .trigger {\\n position: absolute;\\n top: 0;\\n left: 0;\\n}\\n.avatardiv--with-menu .icon-more[data-v-100e3b6f] {\\n display: flex;\\n cursor: pointer;\\n opacity: 0;\\n background: none;\\n font-size: 18px;\\n align-items: center;\\n justify-content: center;\\n}\\n.avatardiv--with-menu .icon-more[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.avatardiv--with-menu .icon-more[data-v-100e3b6f]::before {\\n display: block;\\n}\\n.avatardiv--with-menu:focus .icon-more[data-v-100e3b6f], .avatardiv--with-menu:hover .icon-more[data-v-100e3b6f] {\\n opacity: 1;\\n}\\n.avatardiv--with-menu:focus img[data-v-100e3b6f], .avatardiv--with-menu:hover img[data-v-100e3b6f] {\\n opacity: 0.3;\\n}\\n.avatardiv--with-menu .icon-more[data-v-100e3b6f],\\n .avatardiv--with-menu img[data-v-100e3b6f] {\\n transition: opacity var(--animation-quick);\\n}\\n.avatardiv > .unknown[data-v-100e3b6f] {\\n position: absolute;\\n top: 0;\\n left: 0;\\n display: block;\\n width: 100%;\\n text-align: center;\\n font-weight: normal;\\n color: var(--color-main-background);\\n}\\n.avatardiv img[data-v-100e3b6f] {\\n width: 100%;\\n height: 100%;\\n object-fit: cover;\\n}\\n.avatardiv .avatardiv__status[data-v-100e3b6f] {\\n position: absolute;\\n top: 22px;\\n left: 22px;\\n width: 10px;\\n height: 10px;\\n border: 1px solid rgba(255, 255, 255, 0.5);\\n background-clip: content-box;\\n}\\n.avatardiv .avatardiv__status--positive[data-v-100e3b6f] {\\n border-radius: 50%;\\n background-color: var(--color-success);\\n}\\n.avatardiv .avatardiv__status--negative[data-v-100e3b6f] {\\n background-color: var(--color-error);\\n}\\n.avatardiv .avatardiv__status--neutral[data-v-100e3b6f] {\\n border: none;\\n background-color: transparent !important;\\n}\\n.avatardiv .avatardiv__status--neutral svg[data-v-100e3b6f] {\\n position: absolute;\\n top: -3px;\\n left: -2px;\\n}\\n.avatardiv .avatardiv__status--neutral svg path[data-v-100e3b6f] {\\n fill: #aaa;\\n}\\n.avatardiv .avatardiv__user-status[data-v-100e3b6f] {\\n position: absolute;\\n right: -4px;\\n bottom: -4px;\\n height: 18px;\\n width: 18px;\\n line-height: 15px;\\n font-size: var(--default-font-size);\\n border: 2px solid var(--color-main-background);\\n background-color: var(--color-main-background);\\n border-radius: 50%;\\n}\\n.acli:hover .avatardiv .avatardiv__user-status[data-v-100e3b6f] {\\n border-color: var(--color-background-hover);\\n background-color: var(--color-background-hover);\\n}\\n.acli.active .avatardiv .avatardiv__user-status[data-v-100e3b6f] {\\n border-color: var(--color-primary-light);\\n background-color: var(--color-primary-light);\\n}\\n.avatardiv .avatardiv__user-status--online[data-v-100e3b6f] {\\n color: #49b382;\\n}\\n.avatardiv .avatardiv__user-status--online[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.avatardiv .avatardiv__user-status--dnd[data-v-100e3b6f] {\\n background-color: #ffffff;\\n color: #ed484c;\\n}\\n.avatardiv .avatardiv__user-status--dnd[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.avatardiv .avatardiv__user-status--away[data-v-100e3b6f] {\\n color: #f4a331;\\n}\\n.avatardiv .avatardiv__user-status--away[data-v-100e3b6f]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.avatardiv .avatardiv__user-status--icon[data-v-100e3b6f] {\\n border: none;\\n background-color: transparent;\\n}\\n.avatardiv .popovermenu-wrapper[data-v-100e3b6f] {\\n position: relative;\\n display: inline-block;\\n}\\n.avatar-class-icon[data-v-100e3b6f] {\\n border-radius: 50%;\\n background-color: var(--color-background-darker);\\n height: 100%;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./Avatar.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\tbackground: none;\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__status {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 22px;\\n\\t\\tleft: 22px;\\n\\t\\twidth: 10px;\\n\\t\\theight: 10px;\\n\\t\\tborder: 1px solid rgba(255, 255, 255, .5);\\n\\t\\tbackground-clip: content-box;\\n\\t\\t&--positive {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t\\t&--negative {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t\\t&--neutral {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent !important;\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: -3px;\\n\\t\\t\\t\\tleft: -2px;\\n\\t\\t\\t\\tpath {\\n\\t\\t\\t\\t\\tfill: #aaa;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\t@include iconfont('user-status-online');\\n\\t\\t\\tcolor: #49b382;\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\t@include iconfont('user-status-dnd');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t\\tcolor: #ed484c;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\t@include iconfont('user-status-away');\\n\\t\\t\\tcolor: #f4a331;\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Breadcrumb/Breadcrumb.vue?vue&type=style&index=0&id=03216ba2&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Breadcrumb/Breadcrumb.vue?vue&type=style&index=0&id=03216ba2&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon[data-v-03216ba2] {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.crumb[data-v-03216ba2] {\\n background-image: none;\\n display: inline-flex;\\n height: 44px;\\n padding: 0;\\n}\\n.crumb[data-v-03216ba2]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.crumb[data-v-03216ba2]:last-child {\\n max-width: 210px;\\n}\\n.crumb:last-child a[data-v-03216ba2] {\\n flex-shrink: 1;\\n}\\n.crumb[data-v-03216ba2]::before {\\n display: flex;\\n align-items: center;\\n order: 1;\\n color: var(--color-border-dark);\\n font-size: 26px;\\n}\\n.crumb--hidden[data-v-03216ba2] {\\n display: none;\\n}\\n.crumb--with-action a[data-v-03216ba2] {\\n padding-right: 2px;\\n}\\n.crumb > a[data-v-03216ba2], .crumb > span[data-v-03216ba2] {\\n max-width: 100%;\\n}\\n.crumb a[data-v-03216ba2] {\\n align-items: center;\\n display: inline-flex;\\n}\\n.crumb a > span[data-v-03216ba2] {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./Breadcrumb.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AEsEA;EACC,mCAAmC;EACnC,4CAAuC;EAAE,qBAAA;EACzC,mPAGmD;EAAE,eAAA;AAAgB;AAMtE;EACE,kBAAkB;EAClB,gBAAgB;AAAA;AAFlB;IAMM,mCAAmC;IACnC,YA5Ge;AAAO;AAqG5B;IAMM,mCAAmC;IACnC,YA3GQ;AAAO;AAoGrB;IAMM,mCAAmC;IACnC,YA1GgB;AAAO;AAmG7B;IAMM,mCAAmC;IACnC,YAzGS;AAAO;AAkGtB;IAMM,mCAAmC;IACnC,YAxGQ;AAAO;AAiGrB;IAMM,mCAAmC;IACnC,YAvGO;AAAO;AAgGpB;IAMM,mCAAmC;IACnC,YAtGG;AAAO;AA+FhB;IAMM,mCAAmC;IACnC,YArGK;AAAO;AA8FlB;IAMM,mCAAmC;IACnC,YApGE;AAAO;AA6Ff;IAMM,mCAAmC;IACnC,YAnGE;AAAO;AA4Ff;IAMM,mCAAmC;IACnC,YAlGE;AAAO;AA2Ff;IAMM,mCAAmC;IACnC,YAjGG;AAAO;AA0FhB;IAMM,mCAAmC;IACnC,YAhGE;AAAO;AAyFf;IAMM,mCAAmC;IACnC,YA/FQ;AAAO;AAwFrB;IAMM,mCAAmC;IACnC,YA9Fc;AAAO;AAuF3B;IAMM,mCAAmC;IACnC,YA7Fa;AAAO;AAsF1B;IAMM,mCAAmC;IACnC,YA5FmB;AAAO;AAqFhC;IAMM,mCAAmC;IACnC,YA3FgB;AAAO;AFqM/B;EAEC,sBAAsB;EACtB,oBAAoB;EACpB,YCnMoB;EDoMpB,UAAU;AAAA;AALX;IEtII,mCAjFmB;IAkFnB,kBAAkB;IAClB,gBAAgB;IAChB,YA/EY;AAAO;AFkNvB;IAQE,gBAAgB;AAAA;AARlB;MAWG,cAAc;AAAA;AAXjB;IAgBE,aAAa;IACb,mBAAmB;IACnB,QAAQ;IACR,+BAA+B;IAC/B,eAAe;AAAA;AAGhB;IACC,aAAa;AAAA;AAGd;IACC,kBAAkB;AAAA;AA5BpB;IAgCE,eAAe;AAAA;AAhCjB;IAoCE,mBAAmB;IACnB,oBAAoB;AAAA;AArCtB;MAwCG,gBAAgB;MAChB,uBAAuB;MACvB,mBAAmB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.crumb {\\n\\t@include iconfont('breadcrumb');\\n\\tbackground-image: none;\\n\\tdisplay: inline-flex;\\n\\theight: $clickable-area;\\n\\tpadding: 0;\\n\\n\\t&:last-child {\\n\\t\\tmax-width: 210px;\\n\\n\\t\\ta {\\n\\t\\t\\tflex-shrink: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t&::before {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\torder: 1;\\n\\t\\tcolor: var(--color-border-dark);\\n\\t\\tfont-size: 26px;\\n\\t}\\n\\n\\t&--hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t&--with-action a {\\n\\t\\tpadding-right: 2px;\\n\\t}\\n\\n\\t> a, > span {\\n\\t\\tmax-width: 100%;\\n\\t}\\n\\n\\ta {\\n\\t\\talign-items: center;\\n\\t\\tdisplay: inline-flex;\\n\\n\\t\\t> span {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=style&index=0&id=7650ef71&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=style&index=0&id=7650ef71&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.breadcrumb[data-v-7650ef71] {\\n width: 100%;\\n flex-grow: 1;\\n}\\n.breadcrumb--collapsed .crumb[data-v-7650ef71]:last-child {\\n min-width: 100px;\\n flex-shrink: 1;\\n}\\n.breadcrumb .crumb--hovered[data-v-7650ef71] {\\n background-color: var(--color-primary-light);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./Breadcrumbs.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAufF;EACC,WAAW;EACX,YAAY;AAAA;AAEZ;IACC,gBAAgB;IAChB,cAAc;AAAA;AANhB;IAUE,4CAA4C;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.breadcrumb {\\n\\twidth: 100%;\\n\\tflex-grow: 1;\\n\\n\\t&--collapsed .crumb:last-child {\\n\\t\\tmin-width: 100px;\\n\\t\\tflex-shrink: 1;\\n\\t}\\n\\n\\t.crumb--hovered{\\n\\t\\tbackground-color: var(--color-primary-light);\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ColorPicker/ColorPicker.vue?vue&type=style&index=0&id=ee3f421a&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ColorPicker/ColorPicker.vue?vue&type=style&index=0&id=ee3f421a&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon[data-v-ee3f421a] {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.color-picker[data-v-ee3f421a] {\\n display: flex;\\n overflow: hidden;\\n align-content: flex-end;\\n flex-direction: column;\\n justify-content: space-between;\\n box-sizing: content-box !important;\\n width: 176px;\\n padding: 4px;\\n border-radius: 3px;\\n height: 196px;\\n}\\n.color-picker-simple[data-v-ee3f421a] {\\n display: grid;\\n grid-template-columns: repeat(4, 44px);\\n grid-auto-rows: 44px;\\n}\\n.color-picker-simple-color-circle[data-v-ee3f421a] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 34px;\\n height: 34px;\\n min-height: 34px;\\n margin: auto;\\n padding: 0;\\n color: white;\\n border: none;\\n border-radius: 17px;\\n font-size: 16px;\\n}\\n.color-picker-simple-color-circle[data-v-ee3f421a]:hover {\\n opacity: .6;\\n}\\n.color-picker-simple-color-circle--active[data-v-ee3f421a] {\\n opacity: 1 !important;\\n}\\n.color-picker-simple-color-circle--active[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.color-picker-advanced[data-v-ee3f421a] {\\n box-shadow: none !important;\\n}\\n.color-picker-navigation[data-v-ee3f421a] {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n margin-top: 10px;\\n}\\n.color-picker-navigation-button[data-v-ee3f421a] {\\n display: flex;\\n align-content: center;\\n justify-content: center;\\n min-width: 44px;\\n height: 44px;\\n padding: 14px;\\n margin: 0;\\n border: none;\\n border-radius: 22px;\\n background: none;\\n justify-self: flex-end;\\n}\\n.color-picker-navigation-button[data-v-ee3f421a]::before {\\n font-size: 16px;\\n}\\n.color-picker-navigation-button[data-v-ee3f421a]:hover {\\n background-color: rgba(127, 127, 127, 0.25);\\n}\\n.color-picker-navigation-button.back[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.color-picker-navigation-button.confirm[data-v-ee3f421a] {\\n color: white;\\n background-color: var(--color-primary);\\n}\\n.color-picker-navigation-button.confirm[data-v-ee3f421a]:hover {\\n background-color: var(--color-primary-element-light);\\n}\\n.color-picker-navigation-button.more-settings[data-v-ee3f421a] {\\n margin-left: auto;\\n}\\n.color-picker-navigation-button.more-settings[data-v-ee3f421a]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n[data-v-ee3f421a] .vc-chrome {\\n width: 176px;\\n height: 13;\\n}\\n[data-v-ee3f421a] .vc-chrome-color-wrap {\\n width: 30px;\\n height: 30px;\\n}\\n[data-v-ee3f421a] .vc-chrome-active-color {\\n width: 34px;\\n height: 34px;\\n border-radius: 17px;\\n}\\n[data-v-ee3f421a] .vc-chrome-body {\\n padding: 14px 0 0 0;\\n}\\n[data-v-ee3f421a] .vc-chrome-saturation-wrap {\\n border-radius: 3px;\\n}\\n[data-v-ee3f421a] .vc-chrome-saturation-circle {\\n width: 20px;\\n height: 20px;\\n}\\n.slide-enter[data-v-ee3f421a] {\\n transform: translateX(-50%);\\n opacity: 0;\\n}\\n.slide-enter-to[data-v-ee3f421a] {\\n transform: translateX(0);\\n opacity: 1;\\n}\\n.slide-leave[data-v-ee3f421a] {\\n transform: translateX(0);\\n opacity: 1;\\n}\\n.slide-leave-to[data-v-ee3f421a] {\\n transform: translateX(-50%);\\n opacity: 0;\\n}\\n.slide-enter-active[data-v-ee3f421a], .slide-leave-active[data-v-ee3f421a] {\\n transition: all 50ms ease-in-out;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./ColorPicker.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.color-picker {\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\talign-content: flex-end;\\n\\tflex-direction: column;\\n\\tjustify-content: space-between;\\n\\tbox-sizing: content-box !important;\\n\\twidth: 176px;\\n\\tpadding: 4px;\\n\\tborder-radius: 3px;\\n\\theight: 196px;\\n\\t&-simple {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-template-columns: repeat(4, $clickable-area);\\n\\t\\tgrid-auto-rows: $clickable-area;\\n\\n\\t\\t&-color-circle {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: 34px;\\n\\t\\t\\theight: 34px;\\n\\t\\t\\tmin-height: 34px;\\n\\t\\t\\tmargin: auto;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: white;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tborder-radius: 17px;\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\topacity: .6;\\n\\t\\t\\t}\\n\\t\\t\\t&--active {\\n\\t\\t\\t\\topacity: 1 !important;\\n\\t\\t\\t\\t@include iconfont('checkmark');\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&-advanced {\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t&-navigation {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tjustify-content: space-between;\\n\\t\\tmargin-top: 10px;\\n\\t\\t&-button {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-content: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\tpadding:$icon-margin;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\tbackground: none;\\n\\t\\t\\tjustify-self: flex-end;\\n\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tfont-size: $icon-size;\\n\\t\\t\\t}\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.back {\\n\\t\\t\\t\\t@include iconfont('arrow-left');\\n\\t\\t\\t}\\n\\t\\t\\t&.confirm {\\n\\t\\t\\t\\tcolor: white;\\n\\t\\t\\t\\tbackground-color: var(--color-primary);\\n\\t\\t\\t\\t&:hover {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.more-settings {\\n\\t\\t\\t\\tmargin-left: auto;\\n\\t\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n::v-deep .vc {\\n\\t&-chrome {\\n\\t\\twidth: 176px;\\n\\t\\theight: 13;\\n\\t\\t&-color-wrap {\\n\\t\\t\\twidth: 30px;\\n\\t\\t\\theight: 30px;\\n\\t\\t}\\n\\n\\t\\t&-active-color {\\n\\t\\t\\twidth: 34px;\\n\\t\\t\\theight: 34px;\\n\\t\\t\\tborder-radius: 17px;\\n\\t\\t}\\n\\n\\t\\t&-body {\\n\\t\\t\\tpadding: 14px 0 0 0;\\n\\t\\t}\\n\\n\\t\\t&-saturation {\\n\\t\\t\\t&-wrap {\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-circle {\\n\\t\\t\\t\\twidth: 20px;\\n\\t\\t\\t\\theight: 20px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.slide {\\n\\t&-enter {\\n\\t\\ttransform: translateX(-50%);\\n\\t\\topacity: 0;\\n\\t}\\n\\t&-enter-to {\\n\\t\\ttransform: translateX(0);\\n\\t\\topacity: 1;\\n\\t}\\n\\t&-leave {\\n\\t\\ttransform: translateX(0);\\n\\t\\topacity: 1;\\n\\t}\\n\\t&-leave-to {\\n\\t\\ttransform: translateX(-50%);\\n\\t\\topacity: 0;\\n\\t}\\n\\t&-enter-active,\\n\\t&-leave-active {\\n\\t\\ttransition: all 50ms ease-in-out;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Content/Content.vue?vue&type=style&index=0&id=37f0357a&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Content/Content.vue?vue&type=style&index=0&id=37f0357a&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.content[data-v-37f0357a] {\\n box-sizing: border-box;\\n position: relative;\\n display: flex;\\n padding-top: 50px;\\n min-height: 100%;\\n}\\n.content[data-v-37f0357a] * {\\n box-sizing: border-box;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./Content.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AA8CF;EACC,sBAAsB;EACtB,kBAAkB;EAClB,aAAa;EACb,iBAAiB;EACjB,gBAAgB;AAAA;AALjB;IAOE,sBAAsB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.content {\\n\\tbox-sizing: border-box;\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tpadding-top: 50px;\\n\\tmin-height: 100%;\\n\\t::v-deep * {\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/EmptyContent/EmptyContent.vue?vue&type=style&index=0&id=a68b8462&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/EmptyContent/EmptyContent.vue?vue&type=style&index=0&id=a68b8462&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.empty-content[data-v-a68b8462] {\\n display: flex;\\n align-items: center;\\n flex-direction: column;\\n margin-top: 20vh;\\n}\\n.empty-content__icon[data-v-a68b8462] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 64px;\\n height: 64px;\\n margin: 0 auto 15px;\\n opacity: .4;\\n background-repeat: no-repeat;\\n background-position: center;\\n background-size: 64px;\\n}\\n.empty-content__icon svg[data-v-a68b8462] {\\n width: 64px;\\n height: 64px;\\n}\\n.empty-content__title[data-v-a68b8462] {\\n margin-bottom: 10px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./EmptyContent.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAsEF;EACC,aAAa;EACb,mBAAmB;EACnB,sBAAsB;EACtB,gBAAgB;AAAA;AAEhB;IACC,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,WAAW;IACX,YAAY;IACZ,mBAAmB;IACnB,WAAW;IACX,4BAA4B;IAC5B,2BAA2B;IAC3B,qBAAqB;AAAA;AAVrB;MAaC,WAAW;MACX,YAAY;AAAA;AAId;IACC,mBAAmB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.empty-content {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tflex-direction: column;\\n\\tmargin-top: 20vh;\\n\\n\\t&__icon {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 64px;\\n\\t\\theight: 64px;\\n\\t\\tmargin: 0 auto 15px;\\n\\t\\topacity: .4;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 64px;\\n\\n\\t\\tsvg {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\tmargin-bottom: 10px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ListItemIcon/ListItemIcon.vue?vue&type=style&index=0&id=7fe95a8f&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ListItemIcon/ListItemIcon.vue?vue&type=style&index=0&id=7fe95a8f&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.option[data-v-7fe95a8f] {\\n display: flex;\\n align-items: center;\\n width: 100%;\\n height: var(--height);\\n}\\n.option__avatar[data-v-7fe95a8f] {\\n margin-right: var(--margin);\\n}\\n.option__details[data-v-7fe95a8f] {\\n display: flex;\\n flex: 1 1;\\n flex-direction: column;\\n justify-content: center;\\n min-width: 0;\\n}\\n.option__lineone[data-v-7fe95a8f] {\\n color: var(--color-text-light);\\n}\\n.option__linetwo[data-v-7fe95a8f] {\\n opacity: 0.7;\\n}\\n.option__lineone[data-v-7fe95a8f], .option__linetwo[data-v-7fe95a8f] {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n line-height: 1.1em;\\n}\\n.option__lineone strong[data-v-7fe95a8f], .option__linetwo strong[data-v-7fe95a8f] {\\n font-weight: bold;\\n}\\n.option__icon[data-v-7fe95a8f] {\\n flex: 0 0 44px;\\n width: 44px;\\n height: 44px;\\n opacity: 0.5;\\n background-position: center;\\n background-size: 16px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./ListItemIcon.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAmNF;EACC,aAAa;EACb,mBAAmB;EACnB,WAAW;EACX,qBAAqB;AAAA;AAErB;IACC,2BAA2B;AAAA;AAG5B;IACC,aAAa;IACb,SAAS;IACT,sBAAsB;IACtB,uBAAuB;IACvB,YAAY;AAAA;AAGb;IACC,8BAA8B;AAAA;AAE/B;IACC,YCnNiB;AAAA;ADqNlB;IAEC,gBAAgB;IAChB,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;AAAA;AALlB;MAOC,iBAAiB;AAAA;AAInB;IACC,cCnPmB;IDoPnB,WCpPmB;IDqPnB,YCrPmB;IDsPnB,YCrOmB;IDsOnB,2BAA2B;IAC3B,qBAAqB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Modal/Modal.vue?vue&type=style&index=0&id=47db75aa&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Modal/Modal.vue?vue&type=style&index=0&id=47db75aa&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon[data-v-47db75aa] {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.modal-mask[data-v-47db75aa] {\\n position: fixed;\\n z-index: 9998;\\n top: 0;\\n left: 0;\\n display: block;\\n width: 100%;\\n height: 100%;\\n background-color: rgba(0, 0, 0, 0.5);\\n}\\n.modal-mask--dark[data-v-47db75aa] {\\n background-color: rgba(0, 0, 0, 0.92);\\n}\\n.modal-header[data-v-47db75aa] {\\n position: absolute;\\n z-index: 10001;\\n top: 0;\\n right: 0;\\n left: 0;\\n display: flex !important;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n height: 50px;\\n transition: opacity 250ms, visibility 250ms;\\n}\\n.modal-header.invisible[style*='display:none'][data-v-47db75aa], .modal-header.invisible[style*='display: none'][data-v-47db75aa] {\\n visibility: hidden;\\n}\\n.modal-header .modal-title[data-v-47db75aa] {\\n overflow-x: hidden;\\n box-sizing: border-box;\\n width: 100%;\\n padding: 0 132px 0 12px;\\n transition: padding ease 100ms;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n color: #fff;\\n font-size: 14px;\\n}\\n@media only screen and (min-width: 512px) {\\n.modal-header .modal-title[data-v-47db75aa] {\\n text-align: center;\\n padding-left: 132px;\\n}\\n}\\n.modal-header .icons-menu[data-v-47db75aa] {\\n position: absolute;\\n right: 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n}\\n.modal-header .icons-menu .icon-close[data-v-47db75aa] {\\n box-sizing: border-box;\\n margin: 3px;\\n padding: 10px 11px;\\n color: #fff;\\n background-image: none;\\n font-size: 23px;\\n}\\n.modal-header .icons-menu .icon-close[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.modal-header .icons-menu .play-pause[data-v-47db75aa] {\\n position: relative;\\n width: 50px;\\n height: 50px;\\n margin: 0;\\n padding: 0;\\n cursor: pointer;\\n color: white;\\n border: none;\\n background-color: transparent;\\n font-size: 22px;\\n}\\n.modal-header .icons-menu .play-pause:hover .icon-play[data-v-47db75aa],\\n .modal-header .icons-menu .play-pause:hover .icon-pause[data-v-47db75aa], .modal-header .icons-menu .play-pause:focus .icon-play[data-v-47db75aa],\\n .modal-header .icons-menu .play-pause:focus .icon-pause[data-v-47db75aa] {\\n opacity: 1;\\n border-radius: 22px;\\n background-color: rgba(127, 127, 127, 0.25);\\n}\\n.modal-header .icons-menu .play-pause .icon-play[data-v-47db75aa],\\n .modal-header .icons-menu .play-pause .icon-pause[data-v-47db75aa] {\\n box-sizing: border-box;\\n width: 44px;\\n height: 44px;\\n margin: 3px;\\n opacity: .7;\\n background-image: none;\\n cursor: pointer;\\n}\\n.modal-header .icons-menu .play-pause .icon-play[data-v-47db75aa] {\\n padding: 11px 13px;\\n}\\n.modal-header .icons-menu .play-pause .icon-play[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.modal-header .icons-menu .play-pause .icon-pause[data-v-47db75aa] {\\n padding: 12px;\\n font-size: 19.5px;\\n}\\n.modal-header .icons-menu .play-pause .icon-pause[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.modal-header .icons-menu .header-actions[data-v-47db75aa] {\\n margin: 3px;\\n color: white;\\n}\\n.modal-header .icons-menu .action-item--single[data-v-47db75aa] {\\n box-sizing: border-box;\\n width: 44px;\\n height: 44px;\\n cursor: pointer;\\n background-position: center;\\n background-size: 22px;\\n}\\n.modal-header .icons-menu[data-v-47db75aa] .action-item__menutoggle {\\n padding: 13px 11px;\\n color: #fff;\\n font-size: 22px;\\n}\\n.modal-wrapper[data-v-47db75aa] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n box-sizing: border-box;\\n width: 100%;\\n height: 100%;\\n /* Navigation buttons */\\n /* Content */\\n}\\n.modal-wrapper .prev[data-v-47db75aa],\\n .modal-wrapper .next[data-v-47db75aa] {\\n z-index: 10000;\\n display: flex !important;\\n align-items: center;\\n justify-content: center;\\n width: 15%;\\n min-width: 60px;\\n height: 100%;\\n transition: opacity 250ms, visibility 250ms;\\n}\\n.modal-wrapper .prev.invisible[style*='display:none'][data-v-47db75aa], .modal-wrapper .prev.invisible[style*='display: none'][data-v-47db75aa],\\n .modal-wrapper .next.invisible[style*='display:none'][data-v-47db75aa],\\n .modal-wrapper .next.invisible[style*='display: none'][data-v-47db75aa] {\\n visibility: hidden;\\n}\\n.modal-wrapper .icon-next[data-v-47db75aa],\\n .modal-wrapper .icon-previous[data-v-47db75aa] {\\n box-sizing: border-box;\\n width: 44px;\\n height: 44px;\\n padding: 12px 11px;\\n color: white;\\n border-radius: 22px;\\n background-image: none;\\n font-size: 24px;\\n}\\n.modal-wrapper .icon-previous[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.modal-wrapper .icon-next[data-v-47db75aa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.modal-wrapper .modal-container[data-v-47db75aa] {\\n display: block;\\n overflow: hidden;\\n padding: 0;\\n transition: transform 300ms ease;\\n border-radius: var(--border-radius-large);\\n background-color: var(--color-main-background);\\n box-shadow: 0 0 40px rgba(0, 0, 0, 0.2);\\n}\\n.modal-wrapper:not(.modal-wrapper--large):not(.modal-wrapper--full) .modal-container[data-v-47db75aa] {\\n max-width: 900px;\\n max-height: 80%;\\n}\\n.modal-wrapper--full .modal-container[data-v-47db75aa] {\\n max-width: 100%;\\n max-height: 100%;\\n border-radius: 0;\\n}\\n.modal-wrapper--full .prev[data-v-47db75aa],\\n .modal-wrapper--full .next[data-v-47db75aa], .modal-wrapper--spread-navigation .prev[data-v-47db75aa],\\n .modal-wrapper--spread-navigation .next[data-v-47db75aa] {\\n position: absolute;\\n width: 10%;\\n}\\n.modal-wrapper--full .prev[data-v-47db75aa], .modal-wrapper--spread-navigation .prev[data-v-47db75aa] {\\n left: 0;\\n}\\n.modal-wrapper--full .next[data-v-47db75aa], .modal-wrapper--spread-navigation .next[data-v-47db75aa] {\\n right: 0;\\n}\\n.modal-wrapper--large .modal-container[data-v-47db75aa] {\\n max-width: 85%;\\n max-height: 90%;\\n}\\n.modal-wrapper--large .prev[data-v-47db75aa],\\n .modal-wrapper--large .next[data-v-47db75aa] {\\n width: 10%;\\n min-width: 44px;\\n}\\n\\n/* TRANSITIONS */\\n.fade-enter-active[data-v-47db75aa],\\n.fade-leave-active[data-v-47db75aa] {\\n transition: opacity 250ms;\\n}\\n.fade-enter[data-v-47db75aa],\\n.fade-leave-to[data-v-47db75aa] {\\n opacity: 0;\\n}\\n.fade-visibility-enter[data-v-47db75aa],\\n.fade-visibility-leave-to[data-v-47db75aa] {\\n visibility: hidden;\\n opacity: 0;\\n}\\n.modal-in-enter-active[data-v-47db75aa],\\n.modal-in-leave-active[data-v-47db75aa],\\n.modal-out-enter-active[data-v-47db75aa],\\n.modal-out-leave-active[data-v-47db75aa] {\\n transition: opacity 250ms;\\n}\\n.modal-in-enter[data-v-47db75aa],\\n.modal-in-leave-to[data-v-47db75aa],\\n.modal-out-enter[data-v-47db75aa],\\n.modal-out-leave-to[data-v-47db75aa] {\\n opacity: 0;\\n}\\n.modal-in-enter .modal-container[data-v-47db75aa],\\n.modal-in-leave-to .modal-container[data-v-47db75aa] {\\n transform: scale(0.9);\\n}\\n.modal-out-enter .modal-container[data-v-47db75aa],\\n.modal-out-leave-to .modal-container[data-v-47db75aa] {\\n transform: scale(1.1);\\n}\\n.modal-mask .play-pause .progress-ring[data-v-47db75aa] {\\n position: absolute;\\n top: 0;\\n left: 0;\\n transform: rotate(-90deg);\\n}\\n.modal-mask .play-pause .progress-ring .progress-ring__circle[data-v-47db75aa] {\\n transition: 100ms stroke-dashoffset;\\n transform-origin: 50% 50%;\\n animation: progressring-data-v-47db75aa linear 3s infinite;\\n stroke-linecap: round;\\n stroke-dashoffset: 94.24778;\\n stroke-dasharray: 94.24778;\\n}\\n.modal-mask .play-pause--paused .icon-pause[data-v-47db75aa] {\\n animation: breath-data-v-47db75aa 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;\\n}\\n.modal-mask .play-pause--paused .progress-ring__circle[data-v-47db75aa] {\\n animation-play-state: paused !important;\\n}\\n@keyframes progressring-data-v-47db75aa {\\nfrom {\\n stroke-dashoffset: 94.24778;\\n}\\nto {\\n stroke-dashoffset: 0;\\n}\\n}\\n@keyframes breath-data-v-47db75aa {\\n0% {\\n opacity: 1;\\n}\\n50% {\\n opacity: 0;\\n}\\n100% {\\n opacity: 1;\\n}\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./Modal.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n$header-size: 50px;\\n\\n.modal-mask {\\n\\tposition: fixed;\\n\\tz-index: 9998;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbackground-color: rgba(0, 0, 0, .5);\\n\\t&--dark {\\n\\t\\tbackground-color: rgba(0, 0, 0, .92);\\n\\t}\\n}\\n\\n.modal-header {\\n\\tposition: absolute;\\n\\tz-index: 10001;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tleft: 0;\\n\\t// prevent vue show to use display:none and reseting\\n\\t// the circle animation loop\\n\\tdisplay: flex !important;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\theight: $header-size;\\n\\ttransition: opacity 250ms,\\n\\t\\tvisibility 250ms;\\n\\n\\t// replace display by visibility\\n\\t&.invisible[style*='display:none'],\\n\\t&.invisible[style*='display: none'] {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\n\\t.modal-title {\\n\\t\\toverflow-x: hidden;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\\n\\t\\ttransition: padding ease 100ms;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: #fff;\\n\\t\\tfont-size: $icon-margin;\\n\\t}\\n\\n\\t// On wider screens the title can be centered\\n\\t@media only screen and (min-width: $breakpoint-mobile/2) {\\n\\t\\t.modal-title {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\\n\\t\\t}\\n\\t}\\n\\n\\t.icons-menu {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: flex-end;\\n\\n\\t\\t.icon-close {\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tmargin: ($header-size - $clickable-area) / 2;\\n\\t\\t\\t// not using $icon-margin since we have a custom font size\\n\\t\\t\\t// and alignement seems odd\\n\\t\\t\\tpadding: 10px 11px;\\n\\t\\t\\tcolor: #fff;\\n\\t\\t\\tbackground-image: none;\\n\\t\\t\\tfont-size: 23px;\\n\\n\\t\\t\\t@include iconfont('close');\\n\\t\\t}\\n\\n\\t\\t.play-pause {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: $header-size;\\n\\t\\t\\theight: $header-size;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tcolor: white;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\tfont-size: 22px;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t.icon-play,\\n\\t\\t\\t\\t.icon-pause {\\n\\t\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t.icon-play,\\n\\t\\t\\t.icon-pause {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tmargin: ($header-size - $clickable-area) / 2;\\n\\t\\t\\t\\topacity: .7;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t.icon-play {\\n\\t\\t\\t\\t// better visual\\n\\t\\t\\t\\tpadding: 11px 13px;\\n\\t\\t\\t\\t@include iconfont('play');\\n\\t\\t\\t}\\n\\t\\t\\t.icon-pause {\\n\\t\\t\\t\\tpadding: 12px;\\n\\t\\t\\t\\t// ! align with circle\\n\\t\\t\\t\\tfont-size: 19.5px;\\n\\t\\t\\t\\t@include iconfont('pause');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.header-actions {\\n\\t\\t\\tmargin: ($header-size - $clickable-area) / 2;\\n\\t\\t\\tcolor: white;\\n\\t\\t}\\n\\n\\t\\t.action-item--single {\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: 22px;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .action-item__menutoggle {\\n\\t\\t\\tpadding: 13px 11px;\\n\\t\\t\\t// force white instead of default main text\\n\\t\\t\\tcolor: #fff;\\n\\t\\t\\t// 22px is a somehow better looking for the icon-more icon\\n\\t\\t\\tfont-size: 22px;\\n\\t\\t}\\n\\n\\t}\\n}\\n\\n.modal-wrapper {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\n\\t/* Navigation buttons */\\n\\t.prev,\\n\\t.next {\\n\\t\\tz-index: 10000;\\n\\t\\t// ignore display: none\\n\\t\\tdisplay: flex !important;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 15%;\\n\\t\\tmin-width: 60px;\\n\\t\\theight: 100%;\\n\\t\\ttransition: opacity 250ms,\\n\\t\\t\\tvisibility 250ms;\\n\\n\\t\\t// we want to keep the elements on page\\n\\t\\t// even if hidden to avoid having a unbalanced\\n\\t\\t// centered content\\n\\t\\t// replace display by visibility\\n\\t\\t&.invisible[style*='display:none'],\\n\\t\\t&.invisible[style*='display: none'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t}\\n\\n\\t// buttons/icons\\n\\t.icon-next,\\n\\t.icon-previous {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tpadding: 12px 11px;\\n\\t\\tcolor: white;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-image: none;\\n\\t\\tfont-size: 24px;\\n\\t}\\n\\t.icon-previous {\\n\\t\\t@include iconfont('arrow-left');\\n\\t}\\n\\t.icon-next {\\n\\t\\t@include iconfont('arrow-right');\\n\\t}\\n\\n\\t/* Content */\\n\\t.modal-container {\\n\\t\\tdisplay: block;\\n\\t\\toverflow: hidden;\\n\\t\\tpadding: 0;\\n\\t\\ttransition: transform 300ms ease;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\\n\\t}\\n\\t&:not(&--large):not(&--full) .modal-container {\\n\\t\\tmax-width: 900px;\\n\\t\\tmax-height: 80%;\\n\\t}\\n\\n\\t// Sizing\\n\\t&--full {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tmax-height: 100%;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\t&--full,\\n\\t&--spread-navigation {\\n\\t\\t.prev,\\n\\t\\t.next {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\twidth: 10%;\\n\\t\\t}\\n\\t\\t.prev {\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.next {\\n\\t\\t\\tright: 0;\\n\\t\\t}\\n\\t}\\n\\t&--large {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 85%;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t\\t.prev,\\n\\t\\t.next {\\n\\t\\t\\twidth: 10%;\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* TRANSITIONS */\\n.fade-enter-active,\\n.fade-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-visibility-enter,\\n.fade-visibility-leave-to {\\n\\tvisibility: hidden;\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter-active,\\n.modal-in-leave-active,\\n.modal-out-enter-active,\\n.modal-out-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.modal-in-enter,\\n.modal-in-leave-to,\\n.modal-out-enter,\\n.modal-out-leave-to {\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter .modal-container,\\n.modal-in-leave-to .modal-container {\\n\\ttransform: scale(.9);\\n}\\n\\n.modal-out-enter .modal-container,\\n.modal-out-leave-to .modal-container {\\n\\ttransform: scale(1.1);\\n}\\n\\n// animated circle\\n$radius: 15;\\n$pi: 3.14159265358979;\\n\\n.modal-mask .play-pause {\\n\\t.progress-ring {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\ttransform: rotate(-90deg);\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\ttransition: 100ms stroke-dashoffset;\\n\\t\\t\\ttransform-origin: 50% 50%; // axis compensation\\n\\t\\t\\tanimation: progressring linear 3s infinite;\\n\\n\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t\\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t}\\n\\t}\\n\\t&--paused {\\n\\t\\t.icon-pause {\\n\\t\\t\\tanimation: breath 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;\\n\\t\\t}\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\tanimation-play-state: paused !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n// keyframes get scoped too and break the animation name, we need them unscoped\\n@keyframes progressring {\\n\\tfrom {\\n\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t}\\n\\tto {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes breath {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Multiselect/EllipsisedOption.vue?vue&type=style&index=0&id=026c3def&lang=scss&scoped=true&\":\n/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Multiselect/EllipsisedOption.vue?vue&type=style&index=0&id=026c3def&lang=scss&scoped=true& ***!\n \\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.name-parts[data-v-026c3def] {\\n display: flex;\\n max-width: 100%;\\n}\\n.name-parts__first[data-v-026c3def] {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.name-parts__first[data-v-026c3def], .name-parts__last[data-v-026c3def] {\\n white-space: pre;\\n}\\n.name-parts__first strong[data-v-026c3def], .name-parts__last strong[data-v-026c3def] {\\n font-weight: bold;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./EllipsisedOption.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAwGF;EACC,aAAa;EACb,eAAe;AAAA;AACf;IACC,gBAAgB;IAChB,uBAAuB;AAAA;AAExB;IAGC,gBAAgB;AAAA;AAHhB;MAKC,iBAAiB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.popover {\\n z-index: 100000;\\n display: block !important;\\n filter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n}\\n.popover__inner {\\n padding: 0;\\n color: var(--color-main-text);\\n border-radius: var(--border-radius);\\n background: var(--color-main-background);\\n}\\n.popover__arrow {\\n position: absolute;\\n z-index: 1;\\n width: 0;\\n height: 0;\\n margin: 10px;\\n border-style: solid;\\n border-color: var(--color-main-background);\\n}\\n.popover[x-placement^='top'] {\\n margin-bottom: 10px;\\n}\\n.popover[x-placement^='top'] .popover__arrow {\\n bottom: -10px;\\n left: calc(50% - $arrow-width);\\n margin-top: 0;\\n margin-bottom: 0;\\n border-width: 10px 10px 0 10px;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n border-left-color: transparent !important;\\n}\\n.popover[x-placement^='bottom'] {\\n margin-top: 10px;\\n}\\n.popover[x-placement^='bottom'] .popover__arrow {\\n top: -10px;\\n left: calc(50% - $arrow-width);\\n margin-top: 0;\\n margin-bottom: 0;\\n border-width: 0 10px 10px 10px;\\n border-top-color: transparent !important;\\n border-right-color: transparent !important;\\n border-left-color: transparent !important;\\n}\\n.popover[x-placement^='right'] {\\n margin-left: 10px;\\n}\\n.popover[x-placement^='right'] .popover__arrow {\\n top: calc(50% - $arrow-width);\\n left: -10px;\\n margin-right: 0;\\n margin-left: 0;\\n border-width: 10px 10px 10px 0;\\n border-top-color: transparent !important;\\n border-bottom-color: transparent !important;\\n border-left-color: transparent !important;\\n}\\n.popover[x-placement^='left'] {\\n margin-right: 10px;\\n}\\n.popover[x-placement^='left'] .popover__arrow {\\n top: calc(50% - $arrow-width);\\n right: -10px;\\n margin-right: 0;\\n margin-left: 0;\\n border-width: 10px 0 10px 10px;\\n border-top-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n}\\n.popover[aria-hidden='true'] {\\n visibility: hidden;\\n transition: opacity var(--animation-quick), visibility var(--animation-quick);\\n opacity: 0;\\n}\\n.popover[aria-hidden='false'] {\\n visibility: visible;\\n transition: opacity var(--animation-quick);\\n opacity: 1;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./Popover.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AA2FF;EACC,eAAe;EACf,yBAAyB;EAEzB,uDAAuD;AAAA;AAEvD;IACC,UAAU;IACV,6BAA6B;IAC7B,mCAAmC;IACnC,wCAAwC;AAAA;AAGzC;IACC,kBAAkB;IAClB,UAAU;IACV,QAAQ;IACR,SAAS;IACT,YApBgB;IAqBhB,mBAAmB;IACnB,0CAA0C;AAAA;AApB5C;IAwBE,mBA1BgB;AAAA;AAElB;MA2BG,aA7Be;MA8Bf,8BAA8B;MAC9B,aAAa;MACb,gBAAgB;MAChB,8BAjCe;MAkCf,0CAA0C;MAC1C,2CAA2C;MAC3C,yCAAyC;AAAA;AAlC5C;IAuCE,gBAzCgB;AAAA;AAElB;MA0CG,UA5Ce;MA6Cf,8BAA8B;MAC9B,aAAa;MACb,gBAAgB;MAChB,8BAhDe;MAiDf,wCAAwC;MACxC,0CAA0C;MAC1C,yCAAyC;AAAA;AAjD5C;IAsDE,iBAxDgB;AAAA;AAElB;MAyDG,6BAA6B;MAC7B,WA5De;MA6Df,eAAe;MACf,cAAc;MACd,8BAAsD;MACtD,wCAAwC;MACxC,2CAA2C;MAC3C,yCAAyC;AAAA;AAhE5C;IAqEE,kBAvEgB;AAAA;AAElB;MAwEG,6BAA6B;MAC7B,YA3Ee;MA4Ef,eAAe;MACf,cAAc;MACd,8BA9Ee;MA+Ef,wCAAwC;MACxC,0CAA0C;MAC1C,2CAA2C;AAAA;AA/E9C;IAoFE,kBAAkB;IAClB,6EAA6E;IAC7E,UAAU;AAAA;AAtFZ;IA0FE,mBAAmB;IACnB,0CAA0C;IAC1C,UAAU;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\nul[data-v-0a0eb719] {\\n display: flex;\\n flex-direction: column;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenu.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAqCF;EACC,aAAa;EACb,sBAAsB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\nli[data-v-512ea768] {\\n display: flex;\\n flex: 0 0 auto;\\n /* css hack, only first not hidden */\\n}\\nli.hidden[data-v-512ea768] {\\n display: none;\\n}\\nli > button[data-v-512ea768],\\n li > a[data-v-512ea768],\\n li > .menuitem[data-v-512ea768] {\\n cursor: pointer;\\n line-height: 44px;\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n display: flex;\\n align-items: flex-start;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n font-weight: normal;\\n box-shadow: none;\\n width: 100%;\\n color: var(--color-main-text);\\n white-space: nowrap;\\n opacity: 0.7;\\n /* prevent .action class to break the design */\\n /* Add padding if contains icon+text */\\n /* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n /* checkbox/radio fixes */\\n /* no margin if hidden span before */\\n /* Inputs inside popover supports text, submit & reset */\\n}\\nli > button span[class^='icon-'][data-v-512ea768],\\n li > button span[class*=' icon-'][data-v-512ea768], li > button[class^='icon-'][data-v-512ea768], li > button[class*=' icon-'][data-v-512ea768],\\n li > a span[class^='icon-'][data-v-512ea768],\\n li > a span[class*=' icon-'][data-v-512ea768],\\n li > a[class^='icon-'][data-v-512ea768],\\n li > a[class*=' icon-'][data-v-512ea768],\\n li > .menuitem span[class^='icon-'][data-v-512ea768],\\n li > .menuitem span[class*=' icon-'][data-v-512ea768],\\n li > .menuitem[class^='icon-'][data-v-512ea768],\\n li > .menuitem[class*=' icon-'][data-v-512ea768] {\\n min-width: 0;\\n /* Overwrite icons*/\\n min-height: 0;\\n background-position: 14px center;\\n background-size: 16px;\\n}\\nli > button span[class^='icon-'][data-v-512ea768],\\n li > button span[class*=' icon-'][data-v-512ea768],\\n li > a span[class^='icon-'][data-v-512ea768],\\n li > a span[class*=' icon-'][data-v-512ea768],\\n li > .menuitem span[class^='icon-'][data-v-512ea768],\\n li > .menuitem span[class*=' icon-'][data-v-512ea768] {\\n /* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n padding: 22px 0 22px 44px;\\n}\\nli > button:not([class^='icon-']):not([class*='icon-']) > span[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > button:not([class^='icon-']):not([class*='icon-']) > input[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > button:not([class^='icon-']):not([class*='icon-']) > form[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > a:not([class^='icon-']):not([class*='icon-']) > span[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > a:not([class^='icon-']):not([class*='icon-']) > input[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > a:not([class^='icon-']):not([class*='icon-']) > form[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > .menuitem:not([class^='icon-']):not([class*='icon-']) > span[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > .menuitem:not([class^='icon-']):not([class*='icon-']) > input[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > .menuitem:not([class^='icon-']):not([class*='icon-']) > form[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child {\\n margin-left: 44px;\\n}\\nli > button[class^='icon-'][data-v-512ea768], li > button[class*=' icon-'][data-v-512ea768],\\n li > a[class^='icon-'][data-v-512ea768],\\n li > a[class*=' icon-'][data-v-512ea768],\\n li > .menuitem[class^='icon-'][data-v-512ea768],\\n li > .menuitem[class*=' icon-'][data-v-512ea768] {\\n padding: 0 14px 0 44px;\\n}\\nli > button[data-v-512ea768]:not(:disabled):hover, li > button[data-v-512ea768]:not(:disabled):focus, li > button:not(:disabled).active[data-v-512ea768],\\n li > a[data-v-512ea768]:not(:disabled):hover,\\n li > a[data-v-512ea768]:not(:disabled):focus,\\n li > a:not(:disabled).active[data-v-512ea768],\\n li > .menuitem[data-v-512ea768]:not(:disabled):hover,\\n li > .menuitem[data-v-512ea768]:not(:disabled):focus,\\n li > .menuitem:not(:disabled).active[data-v-512ea768] {\\n opacity: 1 !important;\\n}\\nli > button.action[data-v-512ea768],\\n li > a.action[data-v-512ea768],\\n li > .menuitem.action[data-v-512ea768] {\\n padding: inherit !important;\\n}\\nli > button > span[data-v-512ea768],\\n li > a > span[data-v-512ea768],\\n li > .menuitem > span[data-v-512ea768] {\\n cursor: pointer;\\n white-space: nowrap;\\n}\\nli > button > p[data-v-512ea768],\\n li > a > p[data-v-512ea768],\\n li > .menuitem > p[data-v-512ea768] {\\n width: 150px;\\n line-height: 1.6em;\\n padding: 8px 0;\\n white-space: normal;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\nli > button > select[data-v-512ea768],\\n li > a > select[data-v-512ea768],\\n li > .menuitem > select[data-v-512ea768] {\\n margin: 0;\\n margin-left: 6px;\\n}\\nli > button[data-v-512ea768]:not(:empty),\\n li > a[data-v-512ea768]:not(:empty),\\n li > .menuitem[data-v-512ea768]:not(:empty) {\\n padding-right: 14px !important;\\n}\\nli > button > img[data-v-512ea768],\\n li > a > img[data-v-512ea768],\\n li > .menuitem > img[data-v-512ea768] {\\n width: 16px;\\n padding: 14px;\\n}\\nli > button > input.radio + label[data-v-512ea768],\\n li > button > input.checkbox + label[data-v-512ea768],\\n li > a > input.radio + label[data-v-512ea768],\\n li > a > input.checkbox + label[data-v-512ea768],\\n li > .menuitem > input.radio + label[data-v-512ea768],\\n li > .menuitem > input.checkbox + label[data-v-512ea768] {\\n padding: 0 !important;\\n width: 100%;\\n}\\nli > button > input.checkbox + label[data-v-512ea768]::before,\\n li > a > input.checkbox + label[data-v-512ea768]::before,\\n li > .menuitem > input.checkbox + label[data-v-512ea768]::before {\\n margin: -2px 13px 0;\\n}\\nli > button > input.radio + label[data-v-512ea768]::before,\\n li > a > input.radio + label[data-v-512ea768]::before,\\n li > .menuitem > input.radio + label[data-v-512ea768]::before {\\n margin: -2px 12px 0;\\n}\\nli > button > input[data-v-512ea768]:not([type=radio]):not([type=checkbox]):not([type=image]),\\n li > a > input[data-v-512ea768]:not([type=radio]):not([type=checkbox]):not([type=image]),\\n li > .menuitem > input[data-v-512ea768]:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n width: 150px;\\n}\\nli > button form[data-v-512ea768],\\n li > a form[data-v-512ea768],\\n li > .menuitem form[data-v-512ea768] {\\n display: flex;\\n flex: 1 1 auto;\\n /* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n}\\nli > button form[data-v-512ea768]:not(:first-child),\\n li > a form[data-v-512ea768]:not(:first-child),\\n li > .menuitem form[data-v-512ea768]:not(:first-child) {\\n margin-left: 5px;\\n}\\nli > button > span.hidden + form[data-v-512ea768],\\n li > button > span[style*='display:none'] + form[data-v-512ea768],\\n li > a > span.hidden + form[data-v-512ea768],\\n li > a > span[style*='display:none'] + form[data-v-512ea768],\\n li > .menuitem > span.hidden + form[data-v-512ea768],\\n li > .menuitem > span[style*='display:none'] + form[data-v-512ea768] {\\n margin-left: 0;\\n}\\nli > button input[data-v-512ea768],\\n li > a input[data-v-512ea768],\\n li > .menuitem input[data-v-512ea768] {\\n min-width: 44px;\\n max-height: 40px;\\n /* twice the element margin-y */\\n margin: 2px 0;\\n flex: 1 1 auto;\\n}\\nli > button input[data-v-512ea768]:not(:first-child),\\n li > a input[data-v-512ea768]:not(:first-child),\\n li > .menuitem input[data-v-512ea768]:not(:first-child) {\\n margin-left: 5px;\\n}\\nli:not(.hidden):not([style*='display:none']):first-of-type > button > form[data-v-512ea768], li:not(.hidden):not([style*='display:none']):first-of-type > button > input[data-v-512ea768], li:not(.hidden):not([style*='display:none']):first-of-type > a > form[data-v-512ea768], li:not(.hidden):not([style*='display:none']):first-of-type > a > input[data-v-512ea768], li:not(.hidden):not([style*='display:none']):first-of-type > .menuitem > form[data-v-512ea768], li:not(.hidden):not([style*='display:none']):first-of-type > .menuitem > input[data-v-512ea768] {\\n margin-top: 12px;\\n}\\nli:not(.hidden):not([style*='display:none']):last-of-type > button > form[data-v-512ea768], li:not(.hidden):not([style*='display:none']):last-of-type > button > input[data-v-512ea768], li:not(.hidden):not([style*='display:none']):last-of-type > a > form[data-v-512ea768], li:not(.hidden):not([style*='display:none']):last-of-type > a > input[data-v-512ea768], li:not(.hidden):not([style*='display:none']):last-of-type > .menuitem > form[data-v-512ea768], li:not(.hidden):not([style*='display:none']):last-of-type > .menuitem > input[data-v-512ea768] {\\n margin-bottom: 12px;\\n}\\nli > button[data-v-512ea768] {\\n padding: 0;\\n}\\nli > button span[data-v-512ea768] {\\n opacity: 1;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAuLF;EACC,aAAa;EACb,cAAc;EAuJd,oCAAA;AAAqC;AAzJtC;IAKE,aAAa;AAAA;AALf;;;IAWE,eAAe;IACf,iBC/LmB;IDgMnB,SAAS;IACT,gBAAgB;IAChB,6BAA6B;IAC7B,aAAa;IACb,uBAAuB;IACvB,YAAY;IACZ,SAAS;IACT,UAAU;IACV,mBAAmB;IACnB,gBAAgB;IAChB,WAAW;IACX,6BAA6B;IAC7B,mBAAmB;IACnB,YC3LiB;IDqOjB,8CAAA;IA4BA,sCAAA;IAKA;sBA/PoB;IAsQpB,yBAAA;IA0BA,oCAAA;IAKA,wDAAA;AAAyD;AA3I3D;;;;;;;;;;MAiCG,YAAY;MAAE,mBAAA;MACd,aAAa;MACb,gCAA2C;MAC3C,qBCnNa;AAAA;AD+KhB;;;;;;MAyCG;gDAzK6C;MA2K7C,yBC9NkB;AAAA;ADmLrB;;;;;;;;;MAoDK,iBCvOgB;AAAA;ADmLrB;;;;;MA2DG,sBC9OkB;AAAA;ADmLrB;;;;;;;MAiEG,qBAAiC;AAAA;AAjEpC;;;MAsEG,2BAA2B;AAAA;AAtE9B;;;MA0EG,eAAe;MACf,mBAAmB;AAAA;AA3EtB;;;MAgFG,YAAY;MACZ,kBAAkB;MAClB,cAAc;MACd,mBAAmB;MAGnB,gBAAgB;MAChB,uBAAuB;AAAA;AAvF1B;;;MA4FG,SAAS;MACT,gBAAgB;AAAA;AA7FnB;;;MAkGG,8BAAsC;AAAA;AAlGzC;;;MAwGG,WCvRa;MDwRb,aCpR6C;AAAA;AD2KhD;;;;;;MA+GG,qBAAqB;MACrB,WAAW;AAAA;AAhHd;;;MAmHG,mBAAmB;AAAA;AAnHtB;;;MAsHG,mBAAmB;AAAA;AAtHtB;;;MAyHG,YAAY;AAAA;AAzHf;;;MA8HG,aAAa;MACb,cAAc;MACd;mCA5KgC;AA6KC;AAjIpC;;;QAmII,gBAAgB;AAAA;AAnIpB;;;;;;MAyIG,cAAc;AAAA;AAzIjB;;;MA6IG,eChUkB;MDiUlB,gBAAY;MAA0B,+BAAA;MACtC,aAAa;MACb,cAAc;AAAA;AAhJjB;;;QAmJI,gBAAgB;AAAA;AAnJpB;IA8JK,gBAA8B;AAAA;AA9JnC;IAqKK,mBAAiC;AAAA;AArKtC;IA2KE,UAAU;AAAA;AA3KZ;MA6KG,UC7Ua;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=style&index=0&id=6cb58afa&lang=scss&scoped=true&\":\n/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=style&index=0&id=6cb58afa&lang=scss&scoped=true& ***!\n \\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon[data-v-6cb58afa] {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.autocomplete-result[data-v-6cb58afa] {\\n display: flex;\\n height: 44px;\\n padding: 10px;\\n}\\n.highlight .autocomplete-result[data-v-6cb58afa] {\\n color: var(--color-main-text);\\n background: var(--color-primary-light);\\n}\\n.highlight .autocomplete-result[data-v-6cb58afa], .highlight .autocomplete-result *[data-v-6cb58afa] {\\n cursor: pointer;\\n}\\n.autocomplete-result__icon[data-v-6cb58afa] {\\n position: relative;\\n flex: 0 0 44px;\\n width: 44px;\\n min-width: 44px;\\n height: 44px;\\n border-radius: 44px;\\n background-color: var(--color-background-darker);\\n background-repeat: no-repeat;\\n background-position: center;\\n background-size: 24px;\\n}\\n.autocomplete-result__icon--with-avatar[data-v-6cb58afa] {\\n color: inherit;\\n background-size: cover;\\n}\\n.autocomplete-result__status[data-v-6cb58afa] {\\n position: absolute;\\n right: -4px;\\n bottom: -4px;\\n box-sizing: border-box;\\n width: 18px;\\n height: 18px;\\n border: 2px solid var(--color-main-background);\\n border-radius: 50%;\\n background-color: var(--color-main-background);\\n font-size: var(--default-font-size);\\n line-height: 15px;\\n}\\n.autocomplete-result__status--online[data-v-6cb58afa] {\\n color: #49b382;\\n}\\n.autocomplete-result__status--online[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.autocomplete-result__status--dnd[data-v-6cb58afa] {\\n color: #ed484c;\\n background-color: #fff;\\n}\\n.autocomplete-result__status--dnd[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.autocomplete-result__status--away[data-v-6cb58afa] {\\n color: #f4a331;\\n}\\n.autocomplete-result__status--away[data-v-6cb58afa]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.autocomplete-result__status--offline[data-v-6cb58afa], .autocomplete-result__status--icon[data-v-6cb58afa] {\\n border: none;\\n background-color: transparent;\\n}\\n.autocomplete-result__content[data-v-6cb58afa] {\\n display: flex;\\n flex: 1 1 100%;\\n flex-direction: column;\\n justify-content: center;\\n min-width: 0;\\n padding-left: 10px;\\n}\\n.autocomplete-result__title[data-v-6cb58afa], .autocomplete-result__subline[data-v-6cb58afa] {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.autocomplete-result__subline[data-v-6cb58afa] {\\n color: var(--color-text-lighter);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AutoCompleteResult.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AEsEA;EACC,mCAAmC;EACnC,4CAAuC;EAAE,qBAAA;EACzC,mPAGmD;EAAE,eAAA;AAAgB;AAMtE;EACE,kBAAkB;EAClB,gBAAgB;AAAA;AAFlB;IAMM,mCAAmC;IACnC,YA5Ge;AAAO;AAqG5B;IAMM,mCAAmC;IACnC,YA3GQ;AAAO;AAoGrB;IAMM,mCAAmC;IACnC,YA1GgB;AAAO;AAmG7B;IAMM,mCAAmC;IACnC,YAzGS;AAAO;AAkGtB;IAMM,mCAAmC;IACnC,YAxGQ;AAAO;AAiGrB;IAMM,mCAAmC;IACnC,YAvGO;AAAO;AAgGpB;IAMM,mCAAmC;IACnC,YAtGG;AAAO;AA+FhB;IAMM,mCAAmC;IACnC,YArGK;AAAO;AA8FlB;IAMM,mCAAmC;IACnC,YApGE;AAAO;AA6Ff;IAMM,mCAAmC;IACnC,YAnGE;AAAO;AA4Ff;IAMM,mCAAmC;IACnC,YAlGE;AAAO;AA2Ff;IAMM,mCAAmC;IACnC,YAjGG;AAAO;AA0FhB;IAMM,mCAAmC;IACnC,YAhGE;AAAO;AAyFf;IAMM,mCAAmC;IACnC,YA/FQ;AAAO;AAwFrB;IAMM,mCAAmC;IACnC,YA9Fc;AAAO;AAuF3B;IAMM,mCAAmC;IACnC,YA7Fa;AAAO;AAsF1B;IAMM,mCAAmC;IACnC,YA5FmB;AAAO;AAqFhC;IAMM,mCAAmC;IACnC,YA3FgB;AAAO;AFsF/B;EACC,aAAa;EACb,YClFoB;EDmFpB,aAL0B;AAAA;AAO1B;IACC,6BAA6B;IAC7B,sCAAsC;AAAA;AAFvC;MAIE,eAAe;AAAA;AAIjB;IACC,kBAAkB;IAClB,cC/FmB;IDgGnB,WChGmB;IDiGnB,eCjGmB;IDkGnB,YClGmB;IDmGnB,mBCnGmB;IDoGnB,gDAAgD;IAChD,4BAA4B;IAC5B,2BAA2B;IAC3B,qBAA4D;AAAA;AAC5D;MACC,cAAc;MACd,sBAAsB;AAAA;AAIxB;IACC,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,sBAAsB;IACtB,WAAW;IACX,YAAY;IACZ,8CAA8C;IAC9C,kBAAkB;IAClB,8CAA8C;IAC9C,mCAAmC;IACnC,iBAAiB;AAAA;AACjB;MACC,cAAc;AAAA;AADd;QEjEC,mCAjFmB;QAkFnB,kBAAkB;QAClB,gBAAgB;QAChB,YAlEoB;AAAO;AFqI7B;MACC,cAAc;MACd,sBAAsB;AAAA;AAFtB;QEtEC,mCAjFmB;QAkFnB,kBAAkB;QAClB,gBAAgB;QAChB,YApEiB;AAAO;AF6I1B;MACC,cAAc;AAAA;AADd;QE5EC,mCAjFmB;QAkFnB,kBAAkB;QAClB,gBAAgB;QAChB,YArEkB;AAAO;AFmJ3B;MAEC,YAAY;MACZ,6BAA6B;AAAA;AAI/B;IACC,aAAa;IACb,cAAc;IACd,sBAAsB;IACtB,uBAAuB;IACvB,YAAY;IACZ,kBAzEyB;AAAA;AA4E1B;IAEC,mBAAmB;IACnB,gBAAgB;IAChB,uBAAuB;AAAA;AAGxB;IACC,gCAAgC;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n$autocomplete-padding: 10px;\\n\\n.autocomplete-result {\\n\\tdisplay: flex;\\n\\theight: $clickable-area;\\n\\tpadding: $autocomplete-padding;\\n\\n\\t.highlight & {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground: var(--color-primary-light);\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: $clickable-area;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $clickable-area - 2 * $autocomplete-padding;\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 18px;\\n\\t\\theight: 18px;\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: 15px;\\n\\t\\t&--online {\\n\\t\\t\\tcolor: #49b382;\\n\\n\\t\\t\\t@include iconfont('user-status-online');\\n\\t\\t}\\n\\t\\t&--dnd {\\n\\t\\t\\tcolor: #ed484c;\\n\\t\\t\\tbackground-color: #fff;\\n\\n\\t\\t\\t@include iconfont('user-status-dnd');\\n\\t\\t}\\n\\t\\t&--away {\\n\\t\\t\\tcolor: #f4a331;\\n\\n\\t\\t\\t@include iconfont('user-status-away');\\n\\t\\t}\\n\\t\\t&--offline,\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t\\tpadding-left: $autocomplete-padding;\\n\\t}\\n\\n\\t&__title,\\n\\t&__subline {\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&__subline {\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.mention-bubble--primary .mention-bubble__content[data-v-69f40ec8] {\\n color: var(--color-primary-text);\\n background-color: var(--color-primary-element);\\n}\\n.mention-bubble__wrapper[data-v-69f40ec8] {\\n max-width: 150px;\\n height: 18px;\\n vertical-align: text-bottom;\\n display: inline-flex;\\n align-items: center;\\n}\\n.mention-bubble__content[data-v-69f40ec8] {\\n display: inline-flex;\\n overflow: hidden;\\n align-items: center;\\n max-width: 100%;\\n height: 20px;\\n -webkit-user-select: none;\\n user-select: none;\\n padding-right: 6px;\\n padding-left: 2px;\\n border-radius: 10px;\\n background-color: var(--color-background-dark);\\n}\\n.mention-bubble__icon[data-v-69f40ec8] {\\n position: relative;\\n width: 16px;\\n height: 16px;\\n border-radius: 8px;\\n background-color: var(--color-background-darker);\\n background-repeat: no-repeat;\\n background-position: center;\\n background-size: 12px;\\n}\\n.mention-bubble__icon--with-avatar[data-v-69f40ec8] {\\n color: inherit;\\n background-size: cover;\\n}\\n.mention-bubble__title[data-v-69f40ec8] {\\n overflow: hidden;\\n margin-left: 2px;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.mention-bubble__title[data-v-69f40ec8]::before {\\n content: attr(title);\\n}\\n.mention-bubble__select[data-v-69f40ec8] {\\n position: absolute;\\n z-index: -1;\\n left: -1000px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./MentionBubble.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAiFD;EACC,gCAAgC;EAChC,8CAA8C;AAAA;AAG/C;EACC,gBAXsB;EAatB,YAAwC;EACxC,2BAA2B;EAC3B,oBAAoB;EACpB,mBAAmB;AAAA;AAGpB;EACC,oBAAoB;EACpB,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,YAzBkB;EA0BlB,yBAAyB;EACzB,iBAAiB;EACjB,kBAAkC;EAClC,iBA3BkB;EA4BlB,mBAAiC;EACjC,8CAA8C;AAAA;AAG/C;EACC,kBAAkB;EAClB,WAjCuD;EAkCvD,YAlCuD;EAmCvD,kBAAsC;EACtC,gDAAgD;EAChD,4BAA4B;EAC5B,2BAA2B;EAC3B,qBAA0D;AAAA;AAE1D;IACC,cAAc;IACd,sBAAsB;AAAA;AAIxB;EACC,gBAAgB;EAChB,gBAlDkB;EAmDlB,mBAAmB;EACnB,uBAAuB;AAAA;AAJvB;IAOC,oBAAoB;AAAA;AAKtB;EACC,kBAAkB;EAClB,WAAW;EACX,aAAa;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=0&id=554d37da&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=0&id=554d37da&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.rich-contenteditable__input[data-v-554d37da] {\\n overflow-y: auto;\\n width: auto;\\n margin: 0;\\n padding: 6px;\\n cursor: text;\\n white-space: pre-wrap;\\n word-break: break-word;\\n color: var(--color-main-text);\\n border: 1px solid var(--color-border-dark);\\n border-radius: var(--border-radius);\\n outline: none;\\n background-color: var(--color-main-background);\\n font-family: var(--font-face);\\n font-size: inherit;\\n min-height: 44px;\\n max-height: 242px;\\n}\\n.rich-contenteditable__input--empty[data-v-554d37da]:before {\\n position: absolute;\\n content: attr(placeholder);\\n color: var(--color-text-maxcontrast);\\n}\\n.rich-contenteditable__input[contenteditable='false'][data-v-554d37da] {\\n cursor: default;\\n opacity: .5;\\n color: var(--color-text-lighter);\\n border: 1px solid var(--color-background-darker);\\n border-radius: var(--border-radius);\\n background-color: var(--color-background-dark);\\n}\\n.rich-contenteditable__input--multiline[data-v-554d37da] {\\n min-height: 132px;\\n max-height: none;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./RichContenteditable.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAkbF;EACC,gBAAgB;EAChB,WAAW;EACX,SAAS;EACT,YAAY;EACZ,YAAY;EACZ,qBAAqB;EACrB,sBAAsB;EACtB,6BAA6B;EAC7B,0CAA0C;EAC1C,mCAAmC;EACnC,aAAa;EACb,8CAA8C;EAC9C,6BAA6B;EAC7B,kBAAkB;EAClB,gBC7boB;ED8bpB,iBAAiC;AAAA;AAGjC;IACC,kBAAkB;IAClB,0BAA0B;IAC1B,oCAAoC;AAAA;AAtBtC;IA0BE,eAAe;IACf,WAAW;IACX,gCAAgC;IAChC,gDAAgD;IAChD,mCAAmC;IACnC,8CAA8C;AAAA;AAG/C;IACC,iBAA+B;IAE/B,gBAAgB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n// Standalone styling, independent from server\\n.rich-contenteditable__input {\\n\\toverflow-y: auto;\\n\\twidth: auto;\\n\\tmargin: 0;\\n\\tpadding: 6px;\\n\\tcursor: text;\\n\\twhite-space: pre-wrap;\\n\\tword-break: break-word;\\n\\tcolor: var(--color-main-text);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-family: var(--font-face);\\n\\tfont-size: inherit;\\n\\tmin-height: $clickable-area;\\n\\tmax-height: $clickable-area * 5.5;\\n\\n\\t// Cannot use :empty because of firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=1513303\\n\\t&--empty:before {\\n\\t\\tposition: absolute;\\n\\t\\tcontent: attr(placeholder);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&[contenteditable='false'] {\\n\\t\\tcursor: default;\\n\\t\\topacity: .5;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 1px solid var(--color-background-darker);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&--multiline {\\n\\t\\tmin-height: $clickable-area * 3;\\n\\t\\t// No max for mutiline\\n\\t\\tmax-height: none;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=1&lang=scss&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=1&lang=scss& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.tribute-container {\\n z-index: 9000;\\n overflow: auto;\\n min-width: 250px;\\n max-width: 300px;\\n max-height: 288px;\\n margin: 5px 0;\\n color: var(--color-main-text);\\n border-radius: var(--border-radius);\\n background: var(--color-main-background);\\n box-shadow: 0 1px 5px var(--color-box-shadow);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./RichContenteditable.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AEsEA;EACC,mCAAmC;EACnC,4CAAuC;EAAE,qBAAA;EACzC,mPAGmD;EAAE,eAAA;AAAgB;AAMtE;EACE,kBAAkB;EAClB,gBAAgB;AAAA;AAFlB;IAMM,mCAAmC;IACnC,YA5Ge;AAAO;AAqG5B;IAMM,mCAAmC;IACnC,YA3GQ;AAAO;AAoGrB;IAMM,mCAAmC;IACnC,YA1GgB;AAAO;AAmG7B;IAMM,mCAAmC;IACnC,YAzGS;AAAO;AAkGtB;IAMM,mCAAmC;IACnC,YAxGQ;AAAO;AAiGrB;IAMM,mCAAmC;IACnC,YAvGO;AAAO;AAgGpB;IAMM,mCAAmC;IACnC,YAtGG;AAAO;AA+FhB;IAMM,mCAAmC;IACnC,YArGK;AAAO;AA8FlB;IAMM,mCAAmC;IACnC,YApGE;AAAO;AA6Ff;IAMM,mCAAmC;IACnC,YAnGE;AAAO;AA4Ff;IAMM,mCAAmC;IACnC,YAlGE;AAAO;AA2Ff;IAMM,mCAAmC;IACnC,YAjGG;AAAO;AA0FhB;IAMM,mCAAmC;IACnC,YAhGE;AAAO;AAyFf;IAMM,mCAAmC;IACnC,YA/FQ;AAAO;AAwFrB;IAMM,mCAAmC;IACnC,YA9Fc;AAAO;AAuF3B;IAMM,mCAAmC;IACnC,YA7Fa;AAAO;AAsF1B;IAMM,mCAAmC;IACnC,YA5FmB;AAAO;AAqFhC;IAMM,mCAAmC;IACnC,YA3FgB;AAAO;AFke/B;EACC,aAAa;EACb,cAAc;EACd,gBAAgB;EAChB,gBAAgB;EAGhB,iBAA0C;EAE1C,aAAa;EACb,6BAA6B;EAC7B,mCAAmC;EACnC,wCAAwC;EACxC,6CAA6C;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.tribute-container {\\n\\tz-index: 9000;\\n\\toverflow: auto;\\n\\tmin-width: 250px;\\n\\tmax-width: 300px;\\n\\t// Show maximum 4 entries and a half to show scroll\\n\\t// 44px + 10px padding\\n\\tmax-height: ($clickable-area + 20px) * 4.5;\\n\\t// Space it out a bit from the text\\n\\tmargin: 5px 0;\\n\\tcolor: var(--color-main-text);\\n\\tborder-radius: var(--border-radius);\\n\\tbackground: var(--color-main-background);\\n\\tbox-shadow: 0 1px 5px var(--color-box-shadow);\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SettingsSection/SettingsSection.vue?vue&type=style&index=0&id=911c1c56&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SettingsSection/SettingsSection.vue?vue&type=style&index=0&id=911c1c56&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon[data-v-911c1c56] {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.settings-section[data-v-911c1c56] {\\n display: block;\\n margin-bottom: auto;\\n padding: 30px;\\n}\\n.settings-section[data-v-911c1c56]:not(:last-child) {\\n border-bottom: 1px solid var(--color-border);\\n}\\n.settings-section__title[data-v-911c1c56] {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n font-size: 20px;\\n font-weight: bold;\\n}\\n.settings-section__info[data-v-911c1c56] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 44px;\\n height: 44px;\\n margin: -14px;\\n margin-left: 0;\\n opacity: 0.7;\\n font-size: 16px;\\n}\\n.settings-section__info[data-v-911c1c56]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.settings-section__info[data-v-911c1c56]:hover, .settings-section__info[data-v-911c1c56]:focus, .settings-section__info[data-v-911c1c56]:active {\\n opacity: 1;\\n}\\n.settings-section__desc[data-v-911c1c56] {\\n margin-top: -0.2em;\\n margin-bottom: 1em;\\n opacity: 0.7;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./SettingsSection.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AEsEA;EACC,mCAAmC;EACnC,4CAAuC;EAAE,qBAAA;EACzC,mPAGmD;EAAE,eAAA;AAAgB;AAMtE;EACE,kBAAkB;EAClB,gBAAgB;AAAA;AAFlB;IAMM,mCAAmC;IACnC,YA5Ge;AAAO;AAqG5B;IAMM,mCAAmC;IACnC,YA3GQ;AAAO;AAoGrB;IAMM,mCAAmC;IACnC,YA1GgB;AAAO;AAmG7B;IAMM,mCAAmC;IACnC,YAzGS;AAAO;AAkGtB;IAMM,mCAAmC;IACnC,YAxGQ;AAAO;AAiGrB;IAMM,mCAAmC;IACnC,YAvGO;AAAO;AAgGpB;IAMM,mCAAmC;IACnC,YAtGG;AAAO;AA+FhB;IAMM,mCAAmC;IACnC,YArGK;AAAO;AA8FlB;IAMM,mCAAmC;IACnC,YApGE;AAAO;AA6Ff;IAMM,mCAAmC;IACnC,YAnGE;AAAO;AA4Ff;IAMM,mCAAmC;IACnC,YAlGE;AAAO;AA2Ff;IAMM,mCAAmC;IACnC,YAjGG;AAAO;AA0FhB;IAMM,mCAAmC;IACnC,YAhGE;AAAO;AAyFf;IAMM,mCAAmC;IACnC,YA/FQ;AAAO;AAwFrB;IAMM,mCAAmC;IACnC,YA9Fc;AAAO;AAuF3B;IAMM,mCAAmC;IACnC,YA7Fa;AAAO;AAsF1B;IAMM,mCAAmC;IACnC,YA5FmB;AAAO;AAqFhC;IAMM,mCAAmC;IACnC,YA3FgB;AAAO;AFyF/B;EACC,cAAc;EACd,mBAAmB;EACnB,aAAa;AAAA;AAHd;IAME,4CAA4C;AAAA;AAG7C;IACC,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,eAAe;IACf,iBAAiB;AAAA;AAGlB;IACC,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,WCxGmB;IDyGnB,YCzGmB;ID2GnB,aCnG8C;IDoG9C,cAAc;IACd,YC3FiB;ID4FjB,eC1Gc;AAAA;ADgGd;ME3CE,mCAjFmB;MAkFnB,kBAAkB;MAClB,gBAAgB;MAChB,YA3EM;AAAO;AFmHf;MAeC,UChGa;AAAA;ADoGf;IACC,kBAAkB;IAClB,kBAAkB;IAClB,YCxGiB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.settings-section {\\n\\tdisplay: block;\\n\\tmargin-bottom: auto;\\n\\tpadding: 30px;\\n\\n\\t&:not(:last-child) {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t&__title {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\tfont-size: 20px;\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t&__info {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\t// make sure to properly align the icon with the text\\n\\t\\tmargin: -$icon-margin;\\n\\t\\tmargin-left: 0;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-size: $icon-size;\\n\\n\\t\\t@include iconfont('info');\\n\\n\\t\\t&:hover, &:focus, &:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__desc {\\n\\t\\tmargin-top: -0.2em;\\n\\t\\tmargin-bottom: 1em;\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/UserBubble/UserBubble.vue?vue&type=style&index=0&id=5c0e21af&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/UserBubble/UserBubble.vue?vue&type=style&index=0&id=5c0e21af&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.user-bubble__wrapper[data-v-5c0e21af] {\\n display: inline-block;\\n vertical-align: middle;\\n min-width: 0;\\n max-width: 100%;\\n}\\n.user-bubble__content[data-v-5c0e21af] {\\n display: inline-flex;\\n max-width: 100%;\\n background-color: var(--color-background-dark);\\n}\\n.user-bubble__content--primary[data-v-5c0e21af] {\\n color: var(--color-primary-text);\\n background-color: var(--color-primary-element);\\n}\\n.user-bubble__content[data-v-5c0e21af] > :last-child {\\n padding-right: 8px;\\n}\\n.user-bubble__avatar[data-v-5c0e21af] {\\n align-self: center;\\n}\\n.user-bubble__title[data-v-5c0e21af] {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.user-bubble__title[data-v-5c0e21af], .user-bubble__secondary[data-v-5c0e21af] {\\n padding: 0;\\n padding-left: 4px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./UserBubble.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AA+PD;EAEC,qBAAqB;EACrB,sBAAsB;EAEtB,YAAY;EACZ,eAAe;AAAA;AAGhB;EACC,oBAAoB;EACpB,eAAe;EACf,8CAA8C;AAAA;AAE9C;IACC,gCAAgC;IAChC,8CAA8C;AAAA;AAP/C;IAYC,kBAAkB;AAAA;AAIpB;EACC,kBAAkB;AAAA;AAGnB;EACC,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AAAA;AAGxB;EAGC,UAAU;EACV,iBAAiB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.user-bubble {\\n\\t&__wrapper {\\n\\t\\t// align inline with text\\n\\t\\tdisplay: inline-block;\\n\\t\\tvertical-align: middle;\\n\\t\\t// shrink and allow grow to fit\\n\\t\\tmin-width: 0;\\n\\t\\tmax-width: 100%;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\tmax-width: 100%;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\n\\t\\t&--primary {\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t> :last-child {\\n\\t\\t\\t// border radius left padding\\n\\t\\t\\tpadding-right: 8px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__avatar {\\n\\t\\talign-self: center;\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&__title,\\n\\t&__secondary {\\n\\t\\t// proper spacing between avatar, title & slot\\n\\t\\tpadding: 0;\\n\\t\\tpadding-left: 4px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=style&index=0&id=9c70beda&scoped=true&lang=css&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=style&index=0&id=9c70beda&scoped=true&lang=css& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"\\n.app-navigation-spacer[data-v-9c70beda] {\\n\\tflex-shrink: 0;\\n\\torder: 1;\\n\\theight: 22px;\\n}\\n\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppNavigationSpacer.vue\"],\"names\":[],\"mappings\":\";AAgCA;CACA,cAAA;CACA,QAAA;CACA,YAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\\n -\\n - @author Christoph Wurst <christoph@winzerhof-wurst.at>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n<template>\\n\\t<li class=\\\"app-navigation-spacer\\\" />\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: 'AppNavigationSpacer',\\n}\\n</script>\\n\\n<style scoped>\\n\\t.app-navigation-spacer {\\n\\t\\tflex-shrink: 0;\\n\\t\\torder: 1;\\n\\t\\theight: 22px;\\n\\t}\\n\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"\\nbutton.menuitem[data-v-512ea768] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-512ea768] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-512ea768]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-512ea768] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-512ea768] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenuItem.vue\"],\"names\":[],\"mappings\":\";AAmLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n\\n<template>\\n\\t<li class=\\\"popover__menuitem\\\">\\n\\t\\t<!-- If item.href is set, a link will be directly used -->\\n\\t\\t<a v-if=\\\"item.href\\\"\\n\\t\\t\\t:href=\\\"(item.href) ? item.href : '#' \\\"\\n\\t\\t\\t:target=\\\"(item.target) ? item.target : '' \\\"\\n\\t\\t\\t:download=\\\"item.download\\\"\\n\\t\\t\\tclass=\\\"focusable\\\"\\n\\t\\t\\trel=\\\"noreferrer noopener\\\"\\n\\t\\t\\t@click=\\\"action\\\">\\n\\t\\t\\t<span v-if=\\\"!iconIsUrl\\\" :class=\\\"item.icon\\\" />\\n\\t\\t\\t<img v-else :src=\\\"item.icon\\\">\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t<!-- If item.input is set instead, an put will be used -->\\n\\t\\t<span v-else-if=\\\"item.input\\\" class=\\\"menuitem\\\" :class=\\\"{active: item.active}\\\">\\n\\t\\t\\t<!-- does not show if input is checkbox -->\\n\\t\\t\\t<span v-if=\\\"item.input !== 'checkbox'\\\" :class=\\\"item.icon\\\" />\\n\\n\\t\\t\\t<!-- only shows if input is text -->\\n\\t\\t\\t<form v-if=\\\"item.input === 'text'\\\"\\n\\t\\t\\t\\t:class=\\\"item.input\\\"\\n\\t\\t\\t\\t@submit.prevent=\\\"item.action\\\">\\n\\t\\t\\t\\t<input :type=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t:value=\\\"item.value\\\"\\n\\t\\t\\t\\t\\t:placeholder=\\\"item.text\\\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\\\"submit\\\" value=\\\"\\\" class=\\\"icon-confirm\\\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t<!-- checkbox -->\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t<!-- eslint-disable-next-line -->\\n\\t\\t\\t\\t<input :id=\\\"key\\\" v-model=\\\"item.model\\\"\\n\\t\\t\\t\\t\\t:type=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t:class=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t@change=\\\"item.action\\\">\\n\\t\\t\\t\\t<label :for=\\\"key\\\" @click.stop.prevent=\\\"item.action\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t<!-- If item.action is set instead, a button will be used -->\\n\\t\\t<button v-else-if=\\\"item.action\\\"\\n\\t\\t\\tclass=\\\"menuitem focusable\\\"\\n\\t\\t\\t:class=\\\"{active: item.active}\\\"\\n\\t\\t\\t:disabled=\\\"item.disabled\\\"\\n\\t\\t\\t@click.stop.prevent=\\\"item.action\\\">\\n\\t\\t\\t<span :class=\\\"item.icon\\\" />\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t<!-- If item.longtext is set AND the item does not have an action -->\\n\\t\\t<span v-else class=\\\"menuitem\\\" :class=\\\"{active: item.active}\\\">\\n\\t\\t\\t<span :class=\\\"item.icon\\\" />\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: 'PopoverMenuItem',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: 'nextcloud-link',\\n\\t\\t\\t\\t\\thref: 'https://nextcloud.com',\\n\\t\\t\\t\\t\\ticon: 'icon-links',\\n\\t\\t\\t\\t\\ttext: 'Nextcloud',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn ['text', 'checkbox'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\\\"scss\\\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/api.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/api.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/cssWithMappingToString.js ***!\n \\************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/getUrl.js\":\n/*!********************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/getUrl.js ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (url, options) {\n if (!options) {\n // eslint-disable-next-line no-param-reassign\n options = {};\n } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n url = url && url.__esModule ? url.default : url;\n\n if (typeof url !== \"string\") {\n return url;\n } // If url is already wrapped in quotes, remove them\n\n\n if (/^['\"].*['\"]$/.test(url)) {\n // eslint-disable-next-line no-param-reassign\n url = url.slice(1, -1);\n }\n\n if (options.hash) {\n // eslint-disable-next-line no-param-reassign\n url += options.hash;\n } // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n\n\n if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n\n return url;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_style_index_0_id_2e929b4f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_style_index_0_id_2e929b4f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_style_index_0_id_2e929b4f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=style&index=0&id=74cf1d6f&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=style&index=0&id=74cf1d6f&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionCheckbox_vue_vue_type_style_index_0_id_74cf1d6f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionCheckbox.vue?vue&type=style&index=0&id=74cf1d6f&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=style&index=0&id=74cf1d6f&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionCheckbox_vue_vue_type_style_index_0_id_74cf1d6f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionCheckbox_vue_vue_type_style_index_0_id_74cf1d6f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionInput/ActionInput.vue?vue&type=style&index=0&id=5e00ea39&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionInput/ActionInput.vue?vue&type=style&index=0&id=5e00ea39&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionInput_vue_vue_type_style_index_0_id_5e00ea39_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionInput.vue?vue&type=style&index=0&id=5e00ea39&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionInput/ActionInput.vue?vue&type=style&index=0&id=5e00ea39&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionInput_vue_vue_type_style_index_0_id_5e00ea39_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionInput_vue_vue_type_style_index_0_id_5e00ea39_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionLink/ActionLink.vue?vue&type=style&index=0&id=7b85b80f&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionLink/ActionLink.vue?vue&type=style&index=0&id=7b85b80f&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionLink_vue_vue_type_style_index_0_id_7b85b80f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionLink.vue?vue&type=style&index=0&id=7b85b80f&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionLink/ActionLink.vue?vue&type=style&index=0&id=7b85b80f&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionLink_vue_vue_type_style_index_0_id_7b85b80f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionLink_vue_vue_type_style_index_0_id_7b85b80f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRadio/ActionRadio.vue?vue&type=style&index=0&id=031b3fca&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionRadio/ActionRadio.vue?vue&type=style&index=0&id=031b3fca&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRadio_vue_vue_type_style_index_0_id_031b3fca_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionRadio.vue?vue&type=style&index=0&id=031b3fca&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRadio/ActionRadio.vue?vue&type=style&index=0&id=031b3fca&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRadio_vue_vue_type_style_index_0_id_031b3fca_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRadio_vue_vue_type_style_index_0_id_031b3fca_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRouter/ActionRouter.vue?vue&type=style&index=0&id=3a6feea2&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionRouter/ActionRouter.vue?vue&type=style&index=0&id=3a6feea2&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRouter_vue_vue_type_style_index_0_id_3a6feea2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionRouter.vue?vue&type=style&index=0&id=3a6feea2&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRouter/ActionRouter.vue?vue&type=style&index=0&id=3a6feea2&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRouter_vue_vue_type_style_index_0_id_3a6feea2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRouter_vue_vue_type_style_index_0_id_3a6feea2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionSeparator/ActionSeparator.vue?vue&type=style&index=0&id=64ac3a22&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionSeparator/ActionSeparator.vue?vue&type=style&index=0&id=64ac3a22&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionSeparator_vue_vue_type_style_index_0_id_64ac3a22_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionSeparator.vue?vue&type=style&index=0&id=64ac3a22&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionSeparator/ActionSeparator.vue?vue&type=style&index=0&id=64ac3a22&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionSeparator_vue_vue_type_style_index_0_id_64ac3a22_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionSeparator_vue_vue_type_style_index_0_id_64ac3a22_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionText/ActionText.vue?vue&type=style&index=0&id=68547a2f&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionText/ActionText.vue?vue&type=style&index=0&id=68547a2f&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionText_vue_vue_type_style_index_0_id_68547a2f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionText.vue?vue&type=style&index=0&id=68547a2f&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionText/ActionText.vue?vue&type=style&index=0&id=68547a2f&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionText_vue_vue_type_style_index_0_id_68547a2f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionText_vue_vue_type_style_index_0_id_68547a2f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=style&index=0&id=6377b0a2&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=style&index=0&id=6377b0a2&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionTextEditable_vue_vue_type_style_index_0_id_6377b0a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionTextEditable.vue?vue&type=style&index=0&id=6377b0a2&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=style&index=0&id=6377b0a2&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionTextEditable_vue_vue_type_style_index_0_id_6377b0a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionTextEditable_vue_vue_type_style_index_0_id_6377b0a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_style_index_0_id_4f45864b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_style_index_0_id_4f45864b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_style_index_0_id_4f45864b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppContent/AppContent.vue?vue&type=style&index=0&id=71758b0f&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppContent/AppContent.vue?vue&type=style&index=0&id=71758b0f&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContent_vue_vue_type_style_index_0_id_71758b0f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppContent.vue?vue&type=style&index=0&id=71758b0f&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppContent/AppContent.vue?vue&type=style&index=0&id=71758b0f&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContent_vue_vue_type_style_index_0_id_71758b0f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContent_vue_vue_type_style_index_0_id_71758b0f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigation/AppNavigation.vue?vue&type=style&index=0&id=d3908c0a&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigation/AppNavigation.vue?vue&type=style&index=0&id=d3908c0a&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigation_vue_vue_type_style_index_0_id_d3908c0a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigation.vue?vue&type=style&index=0&id=d3908c0a&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigation/AppNavigation.vue?vue&type=style&index=0&id=d3908c0a&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigation_vue_vue_type_style_index_0_id_d3908c0a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigation_vue_vue_type_style_index_0_id_d3908c0a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_style_index_0_id_6ee65822_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_style_index_0_id_6ee65822_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_style_index_0_id_6ee65822_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=style&index=0&id=231d7daf&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=style&index=0&id=231d7daf&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCounter_vue_vue_type_style_index_0_id_231d7daf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationCounter.vue?vue&type=style&index=0&id=231d7daf&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=style&index=0&id=231d7daf&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCounter_vue_vue_type_style_index_0_id_231d7daf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCounter_vue_vue_type_style_index_0_id_231d7daf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=style&index=0&id=1589a81e&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=style&index=0&id=1589a81e&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconBullet_vue_vue_type_style_index_0_id_1589a81e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationIconBullet.vue?vue&type=style&index=0&id=1589a81e&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=style&index=0&id=1589a81e&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconBullet_vue_vue_type_style_index_0_id_1589a81e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconBullet_vue_vue_type_style_index_0_id_1589a81e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=style&index=0&id=3c4acfb3&lang=scss&scoped=true&\":\n/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=style&index=0&id=3c4acfb3&lang=scss&scoped=true& ***!\n \\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconCollapsible_vue_vue_type_style_index_0_id_3c4acfb3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationIconCollapsible.vue?vue&type=style&index=0&id=3c4acfb3&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=style&index=0&id=3c4acfb3&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconCollapsible_vue_vue_type_style_index_0_id_3c4acfb3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconCollapsible_vue_vue_type_style_index_0_id_3c4acfb3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=style&index=0&lang=scss&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=style&index=0&lang=scss& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationItem_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationItem.vue?vue&type=style&index=0&lang=scss& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=style&index=0&lang=scss&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationItem_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationItem_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=style&index=0&lang=scss&\":\n/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=style&index=0&lang=scss& ***!\n \\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_InputConfirmCancel_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./InputConfirmCancel.vue?vue&type=style&index=0&lang=scss& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=style&index=0&lang=scss&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_InputConfirmCancel_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_InputConfirmCancel_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_style_index_0_id_cc6353a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_style_index_0_id_cc6353a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_style_index_0_id_cc6353a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=style&index=0&lang=scss&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=style&index=0&lang=scss& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNewItem_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationNewItem.vue?vue&type=style&index=0&lang=scss& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=style&index=0&lang=scss&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNewItem_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNewItem_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_style_index_0_id_9c9c397e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_style_index_0_id_9c9c397e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_style_index_0_id_9c9c397e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=style&index=0&id=17ebeae3&scoped=true&lang=scss&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=style&index=0&id=17ebeae3&scoped=true&lang=scss& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationToggle_vue_vue_type_style_index_0_id_17ebeae3_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationToggle.vue?vue&type=style&index=0&id=17ebeae3&scoped=true&lang=scss& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=style&index=0&id=17ebeae3&scoped=true&lang=scss&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationToggle_vue_vue_type_style_index_0_id_17ebeae3_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationToggle_vue_vue_type_style_index_0_id_17ebeae3_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=style&index=0&id=1d3abcae&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=style&index=0&id=1d3abcae&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsDialog_vue_vue_type_style_index_0_id_1d3abcae_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSettingsDialog.vue?vue&type=style&index=0&id=1d3abcae&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=style&index=0&id=1d3abcae&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsDialog_vue_vue_type_style_index_0_id_1d3abcae_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsDialog_vue_vue_type_style_index_0_id_1d3abcae_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=style&index=0&id=a1fa5522&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=style&index=0&id=a1fa5522&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsSection_vue_vue_type_style_index_0_id_a1fa5522_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSettingsSection.vue?vue&type=style&index=0&id=a1fa5522&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=style&index=0&id=a1fa5522&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsSection_vue_vue_type_style_index_0_id_a1fa5522_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsSection_vue_vue_type_style_index_0_id_a1fa5522_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=0&id=4a2a5f2f&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=0&id=4a2a5f2f&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_style_index_0_id_4a2a5f2f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSidebar.vue?vue&type=style&index=0&id=4a2a5f2f&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=0&id=4a2a5f2f&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_style_index_0_id_4a2a5f2f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_style_index_0_id_4a2a5f2f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=1&lang=scss&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=1&lang=scss& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSidebar.vue?vue&type=style&index=1&lang=scss& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=1&lang=scss&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=style&index=0&id=5772e44d&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=style&index=0&id=5772e44d&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTabs_vue_vue_type_style_index_0_id_5772e44d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSidebarTabs.vue?vue&type=style&index=0&id=5772e44d&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=style&index=0&id=5772e44d&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTabs_vue_vue_type_style_index_0_id_5772e44d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTabs_vue_vue_type_style_index_0_id_5772e44d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=style&index=0&id=e5dbfd76&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=style&index=0&id=e5dbfd76&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTab_vue_vue_type_style_index_0_id_e5dbfd76_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSidebarTab.vue?vue&type=style&index=0&id=e5dbfd76&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=style&index=0&id=e5dbfd76&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTab_vue_vue_type_style_index_0_id_e5dbfd76_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTab_vue_vue_type_style_index_0_id_e5dbfd76_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Avatar/Avatar.vue?vue&type=style&index=0&id=100e3b6f&scoped=true&lang=scss&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Avatar/Avatar.vue?vue&type=style&index=0&id=100e3b6f&scoped=true&lang=scss& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Avatar_vue_vue_type_style_index_0_id_100e3b6f_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Avatar.vue?vue&type=style&index=0&id=100e3b6f&scoped=true&lang=scss& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Avatar/Avatar.vue?vue&type=style&index=0&id=100e3b6f&scoped=true&lang=scss&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Avatar_vue_vue_type_style_index_0_id_100e3b6f_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Avatar_vue_vue_type_style_index_0_id_100e3b6f_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Breadcrumb/Breadcrumb.vue?vue&type=style&index=0&id=03216ba2&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Breadcrumb/Breadcrumb.vue?vue&type=style&index=0&id=03216ba2&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_style_index_0_id_03216ba2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Breadcrumb.vue?vue&type=style&index=0&id=03216ba2&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Breadcrumb/Breadcrumb.vue?vue&type=style&index=0&id=03216ba2&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_style_index_0_id_03216ba2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_style_index_0_id_03216ba2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=style&index=0&id=7650ef71&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=style&index=0&id=7650ef71&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumbs_vue_vue_type_style_index_0_id_7650ef71_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Breadcrumbs.vue?vue&type=style&index=0&id=7650ef71&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=style&index=0&id=7650ef71&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumbs_vue_vue_type_style_index_0_id_7650ef71_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumbs_vue_vue_type_style_index_0_id_7650ef71_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ColorPicker/ColorPicker.vue?vue&type=style&index=0&id=ee3f421a&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ColorPicker/ColorPicker.vue?vue&type=style&index=0&id=ee3f421a&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ColorPicker_vue_vue_type_style_index_0_id_ee3f421a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ColorPicker.vue?vue&type=style&index=0&id=ee3f421a&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ColorPicker/ColorPicker.vue?vue&type=style&index=0&id=ee3f421a&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ColorPicker_vue_vue_type_style_index_0_id_ee3f421a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ColorPicker_vue_vue_type_style_index_0_id_ee3f421a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Content/Content.vue?vue&type=style&index=0&id=37f0357a&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Content/Content.vue?vue&type=style&index=0&id=37f0357a&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Content_vue_vue_type_style_index_0_id_37f0357a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Content.vue?vue&type=style&index=0&id=37f0357a&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Content/Content.vue?vue&type=style&index=0&id=37f0357a&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Content_vue_vue_type_style_index_0_id_37f0357a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Content_vue_vue_type_style_index_0_id_37f0357a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/EmptyContent/EmptyContent.vue?vue&type=style&index=0&id=a68b8462&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/EmptyContent/EmptyContent.vue?vue&type=style&index=0&id=a68b8462&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_EmptyContent_vue_vue_type_style_index_0_id_a68b8462_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./EmptyContent.vue?vue&type=style&index=0&id=a68b8462&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/EmptyContent/EmptyContent.vue?vue&type=style&index=0&id=a68b8462&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_EmptyContent_vue_vue_type_style_index_0_id_a68b8462_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_EmptyContent_vue_vue_type_style_index_0_id_a68b8462_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ListItemIcon/ListItemIcon.vue?vue&type=style&index=0&id=7fe95a8f&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ListItemIcon/ListItemIcon.vue?vue&type=style&index=0&id=7fe95a8f&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ListItemIcon_vue_vue_type_style_index_0_id_7fe95a8f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ListItemIcon.vue?vue&type=style&index=0&id=7fe95a8f&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ListItemIcon/ListItemIcon.vue?vue&type=style&index=0&id=7fe95a8f&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ListItemIcon_vue_vue_type_style_index_0_id_7fe95a8f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ListItemIcon_vue_vue_type_style_index_0_id_7fe95a8f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Modal/Modal.vue?vue&type=style&index=0&id=47db75aa&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Modal/Modal.vue?vue&type=style&index=0&id=47db75aa&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_style_index_0_id_47db75aa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Modal.vue?vue&type=style&index=0&id=47db75aa&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Modal/Modal.vue?vue&type=style&index=0&id=47db75aa&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_style_index_0_id_47db75aa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_style_index_0_id_47db75aa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Multiselect/EllipsisedOption.vue?vue&type=style&index=0&id=026c3def&lang=scss&scoped=true&\":\n/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Multiselect/EllipsisedOption.vue?vue&type=style&index=0&id=026c3def&lang=scss&scoped=true& ***!\n \\***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisedOption_vue_vue_type_style_index_0_id_026c3def_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./EllipsisedOption.vue?vue&type=style&index=0&id=026c3def&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Multiselect/EllipsisedOption.vue?vue&type=style&index=0&id=026c3def&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisedOption_vue_vue_type_style_index_0_id_026c3def_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisedOption_vue_vue_type_style_index_0_id_026c3def_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Popover.vue?vue&type=style&index=0&lang=scss& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_style_index_0_id_0a0eb719_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_style_index_0_id_0a0eb719_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_style_index_0_id_0a0eb719_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_1_id_512ea768_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_1_id_512ea768_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_1_id_512ea768_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=style&index=0&id=6cb58afa&lang=scss&scoped=true&\":\n/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=style&index=0&id=6cb58afa&lang=scss&scoped=true& ***!\n \\*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoCompleteResult_vue_vue_type_style_index_0_id_6cb58afa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AutoCompleteResult.vue?vue&type=style&index=0&id=6cb58afa&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=style&index=0&id=6cb58afa&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoCompleteResult_vue_vue_type_style_index_0_id_6cb58afa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoCompleteResult_vue_vue_type_style_index_0_id_6cb58afa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_style_index_0_id_69f40ec8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_style_index_0_id_69f40ec8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_style_index_0_id_69f40ec8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=0&id=554d37da&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=0&id=554d37da&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_style_index_0_id_554d37da_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./RichContenteditable.vue?vue&type=style&index=0&id=554d37da&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=0&id=554d37da&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_style_index_0_id_554d37da_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_style_index_0_id_554d37da_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=1&lang=scss&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=1&lang=scss& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./RichContenteditable.vue?vue&type=style&index=1&lang=scss& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=1&lang=scss&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SettingsSection/SettingsSection.vue?vue&type=style&index=0&id=911c1c56&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SettingsSection/SettingsSection.vue?vue&type=style&index=0&id=911c1c56&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_SettingsSection_vue_vue_type_style_index_0_id_911c1c56_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./SettingsSection.vue?vue&type=style&index=0&id=911c1c56&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SettingsSection/SettingsSection.vue?vue&type=style&index=0&id=911c1c56&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_SettingsSection_vue_vue_type_style_index_0_id_911c1c56_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_SettingsSection_vue_vue_type_style_index_0_id_911c1c56_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/UserBubble/UserBubble.vue?vue&type=style&index=0&id=5c0e21af&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/UserBubble/UserBubble.vue?vue&type=style&index=0&id=5c0e21af&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_UserBubble_vue_vue_type_style_index_0_id_5c0e21af_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./UserBubble.vue?vue&type=style&index=0&id=5c0e21af&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/UserBubble/UserBubble.vue?vue&type=style&index=0&id=5c0e21af&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_UserBubble_vue_vue_type_style_index_0_id_5c0e21af_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_UserBubble_vue_vue_type_style_index_0_id_5c0e21af_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=style&index=0&id=9c70beda&scoped=true&lang=css&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=style&index=0&id=9c70beda&scoped=true&lang=css& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSpacer_vue_vue_type_style_index_0_id_9c70beda_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationSpacer.vue?vue&type=style&index=0&id=9c70beda&scoped=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=style&index=0&id=9c70beda&scoped=true&lang=css&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSpacer_vue_vue_type_style_index_0_id_9c70beda_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSpacer_vue_vue_type_style_index_0_id_9c70beda_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_0_id_512ea768_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_0_id_512ea768_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_0_id_512ea768_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!\n \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : undefined;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true&\":\n/*!*******************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionButton/ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true& ***!\n \\*******************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled } },\n [\n _c(\n \"button\",\n {\n staticClass: \"action-button\",\n class: { focusable: _vm.isFocusable },\n attrs: { \"aria-label\": _vm.ariaLabel },\n on: { click: _vm.onClick }\n },\n [\n _c(\n \"span\",\n {\n staticClass: \"action-button__icon\",\n class: [_vm.isIconUrl ? \"action-button__icon--url\" : _vm.icon],\n style: {\n backgroundImage: _vm.isIconUrl ? \"url(\" + _vm.icon + \")\" : null\n }\n },\n [_vm._t(\"icon\")],\n 2\n ),\n _vm._v(\" \"),\n _vm.title\n ? _c(\"p\", [\n _c(\"strong\", { staticClass: \"action-button__title\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.title) + \"\\n\\t\\t\\t\")\n ]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"action-button__longtext\",\n domProps: { textContent: _vm._s(_vm.text) }\n })\n ])\n : _vm.isLongText\n ? _c(\"p\", {\n staticClass: \"action-button__longtext\",\n domProps: { textContent: _vm._s(_vm.text) }\n })\n : _c(\"span\", { staticClass: \"action-button__text\" }, [\n _vm._v(_vm._s(_vm.text))\n ]),\n _vm._v(\" \"),\n false ? undefined : _vm._e()\n ],\n 2\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=template&id=74cf1d6f&scoped=true&\":\n/*!***********************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=template&id=74cf1d6f&scoped=true& ***!\n \\***********************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled } },\n [\n _c(\n \"span\",\n { staticClass: \"action-checkbox\" },\n [\n _c(\"input\", {\n ref: \"checkbox\",\n staticClass: \"checkbox action-checkbox__checkbox\",\n class: { focusable: _vm.isFocusable },\n attrs: { id: _vm.id, disabled: _vm.disabled, type: \"checkbox\" },\n domProps: { checked: _vm.checked, value: _vm.value },\n on: {\n keydown: function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.checkInput($event)\n },\n change: _vm.onChange\n }\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n ref: \"label\",\n staticClass: \"action-checkbox__label\",\n attrs: { for: _vm.id }\n },\n [_vm._v(_vm._s(_vm.text))]\n ),\n _vm._v(\" \"),\n false ? undefined : _vm._e()\n ],\n 2\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionInput/ActionInput.vue?vue&type=template&id=5e00ea39&scoped=true&\":\n/*!*****************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionInput/ActionInput.vue?vue&type=template&id=5e00ea39&scoped=true& ***!\n \\*****************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled } },\n [\n _c(\n \"span\",\n {\n staticClass: \"action-input\",\n class: {\n \"action-input--picker\": _vm.isDatePickerType,\n \"action-input-picker--disabled\": _vm.disabled\n },\n on: { mouseleave: _vm.onLeave }\n },\n [\n _vm._t(\"icon\", [\n _c(\"span\", {\n staticClass: \"action-input__icon\",\n class: [_vm.isIconUrl ? \"action-input__icon--url\" : _vm.icon],\n style: {\n backgroundImage: _vm.isIconUrl ? \"url(\" + _vm.icon + \")\" : null\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n ref: \"form\",\n staticClass: \"action-input__form\",\n attrs: { disabled: _vm.disabled },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.onSubmit($event)\n }\n }\n },\n [\n _vm.isDatePickerType\n ? _c(\n \"DatetimePicker\",\n _vm._b(\n {\n ref: \"datetimepicker\",\n staticClass: \"action-input__picker\",\n attrs: {\n value: _vm.value,\n placeholder: _vm.text,\n disabled: _vm.disabled,\n type: _vm.isDatePickerType,\n \"input-class\": [\n \"mx-input\",\n { focusable: _vm.isFocusable }\n ]\n },\n on: { input: _vm.onInput, change: _vm.onChange }\n },\n \"DatetimePicker\",\n _vm.$attrs,\n false\n )\n )\n : _vm.isMultiselectType\n ? _c(\n \"Multiselect\",\n _vm._g(\n _vm._b(\n {\n staticClass: \"action-input__multi\",\n class: { focusable: _vm.isFocusable },\n attrs: {\n value: _vm.value,\n placeholder: _vm.text,\n disabled: _vm.disabled\n }\n },\n \"Multiselect\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n )\n )\n : [\n _c(\"input\", {\n staticClass: \"action-input__submit\",\n attrs: { id: _vm.id, type: \"submit\" }\n }),\n _vm._v(\" \"),\n _c(\n \"input\",\n _vm._b(\n {\n staticClass: \"action-input__input\",\n class: { focusable: _vm.isFocusable },\n attrs: {\n type: _vm.type,\n placeholder: _vm.text,\n disabled: _vm.disabled\n },\n domProps: { value: _vm.value },\n on: { input: _vm.onInput, change: _vm.onChange }\n },\n \"input\",\n _vm.$attrs,\n false\n )\n ),\n _vm._v(\" \"),\n _c(\"label\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.disabled,\n expression: \"!disabled\"\n }\n ],\n staticClass: \"action-input__label\",\n attrs: { for: _vm.id }\n })\n ]\n ],\n 2\n )\n ],\n 2\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionLink/ActionLink.vue?vue&type=template&id=7b85b80f&scoped=true&\":\n/*!***************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionLink/ActionLink.vue?vue&type=template&id=7b85b80f&scoped=true& ***!\n \\***************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", { staticClass: \"action\" }, [\n _c(\n \"a\",\n {\n staticClass: \"action-link focusable\",\n attrs: {\n download: _vm.download,\n href: _vm.href,\n \"aria-label\": _vm.ariaLabel,\n target: _vm.target,\n rel: \"noreferrer noopener\"\n },\n on: { click: _vm.onClick }\n },\n [\n _vm._t(\"icon\", [\n _c(\"span\", {\n staticClass: \"action-link__icon\",\n class: [_vm.isIconUrl ? \"action-link__icon--url\" : _vm.icon],\n style: {\n backgroundImage: _vm.isIconUrl ? \"url(\" + _vm.icon + \")\" : null\n }\n })\n ]),\n _vm._v(\" \"),\n _vm.title\n ? _c(\"p\", [\n _c(\"strong\", { staticClass: \"action-link__title\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.title) + \"\\n\\t\\t\\t\")\n ]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"action-link__longtext\",\n domProps: { textContent: _vm._s(_vm.text) }\n })\n ])\n : _vm.isLongText\n ? _c(\"p\", {\n staticClass: \"action-link__longtext\",\n domProps: { textContent: _vm._s(_vm.text) }\n })\n : _c(\"span\", { staticClass: \"action-link__text\" }, [\n _vm._v(_vm._s(_vm.text))\n ]),\n _vm._v(\" \"),\n false ? undefined : _vm._e()\n ],\n 2\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRadio/ActionRadio.vue?vue&type=template&id=031b3fca&scoped=true&\":\n/*!*****************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionRadio/ActionRadio.vue?vue&type=template&id=031b3fca&scoped=true& ***!\n \\*****************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled } },\n [\n _c(\n \"span\",\n { staticClass: \"action-radio\" },\n [\n _c(\"input\", {\n ref: \"radio\",\n staticClass: \"radio action-radio__radio\",\n class: { focusable: _vm.isFocusable },\n attrs: {\n id: _vm.id,\n disabled: _vm.disabled,\n name: _vm.name,\n type: \"radio\"\n },\n domProps: { checked: _vm.checked, value: _vm.value },\n on: {\n keydown: function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.toggleInput($event)\n },\n change: _vm.onChange\n }\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n ref: \"label\",\n staticClass: \"action-radio__label\",\n attrs: { for: _vm.id }\n },\n [_vm._v(_vm._s(_vm.text))]\n ),\n _vm._v(\" \"),\n false ? undefined : _vm._e()\n ],\n 2\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRouter/ActionRouter.vue?vue&type=template&id=3a6feea2&scoped=true&\":\n/*!*******************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionRouter/ActionRouter.vue?vue&type=template&id=3a6feea2&scoped=true& ***!\n \\*******************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n { staticClass: \"action\" },\n [\n _c(\n \"router-link\",\n {\n staticClass: \"action-router focusable\",\n attrs: {\n to: _vm.to,\n exact: _vm.exact,\n \"aria-label\": _vm.ariaLabel,\n rel: \"noreferrer noopener\"\n },\n nativeOn: {\n click: function($event) {\n return _vm.onClick($event)\n }\n }\n },\n [\n _vm._t(\"icon\", [\n _c(\"span\", {\n staticClass: \"action-router__icon\",\n class: [_vm.isIconUrl ? \"action-router__icon--url\" : _vm.icon],\n style: {\n backgroundImage: _vm.isIconUrl ? \"url(\" + _vm.icon + \")\" : null\n }\n })\n ]),\n _vm._v(\" \"),\n _vm.title\n ? _c(\"p\", [\n _c(\"strong\", { staticClass: \"action-router__title\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.title) + \"\\n\\t\\t\\t\")\n ]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"action-router__longtext\",\n domProps: { textContent: _vm._s(_vm.text) }\n })\n ])\n : _vm.isLongText\n ? _c(\"p\", {\n staticClass: \"action-router__longtext\",\n domProps: { textContent: _vm._s(_vm.text) }\n })\n : _c(\"span\", { staticClass: \"action-router__text\" }, [\n _vm._v(_vm._s(_vm.text))\n ]),\n _vm._v(\" \"),\n false ? undefined : _vm._e()\n ],\n 2\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionSeparator/ActionSeparator.vue?vue&type=template&id=64ac3a22&scoped=true&\":\n/*!*************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionSeparator/ActionSeparator.vue?vue&type=template&id=64ac3a22&scoped=true& ***!\n \\*************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", { staticClass: \"action action-separator action--disabled\" })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionText/ActionText.vue?vue&type=template&id=68547a2f&scoped=true&\":\n/*!***************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionText/ActionText.vue?vue&type=template&id=68547a2f&scoped=true& ***!\n \\***************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", { staticClass: \"action\" }, [\n _c(\n \"span\",\n { staticClass: \"action-text\", on: { click: _vm.onClick } },\n [\n _vm._t(\"icon\", [\n _vm.icon !== \"\"\n ? _c(\"span\", {\n staticClass: \"action-text__icon\",\n class: [_vm.isIconUrl ? \"action-text__icon--url\" : _vm.icon],\n style: {\n backgroundImage: _vm.isIconUrl\n ? \"url(\" + _vm.icon + \")\"\n : null\n }\n })\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm.title\n ? _c(\"p\", [\n _c(\"strong\", { staticClass: \"action-text__title\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.title) + \"\\n\\t\\t\\t\")\n ]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"action-text__longtext\",\n domProps: { textContent: _vm._s(_vm.text) }\n })\n ])\n : _vm.isLongText\n ? _c(\"p\", {\n staticClass: \"action-text__longtext\",\n domProps: { textContent: _vm._s(_vm.text) }\n })\n : _c(\"span\", { staticClass: \"action-text__text\" }, [\n _vm._v(_vm._s(_vm.text))\n ]),\n _vm._v(\" \"),\n false ? undefined : _vm._e()\n ],\n 2\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=template&id=6377b0a2&scoped=true&\":\n/*!*******************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=template&id=6377b0a2&scoped=true& ***!\n \\*******************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled } },\n [\n _c(\n \"span\",\n { staticClass: \"action-text-editable\", on: { click: _vm.onClick } },\n [\n _c(\"span\", {\n staticClass: \"action-text-editable__icon\",\n class: [\n _vm.isIconUrl ? \"action-text-editable__icon--url\" : _vm.icon\n ],\n style: {\n backgroundImage: _vm.isIconUrl ? \"url(\" + _vm.icon + \")\" : null\n }\n }),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n ref: \"form\",\n staticClass: \"action-text-editable__form\",\n attrs: { disabled: _vm.disabled },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.onSubmit($event)\n }\n }\n },\n [\n _c(\"input\", {\n staticClass: \"action-text-editable__submit\",\n attrs: { id: _vm.id, type: \"submit\" }\n }),\n _vm._v(\" \"),\n _vm.title\n ? _c(\"strong\", { staticClass: \"action-text__title\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.title) + \"\\n\\t\\t\\t\")\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"textarea\",\n _vm._b(\n {\n class: [\n \"action-text-editable__textarea\",\n { focusable: _vm.isFocusable }\n ],\n attrs: { disabled: _vm.disabled },\n domProps: { value: _vm.value },\n on: { input: _vm.onInput }\n },\n \"textarea\",\n _vm.$attrs,\n false\n )\n ),\n _vm._v(\" \"),\n _c(\"label\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.disabled,\n expression: \"!disabled\"\n }\n ],\n staticClass: \"action-text-editable__label\",\n attrs: { for: _vm.id }\n })\n ]\n )\n ]\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=template&id=4f45864b&scoped=true&\":\n/*!*********************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Actions/Actions.vue?vue&type=template&id=4f45864b&scoped=true& ***!\n \\*********************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _obj, _obj$1\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.isValidSingleAction && !_vm.forceMenu\n ? _c(\n \"element\",\n _vm._b(\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.firstAction.text,\n expression: \"firstAction.text\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"action-item action-item--single\",\n class:\n ((_obj = {}),\n (_obj[_vm.firstAction.icon] = _vm.firstAction.icon),\n (_obj[_vm.firstActionClass] = _vm.firstActionClass),\n _obj),\n attrs: { rel: \"noreferrer noopener\", disabled: _vm.disabled },\n on: _vm._d({ focus: _vm.onFocus, blur: _vm.onBlur }, [\n _vm.firstActionEventBinding,\n _vm.execFirstAction\n ])\n },\n \"element\",\n _vm.firstActionBinding,\n false\n ),\n [\n _c(\"VNodes\", { attrs: { vnodes: _vm.firstActionIconSlot } }),\n _vm._v(\" \"),\n _c(\n \"span\",\n { attrs: { \"aria-hidden\": true, hidden: \"\" } },\n [_vm._t(\"default\")],\n 2\n )\n ],\n 1\n )\n : _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.hasMultipleActions || _vm.forceMenu,\n expression: \"hasMultipleActions || forceMenu\"\n }\n ],\n staticClass: \"action-item\",\n class: { \"action-item--open\": _vm.opened }\n },\n [\n _c(\n \"Popover\",\n {\n attrs: {\n delay: 0,\n \"handle-resize\": true,\n open: _vm.opened,\n placement: _vm.placement,\n \"boundaries-element\": _vm.boundariesElement,\n container: _vm.container\n },\n on: {\n \"update:open\": function($event) {\n _vm.opened = $event\n },\n show: _vm.openMenu,\n \"after-show\": _vm.onOpen,\n hide: _vm.closeMenu\n }\n },\n [\n _c(\n \"button\",\n {\n ref: \"menuButton\",\n staticClass: \"icon action-item__menutoggle\",\n class:\n ((_obj$1 = {}),\n (_obj$1[_vm.defaultIcon] = !_vm.iconSlotIsPopulated),\n (_obj$1[\"action-item__menutoggle--with-title\"] =\n _vm.menuTitle),\n (_obj$1[\"action-item__menutoggle--primary\"] = _vm.primary),\n _obj$1),\n attrs: {\n slot: \"trigger\",\n disabled: _vm.disabled,\n \"aria-label\": _vm.ariaLabel,\n \"aria-haspopup\": \"true\",\n \"aria-controls\": _vm.randomId,\n \"test-attr\": \"1\",\n \"aria-expanded\": _vm.opened ? \"true\" : \"false\"\n },\n on: { focus: _vm.onFocus, blur: _vm.onBlur },\n slot: \"trigger\"\n },\n [\n _vm._t(\"icon\"),\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.menuTitle) + \"\\n\\t\\t\")\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.opened,\n expression: \"opened\"\n }\n ],\n ref: \"menu\",\n class: { open: _vm.opened },\n attrs: { tabindex: \"-1\" },\n on: {\n keydown: [\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\n \"Up\",\n \"ArrowUp\"\n ])\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n return _vm.focusPreviousAction($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\"\n ])\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n return _vm.focusNextAction($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n return _vm.focusNextAction($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n if (!$event.shiftKey) {\n return null\n }\n if ($event.ctrlKey || $event.altKey || $event.metaKey) {\n return null\n }\n return _vm.focusPreviousAction($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k(\n $event.keyCode,\n \"page-up\",\n undefined,\n $event.key,\n undefined\n )\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n return _vm.focusFirstAction($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k(\n $event.keyCode,\n \"page-down\",\n undefined,\n $event.key,\n undefined\n )\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n return _vm.focusLastAction($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"esc\", 27, $event.key, [\n \"Esc\",\n \"Escape\"\n ])\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.closeMenu($event)\n }\n ],\n mousemove: _vm.onMouseFocusAction\n }\n },\n [\n _c(\n \"ul\",\n { attrs: { id: _vm.randomId, tabindex: \"-1\" } },\n [_vm.opened ? [_vm._t(\"default\")] : _vm._e()],\n 2\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppContent/AppContent.vue?vue&type=template&id=71758b0f&scoped=true&\":\n/*!***************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppContent/AppContent.vue?vue&type=template&id=71758b0f&scoped=true& ***!\n \\***************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"main\",\n { staticClass: \"app-content no-snapper\", attrs: { id: \"app-content-vue\" } },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppContentDetails/AppContentDetails.vue?vue&type=template&id=649708a5&\":\n/*!*****************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppContentDetails/AppContentDetails.vue?vue&type=template&id=649708a5& ***!\n \\*****************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"app-content-details\" },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppContentList/AppContentList.vue?vue&type=template&id=53bb4862&\":\n/*!***********************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppContentList/AppContentList.vue?vue&type=template&id=53bb4862& ***!\n \\***********************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"app-content-list\",\n class: { selection: _vm.selection, showdetails: _vm.showDetails }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigation/AppNavigation.vue?vue&type=template&id=d3908c0a&scoped=true&\":\n/*!*********************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigation/AppNavigation.vue?vue&type=template&id=d3908c0a&scoped=true& ***!\n \\*********************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"app-navigation\",\n class: { \"app-navigation--close\": !_vm.open },\n attrs: { id: \"app-navigation-vue\", role: \"navigation\" }\n },\n [\n _c(\"AppNavigationToggle\", {\n attrs: { open: _vm.open },\n on: { \"update:open\": _vm.toggleNavigation }\n }),\n _vm._v(\" \"),\n _vm._t(\"default\"),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"app-navigation__list\" }, [_vm._t(\"list\")], 2),\n _vm._v(\" \"),\n _vm._t(\"footer\")\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true&\":\n/*!***********************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true& ***!\n \\***********************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", { staticClass: \"app-navigation-caption\" }, [\n _vm._v(\"\\n\\t\" + _vm._s(_vm.title) + \"\\n\")\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=template&id=231d7daf&scoped=true&\":\n/*!***********************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=template&id=231d7daf&scoped=true& ***!\n \\***********************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"app-navigation-entry__counter\",\n class: { \"app-navigation-entry__counter--highlighted\": _vm.highlighted }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=template&id=1589a81e&scoped=true&\":\n/*!*****************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=template&id=1589a81e&scoped=true& ***!\n \\*****************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"app-navigation-entry__icon-bullet\",\n on: { click: _vm.onClick }\n },\n [_c(\"div\", { style: { backgroundColor: _vm.formattedColor } })]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=template&id=3c4acfb3&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=template&id=3c4acfb3&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"button\", {\n staticClass: \"icon-collapse\",\n class: { \"icon-collapse--rotated\": _vm.open },\n on: { click: _vm.onClick }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=template&id=210dfea1&\":\n/*!*****************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=template&id=210dfea1& ***!\n \\*****************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _obj\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"nav-element\",\n _vm._b(\n {\n staticClass: \"app-navigation-entry\",\n class: {\n \"app-navigation-entry--no-icon\": !_vm.isIconShown,\n \"app-navigation-entry--opened\": _vm.opened,\n \"app-navigation-entry--pinned\": _vm.pinned,\n \"app-navigation-entry--editing\": _vm.editingActive,\n \"app-navigation-entry--deleted\": _vm.undo,\n \"app-navigation-entry--collapsible\": _vm.collapsible,\n active: _vm.isActive\n }\n },\n \"nav-element\",\n _vm.navElement,\n false\n ),\n [\n !_vm.undo\n ? _c(\n \"a\",\n {\n staticClass: \"app-navigation-entry-link\",\n attrs: { href: \"#\" },\n on: { click: _vm.onClick }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"app-navigation-entry-icon\",\n class:\n ((_obj = { \"icon-loading-small\": _vm.loading }),\n (_obj[_vm.icon] = _vm.icon && _vm.isIconShown),\n _obj)\n },\n [!_vm.loading ? _vm._t(\"icon\") : _vm._e()],\n 2\n ),\n _vm._v(\" \"),\n !_vm.editingActive\n ? _c(\n \"span\",\n {\n staticClass: \"app-navigation-entry__title\",\n attrs: { title: _vm.title }\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.title) + \"\\n\\t\\t\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.editingActive\n ? _c(\n \"div\",\n { staticClass: \"editingContainer\" },\n [\n _c(\"InputConfirmCancel\", {\n ref: \"editingInput\",\n attrs: {\n placeholder:\n _vm.editPlaceholder !== \"\"\n ? _vm.editPlaceholder\n : _vm.title\n },\n on: {\n cancel: _vm.cancelEditing,\n confirm: _vm.handleEditingDone\n },\n model: {\n value: _vm.editingValue,\n callback: function($$v) {\n _vm.editingValue = $$v\n },\n expression: \"editingValue\"\n }\n })\n ],\n 1\n )\n : _vm._e()\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.collapsible\n ? _c(\"AppNavigationIconCollapsible\", {\n attrs: { open: _vm.opened },\n on: {\n click: function($event) {\n $event.preventDefault()\n $event.stopPropagation()\n return _vm.toggleCollapse($event)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.undo\n ? _c(\"div\", { staticClass: \"app-navigation-entry__deleted\" }, [\n _c(\n \"div\",\n { staticClass: \"app-navigation-entry__deleted-description\" },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.title) + \"\\n\\t\\t\")]\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.hasUtils\n ? _c(\n \"div\",\n { staticClass: \"app-navigation-entry__utils\" },\n [\n _vm.$slots.counter\n ? _c(\n \"div\",\n { staticClass: \"app-navigation-entry__counter-wrapper\" },\n [_vm._t(\"counter\")],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"Actions\",\n {\n attrs: {\n \"menu-align\": \"right\",\n placement: _vm.menuPlacement,\n open: _vm.menuOpen,\n \"force-menu\": _vm.forceMenu,\n \"default-icon\": _vm.menuIcon\n },\n on: { \"update:open\": _vm.onMenuToggle }\n },\n [\n _vm.editable && !_vm.editingActive\n ? _c(\n \"ActionButton\",\n {\n attrs: { icon: \"icon-rename\" },\n on: { click: _vm.handleEdit }\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" + _vm._s(_vm.editLabel) + \"\\n\\t\\t\\t\"\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.undo\n ? _c(\"ActionButton\", {\n attrs: {\n icon:\n \"app-navigation-entry__deleted-button icon-history\"\n },\n on: { click: _vm.handleUndo }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"actions\")\n ],\n 2\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.canHaveChildren && _vm.hasChildren\n ? _c(\n \"ul\",\n { staticClass: \"app-navigation-entry__children\" },\n [_vm._t(\"default\")],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"extra\")\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=template&id=185307b2&\":\n/*!******************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=template&id=185307b2& ***!\n \\******************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"app-navigation-entry__inline-input-container\" },\n [\n _c(\n \"form\",\n {\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.confirm($event)\n },\n keydown: function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.cancel($event)\n },\n click: function($event) {\n $event.stopPropagation()\n $event.preventDefault()\n }\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.valueModel,\n expression: \"valueModel\"\n }\n ],\n ref: \"input\",\n staticClass: \"app-navigation-entry__inline-input\",\n attrs: { type: \"text\", placeholder: _vm.placeholder },\n domProps: { value: _vm.valueModel },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.valueModel = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"button\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\" },\n on: {\n click: function($event) {\n $event.stopPropagation()\n $event.preventDefault()\n return _vm.confirm($event)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"button\", {\n staticClass: \"icon-close\",\n attrs: { type: \"reset\" },\n on: {\n click: function($event) {\n $event.stopPropagation()\n $event.preventDefault()\n return _vm.cancel($event)\n }\n }\n })\n ]\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true&\":\n/*!***************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true& ***!\n \\***************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"app-navigation-new\" }, [\n _c(\n \"button\",\n {\n class: _vm.buttonClass,\n attrs: { id: _vm.buttonId, type: \"button\", disabled: _vm.disabled },\n on: {\n click: function($event) {\n return _vm.$emit(\"click\")\n }\n }\n },\n [_vm._v(\"\\n\\t\\t\" + _vm._s(_vm.text) + \"\\n\\t\")]\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=template&id=2b534a0f&\":\n/*!***********************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=template&id=2b534a0f& ***!\n \\***********************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _obj\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n {\n staticClass: \"app-navigation-entry\",\n class: {\n \"app-navigation-entry--newItemActive\": _vm.newItemActive\n }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"app-navigation-entry-div\",\n on: { click: _vm.handleNewItem }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"app-navigation-entry-icon\",\n class:\n ((_obj = { \"icon-loading-small\": _vm.loading }),\n (_obj[_vm.icon] = !_vm.loading),\n _obj)\n },\n [!_vm.loading ? _vm._t(\"icon\") : _vm._e()],\n 2\n ),\n _vm._v(\" \"),\n !_vm.newItemActive\n ? _c(\n \"span\",\n {\n staticClass: \"app-navigation-new-item__title\",\n attrs: { title: _vm.title }\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.title) + \"\\n\\t\\t\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.newItemActive\n ? _c(\n \"div\",\n { staticClass: \"newItemContainer\" },\n [\n _c(\"InputConfirmCancel\", {\n ref: \"newItemInput\",\n attrs: {\n placeholder:\n _vm.editPlaceholder !== \"\"\n ? _vm.editPlaceholder\n : _vm.title\n },\n on: {\n cancel: _vm.cancelNewItem,\n confirm: _vm.handleNewItemDone\n },\n model: {\n value: _vm.newItemValue,\n callback: function($$v) {\n _vm.newItemValue = $$v\n },\n expression: \"newItemValue\"\n }\n })\n ],\n 1\n )\n : _vm._e()\n ]\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true&\":\n/*!*************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true& ***!\n \\*************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: _vm.clickOutsideConfig,\n expression: \"clickOutsideConfig\"\n }\n ],\n class: { open: _vm.open },\n attrs: { id: \"app-settings\" }\n },\n [\n _c(\"div\", { attrs: { id: \"app-settings-header\" } }, [\n _c(\n \"button\",\n { staticClass: \"settings-button\", on: { click: _vm.toggleMenu } },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.title) + \"\\n\\t\\t\")]\n )\n ]),\n _vm._v(\" \"),\n _c(\"transition\", { attrs: { name: \"slide-up\" } }, [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.open,\n expression: \"open\"\n }\n ],\n attrs: { id: \"app-settings-content\" }\n },\n [_vm._t(\"default\")],\n 2\n )\n ])\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=template&id=9c70beda&scoped=true&\":\n/*!*********************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=template&id=9c70beda&scoped=true& ***!\n \\*********************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", { staticClass: \"app-navigation-spacer\" })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=template&id=17ebeae3&scoped=true&\":\n/*!*********************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=template&id=17ebeae3&scoped=true& ***!\n \\*********************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"a\", {\n staticClass: \"app-navigation-toggle\",\n attrs: {\n href: \"#\",\n \"aria-expanded\": _vm.open ? \"true\" : \"false\",\n \"aria-controls\": \"app-navigation-vue\"\n },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.toggleNavigation($event)\n },\n keydown: function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"space\", 32, $event.key, [\" \", \"Spacebar\"])\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.toggleNavigation($event)\n }\n }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=template&id=a1fa5522&scoped=true&\":\n/*!*******************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=template&id=a1fa5522&scoped=true& ***!\n \\*******************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"app-settings-section\", attrs: { id: _vm.id } },\n [\n _c(\n \"h3\",\n {\n staticClass: \"app-settings-section__title\",\n attrs: { id: _vm.title }\n },\n [_vm._v(\"\\n\\t\\t\" + _vm._s(_vm.title) + \"\\n\\t\")]\n ),\n _vm._v(\" \"),\n _vm._t(\"default\")\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebar.vue?vue&type=template&id=4a2a5f2f&scoped=true&\":\n/*!***************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSidebar/AppSidebar.vue?vue&type=template&id=4a2a5f2f&scoped=true& ***!\n \\***************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"transition\",\n {\n attrs: { appear: \"\", name: \"slide-right\" },\n on: {\n \"before-enter\": _vm.onBeforeEnter,\n \"after-enter\": _vm.onAfterEnter,\n \"before-leave\": _vm.onBeforeLeave,\n \"after-leave\": _vm.onAfterLeave\n }\n },\n [\n _c(\n \"aside\",\n { staticClass: \"app-sidebar\", attrs: { id: \"app-sidebar-vue\" } },\n [\n _c(\n \"header\",\n {\n staticClass: \"app-sidebar-header\",\n class: {\n \"app-sidebar-header--with-figure\": _vm.hasFigure,\n \"app-sidebar-header--compact\": _vm.compact\n }\n },\n [\n _c(\"a\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.closeTranslated,\n expression: \"closeTranslated\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"app-sidebar__close icon-close\",\n attrs: { href: \"#\" },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.closeSidebar($event)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-sidebar-header__info\" }, [\n _vm.hasFigure && !_vm.empty\n ? _c(\n \"div\",\n {\n staticClass: \"app-sidebar-header__figure\",\n class: {\n \"app-sidebar-header__figure--with-action\":\n _vm.hasFigureClickListener\n },\n style: {\n backgroundImage: \"url(\" + _vm.background + \")\"\n },\n on: { click: _vm.onFigureClick }\n },\n [_vm._t(\"header\")],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.empty\n ? _c(\n \"div\",\n {\n staticClass: \"app-sidebar-header__desc\",\n class: {\n \"app-sidebar-header__desc--with-tertiary-action\":\n _vm.canStar || _vm.$slots[\"tertiary-actions\"],\n \"app-sidebar-header__desc--editable\":\n _vm.titleEditable && !_vm.subtitle,\n \"app-sidebar-header__desc--with-subtitle--editable\":\n _vm.titleEditable && _vm.subtitle,\n \"app-sidebar-header__desc--without-actions\": !_vm\n .$slots[\"secondary-actions\"]\n }\n },\n [\n _vm.canStar || _vm.$slots[\"tertiary-actions\"]\n ? _c(\n \"div\",\n {\n staticClass:\n \"app-sidebar-header__tertiary-actions\"\n },\n [\n _vm._t(\"tertiary-actions\", [\n _vm.canStar\n ? _c(\"a\", {\n staticClass: \"app-sidebar-header__star\",\n class: {\n \"icon-starred\":\n _vm.isStarred && !_vm.starLoading,\n \"icon-star\":\n !_vm.isStarred && !_vm.starLoading,\n \"icon-loading-small\": _vm.starLoading\n },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.toggleStarred($event)\n }\n }\n })\n : _vm._e()\n ])\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"app-sidebar-header__title-container\"\n },\n [\n _c(\n \"h2\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.titleEditable,\n expression: \"!titleEditable\"\n },\n {\n name: \"linkify\",\n rawName: \"v-linkify\",\n value: {\n text: _vm.title,\n linkify: _vm.linkifyTitle\n },\n expression:\n \"{text: title, linkify: linkifyTitle}\"\n },\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.titleTooltip,\n expression: \"titleTooltip\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"app-sidebar-header__maintitle\",\n on: {\n click: function($event) {\n if (\n $event.target !== $event.currentTarget\n ) {\n return null\n }\n return _vm.editTitle($event)\n }\n }\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.title) +\n \"\\n\\t\\t\\t\\t\\t\\t\"\n )\n ]\n ),\n _vm._v(\" \"),\n _vm.titleEditable\n ? [\n _c(\n \"form\",\n {\n directives: [\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: function() {\n return _vm.onSubmitTitle()\n },\n expression: \"() => onSubmitTitle()\"\n }\n ],\n staticClass:\n \"app-sidebar-header__maintitle-form\",\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.onSubmitTitle($event)\n }\n }\n },\n [\n _c(\"input\", {\n directives: [\n { name: \"focus\", rawName: \"v-focus\" }\n ],\n ref: \"titleInput\",\n staticClass:\n \"app-sidebar-header__maintitle-input\",\n attrs: {\n type: \"text\",\n placeholder: _vm.titlePlaceholder\n },\n domProps: { value: _vm.title },\n on: {\n keydown: function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k(\n $event.keyCode,\n \"esc\",\n 27,\n $event.key,\n [\"Esc\", \"Escape\"]\n )\n ) {\n return null\n }\n return _vm.onDismissEditing($event)\n },\n input: _vm.onTitleInput\n }\n }),\n _vm._v(\" \"),\n _c(\"button\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\" }\n })\n ]\n )\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _vm.subtitle.trim() !== \"\"\n ? _c(\n \"p\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.subtitleTooltip,\n expression: \"subtitleTooltip\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"app-sidebar-header__subtitle\"\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.subtitle) +\n \"\\n\\t\\t\\t\\t\\t\\t\"\n )\n ]\n )\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.$slots[\"secondary-actions\"]\n ? _c(\n \"Actions\",\n {\n staticClass: \"app-sidebar-header__menu\",\n attrs: { \"force-menu\": _vm.forceMenu }\n },\n [_vm._t(\"secondary-actions\")],\n 2\n )\n : _vm._e()\n ],\n 1\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm.$slots[\"description\"] && !_vm.empty\n ? _c(\n \"div\",\n { staticClass: \"app-sidebar-header__description\" },\n [_vm._t(\"description\")],\n 2\n )\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"AppSidebarTabs\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.loading,\n expression: \"!loading\"\n }\n ],\n ref: \"tabs\",\n attrs: { active: _vm.active },\n on: { \"update:active\": _vm.onUpdateActive }\n },\n [_vm._t(\"default\")],\n 2\n ),\n _vm._v(\" \"),\n _vm.loading\n ? _c(\"EmptyContent\", { attrs: { icon: \"icon-loading\" } })\n : _vm._e()\n ],\n 1\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=template&id=5772e44d&scoped=true&\":\n/*!*******************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=template&id=5772e44d&scoped=true& ***!\n \\*******************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"app-sidebar-tabs\" }, [\n _vm.hasMultipleTabs\n ? _c(\n \"nav\",\n {\n staticClass: \"app-sidebar-tabs__nav\",\n on: {\n keydown: [\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"left\", 37, $event.key, [\n \"Left\",\n \"ArrowLeft\"\n ])\n ) {\n return null\n }\n if (\"button\" in $event && $event.button !== 0) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.focusPreviousTab($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"right\", 39, $event.key, [\n \"Right\",\n \"ArrowRight\"\n ])\n ) {\n return null\n }\n if (\"button\" in $event && $event.button !== 2) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.focusNextTab($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.focusActiveTabContent($event)\n },\n function($event) {\n if (!$event.type.indexOf(\"key\") && $event.keyCode !== 33) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.focusFirstTab($event)\n },\n function($event) {\n if (!$event.type.indexOf(\"key\") && $event.keyCode !== 34) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.focusLastTab($event)\n }\n ]\n }\n },\n [\n _c(\n \"ul\",\n _vm._l(_vm.tabs, function(tab) {\n return _c(\n \"li\",\n { key: tab.id, staticClass: \"app-sidebar-tabs__tab\" },\n [\n _c(\n \"a\",\n {\n class: { active: _vm.activeTab === tab.id },\n attrs: {\n id: tab.id,\n \"aria-controls\": \"tab-\" + tab.id,\n \"aria-selected\": _vm.activeTab === tab.id,\n \"data-id\": tab.id,\n href: \"#tab-\" + tab.id,\n tabindex: _vm.activeTab === tab.id ? null : -1,\n role: \"tab\"\n },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.setActive(tab.id)\n }\n }\n },\n [\n _c(\"span\", {\n staticClass: \"app-sidebar-tabs__tab-icon\",\n class: tab.icon\n }),\n _vm._v(\"\\n\\t\\t\\t\\t\\t\" + _vm._s(tab.name) + \"\\n\\t\\t\\t\\t\")\n ]\n )\n ]\n )\n }),\n 0\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"app-sidebar-tabs__content\",\n class: { \"app-sidebar-tabs__content--multiple\": _vm.hasMultipleTabs }\n },\n [_vm._t(\"default\")],\n 2\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=template&id=e5dbfd76&scoped=true&\":\n/*!*********************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=template&id=e5dbfd76&scoped=true& ***!\n \\*********************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"section\",\n {\n staticClass: \"app-sidebar__tab\",\n class: { \"app-sidebar__tab--active\": _vm.isActive },\n attrs: {\n id: \"tab-\" + _vm.id,\n \"aria-hidden\": !_vm.isActive,\n \"aria-labelledby\": _vm.id,\n tabindex: \"0\",\n role: \"tabpanel\"\n },\n on: { scroll: _vm.onScroll }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Avatar/Avatar.vue?vue&type=template&id=100e3b6f&scoped=true&\":\n/*!*******************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Avatar/Avatar.vue?vue&type=template&id=100e3b6f&scoped=true& ***!\n \\*******************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n _vm._g(\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip\",\n value: _vm.tooltip,\n expression: \"tooltip\"\n },\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: _vm.closeMenu,\n expression: \"closeMenu\"\n }\n ],\n staticClass: \"avatardiv popovermenu-wrapper\",\n class: {\n \"avatardiv--unknown\": _vm.userDoesNotExist,\n \"avatardiv--with-menu\": _vm.hasMenu\n },\n style: _vm.avatarStyle\n },\n !_vm.disableMenu ? { click: _vm.toggleMenu } : {}\n ),\n [\n _vm.iconClass\n ? _c(\"div\", { staticClass: \"avatar-class-icon\", class: _vm.iconClass })\n : _vm.isAvatarLoaded && !_vm.userDoesNotExist\n ? _c(\"img\", {\n attrs: {\n src: _vm.avatarUrlLoaded,\n srcset: _vm.avatarSrcSetLoaded,\n alt: \"\"\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.hasMenu\n ? _c(\n \"Popover\",\n {\n attrs: {\n placement: \"auto\",\n container: _vm.menuContainer,\n open: _vm.contactsMenuOpenState\n }\n },\n [\n _c(\"PopoverMenu\", { attrs: { menu: _vm.menu } }),\n _vm._v(\" \"),\n _c(\"template\", { slot: \"trigger\" }, [\n _c(\"div\", {\n class: _vm.contactsMenuLoading ? \"icon-loading\" : \"icon-more\",\n style: { width: _vm.size + \"px\", height: _vm.size + \"px\" }\n })\n ])\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showUserStatusIconOnAvatar\n ? _c(\n \"div\",\n {\n staticClass: \"avatardiv__user-status avatardiv__user-status--icon\"\n },\n [_vm._v(\"\\n\\t\\t\" + _vm._s(_vm.userStatus.icon) + \"\\n\\t\")]\n )\n : _vm.canDisplayUserStatus\n ? _c(\"div\", {\n staticClass: \"avatardiv__user-status\",\n class: \"avatardiv__user-status--\" + _vm.userStatus.status\n })\n : _vm.status\n ? _c(\n \"div\",\n {\n staticClass: \"avatardiv__status\",\n class: \"avatardiv__status--\" + _vm.status,\n style: { backgroundColor: \"#\" + _vm.statusColor }\n },\n [\n _vm.status === \"neutral\"\n ? _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"12\",\n height: \"11\",\n viewBox: \"0 0 3.175 2.91\"\n }\n },\n [\n _c(\"path\", {\n style: { fill: \"#\" + _vm.statusColor },\n attrs: {\n d: \"M3.21 3.043H.494l.679-1.177.68-1.176.678 1.176z\",\n stroke: \"#fff\",\n \"stroke-width\": \".265\",\n \"stroke-linecap\": \"square\"\n }\n })\n ]\n )\n : _vm._e()\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.userDoesNotExist && !_vm.iconClass\n ? _c(\"div\", { staticClass: \"unknown\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.initials) + \"\\n\\t\")\n ])\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Breadcrumb/Breadcrumb.vue?vue&type=template&id=03216ba2&scoped=true&\":\n/*!***************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Breadcrumb/Breadcrumb.vue?vue&type=template&id=03216ba2&scoped=true& ***!\n \\***************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n ref: \"crumb\",\n staticClass: \"crumb\",\n class: {\n \"crumb--with-action\": _vm.$slots.default,\n \"crumb--hovered\": _vm.hovering\n },\n attrs: { draggable: \"false\" },\n on: {\n dragstart: function($event) {\n $event.preventDefault()\n return (function() {\n /** Prevent the breadcrumb from being draggable. */\n })($event)\n },\n drop: function($event) {\n $event.preventDefault()\n return _vm.dropped($event)\n },\n dragover: function($event) {\n $event.preventDefault()\n return (function() {})($event)\n },\n dragenter: _vm.dragEnter,\n dragleave: _vm.dragLeave\n }\n },\n [\n _vm.title || _vm.icon\n ? _c(\n _vm.tag,\n { tag: \"element\", attrs: { to: _vm.to, href: _vm.href } },\n [\n _vm.icon\n ? _c(\"span\", { staticClass: \"icon\", class: _vm.icon })\n : _c(\"span\", [_vm._v(_vm._s(_vm.title))])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"Actions\",\n {\n ref: \"actions\",\n attrs: { \"force-menu\": _vm.forceMenu, open: _vm.open },\n on: { \"update:open\": _vm.onOpenChange }\n },\n [_vm._t(\"default\")],\n 2\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ColorPicker/ColorPicker.vue?vue&type=template&id=ee3f421a&scoped=true&\":\n/*!*****************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ColorPicker/ColorPicker.vue?vue&type=template&id=ee3f421a&scoped=true& ***!\n \\*****************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"Popover\",\n _vm._g(\n _vm._b(\n {\n scopedSlots: _vm._u(\n [\n {\n key: \"trigger\",\n fn: function() {\n return [_vm._t(\"default\")]\n },\n proxy: true\n }\n ],\n null,\n true\n )\n },\n \"Popover\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n [\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"color-picker\" },\n [\n _c(\n \"transition\",\n { attrs: { name: \"slide\", mode: \"out-in\" } },\n [\n !_vm.advanced\n ? _c(\n \"div\",\n { staticClass: \"color-picker-simple\" },\n _vm._l(_vm.palette, function(color, index) {\n return _c(\"button\", {\n key: index,\n staticClass: \"color-picker-simple-color-circle\",\n class: {\n \"color-picker-simple-color-circle--active\":\n color === _vm.currentColor\n },\n style: { \"background-color\": color },\n on: {\n click: function($event) {\n return _vm.pickColor(color)\n }\n }\n })\n }),\n 0\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.advanced\n ? _c(\"Chrome\", {\n staticClass: \"color-picker-advanced\",\n attrs: { \"disable-alpha\": true, \"disable-fields\": true },\n on: { input: _vm.pickColor },\n model: {\n value: _vm.currentColor,\n callback: function($$v) {\n _vm.currentColor = $$v\n },\n expression: \"currentColor\"\n }\n })\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"color-picker-navigation\" }, [\n _vm.advanced\n ? _c(\"button\", {\n staticClass: \"color-picker-navigation-button back\",\n on: { click: _vm.handleBack }\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.advanced\n ? _c(\"button\", {\n staticClass: \"color-picker-navigation-button more-settings\",\n on: { click: _vm.handleMoreSettings }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.advanced\n ? _c(\n \"button\",\n {\n staticClass: \"color-picker-navigation-button confirm\",\n on: { click: _vm.handleConfirm }\n },\n [_vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.t(\"Choose\")) + \"\\n\\t\\t\\t\")]\n )\n : _vm._e()\n ])\n ],\n 1\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Content/Content.vue?vue&type=template&id=37f0357a&scoped=true&\":\n/*!*********************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Content/Content.vue?vue&type=template&id=37f0357a&scoped=true& ***!\n \\*********************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"content\",\n class: \"app-\" + _vm.appName.toLowerCase(),\n attrs: { id: \"content-vue\" }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/DatetimePicker/DatetimePicker.vue?vue&type=template&id=6a62836f&\":\n/*!***********************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/DatetimePicker/DatetimePicker.vue?vue&type=template&id=6a62836f& ***!\n \\***********************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"DatePicker\",\n _vm._g(\n _vm._b(\n {\n ref: \"datepicker\",\n attrs: {\n clearable: _vm.clearable,\n \"minute-step\": _vm.minuteStep,\n format: _vm.format,\n formatter: _vm.formatter,\n type: _vm.type,\n value: _vm.value,\n \"append-to-body\": _vm.appendToBody,\n \"show-week-number\": _vm.showWeekNumber,\n \"popup-class\": { \"show-week-number\": _vm.showWeekNumber }\n },\n on: {\n \"select-year\": _vm.handleSelectYear,\n \"select-month\": _vm.handleSelectMonth,\n \"update:value\": function($event) {\n return _vm.$emit(\"update:value\", _vm.value)\n }\n },\n scopedSlots: _vm._u(\n [\n _vm._l(_vm.$scopedSlots, function(_, slot) {\n return {\n key: slot,\n fn: function(scope) {\n return [_vm._t(slot, null, null, scope)]\n }\n }\n })\n ],\n null,\n true\n )\n },\n \"DatePicker\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n )\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/EmptyContent/EmptyContent.vue?vue&type=template&id=a68b8462&scoped=true&\":\n/*!*******************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/EmptyContent/EmptyContent.vue?vue&type=template&id=a68b8462&scoped=true& ***!\n \\*******************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"empty-content\", attrs: { role: \"note\" } }, [\n _c(\n \"div\",\n {\n staticClass: \"empty-content__icon\",\n class: _vm.icon,\n attrs: { role: \"img\" }\n },\n [_vm._t(\"icon\")],\n 2\n ),\n _vm._v(\" \"),\n _c(\"h2\", { staticClass: \"empty-content__title\" }, [_vm._t(\"default\")], 2),\n _vm._v(\" \"),\n _c(\n \"p\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.$slots.desc,\n expression: \"$slots.desc\"\n }\n ]\n },\n [_vm._t(\"desc\")],\n 2\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ListItemIcon/ListItemIcon.vue?vue&type=template&id=7fe95a8f&scoped=true&\":\n/*!*******************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ListItemIcon/ListItemIcon.vue?vue&type=template&id=7fe95a8f&scoped=true& ***!\n \\*******************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"span\",\n _vm._g(\n { staticClass: \"option\", style: _vm.cssVars, attrs: { id: _vm.id } },\n _vm.$listeners\n ),\n [\n _c(\n \"Avatar\",\n _vm._b(\n {\n staticClass: \"option__avatar\",\n attrs: {\n \"disable-menu\": true,\n \"disable-tooltip\": true,\n \"display-name\": _vm.displayName || _vm.title,\n \"is-no-user\": _vm.isNoUser,\n size: _vm.avatarSize\n }\n },\n \"Avatar\",\n _vm.$attrs,\n false\n )\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"option__details\" },\n [\n _c(\"Highlight\", {\n staticClass: \"option__lineone\",\n attrs: { text: _vm.title, search: _vm.search }\n }),\n _vm._v(\" \"),\n _vm.isValidSubtitle && _vm.isSizeBigEnough\n ? _c(\"Highlight\", {\n staticClass: \"option__linetwo\",\n attrs: { text: _vm.subtitle, search: _vm.search }\n })\n : _vm.hasStatus\n ? _c(\"span\", [\n _c(\"span\", [_vm._v(_vm._s(_vm.userStatus.icon))]),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(_vm._s(_vm.userStatus.message))])\n ])\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm._t(\"default\"),\n _vm._v(\" \"),\n _vm.hasIcon && !_vm.hasSlot\n ? _c(\"span\", { staticClass: \"icon option__icon\", class: _vm.icon })\n : _vm._e()\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Modal/Modal.vue?vue&type=template&id=47db75aa&scoped=true&\":\n/*!*****************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Modal/Modal.vue?vue&type=template&id=47db75aa&scoped=true& ***!\n \\*****************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"transition\", { attrs: { name: \"fade\" } }, [\n _c(\n \"div\",\n {\n ref: \"mask\",\n staticClass: \"modal-mask\",\n class: { \"modal-mask--dark\": _vm.dark },\n on: {\n click: _vm.handleMouseMove,\n mousemove: _vm.handleMouseMove,\n touchmove: _vm.handleMouseMove\n }\n },\n [\n _c(\"transition\", { attrs: { name: \"fade-visibility\" } }, [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.clearView,\n expression: \"!clearView\"\n }\n ],\n staticClass: \"modal-header\",\n class: {\n invisible: _vm.clearView\n }\n },\n [\n _vm.title.trim() !== \"\"\n ? _c(\"div\", { staticClass: \"modal-title\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\\t\" + _vm._s(_vm.title) + \"\\n\\t\\t\\t\\t\")\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"icons-menu\" },\n [\n _vm.hasNext && _vm.enableSlideshow\n ? _c(\n \"button\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.playPauseTitle,\n expression: \"playPauseTitle\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"play-pause\",\n class: { \"play-pause--paused\": _vm.slideshowPaused },\n on: { click: _vm.togglePlayPause }\n },\n [\n _c(\n \"div\",\n {\n class: [_vm.playing ? \"icon-pause\" : \"icon-play\"]\n },\n [\n _c(\"span\", { staticClass: \"hidden-visually\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.playPauseTitle) +\n \"\\n\\t\\t\\t\\t\\t\\t\\t\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.playing\n ? _c(\n \"svg\",\n {\n staticClass: \"progress-ring\",\n attrs: { height: \"50\", width: \"50\" }\n },\n [\n _c(\"circle\", {\n staticClass: \"progress-ring__circle\",\n attrs: {\n stroke: \"white\",\n \"stroke-width\": \"2\",\n fill: \"transparent\",\n r: \"15\",\n cx: \"25\",\n cy: \"25\"\n }\n })\n ]\n )\n : _vm._e()\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"Actions\",\n { staticClass: \"header-actions\" },\n [_vm._t(\"actions\")],\n 2\n ),\n _vm._v(\" \"),\n _vm.canClose\n ? _c(\n \"Actions\",\n { staticClass: \"header-close\" },\n [\n _c(\n \"ActionButton\",\n {\n attrs: { icon: \"icon-close\" },\n on: { click: _vm.close }\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"Close\")) +\n \"\\n\\t\\t\\t\\t\\t\\t\"\n )\n ]\n )\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n )\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\"transition\", { attrs: { name: _vm.modalTransitionName } }, [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showModal,\n expression: \"showModal\"\n }\n ],\n staticClass: \"modal-wrapper\",\n class: [\n \"modal-wrapper--\" + _vm.size,\n _vm.spreadNavigation ? \"modal-wrapper--spread-navigation\" : \"\"\n ],\n on: {\n mousedown: function($event) {\n if ($event.target !== $event.currentTarget) {\n return null\n }\n return _vm.close($event)\n }\n }\n },\n [\n _c(\"transition\", { attrs: { name: \"fade-visibility\" } }, [\n _c(\n \"a\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.hasPrevious && !_vm.clearView,\n expression: \"hasPrevious && !clearView\"\n }\n ],\n staticClass: \"prev\",\n class: {\n invisible: _vm.clearView || !_vm.hasPrevious\n },\n on: { click: _vm.previous }\n },\n [\n _c(\"div\", { staticClass: \"icon icon-previous\" }, [\n _c(\"span\", { staticClass: \"hidden-visually\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"Previous\")) +\n \"\\n\\t\\t\\t\\t\\t\\t\\t\"\n )\n ])\n ])\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"modal-container\" },\n [_vm._t(\"default\")],\n 2\n ),\n _vm._v(\" \"),\n _c(\"transition\", { attrs: { name: \"fade-visibility\" } }, [\n _c(\n \"a\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.hasNext && !_vm.clearView,\n expression: \"hasNext && !clearView\"\n }\n ],\n staticClass: \"next\",\n class: {\n invisible: _vm.clearView || !_vm.hasNext\n },\n on: { click: _vm.next }\n },\n [\n _c(\"div\", { staticClass: \"icon icon-next\" }, [\n _c(\"span\", { staticClass: \"hidden-visually\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"Next\")) +\n \"\\n\\t\\t\\t\\t\\t\\t\\t\"\n )\n ])\n ])\n ]\n )\n ])\n ],\n 1\n )\n ])\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Multiselect/EllipsisedOption.vue?vue&type=template&id=026c3def&scoped=true&\":\n/*!**********************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Multiselect/EllipsisedOption.vue?vue&type=template&id=026c3def&scoped=true& ***!\n \\**********************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"name-parts\", attrs: { title: _vm.name } },\n [\n _c(\"Highlight\", {\n staticClass: \"name-parts__first\",\n attrs: {\n text: _vm.part1,\n search: _vm.search,\n highlight: _vm.highlight1\n }\n }),\n _vm._v(\" \"),\n _vm.part2\n ? _c(\"Highlight\", {\n staticClass: \"name-parts__last\",\n attrs: {\n text: _vm.part2,\n search: _vm.search,\n highlight: _vm.highlight2\n }\n })\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Multiselect/Multiselect.vue?vue&type=template&id=1cd2ff8a&\":\n/*!*****************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Multiselect/Multiselect.vue?vue&type=template&id=1cd2ff8a& ***!\n \\*****************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"VueMultiselect\",\n _vm._g(\n _vm._b(\n {\n ref: \"VueMultiselect\",\n class: [\n {\n \"icon-loading-small\": _vm.loading\n },\n _vm.multiple ? \"multiselect--multiple\" : \"multiselect--single\"\n ],\n attrs: {\n options: _vm.options,\n limit: _vm.maxOptions,\n \"close-on-select\": !_vm.multiple,\n multiple: _vm.multiple,\n label: _vm.label,\n \"track-by\": _vm.trackBy,\n \"tag-placeholder\": \"create\"\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"option\",\n fn: function(scope) {\n return [\n _vm.userSelect && !_vm.$scopedSlots[\"option\"]\n ? _c(\n \"ListItemIcon\",\n _vm._b(\n {\n attrs: {\n title: scope.option[_vm.label],\n search: scope.search\n }\n },\n \"ListItemIcon\",\n scope.option,\n false\n )\n )\n : !_vm.$scopedSlots[\"option\"]\n ? _c(\"EllipsisedOption\", {\n attrs: {\n name: _vm.getOptionLabel(scope.option),\n option: scope.option,\n search: scope.search,\n label: _vm.label\n }\n })\n : _vm._t(\"option\", null, null, scope)\n ]\n }\n },\n _vm.multiple\n ? {\n key: \"limit\",\n fn: function() {\n return [\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.formatLimitTitle(_vm.value),\n expression: \"formatLimitTitle(value)\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"multiselect__limit\"\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\" + _vm._s(_vm.limitString) + \"\\n\\t\\t\"\n )\n ]\n )\n ]\n },\n proxy: true\n }\n : null,\n _vm._l(_vm.$scopedSlots, function(_, slot) {\n return {\n key: slot,\n fn: function(scope) {\n return [_vm._t(slot, null, null, scope)]\n }\n }\n })\n ],\n null,\n true\n ),\n model: {\n value: _vm.localValue,\n callback: function($$v) {\n _vm.localValue = $$v\n },\n expression: \"localValue\"\n }\n },\n \"VueMultiselect\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n [\n _vm._v(\" \"),\n _vm._v(\" \"),\n _vm._v(\" \"),\n _c(\"span\", { attrs: { slot: \"noResult\" }, slot: \"noResult\" }, [\n _vm._v(_vm._s(_vm.t(\"No results\")))\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/MultiselectTags/MultiselectTags.vue?vue&type=template&id=5083b5ad&\":\n/*!*************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/MultiselectTags/MultiselectTags.vue?vue&type=template&id=5083b5ad& ***!\n \\*************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"Multiselect\",\n {\n attrs: {\n value: _vm.inputValue,\n options: _vm.tags,\n \"options-limit\": 5,\n placeholder: _vm.label,\n \"track-by\": \"id\",\n \"custom-label\": _vm.tagLabel,\n multiple: _vm.multiple,\n \"close-on-select\": _vm.multiple,\n \"tag-width\": 60,\n disabled: _vm.disabled\n },\n on: { input: _vm.update },\n scopedSlots: _vm._u([\n {\n key: \"option\",\n fn: function(scope) {\n return [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.tagLabel(scope.option)) + \"\\n\\t\")\n ]\n }\n }\n ])\n },\n [\n _c(\"span\", { attrs: { slot: \"noResult\" }, slot: \"noResult\" }, [\n _vm._v(_vm._s(_vm.t(\"No results\")))\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=template&id=45093cca&\":\n/*!*********************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Popover/Popover.vue?vue&type=template&id=45093cca& ***!\n \\*********************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"VPopover\",\n _vm._g(\n _vm._b(\n {\n ref: \"popover\",\n attrs: {\n \"popover-base-class\": \"popover\",\n \"popover-wrapper-class\": \"popover__wrapper\",\n \"popover-arrow-class\": \"popover__arrow\",\n \"popover-inner-class\": \"popover__inner\"\n }\n },\n \"VPopover\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n [\n _vm._t(\"trigger\"),\n _vm._v(\" \"),\n _c(\"template\", { slot: \"popover\" }, [_vm._t(\"default\")], 2)\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true&\":\n/*!*****************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true& ***!\n \\*****************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"ul\",\n { staticClass: \"popover__menu\" },\n _vm._l(_vm.menu, function(item, key) {\n return _c(\"PopoverMenuItem\", { key: key, attrs: { item: item } })\n }),\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true&\":\n/*!*********************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true& ***!\n \\*********************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", { staticClass: \"popover__menuitem\" }, [\n _vm.item.href\n ? _c(\n \"a\",\n {\n staticClass: \"focusable\",\n attrs: {\n href: _vm.item.href ? _vm.item.href : \"#\",\n target: _vm.item.target ? _vm.item.target : \"\",\n download: _vm.item.download,\n rel: \"noreferrer noopener\"\n },\n on: { click: _vm.action }\n },\n [\n !_vm.iconIsUrl\n ? _c(\"span\", { class: _vm.item.icon })\n : _c(\"img\", { attrs: { src: _vm.item.icon } }),\n _vm._v(\" \"),\n _vm.item.text && _vm.item.longtext\n ? _c(\"p\", [\n _c(\"strong\", { staticClass: \"menuitem-text\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\\t\\t\")\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"menuitem-text-detail\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" + _vm._s(_vm.item.longtext) + \"\\n\\t\\t\\t\"\n )\n ])\n ])\n : _vm.item.text\n ? _c(\"span\", [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\\t\")\n ])\n : _vm.item.longtext\n ? _c(\"p\", [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.item.longtext) + \"\\n\\t\\t\")\n ])\n : _vm._e()\n ]\n )\n : _vm.item.input\n ? _c(\n \"span\",\n { staticClass: \"menuitem\", class: { active: _vm.item.active } },\n [\n _vm.item.input !== \"checkbox\"\n ? _c(\"span\", { class: _vm.item.icon })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.input === \"text\"\n ? _c(\n \"form\",\n {\n class: _vm.item.input,\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.item.action($event)\n }\n }\n },\n [\n _c(\"input\", {\n attrs: {\n type: _vm.item.input,\n placeholder: _vm.item.text,\n required: \"\"\n },\n domProps: { value: _vm.item.value }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n })\n ]\n )\n : [\n _vm.item.input === \"checkbox\"\n ? _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.item.model,\n expression: \"item.model\"\n }\n ],\n class: _vm.item.input,\n attrs: { id: _vm.key, type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.item.model)\n ? _vm._i(_vm.item.model, null) > -1\n : _vm.item.model\n },\n on: {\n change: [\n function($event) {\n var $$a = _vm.item.model,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n _vm.item,\n \"model\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n _vm.item,\n \"model\",\n $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1))\n )\n }\n } else {\n _vm.$set(_vm.item, \"model\", $$c)\n }\n },\n _vm.item.action\n ]\n }\n })\n : _vm.item.input === \"radio\"\n ? _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.item.model,\n expression: \"item.model\"\n }\n ],\n class: _vm.item.input,\n attrs: { id: _vm.key, type: \"radio\" },\n domProps: { checked: _vm._q(_vm.item.model, null) },\n on: {\n change: [\n function($event) {\n return _vm.$set(_vm.item, \"model\", null)\n },\n _vm.item.action\n ]\n }\n })\n : _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.item.model,\n expression: \"item.model\"\n }\n ],\n class: _vm.item.input,\n attrs: { id: _vm.key, type: _vm.item.input },\n domProps: { value: _vm.item.model },\n on: {\n change: _vm.item.action,\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.item, \"model\", $event.target.value)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: { for: _vm.key },\n on: {\n click: function($event) {\n $event.stopPropagation()\n $event.preventDefault()\n return _vm.item.action($event)\n }\n }\n },\n [_vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\\t\\t\")]\n )\n ]\n ],\n 2\n )\n : _vm.item.action\n ? _c(\n \"button\",\n {\n staticClass: \"menuitem focusable\",\n class: { active: _vm.item.active },\n attrs: { disabled: _vm.item.disabled },\n on: {\n click: function($event) {\n $event.stopPropagation()\n $event.preventDefault()\n return _vm.item.action($event)\n }\n }\n },\n [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text && _vm.item.longtext\n ? _c(\"p\", [\n _c(\"strong\", { staticClass: \"menuitem-text\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\\t\\t\")\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"menuitem-text-detail\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" + _vm._s(_vm.item.longtext) + \"\\n\\t\\t\\t\"\n )\n ])\n ])\n : _vm.item.text\n ? _c(\"span\", [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\\t\")\n ])\n : _vm.item.longtext\n ? _c(\"p\", [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.item.longtext) + \"\\n\\t\\t\")\n ])\n : _vm._e()\n ]\n )\n : _c(\n \"span\",\n { staticClass: \"menuitem\", class: { active: _vm.item.active } },\n [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text && _vm.item.longtext\n ? _c(\"p\", [\n _c(\"strong\", { staticClass: \"menuitem-text\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\\t\\t\")\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"menuitem-text-detail\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" + _vm._s(_vm.item.longtext) + \"\\n\\t\\t\\t\"\n )\n ])\n ])\n : _vm.item.text\n ? _c(\"span\", [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\\t\")\n ])\n : _vm.item.longtext\n ? _c(\"p\", [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.item.longtext) + \"\\n\\t\\t\")\n ])\n : _vm._e()\n ]\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=template&id=6cb58afa&scoped=true&\":\n/*!********************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=template&id=6cb58afa&scoped=true& ***!\n \\********************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"autocomplete-result\" }, [\n _c(\n \"div\",\n {\n staticClass: \"autocomplete-result__icon\",\n class: [\n _vm.icon,\n \"autocomplete-result__icon--\" + (_vm.avatarUrl ? \"with-avatar\" : \"\")\n ],\n style: _vm.avatarUrl\n ? { backgroundImage: \"url(\" + _vm.avatarUrl + \")\" }\n : null\n },\n [\n _vm.haveStatus\n ? _c(\n \"div\",\n {\n staticClass: \"autocomplete-result__status\",\n class: [\n \"autocomplete-result__status--\" +\n (_vm.status && _vm.status.icon ? \"icon\" : _vm.status.status)\n ]\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s((_vm.status && _vm.status.icon) || \"\") +\n \"\\n\\t\\t\"\n )\n ]\n )\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"autocomplete-result__content\" }, [\n _c(\"span\", { staticClass: \"autocomplete-result__title\" }, [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.label) + \"\\n\\t\\t\")\n ]),\n _vm._v(\" \"),\n _vm.subline\n ? _c(\"span\", { staticClass: \"autocomplete-result__subline\" }, [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.subline) + \"\\n\\t\\t\")\n ])\n : _vm._e()\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true&\":\n/*!***************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true& ***!\n \\***************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"span\",\n {\n staticClass: \"mention-bubble\",\n class: { \"mention-bubble--primary\": _vm.primary },\n attrs: { contenteditable: \"false\" }\n },\n [\n _c(\"span\", { staticClass: \"mention-bubble__wrapper\" }, [\n _c(\"span\", { staticClass: \"mention-bubble__content\" }, [\n _c(\"span\", {\n staticClass: \"mention-bubble__icon\",\n class: [\n _vm.icon,\n \"mention-bubble__icon--\" + (_vm.avatarUrl ? \"with-avatar\" : \"\")\n ],\n style: _vm.avatarUrl\n ? { backgroundImage: \"url(\" + _vm.avatarUrl + \")\" }\n : null\n }),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"mention-bubble__title\",\n attrs: { role: \"heading\", title: _vm.label }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"mention-bubble__select\", attrs: { role: \"none\" } },\n [_vm._v(_vm._s(_vm.mentionText))]\n )\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=template&id=554d37da&scoped=true&\":\n/*!*********************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=template&id=554d37da&scoped=true& ***!\n \\*********************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n _vm._g(\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip\",\n value: _vm.tooltip,\n expression: \"tooltip\"\n }\n ],\n ref: \"contenteditable\",\n staticClass: \"rich-contenteditable__input\",\n class: {\n \"rich-contenteditable__input--empty\": _vm.isEmptyValue,\n \"rich-contenteditable__input--multiline\": _vm.multiline,\n \"rich-contenteditable__input--overflow\": _vm.isOverMaxlength\n },\n attrs: {\n contenteditable: _vm.contenteditable,\n placeholder: _vm.placeholder,\n \"aria-multiline\": \"true\",\n role: \"textbox\"\n },\n on: {\n input: _vm.onInput,\n keydown: [\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"delete\", [8, 46], $event.key, [\n \"Backspace\",\n \"Delete\",\n \"Del\"\n ])\n ) {\n return null\n }\n return _vm.onDelete($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n return _vm.onEnter($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n if (!$event.ctrlKey) {\n return null\n }\n if ($event.shiftKey || $event.altKey || $event.metaKey) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n return _vm.onCtrlEnter($event)\n }\n ],\n paste: _vm.onPaste\n }\n },\n _vm.$listeners\n )\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SettingsSection/SettingsSection.vue?vue&type=template&id=911c1c56&scoped=true&\":\n/*!*************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SettingsSection/SettingsSection.vue?vue&type=template&id=911c1c56&scoped=true& ***!\n \\*************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"settings-section\" },\n [\n _c(\"h2\", { staticClass: \"settings-section__title\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.title) + \"\\n\\t\\t\"),\n _vm.hasDocUrl\n ? _c(\"a\", {\n staticClass: \"settings-section__info\",\n attrs: {\n href: _vm.docUrl,\n role: \"\",\n title: _vm.docTitleTranslated\n }\n })\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm.hasDescription\n ? _c(\"p\", { staticClass: \"settings-section__desc\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.description) + \"\\n\\t\")\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"default\")\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/UserBubble/UserBubble.vue?vue&type=template&id=5c0e21af&scoped=true&\":\n/*!***************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/UserBubble/UserBubble.vue?vue&type=template&id=5c0e21af&scoped=true& ***!\n \\***************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n _vm.isPopoverComponent,\n {\n tag: \"Popover\",\n staticClass: \"user-bubble__wrapper\",\n attrs: { trigger: \"hover focus\", open: _vm.open },\n on: { \"update:open\": _vm.onOpenChange }\n },\n [\n _c(\n \"div\",\n _vm._b(\n {\n staticClass: \"user-bubble__content\",\n class: _vm.primary ? \"user-bubble__content--primary\" : \"\",\n style: _vm.styles.content,\n attrs: { slot: \"trigger\" },\n on: { click: _vm.onClick },\n slot: \"trigger\"\n },\n \"div\",\n _vm.isLinkComponent,\n false\n ),\n [\n _c(\n \"Avatar\",\n _vm._b(\n {\n staticClass: \"user-bubble__avatar\",\n style: _vm.styles.avatar,\n attrs: {\n url:\n _vm.isCustomAvatar && _vm.isAvatarUrl\n ? _vm.avatarImage\n : undefined,\n \"icon-class\":\n _vm.isCustomAvatar && !_vm.isAvatarUrl\n ? _vm.avatarImage\n : undefined,\n user: _vm.user,\n \"display-name\": _vm.displayName,\n size: _vm.size - _vm.margin * 2,\n \"disable-tooltip\": true,\n \"disable-menu\": true\n }\n },\n \"Avatar\",\n _vm.$props,\n false\n )\n ),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"user-bubble__title\" }, [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.displayName || _vm.user) + \"\\n\\t\\t\")\n ]),\n _vm._v(\" \"),\n _vm.$slots.title\n ? _c(\n \"span\",\n { staticClass: \"user-bubble__secondary\" },\n [_vm._t(\"title\")],\n 2\n )\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm._t(\"default\")\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionButton/ActionButton.vue\":\n/*!******************************************************!*\\\n !*** ./src/components/ActionButton/ActionButton.vue ***!\n \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionButton_vue_vue_type_template_id_2e929b4f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true& */ \"./src/components/ActionButton/ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true&\");\n/* harmony import */ var _ActionButton_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ActionButton.vue?vue&type=script&lang=js& */ \"./src/components/ActionButton/ActionButton.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _ActionButton_vue_vue_type_style_index_0_id_2e929b4f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true& */ \"./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _ActionButton_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ActionButton.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/ActionButton/ActionButton.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _ActionButton_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ActionButton_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _ActionButton_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ActionButton_vue_vue_type_template_id_2e929b4f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ActionButton_vue_vue_type_template_id_2e929b4f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"2e929b4f\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _ActionButton_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _ActionButton_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ActionButton/ActionButton.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/ActionButton/ActionButton.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*********************************************************************************************!*\\\n !*** ./src/components/ActionButton/ActionButton.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionButton/ActionButton.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************!*\\\n !*** ./src/components/ActionButton/ActionButton.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionButton.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************!*\\\n !*** ./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_style_index_0_id_2e929b4f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/ActionButton/ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true&\":\n/*!*************************************************************************************************!*\\\n !*** ./src/components/ActionButton/ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true& ***!\n \\*************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_template_id_2e929b4f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_template_id_2e929b4f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_template_id_2e929b4f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionButton/index.js\":\n/*!**********************************************!*\\\n !*** ./src/components/ActionButton/index.js ***!\n \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionButton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionButton */ \"./src/components/ActionButton/ActionButton.vue\");\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_ActionButton__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/ActionCheckbox/ActionCheckbox.vue\":\n/*!**********************************************************!*\\\n !*** ./src/components/ActionCheckbox/ActionCheckbox.vue ***!\n \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionCheckbox_vue_vue_type_template_id_74cf1d6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionCheckbox.vue?vue&type=template&id=74cf1d6f&scoped=true& */ \"./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=template&id=74cf1d6f&scoped=true&\");\n/* harmony import */ var _ActionCheckbox_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ActionCheckbox.vue?vue&type=script&lang=js& */ \"./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _ActionCheckbox_vue_vue_type_style_index_0_id_74cf1d6f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ActionCheckbox.vue?vue&type=style&index=0&id=74cf1d6f&lang=scss&scoped=true& */ \"./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=style&index=0&id=74cf1d6f&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _ActionCheckbox_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ActionCheckbox.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _ActionCheckbox_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ActionCheckbox_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _ActionCheckbox_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ActionCheckbox_vue_vue_type_template_id_74cf1d6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ActionCheckbox_vue_vue_type_template_id_74cf1d6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"74cf1d6f\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _ActionCheckbox_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _ActionCheckbox_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ActionCheckbox/ActionCheckbox.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*************************************************************************************************!*\\\n !*** ./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=script&lang=js&\":\n/*!***********************************************************************************!*\\\n !*** ./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=script&lang=js& ***!\n \\***********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionCheckbox_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionCheckbox.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionCheckbox_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=style&index=0&id=74cf1d6f&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************!*\\\n !*** ./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=style&index=0&id=74cf1d6f&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionCheckbox_vue_vue_type_style_index_0_id_74cf1d6f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionCheckbox.vue?vue&type=style&index=0&id=74cf1d6f&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=style&index=0&id=74cf1d6f&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=template&id=74cf1d6f&scoped=true&\":\n/*!*****************************************************************************************************!*\\\n !*** ./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=template&id=74cf1d6f&scoped=true& ***!\n \\*****************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionCheckbox_vue_vue_type_template_id_74cf1d6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionCheckbox.vue?vue&type=template&id=74cf1d6f&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionCheckbox/ActionCheckbox.vue?vue&type=template&id=74cf1d6f&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionCheckbox_vue_vue_type_template_id_74cf1d6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionCheckbox_vue_vue_type_template_id_74cf1d6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionCheckbox/index.js\":\n/*!************************************************!*\\\n !*** ./src/components/ActionCheckbox/index.js ***!\n \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionCheckbox__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionCheckbox */ \"./src/components/ActionCheckbox/ActionCheckbox.vue\");\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_ActionCheckbox__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/ActionInput/ActionInput.vue\":\n/*!****************************************************!*\\\n !*** ./src/components/ActionInput/ActionInput.vue ***!\n \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionInput_vue_vue_type_template_id_5e00ea39_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionInput.vue?vue&type=template&id=5e00ea39&scoped=true& */ \"./src/components/ActionInput/ActionInput.vue?vue&type=template&id=5e00ea39&scoped=true&\");\n/* harmony import */ var _ActionInput_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ActionInput.vue?vue&type=script&lang=js& */ \"./src/components/ActionInput/ActionInput.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _ActionInput_vue_vue_type_style_index_0_id_5e00ea39_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ActionInput.vue?vue&type=style&index=0&id=5e00ea39&lang=scss&scoped=true& */ \"./src/components/ActionInput/ActionInput.vue?vue&type=style&index=0&id=5e00ea39&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _ActionInput_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ActionInput.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/ActionInput/ActionInput.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _ActionInput_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ActionInput_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _ActionInput_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ActionInput_vue_vue_type_template_id_5e00ea39_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ActionInput_vue_vue_type_template_id_5e00ea39_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"5e00ea39\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _ActionInput_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _ActionInput_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ActionInput/ActionInput.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/ActionInput/ActionInput.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*******************************************************************************************!*\\\n !*** ./src/components/ActionInput/ActionInput.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionInput/ActionInput.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************!*\\\n !*** ./src/components/ActionInput/ActionInput.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionInput_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionInput.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionInput/ActionInput.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionInput_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/ActionInput/ActionInput.vue?vue&type=style&index=0&id=5e00ea39&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************!*\\\n !*** ./src/components/ActionInput/ActionInput.vue?vue&type=style&index=0&id=5e00ea39&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionInput_vue_vue_type_style_index_0_id_5e00ea39_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionInput.vue?vue&type=style&index=0&id=5e00ea39&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionInput/ActionInput.vue?vue&type=style&index=0&id=5e00ea39&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/ActionInput/ActionInput.vue?vue&type=template&id=5e00ea39&scoped=true&\":\n/*!***********************************************************************************************!*\\\n !*** ./src/components/ActionInput/ActionInput.vue?vue&type=template&id=5e00ea39&scoped=true& ***!\n \\***********************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionInput_vue_vue_type_template_id_5e00ea39_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionInput.vue?vue&type=template&id=5e00ea39&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionInput/ActionInput.vue?vue&type=template&id=5e00ea39&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionInput_vue_vue_type_template_id_5e00ea39_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionInput_vue_vue_type_template_id_5e00ea39_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionInput/index.js\":\n/*!*********************************************!*\\\n !*** ./src/components/ActionInput/index.js ***!\n \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionInput__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionInput */ \"./src/components/ActionInput/ActionInput.vue\");\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_ActionInput__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/ActionLink/ActionLink.vue\":\n/*!**************************************************!*\\\n !*** ./src/components/ActionLink/ActionLink.vue ***!\n \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionLink_vue_vue_type_template_id_7b85b80f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionLink.vue?vue&type=template&id=7b85b80f&scoped=true& */ \"./src/components/ActionLink/ActionLink.vue?vue&type=template&id=7b85b80f&scoped=true&\");\n/* harmony import */ var _ActionLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ActionLink.vue?vue&type=script&lang=js& */ \"./src/components/ActionLink/ActionLink.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _ActionLink_vue_vue_type_style_index_0_id_7b85b80f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ActionLink.vue?vue&type=style&index=0&id=7b85b80f&lang=scss&scoped=true& */ \"./src/components/ActionLink/ActionLink.vue?vue&type=style&index=0&id=7b85b80f&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _ActionLink_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ActionLink.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/ActionLink/ActionLink.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _ActionLink_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ActionLink_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _ActionLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ActionLink_vue_vue_type_template_id_7b85b80f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ActionLink_vue_vue_type_template_id_7b85b80f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"7b85b80f\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _ActionLink_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _ActionLink_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ActionLink/ActionLink.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/ActionLink/ActionLink.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*****************************************************************************************!*\\\n !*** ./src/components/ActionLink/ActionLink.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionLink/ActionLink.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************!*\\\n !*** ./src/components/ActionLink/ActionLink.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionLink.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionLink/ActionLink.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionLink_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/ActionLink/ActionLink.vue?vue&type=style&index=0&id=7b85b80f&lang=scss&scoped=true&\":\n/*!************************************************************************************************************!*\\\n !*** ./src/components/ActionLink/ActionLink.vue?vue&type=style&index=0&id=7b85b80f&lang=scss&scoped=true& ***!\n \\************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionLink_vue_vue_type_style_index_0_id_7b85b80f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionLink.vue?vue&type=style&index=0&id=7b85b80f&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionLink/ActionLink.vue?vue&type=style&index=0&id=7b85b80f&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/ActionLink/ActionLink.vue?vue&type=template&id=7b85b80f&scoped=true&\":\n/*!*********************************************************************************************!*\\\n !*** ./src/components/ActionLink/ActionLink.vue?vue&type=template&id=7b85b80f&scoped=true& ***!\n \\*********************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionLink_vue_vue_type_template_id_7b85b80f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionLink.vue?vue&type=template&id=7b85b80f&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionLink/ActionLink.vue?vue&type=template&id=7b85b80f&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionLink_vue_vue_type_template_id_7b85b80f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionLink_vue_vue_type_template_id_7b85b80f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionLink/index.js\":\n/*!********************************************!*\\\n !*** ./src/components/ActionLink/index.js ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionLink__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionLink */ \"./src/components/ActionLink/ActionLink.vue\");\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_ActionLink__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/ActionRadio/ActionRadio.vue\":\n/*!****************************************************!*\\\n !*** ./src/components/ActionRadio/ActionRadio.vue ***!\n \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionRadio_vue_vue_type_template_id_031b3fca_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionRadio.vue?vue&type=template&id=031b3fca&scoped=true& */ \"./src/components/ActionRadio/ActionRadio.vue?vue&type=template&id=031b3fca&scoped=true&\");\n/* harmony import */ var _ActionRadio_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ActionRadio.vue?vue&type=script&lang=js& */ \"./src/components/ActionRadio/ActionRadio.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _ActionRadio_vue_vue_type_style_index_0_id_031b3fca_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ActionRadio.vue?vue&type=style&index=0&id=031b3fca&lang=scss&scoped=true& */ \"./src/components/ActionRadio/ActionRadio.vue?vue&type=style&index=0&id=031b3fca&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _ActionRadio_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ActionRadio.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/ActionRadio/ActionRadio.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _ActionRadio_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ActionRadio_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _ActionRadio_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ActionRadio_vue_vue_type_template_id_031b3fca_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ActionRadio_vue_vue_type_template_id_031b3fca_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"031b3fca\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _ActionRadio_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _ActionRadio_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ActionRadio/ActionRadio.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/ActionRadio/ActionRadio.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*******************************************************************************************!*\\\n !*** ./src/components/ActionRadio/ActionRadio.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionRadio/ActionRadio.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************!*\\\n !*** ./src/components/ActionRadio/ActionRadio.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRadio_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionRadio.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRadio/ActionRadio.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRadio_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/ActionRadio/ActionRadio.vue?vue&type=style&index=0&id=031b3fca&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************!*\\\n !*** ./src/components/ActionRadio/ActionRadio.vue?vue&type=style&index=0&id=031b3fca&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRadio_vue_vue_type_style_index_0_id_031b3fca_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionRadio.vue?vue&type=style&index=0&id=031b3fca&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRadio/ActionRadio.vue?vue&type=style&index=0&id=031b3fca&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/ActionRadio/ActionRadio.vue?vue&type=template&id=031b3fca&scoped=true&\":\n/*!***********************************************************************************************!*\\\n !*** ./src/components/ActionRadio/ActionRadio.vue?vue&type=template&id=031b3fca&scoped=true& ***!\n \\***********************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRadio_vue_vue_type_template_id_031b3fca_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionRadio.vue?vue&type=template&id=031b3fca&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRadio/ActionRadio.vue?vue&type=template&id=031b3fca&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRadio_vue_vue_type_template_id_031b3fca_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRadio_vue_vue_type_template_id_031b3fca_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionRadio/index.js\":\n/*!*********************************************!*\\\n !*** ./src/components/ActionRadio/index.js ***!\n \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionRadio__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionRadio */ \"./src/components/ActionRadio/ActionRadio.vue\");\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_ActionRadio__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/ActionRouter/ActionRouter.vue\":\n/*!******************************************************!*\\\n !*** ./src/components/ActionRouter/ActionRouter.vue ***!\n \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionRouter_vue_vue_type_template_id_3a6feea2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionRouter.vue?vue&type=template&id=3a6feea2&scoped=true& */ \"./src/components/ActionRouter/ActionRouter.vue?vue&type=template&id=3a6feea2&scoped=true&\");\n/* harmony import */ var _ActionRouter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ActionRouter.vue?vue&type=script&lang=js& */ \"./src/components/ActionRouter/ActionRouter.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _ActionRouter_vue_vue_type_style_index_0_id_3a6feea2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ActionRouter.vue?vue&type=style&index=0&id=3a6feea2&lang=scss&scoped=true& */ \"./src/components/ActionRouter/ActionRouter.vue?vue&type=style&index=0&id=3a6feea2&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _ActionRouter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ActionRouter_vue_vue_type_template_id_3a6feea2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ActionRouter_vue_vue_type_template_id_3a6feea2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"3a6feea2\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ActionRouter/ActionRouter.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/ActionRouter/ActionRouter.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************!*\\\n !*** ./src/components/ActionRouter/ActionRouter.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRouter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionRouter.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRouter/ActionRouter.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRouter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/ActionRouter/ActionRouter.vue?vue&type=style&index=0&id=3a6feea2&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************!*\\\n !*** ./src/components/ActionRouter/ActionRouter.vue?vue&type=style&index=0&id=3a6feea2&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRouter_vue_vue_type_style_index_0_id_3a6feea2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionRouter.vue?vue&type=style&index=0&id=3a6feea2&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRouter/ActionRouter.vue?vue&type=style&index=0&id=3a6feea2&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/ActionRouter/ActionRouter.vue?vue&type=template&id=3a6feea2&scoped=true&\":\n/*!*************************************************************************************************!*\\\n !*** ./src/components/ActionRouter/ActionRouter.vue?vue&type=template&id=3a6feea2&scoped=true& ***!\n \\*************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRouter_vue_vue_type_template_id_3a6feea2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionRouter.vue?vue&type=template&id=3a6feea2&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionRouter/ActionRouter.vue?vue&type=template&id=3a6feea2&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRouter_vue_vue_type_template_id_3a6feea2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionRouter_vue_vue_type_template_id_3a6feea2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionRouter/index.js\":\n/*!**********************************************!*\\\n !*** ./src/components/ActionRouter/index.js ***!\n \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionRouter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionRouter */ \"./src/components/ActionRouter/ActionRouter.vue\");\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_ActionRouter__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/ActionSeparator/ActionSeparator.vue\":\n/*!************************************************************!*\\\n !*** ./src/components/ActionSeparator/ActionSeparator.vue ***!\n \\************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionSeparator_vue_vue_type_template_id_64ac3a22_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionSeparator.vue?vue&type=template&id=64ac3a22&scoped=true& */ \"./src/components/ActionSeparator/ActionSeparator.vue?vue&type=template&id=64ac3a22&scoped=true&\");\n/* harmony import */ var _ActionSeparator_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ActionSeparator.vue?vue&type=script&lang=js& */ \"./src/components/ActionSeparator/ActionSeparator.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _ActionSeparator_vue_vue_type_style_index_0_id_64ac3a22_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ActionSeparator.vue?vue&type=style&index=0&id=64ac3a22&lang=scss&scoped=true& */ \"./src/components/ActionSeparator/ActionSeparator.vue?vue&type=style&index=0&id=64ac3a22&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _ActionSeparator_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ActionSeparator_vue_vue_type_template_id_64ac3a22_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ActionSeparator_vue_vue_type_template_id_64ac3a22_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"64ac3a22\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ActionSeparator/ActionSeparator.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/ActionSeparator/ActionSeparator.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************!*\\\n !*** ./src/components/ActionSeparator/ActionSeparator.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionSeparator_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionSeparator.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionSeparator/ActionSeparator.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionSeparator_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/ActionSeparator/ActionSeparator.vue?vue&type=style&index=0&id=64ac3a22&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************!*\\\n !*** ./src/components/ActionSeparator/ActionSeparator.vue?vue&type=style&index=0&id=64ac3a22&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionSeparator_vue_vue_type_style_index_0_id_64ac3a22_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionSeparator.vue?vue&type=style&index=0&id=64ac3a22&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionSeparator/ActionSeparator.vue?vue&type=style&index=0&id=64ac3a22&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/ActionSeparator/ActionSeparator.vue?vue&type=template&id=64ac3a22&scoped=true&\":\n/*!*******************************************************************************************************!*\\\n !*** ./src/components/ActionSeparator/ActionSeparator.vue?vue&type=template&id=64ac3a22&scoped=true& ***!\n \\*******************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionSeparator_vue_vue_type_template_id_64ac3a22_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionSeparator.vue?vue&type=template&id=64ac3a22&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionSeparator/ActionSeparator.vue?vue&type=template&id=64ac3a22&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionSeparator_vue_vue_type_template_id_64ac3a22_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionSeparator_vue_vue_type_template_id_64ac3a22_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionSeparator/index.js\":\n/*!*************************************************!*\\\n !*** ./src/components/ActionSeparator/index.js ***!\n \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionSeparator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionSeparator */ \"./src/components/ActionSeparator/ActionSeparator.vue\");\n/**\n * @copyright Copyright (c) 2019 Nextcloud et al.\n *\n * @author Kristof Hamann\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_ActionSeparator__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/ActionText/ActionText.vue\":\n/*!**************************************************!*\\\n !*** ./src/components/ActionText/ActionText.vue ***!\n \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionText_vue_vue_type_template_id_68547a2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionText.vue?vue&type=template&id=68547a2f&scoped=true& */ \"./src/components/ActionText/ActionText.vue?vue&type=template&id=68547a2f&scoped=true&\");\n/* harmony import */ var _ActionText_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ActionText.vue?vue&type=script&lang=js& */ \"./src/components/ActionText/ActionText.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _ActionText_vue_vue_type_style_index_0_id_68547a2f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ActionText.vue?vue&type=style&index=0&id=68547a2f&lang=scss&scoped=true& */ \"./src/components/ActionText/ActionText.vue?vue&type=style&index=0&id=68547a2f&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _ActionText_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ActionText_vue_vue_type_template_id_68547a2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ActionText_vue_vue_type_template_id_68547a2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"68547a2f\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ActionText/ActionText.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/ActionText/ActionText.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************!*\\\n !*** ./src/components/ActionText/ActionText.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionText_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionText.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionText/ActionText.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionText_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/ActionText/ActionText.vue?vue&type=style&index=0&id=68547a2f&lang=scss&scoped=true&\":\n/*!************************************************************************************************************!*\\\n !*** ./src/components/ActionText/ActionText.vue?vue&type=style&index=0&id=68547a2f&lang=scss&scoped=true& ***!\n \\************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionText_vue_vue_type_style_index_0_id_68547a2f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionText.vue?vue&type=style&index=0&id=68547a2f&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionText/ActionText.vue?vue&type=style&index=0&id=68547a2f&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/ActionText/ActionText.vue?vue&type=template&id=68547a2f&scoped=true&\":\n/*!*********************************************************************************************!*\\\n !*** ./src/components/ActionText/ActionText.vue?vue&type=template&id=68547a2f&scoped=true& ***!\n \\*********************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionText_vue_vue_type_template_id_68547a2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionText.vue?vue&type=template&id=68547a2f&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionText/ActionText.vue?vue&type=template&id=68547a2f&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionText_vue_vue_type_template_id_68547a2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionText_vue_vue_type_template_id_68547a2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionText/index.js\":\n/*!********************************************!*\\\n !*** ./src/components/ActionText/index.js ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionText__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionText */ \"./src/components/ActionText/ActionText.vue\");\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_ActionText__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/ActionTextEditable/ActionTextEditable.vue\":\n/*!******************************************************************!*\\\n !*** ./src/components/ActionTextEditable/ActionTextEditable.vue ***!\n \\******************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionTextEditable_vue_vue_type_template_id_6377b0a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionTextEditable.vue?vue&type=template&id=6377b0a2&scoped=true& */ \"./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=template&id=6377b0a2&scoped=true&\");\n/* harmony import */ var _ActionTextEditable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ActionTextEditable.vue?vue&type=script&lang=js& */ \"./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _ActionTextEditable_vue_vue_type_style_index_0_id_6377b0a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ActionTextEditable.vue?vue&type=style&index=0&id=6377b0a2&lang=scss&scoped=true& */ \"./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=style&index=0&id=6377b0a2&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _ActionTextEditable_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ActionTextEditable.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _ActionTextEditable_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ActionTextEditable_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _ActionTextEditable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ActionTextEditable_vue_vue_type_template_id_6377b0a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ActionTextEditable_vue_vue_type_template_id_6377b0a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"6377b0a2\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _ActionTextEditable_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _ActionTextEditable_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ActionTextEditable/ActionTextEditable.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*********************************************************************************************************!*\\\n !*** ./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*********************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************************!*\\\n !*** ./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionTextEditable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionTextEditable.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionTextEditable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=style&index=0&id=6377b0a2&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************!*\\\n !*** ./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=style&index=0&id=6377b0a2&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionTextEditable_vue_vue_type_style_index_0_id_6377b0a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionTextEditable.vue?vue&type=style&index=0&id=6377b0a2&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=style&index=0&id=6377b0a2&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=template&id=6377b0a2&scoped=true&\":\n/*!*************************************************************************************************************!*\\\n !*** ./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=template&id=6377b0a2&scoped=true& ***!\n \\*************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionTextEditable_vue_vue_type_template_id_6377b0a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionTextEditable.vue?vue&type=template&id=6377b0a2&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionTextEditable/ActionTextEditable.vue?vue&type=template&id=6377b0a2&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionTextEditable_vue_vue_type_template_id_6377b0a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionTextEditable_vue_vue_type_template_id_6377b0a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionTextEditable/index.js\":\n/*!****************************************************!*\\\n !*** ./src/components/ActionTextEditable/index.js ***!\n \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionTextEditable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionTextEditable */ \"./src/components/ActionTextEditable/ActionTextEditable.vue\");\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_ActionTextEditable__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/Actions/Actions.vue\":\n/*!********************************************!*\\\n !*** ./src/components/Actions/Actions.vue ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Actions_vue_vue_type_template_id_4f45864b_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Actions.vue?vue&type=template&id=4f45864b&scoped=true& */ \"./src/components/Actions/Actions.vue?vue&type=template&id=4f45864b&scoped=true&\");\n/* harmony import */ var _Actions_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Actions.vue?vue&type=script&lang=js& */ \"./src/components/Actions/Actions.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _Actions_vue_vue_type_style_index_0_id_4f45864b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true& */ \"./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _Actions_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Actions.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/Actions/Actions.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _Actions_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Actions_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _Actions_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _Actions_vue_vue_type_template_id_4f45864b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _Actions_vue_vue_type_template_id_4f45864b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"4f45864b\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _Actions_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _Actions_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Actions/Actions.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/Actions/Actions.vue?vue&type=custom&index=0&blockType=docs\":\n/*!***********************************************************************************!*\\\n !*** ./src/components/Actions/Actions.vue?vue&type=custom&index=0&blockType=docs ***!\n \\***********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Actions/Actions.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************!*\\\n !*** ./src/components/Actions/Actions.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./Actions.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true&\":\n/*!******************************************************************************************************!*\\\n !*** ./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true& ***!\n \\******************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_style_index_0_id_4f45864b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/Actions/Actions.vue?vue&type=template&id=4f45864b&scoped=true&\":\n/*!***************************************************************************************!*\\\n !*** ./src/components/Actions/Actions.vue?vue&type=template&id=4f45864b&scoped=true& ***!\n \\***************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_template_id_4f45864b_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./Actions.vue?vue&type=template&id=4f45864b&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=template&id=4f45864b&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_template_id_4f45864b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_template_id_4f45864b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Actions/index.js\":\n/*!*****************************************!*\\\n !*** ./src/components/Actions/index.js ***!\n \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Actions */ \"./src/components/Actions/Actions.vue\");\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Actions__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppContent/AppContent.vue\":\n/*!**************************************************!*\\\n !*** ./src/components/AppContent/AppContent.vue ***!\n \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppContent_vue_vue_type_template_id_71758b0f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppContent.vue?vue&type=template&id=71758b0f&scoped=true& */ \"./src/components/AppContent/AppContent.vue?vue&type=template&id=71758b0f&scoped=true&\");\n/* harmony import */ var _AppContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppContent.vue?vue&type=script&lang=js& */ \"./src/components/AppContent/AppContent.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppContent_vue_vue_type_style_index_0_id_71758b0f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppContent.vue?vue&type=style&index=0&id=71758b0f&lang=scss&scoped=true& */ \"./src/components/AppContent/AppContent.vue?vue&type=style&index=0&id=71758b0f&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppContent_vue_vue_type_template_id_71758b0f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppContent_vue_vue_type_template_id_71758b0f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"71758b0f\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppContent/AppContent.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppContent/AppContent.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************!*\\\n !*** ./src/components/AppContent/AppContent.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppContent.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppContent/AppContent.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppContent/AppContent.vue?vue&type=style&index=0&id=71758b0f&lang=scss&scoped=true&\":\n/*!************************************************************************************************************!*\\\n !*** ./src/components/AppContent/AppContent.vue?vue&type=style&index=0&id=71758b0f&lang=scss&scoped=true& ***!\n \\************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContent_vue_vue_type_style_index_0_id_71758b0f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppContent.vue?vue&type=style&index=0&id=71758b0f&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppContent/AppContent.vue?vue&type=style&index=0&id=71758b0f&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppContent/AppContent.vue?vue&type=template&id=71758b0f&scoped=true&\":\n/*!*********************************************************************************************!*\\\n !*** ./src/components/AppContent/AppContent.vue?vue&type=template&id=71758b0f&scoped=true& ***!\n \\*********************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContent_vue_vue_type_template_id_71758b0f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppContent.vue?vue&type=template&id=71758b0f&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppContent/AppContent.vue?vue&type=template&id=71758b0f&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContent_vue_vue_type_template_id_71758b0f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContent_vue_vue_type_template_id_71758b0f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppContent/index.js\":\n/*!********************************************!*\\\n !*** ./src/components/AppContent/index.js ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppContent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppContent */ \"./src/components/AppContent/AppContent.vue\");\n/*\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppContent__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppContentDetails/AppContentDetails.vue\":\n/*!****************************************************************!*\\\n !*** ./src/components/AppContentDetails/AppContentDetails.vue ***!\n \\****************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppContentDetails_vue_vue_type_template_id_649708a5___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppContentDetails.vue?vue&type=template&id=649708a5& */ \"./src/components/AppContentDetails/AppContentDetails.vue?vue&type=template&id=649708a5&\");\n/* harmony import */ var _AppContentDetails_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppContentDetails.vue?vue&type=script&lang=js& */ \"./src/components/AppContentDetails/AppContentDetails.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _AppContentDetails_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppContentDetails_vue_vue_type_template_id_649708a5___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppContentDetails_vue_vue_type_template_id_649708a5___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppContentDetails/AppContentDetails.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppContentDetails/AppContentDetails.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************************!*\\\n !*** ./src/components/AppContentDetails/AppContentDetails.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContentDetails_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppContentDetails.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppContentDetails/AppContentDetails.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContentDetails_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppContentDetails/AppContentDetails.vue?vue&type=template&id=649708a5&\":\n/*!***********************************************************************************************!*\\\n !*** ./src/components/AppContentDetails/AppContentDetails.vue?vue&type=template&id=649708a5& ***!\n \\***********************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContentDetails_vue_vue_type_template_id_649708a5___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppContentDetails.vue?vue&type=template&id=649708a5& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppContentDetails/AppContentDetails.vue?vue&type=template&id=649708a5&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContentDetails_vue_vue_type_template_id_649708a5___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContentDetails_vue_vue_type_template_id_649708a5___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppContentDetails/index.js\":\n/*!***************************************************!*\\\n !*** ./src/components/AppContentDetails/index.js ***!\n \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppContentDetails__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppContentDetails */ \"./src/components/AppContentDetails/AppContentDetails.vue\");\n/*\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppContentDetails__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppContentList/AppContentList.vue\":\n/*!**********************************************************!*\\\n !*** ./src/components/AppContentList/AppContentList.vue ***!\n \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppContentList_vue_vue_type_template_id_53bb4862___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppContentList.vue?vue&type=template&id=53bb4862& */ \"./src/components/AppContentList/AppContentList.vue?vue&type=template&id=53bb4862&\");\n/* harmony import */ var _AppContentList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppContentList.vue?vue&type=script&lang=js& */ \"./src/components/AppContentList/AppContentList.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _AppContentList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppContentList_vue_vue_type_template_id_53bb4862___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppContentList_vue_vue_type_template_id_53bb4862___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppContentList/AppContentList.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppContentList/AppContentList.vue?vue&type=script&lang=js&\":\n/*!***********************************************************************************!*\\\n !*** ./src/components/AppContentList/AppContentList.vue?vue&type=script&lang=js& ***!\n \\***********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContentList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppContentList.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppContentList/AppContentList.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContentList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppContentList/AppContentList.vue?vue&type=template&id=53bb4862&\":\n/*!*****************************************************************************************!*\\\n !*** ./src/components/AppContentList/AppContentList.vue?vue&type=template&id=53bb4862& ***!\n \\*****************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContentList_vue_vue_type_template_id_53bb4862___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppContentList.vue?vue&type=template&id=53bb4862& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppContentList/AppContentList.vue?vue&type=template&id=53bb4862&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContentList_vue_vue_type_template_id_53bb4862___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppContentList_vue_vue_type_template_id_53bb4862___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppContentList/index.js\":\n/*!************************************************!*\\\n !*** ./src/components/AppContentList/index.js ***!\n \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppContentList__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppContentList */ \"./src/components/AppContentList/AppContentList.vue\");\n/*\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppContentList__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigation/AppNavigation.vue\":\n/*!********************************************************!*\\\n !*** ./src/components/AppNavigation/AppNavigation.vue ***!\n \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigation_vue_vue_type_template_id_d3908c0a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigation.vue?vue&type=template&id=d3908c0a&scoped=true& */ \"./src/components/AppNavigation/AppNavigation.vue?vue&type=template&id=d3908c0a&scoped=true&\");\n/* harmony import */ var _AppNavigation_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppNavigation.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigation/AppNavigation.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppNavigation_vue_vue_type_style_index_0_id_d3908c0a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppNavigation.vue?vue&type=style&index=0&id=d3908c0a&lang=scss&scoped=true& */ \"./src/components/AppNavigation/AppNavigation.vue?vue&type=style&index=0&id=d3908c0a&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _AppNavigation_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AppNavigation.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/AppNavigation/AppNavigation.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _AppNavigation_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_AppNavigation_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppNavigation_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppNavigation_vue_vue_type_template_id_d3908c0a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppNavigation_vue_vue_type_template_id_d3908c0a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"d3908c0a\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _AppNavigation_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _AppNavigation_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigation/AppNavigation.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigation/AppNavigation.vue?vue&type=custom&index=0&blockType=docs\":\n/*!***********************************************************************************************!*\\\n !*** ./src/components/AppNavigation/AppNavigation.vue?vue&type=custom&index=0&blockType=docs ***!\n \\***********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigation/AppNavigation.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************************!*\\\n !*** ./src/components/AppNavigation/AppNavigation.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigation_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigation.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigation/AppNavigation.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigation_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigation/AppNavigation.vue?vue&type=style&index=0&id=d3908c0a&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************!*\\\n !*** ./src/components/AppNavigation/AppNavigation.vue?vue&type=style&index=0&id=d3908c0a&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigation_vue_vue_type_style_index_0_id_d3908c0a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigation.vue?vue&type=style&index=0&id=d3908c0a&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigation/AppNavigation.vue?vue&type=style&index=0&id=d3908c0a&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigation/AppNavigation.vue?vue&type=template&id=d3908c0a&scoped=true&\":\n/*!***************************************************************************************************!*\\\n !*** ./src/components/AppNavigation/AppNavigation.vue?vue&type=template&id=d3908c0a&scoped=true& ***!\n \\***************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigation_vue_vue_type_template_id_d3908c0a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigation.vue?vue&type=template&id=d3908c0a&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigation/AppNavigation.vue?vue&type=template&id=d3908c0a&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigation_vue_vue_type_template_id_d3908c0a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigation_vue_vue_type_template_id_d3908c0a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigation/index.js\":\n/*!***********************************************!*\\\n !*** ./src/components/AppNavigation/index.js ***!\n \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigation */ \"./src/components/AppNavigation/AppNavigation.vue\");\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppNavigation__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue\":\n/*!**********************************************************************!*\\\n !*** ./src/components/AppNavigationCaption/AppNavigationCaption.vue ***!\n \\**********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationCaption_vue_vue_type_template_id_6ee65822_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true& */ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true&\");\n/* harmony import */ var _AppNavigationCaption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppNavigationCaption.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppNavigationCaption_vue_vue_type_style_index_0_id_6ee65822_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true& */ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppNavigationCaption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppNavigationCaption_vue_vue_type_template_id_6ee65822_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppNavigationCaption_vue_vue_type_template_id_6ee65822_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"6ee65822\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigationCaption/AppNavigationCaption.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=script&lang=js&\":\n/*!***********************************************************************************************!*\\\n !*** ./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=script&lang=js& ***!\n \\***********************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationCaption.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_style_index_0_id_6ee65822_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true&\":\n/*!*****************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true& ***!\n \\*****************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_template_id_6ee65822_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_template_id_6ee65822_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_template_id_6ee65822_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCaption/index.js\":\n/*!******************************************************!*\\\n !*** ./src/components/AppNavigationCaption/index.js ***!\n \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationCaption__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationCaption */ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppNavigationCaption__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCounter/AppNavigationCounter.vue\":\n/*!**********************************************************************!*\\\n !*** ./src/components/AppNavigationCounter/AppNavigationCounter.vue ***!\n \\**********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationCounter_vue_vue_type_template_id_231d7daf_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationCounter.vue?vue&type=template&id=231d7daf&scoped=true& */ \"./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=template&id=231d7daf&scoped=true&\");\n/* harmony import */ var _AppNavigationCounter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppNavigationCounter.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppNavigationCounter_vue_vue_type_style_index_0_id_231d7daf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppNavigationCounter.vue?vue&type=style&index=0&id=231d7daf&lang=scss&scoped=true& */ \"./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=style&index=0&id=231d7daf&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _AppNavigationCounter_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AppNavigationCounter.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _AppNavigationCounter_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_AppNavigationCounter_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppNavigationCounter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppNavigationCounter_vue_vue_type_template_id_231d7daf_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppNavigationCounter_vue_vue_type_template_id_231d7daf_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"231d7daf\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _AppNavigationCounter_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _AppNavigationCounter_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigationCounter/AppNavigationCounter.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=script&lang=js&\":\n/*!***********************************************************************************************!*\\\n !*** ./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=script&lang=js& ***!\n \\***********************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCounter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationCounter.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCounter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=style&index=0&id=231d7daf&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=style&index=0&id=231d7daf&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCounter_vue_vue_type_style_index_0_id_231d7daf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationCounter.vue?vue&type=style&index=0&id=231d7daf&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=style&index=0&id=231d7daf&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=template&id=231d7daf&scoped=true&\":\n/*!*****************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=template&id=231d7daf&scoped=true& ***!\n \\*****************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCounter_vue_vue_type_template_id_231d7daf_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationCounter.vue?vue&type=template&id=231d7daf&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCounter/AppNavigationCounter.vue?vue&type=template&id=231d7daf&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCounter_vue_vue_type_template_id_231d7daf_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCounter_vue_vue_type_template_id_231d7daf_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCounter/index.js\":\n/*!******************************************************!*\\\n !*** ./src/components/AppNavigationCounter/index.js ***!\n \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationCounter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationCounter */ \"./src/components/AppNavigationCounter/AppNavigationCounter.vue\");\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppNavigationCounter__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue\":\n/*!****************************************************************************!*\\\n !*** ./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue ***!\n \\****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationIconBullet_vue_vue_type_template_id_1589a81e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationIconBullet.vue?vue&type=template&id=1589a81e&scoped=true& */ \"./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=template&id=1589a81e&scoped=true&\");\n/* harmony import */ var _AppNavigationIconBullet_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppNavigationIconBullet.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppNavigationIconBullet_vue_vue_type_style_index_0_id_1589a81e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppNavigationIconBullet.vue?vue&type=style&index=0&id=1589a81e&lang=scss&scoped=true& */ \"./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=style&index=0&id=1589a81e&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _AppNavigationIconBullet_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AppNavigationIconBullet.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _AppNavigationIconBullet_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_AppNavigationIconBullet_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppNavigationIconBullet_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppNavigationIconBullet_vue_vue_type_template_id_1589a81e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppNavigationIconBullet_vue_vue_type_template_id_1589a81e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"1589a81e\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _AppNavigationIconBullet_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _AppNavigationIconBullet_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*******************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*******************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************************************!*\\\n !*** ./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconBullet_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationIconBullet.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconBullet_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=style&index=0&id=1589a81e&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=style&index=0&id=1589a81e&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconBullet_vue_vue_type_style_index_0_id_1589a81e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationIconBullet.vue?vue&type=style&index=0&id=1589a81e&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=style&index=0&id=1589a81e&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=template&id=1589a81e&scoped=true&\":\n/*!***********************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=template&id=1589a81e&scoped=true& ***!\n \\***********************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconBullet_vue_vue_type_template_id_1589a81e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationIconBullet.vue?vue&type=template&id=1589a81e&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue?vue&type=template&id=1589a81e&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconBullet_vue_vue_type_template_id_1589a81e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconBullet_vue_vue_type_template_id_1589a81e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationIconBullet/index.js\":\n/*!*********************************************************!*\\\n !*** ./src/components/AppNavigationIconBullet/index.js ***!\n \\*********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationIconBullet__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationIconBullet */ \"./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue\");\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppNavigationIconBullet__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue\":\n/*!***************************************************************************!*\\\n !*** ./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue ***!\n \\***************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationIconCollapsible_vue_vue_type_template_id_3c4acfb3_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationIconCollapsible.vue?vue&type=template&id=3c4acfb3&scoped=true& */ \"./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=template&id=3c4acfb3&scoped=true&\");\n/* harmony import */ var _AppNavigationIconCollapsible_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppNavigationIconCollapsible.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppNavigationIconCollapsible_vue_vue_type_style_index_0_id_3c4acfb3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppNavigationIconCollapsible.vue?vue&type=style&index=0&id=3c4acfb3&lang=scss&scoped=true& */ \"./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=style&index=0&id=3c4acfb3&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppNavigationIconCollapsible_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppNavigationIconCollapsible_vue_vue_type_template_id_3c4acfb3_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppNavigationIconCollapsible_vue_vue_type_template_id_3c4acfb3_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"3c4acfb3\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigationItem/AppNavigationIconCollapsible.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=script&lang=js&\":\n/*!****************************************************************************************************!*\\\n !*** ./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=script&lang=js& ***!\n \\****************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconCollapsible_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationIconCollapsible.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconCollapsible_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=style&index=0&id=3c4acfb3&lang=scss&scoped=true&\":\n/*!*************************************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=style&index=0&id=3c4acfb3&lang=scss&scoped=true& ***!\n \\*************************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconCollapsible_vue_vue_type_style_index_0_id_3c4acfb3_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationIconCollapsible.vue?vue&type=style&index=0&id=3c4acfb3&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=style&index=0&id=3c4acfb3&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=template&id=3c4acfb3&scoped=true&\":\n/*!**********************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=template&id=3c4acfb3&scoped=true& ***!\n \\**********************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconCollapsible_vue_vue_type_template_id_3c4acfb3_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationIconCollapsible.vue?vue&type=template&id=3c4acfb3&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue?vue&type=template&id=3c4acfb3&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconCollapsible_vue_vue_type_template_id_3c4acfb3_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationIconCollapsible_vue_vue_type_template_id_3c4acfb3_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/AppNavigationItem.vue\":\n/*!****************************************************************!*\\\n !*** ./src/components/AppNavigationItem/AppNavigationItem.vue ***!\n \\****************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationItem_vue_vue_type_template_id_210dfea1___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationItem.vue?vue&type=template&id=210dfea1& */ \"./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=template&id=210dfea1&\");\n/* harmony import */ var _AppNavigationItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppNavigationItem.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppNavigationItem_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppNavigationItem.vue?vue&type=style&index=0&lang=scss& */ \"./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=style&index=0&lang=scss&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _AppNavigationItem_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AppNavigationItem.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _AppNavigationItem_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_AppNavigationItem_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppNavigationItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppNavigationItem_vue_vue_type_template_id_210dfea1___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppNavigationItem_vue_vue_type_template_id_210dfea1___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _AppNavigationItem_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _AppNavigationItem_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigationItem/AppNavigationItem.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*******************************************************************************************************!*\\\n !*** ./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*******************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************************!*\\\n !*** ./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationItem.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=style&index=0&lang=scss&\":\n/*!**************************************************************************************************!*\\\n !*** ./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=style&index=0&lang=scss& ***!\n \\**************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationItem_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationItem.vue?vue&type=style&index=0&lang=scss& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=style&index=0&lang=scss&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=template&id=210dfea1&\":\n/*!***********************************************************************************************!*\\\n !*** ./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=template&id=210dfea1& ***!\n \\***********************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationItem_vue_vue_type_template_id_210dfea1___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationItem.vue?vue&type=template&id=210dfea1& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/AppNavigationItem.vue?vue&type=template&id=210dfea1&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationItem_vue_vue_type_template_id_210dfea1___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationItem_vue_vue_type_template_id_210dfea1___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/InputConfirmCancel.vue\":\n/*!*****************************************************************!*\\\n !*** ./src/components/AppNavigationItem/InputConfirmCancel.vue ***!\n \\*****************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _InputConfirmCancel_vue_vue_type_template_id_185307b2___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InputConfirmCancel.vue?vue&type=template&id=185307b2& */ \"./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=template&id=185307b2&\");\n/* harmony import */ var _InputConfirmCancel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InputConfirmCancel.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _InputConfirmCancel_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./InputConfirmCancel.vue?vue&type=style&index=0&lang=scss& */ \"./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=style&index=0&lang=scss&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _InputConfirmCancel_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./InputConfirmCancel.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _InputConfirmCancel_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_InputConfirmCancel_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _InputConfirmCancel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _InputConfirmCancel_vue_vue_type_template_id_185307b2___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _InputConfirmCancel_vue_vue_type_template_id_185307b2___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _InputConfirmCancel_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _InputConfirmCancel_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigationItem/InputConfirmCancel.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=custom&index=0&blockType=docs\":\n/*!********************************************************************************************************!*\\\n !*** ./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=custom&index=0&blockType=docs ***!\n \\********************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=script&lang=js&\":\n/*!******************************************************************************************!*\\\n !*** ./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=script&lang=js& ***!\n \\******************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_InputConfirmCancel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./InputConfirmCancel.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_InputConfirmCancel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=style&index=0&lang=scss&\":\n/*!***************************************************************************************************!*\\\n !*** ./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=style&index=0&lang=scss& ***!\n \\***************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_InputConfirmCancel_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./InputConfirmCancel.vue?vue&type=style&index=0&lang=scss& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=style&index=0&lang=scss&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=template&id=185307b2&\":\n/*!************************************************************************************************!*\\\n !*** ./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=template&id=185307b2& ***!\n \\************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_InputConfirmCancel_vue_vue_type_template_id_185307b2___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./InputConfirmCancel.vue?vue&type=template&id=185307b2& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationItem/InputConfirmCancel.vue?vue&type=template&id=185307b2&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_InputConfirmCancel_vue_vue_type_template_id_185307b2___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_InputConfirmCancel_vue_vue_type_template_id_185307b2___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationItem/index.js\":\n/*!***************************************************!*\\\n !*** ./src/components/AppNavigationItem/index.js ***!\n \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationItem__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationItem */ \"./src/components/AppNavigationItem/AppNavigationItem.vue\");\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppNavigationItem__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNew/AppNavigationNew.vue\":\n/*!**************************************************************!*\\\n !*** ./src/components/AppNavigationNew/AppNavigationNew.vue ***!\n \\**************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationNew_vue_vue_type_template_id_cc6353a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true& */ \"./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true&\");\n/* harmony import */ var _AppNavigationNew_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppNavigationNew.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppNavigationNew_vue_vue_type_style_index_0_id_cc6353a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true& */ \"./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppNavigationNew_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppNavigationNew_vue_vue_type_template_id_cc6353a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppNavigationNew_vue_vue_type_template_id_cc6353a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"cc6353a2\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigationNew/AppNavigationNew.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************!*\\\n !*** ./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationNew.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_style_index_0_id_cc6353a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true&\":\n/*!*********************************************************************************************************!*\\\n !*** ./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true& ***!\n \\*********************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_template_id_cc6353a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_template_id_cc6353a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_template_id_cc6353a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNew/index.js\":\n/*!**************************************************!*\\\n !*** ./src/components/AppNavigationNew/index.js ***!\n \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationNew__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationNew */ \"./src/components/AppNavigationNew/AppNavigationNew.vue\");\n/*\n * @copyright 2018 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2018 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppNavigationNew__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNewItem/AppNavigationNewItem.vue\":\n/*!**********************************************************************!*\\\n !*** ./src/components/AppNavigationNewItem/AppNavigationNewItem.vue ***!\n \\**********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationNewItem_vue_vue_type_template_id_2b534a0f___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationNewItem.vue?vue&type=template&id=2b534a0f& */ \"./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=template&id=2b534a0f&\");\n/* harmony import */ var _AppNavigationNewItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppNavigationNewItem.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppNavigationNewItem_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppNavigationNewItem.vue?vue&type=style&index=0&lang=scss& */ \"./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=style&index=0&lang=scss&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _AppNavigationNewItem_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AppNavigationNewItem.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _AppNavigationNewItem_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_AppNavigationNewItem_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppNavigationNewItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppNavigationNewItem_vue_vue_type_template_id_2b534a0f___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppNavigationNewItem_vue_vue_type_template_id_2b534a0f___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _AppNavigationNewItem_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _AppNavigationNewItem_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigationNewItem/AppNavigationNewItem.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=script&lang=js&\":\n/*!***********************************************************************************************!*\\\n !*** ./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=script&lang=js& ***!\n \\***********************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNewItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationNewItem.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNewItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=style&index=0&lang=scss&\":\n/*!********************************************************************************************************!*\\\n !*** ./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=style&index=0&lang=scss& ***!\n \\********************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNewItem_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationNewItem.vue?vue&type=style&index=0&lang=scss& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=style&index=0&lang=scss&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=template&id=2b534a0f&\":\n/*!*****************************************************************************************************!*\\\n !*** ./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=template&id=2b534a0f& ***!\n \\*****************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNewItem_vue_vue_type_template_id_2b534a0f___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationNewItem.vue?vue&type=template&id=2b534a0f& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNewItem/AppNavigationNewItem.vue?vue&type=template&id=2b534a0f&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNewItem_vue_vue_type_template_id_2b534a0f___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNewItem_vue_vue_type_template_id_2b534a0f___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNewItem/index.js\":\n/*!******************************************************!*\\\n !*** ./src/components/AppNavigationNewItem/index.js ***!\n \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationNewItem__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationNewItem */ \"./src/components/AppNavigationNewItem/AppNavigationNewItem.vue\");\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppNavigationNewItem__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue\":\n/*!************************************************************************!*\\\n !*** ./src/components/AppNavigationSettings/AppNavigationSettings.vue ***!\n \\************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationSettings_vue_vue_type_template_id_9c9c397e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true& */ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true&\");\n/* harmony import */ var _AppNavigationSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppNavigationSettings.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppNavigationSettings_vue_vue_type_style_index_0_id_9c9c397e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true& */ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppNavigationSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppNavigationSettings_vue_vue_type_template_id_9c9c397e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppNavigationSettings_vue_vue_type_template_id_9c9c397e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"9c9c397e\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigationSettings/AppNavigationSettings.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************************!*\\\n !*** ./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationSettings.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_style_index_0_id_9c9c397e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true&\":\n/*!*******************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true& ***!\n \\*******************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_template_id_9c9c397e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_template_id_9c9c397e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_template_id_9c9c397e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSettings/index.js\":\n/*!*******************************************************!*\\\n !*** ./src/components/AppNavigationSettings/index.js ***!\n \\*******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationSettings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationSettings */ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue\");\n/*\n * @copyright 2018 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2018 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppNavigationSettings__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSpacer/AppNavigationSpacer.vue\":\n/*!********************************************************************!*\\\n !*** ./src/components/AppNavigationSpacer/AppNavigationSpacer.vue ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationSpacer_vue_vue_type_template_id_9c70beda_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationSpacer.vue?vue&type=template&id=9c70beda&scoped=true& */ \"./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=template&id=9c70beda&scoped=true&\");\n/* harmony import */ var _AppNavigationSpacer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppNavigationSpacer.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppNavigationSpacer_vue_vue_type_style_index_0_id_9c70beda_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppNavigationSpacer.vue?vue&type=style&index=0&id=9c70beda&scoped=true&lang=css& */ \"./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=style&index=0&id=9c70beda&scoped=true&lang=css&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppNavigationSpacer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppNavigationSpacer_vue_vue_type_template_id_9c70beda_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppNavigationSpacer_vue_vue_type_template_id_9c70beda_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"9c70beda\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigationSpacer/AppNavigationSpacer.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************************************!*\\\n !*** ./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSpacer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationSpacer.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSpacer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=style&index=0&id=9c70beda&scoped=true&lang=css&\":\n/*!*****************************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=style&index=0&id=9c70beda&scoped=true&lang=css& ***!\n \\*****************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSpacer_vue_vue_type_style_index_0_id_9c70beda_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationSpacer.vue?vue&type=style&index=0&id=9c70beda&scoped=true&lang=css& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=style&index=0&id=9c70beda&scoped=true&lang=css&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=template&id=9c70beda&scoped=true&\":\n/*!***************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=template&id=9c70beda&scoped=true& ***!\n \\***************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSpacer_vue_vue_type_template_id_9c70beda_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationSpacer.vue?vue&type=template&id=9c70beda&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSpacer/AppNavigationSpacer.vue?vue&type=template&id=9c70beda&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSpacer_vue_vue_type_template_id_9c70beda_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSpacer_vue_vue_type_template_id_9c70beda_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSpacer/index.js\":\n/*!*****************************************************!*\\\n !*** ./src/components/AppNavigationSpacer/index.js ***!\n \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationSpacer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationSpacer */ \"./src/components/AppNavigationSpacer/AppNavigationSpacer.vue\");\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppNavigationSpacer__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationToggle/AppNavigationToggle.vue\":\n/*!********************************************************************!*\\\n !*** ./src/components/AppNavigationToggle/AppNavigationToggle.vue ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationToggle_vue_vue_type_template_id_17ebeae3_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationToggle.vue?vue&type=template&id=17ebeae3&scoped=true& */ \"./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=template&id=17ebeae3&scoped=true&\");\n/* harmony import */ var _AppNavigationToggle_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppNavigationToggle.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppNavigationToggle_vue_vue_type_style_index_0_id_17ebeae3_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppNavigationToggle.vue?vue&type=style&index=0&id=17ebeae3&scoped=true&lang=scss& */ \"./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=style&index=0&id=17ebeae3&scoped=true&lang=scss&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppNavigationToggle_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppNavigationToggle_vue_vue_type_template_id_17ebeae3_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppNavigationToggle_vue_vue_type_template_id_17ebeae3_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"17ebeae3\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigationToggle/AppNavigationToggle.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************************************!*\\\n !*** ./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationToggle_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationToggle.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationToggle_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=style&index=0&id=17ebeae3&scoped=true&lang=scss&\":\n/*!******************************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=style&index=0&id=17ebeae3&scoped=true&lang=scss& ***!\n \\******************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationToggle_vue_vue_type_style_index_0_id_17ebeae3_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationToggle.vue?vue&type=style&index=0&id=17ebeae3&scoped=true&lang=scss& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=style&index=0&id=17ebeae3&scoped=true&lang=scss&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=template&id=17ebeae3&scoped=true&\":\n/*!***************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=template&id=17ebeae3&scoped=true& ***!\n \\***************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationToggle_vue_vue_type_template_id_17ebeae3_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationToggle.vue?vue&type=template&id=17ebeae3&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationToggle/AppNavigationToggle.vue?vue&type=template&id=17ebeae3&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationToggle_vue_vue_type_template_id_17ebeae3_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationToggle_vue_vue_type_template_id_17ebeae3_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppSettingsDialog/AppSettingsDialog.vue\":\n/*!****************************************************************!*\\\n !*** ./src/components/AppSettingsDialog/AppSettingsDialog.vue ***!\n \\****************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppSettingsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppSettingsDialog.vue?vue&type=script&lang=js& */ \"./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppSettingsDialog_vue_vue_type_style_index_0_id_1d3abcae_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppSettingsDialog.vue?vue&type=style&index=0&id=1d3abcae&lang=scss&scoped=true& */ \"./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=style&index=0&id=1d3abcae&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _AppSettingsDialog_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AppSettingsDialog.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _AppSettingsDialog_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_AppSettingsDialog_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__);\nvar render, staticRenderFns\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _AppSettingsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n render,\n staticRenderFns,\n false,\n null,\n \"1d3abcae\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _AppSettingsDialog_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default.a === 'function') _AppSettingsDialog_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppSettingsDialog/AppSettingsDialog.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*******************************************************************************************************!*\\\n !*** ./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*******************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************************!*\\\n !*** ./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSettingsDialog.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsDialog_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=style&index=0&id=1d3abcae&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************!*\\\n !*** ./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=style&index=0&id=1d3abcae&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsDialog_vue_vue_type_style_index_0_id_1d3abcae_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSettingsDialog.vue?vue&type=style&index=0&id=1d3abcae&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSettingsDialog/AppSettingsDialog.vue?vue&type=style&index=0&id=1d3abcae&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppSettingsDialog/index.js\":\n/*!***************************************************!*\\\n !*** ./src/components/AppSettingsDialog/index.js ***!\n \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppSettingsDialog__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppSettingsDialog */ \"./src/components/AppSettingsDialog/AppSettingsDialog.vue\");\n/**\n * @copyright Copyright (c) 2020 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppSettingsDialog__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppSettingsSection/AppSettingsSection.vue\":\n/*!******************************************************************!*\\\n !*** ./src/components/AppSettingsSection/AppSettingsSection.vue ***!\n \\******************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppSettingsSection_vue_vue_type_template_id_a1fa5522_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppSettingsSection.vue?vue&type=template&id=a1fa5522&scoped=true& */ \"./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=template&id=a1fa5522&scoped=true&\");\n/* harmony import */ var _AppSettingsSection_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppSettingsSection.vue?vue&type=script&lang=js& */ \"./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppSettingsSection_vue_vue_type_style_index_0_id_a1fa5522_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppSettingsSection.vue?vue&type=style&index=0&id=a1fa5522&lang=scss&scoped=true& */ \"./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=style&index=0&id=a1fa5522&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppSettingsSection_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppSettingsSection_vue_vue_type_template_id_a1fa5522_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppSettingsSection_vue_vue_type_template_id_a1fa5522_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"a1fa5522\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppSettingsSection/AppSettingsSection.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************************!*\\\n !*** ./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsSection_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSettingsSection.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsSection_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=style&index=0&id=a1fa5522&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************!*\\\n !*** ./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=style&index=0&id=a1fa5522&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsSection_vue_vue_type_style_index_0_id_a1fa5522_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSettingsSection.vue?vue&type=style&index=0&id=a1fa5522&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=style&index=0&id=a1fa5522&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=template&id=a1fa5522&scoped=true&\":\n/*!*************************************************************************************************************!*\\\n !*** ./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=template&id=a1fa5522&scoped=true& ***!\n \\*************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsSection_vue_vue_type_template_id_a1fa5522_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSettingsSection.vue?vue&type=template&id=a1fa5522&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSettingsSection/AppSettingsSection.vue?vue&type=template&id=a1fa5522&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsSection_vue_vue_type_template_id_a1fa5522_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettingsSection_vue_vue_type_template_id_a1fa5522_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppSettingsSection/index.js\":\n/*!****************************************************!*\\\n !*** ./src/components/AppSettingsSection/index.js ***!\n \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppSettingsSection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppSettingsSection */ \"./src/components/AppSettingsSection/AppSettingsSection.vue\");\n/**\n * @copyright Copyright (c) 2020 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppSettingsSection__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppSidebar/AppSidebar.vue\":\n/*!**************************************************!*\\\n !*** ./src/components/AppSidebar/AppSidebar.vue ***!\n \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppSidebar_vue_vue_type_template_id_4a2a5f2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppSidebar.vue?vue&type=template&id=4a2a5f2f&scoped=true& */ \"./src/components/AppSidebar/AppSidebar.vue?vue&type=template&id=4a2a5f2f&scoped=true&\");\n/* harmony import */ var _AppSidebar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppSidebar.vue?vue&type=script&lang=js& */ \"./src/components/AppSidebar/AppSidebar.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppSidebar_vue_vue_type_style_index_0_id_4a2a5f2f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppSidebar.vue?vue&type=style&index=0&id=4a2a5f2f&lang=scss&scoped=true& */ \"./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=0&id=4a2a5f2f&lang=scss&scoped=true&\");\n/* harmony import */ var _AppSidebar_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AppSidebar.vue?vue&type=style&index=1&lang=scss& */ \"./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=1&lang=scss&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _AppSidebar_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AppSidebar.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/AppSidebar/AppSidebar.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _AppSidebar_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_AppSidebar_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(\n _AppSidebar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppSidebar_vue_vue_type_template_id_4a2a5f2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppSidebar_vue_vue_type_template_id_4a2a5f2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"4a2a5f2f\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _AppSidebar_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_5___default.a === 'function') _AppSidebar_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_5___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppSidebar/AppSidebar.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppSidebar/AppSidebar.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*****************************************************************************************!*\\\n !*** ./src/components/AppSidebar/AppSidebar.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppSidebar/AppSidebar.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************!*\\\n !*** ./src/components/AppSidebar/AppSidebar.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSidebar.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebar.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=0&id=4a2a5f2f&lang=scss&scoped=true&\":\n/*!************************************************************************************************************!*\\\n !*** ./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=0&id=4a2a5f2f&lang=scss&scoped=true& ***!\n \\************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_style_index_0_id_4a2a5f2f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSidebar.vue?vue&type=style&index=0&id=4a2a5f2f&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=0&id=4a2a5f2f&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=1&lang=scss&\":\n/*!************************************************************************************!*\\\n !*** ./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=1&lang=scss& ***!\n \\************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSidebar.vue?vue&type=style&index=1&lang=scss& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebar.vue?vue&type=style&index=1&lang=scss&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppSidebar/AppSidebar.vue?vue&type=template&id=4a2a5f2f&scoped=true&\":\n/*!*********************************************************************************************!*\\\n !*** ./src/components/AppSidebar/AppSidebar.vue?vue&type=template&id=4a2a5f2f&scoped=true& ***!\n \\*********************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_template_id_4a2a5f2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSidebar.vue?vue&type=template&id=4a2a5f2f&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebar.vue?vue&type=template&id=4a2a5f2f&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_template_id_4a2a5f2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebar_vue_vue_type_template_id_4a2a5f2f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppSidebar/AppSidebarTabs.vue\":\n/*!******************************************************!*\\\n !*** ./src/components/AppSidebar/AppSidebarTabs.vue ***!\n \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppSidebarTabs_vue_vue_type_template_id_5772e44d_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppSidebarTabs.vue?vue&type=template&id=5772e44d&scoped=true& */ \"./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=template&id=5772e44d&scoped=true&\");\n/* harmony import */ var _AppSidebarTabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppSidebarTabs.vue?vue&type=script&lang=js& */ \"./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppSidebarTabs_vue_vue_type_style_index_0_id_5772e44d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppSidebarTabs.vue?vue&type=style&index=0&id=5772e44d&lang=scss&scoped=true& */ \"./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=style&index=0&id=5772e44d&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppSidebarTabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppSidebarTabs_vue_vue_type_template_id_5772e44d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppSidebarTabs_vue_vue_type_template_id_5772e44d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"5772e44d\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppSidebar/AppSidebarTabs.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************!*\\\n !*** ./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSidebarTabs.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTabs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=style&index=0&id=5772e44d&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************!*\\\n !*** ./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=style&index=0&id=5772e44d&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTabs_vue_vue_type_style_index_0_id_5772e44d_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSidebarTabs.vue?vue&type=style&index=0&id=5772e44d&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=style&index=0&id=5772e44d&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=template&id=5772e44d&scoped=true&\":\n/*!*************************************************************************************************!*\\\n !*** ./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=template&id=5772e44d&scoped=true& ***!\n \\*************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTabs_vue_vue_type_template_id_5772e44d_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSidebarTabs.vue?vue&type=template&id=5772e44d&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebar/AppSidebarTabs.vue?vue&type=template&id=5772e44d&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTabs_vue_vue_type_template_id_5772e44d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTabs_vue_vue_type_template_id_5772e44d_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppSidebar/index.js\":\n/*!********************************************!*\\\n !*** ./src/components/AppSidebar/index.js ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppSidebar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppSidebar */ \"./src/components/AppSidebar/AppSidebar.vue\");\n/*\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppSidebar__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/AppSidebarTab/AppSidebarTab.vue\":\n/*!********************************************************!*\\\n !*** ./src/components/AppSidebarTab/AppSidebarTab.vue ***!\n \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppSidebarTab_vue_vue_type_template_id_e5dbfd76_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppSidebarTab.vue?vue&type=template&id=e5dbfd76&scoped=true& */ \"./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=template&id=e5dbfd76&scoped=true&\");\n/* harmony import */ var _AppSidebarTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppSidebarTab.vue?vue&type=script&lang=js& */ \"./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppSidebarTab_vue_vue_type_style_index_0_id_e5dbfd76_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppSidebarTab.vue?vue&type=style&index=0&id=e5dbfd76&lang=scss&scoped=true& */ \"./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=style&index=0&id=e5dbfd76&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppSidebarTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppSidebarTab_vue_vue_type_template_id_e5dbfd76_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppSidebarTab_vue_vue_type_template_id_e5dbfd76_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"e5dbfd76\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppSidebarTab/AppSidebarTab.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************************!*\\\n !*** ./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSidebarTab.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTab_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=style&index=0&id=e5dbfd76&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************!*\\\n !*** ./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=style&index=0&id=e5dbfd76&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTab_vue_vue_type_style_index_0_id_e5dbfd76_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSidebarTab.vue?vue&type=style&index=0&id=e5dbfd76&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=style&index=0&id=e5dbfd76&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=template&id=e5dbfd76&scoped=true&\":\n/*!***************************************************************************************************!*\\\n !*** ./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=template&id=e5dbfd76&scoped=true& ***!\n \\***************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTab_vue_vue_type_template_id_e5dbfd76_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppSidebarTab.vue?vue&type=template&id=e5dbfd76&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppSidebarTab/AppSidebarTab.vue?vue&type=template&id=e5dbfd76&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTab_vue_vue_type_template_id_e5dbfd76_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSidebarTab_vue_vue_type_template_id_e5dbfd76_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppSidebarTab/index.js\":\n/*!***********************************************!*\\\n !*** ./src/components/AppSidebarTab/index.js ***!\n \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppSidebarTab__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppSidebarTab */ \"./src/components/AppSidebarTab/AppSidebarTab.vue\");\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppSidebarTab__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/Avatar/Avatar.vue\":\n/*!******************************************!*\\\n !*** ./src/components/Avatar/Avatar.vue ***!\n \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Avatar_vue_vue_type_template_id_100e3b6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Avatar.vue?vue&type=template&id=100e3b6f&scoped=true& */ \"./src/components/Avatar/Avatar.vue?vue&type=template&id=100e3b6f&scoped=true&\");\n/* harmony import */ var _Avatar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Avatar.vue?vue&type=script&lang=js& */ \"./src/components/Avatar/Avatar.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _Avatar_vue_vue_type_style_index_0_id_100e3b6f_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Avatar.vue?vue&type=style&index=0&id=100e3b6f&scoped=true&lang=scss& */ \"./src/components/Avatar/Avatar.vue?vue&type=style&index=0&id=100e3b6f&scoped=true&lang=scss&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _Avatar_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Avatar.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/Avatar/Avatar.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _Avatar_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Avatar_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _Avatar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _Avatar_vue_vue_type_template_id_100e3b6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _Avatar_vue_vue_type_template_id_100e3b6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"100e3b6f\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _Avatar_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _Avatar_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Avatar/Avatar.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/Avatar/Avatar.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*********************************************************************************!*\\\n !*** ./src/components/Avatar/Avatar.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Avatar/Avatar.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************!*\\\n !*** ./src/components/Avatar/Avatar.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Avatar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./Avatar.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Avatar/Avatar.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Avatar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/Avatar/Avatar.vue?vue&type=style&index=0&id=100e3b6f&scoped=true&lang=scss&\":\n/*!****************************************************************************************************!*\\\n !*** ./src/components/Avatar/Avatar.vue?vue&type=style&index=0&id=100e3b6f&scoped=true&lang=scss& ***!\n \\****************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Avatar_vue_vue_type_style_index_0_id_100e3b6f_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Avatar.vue?vue&type=style&index=0&id=100e3b6f&scoped=true&lang=scss& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Avatar/Avatar.vue?vue&type=style&index=0&id=100e3b6f&scoped=true&lang=scss&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/Avatar/Avatar.vue?vue&type=template&id=100e3b6f&scoped=true&\":\n/*!*************************************************************************************!*\\\n !*** ./src/components/Avatar/Avatar.vue?vue&type=template&id=100e3b6f&scoped=true& ***!\n \\*************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Avatar_vue_vue_type_template_id_100e3b6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./Avatar.vue?vue&type=template&id=100e3b6f&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Avatar/Avatar.vue?vue&type=template&id=100e3b6f&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Avatar_vue_vue_type_template_id_100e3b6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Avatar_vue_vue_type_template_id_100e3b6f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Avatar/index.js\":\n/*!****************************************!*\\\n !*** ./src/components/Avatar/index.js ***!\n \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Avatar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Avatar */ \"./src/components/Avatar/Avatar.vue\");\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Avatar__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/Breadcrumb/Breadcrumb.vue\":\n/*!**************************************************!*\\\n !*** ./src/components/Breadcrumb/Breadcrumb.vue ***!\n \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Breadcrumb_vue_vue_type_template_id_03216ba2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Breadcrumb.vue?vue&type=template&id=03216ba2&scoped=true& */ \"./src/components/Breadcrumb/Breadcrumb.vue?vue&type=template&id=03216ba2&scoped=true&\");\n/* harmony import */ var _Breadcrumb_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Breadcrumb.vue?vue&type=script&lang=js& */ \"./src/components/Breadcrumb/Breadcrumb.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _Breadcrumb_vue_vue_type_style_index_0_id_03216ba2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Breadcrumb.vue?vue&type=style&index=0&id=03216ba2&lang=scss&scoped=true& */ \"./src/components/Breadcrumb/Breadcrumb.vue?vue&type=style&index=0&id=03216ba2&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _Breadcrumb_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Breadcrumb.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/Breadcrumb/Breadcrumb.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _Breadcrumb_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Breadcrumb_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _Breadcrumb_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _Breadcrumb_vue_vue_type_template_id_03216ba2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _Breadcrumb_vue_vue_type_template_id_03216ba2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"03216ba2\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _Breadcrumb_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _Breadcrumb_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Breadcrumb/Breadcrumb.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/Breadcrumb/Breadcrumb.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*****************************************************************************************!*\\\n !*** ./src/components/Breadcrumb/Breadcrumb.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Breadcrumb/Breadcrumb.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************!*\\\n !*** ./src/components/Breadcrumb/Breadcrumb.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./Breadcrumb.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Breadcrumb/Breadcrumb.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/Breadcrumb/Breadcrumb.vue?vue&type=style&index=0&id=03216ba2&lang=scss&scoped=true&\":\n/*!************************************************************************************************************!*\\\n !*** ./src/components/Breadcrumb/Breadcrumb.vue?vue&type=style&index=0&id=03216ba2&lang=scss&scoped=true& ***!\n \\************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_style_index_0_id_03216ba2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Breadcrumb.vue?vue&type=style&index=0&id=03216ba2&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Breadcrumb/Breadcrumb.vue?vue&type=style&index=0&id=03216ba2&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/Breadcrumb/Breadcrumb.vue?vue&type=template&id=03216ba2&scoped=true&\":\n/*!*********************************************************************************************!*\\\n !*** ./src/components/Breadcrumb/Breadcrumb.vue?vue&type=template&id=03216ba2&scoped=true& ***!\n \\*********************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_template_id_03216ba2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./Breadcrumb.vue?vue&type=template&id=03216ba2&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Breadcrumb/Breadcrumb.vue?vue&type=template&id=03216ba2&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_template_id_03216ba2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_template_id_03216ba2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Breadcrumb/index.js\":\n/*!********************************************!*\\\n !*** ./src/components/Breadcrumb/index.js ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Breadcrumb__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Breadcrumb */ \"./src/components/Breadcrumb/Breadcrumb.vue\");\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Breadcrumb__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/Breadcrumbs/Breadcrumbs.vue\":\n/*!****************************************************!*\\\n !*** ./src/components/Breadcrumbs/Breadcrumbs.vue ***!\n \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Breadcrumbs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Breadcrumbs.vue?vue&type=script&lang=js& */ \"./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _Breadcrumbs_vue_vue_type_style_index_0_id_7650ef71_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Breadcrumbs.vue?vue&type=style&index=0&id=7650ef71&lang=scss&scoped=true& */ \"./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=style&index=0&id=7650ef71&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _Breadcrumbs_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Breadcrumbs.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _Breadcrumbs_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Breadcrumbs_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__);\nvar render, staticRenderFns\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _Breadcrumbs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n render,\n staticRenderFns,\n false,\n null,\n \"7650ef71\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _Breadcrumbs_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default.a === 'function') _Breadcrumbs_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Breadcrumbs/Breadcrumbs.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*******************************************************************************************!*\\\n !*** ./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************!*\\\n !*** ./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumbs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./Breadcrumbs.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumbs_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=style&index=0&id=7650ef71&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************!*\\\n !*** ./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=style&index=0&id=7650ef71&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumbs_vue_vue_type_style_index_0_id_7650ef71_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Breadcrumbs.vue?vue&type=style&index=0&id=7650ef71&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Breadcrumbs/Breadcrumbs.vue?vue&type=style&index=0&id=7650ef71&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/Breadcrumbs/index.js\":\n/*!*********************************************!*\\\n !*** ./src/components/Breadcrumbs/index.js ***!\n \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Breadcrumbs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Breadcrumbs */ \"./src/components/Breadcrumbs/Breadcrumbs.vue\");\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Breadcrumbs__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/ColorPicker/ColorPicker.vue\":\n/*!****************************************************!*\\\n !*** ./src/components/ColorPicker/ColorPicker.vue ***!\n \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ColorPicker_vue_vue_type_template_id_ee3f421a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ColorPicker.vue?vue&type=template&id=ee3f421a&scoped=true& */ \"./src/components/ColorPicker/ColorPicker.vue?vue&type=template&id=ee3f421a&scoped=true&\");\n/* harmony import */ var _ColorPicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ColorPicker.vue?vue&type=script&lang=js& */ \"./src/components/ColorPicker/ColorPicker.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _ColorPicker_vue_vue_type_style_index_0_id_ee3f421a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ColorPicker.vue?vue&type=style&index=0&id=ee3f421a&lang=scss&scoped=true& */ \"./src/components/ColorPicker/ColorPicker.vue?vue&type=style&index=0&id=ee3f421a&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _ColorPicker_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ColorPicker.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/ColorPicker/ColorPicker.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _ColorPicker_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ColorPicker_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _ColorPicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ColorPicker_vue_vue_type_template_id_ee3f421a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ColorPicker_vue_vue_type_template_id_ee3f421a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"ee3f421a\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _ColorPicker_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _ColorPicker_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ColorPicker/ColorPicker.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/ColorPicker/ColorPicker.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*******************************************************************************************!*\\\n !*** ./src/components/ColorPicker/ColorPicker.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ColorPicker/ColorPicker.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************!*\\\n !*** ./src/components/ColorPicker/ColorPicker.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ColorPicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./ColorPicker.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ColorPicker/ColorPicker.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ColorPicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/ColorPicker/ColorPicker.vue?vue&type=style&index=0&id=ee3f421a&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************!*\\\n !*** ./src/components/ColorPicker/ColorPicker.vue?vue&type=style&index=0&id=ee3f421a&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ColorPicker_vue_vue_type_style_index_0_id_ee3f421a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ColorPicker.vue?vue&type=style&index=0&id=ee3f421a&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ColorPicker/ColorPicker.vue?vue&type=style&index=0&id=ee3f421a&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/ColorPicker/ColorPicker.vue?vue&type=template&id=ee3f421a&scoped=true&\":\n/*!***********************************************************************************************!*\\\n !*** ./src/components/ColorPicker/ColorPicker.vue?vue&type=template&id=ee3f421a&scoped=true& ***!\n \\***********************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ColorPicker_vue_vue_type_template_id_ee3f421a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./ColorPicker.vue?vue&type=template&id=ee3f421a&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ColorPicker/ColorPicker.vue?vue&type=template&id=ee3f421a&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ColorPicker_vue_vue_type_template_id_ee3f421a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ColorPicker_vue_vue_type_template_id_ee3f421a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ColorPicker/index.js\":\n/*!*********************************************!*\\\n !*** ./src/components/ColorPicker/index.js ***!\n \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ColorPicker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ColorPicker */ \"./src/components/ColorPicker/ColorPicker.vue\");\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_ColorPicker__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/Content/Content.vue\":\n/*!********************************************!*\\\n !*** ./src/components/Content/Content.vue ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Content_vue_vue_type_template_id_37f0357a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Content.vue?vue&type=template&id=37f0357a&scoped=true& */ \"./src/components/Content/Content.vue?vue&type=template&id=37f0357a&scoped=true&\");\n/* harmony import */ var _Content_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Content.vue?vue&type=script&lang=js& */ \"./src/components/Content/Content.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _Content_vue_vue_type_style_index_0_id_37f0357a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Content.vue?vue&type=style&index=0&id=37f0357a&lang=scss&scoped=true& */ \"./src/components/Content/Content.vue?vue&type=style&index=0&id=37f0357a&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _Content_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Content.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/Content/Content.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _Content_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Content_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _Content_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _Content_vue_vue_type_template_id_37f0357a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _Content_vue_vue_type_template_id_37f0357a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"37f0357a\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _Content_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _Content_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Content/Content.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/Content/Content.vue?vue&type=custom&index=0&blockType=docs\":\n/*!***********************************************************************************!*\\\n !*** ./src/components/Content/Content.vue?vue&type=custom&index=0&blockType=docs ***!\n \\***********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Content/Content.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************!*\\\n !*** ./src/components/Content/Content.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Content_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./Content.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Content/Content.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Content_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/Content/Content.vue?vue&type=style&index=0&id=37f0357a&lang=scss&scoped=true&\":\n/*!******************************************************************************************************!*\\\n !*** ./src/components/Content/Content.vue?vue&type=style&index=0&id=37f0357a&lang=scss&scoped=true& ***!\n \\******************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Content_vue_vue_type_style_index_0_id_37f0357a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Content.vue?vue&type=style&index=0&id=37f0357a&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Content/Content.vue?vue&type=style&index=0&id=37f0357a&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/Content/Content.vue?vue&type=template&id=37f0357a&scoped=true&\":\n/*!***************************************************************************************!*\\\n !*** ./src/components/Content/Content.vue?vue&type=template&id=37f0357a&scoped=true& ***!\n \\***************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Content_vue_vue_type_template_id_37f0357a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./Content.vue?vue&type=template&id=37f0357a&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Content/Content.vue?vue&type=template&id=37f0357a&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Content_vue_vue_type_template_id_37f0357a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Content_vue_vue_type_template_id_37f0357a_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Content/index.js\":\n/*!*****************************************!*\\\n !*** ./src/components/Content/index.js ***!\n \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Content__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Content */ \"./src/components/Content/Content.vue\");\n/*\n * @copyright 2018 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2018 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Content__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/DatetimePicker/DatetimePicker.vue\":\n/*!**********************************************************!*\\\n !*** ./src/components/DatetimePicker/DatetimePicker.vue ***!\n \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _DatetimePicker_vue_vue_type_template_id_6a62836f___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DatetimePicker.vue?vue&type=template&id=6a62836f& */ \"./src/components/DatetimePicker/DatetimePicker.vue?vue&type=template&id=6a62836f&\");\n/* harmony import */ var _DatetimePicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DatetimePicker.vue?vue&type=script&lang=js& */ \"./src/components/DatetimePicker/DatetimePicker.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _DatetimePicker_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./DatetimePicker.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/DatetimePicker/DatetimePicker.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _DatetimePicker_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_DatetimePicker_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _DatetimePicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _DatetimePicker_vue_vue_type_template_id_6a62836f___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _DatetimePicker_vue_vue_type_template_id_6a62836f___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _DatetimePicker_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default.a === 'function') _DatetimePicker_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/DatetimePicker/DatetimePicker.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/DatetimePicker/DatetimePicker.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*************************************************************************************************!*\\\n !*** ./src/components/DatetimePicker/DatetimePicker.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/DatetimePicker/DatetimePicker.vue?vue&type=script&lang=js&\":\n/*!***********************************************************************************!*\\\n !*** ./src/components/DatetimePicker/DatetimePicker.vue?vue&type=script&lang=js& ***!\n \\***********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DatetimePicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./DatetimePicker.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/DatetimePicker/DatetimePicker.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_DatetimePicker_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/DatetimePicker/DatetimePicker.vue?vue&type=template&id=6a62836f&\":\n/*!*****************************************************************************************!*\\\n !*** ./src/components/DatetimePicker/DatetimePicker.vue?vue&type=template&id=6a62836f& ***!\n \\*****************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_DatetimePicker_vue_vue_type_template_id_6a62836f___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./DatetimePicker.vue?vue&type=template&id=6a62836f& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/DatetimePicker/DatetimePicker.vue?vue&type=template&id=6a62836f&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_DatetimePicker_vue_vue_type_template_id_6a62836f___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_DatetimePicker_vue_vue_type_template_id_6a62836f___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/DatetimePicker/index.js\":\n/*!************************************************!*\\\n !*** ./src/components/DatetimePicker/index.js ***!\n \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_ScopeComponent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/ScopeComponent */ \"./src/utils/ScopeComponent.js\");\n/* harmony import */ var _DatetimePicker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DatetimePicker */ \"./src/components/DatetimePicker/DatetimePicker.vue\");\n/* harmony import */ var _index_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.scss */ \"./src/components/DatetimePicker/index.scss\");\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\n\nObject(_utils_ScopeComponent__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_DatetimePicker__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (_DatetimePicker__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/DatetimePicker/index.scss\":\n/*!**************************************************!*\\\n !*** ./src/components/DatetimePicker/index.scss ***!\n \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_index_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!./index.scss */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./src/components/DatetimePicker/index.scss\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_index_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_index_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./src/components/EmptyContent/EmptyContent.vue\":\n/*!******************************************************!*\\\n !*** ./src/components/EmptyContent/EmptyContent.vue ***!\n \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _EmptyContent_vue_vue_type_template_id_a68b8462_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmptyContent.vue?vue&type=template&id=a68b8462&scoped=true& */ \"./src/components/EmptyContent/EmptyContent.vue?vue&type=template&id=a68b8462&scoped=true&\");\n/* harmony import */ var _EmptyContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmptyContent.vue?vue&type=script&lang=js& */ \"./src/components/EmptyContent/EmptyContent.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _EmptyContent_vue_vue_type_style_index_0_id_a68b8462_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EmptyContent.vue?vue&type=style&index=0&id=a68b8462&lang=scss&scoped=true& */ \"./src/components/EmptyContent/EmptyContent.vue?vue&type=style&index=0&id=a68b8462&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _EmptyContent_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmptyContent.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/EmptyContent/EmptyContent.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _EmptyContent_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_EmptyContent_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _EmptyContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _EmptyContent_vue_vue_type_template_id_a68b8462_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _EmptyContent_vue_vue_type_template_id_a68b8462_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"a68b8462\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _EmptyContent_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _EmptyContent_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/EmptyContent/EmptyContent.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/EmptyContent/EmptyContent.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*********************************************************************************************!*\\\n !*** ./src/components/EmptyContent/EmptyContent.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/EmptyContent/EmptyContent.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************!*\\\n !*** ./src/components/EmptyContent/EmptyContent.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_EmptyContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./EmptyContent.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/EmptyContent/EmptyContent.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_EmptyContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/EmptyContent/EmptyContent.vue?vue&type=style&index=0&id=a68b8462&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************!*\\\n !*** ./src/components/EmptyContent/EmptyContent.vue?vue&type=style&index=0&id=a68b8462&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_EmptyContent_vue_vue_type_style_index_0_id_a68b8462_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./EmptyContent.vue?vue&type=style&index=0&id=a68b8462&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/EmptyContent/EmptyContent.vue?vue&type=style&index=0&id=a68b8462&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/EmptyContent/EmptyContent.vue?vue&type=template&id=a68b8462&scoped=true&\":\n/*!*************************************************************************************************!*\\\n !*** ./src/components/EmptyContent/EmptyContent.vue?vue&type=template&id=a68b8462&scoped=true& ***!\n \\*************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_EmptyContent_vue_vue_type_template_id_a68b8462_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./EmptyContent.vue?vue&type=template&id=a68b8462&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/EmptyContent/EmptyContent.vue?vue&type=template&id=a68b8462&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_EmptyContent_vue_vue_type_template_id_a68b8462_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_EmptyContent_vue_vue_type_template_id_a68b8462_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/EmptyContent/index.js\":\n/*!**********************************************!*\\\n !*** ./src/components/EmptyContent/index.js ***!\n \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _EmptyContent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmptyContent */ \"./src/components/EmptyContent/EmptyContent.vue\");\n/**\n * @copyright Copyright (c) 2020 Greta Doci <gretadoci@gmail.com>\n *\n * @author 2020 Greta Doci <gretadoci@gmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_EmptyContent__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/Highlight/Highlight.vue\":\n/*!************************************************!*\\\n !*** ./src/components/Highlight/Highlight.vue ***!\n \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Highlight_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Highlight.vue?vue&type=script&lang=js& */ \"./src/components/Highlight/Highlight.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _Highlight_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Highlight.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/Highlight/Highlight.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _Highlight_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Highlight_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_2__);\nvar render, staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\n _Highlight_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _Highlight_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_2___default.a === 'function') _Highlight_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_2___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Highlight/Highlight.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/Highlight/Highlight.vue?vue&type=custom&index=0&blockType=docs\":\n/*!***************************************************************************************!*\\\n !*** ./src/components/Highlight/Highlight.vue?vue&type=custom&index=0&blockType=docs ***!\n \\***************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Highlight/Highlight.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************!*\\\n !*** ./src/components/Highlight/Highlight.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Highlight_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./Highlight.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Highlight/Highlight.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Highlight_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/Highlight/index.js\":\n/*!*******************************************!*\\\n !*** ./src/components/Highlight/index.js ***!\n \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Highlight__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Highlight */ \"./src/components/Highlight/Highlight.vue\");\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Highlight__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/ListItemIcon/ListItemIcon.vue\":\n/*!******************************************************!*\\\n !*** ./src/components/ListItemIcon/ListItemIcon.vue ***!\n \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ListItemIcon_vue_vue_type_template_id_7fe95a8f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ListItemIcon.vue?vue&type=template&id=7fe95a8f&scoped=true& */ \"./src/components/ListItemIcon/ListItemIcon.vue?vue&type=template&id=7fe95a8f&scoped=true&\");\n/* harmony import */ var _ListItemIcon_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ListItemIcon.vue?vue&type=script&lang=js& */ \"./src/components/ListItemIcon/ListItemIcon.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _ListItemIcon_vue_vue_type_style_index_0_id_7fe95a8f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ListItemIcon.vue?vue&type=style&index=0&id=7fe95a8f&lang=scss&scoped=true& */ \"./src/components/ListItemIcon/ListItemIcon.vue?vue&type=style&index=0&id=7fe95a8f&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _ListItemIcon_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ListItemIcon.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/ListItemIcon/ListItemIcon.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _ListItemIcon_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ListItemIcon_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _ListItemIcon_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ListItemIcon_vue_vue_type_template_id_7fe95a8f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ListItemIcon_vue_vue_type_template_id_7fe95a8f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"7fe95a8f\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _ListItemIcon_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _ListItemIcon_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ListItemIcon/ListItemIcon.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/ListItemIcon/ListItemIcon.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*********************************************************************************************!*\\\n !*** ./src/components/ListItemIcon/ListItemIcon.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ListItemIcon/ListItemIcon.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************!*\\\n !*** ./src/components/ListItemIcon/ListItemIcon.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ListItemIcon_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./ListItemIcon.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ListItemIcon/ListItemIcon.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ListItemIcon_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/ListItemIcon/ListItemIcon.vue?vue&type=style&index=0&id=7fe95a8f&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************!*\\\n !*** ./src/components/ListItemIcon/ListItemIcon.vue?vue&type=style&index=0&id=7fe95a8f&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ListItemIcon_vue_vue_type_style_index_0_id_7fe95a8f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ListItemIcon.vue?vue&type=style&index=0&id=7fe95a8f&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ListItemIcon/ListItemIcon.vue?vue&type=style&index=0&id=7fe95a8f&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/ListItemIcon/ListItemIcon.vue?vue&type=template&id=7fe95a8f&scoped=true&\":\n/*!*************************************************************************************************!*\\\n !*** ./src/components/ListItemIcon/ListItemIcon.vue?vue&type=template&id=7fe95a8f&scoped=true& ***!\n \\*************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ListItemIcon_vue_vue_type_template_id_7fe95a8f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./ListItemIcon.vue?vue&type=template&id=7fe95a8f&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ListItemIcon/ListItemIcon.vue?vue&type=template&id=7fe95a8f&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ListItemIcon_vue_vue_type_template_id_7fe95a8f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ListItemIcon_vue_vue_type_template_id_7fe95a8f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ListItemIcon/index.js\":\n/*!**********************************************!*\\\n !*** ./src/components/ListItemIcon/index.js ***!\n \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ListItemIcon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ListItemIcon */ \"./src/components/ListItemIcon/ListItemIcon.vue\");\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_ListItemIcon__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/Modal/Modal.vue\":\n/*!****************************************!*\\\n !*** ./src/components/Modal/Modal.vue ***!\n \\****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Modal_vue_vue_type_template_id_47db75aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Modal.vue?vue&type=template&id=47db75aa&scoped=true& */ \"./src/components/Modal/Modal.vue?vue&type=template&id=47db75aa&scoped=true&\");\n/* harmony import */ var _Modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Modal.vue?vue&type=script&lang=js& */ \"./src/components/Modal/Modal.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _Modal_vue_vue_type_style_index_0_id_47db75aa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Modal.vue?vue&type=style&index=0&id=47db75aa&lang=scss&scoped=true& */ \"./src/components/Modal/Modal.vue?vue&type=style&index=0&id=47db75aa&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _Modal_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Modal.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/Modal/Modal.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _Modal_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Modal_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _Modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _Modal_vue_vue_type_template_id_47db75aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _Modal_vue_vue_type_template_id_47db75aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"47db75aa\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _Modal_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _Modal_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Modal/Modal.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/Modal/Modal.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*******************************************************************************!*\\\n !*** ./src/components/Modal/Modal.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*******************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Modal/Modal.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************!*\\\n !*** ./src/components/Modal/Modal.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./Modal.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Modal/Modal.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/Modal/Modal.vue?vue&type=style&index=0&id=47db75aa&lang=scss&scoped=true&\":\n/*!**************************************************************************************************!*\\\n !*** ./src/components/Modal/Modal.vue?vue&type=style&index=0&id=47db75aa&lang=scss&scoped=true& ***!\n \\**************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_style_index_0_id_47db75aa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Modal.vue?vue&type=style&index=0&id=47db75aa&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Modal/Modal.vue?vue&type=style&index=0&id=47db75aa&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/Modal/Modal.vue?vue&type=template&id=47db75aa&scoped=true&\":\n/*!***********************************************************************************!*\\\n !*** ./src/components/Modal/Modal.vue?vue&type=template&id=47db75aa&scoped=true& ***!\n \\***********************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_template_id_47db75aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./Modal.vue?vue&type=template&id=47db75aa&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Modal/Modal.vue?vue&type=template&id=47db75aa&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_template_id_47db75aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_template_id_47db75aa_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Modal/index.js\":\n/*!***************************************!*\\\n !*** ./src/components/Modal/index.js ***!\n \\***************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_ScopeComponent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/ScopeComponent */ \"./src/utils/ScopeComponent.js\");\n/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Modal */ \"./src/components/Modal/Modal.vue\");\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\nObject(_utils_ScopeComponent__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_Modal__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Modal__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/Multiselect/EllipsisedOption.vue\":\n/*!*********************************************************!*\\\n !*** ./src/components/Multiselect/EllipsisedOption.vue ***!\n \\*********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _EllipsisedOption_vue_vue_type_template_id_026c3def_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EllipsisedOption.vue?vue&type=template&id=026c3def&scoped=true& */ \"./src/components/Multiselect/EllipsisedOption.vue?vue&type=template&id=026c3def&scoped=true&\");\n/* harmony import */ var _EllipsisedOption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EllipsisedOption.vue?vue&type=script&lang=js& */ \"./src/components/Multiselect/EllipsisedOption.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _EllipsisedOption_vue_vue_type_style_index_0_id_026c3def_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EllipsisedOption.vue?vue&type=style&index=0&id=026c3def&lang=scss&scoped=true& */ \"./src/components/Multiselect/EllipsisedOption.vue?vue&type=style&index=0&id=026c3def&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _EllipsisedOption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _EllipsisedOption_vue_vue_type_template_id_026c3def_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _EllipsisedOption_vue_vue_type_template_id_026c3def_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"026c3def\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Multiselect/EllipsisedOption.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/Multiselect/EllipsisedOption.vue?vue&type=script&lang=js&\":\n/*!**********************************************************************************!*\\\n !*** ./src/components/Multiselect/EllipsisedOption.vue?vue&type=script&lang=js& ***!\n \\**********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisedOption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./EllipsisedOption.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Multiselect/EllipsisedOption.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisedOption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/Multiselect/EllipsisedOption.vue?vue&type=style&index=0&id=026c3def&lang=scss&scoped=true&\":\n/*!*******************************************************************************************************************!*\\\n !*** ./src/components/Multiselect/EllipsisedOption.vue?vue&type=style&index=0&id=026c3def&lang=scss&scoped=true& ***!\n \\*******************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisedOption_vue_vue_type_style_index_0_id_026c3def_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./EllipsisedOption.vue?vue&type=style&index=0&id=026c3def&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Multiselect/EllipsisedOption.vue?vue&type=style&index=0&id=026c3def&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/Multiselect/EllipsisedOption.vue?vue&type=template&id=026c3def&scoped=true&\":\n/*!****************************************************************************************************!*\\\n !*** ./src/components/Multiselect/EllipsisedOption.vue?vue&type=template&id=026c3def&scoped=true& ***!\n \\****************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisedOption_vue_vue_type_template_id_026c3def_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./EllipsisedOption.vue?vue&type=template&id=026c3def&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Multiselect/EllipsisedOption.vue?vue&type=template&id=026c3def&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisedOption_vue_vue_type_template_id_026c3def_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisedOption_vue_vue_type_template_id_026c3def_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Multiselect/Multiselect.vue\":\n/*!****************************************************!*\\\n !*** ./src/components/Multiselect/Multiselect.vue ***!\n \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Multiselect_vue_vue_type_template_id_1cd2ff8a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Multiselect.vue?vue&type=template&id=1cd2ff8a& */ \"./src/components/Multiselect/Multiselect.vue?vue&type=template&id=1cd2ff8a&\");\n/* harmony import */ var _Multiselect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Multiselect.vue?vue&type=script&lang=js& */ \"./src/components/Multiselect/Multiselect.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _Multiselect_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Multiselect.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/Multiselect/Multiselect.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _Multiselect_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Multiselect_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _Multiselect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _Multiselect_vue_vue_type_template_id_1cd2ff8a___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _Multiselect_vue_vue_type_template_id_1cd2ff8a___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _Multiselect_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default.a === 'function') _Multiselect_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Multiselect/Multiselect.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/Multiselect/Multiselect.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*******************************************************************************************!*\\\n !*** ./src/components/Multiselect/Multiselect.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Multiselect/Multiselect.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************!*\\\n !*** ./src/components/Multiselect/Multiselect.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Multiselect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./Multiselect.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Multiselect/Multiselect.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Multiselect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/Multiselect/Multiselect.vue?vue&type=template&id=1cd2ff8a&\":\n/*!***********************************************************************************!*\\\n !*** ./src/components/Multiselect/Multiselect.vue?vue&type=template&id=1cd2ff8a& ***!\n \\***********************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Multiselect_vue_vue_type_template_id_1cd2ff8a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./Multiselect.vue?vue&type=template&id=1cd2ff8a& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Multiselect/Multiselect.vue?vue&type=template&id=1cd2ff8a&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Multiselect_vue_vue_type_template_id_1cd2ff8a___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Multiselect_vue_vue_type_template_id_1cd2ff8a___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Multiselect/index.js\":\n/*!*********************************************!*\\\n !*** ./src/components/Multiselect/index.js ***!\n \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_ScopeComponent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/ScopeComponent */ \"./src/utils/ScopeComponent.js\");\n/* harmony import */ var _Multiselect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Multiselect */ \"./src/components/Multiselect/Multiselect.vue\");\n/* harmony import */ var _index_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.scss */ \"./src/components/Multiselect/index.scss\");\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\n\nObject(_utils_ScopeComponent__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_Multiselect__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Multiselect__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/Multiselect/index.scss\":\n/*!***********************************************!*\\\n !*** ./src/components/Multiselect/index.scss ***!\n \\***********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_index_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!./index.scss */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./src/components/Multiselect/index.scss\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_index_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_index_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./src/components/MultiselectTags/MultiselectTags.vue\":\n/*!************************************************************!*\\\n !*** ./src/components/MultiselectTags/MultiselectTags.vue ***!\n \\************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _MultiselectTags_vue_vue_type_template_id_5083b5ad___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MultiselectTags.vue?vue&type=template&id=5083b5ad& */ \"./src/components/MultiselectTags/MultiselectTags.vue?vue&type=template&id=5083b5ad&\");\n/* harmony import */ var _MultiselectTags_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MultiselectTags.vue?vue&type=script&lang=js& */ \"./src/components/MultiselectTags/MultiselectTags.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _MultiselectTags_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./MultiselectTags.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/MultiselectTags/MultiselectTags.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _MultiselectTags_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_MultiselectTags_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _MultiselectTags_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _MultiselectTags_vue_vue_type_template_id_5083b5ad___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _MultiselectTags_vue_vue_type_template_id_5083b5ad___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _MultiselectTags_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default.a === 'function') _MultiselectTags_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_3___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/MultiselectTags/MultiselectTags.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/MultiselectTags/MultiselectTags.vue?vue&type=custom&index=0&blockType=docs\":\n/*!***************************************************************************************************!*\\\n !*** ./src/components/MultiselectTags/MultiselectTags.vue?vue&type=custom&index=0&blockType=docs ***!\n \\***************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/MultiselectTags/MultiselectTags.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************!*\\\n !*** ./src/components/MultiselectTags/MultiselectTags.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_MultiselectTags_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./MultiselectTags.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/MultiselectTags/MultiselectTags.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_MultiselectTags_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/MultiselectTags/MultiselectTags.vue?vue&type=template&id=5083b5ad&\":\n/*!*******************************************************************************************!*\\\n !*** ./src/components/MultiselectTags/MultiselectTags.vue?vue&type=template&id=5083b5ad& ***!\n \\*******************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MultiselectTags_vue_vue_type_template_id_5083b5ad___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./MultiselectTags.vue?vue&type=template&id=5083b5ad& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/MultiselectTags/MultiselectTags.vue?vue&type=template&id=5083b5ad&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MultiselectTags_vue_vue_type_template_id_5083b5ad___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MultiselectTags_vue_vue_type_template_id_5083b5ad___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/MultiselectTags/api.js\":\n/*!***********************************************!*\\\n !*** ./src/components/MultiselectTags/api.js ***!\n \\***********************************************/\n/*! exports provided: searchTags */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"searchTags\", function() { return searchTags; });\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! regenerator-runtime/runtime.js */ \"regenerator-runtime/runtime.js\");\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.promise.js */ \"core-js/modules/es.promise.js\");\n/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @nextcloud/axios */ \"@nextcloud/axios\");\n/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_axios__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @nextcloud/router */ \"@nextcloud/router\");\n/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_router__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\n\nvar xmlToJson = function xmlToJson(xml) {\n var obj = {};\n\n if (xml.nodeType === 1) {\n if (xml.attributes.length > 0) {\n obj['@attributes'] = {};\n\n for (var j = 0; j < xml.attributes.length; j++) {\n var attribute = xml.attributes.item(j);\n obj['@attributes'][attribute.nodeName] = attribute.nodeValue;\n }\n }\n } else if (xml.nodeType === 3) {\n obj = xml.nodeValue;\n }\n\n if (xml.hasChildNodes()) {\n for (var i = 0; i < xml.childNodes.length; i++) {\n var item = xml.childNodes.item(i);\n var nodeName = item.nodeName;\n\n if (typeof obj[nodeName] === 'undefined') {\n obj[nodeName] = xmlToJson(item);\n } else {\n if (typeof obj[nodeName].push === 'undefined') {\n var old = obj[nodeName];\n obj[nodeName] = [];\n obj[nodeName].push(old);\n }\n\n obj[nodeName].push(xmlToJson(item));\n }\n }\n }\n\n return obj;\n};\n\nvar parseXml = function parseXml(xml) {\n var dom = null;\n\n try {\n dom = new DOMParser().parseFromString(xml, 'text/xml');\n } catch (e) {\n console.error('Failed to parse xml document', e);\n }\n\n return dom;\n};\n\nvar xmlToTagList = function xmlToTagList(xml) {\n var json = xmlToJson(parseXml(xml));\n var list = json['d:multistatus']['d:response'];\n var result = [];\n\n for (var index in list) {\n var tag = list[index]['d:propstat'];\n\n if (tag['d:status']['#text'] !== 'HTTP/1.1 200 OK') {\n continue;\n }\n\n result.push({\n id: parseInt(tag['d:prop']['oc:id']['#text']),\n displayName: tag['d:prop']['oc:display-name']['#text'],\n canAssign: tag['d:prop']['oc:can-assign']['#text'] === 'true',\n userAssignable: tag['d:prop']['oc:user-assignable']['#text'] === 'true',\n userVisible: tag['d:prop']['oc:user-visible']['#text'] === 'true'\n });\n }\n\n return result;\n};\n\nvar searchTags = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var result;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!window.NextcloudVueDocs) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", Promise.resolve(xmlToTagList(window.NextcloudVueDocs.tags)));\n\n case 2:\n _context.next = 4;\n return _nextcloud_axios__WEBPACK_IMPORTED_MODULE_3___default()({\n method: 'PROPFIND',\n url: Object(_nextcloud_router__WEBPACK_IMPORTED_MODULE_4__[\"generateRemoteUrl\"])('dav') + '/systemtags/',\n data: \"<?xml version=\\\"1.0\\\"?>\\n\\t\\t\\t\\t\\t<d:propfind xmlns:d=\\\"DAV:\\\" xmlns:oc=\\\"http://owncloud.org/ns\\\">\\n\\t\\t\\t\\t\\t <d:prop>\\n\\t\\t\\t\\t\\t\\t<oc:id />\\n\\t\\t\\t\\t\\t\\t<oc:display-name />\\n\\t\\t\\t\\t\\t\\t<oc:user-visible />\\n\\t\\t\\t\\t\\t\\t<oc:user-assignable />\\n\\t\\t\\t\\t\\t\\t<oc:can-assign />\\n\\t\\t\\t\\t\\t </d:prop>\\n\\t\\t\\t\\t\\t</d:propfind>\"\n });\n\n case 4:\n result = _context.sent;\n return _context.abrupt(\"return\", xmlToTagList(result.data));\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function searchTags() {\n return _ref.apply(this, arguments);\n };\n}();\n\n\n\n/***/ }),\n\n/***/ \"./src/components/MultiselectTags/index.js\":\n/*!*************************************************!*\\\n !*** ./src/components/MultiselectTags/index.js ***!\n \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _MultiselectTags__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MultiselectTags */ \"./src/components/MultiselectTags/MultiselectTags.vue\");\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_MultiselectTags__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/Popover/Popover.vue\":\n/*!********************************************!*\\\n !*** ./src/components/Popover/Popover.vue ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Popover_vue_vue_type_template_id_45093cca___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Popover.vue?vue&type=template&id=45093cca& */ \"./src/components/Popover/Popover.vue?vue&type=template&id=45093cca&\");\n/* harmony import */ var _Popover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Popover.vue?vue&type=script&lang=js& */ \"./src/components/Popover/Popover.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _Popover_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Popover.vue?vue&type=style&index=0&lang=scss& */ \"./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _Popover_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Popover.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/Popover/Popover.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _Popover_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Popover_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _Popover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _Popover_vue_vue_type_template_id_45093cca___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _Popover_vue_vue_type_template_id_45093cca___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _Popover_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _Popover_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Popover/Popover.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/Popover/Popover.vue?vue&type=custom&index=0&blockType=docs\":\n/*!***********************************************************************************!*\\\n !*** ./src/components/Popover/Popover.vue?vue&type=custom&index=0&blockType=docs ***!\n \\***********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Popover/Popover.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************!*\\\n !*** ./src/components/Popover/Popover.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./Popover.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss&\":\n/*!******************************************************************************!*\\\n !*** ./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss& ***!\n \\******************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Popover.vue?vue&type=style&index=0&lang=scss& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/Popover/Popover.vue?vue&type=template&id=45093cca&\":\n/*!***************************************************************************!*\\\n !*** ./src/components/Popover/Popover.vue?vue&type=template&id=45093cca& ***!\n \\***************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_template_id_45093cca___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./Popover.vue?vue&type=template&id=45093cca& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=template&id=45093cca&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_template_id_45093cca___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_template_id_45093cca___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Popover/index.js\":\n/*!*****************************************!*\\\n !*** ./src/components/Popover/index.js ***!\n \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Popover__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Popover */ \"./src/components/Popover/Popover.vue\");\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Popover__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenu.vue\":\n/*!****************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenu.vue ***!\n \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _PopoverMenu_vue_vue_type_template_id_0a0eb719_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true& */ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true&\");\n/* harmony import */ var _PopoverMenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PopoverMenu.vue?vue&type=script&lang=js& */ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _PopoverMenu_vue_vue_type_style_index_0_id_0a0eb719_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true& */ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _PopoverMenu_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PopoverMenu.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _PopoverMenu_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_PopoverMenu_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _PopoverMenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _PopoverMenu_vue_vue_type_template_id_0a0eb719_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _PopoverMenu_vue_vue_type_template_id_0a0eb719_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"0a0eb719\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _PopoverMenu_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _PopoverMenu_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/PopoverMenu/PopoverMenu.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*******************************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenu.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenu.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenu.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_style_index_0_id_0a0eb719_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true&\":\n/*!***********************************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true& ***!\n \\***********************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_template_id_0a0eb719_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_template_id_0a0eb719_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_template_id_0a0eb719_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenuItem.vue\":\n/*!********************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenuItem.vue ***!\n \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _PopoverMenuItem_vue_vue_type_template_id_512ea768_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true& */ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true&\");\n/* harmony import */ var _PopoverMenuItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PopoverMenuItem.vue?vue&type=script&lang=js& */ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _PopoverMenuItem_vue_vue_type_style_index_0_id_512ea768_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css& */ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css&\");\n/* harmony import */ var _PopoverMenuItem_vue_vue_type_style_index_1_id_512ea768_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true& */ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(\n _PopoverMenuItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _PopoverMenuItem_vue_vue_type_template_id_512ea768_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _PopoverMenuItem_vue_vue_type_template_id_512ea768_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"512ea768\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/PopoverMenu/PopoverMenuItem.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenuItem.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css&\":\n/*!*****************************************************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css& ***!\n \\*****************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_0_id_512ea768_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_1_id_512ea768_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true&\":\n/*!***************************************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true& ***!\n \\***************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_template_id_512ea768_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_template_id_512ea768_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_template_id_512ea768_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/index.js\":\n/*!*********************************************!*\\\n !*** ./src/components/PopoverMenu/index.js ***!\n \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _PopoverMenu__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PopoverMenu */ \"./src/components/PopoverMenu/PopoverMenu.vue\");\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_PopoverMenu__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/AutoCompleteResult.vue\":\n/*!*******************************************************************!*\\\n !*** ./src/components/RichContenteditable/AutoCompleteResult.vue ***!\n \\*******************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AutoCompleteResult_vue_vue_type_template_id_6cb58afa_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AutoCompleteResult.vue?vue&type=template&id=6cb58afa&scoped=true& */ \"./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=template&id=6cb58afa&scoped=true&\");\n/* harmony import */ var _AutoCompleteResult_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AutoCompleteResult.vue?vue&type=script&lang=js& */ \"./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AutoCompleteResult_vue_vue_type_style_index_0_id_6cb58afa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AutoCompleteResult.vue?vue&type=style&index=0&id=6cb58afa&lang=scss&scoped=true& */ \"./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=style&index=0&id=6cb58afa&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AutoCompleteResult_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AutoCompleteResult_vue_vue_type_template_id_6cb58afa_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AutoCompleteResult_vue_vue_type_template_id_6cb58afa_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"6cb58afa\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/RichContenteditable/AutoCompleteResult.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=script&lang=js&\":\n/*!********************************************************************************************!*\\\n !*** ./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=script&lang=js& ***!\n \\********************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoCompleteResult_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AutoCompleteResult.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoCompleteResult_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=style&index=0&id=6cb58afa&lang=scss&scoped=true&\":\n/*!*****************************************************************************************************************************!*\\\n !*** ./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=style&index=0&id=6cb58afa&lang=scss&scoped=true& ***!\n \\*****************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoCompleteResult_vue_vue_type_style_index_0_id_6cb58afa_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AutoCompleteResult.vue?vue&type=style&index=0&id=6cb58afa&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=style&index=0&id=6cb58afa&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=template&id=6cb58afa&scoped=true&\":\n/*!**************************************************************************************************************!*\\\n !*** ./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=template&id=6cb58afa&scoped=true& ***!\n \\**************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoCompleteResult_vue_vue_type_template_id_6cb58afa_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AutoCompleteResult.vue?vue&type=template&id=6cb58afa&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/AutoCompleteResult.vue?vue&type=template&id=6cb58afa&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoCompleteResult_vue_vue_type_template_id_6cb58afa_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoCompleteResult_vue_vue_type_template_id_6cb58afa_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/MentionBubble.vue\":\n/*!**************************************************************!*\\\n !*** ./src/components/RichContenteditable/MentionBubble.vue ***!\n \\**************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _MentionBubble_vue_vue_type_template_id_69f40ec8_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true& */ \"./src/components/RichContenteditable/MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true&\");\n/* harmony import */ var _MentionBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MentionBubble.vue?vue&type=script&lang=js& */ \"./src/components/RichContenteditable/MentionBubble.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _MentionBubble_vue_vue_type_style_index_0_id_69f40ec8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true& */ \"./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _MentionBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _MentionBubble_vue_vue_type_template_id_69f40ec8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _MentionBubble_vue_vue_type_template_id_69f40ec8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"69f40ec8\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/RichContenteditable/MentionBubble.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/MentionBubble.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************!*\\\n !*** ./src/components/RichContenteditable/MentionBubble.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./MentionBubble.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************!*\\\n !*** ./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_style_index_0_id_69f40ec8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true&\":\n/*!*********************************************************************************************************!*\\\n !*** ./src/components/RichContenteditable/MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true& ***!\n \\*********************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_template_id_69f40ec8_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_template_id_69f40ec8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_template_id_69f40ec8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/RichContenteditable.vue\":\n/*!********************************************************************!*\\\n !*** ./src/components/RichContenteditable/RichContenteditable.vue ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _RichContenteditable_vue_vue_type_template_id_554d37da_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RichContenteditable.vue?vue&type=template&id=554d37da&scoped=true& */ \"./src/components/RichContenteditable/RichContenteditable.vue?vue&type=template&id=554d37da&scoped=true&\");\n/* harmony import */ var _RichContenteditable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RichContenteditable.vue?vue&type=script&lang=js& */ \"./src/components/RichContenteditable/RichContenteditable.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _RichContenteditable_vue_vue_type_style_index_0_id_554d37da_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./RichContenteditable.vue?vue&type=style&index=0&id=554d37da&lang=scss&scoped=true& */ \"./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=0&id=554d37da&lang=scss&scoped=true&\");\n/* harmony import */ var _RichContenteditable_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./RichContenteditable.vue?vue&type=style&index=1&lang=scss& */ \"./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=1&lang=scss&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _RichContenteditable_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./RichContenteditable.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/RichContenteditable/RichContenteditable.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _RichContenteditable_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_RichContenteditable_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(\n _RichContenteditable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _RichContenteditable_vue_vue_type_template_id_554d37da_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _RichContenteditable_vue_vue_type_template_id_554d37da_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"554d37da\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _RichContenteditable_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_5___default.a === 'function') _RichContenteditable_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_5___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/RichContenteditable/RichContenteditable.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/RichContenteditable.vue?vue&type=custom&index=0&blockType=docs\":\n/*!***********************************************************************************************************!*\\\n !*** ./src/components/RichContenteditable/RichContenteditable.vue?vue&type=custom&index=0&blockType=docs ***!\n \\***********************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/RichContenteditable.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************************************!*\\\n !*** ./src/components/RichContenteditable/RichContenteditable.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./RichContenteditable.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=0&id=554d37da&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************!*\\\n !*** ./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=0&id=554d37da&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_style_index_0_id_554d37da_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./RichContenteditable.vue?vue&type=style&index=0&id=554d37da&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=0&id=554d37da&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=1&lang=scss&\":\n/*!******************************************************************************************************!*\\\n !*** ./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=1&lang=scss& ***!\n \\******************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./RichContenteditable.vue?vue&type=style&index=1&lang=scss& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=style&index=1&lang=scss&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/RichContenteditable.vue?vue&type=template&id=554d37da&scoped=true&\":\n/*!***************************************************************************************************************!*\\\n !*** ./src/components/RichContenteditable/RichContenteditable.vue?vue&type=template&id=554d37da&scoped=true& ***!\n \\***************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_template_id_554d37da_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./RichContenteditable.vue?vue&type=template&id=554d37da&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/RichContenteditable.vue?vue&type=template&id=554d37da&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_template_id_554d37da_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_RichContenteditable_vue_vue_type_template_id_554d37da_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/index.js\":\n/*!*****************************************************!*\\\n !*** ./src/components/RichContenteditable/index.js ***!\n \\*****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _RichContenteditable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RichContenteditable */ \"./src/components/RichContenteditable/RichContenteditable.vue\");\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_RichContenteditable__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/SettingsSection/SettingsSection.vue\":\n/*!************************************************************!*\\\n !*** ./src/components/SettingsSection/SettingsSection.vue ***!\n \\************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _SettingsSection_vue_vue_type_template_id_911c1c56_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SettingsSection.vue?vue&type=template&id=911c1c56&scoped=true& */ \"./src/components/SettingsSection/SettingsSection.vue?vue&type=template&id=911c1c56&scoped=true&\");\n/* harmony import */ var _SettingsSection_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SettingsSection.vue?vue&type=script&lang=js& */ \"./src/components/SettingsSection/SettingsSection.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _SettingsSection_vue_vue_type_style_index_0_id_911c1c56_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SettingsSection.vue?vue&type=style&index=0&id=911c1c56&lang=scss&scoped=true& */ \"./src/components/SettingsSection/SettingsSection.vue?vue&type=style&index=0&id=911c1c56&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _SettingsSection_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SettingsSection.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/SettingsSection/SettingsSection.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _SettingsSection_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_SettingsSection_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _SettingsSection_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _SettingsSection_vue_vue_type_template_id_911c1c56_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _SettingsSection_vue_vue_type_template_id_911c1c56_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"911c1c56\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _SettingsSection_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _SettingsSection_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/SettingsSection/SettingsSection.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/SettingsSection/SettingsSection.vue?vue&type=custom&index=0&blockType=docs\":\n/*!***************************************************************************************************!*\\\n !*** ./src/components/SettingsSection/SettingsSection.vue?vue&type=custom&index=0&blockType=docs ***!\n \\***************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/SettingsSection/SettingsSection.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************!*\\\n !*** ./src/components/SettingsSection/SettingsSection.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_SettingsSection_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./SettingsSection.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/SettingsSection/SettingsSection.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_SettingsSection_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/SettingsSection/SettingsSection.vue?vue&type=style&index=0&id=911c1c56&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************!*\\\n !*** ./src/components/SettingsSection/SettingsSection.vue?vue&type=style&index=0&id=911c1c56&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_SettingsSection_vue_vue_type_style_index_0_id_911c1c56_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./SettingsSection.vue?vue&type=style&index=0&id=911c1c56&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SettingsSection/SettingsSection.vue?vue&type=style&index=0&id=911c1c56&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/SettingsSection/SettingsSection.vue?vue&type=template&id=911c1c56&scoped=true&\":\n/*!*******************************************************************************************************!*\\\n !*** ./src/components/SettingsSection/SettingsSection.vue?vue&type=template&id=911c1c56&scoped=true& ***!\n \\*******************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_SettingsSection_vue_vue_type_template_id_911c1c56_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./SettingsSection.vue?vue&type=template&id=911c1c56&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SettingsSection/SettingsSection.vue?vue&type=template&id=911c1c56&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_SettingsSection_vue_vue_type_template_id_911c1c56_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_SettingsSection_vue_vue_type_template_id_911c1c56_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/SettingsSection/index.js\":\n/*!*************************************************!*\\\n !*** ./src/components/SettingsSection/index.js ***!\n \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _SettingsSection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SettingsSection */ \"./src/components/SettingsSection/SettingsSection.vue\");\n/**\n * @copyright Copyright (c) 2019 Greta Doci <gretadoci@gmail.com>\n *\n * @author Greta Doci <gretadoci@gmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_SettingsSection__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/UserBubble/UserBubble.vue\":\n/*!**************************************************!*\\\n !*** ./src/components/UserBubble/UserBubble.vue ***!\n \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _UserBubble_vue_vue_type_template_id_5c0e21af_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UserBubble.vue?vue&type=template&id=5c0e21af&scoped=true& */ \"./src/components/UserBubble/UserBubble.vue?vue&type=template&id=5c0e21af&scoped=true&\");\n/* harmony import */ var _UserBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UserBubble.vue?vue&type=script&lang=js& */ \"./src/components/UserBubble/UserBubble.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _UserBubble_vue_vue_type_style_index_0_id_5c0e21af_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UserBubble.vue?vue&type=style&index=0&id=5c0e21af&lang=scss&scoped=true& */ \"./src/components/UserBubble/UserBubble.vue?vue&type=style&index=0&id=5c0e21af&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _UserBubble_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UserBubble.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/UserBubble/UserBubble.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _UserBubble_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_UserBubble_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _UserBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _UserBubble_vue_vue_type_template_id_5c0e21af_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _UserBubble_vue_vue_type_template_id_5c0e21af_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"5c0e21af\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _UserBubble_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _UserBubble_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/UserBubble/UserBubble.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/UserBubble/UserBubble.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*****************************************************************************************!*\\\n !*** ./src/components/UserBubble/UserBubble.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*****************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/UserBubble/UserBubble.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************!*\\\n !*** ./src/components/UserBubble/UserBubble.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./UserBubble.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/UserBubble/UserBubble.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/UserBubble/UserBubble.vue?vue&type=style&index=0&id=5c0e21af&lang=scss&scoped=true&\":\n/*!************************************************************************************************************!*\\\n !*** ./src/components/UserBubble/UserBubble.vue?vue&type=style&index=0&id=5c0e21af&lang=scss&scoped=true& ***!\n \\************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_UserBubble_vue_vue_type_style_index_0_id_5c0e21af_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./UserBubble.vue?vue&type=style&index=0&id=5c0e21af&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/UserBubble/UserBubble.vue?vue&type=style&index=0&id=5c0e21af&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/UserBubble/UserBubble.vue?vue&type=template&id=5c0e21af&scoped=true&\":\n/*!*********************************************************************************************!*\\\n !*** ./src/components/UserBubble/UserBubble.vue?vue&type=template&id=5c0e21af&scoped=true& ***!\n \\*********************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserBubble_vue_vue_type_template_id_5c0e21af_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./UserBubble.vue?vue&type=template&id=5c0e21af&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/UserBubble/UserBubble.vue?vue&type=template&id=5c0e21af&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserBubble_vue_vue_type_template_id_5c0e21af_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserBubble_vue_vue_type_template_id_5c0e21af_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/UserBubble/index.js\":\n/*!********************************************!*\\\n !*** ./src/components/UserBubble/index.js ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _UserBubble__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UserBubble */ \"./src/components/UserBubble/UserBubble.vue\");\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_UserBubble__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/index.js\":\n/*!*********************************!*\\\n !*** ./src/components/index.js ***!\n \\*********************************/\n/*! exports provided: ActionButton, ActionCheckbox, ActionInput, ActionLink, ActionRadio, ActionRouter, Actions, ActionSeparator, ActionText, ActionTextEditable, AppContent, AppContentDetails, AppContentList, AppNavigation, AppNavigationCaption, AppNavigationCounter, AppNavigationIconBullet, AppNavigationItem, AppNavigationNew, AppNavigationNewItem, AppNavigationSettings, AppNavigationSpacer, AppSettingsDialog, AppSettingsSection, AppSidebar, AppSidebarTab, Avatar, Breadcrumb, Breadcrumbs, ColorPicker, Content, DatetimePicker, EmptyContent, ListItemIcon, Modal, Multiselect, MultiselectTags, Popover, PopoverMenu, RichContenteditable, SettingsSection, UserBubble */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionButton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionButton */ \"./src/components/ActionButton/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionButton\", function() { return _ActionButton__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _ActionCheckbox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ActionCheckbox */ \"./src/components/ActionCheckbox/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionCheckbox\", function() { return _ActionCheckbox__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _ActionInput__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ActionInput */ \"./src/components/ActionInput/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionInput\", function() { return _ActionInput__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _ActionLink__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ActionLink */ \"./src/components/ActionLink/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionLink\", function() { return _ActionLink__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _ActionRadio__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ActionRadio */ \"./src/components/ActionRadio/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionRadio\", function() { return _ActionRadio__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _ActionRouter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ActionRouter */ \"./src/components/ActionRouter/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionRouter\", function() { return _ActionRouter__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _Actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Actions */ \"./src/components/Actions/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Actions\", function() { return _Actions__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _ActionSeparator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ActionSeparator */ \"./src/components/ActionSeparator/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionSeparator\", function() { return _ActionSeparator__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _ActionText__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ActionText */ \"./src/components/ActionText/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionText\", function() { return _ActionText__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _ActionTextEditable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ActionTextEditable */ \"./src/components/ActionTextEditable/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionTextEditable\", function() { return _ActionTextEditable__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _AppContent__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./AppContent */ \"./src/components/AppContent/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppContent\", function() { return _AppContent__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _AppContentDetails__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./AppContentDetails */ \"./src/components/AppContentDetails/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppContentDetails\", function() { return _AppContentDetails__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _AppContentList__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./AppContentList */ \"./src/components/AppContentList/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppContentList\", function() { return _AppContentList__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _AppNavigation__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./AppNavigation */ \"./src/components/AppNavigation/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigation\", function() { return _AppNavigation__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _AppNavigationCaption__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./AppNavigationCaption */ \"./src/components/AppNavigationCaption/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationCaption\", function() { return _AppNavigationCaption__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _AppNavigationCounter__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./AppNavigationCounter */ \"./src/components/AppNavigationCounter/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationCounter\", function() { return _AppNavigationCounter__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _AppNavigationIconBullet__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./AppNavigationIconBullet */ \"./src/components/AppNavigationIconBullet/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationIconBullet\", function() { return _AppNavigationIconBullet__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _AppNavigationItem__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./AppNavigationItem */ \"./src/components/AppNavigationItem/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationItem\", function() { return _AppNavigationItem__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _AppNavigationNew__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./AppNavigationNew */ \"./src/components/AppNavigationNew/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationNew\", function() { return _AppNavigationNew__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _AppNavigationNewItem__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./AppNavigationNewItem */ \"./src/components/AppNavigationNewItem/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationNewItem\", function() { return _AppNavigationNewItem__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _AppNavigationSettings__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./AppNavigationSettings */ \"./src/components/AppNavigationSettings/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationSettings\", function() { return _AppNavigationSettings__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _AppNavigationSpacer__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./AppNavigationSpacer */ \"./src/components/AppNavigationSpacer/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationSpacer\", function() { return _AppNavigationSpacer__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _AppSettingsDialog__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./AppSettingsDialog */ \"./src/components/AppSettingsDialog/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppSettingsDialog\", function() { return _AppSettingsDialog__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _AppSettingsSection__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./AppSettingsSection */ \"./src/components/AppSettingsSection/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppSettingsSection\", function() { return _AppSettingsSection__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _AppSidebar__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./AppSidebar */ \"./src/components/AppSidebar/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppSidebar\", function() { return _AppSidebar__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _AppSidebarTab__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./AppSidebarTab */ \"./src/components/AppSidebarTab/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppSidebarTab\", function() { return _AppSidebarTab__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _Avatar__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./Avatar */ \"./src/components/Avatar/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Avatar\", function() { return _Avatar__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _Breadcrumb__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./Breadcrumb */ \"./src/components/Breadcrumb/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Breadcrumb\", function() { return _Breadcrumb__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _Breadcrumbs__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./Breadcrumbs */ \"./src/components/Breadcrumbs/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Breadcrumbs\", function() { return _Breadcrumbs__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _ColorPicker__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./ColorPicker */ \"./src/components/ColorPicker/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ColorPicker\", function() { return _ColorPicker__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _Content__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./Content */ \"./src/components/Content/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Content\", function() { return _Content__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _DatetimePicker__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./DatetimePicker */ \"./src/components/DatetimePicker/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DatetimePicker\", function() { return _DatetimePicker__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _EmptyContent__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./EmptyContent */ \"./src/components/EmptyContent/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmptyContent\", function() { return _EmptyContent__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _ListItemIcon__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./ListItemIcon */ \"./src/components/ListItemIcon/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ListItemIcon\", function() { return _ListItemIcon__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./Modal */ \"./src/components/Modal/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Modal\", function() { return _Modal__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _Multiselect__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./Multiselect */ \"./src/components/Multiselect/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Multiselect\", function() { return _Multiselect__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _MultiselectTags__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./MultiselectTags */ \"./src/components/MultiselectTags/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultiselectTags\", function() { return _MultiselectTags__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _Popover__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./Popover */ \"./src/components/Popover/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Popover\", function() { return _Popover__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _PopoverMenu__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./PopoverMenu */ \"./src/components/PopoverMenu/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopoverMenu\", function() { return _PopoverMenu__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _RichContenteditable__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./RichContenteditable */ \"./src/components/RichContenteditable/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RichContenteditable\", function() { return _RichContenteditable__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _SettingsSection__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./SettingsSection */ \"./src/components/SettingsSection/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SettingsSection\", function() { return _SettingsSection__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _UserBubble__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./UserBubble */ \"./src/components/UserBubble/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UserBubble\", function() { return _UserBubble__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/directives/Focus/index.js\":\n/*!***************************************!*\\\n !*** ./src/directives/Focus/index.js ***!\n \\***************************************/\n/*! exports provided: directive, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"directive\", function() { return directive; });\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar directive = {\n inserted: function inserted(el) {\n el.focus();\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (directive);\n\n/***/ }),\n\n/***/ \"./src/directives/Linkify/index.js\":\n/*!*****************************************!*\\\n !*** ./src/directives/Linkify/index.js ***!\n \\*****************************************/\n/*! exports provided: directive, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"directive\", function() { return directive; });\n/* harmony import */ var linkifyjs_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! linkifyjs/string */ \"linkifyjs/string\");\n/* harmony import */ var linkifyjs_string__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(linkifyjs_string__WEBPACK_IMPORTED_MODULE_0__);\n/**\n * @author Raimund Schlüßler\n * @copyright 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE\n * License as published by the Free Software Foundation; either\n * version 3 of the License, or any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU AFFERO GENERAL PUBLIC LICENSE for more details.\n *\n * You should have received a copy of the GNU Affero General Public\n * License along with this library. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n // Use function shorthand for same behavior on bind and update\n// https://vuejs.org/v2/guide/custom-directive.html#Function-Shorthand\n\nvar directive = function directive(el, binding) {\n var _binding$value;\n\n if (((_binding$value = binding.value) === null || _binding$value === void 0 ? void 0 : _binding$value.linkify) === true) {\n el.innerHTML = linkifyjs_string__WEBPACK_IMPORTED_MODULE_0___default()(binding.value.text, {\n defaultProtocol: 'https'\n });\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (directive);\n\n/***/ }),\n\n/***/ \"./src/directives/Tooltip/index.js\":\n/*!*****************************************!*\\\n !*** ./src/directives/Tooltip/index.js ***!\n \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! v-tooltip */ \"v-tooltip\");\n/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(v_tooltip__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.scss */ \"./src/directives/Tooltip/index.scss\");\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n // force scope the tooltip and use .vue-tooltip\n// instead of .tooltip to avoid server compatibility\n// issues and the use of !important\n\nv_tooltip__WEBPACK_IMPORTED_MODULE_0__[\"VTooltip\"].options.defaultTemplate = \"<div class=\\\"vue-tooltip\\\" role=\\\"tooltip\\\" data-v-\".concat(\"84c461f\", \"><div class=\\\"tooltip-arrow\\\"></div><div class=\\\"tooltip-inner\\\"></div></div>\");\nv_tooltip__WEBPACK_IMPORTED_MODULE_0__[\"VTooltip\"].options.defaultHtml = false;\n/* harmony default export */ __webpack_exports__[\"default\"] = (v_tooltip__WEBPACK_IMPORTED_MODULE_0__[\"VTooltip\"]);\n\n/***/ }),\n\n/***/ \"./src/directives/Tooltip/index.scss\":\n/*!*******************************************!*\\\n !*** ./src/directives/Tooltip/index.scss ***!\n \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_index_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!./index.scss */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./src/directives/Tooltip/index.scss\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_index_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_index_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./src/directives/index.js\":\n/*!*********************************!*\\\n !*** ./src/directives/index.js ***!\n \\*********************************/\n/*! exports provided: Focus, Linkify, Tooltip */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Focus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Focus */ \"./src/directives/Focus/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Focus\", function() { return _Focus__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _Linkify__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Linkify */ \"./src/directives/Linkify/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Linkify\", function() { return _Linkify__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _Tooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Tooltip */ \"./src/directives/Tooltip/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Tooltip\", function() { return _Tooltip__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/fonts/iconfont-vue-84c461f.eot\":\n/*!********************************************!*\\\n !*** ./src/fonts/iconfont-vue-84c461f.eot ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"data:application/vnd.ms-fontobject;base64,rg8AAOQOAAABAAIAAAAAAAIABQMAAAAAAAABQJABAAAAAExQAAAAABAAAAAAAAAAAAAAAAAAAAEAAAAAO/zsPwAAAAAAAAAAAAAAAAAAAAAAACgAAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOAA0AGMANAA2ADEAZgAAAAAAABYAAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAAKAAAaQBjAG8AbgBmAG8AbgB0AC0AdgB1AGUALQA4ADQAYwA0ADYAMQBmAAAAAAABAAAACgCAAAMAIE9TLzJ044/RAAAArAAAAGBjbWFwAA3ruAAAAQwAAAFCZ2x5ZsdHOUwAAAJQAAAH/GhlYWQr6xf3AAAKTAAAADZoaGVhJv0ThQAACoQAAAAkaG10eGe+//8AAAqoAAAANGxvY2ENvA9mAAAK3AAAAChtYXhwASAAVwAACwQAAAAgbmFtZW3E+VQAAAskAAACpnBvc3Q/VL7XAAANzAAAARYABBLKAZAABQAADGUNrAAAArwMZQ2sAAAJYAD1BQoAAAIABQMAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUGZFZABA6gHqEhOIAAABwhOIAAAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQAAAAAAPAADAAEAAAAcAAQAIAAAAAQABAABAADqEv//AADqAf//FgAAAQAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAOpg9DAAUACwAACQIRCQQRCQEOpvqCBX77ugRG+oL6ggV++7oERg9C+oL6ggE4BEYERgE4+oL6ggE4BEYERgABAAAAAA1uElAABQAACQERCQERBhsHU/d0CIwJxPit/sgIiwiM/scAAgAAAAAP3w9DAAUACwAACQIRCQQRCQEE4gV++oIERvu6BX4Ff/qBBEb7ugRGBX4Ffv7I+7r7uv7IBX4Ffv7I+7r7ugABAAAAAA6mElAABQAACQERCQERDW74rQiL93UJxAdTATn3dPd1ATgAAQAAAAAGNxOIAAUAABMHCQEXAZSUBXL6jpQFoxOIVfaR9pFVCcQAAAEAAAAAEYcPgwAFAAAJBQ/N9/P7+/5GBb8Jxw+D9/MEBf5H+kEJxgABAAAAABEXERcACwAACQsRF/3t+sD6wP3tBUD6wAITBUAFQAIT+sAEhP3tBUD6wAITBUAFQAIT+sAFQP3t+sAAAf//AAATkxLsADMAAAEiBw4BFxYXASEmBwYHBgcGFBcWFxYXFjchAQYHBhcWFx4BFxYXFjc2NwE2NzYnJicBLgEKYGVPSkYQEkgF1/HgTT46KScUFBQUJyk6Pk0OIPopNxoYAwMbGVY1Nzs+Oj81B+07FRUUFTz4Eyx0Euw5NKxZYEf6KgEbGC4sOTh4ODksLhgbAvopNT87Pjo3NlYZGgMDGBk4B+w8UVBPUjwH7C0yAAAAAgAAAAAOphJQABgARgAAASIHDgEHBhQXHgEXFjI3PgE3NjQnLgEnJgEiBwYHBhQXFhcWMyERISIHBgcGFBcWFxY3ITI3Njc2NCcmJyYjIRE0JyYnJiMJdm9mYpgpKyspmGJm3mZilyorKyqXYmb8NlZIRykrKylHSFYCcf2PVkhHKSsrKUdIVgdTVUhHKSsrKUdIVf2PKylHSVUSUCsql2Nl32VimCkrKymYYmXfZWOXKiv55SspR0irSEcpK/nmKylHSapJRykrASopR0mqSUcpKwdTVUhHKSsAAAMAAAAAERcRFwADAAcACwAAAREhEQERIREBESERAnEOpvFaDqbxWg6mERf9jwJx+eb9jwJx+eX9jwJxAAMAAAAAEp4L5wAYADEASgAAATIXHgEXFhQHDgEHBiInLgEnJjQ3PgE3NiEyFx4BFxYUBw4BBwYiJy4BJyY0Nz4BNzYhMhceARcWFAcOAQcGIicuAScmNDc+ATc2Aw1wZWKYKSsrKZhiZd9mYpcqKysql2JmByZvZmKXKisrKpdiZt5mYpcqKysql2JmByZvZmKXKisrKpdiZt9lYpgpKyspmGJlC+crKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisAAAAAAgAAAAAP3w/fAAMABwAAAREhESERIREDqgTiAnEE4g/f88sMNfPLDDUAAAABAAAAABEXERcAAgAACQICcQ6m8VoRF/it+K0AAQAAAAAOpgw1AAIAAAkCBOIE4gTiDDX7HgTgAAH/4AAAE2kTaQAxAAABBAUEBQQDAgMCERATEhMSBQQFBCEgJSQlJBMSExITBgAFBCEgJSQnJicmAwIREBMSAAhs/pj+sf66/u3+7sbKa26Ae+nlATkBPAFyAX4BlgFxAWEBVgEuASrr7JmcOLz+Kf75/vP+6v6+/s7+2f37uLtjZ1BOAScTaS6Xk+nn/tf+0/6r/p/+j/5q/oL+jv7E/sfl6HyAa2jFwgENAQ4BQwFLAWnM/tpOUGdju7j7/QEnATIBQgElARMBDQHLAAIAAAAAE4gTiAAkAEAAAAEgBQQFBAMCAwIQExITEgUEBQQgJSQlJBMSExIQAwIDAiUkJSQBITIXHgEXFhQHDgEHBiMhIicuAScmNDc+ATc2CcT+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6C+sEHU1tXVIQkJiYkhFRXW/itXFdUhCQmJiSEVFcTiIB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofID4ESYlhFNXuFdThCUmJiWEU1e4V1OEJSYAAAACAAAAABOIE4gAJAA9AAABIAUEBQQDAgMCEBMSExIFBAUEICUkJSQTEhMSEAMCAwIlJCUkASAFBAATEhADAgAFBCAlJAADAhATEgAlJAnE/mr+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gIB86OX+x/7E/o7+gv5qATcBFwEPAZtwdHRw/mX+8f7p/ZL+6f7x/mVwdHRwAZsBDwEXE4iAfOjl/sf+xP6O/oL81P6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyA/Bh0cP5l/vH+6f2S/un+8f5lcHR0cAGbAQ8BFwJuARcBDwGbcHQAAAACAAAAABOIE4gAAwAoAAABIREhASAFBAUEAwIDAhATEhMSBQQFBCAlJCUkExITEhADAgMCJSQlJAXcB9D4MAPo/mr+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gIB86OX+x/7E/o7+ggXcB9AF3IB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofIAAAAEAAAABAAA/7Pw7Xw889QALE4gAAAAA3NVH9QAAAADchGv1/+AAABOTE4gAAAAIAAIAAAAAAAAAAQAAE4gAAAAAE4j/4P/1E5MAAQAAAAAAAAAAAAAAAAAAAAcAAAAAE4gAABOIAAATiAAAE4gAAAY2AAATiAAAAAD//wAAAAAAAAAAAAAAAP/gAAAAAAAAAAAAAAAiADYAWABsAIAAlAC0AQ4BfAGaAhACJgI0AkICqAMiA6YD/gABAAAAEwBLAAMAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAAAEADGAAEAAAAAAAEAFAAAAAEAAAAAAAIABwAUAAEAAAAAAAMAFAAbAAEAAAAAAAQAFAAvAAEAAAAAAAUACwBDAAEAAAAAAAYAFABOAAEAAAAAAAoAKwBiAAEAAAAAAAsAEwCNAAMAAQQJAAEAKACgAAMAAQQJAAIADgDIAAMAAQQJAAMAKADWAAMAAQQJAAQAKAD+AAMAAQQJAAUAFgEmAAMAAQQJAAYAKAE8AAMAAQQJAAoAVgFkAAMAAQQJAAsAJgG6aWNvbmZvbnQtdnVlLTg0YzQ2MWZSZWd1bGFyaWNvbmZvbnQtdnVlLTg0YzQ2MWZpY29uZm9udC12dWUtODRjNDYxZlZlcnNpb24gMS4waWNvbmZvbnQtdnVlLTg0YzQ2MWZHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADgANABjADQANgAxAGYAUgBlAGcAdQBsAGEAcgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADgANABjADQANgAxAGYAaQBjAG8AbgBmAG8AbgB0AC0AdgB1AGUALQA4ADQAYwA0ADYAMQBmAFYAZQByAHMAaQBvAG4AIAAxAC4AMABpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADgANABjADQANgAxAGYARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwATAAABAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMRYXJyb3ctbGVmdC1kb3VibGUKYXJyb3ctbGVmdBJhcnJvdy1yaWdodC1kb3VibGULYXJyb3ctcmlnaHQKYnJlYWRjcnVtYgljaGVja21hcmsFY2xvc2UHY29uZmlybQRpbmZvBG1lbnUEbW9yZQVwYXVzZQRwbGF5CnRyaWFuZ2xlLXMQdXNlci1zdGF0dXMtYXdheQ91c2VyLXN0YXR1cy1kbmQVdXNlci1zdGF0dXMtaW52aXNpYmxlEnVzZXItc3RhdHVzLW9ubGluZQAA\");\n\n/***/ }),\n\n/***/ \"./src/fonts/iconfont-vue-84c461f.svg\":\n/*!********************************************!*\\\n !*** ./src/fonts/iconfont-vue-84c461f.svg ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLTg0YzQ2MWYiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtODRjNDYxZiIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4=\");\n\n/***/ }),\n\n/***/ \"./src/fonts/iconfont-vue-84c461f.ttf\":\n/*!********************************************!*\\\n !*** ./src/fonts/iconfont-vue-84c461f.ttf ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"data:font/ttf;base64,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AAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtODRjNDYxZlJlZ3VsYXJpY29uZm9udC12dWUtODRjNDYxZmljb25mb250LXZ1ZS04NGM0NjFmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtODRjNDYxZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOAA0AGMANAA2ADEAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOAA0AGMANAA2ADEAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADgANABjADQANgAxAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOAA0AGMANAA2ADEAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\");\n\n/***/ }),\n\n/***/ \"./src/fonts/iconfont-vue-84c461f.woff\":\n/*!*********************************************!*\\\n !*** ./src/fonts/iconfont-vue-84c461f.woff ***!\n \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"data:font/woff;base64,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PAE55eh8gAAAAQAAAAEAAD/s/DtfDzz1AAsTiAAAAADc1Uf1AAAAANyEa/X/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtODRjNDYxZlJlZ3VsYXJpY29uZm9udC12dWUtODRjNDYxZmljb25mb250LXZ1ZS04NGM0NjFmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtODRjNDYxZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOAA0AGMANAA2ADEAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOAA0AGMANAA2ADEAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADgANABjADQANgAxAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOAA0AGMANAA2ADEAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\");\n\n/***/ }),\n\n/***/ \"./src/functions/usernameToColor/index.js\":\n/*!************************************************!*\\\n !*** ./src/functions/usernameToColor/index.js ***!\n \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _usernameToColor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./usernameToColor */ \"./src/functions/usernameToColor/usernameToColor.js\");\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_usernameToColor__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/functions/usernameToColor/usernameToColor.js\":\n/*!**********************************************************!*\\\n !*** ./src/functions/usernameToColor/usernameToColor.js ***!\n \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.match.js */ \"core-js/modules/es.string.match.js\");\n/* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ \"core-js/modules/es.string.replace.js\");\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var md5__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! md5 */ \"md5\");\n/* harmony import */ var md5__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(md5__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _utils_GenColors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/GenColors */ \"./src/utils/GenColors.js\");\n\n\n\n\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\n/**\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n * @param {string} username Display name or user id to generate from\n * @returns {Object} the rgb colors as {r:255, g:255, b:255}\n */\n\nvar usernameToColor = function usernameToColor(username) {\n // Normalize hash\n var hash = username.toLowerCase(); // Already a md5 hash?\n\n if (hash.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n hash = md5__WEBPACK_IMPORTED_MODULE_3___default()(hash);\n }\n\n hash = hash.replace(/[^0-9a-f]/g, '');\n var steps = 6;\n var finalPalette = Object(_utils_GenColors__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(steps); // Convert a string to an integer evenly\n\n function hashToInt(hash, maximum) {\n var finalInt = 0;\n var result = []; // Splitting evenly the string\n\n for (var i = 0; i < hash.length; i++) {\n // chars in md5 goes up to f, hex:16\n result.push(parseInt(hash.charAt(i), 16) % 16);\n } // Adds up all results\n\n\n for (var j in result) {\n finalInt += result[j];\n } // chars in md5 goes up to f, hex:16\n // make sure we're always using int in our operation\n\n\n return parseInt(parseInt(finalInt, 10) % maximum, 10);\n }\n\n return finalPalette[hashToInt(hash, steps * 3)];\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (usernameToColor);\n\n/***/ }),\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! exports provided: default, ActionButton, ActionCheckbox, ActionInput, ActionLink, ActionRadio, ActionRouter, Actions, ActionSeparator, ActionText, ActionTextEditable, AppContent, AppContentDetails, AppContentList, AppNavigation, AppNavigationCaption, AppNavigationCounter, AppNavigationIconBullet, AppNavigationItem, AppNavigationNew, AppNavigationNewItem, AppNavigationSettings, AppNavigationSpacer, AppSettingsDialog, AppSettingsSection, AppSidebar, AppSidebarTab, Avatar, Breadcrumb, Breadcrumbs, ColorPicker, Content, DatetimePicker, EmptyContent, ListItemIcon, Modal, Multiselect, MultiselectTags, Popover, PopoverMenu, RichContenteditable, SettingsSection, UserBubble, Focus, Linkify, Tooltip, excludeClickOutsideClasses, isFullscreen, isMobile, richEditor, userStatus */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.values.js */ \"core-js/modules/es.object.values.js\");\n/* harmony import */ var core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_values_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ \"core-js/modules/es.object.get-own-property-descriptor.js\");\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ \"core-js/modules/es.object.get-own-property-descriptors.js\");\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components */ \"./src/components/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionButton\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"ActionButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionCheckbox\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"ActionCheckbox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionInput\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"ActionInput\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionLink\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"ActionLink\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionRadio\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"ActionRadio\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionRouter\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"ActionRouter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Actions\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"Actions\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionSeparator\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"ActionSeparator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionText\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"ActionText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ActionTextEditable\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"ActionTextEditable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppContent\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppContentDetails\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppContentDetails\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppContentList\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppContentList\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigation\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppNavigation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationCaption\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppNavigationCaption\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationCounter\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppNavigationCounter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationIconBullet\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppNavigationIconBullet\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationItem\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppNavigationItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationNew\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppNavigationNew\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationNewItem\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppNavigationNewItem\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationSettings\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppNavigationSettings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppNavigationSpacer\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppNavigationSpacer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppSettingsDialog\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppSettingsDialog\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppSettingsSection\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppSettingsSection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppSidebar\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppSidebar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppSidebarTab\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"AppSidebarTab\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Avatar\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"Avatar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Breadcrumb\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"Breadcrumb\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Breadcrumbs\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"Breadcrumbs\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ColorPicker\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"ColorPicker\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Content\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"Content\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DatetimePicker\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"DatetimePicker\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmptyContent\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"EmptyContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ListItemIcon\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"ListItemIcon\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Modal\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"Modal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Multiselect\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"Multiselect\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultiselectTags\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"MultiselectTags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Popover\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"Popover\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PopoverMenu\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"PopoverMenu\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RichContenteditable\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"RichContenteditable\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SettingsSection\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"SettingsSection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UserBubble\", function() { return _components__WEBPACK_IMPORTED_MODULE_8__[\"UserBubble\"]; });\n\n/* harmony import */ var _directives__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./directives */ \"./src/directives/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Focus\", function() { return _directives__WEBPACK_IMPORTED_MODULE_9__[\"Focus\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Linkify\", function() { return _directives__WEBPACK_IMPORTED_MODULE_9__[\"Linkify\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Tooltip\", function() { return _directives__WEBPACK_IMPORTED_MODULE_9__[\"Tooltip\"]; });\n\n/* harmony import */ var _mixins__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./mixins */ \"./src/mixins/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"excludeClickOutsideClasses\", function() { return _mixins__WEBPACK_IMPORTED_MODULE_10__[\"excludeClickOutsideClasses\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFullscreen\", function() { return _mixins__WEBPACK_IMPORTED_MODULE_10__[\"isFullscreen\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMobile\", function() { return _mixins__WEBPACK_IMPORTED_MODULE_10__[\"isMobile\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"richEditor\", function() { return _mixins__WEBPACK_IMPORTED_MODULE_10__[\"richEditor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"userStatus\", function() { return _mixins__WEBPACK_IMPORTED_MODULE_10__[\"userStatus\"]; });\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\nfunction install(Vue) {\n Object.values(_components__WEBPACK_IMPORTED_MODULE_8__).forEach(function (component) {\n Vue.component(component.name, component);\n });\n}\n\nif (typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_objectSpread({\n install: install\n}, _components__WEBPACK_IMPORTED_MODULE_8__));\n\n\n\n\n/***/ }),\n\n/***/ \"./src/l10n.js\":\n/*!*********************!*\\\n !*** ./src/l10n.js ***!\n \\*********************/\n/*! exports provided: t, n */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return t; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return n; });\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nextcloud/l10n/dist/gettext */ \"@nextcloud/l10n/dist/gettext\");\n/* harmony import */ var _nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar gtBuilder = Object(_nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_1__[\"getGettextBuilder\"])().detectLocale(); // Decompress Translations to gettext format and add to gtBuilder\n\n[{\"locale\":\"br\",\"translations\":{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",\"Actions\":\"Oberioù\",\"Activities\":\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",\"Choose\":\"Dibab\",\"Close\":\"Serriñ\",\"Custom\":\"Personelañ\",\"Flags\":\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",\"Next\":\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",\"Objects\":\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",\"Previous\":\"A-raok\",\"Search\":\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",\"Settings\":\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",\"Symbols\":\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{\"locale\":\"ca\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",\"Actions\":\"Accions\",\"Activities\":\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Choose\":\"Tria\",\"Close\":\"Tanca\",\"Custom\":\"Personalitzat\",\"Flags\":\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",\"Next\":\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",\"Objects\":\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",\"Previous\":\"Anterior\",\"Search\":\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",\"Settings\":\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",\"Symbols\":\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{\"locale\":\"cs_CZ\",\"translations\":{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",\"Actions\":\"Akce\",\"Activities\":\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Choose\":\"Zvolit\",\"Close\":\"Zavřít\",\"Custom\":\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",\"Flags\":\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",\"Next\":\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",\"Objects\":\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Previous\":\"Předchozí\",\"Search\":\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",\"Settings\":\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",\"Submit\":\"Odeslat\",\"Symbols\":\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{\"locale\":\"da\",\"translations\":{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",\"Actions\":\"Handlinger\",\"Activities\":\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",\"Choose\":\"Vælg\",\"Close\":\"Luk\",\"Custom\":\"Brugerdefineret\",\"Flags\":\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",\"Next\":\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",\"Objects\":\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",\"Previous\":\"Forrige\",\"Search\":\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",\"Settings\":\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",\"Symbols\":\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{\"locale\":\"de\",\"translations\":{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",\"Actions\":\"Aktionen\",\"Activities\":\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Choose\":\"Auswählen\",\"Close\":\"Schließen\",\"Custom\":\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",\"Flags\":\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"Next\":\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",\"Objects\":\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Previous\":\"Vorherige\",\"Search\":\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",\"Settings\":\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",\"Submit\":\"Einreichen\",\"Symbols\":\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{\"locale\":\"de_DE\",\"translations\":{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",\"Actions\":\"Aktionen\",\"Activities\":\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Choose\":\"Auswählen\",\"Close\":\"Schließen\",\"Custom\":\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",\"Flags\":\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"Next\":\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",\"Objects\":\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Previous\":\"Vorherige\",\"Search\":\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",\"Settings\":\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",\"Submit\":\"Einreichen\",\"Symbols\":\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{\"locale\":\"el\",\"translations\":{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",\"Actions\":\"Ενέργειες\",\"Activities\":\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",\"Choose\":\"Επιλογή\",\"Close\":\"Κλείσιμο\",\"Custom\":\"Προσαρμογή\",\"Flags\":\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",\"Next\":\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",\"Objects\":\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",\"Previous\":\"Προηγούμενο\",\"Search\":\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",\"Settings\":\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",\"Symbols\":\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{\"locale\":\"eo\",\"translations\":{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",\"Actions\":\"Agoj\",\"Activities\":\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",\"Choose\":\"Elektu\",\"Close\":\"Fermu\",\"Custom\":\"Propra\",\"Flags\":\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",\"Next\":\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",\"Objects\":\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",\"Previous\":\"Antaŭa\",\"Search\":\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",\"Settings\":\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",\"Symbols\":\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{\"locale\":\"es\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",\"Actions\":\"Acciones\",\"Activities\":\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",\"Choose\":\"Elegir\",\"Close\":\"Cerrar\",\"Custom\":\"Personalizado\",\"Flags\":\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",\"Next\":\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",\"Objects\":\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",\"Previous\":\"Anterior\",\"Search\":\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",\"Settings\":\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",\"Symbols\":\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{\"locale\":\"eu\",\"translations\":{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",\"Choose\":\"Aukeratu\",\"Close\":\"Itxi\",\"Next\":\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",\"Previous\":\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",\"Settings\":\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{\"locale\":\"fi_FI\",\"translations\":{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",\"Actions\":\"Toiminnot\",\"Activities\":\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",\"Choose\":\"Valitse\",\"Close\":\"Sulje\",\"Custom\":\"Mukautettu\",\"Flags\":\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",\"Next\":\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",\"Objects\":\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",\"Previous\":\"Edellinen\",\"Search\":\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",\"Settings\":\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",\"Symbols\":\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{\"locale\":\"fr\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",\"Actions\":\"Actions\",\"Activities\":\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",\"Choose\":\"Choisir\",\"Close\":\"Fermer\",\"Custom\":\"Personnalisé\",\"Flags\":\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",\"Next\":\"Suivant\",\"No emoji found\":\"Pas démoji trouvé\",\"No results\":\"Aucun résultat\",\"Objects\":\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",\"Previous\":\"Précédent\",\"Search\":\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",\"Settings\":\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",\"Symbols\":\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{\"locale\":\"gl\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",\"Actions\":\"Accións\",\"Activities\":\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Choose\":\"Escoller\",\"Close\":\"Pechar\",\"Custom\":\"Personalizado\",\"Flags\":\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",\"Next\":\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",\"Objects\":\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",\"Previous\":\"Anterir\",\"Search\":\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",\"Settings\":\"Axustes\",\"Settings navigation\":\"Navegación de axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",\"Symbols\":\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{\"locale\":\"he\",\"translations\":{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",\"Actions\":\"פעולות\",\"Activities\":\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",\"Choose\":\"בחירה\",\"Close\":\"סגירה\",\"Custom\":\"בהתאמה אישית\",\"Flags\":\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",\"Next\":\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",\"Objects\":\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",\"Previous\":\"הקודם\",\"Search\":\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",\"Settings\":\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",\"Symbols\":\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{\"locale\":\"hu_HU\",\"translations\":{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",\"Actions\":\"Műveletek\",\"Activities\":\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",\"Choose\":\"Válassszon\",\"Close\":\"Bezárás\",\"Custom\":\"Egyéni\",\"Flags\":\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",\"Next\":\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",\"Objects\":\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",\"Previous\":\"Előző\",\"Search\":\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",\"Settings\":\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",\"Symbols\":\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{\"locale\":\"is\",\"translations\":{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",\"Actions\":\"Aðgerðir\",\"Activities\":\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",\"Choose\":\"Velja\",\"Close\":\"Loka\",\"Custom\":\"Sérsniðið\",\"Flags\":\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",\"Next\":\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",\"Objects\":\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",\"Previous\":\"Fyrri\",\"Search\":\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",\"Settings\":\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",\"Symbols\":\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{\"locale\":\"it\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",\"Actions\":\"Azioni\",\"Activities\":\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Choose\":\"Scegli\",\"Close\":\"Chiudi\",\"Custom\":\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",\"Flags\":\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",\"Next\":\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",\"Objects\":\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",\"Previous\":\"Precedente\",\"Search\":\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",\"Settings\":\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",\"Submit\":\"Invia\",\"Symbols\":\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{\"locale\":\"ja_JP\",\"translations\":{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",\"Actions\":\"操作\",\"Activities\":\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Choose\":\"選択\",\"Close\":\"閉じる\",\"Custom\":\"カスタム\",\"Flags\":\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",\"Next\":\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",\"Objects\":\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",\"Previous\":\"前\",\"Search\":\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",\"Settings\":\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",\"Symbols\":\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{\"locale\":\"lt_LT\",\"translations\":{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",\"Actions\":\"Veiksmai\",\"Activities\":\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",\"Choose\":\"Pasirinkti\",\"Close\":\"Užverti\",\"Custom\":\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",\"Flags\":\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",\"Next\":\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",\"Objects\":\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",\"Previous\":\"Ankstesnis\",\"Search\":\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",\"Settings\":\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",\"Submit\":\"Pateikti\",\"Symbols\":\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{\"locale\":\"lv\",\"translations\":{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",\"Choose\":\"Izvēlēties\",\"Close\":\"Aizvērt\",\"Next\":\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",\"Previous\":\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",\"Settings\":\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{\"locale\":\"mk\",\"translations\":{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",\"Actions\":\"Акции\",\"Activities\":\"Активности\",\"Animals & Nature\":\"Животни & Природа\",\"Choose\":\"Избери\",\"Close\":\"Затвори\",\"Custom\":\"Прилагодени\",\"Flags\":\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",\"Next\":\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",\"Objects\":\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",\"Previous\":\"Предходно\",\"Search\":\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",\"Settings\":\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",\"Symbols\":\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{\"locale\":\"nb_NO\",\"translations\":{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",\"Actions\":\"Handlinger\",\"Activities\":\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",\"Choose\":\"Velg\",\"Close\":\"Lukk\",\"Custom\":\"Selvvalgt\",\"Flags\":\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",\"Next\":\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",\"Objects\":\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",\"Previous\":\"Forrige\",\"Search\":\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",\"Settings\":\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",\"Symbols\":\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{\"locale\":\"nl\",\"translations\":{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",\"Actions\":\"Acties\",\"Activities\":\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Choose\":\"Kies\",\"Close\":\"Sluiten\",\"Custom\":\"Aangepast\",\"Flags\":\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",\"Next\":\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",\"Objects\":\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",\"Previous\":\"Vorige\",\"Search\":\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",\"Settings\":\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",\"Symbols\":\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{\"locale\":\"oc\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",\"Actions\":\"Accions\",\"Choose\":\"Causir\",\"Close\":\"Tampar\",\"Next\":\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",\"Previous\":\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",\"Settings\":\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{\"locale\":\"pl\",\"translations\":{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",\"Actions\":\"Działania\",\"Activities\":\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Choose\":\"Wybierz\",\"Close\":\"Zamknij\",\"Custom\":\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",\"Flags\":\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",\"Next\":\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",\"Objects\":\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Previous\":\"Poprzedni\",\"Search\":\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",\"Settings\":\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",\"Submit\":\"Wyślij\",\"Symbols\":\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{\"locale\":\"pt_BR\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",\"Actions\":\"Ações\",\"Activities\":\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Choose\":\"Escolher\",\"Close\":\"Fechar\",\"Custom\":\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",\"Flags\":\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",\"Next\":\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",\"Objects\":\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Previous\":\"Anterior\",\"Search\":\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",\"Settings\":\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",\"Submit\":\"Enviar\",\"Symbols\":\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{\"locale\":\"pt_PT\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",\"Actions\":\"Ações\",\"Choose\":\"Escolher\",\"Close\":\"Fechar\",\"Next\":\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",\"Previous\":\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",\"Settings\":\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{\"locale\":\"ru\",\"translations\":{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",\"Choose\":\"Выберите\",\"Close\":\"Закрыть\",\"Next\":\"Следующее\",\"No results\":\"Результаты отсуствуют\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"Previous\":\"Предыдущее\",\"Select a tag\":\"Выберите метку\",\"Settings\":\"Параметры\",\"Start slideshow\":\"Начать показ слайдов\"}},{\"locale\":\"sk_SK\",\"translations\":{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",\"Actions\":\"Akcie\",\"Activities\":\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Choose\":\"Vybrať\",\"Close\":\"Zatvoriť\",\"Custom\":\"Zvyk\",\"Flags\":\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Next\":\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",\"Objects\":\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",\"Previous\":\"Predchádzajúci\",\"Search\":\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",\"Settings\":\"Nastavenia\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",\"Symbols\":\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\"}},{\"locale\":\"sl\",\"translations\":{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",\"Actions\":\"Dejanja\",\"Activities\":\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",\"Choose\":\"Izbor\",\"Close\":\"Zapri\",\"Custom\":\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",\"Flags\":\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",\"Next\":\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",\"Objects\":\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",\"Previous\":\"Predhodni\",\"Search\":\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",\"Settings\":\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",\"Submit\":\"Pošlji\",\"Symbols\":\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{\"locale\":\"sv\",\"translations\":{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",\"Actions\":\"Åtgärder\",\"Activities\":\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Choose\":\"Välj\",\"Close\":\"Stäng\",\"Custom\":\"Anpassad\",\"Flags\":\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",\"Next\":\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",\"Objects\":\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",\"Previous\":\"Föregående\",\"Search\":\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",\"Settings\":\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",\"Symbols\":\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{\"locale\":\"tr\",\"translations\":{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",\"Actions\":\"İşlemler\",\"Activities\":\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Choose\":\"Seçin\",\"Close\":\"Kapat\",\"Custom\":\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",\"Flags\":\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",\"Next\":\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",\"Objects\":\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Previous\":\"Önceki\",\"Search\":\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",\"Settings\":\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",\"Submit\":\"Gönder\",\"Symbols\":\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{\"locale\":\"uk\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",\"Actions\":\"Дії\",\"Activities\":\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",\"Choose\":\"Виберіть\",\"Close\":\"Закрити\",\"Custom\":\"Власне\",\"Flags\":\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",\"Next\":\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",\"Objects\":\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",\"Previous\":\"Назад\",\"Search\":\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",\"Settings\":\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",\"Symbols\":\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{\"locale\":\"zh_CN\",\"translations\":{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",\"Actions\":\"行为\",\"Activities\":\"活动\",\"Animals & Nature\":\"动物 & 自然\",\"Choose\":\"选择\",\"Close\":\"关闭\",\"Custom\":\"自定义\",\"Flags\":\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",\"Next\":\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",\"Objects\":\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",\"Previous\":\"上一个\",\"Search\":\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",\"Settings\":\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",\"Symbols\":\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{\"locale\":\"zh_HK\",\"translations\":{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",\"Actions\":\"動作\",\"Activities\":\"活動\",\"Animals & Nature\":\"動物與自然\",\"Choose\":\"選擇\",\"Close\":\"關閉\",\"Custom\":\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",\"Flags\":\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",\"Next\":\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",\"Objects\":\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Previous\":\"上一個\",\"Search\":\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",\"Settings\":\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",\"Submit\":\"提交\",\"Symbols\":\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{\"locale\":\"zh_TW\",\"translations\":{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",\"Actions\":\"動作\",\"Activities\":\"活動\",\"Animals & Nature\":\"動物與自然\",\"Choose\":\"選擇\",\"Close\":\"關閉\",\"Custom\":\"自定義\",\"Flags\":\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",\"Next\":\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",\"Objects\":\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Previous\":\"上一個\",\"Search\":\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",\"Settings\":\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",\"Symbols\":\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach(function (lang) {\n var translations = {};\n\n for (var key in lang.translations) {\n // Plural\n if (lang.translations[key].pluralId) {\n translations[key] = {\n msgid: key,\n msgid_plural: lang.translations[key].pluralId,\n msgstr: lang.translations[key].msgstr\n };\n continue;\n } // Singular\n\n\n translations[key] = {\n msgid: key,\n msgstr: [lang.translations[key]]\n };\n }\n\n gtBuilder.addTranslation(lang.locale, {\n translations: {\n '': translations\n }\n });\n});\nvar gt = gtBuilder.build();\nvar n = gt.ngettext.bind(gt);\nvar t = gt.gettext.bind(gt);\n\n\n/***/ }),\n\n/***/ \"./src/mixins/actionGlobal.js\":\n/*!************************************!*\\\n !*** ./src/mixins/actionGlobal.js ***!\n \\************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"core-js/modules/es.string.trim.js\");\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n before: function before() {\n // all actions requires a valid text content\n // if none, forbid the component mount and throw error\n if (!this.$slots.default || this.text.trim() === '') {\n vue__WEBPACK_IMPORTED_MODULE_2___default.a.util.warn(\"\".concat(this.$options.name, \" cannot be empty and requires a meaningful text content\"), this);\n this.$destroy();\n this.$el.remove();\n }\n },\n beforeUpdate: function beforeUpdate() {\n this.text = this.getText();\n },\n data: function data() {\n return {\n // $slots are not reactive.\n // We need to update the content manually\n text: this.getText()\n };\n },\n computed: {\n isLongText: function isLongText() {\n return this.text && this.text.trim().length > 20;\n }\n },\n methods: {\n getText: function getText() {\n return this.$slots.default ? this.$slots.default[0].text.trim() : '';\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/mixins/actionText.js\":\n/*!**********************************!*\\\n !*** ./src/mixins/actionText.js ***!\n \\**********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/web.url.js */ \"core-js/modules/web.url.js\");\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _actionGlobal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./actionGlobal */ \"./src/mixins/actionGlobal.js\");\n/* harmony import */ var _utils_GetParent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/GetParent */ \"./src/utils/GetParent.js\");\n\n\n\n\n\n\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [_actionGlobal__WEBPACK_IMPORTED_MODULE_5__[\"default\"]],\n props: {\n /**\n * Icon to show with the action, can be either a CSS class or an URL\n */\n icon: {\n type: String,\n default: ''\n },\n\n /**\n * Title to show next to the icon\n */\n title: {\n type: String,\n default: ''\n },\n\n /**\n * Whether we close the Actions menu after the click\n */\n closeAfterClick: {\n type: Boolean,\n default: false\n },\n\n /**\n * Aria label for the button. Not needed if the button has text.\n */\n ariaLabel: {\n type: String,\n default: ''\n }\n },\n computed: {\n isIconUrl: function isIconUrl() {\n try {\n return new URL(this.icon);\n } catch (error) {\n return false;\n }\n }\n },\n methods: {\n onClick: function onClick(event) {\n /**\n * Emitted when the action is clicked\n * @type {Event}\n */\n this.$emit('click', event);\n\n if (this.closeAfterClick) {\n var parent = Object(_utils_GetParent__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this, 'Actions');\n\n if (parent && parent.closeMenu) {\n parent.closeMenu();\n }\n }\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/mixins/excludeClickOutsideClasses/index.js\":\n/*!********************************************************!*\\\n !*** ./src/mixins/excludeClickOutsideClasses/index.js ***!\n \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ \"core-js/modules/es.array.from.js\");\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"core-js/modules/es.symbol.description.js\");\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"core-js/modules/es.symbol.iterator.js\");\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_9__);\n\n\n\n\n\n\n\n\n\n\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n /**\n * A class-name or an array of class-names\n * to be ignored when clicking outside\n * an element\n */\n excludeClickOutsideClasses: {\n type: String | Array,\n default: function _default() {\n return [];\n }\n }\n },\n methods: {\n /**\n * Middleware Handler for V-Click-Outside\n *\n * @param {Event} event The click event\n * @returns {Boolean}\n */\n clickOutsideMiddleware: function clickOutsideMiddleware(event) {\n var excludedClassList = Array.isArray(this.excludeClickOutsideClasses) ? this.excludeClickOutsideClasses : [this.excludeClickOutsideClasses]; // No need to iterate through all parents\n // if class-list is empty\n\n if (excludedClassList.length === 0) {\n return true;\n }\n\n return !this.hasNodeOrAnyParentClass(event.target, excludedClassList);\n },\n\n /**\n * Checks if given node or any of it's parents have a class of classArray\n *\n * @param {Element} node Node to test\n * @param {Array} classArray List of classes to check for\n * @returns {Boolean}\n */\n hasNodeOrAnyParentClass: function hasNodeOrAnyParentClass(node, classArray) {\n var _iterator = _createForOfIteratorHelper(classArray),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _node$classList;\n\n var className = _step.value;\n\n if (node !== null && node !== void 0 && (_node$classList = node.classList) !== null && _node$classList !== void 0 && _node$classList.contains(className)) {\n return true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return !!node.parentElement && this.hasNodeOrAnyParentClass(node.parentElement, classArray);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/mixins/index.js\":\n/*!*****************************!*\\\n !*** ./src/mixins/index.js ***!\n \\*****************************/\n/*! exports provided: excludeClickOutsideClasses, isFullscreen, isMobile, richEditor, userStatus */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _excludeClickOutsideClasses__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./excludeClickOutsideClasses */ \"./src/mixins/excludeClickOutsideClasses/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"excludeClickOutsideClasses\", function() { return _excludeClickOutsideClasses__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _isFullscreen__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isFullscreen */ \"./src/mixins/isFullscreen/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFullscreen\", function() { return _isFullscreen__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _isMobile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isMobile */ \"./src/mixins/isMobile/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMobile\", function() { return _isMobile__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _richEditor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./richEditor */ \"./src/mixins/richEditor/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"richEditor\", function() { return _richEditor__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _userStatus__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./userStatus */ \"./src/mixins/userStatus.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"userStatus\", function() { return _userStatus__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/mixins/isFullscreen/index.js\":\n/*!******************************************!*\\\n !*** ./src/mixins/isFullscreen/index.js ***!\n \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data: function data() {\n return {\n isFullscreen: this._isFullscreen()\n };\n },\n beforeMount: function beforeMount() {\n window.addEventListener('resize', this._onResize);\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('resize', this._onResize);\n },\n methods: {\n _onResize: function _onResize() {\n // Update fullscreen mode\n this.isFullscreen = this._isFullscreen();\n },\n _isFullscreen: function _isFullscreen() {\n // if the window height is equal to the screen height,\n // we're in full screen mode\n return window.outerHeight === screen.height;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/mixins/isMobile/index.js\":\n/*!**************************************!*\\\n !*** ./src/mixins/isMobile/index.js ***!\n \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_IsMobileState__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/IsMobileState */ \"./src/utils/IsMobileState.js\");\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data: function data() {\n return {\n isMobile: false\n };\n },\n mounted: function mounted() {\n _utils_IsMobileState__WEBPACK_IMPORTED_MODULE_0__[\"IsMobileState\"].$on('changed', this.onIsMobileChanged);\n this.isMobile = _utils_IsMobileState__WEBPACK_IMPORTED_MODULE_0__[\"IsMobileState\"].isMobile;\n },\n beforeDestroy: function beforeDestroy() {\n _utils_IsMobileState__WEBPACK_IMPORTED_MODULE_0__[\"IsMobileState\"].$off('changed', this.onIsMobileChanged);\n },\n methods: {\n onIsMobileChanged: function onIsMobileChanged(val) {\n this.isMobile = val;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/mixins/l10n.js\":\n/*!****************************!*\\\n !*** ./src/mixins/l10n.js ***!\n \\****************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _l10n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../l10n */ \"./src/l10n.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n methods: {\n n: _l10n__WEBPACK_IMPORTED_MODULE_0__[\"n\"],\n t: _l10n__WEBPACK_IMPORTED_MODULE_0__[\"t\"]\n }\n});\n\n/***/ }),\n\n/***/ \"./src/mixins/richEditor/index.js\":\n/*!****************************************!*\\\n !*** ./src/mixins/richEditor/index.js ***!\n \\****************************************/\n/*! exports provided: USERID_REGEX, USERID_REGEX_WITH_SPACE, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"USERID_REGEX\", function() { return USERID_REGEX; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"USERID_REGEX_WITH_SPACE\", function() { return USERID_REGEX_WITH_SPACE; });\n/* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ \"core-js/modules/es.regexp.constructor.js\");\n/* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"core-js/modules/es.regexp.to-string.js\");\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_flat_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.flat.js */ \"core-js/modules/es.array.flat.js\");\n/* harmony import */ var core_js_modules_es_array_flat_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_flat_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ \"core-js/modules/es.string.replace.js\");\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ \"core-js/modules/es.array.join.js\");\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.string.starts-with.js */ \"core-js/modules/es.string.starts-with.js\");\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! escape-html */ \"escape-html\");\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(escape_html__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var linkifyjs_string__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! linkifyjs/string */ \"linkifyjs/string\");\n/* harmony import */ var linkifyjs_string__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(linkifyjs_string__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var striptags__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! striptags */ \"striptags\");\n/* harmony import */ var striptags__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(striptags__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _components_RichContenteditable_MentionBubble__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../components/RichContenteditable/MentionBubble */ \"./src/components/RichContenteditable/MentionBubble.vue\");\n\n\n\n\n\n\n\n\n\n\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\n\n\n // Beginning or whitespace. Non-capturing group\n\nvar MENTION_START = '(?:^|\\\\s)'; // Anything that is not text or end-of-line. Non-capturing group\n\nvar MENTION_END = '(?:[^a-z]|$)';\nvar USERID_REGEX = new RegExp(\"\".concat(MENTION_START, \"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(MENTION_END, \")\"), 'gi');\nvar USERID_REGEX_WITH_SPACE = new RegExp(\"\".concat(MENTION_START, \"(@\\\"[a-zA-Z0-9 _.@\\\\-']+\\\")(\").concat(MENTION_END, \")\"), 'gi');\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n userData: {\n type: Object,\n default: function _default() {\n return {};\n }\n }\n },\n methods: {\n /**\n * Convert the value string to html for the inner content\n *\n * @param {string} value the content without html\n * @returns {string} rendered html\n */\n renderContent: function renderContent(value) {\n var _this = this;\n\n // Sanitize the value prop\n var sanitizedValue = escape_html__WEBPACK_IMPORTED_MODULE_9___default()(value); // Extract all the userIds\n\n var splitValue = sanitizedValue.split(USERID_REGEX).map(function (part) {\n return part.split(USERID_REGEX_WITH_SPACE);\n }).flat(); // Replace userIds by html\n\n return splitValue.map(function (part) {\n // When splitting, the string is always putting the userIds\n // on the the uneven indexes. We only want to generate the mentions html\n if (!part.startsWith('@')) {\n // This part doesn't contain a mention, let's make sure links are parsed\n return linkifyjs_string__WEBPACK_IMPORTED_MODULE_10___default()(part, {\n defaultProtocol: 'https',\n target: '_blank',\n className: 'external',\n attributes: {\n rel: 'noopener noreferrer'\n }\n });\n } // Extracting the id, nuking the \" and @\n\n\n var id = part.replace(/[@\"]/gi, ''); // Compiling template and prepend with the space we removed during the split\n\n return ' ' + _this.genSelectTemplate(id);\n }).join('').replace(/\\n/gmi, '<br>').replace(/&amp;/gmi, '&');\n },\n\n /**\n * Convert the innerHtml content to a string with mentions as text\n *\n * @param {string} content the content without html\n * @returns {string}\n */\n parseContent: function parseContent(content) {\n var text = content.replace(/<br>/gmi, '\\n');\n text = text.replace(/&nbsp;/gmi, ' ');\n text = text.replace(/&amp;/gmi, '&'); // Convert the mentions to text only\n // first we replace divs with new lines\n\n text = text.replace(/<\\/div>/gmi, '\\n'); // then we remove all leftover html\n\n text = striptags__WEBPACK_IMPORTED_MODULE_11___default()(text, '<div>');\n text = striptags__WEBPACK_IMPORTED_MODULE_11___default()(text);\n return text;\n },\n\n /**\n * Generate an autocompletion popup entry template\n *\n * @param {string} value the value to match against the userData\n * @returns {string}\n */\n genSelectTemplate: function genSelectTemplate(value) {\n var data = this.userData[value]; // Fallback to @mention in case no data matches\n\n if (!data) {\n // return `@${value}`\n return value.indexOf(' ') === -1 ? \"@\".concat(value) : \"@\\\"\".concat(value, \"\\\"\");\n } // Return template and make sure we strip of new lines and tabs\n\n\n return this.renderComponentHtml(data, _components_RichContenteditable_MentionBubble__WEBPACK_IMPORTED_MODULE_13__[\"default\"]).replace(/[\\n\\t]/gmi, '');\n },\n\n /**\n * Render a component and return its html content\n *\n * @param {Object} propsData the props to pass to the component\n * @param {Object} component the component to render\n * @returns {string} the rendered html\n */\n renderComponentHtml: function renderComponentHtml(propsData, component) {\n var View = vue__WEBPACK_IMPORTED_MODULE_12___default.a.extend(component);\n var Item = new View({\n propsData: propsData\n }); // Prepare mountpoint\n\n var wrapper = document.createElement('div');\n var mount = document.createElement('div');\n wrapper.style.display = 'none';\n wrapper.appendChild(mount);\n document.body.appendChild(wrapper); // Mount and get raw html\n\n Item.$mount(mount);\n var renderedHtml = wrapper.innerHTML; // Destroy\n\n Item.$destroy();\n wrapper.remove();\n return renderedHtml;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/mixins/userStatus.js\":\n/*!**********************************!*\\\n !*** ./src/mixins/userStatus.js ***!\n \\**********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.promise.js */ \"core-js/modules/es.promise.js\");\n/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! regenerator-runtime/runtime.js */ \"regenerator-runtime/runtime.js\");\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @nextcloud/axios */ \"@nextcloud/axios\");\n/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_axios__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @nextcloud/router */ \"@nextcloud/router\");\n/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_router__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _nextcloud_capabilities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @nextcloud/capabilities */ \"@nextcloud/capabilities\");\n/* harmony import */ var _nextcloud_capabilities__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_capabilities__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _nextcloud_auth__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @nextcloud/auth */ \"@nextcloud/auth\");\n/* harmony import */ var _nextcloud_auth__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_auth__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data: function data() {\n return {\n hasStatus: false,\n userStatus: {\n status: null,\n message: null,\n icon: null\n }\n };\n },\n methods: {\n /**\n * Fetches the user-status from the server\n * @param {String} userId UserId of the user to fetch the status for\n *\n * @returns {Promise<void>}\n */\n fetchUserStatus: function fetchUserStatus(userId) {\n var _this = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var capabilities, _yield$axios$get, data, _data$ocs$data, status, message, icon, _e$response$data$ocs, _e$response$data$ocs$;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n capabilities = Object(_nextcloud_capabilities__WEBPACK_IMPORTED_MODULE_5__[\"getCapabilities\"])();\n\n if (!(!Object.prototype.hasOwnProperty.call(capabilities, 'user_status') || !capabilities.user_status.enabled)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 3:\n if (Object(_nextcloud_auth__WEBPACK_IMPORTED_MODULE_6__[\"getCurrentUser\"])()) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 5:\n _context.prev = 5;\n _context.next = 8;\n return _nextcloud_axios__WEBPACK_IMPORTED_MODULE_3___default.a.get(Object(_nextcloud_router__WEBPACK_IMPORTED_MODULE_4__[\"generateOcsUrl\"])('apps/user_status/api/v1', 2) + \"statuses/\".concat(encodeURIComponent(userId)));\n\n case 8:\n _yield$axios$get = _context.sent;\n data = _yield$axios$get.data;\n _data$ocs$data = data.ocs.data, status = _data$ocs$data.status, message = _data$ocs$data.message, icon = _data$ocs$data.icon;\n _this.userStatus.status = status;\n _this.userStatus.message = message || '';\n _this.userStatus.icon = icon || '';\n _this.hasStatus = true;\n _context.next = 22;\n break;\n\n case 17:\n _context.prev = 17;\n _context.t0 = _context[\"catch\"](5);\n\n if (!(_context.t0.response.status === 404 && ((_e$response$data$ocs = _context.t0.response.data.ocs) === null || _e$response$data$ocs === void 0 ? void 0 : (_e$response$data$ocs$ = _e$response$data$ocs.data) === null || _e$response$data$ocs$ === void 0 ? void 0 : _e$response$data$ocs$.length) === 0)) {\n _context.next = 21;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 21:\n console.error(_context.t0);\n\n case 22:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[5, 17]]);\n }))();\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/utils/FindRanges.js\":\n/*!*********************************!*\\\n !*** ./src/utils/FindRanges.js ***!\n \\*********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Find the ranges of a substr in a given string\n *\n * @param {String} text The text to search in\n * @param {String} search The text to search for\n * @returns {Array} The array of ranges to highlight\n */\nvar FindRanges = function FindRanges(text, search) {\n var ranges = [];\n var currentIndex = 0;\n var index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex); // Variable to track that we don't iterate more often than the length of the text.\n // Shouldn't happen anyway, but just to be sure to not hang the browser for some reason.\n\n var i = 0;\n\n while (index > -1 && i < text.length) {\n currentIndex = index + search.length;\n ranges.push({\n start: index,\n end: currentIndex\n });\n index = text.toLowerCase().indexOf(search.toLowerCase(), index + 1);\n i++;\n }\n\n return ranges;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (FindRanges);\n\n/***/ }),\n\n/***/ \"./src/utils/GenColors.js\":\n/*!********************************!*\\\n !*** ./src/utils/GenColors.js ***!\n \\********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__);\n\n\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n */\nfunction Color(r, g, b) {\n this.r = r;\n this.g = g;\n this.b = b;\n}\n\nfunction stepCalc(steps, ends) {\n var step = new Array(3);\n step[0] = (ends[1].r - ends[0].r) / steps;\n step[1] = (ends[1].g - ends[0].g) / steps;\n step[2] = (ends[1].b - ends[0].b) / steps;\n return step;\n}\n\nfunction mixPalette(steps, color1, color2) {\n var palette = [];\n palette.push(color1);\n var step = stepCalc(steps, [color1, color2]);\n\n for (var i = 1; i < steps; i++) {\n var r = parseInt(color1.r + step[0] * i, 10);\n var g = parseInt(color1.g + step[1] * i, 10);\n var b = parseInt(color1.b + step[2] * i, 10);\n palette.push(new Color(r, g, b));\n }\n\n return palette;\n}\n/**\n * Generate colors from the official nextcloud color\n * You can provide how many colors you want (multiplied by 3)\n * if step = 6\n * 3 colors * 6 will result in 18 generated colors\n *\n * @param {number} [steps=6] Number of steps to go from a color to another\n * @returns {Object[]}\n */\n\n\nfunction GenColors(steps) {\n if (!steps) {\n steps = 6;\n }\n\n var red = new Color(182, 70, 157);\n var yellow = new Color(221, 203, 85);\n var blue = new Color(0, 130, 201); // Nextcloud blue\n\n var palette1 = mixPalette(steps, red, yellow);\n var palette2 = mixPalette(steps, yellow, blue);\n var palette3 = mixPalette(steps, blue, red);\n return palette1.concat(palette2).concat(palette3);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GenColors);\n\n/***/ }),\n\n/***/ \"./src/utils/GenRandomId.js\":\n/*!**********************************!*\\\n !*** ./src/utils/GenRandomId.js ***!\n \\**********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ \"core-js/modules/es.string.replace.js\");\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"core-js/modules/es.regexp.to-string.js\");\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar GenRandomId = function GenRandomId(length) {\n return Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, length || 5);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GenRandomId);\n\n/***/ }),\n\n/***/ \"./src/utils/GetParent.js\":\n/*!********************************!*\\\n !*** ./src/utils/GetParent.js ***!\n \\********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__);\n\n\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Get the first parent component matching the provided name\n *\n * @param {Object} context the context to search from (usualy this)\n * @param {string} name the parent name\n * @returns {Object} the parent component\n */\nvar GetParent = function GetParent(context, name) {\n var parent = context.$parent;\n\n while (parent) {\n if (parent.$options.name === name) {\n return parent;\n }\n\n parent = parent.$parent;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GetParent);\n\n/***/ }),\n\n/***/ \"./src/utils/IsMobileState.js\":\n/*!************************************!*\\\n !*** ./src/utils/IsMobileState.js ***!\n \\************************************/\n/*! exports provided: IsMobileState */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IsMobileState\", function() { return IsMobileState; });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n/**\n * @copyright Copyright (c) 2019 Kristof Hamann, Paul Schwörer\n *\n * @author Kristof Hamann\n * @author Paul Schwörer\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nvar IsMobileState = new vue__WEBPACK_IMPORTED_MODULE_0___default.a({\n data: function data() {\n return {\n isMobile: false\n };\n },\n watch: {\n isMobile: function isMobile(val) {\n this.$emit('changed', val);\n }\n },\n created: function created() {\n window.addEventListener('resize', this.handleWindowResize);\n this.handleWindowResize();\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('resize', this.handleWindowResize);\n },\n methods: {\n handleWindowResize: function handleWindowResize() {\n this.isMobile = document.documentElement.clientWidth < 1024;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/utils/ScopeComponent.js\":\n/*!*************************************!*\\\n !*** ./src/utils/ScopeComponent.js ***!\n \\*************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar ScopeComponent = function ScopeComponent(Component) {\n // Init mounted vue if none\n if (!Component.mounted) {\n Component.mounted = [];\n } else if (!Array.isArray(Component.mounted)) {\n Component.mounted = [Component.mounted];\n } // Inject root scoping function\n\n\n Component.mounted.push(function () {\n this.$el.setAttribute(\"data-v-\".concat(\"84c461f\"), '');\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ScopeComponent);\n\n/***/ }),\n\n/***/ \"./src/utils/Timer.js\":\n/*!****************************!*\\\n !*** ./src/utils/Timer.js ***!\n \\****************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return timer; });\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nfunction timer(callback, delay) {\n var id;\n var started;\n var remaining = delay;\n var running;\n\n this.start = function () {\n running = true;\n started = new Date();\n id = setTimeout(callback, remaining);\n };\n\n this.pause = function () {\n running = false;\n clearTimeout(id);\n remaining -= new Date() - started;\n };\n\n this.clear = function () {\n running = false;\n clearTimeout(id);\n remaining = 0;\n };\n\n this.getTimeLeft = function () {\n if (running) {\n this.pause();\n this.start();\n }\n\n return remaining;\n };\n\n this.getStateRunning = function () {\n return running;\n };\n\n this.start();\n}\n\n/***/ }),\n\n/***/ \"./src/utils/ValidateSlot.js\":\n/*!***********************************!*\\\n !*** ./src/utils/ValidateSlot.js ***!\n \\***********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ \"core-js/modules/es.array.splice.js\");\n/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Validate children of a vue component\n *\n * @param {Object[]} slots the vue component slot\n * @param {String[]} allowed the allowed components name\n * @param {Object} vm the vue component instance\n */\n\nvar ValidateSlot = function ValidateSlot(slots, allowed, vm) {\n if (slots === undefined) {\n return;\n }\n\n for (var index = slots.length - 1; index >= 0; index--) {\n var node = slots[index]; // also check against allowed to avoid uninitiated vnodes with no componentOptions\n\n var isHtmlElement = !node.componentOptions && node.tag && allowed.indexOf(node.tag) === -1;\n var isVueComponent = !!node.componentOptions && typeof node.componentOptions.tag === 'string';\n var isForbiddenComponent = isVueComponent && allowed.indexOf(node.componentOptions.tag) === -1; // if html element or not a vue component or vue component not in allowed tags\n\n if (isHtmlElement || !isVueComponent || isForbiddenComponent) {\n // only warn when html elment or forbidden component\n // sometimes text nodes are present which are hardly removeable by the developer and spam the warnings\n if (isHtmlElement || isForbiddenComponent) {\n vue__WEBPACK_IMPORTED_MODULE_3___default.a.util.warn(\"\".concat(isHtmlElement ? node.tag : node.componentOptions.tag, \" is not allowed inside the \").concat(vm.$options.name, \" component\"), vm);\n } // cleanup\n\n\n slots.splice(index, 1);\n }\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ValidateSlot);\n\n/***/ }),\n\n/***/ \"@nextcloud/auth\":\n/*!**********************************!*\\\n !*** external \"@nextcloud/auth\" ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@nextcloud/auth\");\n\n/***/ }),\n\n/***/ \"@nextcloud/axios\":\n/*!***********************************!*\\\n !*** external \"@nextcloud/axios\" ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@nextcloud/axios\");\n\n/***/ }),\n\n/***/ \"@nextcloud/browser-storage\":\n/*!*********************************************!*\\\n !*** external \"@nextcloud/browser-storage\" ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@nextcloud/browser-storage\");\n\n/***/ }),\n\n/***/ \"@nextcloud/capabilities\":\n/*!******************************************!*\\\n !*** external \"@nextcloud/capabilities\" ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@nextcloud/capabilities\");\n\n/***/ }),\n\n/***/ \"@nextcloud/event-bus\":\n/*!***************************************!*\\\n !*** external \"@nextcloud/event-bus\" ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@nextcloud/event-bus\");\n\n/***/ }),\n\n/***/ \"@nextcloud/l10n/dist/gettext\":\n/*!***********************************************!*\\\n !*** external \"@nextcloud/l10n/dist/gettext\" ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@nextcloud/l10n/dist/gettext\");\n\n/***/ }),\n\n/***/ \"@nextcloud/router\":\n/*!************************************!*\\\n !*** external \"@nextcloud/router\" ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@nextcloud/router\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.concat.js\":\n/*!*****************************************************!*\\\n !*** external \"core-js/modules/es.array.concat.js\" ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.concat.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.filter.js\":\n/*!*****************************************************!*\\\n !*** external \"core-js/modules/es.array.filter.js\" ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.filter.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.find-index.js\":\n/*!*********************************************************!*\\\n !*** external \"core-js/modules/es.array.find-index.js\" ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.find-index.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.find.js\":\n/*!***************************************************!*\\\n !*** external \"core-js/modules/es.array.find.js\" ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.find.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.flat.js\":\n/*!***************************************************!*\\\n !*** external \"core-js/modules/es.array.flat.js\" ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.flat.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.from.js\":\n/*!***************************************************!*\\\n !*** external \"core-js/modules/es.array.from.js\" ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.from.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.includes.js\":\n/*!*******************************************************!*\\\n !*** external \"core-js/modules/es.array.includes.js\" ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.includes.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.iterator.js\":\n/*!*******************************************************!*\\\n !*** external \"core-js/modules/es.array.iterator.js\" ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.join.js\":\n/*!***************************************************!*\\\n !*** external \"core-js/modules/es.array.join.js\" ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.join.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.map.js\":\n/*!**************************************************!*\\\n !*** external \"core-js/modules/es.array.map.js\" ***!\n \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.map.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.reduce.js\":\n/*!*****************************************************!*\\\n !*** external \"core-js/modules/es.array.reduce.js\" ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.reduce.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.slice.js\":\n/*!****************************************************!*\\\n !*** external \"core-js/modules/es.array.slice.js\" ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.slice.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.splice.js\":\n/*!*****************************************************!*\\\n !*** external \"core-js/modules/es.array.splice.js\" ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.splice.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.function.name.js\":\n/*!******************************************************!*\\\n !*** external \"core-js/modules/es.function.name.js\" ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.function.name.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.number.constructor.js\":\n/*!***********************************************************!*\\\n !*** external \"core-js/modules/es.number.constructor.js\" ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.number.constructor.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.object.get-own-property-descriptor.js\":\n/*!***************************************************************************!*\\\n !*** external \"core-js/modules/es.object.get-own-property-descriptor.js\" ***!\n \\***************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.object.get-own-property-descriptor.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.object.get-own-property-descriptors.js\":\n/*!****************************************************************************!*\\\n !*** external \"core-js/modules/es.object.get-own-property-descriptors.js\" ***!\n \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.object.get-own-property-descriptors.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.object.keys.js\":\n/*!****************************************************!*\\\n !*** external \"core-js/modules/es.object.keys.js\" ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.object.keys.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.object.to-string.js\":\n/*!*********************************************************!*\\\n !*** external \"core-js/modules/es.object.to-string.js\" ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.object.to-string.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.object.values.js\":\n/*!******************************************************!*\\\n !*** external \"core-js/modules/es.object.values.js\" ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.object.values.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.promise.js\":\n/*!************************************************!*\\\n !*** external \"core-js/modules/es.promise.js\" ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.promise.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.regexp.constructor.js\":\n/*!***********************************************************!*\\\n !*** external \"core-js/modules/es.regexp.constructor.js\" ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.regexp.constructor.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.regexp.exec.js\":\n/*!****************************************************!*\\\n !*** external \"core-js/modules/es.regexp.exec.js\" ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.regexp.exec.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.regexp.to-string.js\":\n/*!*********************************************************!*\\\n !*** external \"core-js/modules/es.regexp.to-string.js\" ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.regexp.to-string.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.code-point-at.js\":\n/*!*************************************************************!*\\\n !*** external \"core-js/modules/es.string.code-point-at.js\" ***!\n \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.code-point-at.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.from-code-point.js\":\n/*!***************************************************************!*\\\n !*** external \"core-js/modules/es.string.from-code-point.js\" ***!\n \\***************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.from-code-point.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.includes.js\":\n/*!********************************************************!*\\\n !*** external \"core-js/modules/es.string.includes.js\" ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.includes.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.iterator.js\":\n/*!********************************************************!*\\\n !*** external \"core-js/modules/es.string.iterator.js\" ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.match.js\":\n/*!*****************************************************!*\\\n !*** external \"core-js/modules/es.string.match.js\" ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.match.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.replace.js\":\n/*!*******************************************************!*\\\n !*** external \"core-js/modules/es.string.replace.js\" ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.replace.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.search.js\":\n/*!******************************************************!*\\\n !*** external \"core-js/modules/es.string.search.js\" ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.search.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.split.js\":\n/*!*****************************************************!*\\\n !*** external \"core-js/modules/es.string.split.js\" ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.split.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.starts-with.js\":\n/*!***********************************************************!*\\\n !*** external \"core-js/modules/es.string.starts-with.js\" ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.starts-with.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.trim.js\":\n/*!****************************************************!*\\\n !*** external \"core-js/modules/es.string.trim.js\" ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.trim.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.symbol.description.js\":\n/*!***********************************************************!*\\\n !*** external \"core-js/modules/es.symbol.description.js\" ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.symbol.description.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.symbol.iterator.js\":\n/*!********************************************************!*\\\n !*** external \"core-js/modules/es.symbol.iterator.js\" ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.symbol.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.symbol.js\":\n/*!***********************************************!*\\\n !*** external \"core-js/modules/es.symbol.js\" ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.symbol.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/web.dom-collections.for-each.js\":\n/*!******************************************************************!*\\\n !*** external \"core-js/modules/web.dom-collections.for-each.js\" ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/web.dom-collections.for-each.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/web.dom-collections.iterator.js\":\n/*!******************************************************************!*\\\n !*** external \"core-js/modules/web.dom-collections.iterator.js\" ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/web.dom-collections.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/web.url.js\":\n/*!*********************************************!*\\\n !*** external \"core-js/modules/web.url.js\" ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/web.url.js\");\n\n/***/ }),\n\n/***/ \"debounce\":\n/*!***************************!*\\\n !*** external \"debounce\" ***!\n \\***************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"debounce\");\n\n/***/ }),\n\n/***/ \"escape-html\":\n/*!******************************!*\\\n !*** external \"escape-html\" ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"escape-html\");\n\n/***/ }),\n\n/***/ \"hammerjs\":\n/*!***************************!*\\\n !*** external \"hammerjs\" ***!\n \\***************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"hammerjs\");\n\n/***/ }),\n\n/***/ \"linkifyjs/string\":\n/*!***********************************!*\\\n !*** external \"linkifyjs/string\" ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"linkifyjs/string\");\n\n/***/ }),\n\n/***/ \"md5\":\n/*!**********************!*\\\n !*** external \"md5\" ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"md5\");\n\n/***/ }),\n\n/***/ \"regenerator-runtime/runtime.js\":\n/*!*************************************************!*\\\n !*** external \"regenerator-runtime/runtime.js\" ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"regenerator-runtime/runtime.js\");\n\n/***/ }),\n\n/***/ \"string-length\":\n/*!********************************!*\\\n !*** external \"string-length\" ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"string-length\");\n\n/***/ }),\n\n/***/ \"striptags\":\n/*!****************************!*\\\n !*** external \"striptags\" ***!\n \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"striptags\");\n\n/***/ }),\n\n/***/ \"tributejs/dist/tribute.esm\":\n/*!*********************************************!*\\\n !*** external \"tributejs/dist/tribute.esm\" ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"tributejs/dist/tribute.esm\");\n\n/***/ }),\n\n/***/ \"v-click-outside\":\n/*!**********************************!*\\\n !*** external \"v-click-outside\" ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"v-click-outside\");\n\n/***/ }),\n\n/***/ \"v-tooltip\":\n/*!****************************!*\\\n !*** external \"v-tooltip\" ***!\n \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"v-tooltip\");\n\n/***/ }),\n\n/***/ \"vue\":\n/*!**********************!*\\\n !*** external \"vue\" ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue\");\n\n/***/ }),\n\n/***/ \"vue-color\":\n/*!****************************!*\\\n !*** external \"vue-color\" ***!\n \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue-color\");\n\n/***/ }),\n\n/***/ \"vue-multiselect\":\n/*!**********************************!*\\\n !*** external \"vue-multiselect\" ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue-multiselect\");\n\n/***/ }),\n\n/***/ \"vue2-datepicker\":\n/*!**********************************!*\\\n !*** external \"vue2-datepicker\" ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue2-datepicker\");\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQWN0aW9uQnV0dG9uL0FjdGlvbkJ1dHRvbi52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9BY3Rpb25DaGVja2JveC9BY3Rpb25DaGVja2JveC52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9BY3Rpb25JbnB1dC9BY3Rpb25JbnB1dC52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9BY3Rpb25MaW5rL0FjdGlvbkxpbmsudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQWN0aW9uUmFkaW8vQWN0aW9uUmFkaW8udnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQWN0aW9uUm91dGVyL0FjdGlvblJvdXRlci52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9BY3Rpb25TZXBhcmF0b3IvQWN0aW9uU2VwYXJhdG9yLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL0FjdGlvblRleHQvQWN0aW9uVGV4dC52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9BY3Rpb25UZXh0RWRpdGFibGUvQWN0aW9uVGV4dEVkaXRhYmxlLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL0FjdGlvbnMvQWN0aW9ucy52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9BcHBDb250ZW50L0FwcENvbnRlbnQudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQXBwQ29udGVudERldGFpbHMvQXBwQ29udGVudERldGFpbHMudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQXBwQ29udGVudExpc3QvQXBwQ29udGVudExpc3QudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbi9BcHBOYXZpZ2F0aW9uLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25DYXB0aW9uL0FwcE5hdmlnYXRpb25DYXB0aW9uLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25Db3VudGVyL0FwcE5hdmlnYXRpb25Db3VudGVyLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25JY29uQnVsbGV0L0FwcE5hdmlnYXRpb25JY29uQnVsbGV0LnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25JdGVtL0FwcE5hdmlnYXRpb25JY29uQ29sbGFwc2libGUudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkl0ZW0vQXBwTmF2aWdhdGlvbkl0ZW0udnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkl0ZW0vSW5wdXRDb25maXJtQ2FuY2VsLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25OZXcvQXBwTmF2aWdhdGlvbk5ldy52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uTmV3SXRlbS9BcHBOYXZpZ2F0aW9uTmV3SXRlbS52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MvQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25TcGFjZXIvQXBwTmF2aWdhdGlvblNwYWNlci52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uVG9nZ2xlL0FwcE5hdmlnYXRpb25Ub2dnbGUudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQXBwU2V0dGluZ3NEaWFsb2cvQXBwU2V0dGluZ3NEaWFsb2cudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQXBwU2V0dGluZ3NTZWN0aW9uL0FwcFNldHRpbmdzU2VjdGlvbi52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9BcHBTaWRlYmFyL0FwcFNpZGViYXIudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQXBwU2lkZWJhci9BcHBTaWRlYmFyVGFicy52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9BcHBTaWRlYmFyVGFiL0FwcFNpZGViYXJUYWIudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQXZhdGFyL0F2YXRhci52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9CcmVhZGNydW1iL0JyZWFkY3J1bWIudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQnJlYWRjcnVtYnMvQnJlYWRjcnVtYnMudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQ29sb3JQaWNrZXIvQ29sb3JQaWNrZXIudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQ29udGVudC9Db250ZW50LnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL0RhdGV0aW1lUGlja2VyL0RhdGV0aW1lUGlja2VyLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL0VtcHR5Q29udGVudC9FbXB0eUNvbnRlbnQudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvSGlnaGxpZ2h0L0hpZ2hsaWdodC52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9MaXN0SXRlbUljb24vTGlzdEl0ZW1JY29uLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL01vZGFsL01vZGFsLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL011bHRpc2VsZWN0L0VsbGlwc2lzZWRPcHRpb24udnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvTXVsdGlzZWxlY3QvTXVsdGlzZWxlY3QudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvTXVsdGlzZWxlY3RUYWdzL011bHRpc2VsZWN0VGFncy52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9Qb3BvdmVyL1BvcG92ZXIudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnUudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnVJdGVtLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL1JpY2hDb250ZW50ZWRpdGFibGUvQXV0b0NvbXBsZXRlUmVzdWx0LnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL1JpY2hDb250ZW50ZWRpdGFibGUvTWVudGlvbkJ1YmJsZS52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL1JpY2hDb250ZW50ZWRpdGFibGUudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvU2V0dGluZ3NTZWN0aW9uL1NldHRpbmdzU2VjdGlvbi52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9Vc2VyQnViYmxlL1VzZXJCdWJibGUudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9EYXRldGltZVBpY2tlci9pbmRleC5zY3NzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9NdWx0aXNlbGVjdC9pbmRleC5zY3NzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvZGlyZWN0aXZlcy9Ub29sdGlwL2luZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbkJ1dHRvbi9BY3Rpb25CdXR0b24udnVlPzg5MDYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbkNoZWNrYm94L0FjdGlvbkNoZWNrYm94LnZ1ZT82MWZkIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25JbnB1dC9BY3Rpb25JbnB1dC52dWU/MTE3ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uTGluay9BY3Rpb25MaW5rLnZ1ZT82ZDYzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25SYWRpby9BY3Rpb25SYWRpby52dWU/YjAzNyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uUm91dGVyL0FjdGlvblJvdXRlci52dWU/OTllMCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uU2VwYXJhdG9yL0FjdGlvblNlcGFyYXRvci52dWU/OTM3MCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uVGV4dC9BY3Rpb25UZXh0LnZ1ZT9hNGY3Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25UZXh0RWRpdGFibGUvQWN0aW9uVGV4dEVkaXRhYmxlLnZ1ZT9mMmRlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25zL0FjdGlvbnMudnVlP2U1ODUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcENvbnRlbnQvQXBwQ29udGVudC52dWU/ZjM2NiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbi9BcHBOYXZpZ2F0aW9uLnZ1ZT8xZWEyIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/OWJlOCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkNvdW50ZXIvQXBwTmF2aWdhdGlvbkNvdW50ZXIudnVlPzQ2M2EiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25JY29uQnVsbGV0L0FwcE5hdmlnYXRpb25JY29uQnVsbGV0LnZ1ZT9jMzk1Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uSXRlbS9BcHBOYXZpZ2F0aW9uSWNvbkNvbGxhcHNpYmxlLnZ1ZT80MWZlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uSXRlbS9BcHBOYXZpZ2F0aW9uSXRlbS52dWU/Njc1ZCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkl0ZW0vSW5wdXRDb25maXJtQ2FuY2VsLnZ1ZT9hNWY2Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uTmV3L0FwcE5hdmlnYXRpb25OZXcudnVlPzYyODMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25OZXdJdGVtL0FwcE5hdmlnYXRpb25OZXdJdGVtLnZ1ZT8xN2RhIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MvQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZT9iNDhlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uVG9nZ2xlL0FwcE5hdmlnYXRpb25Ub2dnbGUudnVlPzE3NmEiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNldHRpbmdzRGlhbG9nL0FwcFNldHRpbmdzRGlhbG9nLnZ1ZT9mMTliIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBTZXR0aW5nc1NlY3Rpb24vQXBwU2V0dGluZ3NTZWN0aW9uLnZ1ZT8xY2YzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBTaWRlYmFyL0FwcFNpZGViYXIudnVlP2ExMWQiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNpZGViYXIvQXBwU2lkZWJhci52dWU/ZjJhNSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwU2lkZWJhci9BcHBTaWRlYmFyVGFicy52dWU/YjRiZiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwU2lkZWJhclRhYi9BcHBTaWRlYmFyVGFiLnZ1ZT9hMTUxIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BdmF0YXIvQXZhdGFyLnZ1ZT81ODkwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9CcmVhZGNydW1iL0JyZWFkY3J1bWIudnVlPzA2MDQiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0JyZWFkY3J1bWJzL0JyZWFkY3J1bWJzLnZ1ZT8wMWY1Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Db2xvclBpY2tlci9Db2xvclBpY2tlci52dWU/YTIwYiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQ29udGVudC9Db250ZW50LnZ1ZT9kNDkxIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9FbXB0eUNvbnRlbnQvRW1wdHlDb250ZW50LnZ1ZT85N2NjIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9MaXN0SXRlbUljb24vTGlzdEl0ZW1JY29uLnZ1ZT8xMTk5Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Nb2RhbC9Nb2RhbC52dWU/Y2MzYSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvTXVsdGlzZWxlY3QvRWxsaXBzaXNlZE9wdGlvbi52dWU/NTIyMiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlci9Qb3BvdmVyLnZ1ZT80NjNmIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Qb3BvdmVyTWVudS9Qb3BvdmVyTWVudS52dWU/N2E4MiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnVJdGVtLnZ1ZT84NDNhIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL0F1dG9Db21wbGV0ZVJlc3VsdC52dWU/ZDNjYSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUmljaENvbnRlbnRlZGl0YWJsZS9NZW50aW9uQnViYmxlLnZ1ZT84ZGRmIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL1JpY2hDb250ZW50ZWRpdGFibGUudnVlP2E0OTEiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1JpY2hDb250ZW50ZWRpdGFibGUvUmljaENvbnRlbnRlZGl0YWJsZS52dWU/YjZlZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvU2V0dGluZ3NTZWN0aW9uL1NldHRpbmdzU2VjdGlvbi52dWU/MjMwYiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvVXNlckJ1YmJsZS9Vc2VyQnViYmxlLnZ1ZT82Y2U1Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU3BhY2VyL0FwcE5hdmlnYXRpb25TcGFjZXIudnVlPzc1YjgiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXJNZW51L1BvcG92ZXJNZW51SXRlbS52dWU/ZTBhNyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9nZXRVcmwuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbkJ1dHRvbi9BY3Rpb25CdXR0b24udnVlPzQ5ZjkiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbkNoZWNrYm94L0FjdGlvbkNoZWNrYm94LnZ1ZT8yMTEwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25JbnB1dC9BY3Rpb25JbnB1dC52dWU/MDAwNCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uTGluay9BY3Rpb25MaW5rLnZ1ZT9jOTk4Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25SYWRpby9BY3Rpb25SYWRpby52dWU/N2EzMSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uUm91dGVyL0FjdGlvblJvdXRlci52dWU/ZmI1MyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uU2VwYXJhdG9yL0FjdGlvblNlcGFyYXRvci52dWU/Y2EyMSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uVGV4dC9BY3Rpb25UZXh0LnZ1ZT8xZWYwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25UZXh0RWRpdGFibGUvQWN0aW9uVGV4dEVkaXRhYmxlLnZ1ZT9hNWFjIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25zL0FjdGlvbnMudnVlPzA5NDAiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcENvbnRlbnQvQXBwQ29udGVudC52dWU/MmI5NCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbi9BcHBOYXZpZ2F0aW9uLnZ1ZT9lZTNmIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/OWRhZiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkNvdW50ZXIvQXBwTmF2aWdhdGlvbkNvdW50ZXIudnVlPzk0OGMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25JY29uQnVsbGV0L0FwcE5hdmlnYXRpb25JY29uQnVsbGV0LnZ1ZT9iNGIxIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uSXRlbS9BcHBOYXZpZ2F0aW9uSWNvbkNvbGxhcHNpYmxlLnZ1ZT9kZDlhIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uSXRlbS9BcHBOYXZpZ2F0aW9uSXRlbS52dWU/MDFkNSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkl0ZW0vSW5wdXRDb25maXJtQ2FuY2VsLnZ1ZT80N2RhIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uTmV3L0FwcE5hdmlnYXRpb25OZXcudnVlPzZjZWMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25OZXdJdGVtL0FwcE5hdmlnYXRpb25OZXdJdGVtLnZ1ZT84NmIyIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MvQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZT8wMmI4Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uVG9nZ2xlL0FwcE5hdmlnYXRpb25Ub2dnbGUudnVlP2IxMDQiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNldHRpbmdzRGlhbG9nL0FwcFNldHRpbmdzRGlhbG9nLnZ1ZT82OTk5Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBTZXR0aW5nc1NlY3Rpb24vQXBwU2V0dGluZ3NTZWN0aW9uLnZ1ZT81MzgxIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBTaWRlYmFyL0FwcFNpZGViYXIudnVlPzRlZWIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNpZGViYXIvQXBwU2lkZWJhci52dWU/YzRhMCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwU2lkZWJhci9BcHBTaWRlYmFyVGFicy52dWU/MDUyOSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwU2lkZWJhclRhYi9BcHBTaWRlYmFyVGFiLnZ1ZT84YWZhIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BdmF0YXIvQXZhdGFyLnZ1ZT9iYjEzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9CcmVhZGNydW1iL0JyZWFkY3J1bWIudnVlP2MzN2QiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0JyZWFkY3J1bWJzL0JyZWFkY3J1bWJzLnZ1ZT9lYmNiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Db2xvclBpY2tlci9Db2xvclBpY2tlci52dWU/ODc5ZiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQ29udGVudC9Db250ZW50LnZ1ZT82ZjQwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9FbXB0eUNvbnRlbnQvRW1wdHlDb250ZW50LnZ1ZT84MDA5Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9MaXN0SXRlbUljb24vTGlzdEl0ZW1JY29uLnZ1ZT84ODc5Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Nb2RhbC9Nb2RhbC52dWU/MzQ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvTXVsdGlzZWxlY3QvRWxsaXBzaXNlZE9wdGlvbi52dWU/OTg4MiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlci9Qb3BvdmVyLnZ1ZT8yNjZlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Qb3BvdmVyTWVudS9Qb3BvdmVyTWVudS52dWU/MjFjNiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnVJdGVtLnZ1ZT81ZDc0Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL0F1dG9Db21wbGV0ZVJlc3VsdC52dWU/MTQyOCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUmljaENvbnRlbnRlZGl0YWJsZS9NZW50aW9uQnViYmxlLnZ1ZT85ZWEyIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL1JpY2hDb250ZW50ZWRpdGFibGUudnVlPzVjYzkiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1JpY2hDb250ZW50ZWRpdGFibGUvUmljaENvbnRlbnRlZGl0YWJsZS52dWU/ZDA0ZiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvU2V0dGluZ3NTZWN0aW9uL1NldHRpbmdzU2VjdGlvbi52dWU/MzBmYyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvVXNlckJ1YmJsZS9Vc2VyQnViYmxlLnZ1ZT9hOTNhIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU3BhY2VyL0FwcE5hdmlnYXRpb25TcGFjZXIudnVlP2FlYjIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXJNZW51L1BvcG92ZXJNZW51SXRlbS52dWU/MzcyYSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25CdXR0b24vQWN0aW9uQnV0dG9uLnZ1ZT82ZDYwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25DaGVja2JveC9BY3Rpb25DaGVja2JveC52dWU/ZmE4MCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uSW5wdXQvQWN0aW9uSW5wdXQudnVlPzkzZmUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbkxpbmsvQWN0aW9uTGluay52dWU/OGIzMSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uUmFkaW8vQWN0aW9uUmFkaW8udnVlPzBlM2QiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblJvdXRlci9BY3Rpb25Sb3V0ZXIudnVlP2FjMDciLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblNlcGFyYXRvci9BY3Rpb25TZXBhcmF0b3IudnVlP2M5YTYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblRleHQvQWN0aW9uVGV4dC52dWU/YzExOCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uVGV4dEVkaXRhYmxlL0FjdGlvblRleHRFZGl0YWJsZS52dWU/MTgyMSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9ucy9BY3Rpb25zLnZ1ZT9kY2Y5Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBDb250ZW50L0FwcENvbnRlbnQudnVlP2JjZjQiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcENvbnRlbnREZXRhaWxzL0FwcENvbnRlbnREZXRhaWxzLnZ1ZT9hYWU2Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBDb250ZW50TGlzdC9BcHBDb250ZW50TGlzdC52dWU/Zjc1ZCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbi9BcHBOYXZpZ2F0aW9uLnZ1ZT9kNzhiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/NzBiOCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkNvdW50ZXIvQXBwTmF2aWdhdGlvbkNvdW50ZXIudnVlP2ZhYjIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25JY29uQnVsbGV0L0FwcE5hdmlnYXRpb25JY29uQnVsbGV0LnZ1ZT82MjYzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uSXRlbS9BcHBOYXZpZ2F0aW9uSWNvbkNvbGxhcHNpYmxlLnZ1ZT9mNTlkIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uSXRlbS9BcHBOYXZpZ2F0aW9uSXRlbS52dWU/MTRlOSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkl0ZW0vSW5wdXRDb25maXJtQ2FuY2VsLnZ1ZT9iZjdkIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uTmV3L0FwcE5hdmlnYXRpb25OZXcudnVlP2RiOGUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25OZXdJdGVtL0FwcE5hdmlnYXRpb25OZXdJdGVtLnZ1ZT82MDdmIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MvQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZT83N2E1Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU3BhY2VyL0FwcE5hdmlnYXRpb25TcGFjZXIudnVlP2QwNjEiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25Ub2dnbGUvQXBwTmF2aWdhdGlvblRvZ2dsZS52dWU/M2RkMCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwU2V0dGluZ3NTZWN0aW9uL0FwcFNldHRpbmdzU2VjdGlvbi52dWU/OWQxNSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwU2lkZWJhci9BcHBTaWRlYmFyLnZ1ZT9iMDVjIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBTaWRlYmFyL0FwcFNpZGViYXJUYWJzLnZ1ZT81NzQ1Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBTaWRlYmFyVGFiL0FwcFNpZGViYXJUYWIudnVlPzUxZjUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0F2YXRhci9BdmF0YXIudnVlP2ViNTQiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0JyZWFkY3J1bWIvQnJlYWRjcnVtYi52dWU/MTE3OCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQ29sb3JQaWNrZXIvQ29sb3JQaWNrZXIudnVlPzNkMzIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0NvbnRlbnQvQ29udGVudC52dWU/NmFiYSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvRGF0ZXRpbWVQaWNrZXIvRGF0ZXRpbWVQaWNrZXIudnVlP2RhZGMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0VtcHR5Q29udGVudC9FbXB0eUNvbnRlbnQudnVlP2Y1OTkiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0xpc3RJdGVtSWNvbi9MaXN0SXRlbUljb24udnVlP2Y4MGQiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL01vZGFsL01vZGFsLnZ1ZT9mZGMwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9NdWx0aXNlbGVjdC9FbGxpcHNpc2VkT3B0aW9uLnZ1ZT85ZDk2Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9NdWx0aXNlbGVjdC9NdWx0aXNlbGVjdC52dWU/OTRlOCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvTXVsdGlzZWxlY3RUYWdzL011bHRpc2VsZWN0VGFncy52dWU/OGYxMCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlci9Qb3BvdmVyLnZ1ZT8wZGQ2Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Qb3BvdmVyTWVudS9Qb3BvdmVyTWVudS52dWU/NTY2YyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnVJdGVtLnZ1ZT8xYzU0Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL0F1dG9Db21wbGV0ZVJlc3VsdC52dWU/NWJmMCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUmljaENvbnRlbnRlZGl0YWJsZS9NZW50aW9uQnViYmxlLnZ1ZT84ODVhIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL1JpY2hDb250ZW50ZWRpdGFibGUudnVlPzM3YTIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1NldHRpbmdzU2VjdGlvbi9TZXR0aW5nc1NlY3Rpb24udnVlPzEwNDYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1VzZXJCdWJibGUvVXNlckJ1YmJsZS52dWU/Nzg5YiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uQnV0dG9uL0FjdGlvbkJ1dHRvbi52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbkJ1dHRvbi9BY3Rpb25CdXR0b24udnVlPzQ4NDEiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbkJ1dHRvbi9BY3Rpb25CdXR0b24udnVlP2Y3MGEiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbkJ1dHRvbi9BY3Rpb25CdXR0b24udnVlP2FlMmMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbkJ1dHRvbi9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uQ2hlY2tib3gvQWN0aW9uQ2hlY2tib3gudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25DaGVja2JveC9BY3Rpb25DaGVja2JveC52dWU/N2U1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uQ2hlY2tib3gvQWN0aW9uQ2hlY2tib3gudnVlPzIzMzEiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbkNoZWNrYm94L0FjdGlvbkNoZWNrYm94LnZ1ZT8xZjY3Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25DaGVja2JveC9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uSW5wdXQvQWN0aW9uSW5wdXQudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25JbnB1dC9BY3Rpb25JbnB1dC52dWU/ZjdlZCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uSW5wdXQvQWN0aW9uSW5wdXQudnVlP2I2NzEiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbklucHV0L0FjdGlvbklucHV0LnZ1ZT84M2Y3Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25JbnB1dC9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uTGluay9BY3Rpb25MaW5rLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uTGluay9BY3Rpb25MaW5rLnZ1ZT9mNWYzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25MaW5rL0FjdGlvbkxpbmsudnVlPzg0MTMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbkxpbmsvQWN0aW9uTGluay52dWU/ZDJlOCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uTGluay9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uUmFkaW8vQWN0aW9uUmFkaW8udnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25SYWRpby9BY3Rpb25SYWRpby52dWU/NzQxYSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uUmFkaW8vQWN0aW9uUmFkaW8udnVlPzZlYjYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblJhZGlvL0FjdGlvblJhZGlvLnZ1ZT9iYWI1Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25SYWRpby9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uUm91dGVyL0FjdGlvblJvdXRlci52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblJvdXRlci9BY3Rpb25Sb3V0ZXIudnVlPzYxZDEiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblJvdXRlci9BY3Rpb25Sb3V0ZXIudnVlPzhkZWYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblJvdXRlci9BY3Rpb25Sb3V0ZXIudnVlPzM2OGIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblJvdXRlci9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uU2VwYXJhdG9yL0FjdGlvblNlcGFyYXRvci52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblNlcGFyYXRvci9BY3Rpb25TZXBhcmF0b3IudnVlP2YxYzAiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblNlcGFyYXRvci9BY3Rpb25TZXBhcmF0b3IudnVlPzA4YTMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblNlcGFyYXRvci9BY3Rpb25TZXBhcmF0b3IudnVlPzljNGIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblNlcGFyYXRvci9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uVGV4dC9BY3Rpb25UZXh0LnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uVGV4dC9BY3Rpb25UZXh0LnZ1ZT9kYTUwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25UZXh0L0FjdGlvblRleHQudnVlP2NmM2EiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblRleHQvQWN0aW9uVGV4dC52dWU/MDA0YyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uVGV4dC9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9uVGV4dEVkaXRhYmxlL0FjdGlvblRleHRFZGl0YWJsZS52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblRleHRFZGl0YWJsZS9BY3Rpb25UZXh0RWRpdGFibGUudnVlP2Y0MGQiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblRleHRFZGl0YWJsZS9BY3Rpb25UZXh0RWRpdGFibGUudnVlP2MxZDkiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblRleHRFZGl0YWJsZS9BY3Rpb25UZXh0RWRpdGFibGUudnVlPzk5NGUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvblRleHRFZGl0YWJsZS9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9ucy9BY3Rpb25zLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9ucy9BY3Rpb25zLnZ1ZT9iN2RmIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25zL0FjdGlvbnMudnVlP2MzNzgiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbnMvQWN0aW9ucy52dWU/YTljYSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9ucy9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwQ29udGVudC9BcHBDb250ZW50LnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwQ29udGVudC9BcHBDb250ZW50LnZ1ZT8yYmM2Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBDb250ZW50L0FwcENvbnRlbnQudnVlPzE0MWQiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcENvbnRlbnQvQXBwQ29udGVudC52dWU/OTdiNiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwQ29udGVudC9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwQ29udGVudERldGFpbHMvQXBwQ29udGVudERldGFpbHMudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBDb250ZW50RGV0YWlscy9BcHBDb250ZW50RGV0YWlscy52dWU/Y2JhMyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwQ29udGVudERldGFpbHMvQXBwQ29udGVudERldGFpbHMudnVlP2ZiY2UiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcENvbnRlbnREZXRhaWxzL2luZGV4LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBDb250ZW50TGlzdC9BcHBDb250ZW50TGlzdC52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcENvbnRlbnRMaXN0L0FwcENvbnRlbnRMaXN0LnZ1ZT83MTM3Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBDb250ZW50TGlzdC9BcHBDb250ZW50TGlzdC52dWU/ZGQwMiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwQ29udGVudExpc3QvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb24vQXBwTmF2aWdhdGlvbi52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb24vQXBwTmF2aWdhdGlvbi52dWU/MzAyMCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbi9BcHBOYXZpZ2F0aW9uLnZ1ZT84ZmU4Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uL0FwcE5hdmlnYXRpb24udnVlP2ZmYzIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb24vaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25DYXB0aW9uL0FwcE5hdmlnYXRpb25DYXB0aW9uLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkNhcHRpb24vQXBwTmF2aWdhdGlvbkNhcHRpb24udnVlPzYxYWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25DYXB0aW9uL0FwcE5hdmlnYXRpb25DYXB0aW9uLnZ1ZT8zMWY3Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/ODE2MCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkNhcHRpb24vaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25Db3VudGVyL0FwcE5hdmlnYXRpb25Db3VudGVyLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkNvdW50ZXIvQXBwTmF2aWdhdGlvbkNvdW50ZXIudnVlP2E0M2EiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25Db3VudGVyL0FwcE5hdmlnYXRpb25Db3VudGVyLnZ1ZT8zZDYwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uQ291bnRlci9BcHBOYXZpZ2F0aW9uQ291bnRlci52dWU/YWM5NiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkNvdW50ZXIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25JY29uQnVsbGV0L0FwcE5hdmlnYXRpb25JY29uQnVsbGV0LnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkljb25CdWxsZXQvQXBwTmF2aWdhdGlvbkljb25CdWxsZXQudnVlPzI5OWYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25JY29uQnVsbGV0L0FwcE5hdmlnYXRpb25JY29uQnVsbGV0LnZ1ZT9iMWZiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uSWNvbkJ1bGxldC9BcHBOYXZpZ2F0aW9uSWNvbkJ1bGxldC52dWU/NzU1NCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkljb25CdWxsZXQvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25JdGVtL0FwcE5hdmlnYXRpb25JY29uQ29sbGFwc2libGUudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uSXRlbS9BcHBOYXZpZ2F0aW9uSWNvbkNvbGxhcHNpYmxlLnZ1ZT82NDcwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uSXRlbS9BcHBOYXZpZ2F0aW9uSWNvbkNvbGxhcHNpYmxlLnZ1ZT84ZDIxIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uSXRlbS9BcHBOYXZpZ2F0aW9uSWNvbkNvbGxhcHNpYmxlLnZ1ZT9lZGM1Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uSXRlbS9BcHBOYXZpZ2F0aW9uSXRlbS52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25JdGVtL0FwcE5hdmlnYXRpb25JdGVtLnZ1ZT8yMDYwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uSXRlbS9BcHBOYXZpZ2F0aW9uSXRlbS52dWU/OThmZiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkl0ZW0vQXBwTmF2aWdhdGlvbkl0ZW0udnVlPzYwMmEiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25JdGVtL0lucHV0Q29uZmlybUNhbmNlbC52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25JdGVtL0lucHV0Q29uZmlybUNhbmNlbC52dWU/MjA1MyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkl0ZW0vSW5wdXRDb25maXJtQ2FuY2VsLnZ1ZT80ZmRmIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uSXRlbS9JbnB1dENvbmZpcm1DYW5jZWwudnVlPzhiZDEiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25JdGVtL2luZGV4LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uTmV3L0FwcE5hdmlnYXRpb25OZXcudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uTmV3L0FwcE5hdmlnYXRpb25OZXcudnVlP2ZlNzgiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25OZXcvQXBwTmF2aWdhdGlvbk5ldy52dWU/MjhhYyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbk5ldy9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZT8xNzZiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uTmV3L2luZGV4LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uTmV3SXRlbS9BcHBOYXZpZ2F0aW9uTmV3SXRlbS52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25OZXdJdGVtL0FwcE5hdmlnYXRpb25OZXdJdGVtLnZ1ZT9iM2NiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uTmV3SXRlbS9BcHBOYXZpZ2F0aW9uTmV3SXRlbS52dWU/NTRiZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbk5ld0l0ZW0vQXBwTmF2aWdhdGlvbk5ld0l0ZW0udnVlPzQ0NDUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25OZXdJdGVtL2luZGV4LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MvQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvblNldHRpbmdzL0FwcE5hdmlnYXRpb25TZXR0aW5ncy52dWU/M2UzYyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvblNldHRpbmdzL0FwcE5hdmlnYXRpb25TZXR0aW5ncy52dWU/OWI0NiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvblNldHRpbmdzL0FwcE5hdmlnYXRpb25TZXR0aW5ncy52dWU/MjdkMSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvblNldHRpbmdzL2luZGV4LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU3BhY2VyL0FwcE5hdmlnYXRpb25TcGFjZXIudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU3BhY2VyL0FwcE5hdmlnYXRpb25TcGFjZXIudnVlP2FjZmUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25TcGFjZXIvQXBwTmF2aWdhdGlvblNwYWNlci52dWU/ZjllMCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvblNwYWNlci9BcHBOYXZpZ2F0aW9uU3BhY2VyLnZ1ZT85MDA3Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU3BhY2VyL2luZGV4LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uVG9nZ2xlL0FwcE5hdmlnYXRpb25Ub2dnbGUudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uVG9nZ2xlL0FwcE5hdmlnYXRpb25Ub2dnbGUudnVlPzBiMjkiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25Ub2dnbGUvQXBwTmF2aWdhdGlvblRvZ2dsZS52dWU/YjIzNyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvblRvZ2dsZS9BcHBOYXZpZ2F0aW9uVG9nZ2xlLnZ1ZT84ZmFkIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBTZXR0aW5nc0RpYWxvZy9BcHBTZXR0aW5nc0RpYWxvZy52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNldHRpbmdzRGlhbG9nL0FwcFNldHRpbmdzRGlhbG9nLnZ1ZT83MzU0Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBTZXR0aW5nc0RpYWxvZy9BcHBTZXR0aW5nc0RpYWxvZy52dWU/NDhkYiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwU2V0dGluZ3NEaWFsb2cvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNldHRpbmdzU2VjdGlvbi9BcHBTZXR0aW5nc1NlY3Rpb24udnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBTZXR0aW5nc1NlY3Rpb24vQXBwU2V0dGluZ3NTZWN0aW9uLnZ1ZT9kZGZkIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBTZXR0aW5nc1NlY3Rpb24vQXBwU2V0dGluZ3NTZWN0aW9uLnZ1ZT9lY2ExIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBTZXR0aW5nc1NlY3Rpb24vQXBwU2V0dGluZ3NTZWN0aW9uLnZ1ZT8xZmY3Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBTZXR0aW5nc1NlY3Rpb24vaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNpZGViYXIvQXBwU2lkZWJhci52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNpZGViYXIvQXBwU2lkZWJhci52dWU/NzNiYSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwU2lkZWJhci9BcHBTaWRlYmFyLnZ1ZT9iOGRkIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBTaWRlYmFyL0FwcFNpZGViYXIudnVlPzEwMzciLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNpZGViYXIvQXBwU2lkZWJhci52dWU/NTM1YiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwU2lkZWJhci9BcHBTaWRlYmFyVGFicy52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNpZGViYXIvQXBwU2lkZWJhclRhYnMudnVlPzBjZjAiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNpZGViYXIvQXBwU2lkZWJhclRhYnMudnVlP2NjMzEiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNpZGViYXIvQXBwU2lkZWJhclRhYnMudnVlPzhmZjIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNpZGViYXIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNpZGViYXJUYWIvQXBwU2lkZWJhclRhYi52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNpZGViYXJUYWIvQXBwU2lkZWJhclRhYi52dWU/ZjA3YSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwU2lkZWJhclRhYi9BcHBTaWRlYmFyVGFiLnZ1ZT8yNzFiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBTaWRlYmFyVGFiL0FwcFNpZGViYXJUYWIudnVlPzdmODYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcFNpZGViYXJUYWIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0F2YXRhci9BdmF0YXIudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BdmF0YXIvQXZhdGFyLnZ1ZT9kNTFkIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BdmF0YXIvQXZhdGFyLnZ1ZT8zNzQyIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BdmF0YXIvQXZhdGFyLnZ1ZT8yODZlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BdmF0YXIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0JyZWFkY3J1bWIvQnJlYWRjcnVtYi52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0JyZWFkY3J1bWIvQnJlYWRjcnVtYi52dWU/ZWU4ZiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQnJlYWRjcnVtYi9CcmVhZGNydW1iLnZ1ZT9kYjE4Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9CcmVhZGNydW1iL0JyZWFkY3J1bWIudnVlPzM2NGEiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0JyZWFkY3J1bWIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0JyZWFkY3J1bWJzL0JyZWFkY3J1bWJzLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQnJlYWRjcnVtYnMvQnJlYWRjcnVtYnMudnVlPzFhYTUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0JyZWFkY3J1bWJzL0JyZWFkY3J1bWJzLnZ1ZT9iZTA4Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9CcmVhZGNydW1icy9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQ29sb3JQaWNrZXIvQ29sb3JQaWNrZXIudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Db2xvclBpY2tlci9Db2xvclBpY2tlci52dWU/N2EyNCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQ29sb3JQaWNrZXIvQ29sb3JQaWNrZXIudnVlPzY2ZmIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0NvbG9yUGlja2VyL0NvbG9yUGlja2VyLnZ1ZT83NTIxIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Db2xvclBpY2tlci9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQ29udGVudC9Db250ZW50LnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQ29udGVudC9Db250ZW50LnZ1ZT80Y2NiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Db250ZW50L0NvbnRlbnQudnVlP2M3MzUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0NvbnRlbnQvQ29udGVudC52dWU/NGRkZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQ29udGVudC9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvRGF0ZXRpbWVQaWNrZXIvRGF0ZXRpbWVQaWNrZXIudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9EYXRldGltZVBpY2tlci9EYXRldGltZVBpY2tlci52dWU/ZDYwNCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvRGF0ZXRpbWVQaWNrZXIvRGF0ZXRpbWVQaWNrZXIudnVlPzAxNWMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0RhdGV0aW1lUGlja2VyL2luZGV4LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9EYXRldGltZVBpY2tlci9pbmRleC5zY3NzP2YyYjEiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0VtcHR5Q29udGVudC9FbXB0eUNvbnRlbnQudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9FbXB0eUNvbnRlbnQvRW1wdHlDb250ZW50LnZ1ZT9kYjZhIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9FbXB0eUNvbnRlbnQvRW1wdHlDb250ZW50LnZ1ZT80ZWQzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9FbXB0eUNvbnRlbnQvRW1wdHlDb250ZW50LnZ1ZT8zNmQ2Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9FbXB0eUNvbnRlbnQvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0hpZ2hsaWdodC9IaWdobGlnaHQudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9IaWdobGlnaHQvSGlnaGxpZ2h0LnZ1ZT80MjkwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9IaWdobGlnaHQvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0xpc3RJdGVtSWNvbi9MaXN0SXRlbUljb24udnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9MaXN0SXRlbUljb24vTGlzdEl0ZW1JY29uLnZ1ZT81ZmQ5Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9MaXN0SXRlbUljb24vTGlzdEl0ZW1JY29uLnZ1ZT83Mjc5Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9MaXN0SXRlbUljb24vTGlzdEl0ZW1JY29uLnZ1ZT85OWY1Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9MaXN0SXRlbUljb24vaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL01vZGFsL01vZGFsLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvTW9kYWwvTW9kYWwudnVlPzZmYzEiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL01vZGFsL01vZGFsLnZ1ZT8zOTIxIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Nb2RhbC9Nb2RhbC52dWU/OGJhMSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvTW9kYWwvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL011bHRpc2VsZWN0L0VsbGlwc2lzZWRPcHRpb24udnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9NdWx0aXNlbGVjdC9FbGxpcHNpc2VkT3B0aW9uLnZ1ZT9jNGU1Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9NdWx0aXNlbGVjdC9FbGxpcHNpc2VkT3B0aW9uLnZ1ZT85MmNiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9NdWx0aXNlbGVjdC9FbGxpcHNpc2VkT3B0aW9uLnZ1ZT81MTNmIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9NdWx0aXNlbGVjdC9NdWx0aXNlbGVjdC52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL011bHRpc2VsZWN0L011bHRpc2VsZWN0LnZ1ZT80NzFkIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9NdWx0aXNlbGVjdC9NdWx0aXNlbGVjdC52dWU/M2I0ZiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvTXVsdGlzZWxlY3QvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL011bHRpc2VsZWN0L2luZGV4LnNjc3M/YWFhZiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvTXVsdGlzZWxlY3RUYWdzL011bHRpc2VsZWN0VGFncy52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL011bHRpc2VsZWN0VGFncy9NdWx0aXNlbGVjdFRhZ3MudnVlP2U1OTMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL011bHRpc2VsZWN0VGFncy9NdWx0aXNlbGVjdFRhZ3MudnVlPzQ3NWYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL011bHRpc2VsZWN0VGFncy9hcGkuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL011bHRpc2VsZWN0VGFncy9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlci9Qb3BvdmVyLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlci9Qb3BvdmVyLnZ1ZT8wMWQyIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Qb3BvdmVyL1BvcG92ZXIudnVlPzE0YzYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXIvUG9wb3Zlci52dWU/NzJmNiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlci9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnUudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Qb3BvdmVyTWVudS9Qb3BvdmVyTWVudS52dWU/N2U5NCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnUudnVlPzEyMDciLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXJNZW51L1BvcG92ZXJNZW51LnZ1ZT85ODA1Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Qb3BvdmVyTWVudS9Qb3BvdmVyTWVudUl0ZW0udnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Qb3BvdmVyTWVudS9Qb3BvdmVyTWVudUl0ZW0udnVlPzYzZTYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXJNZW51L1BvcG92ZXJNZW51SXRlbS52dWU/YTljNyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnVJdGVtLnZ1ZT85MTg4Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Qb3BvdmVyTWVudS9Qb3BvdmVyTWVudUl0ZW0udnVlP2MzY2UiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXJNZW51L2luZGV4LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL0F1dG9Db21wbGV0ZVJlc3VsdC52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1JpY2hDb250ZW50ZWRpdGFibGUvQXV0b0NvbXBsZXRlUmVzdWx0LnZ1ZT8yYzFjIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL0F1dG9Db21wbGV0ZVJlc3VsdC52dWU/YThhNyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUmljaENvbnRlbnRlZGl0YWJsZS9BdXRvQ29tcGxldGVSZXN1bHQudnVlPzczN2QiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1JpY2hDb250ZW50ZWRpdGFibGUvTWVudGlvbkJ1YmJsZS52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1JpY2hDb250ZW50ZWRpdGFibGUvTWVudGlvbkJ1YmJsZS52dWU/NjgyNSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUmljaENvbnRlbnRlZGl0YWJsZS9NZW50aW9uQnViYmxlLnZ1ZT9lZDgwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL01lbnRpb25CdWJibGUudnVlP2IwNDIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1JpY2hDb250ZW50ZWRpdGFibGUvUmljaENvbnRlbnRlZGl0YWJsZS52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1JpY2hDb250ZW50ZWRpdGFibGUvUmljaENvbnRlbnRlZGl0YWJsZS52dWU/ZDFhNyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUmljaENvbnRlbnRlZGl0YWJsZS9SaWNoQ29udGVudGVkaXRhYmxlLnZ1ZT85MjcwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL1JpY2hDb250ZW50ZWRpdGFibGUudnVlPzg2NTAiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1JpY2hDb250ZW50ZWRpdGFibGUvUmljaENvbnRlbnRlZGl0YWJsZS52dWU/YWI1MCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUmljaENvbnRlbnRlZGl0YWJsZS9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvU2V0dGluZ3NTZWN0aW9uL1NldHRpbmdzU2VjdGlvbi52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1NldHRpbmdzU2VjdGlvbi9TZXR0aW5nc1NlY3Rpb24udnVlPzIyZGMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1NldHRpbmdzU2VjdGlvbi9TZXR0aW5nc1NlY3Rpb24udnVlP2I4YzIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1NldHRpbmdzU2VjdGlvbi9TZXR0aW5nc1NlY3Rpb24udnVlPzNiZGIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1NldHRpbmdzU2VjdGlvbi9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvVXNlckJ1YmJsZS9Vc2VyQnViYmxlLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvVXNlckJ1YmJsZS9Vc2VyQnViYmxlLnZ1ZT8wNzhjIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Vc2VyQnViYmxlL1VzZXJCdWJibGUudnVlP2IxMDgiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1VzZXJCdWJibGUvVXNlckJ1YmJsZS52dWU/M2Q2MyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvVXNlckJ1YmJsZS9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9kaXJlY3RpdmVzL0ZvY3VzL2luZGV4LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvZGlyZWN0aXZlcy9MaW5raWZ5L2luZGV4LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvZGlyZWN0aXZlcy9Ub29sdGlwL2luZGV4LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvZGlyZWN0aXZlcy9Ub29sdGlwL2luZGV4LnNjc3M/YWZlOCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2RpcmVjdGl2ZXMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5lb3QiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5zdmciLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi50dGYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi53b2ZmIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvZnVuY3Rpb25zL3VzZXJuYW1lVG9Db2xvci9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2Z1bmN0aW9ucy91c2VybmFtZVRvQ29sb3IvdXNlcm5hbWVUb0NvbG9yLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9sMTBuLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvbWl4aW5zL2FjdGlvbkdsb2JhbC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL21peGlucy9hY3Rpb25UZXh0LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvbWl4aW5zL2V4Y2x1ZGVDbGlja091dHNpZGVDbGFzc2VzL2luZGV4LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvbWl4aW5zL2luZGV4LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvbWl4aW5zL2lzRnVsbHNjcmVlbi9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL21peGlucy9pc01vYmlsZS9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL21peGlucy9sMTBuLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvbWl4aW5zL3JpY2hFZGl0b3IvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9taXhpbnMvdXNlclN0YXR1cy5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL3V0aWxzL0ZpbmRSYW5nZXMuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy91dGlscy9HZW5Db2xvcnMuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy91dGlscy9HZW5SYW5kb21JZC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL3V0aWxzL0dldFBhcmVudC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL3V0aWxzL0lzTW9iaWxlU3RhdGUuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy91dGlscy9TY29wZUNvbXBvbmVudC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL3V0aWxzL1RpbWVyLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvdXRpbHMvVmFsaWRhdGVTbG90LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJAbmV4dGNsb3VkL2F1dGhcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiQG5leHRjbG91ZC9heGlvc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJAbmV4dGNsb3VkL2Jyb3dzZXItc3RvcmFnZVwiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJAbmV4dGNsb3VkL2NhcGFiaWxpdGllc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJAbmV4dGNsb3VkL2V2ZW50LWJ1c1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJAbmV4dGNsb3VkL2wxMG4vZGlzdC9nZXR0ZXh0XCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcIkBuZXh0Y2xvdWQvcm91dGVyXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC1pbmRleC5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmxhdC5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZnJvbS5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuaW5jbHVkZXMuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lml0ZXJhdG9yLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5qb2luLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnJlZHVjZS5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc2xpY2UuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNwbGljZS5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMubnVtYmVyLmNvbnN0cnVjdG9yLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QuZ2V0LW93bi1wcm9wZXJ0eS1kZXNjcmlwdG9yLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QuZ2V0LW93bi1wcm9wZXJ0eS1kZXNjcmlwdG9ycy5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LmtleXMuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC52YWx1ZXMuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnByb21pc2UuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5jb25zdHJ1Y3Rvci5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50by1zdHJpbmcuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5jb2RlLXBvaW50LWF0LmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuZnJvbS1jb2RlLXBvaW50LmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaW5jbHVkZXMuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pdGVyYXRvci5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLm1hdGNoLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucmVwbGFjZS5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnNlYXJjaC5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnNwbGl0LmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuc3RhcnRzLXdpdGguanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy50cmltLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5zeW1ib2wuZGVzY3JpcHRpb24uanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC5pdGVyYXRvci5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLml0ZXJhdG9yLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImRlYm91bmNlXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImVzY2FwZS1odG1sXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImhhbW1lcmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImxpbmtpZnlqcy9zdHJpbmdcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwibWQ1XCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcInJlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZS5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJzdHJpbmctbGVuZ3RoXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcInN0cmlwdGFnc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJ0cmlidXRlanMvZGlzdC90cmlidXRlLmVzbVwiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJ2LWNsaWNrLW91dHNpZGVcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwidi10b29sdGlwXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcInZ1ZVwiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJ2dWUtY29sb3JcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwidnVlLW11bHRpc2VsZWN0XCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcInZ1ZTItZGF0ZXBpY2tlclwiIl0sIm5hbWVzIjpbIkFjdGlvbkJ1dHRvbiIsIkFjdGlvbkNoZWNrYm94IiwiQWN0aW9uSW5wdXQiLCJBY3Rpb25MaW5rIiwiQWN0aW9uUmFkaW8iLCJBY3Rpb25Sb3V0ZXIiLCJBY3Rpb25TZXBhcmF0b3IiLCJBY3Rpb25UZXh0IiwiQWN0aW9uVGV4dEVkaXRhYmxlIiwiQWN0aW9ucyIsIkFwcENvbnRlbnQiLCJBcHBDb250ZW50RGV0YWlscyIsIkFwcENvbnRlbnRMaXN0IiwiQXBwTmF2aWdhdGlvbiIsIkFwcE5hdmlnYXRpb25DYXB0aW9uIiwiQXBwTmF2aWdhdGlvbkNvdW50ZXIiLCJBcHBOYXZpZ2F0aW9uSWNvbkJ1bGxldCIsIkFwcE5hdmlnYXRpb25JdGVtIiwiQXBwTmF2aWdhdGlvbk5ldyIsIkFwcE5hdmlnYXRpb25OZXdJdGVtIiwiQXBwTmF2aWdhdGlvblNldHRpbmdzIiwiQXBwTmF2aWdhdGlvblNwYWNlciIsIkFwcFNldHRpbmdzRGlhbG9nIiwiQXBwU2V0dGluZ3NTZWN0aW9uIiwiQXBwU2lkZWJhciIsIkFwcFNpZGViYXJUYWIiLCJBdmF0YXIiLCJCcmVhZGNydW1iIiwiQnJlYWRjcnVtYnMiLCJDb2xvclBpY2tlciIsIkNvbnRlbnQiLCJTY29wZUNvbXBvbmVudCIsIkRhdGV0aW1lUGlja2VyIiwiRW1wdHlDb250ZW50IiwiSGlnaGxpZ2h0IiwiTGlzdEl0ZW1JY29uIiwiTW9kYWwiLCJNdWx0aXNlbGVjdCIsInhtbFRvSnNvbiIsInhtbCIsIm9iaiIsIm5vZGVUeXBlIiwiYXR0cmlidXRlcyIsImxlbmd0aCIsImoiLCJhdHRyaWJ1dGUiLCJpdGVtIiwibm9kZU5hbWUiLCJub2RlVmFsdWUiLCJoYXNDaGlsZE5vZGVzIiwiaSIsImNoaWxkTm9kZXMiLCJwdXNoIiwib2xkIiwicGFyc2VYbWwiLCJkb20iLCJET01QYXJzZXIiLCJwYXJzZUZyb21TdHJpbmciLCJlIiwiY29uc29sZSIsImVycm9yIiwieG1sVG9UYWdMaXN0IiwianNvbiIsImxpc3QiLCJyZXN1bHQiLCJpbmRleCIsInRhZyIsImlkIiwicGFyc2VJbnQiLCJkaXNwbGF5TmFtZSIsImNhbkFzc2lnbiIsInVzZXJBc3NpZ25hYmxlIiwidXNlclZpc2libGUiLCJzZWFyY2hUYWdzIiwid2luZG93IiwiTmV4dGNsb3VkVnVlRG9jcyIsIlByb21pc2UiLCJyZXNvbHZlIiwidGFncyIsImF4aW9zIiwibWV0aG9kIiwidXJsIiwiZ2VuZXJhdGVSZW1vdGVVcmwiLCJkYXRhIiwiTXVsdGlzZWxlY3RUYWdzIiwiUG9wb3ZlciIsIlBvcG92ZXJNZW51IiwiUmljaENvbnRlbnRlZGl0YWJsZSIsIlNldHRpbmdzU2VjdGlvbiIsIlVzZXJCdWJibGUiLCJkaXJlY3RpdmUiLCJpbnNlcnRlZCIsImVsIiwiZm9jdXMiLCJiaW5kaW5nIiwidmFsdWUiLCJsaW5raWZ5IiwiaW5uZXJIVE1MIiwibGlua2lmeVN0ciIsInRleHQiLCJkZWZhdWx0UHJvdG9jb2wiLCJWVG9vbHRpcCIsIm9wdGlvbnMiLCJkZWZhdWx0VGVtcGxhdGUiLCJTQ09QRV9WRVJTSU9OIiwiZGVmYXVsdEh0bWwiLCJ1c2VybmFtZVRvQ29sb3IiLCJ1c2VybmFtZSIsImhhc2giLCJ0b0xvd2VyQ2FzZSIsIm1hdGNoIiwibWQ1IiwicmVwbGFjZSIsInN0ZXBzIiwiZmluYWxQYWxldHRlIiwiR2VuQ29sb3JzIiwiaGFzaFRvSW50IiwibWF4aW11bSIsImZpbmFsSW50IiwiY2hhckF0IiwiaW5zdGFsbCIsIlZ1ZSIsIk9iamVjdCIsInZhbHVlcyIsIk5jQ29tcG9uZW50cyIsImZvckVhY2giLCJjb21wb25lbnQiLCJuYW1lIiwiZ3RCdWlsZGVyIiwiZ2V0R2V0dGV4dEJ1aWxkZXIiLCJkZXRlY3RMb2NhbGUiLCJUUkFOU0xBVElPTlMiLCJsYW5nIiwidHJhbnNsYXRpb25zIiwia2V5IiwicGx1cmFsSWQiLCJtc2dpZCIsIm1zZ2lkX3BsdXJhbCIsIm1zZ3N0ciIsImFkZFRyYW5zbGF0aW9uIiwibG9jYWxlIiwiZ3QiLCJidWlsZCIsIm4iLCJuZ2V0dGV4dCIsImJpbmQiLCJ0IiwiZ2V0dGV4dCIsImJlZm9yZSIsIiRzbG90cyIsImRlZmF1bHQiLCJ0cmltIiwidXRpbCIsIndhcm4iLCIkb3B0aW9ucyIsIiRkZXN0cm95IiwiJGVsIiwicmVtb3ZlIiwiYmVmb3JlVXBkYXRlIiwiZ2V0VGV4dCIsImNvbXB1dGVkIiwiaXNMb25nVGV4dCIsIm1ldGhvZHMiLCJtaXhpbnMiLCJhY3Rpb25HbG9iYWwiLCJwcm9wcyIsImljb24iLCJ0eXBlIiwiU3RyaW5nIiwidGl0bGUiLCJjbG9zZUFmdGVyQ2xpY2siLCJCb29sZWFuIiwiYXJpYUxhYmVsIiwiaXNJY29uVXJsIiwiVVJMIiwib25DbGljayIsImV2ZW50IiwiJGVtaXQiLCJwYXJlbnQiLCJHZXRQYXJlbnQiLCJjbG9zZU1lbnUiLCJleGNsdWRlQ2xpY2tPdXRzaWRlQ2xhc3NlcyIsIkFycmF5IiwiY2xpY2tPdXRzaWRlTWlkZGxld2FyZSIsImV4Y2x1ZGVkQ2xhc3NMaXN0IiwiaXNBcnJheSIsImhhc05vZGVPckFueVBhcmVudENsYXNzIiwidGFyZ2V0Iiwibm9kZSIsImNsYXNzQXJyYXkiLCJjbGFzc05hbWUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsInBhcmVudEVsZW1lbnQiLCJpc0Z1bGxzY3JlZW4iLCJfaXNGdWxsc2NyZWVuIiwiYmVmb3JlTW91bnQiLCJhZGRFdmVudExpc3RlbmVyIiwiX29uUmVzaXplIiwiYmVmb3JlRGVzdHJveSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvdXRlckhlaWdodCIsInNjcmVlbiIsImhlaWdodCIsImlzTW9iaWxlIiwibW91bnRlZCIsIklzTW9iaWxlU3RhdGUiLCIkb24iLCJvbklzTW9iaWxlQ2hhbmdlZCIsIiRvZmYiLCJ2YWwiLCJNRU5USU9OX1NUQVJUIiwiTUVOVElPTl9FTkQiLCJVU0VSSURfUkVHRVgiLCJSZWdFeHAiLCJVU0VSSURfUkVHRVhfV0lUSF9TUEFDRSIsInVzZXJEYXRhIiwicmVuZGVyQ29udGVudCIsInNhbml0aXplZFZhbHVlIiwiZXNjYXBlSHRtbCIsInNwbGl0VmFsdWUiLCJzcGxpdCIsIm1hcCIsInBhcnQiLCJmbGF0Iiwic3RhcnRzV2l0aCIsInJlbCIsImdlblNlbGVjdFRlbXBsYXRlIiwiam9pbiIsInBhcnNlQ29udGVudCIsImNvbnRlbnQiLCJzdHJpcFRhZ3MiLCJpbmRleE9mIiwicmVuZGVyQ29tcG9uZW50SHRtbCIsIk1lbnRpb25CdWJibGUiLCJwcm9wc0RhdGEiLCJWaWV3IiwiZXh0ZW5kIiwiSXRlbSIsIndyYXBwZXIiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJtb3VudCIsInN0eWxlIiwiZGlzcGxheSIsImFwcGVuZENoaWxkIiwiYm9keSIsIiRtb3VudCIsInJlbmRlcmVkSHRtbCIsImhhc1N0YXR1cyIsInVzZXJTdGF0dXMiLCJzdGF0dXMiLCJtZXNzYWdlIiwiZmV0Y2hVc2VyU3RhdHVzIiwidXNlcklkIiwiY2FwYWJpbGl0aWVzIiwiZ2V0Q2FwYWJpbGl0aWVzIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwidXNlcl9zdGF0dXMiLCJlbmFibGVkIiwiZ2V0Q3VycmVudFVzZXIiLCJnZXQiLCJnZW5lcmF0ZU9jc1VybCIsImVuY29kZVVSSUNvbXBvbmVudCIsIm9jcyIsInJlc3BvbnNlIiwiRmluZFJhbmdlcyIsInNlYXJjaCIsInJhbmdlcyIsImN1cnJlbnRJbmRleCIsInN0YXJ0IiwiZW5kIiwiQ29sb3IiLCJyIiwiZyIsImIiLCJzdGVwQ2FsYyIsImVuZHMiLCJzdGVwIiwibWl4UGFsZXR0ZSIsImNvbG9yMSIsImNvbG9yMiIsInBhbGV0dGUiLCJyZWQiLCJ5ZWxsb3ciLCJibHVlIiwicGFsZXR0ZTEiLCJwYWxldHRlMiIsInBhbGV0dGUzIiwiY29uY2F0IiwiR2VuUmFuZG9tSWQiLCJNYXRoIiwicmFuZG9tIiwidG9TdHJpbmciLCJzdWJzdHIiLCJjb250ZXh0IiwiJHBhcmVudCIsIndhdGNoIiwiY3JlYXRlZCIsImhhbmRsZVdpbmRvd1Jlc2l6ZSIsImRvY3VtZW50RWxlbWVudCIsImNsaWVudFdpZHRoIiwiQ29tcG9uZW50Iiwic2V0QXR0cmlidXRlIiwidGltZXIiLCJjYWxsYmFjayIsImRlbGF5Iiwic3RhcnRlZCIsInJlbWFpbmluZyIsInJ1bm5pbmciLCJEYXRlIiwic2V0VGltZW91dCIsInBhdXNlIiwiY2xlYXJUaW1lb3V0IiwiY2xlYXIiLCJnZXRUaW1lTGVmdCIsImdldFN0YXRlUnVubmluZyIsIlZhbGlkYXRlU2xvdCIsInNsb3RzIiwiYWxsb3dlZCIsInZtIiwidW5kZWZpbmVkIiwiaXNIdG1sRWxlbWVudCIsImNvbXBvbmVudE9wdGlvbnMiLCJpc1Z1ZUNvbXBvbmVudCIsImlzRm9yYmlkZGVuQ29tcG9uZW50Iiwic3BsaWNlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1EO0FBQ25ELENBQUM7QUFDRCxPO1FD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QU0sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxhQUFhLEtBQUssT0FBTyxZQUFZLGFBQWEsTUFBTSwwQkFBMEIsTUFBTSxTQUFTLE1BQU0sWUFBWSxPQUFPLFVBQVUsWUFBWSxXQUFXLFlBQVksYUFBYSxhQUFhLFdBQVcsWUFBWSxXQUFXLFlBQVksTUFBTSxhQUFhLFlBQVksWUFBWSxXQUFXLEtBQUssU0FBUyxhQUFhLFdBQVcsWUFBWSxLQUFLLFNBQVMsV0FBVyxZQUFZLGNBQWMsYUFBYSxLQUFLLFNBQVMsYUFBYSxLQUFLLFNBQVMsYUFBYSxhQUFhLEtBQUssU0FBUyxXQUFXLFlBQVksYUFBYSxhQUFhLEtBQUssYUFBYSxhQUFhLGFBQWEsS0FBSyxTQUFTLGFBQWEsS0FBSyxTQUFTLFdBQVcsWUFBWSxhQUFhLE1BQU0sMkJBQTJCLE1BQU0sTUFBTSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxNQUFNLFVBQVUsV0FBVyxLQUFLLE1BQU0sWUFBWSxLQUFLLE9BQU8sVUFBVSxZQUFZLFdBQVcsVUFBVSxVQUFVLFVBQVUsVUFBVSxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsTUFBTSxPQUFPLGFBQWEsS0FBSyxPQUFPLFlBQVksS0FBSyxNQUFNLFlBQVksS0FBSyxRQUFRLFdBQVcsS0FBSyxPQUFPLFdBQVcsWUFBWSxLQUFLLE1BQU0sVUFBVSxXQUFXLFVBQVUsS0FBSyxRQUFRLGVBQWUsY0FBYyxhQUFhLEtBQUssTUFBTSxVQUFVLFlBQVksV0FBVyxXQUFXLGNBQWMsS0FBSyxPQUFPLFlBQVksV0FBVyxVQUFVLFVBQVUsVUFBVSxZQUFZLEtBQUssTUFBTSxVQUFVLFlBQVksYUFBYSxXQUFXLFVBQVUsWUFBWSxhQUFhLGFBQWEsV0FBVyxXQUFXLGFBQWEsYUFBYSxhQUFhLGFBQWEsWUFB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QUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLGFBQWEsS0FBSyxPQUFPLFlBQVksYUFBYSxNQUFNLDBCQUEwQixNQUFNLFNBQVMsTUFBTSxZQUFZLE9BQU8sVUFBVSxZQUFZLFdBQVcsWUFBWSxhQUFhLGFBQWEsV0FBVyxZQUFZLFdBQVcsWUFBWSxNQUFNLGFBQWEsWUFBWSxZQUFZLFdBQVcsS0FBSyxTQUFTLGFBQWEsV0FBVyxZQUFZLEtBQUssU0FBUyxXQUFXLFlBQVksY0FBYyxhQUFhLEtBQUssU0FBUyxhQUFhLEtBQUssU0FBUyxhQUFhLGFBQWEsS0FBSyxTQUFTLFdBQVcsWUFBWSxhQUFhLGFBQWEsS0FBSyxhQUFhLGFBQWEsYUFBYSxLQUFLLFNBQVMsYUFBYSxLQUFLLFNBQVMsV0FBVyxZQUFZLGFBQWEsTUFBTSwyQkFBMkIsTUFBTSxNQUFNLFlBQVksS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE1BQU0sVUFBVSxXQUFXLEtBQUssTUFBTSxZQUFZLEtBQUssT0FBTyxVQUFVLFlBQVksV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksYUFBYSxjQUFjLFdBQVcsWUFBWSxhQUFhLGFBQWEsYUFBYSxjQUFjLGFBQWEsTUFBTSxPQUFPLFlBQVksS0FBSyxPQUFPLFdBQVcsWUFBWSxLQUFLLE1BQU0sVUFBVSxXQUFXLFVBQVUsS0FBSyxRQUFRLGVBQWUsY0FBYyxhQUFhLEtBQUssTUFBTSxVQUFVLFVBQVUsWUFBWSxhQUFhLFlBQVksY0FBYyxLQUFLLE9BQU8sWUFBWSxXQUFXLFVBQVUsVUFBVSxVQUFVLFlBQVksS0FBSyxNQUFNLFVBQVUsWUFBWSxhQUFhLGFBQWEsWUFBWSxXQUFXLFVBQVUsVUFBVSxVQUFVLFlBQVksV0FBVyxXQUFXLGFBQWEsV0FBVyxZQUFZLFlBQVksWUFBWSxhQUFhLFlBQVksS0FBSyxNQUFNLGNBQWMsY0FBYyxhQUFhLFlBQVksS0FBSyxPQUFPLFVBQVUsV0FBVyxZQUFZLFlBQVksWUFBWSxhQUFhLGFBQWEsV0FBVyxXQUFXLE1BQU0sTUFBTSxVQUFVLEtBQUssTUFBTSxhQUFhLEtBQUssT0FBTyxhQUFhLGFBQWEsS0FBSyxPQUFPLFlBQVksVUFBVSxZQUFZLGFBQWEsS0FBSyxNQUFNLFlBQVksS0FBSyxNQUFNLFlBQVksb0RBQW9ELHFCQUFxQixnVkFBZ1YsZ0NBQWdDLGdDQUFnQyx5QkFBeUIsNEJBQTRCLHVCQUF1QiwyQkFBMkIsa0JBQWtCLDRCQUE0QixrQkFBa0IsaUJBQWlCLGNBQWMsZUFBZSxzQkFBc0Isd0JBQXdCLCtCQUErQixrQ0FBa0MsY0FBYyxxQkFBcUIsc0ZBQXNGLHFCQUFxQiwwQkFBMEIsaUNBQWlDLDJCQUEyQiw2QkFBNkIsS0FBSyxnQkFBZ0Isc0JBQXNCLDBCQUEwQixLQUFLLGVBQWUsbUJBQW1CLHlDQUF5QyxrSEFBa0gsb0JBQW9CLEtBQUssb0JBQW9CLGlCQUFpQiwrQkFBK0IsYUFBYSxRQUFRLGtDQUFrQyxLQUFLLHlDQUF5QyxvQkFBb0IscUJBQXFCLDZCQUE2QiwyQkFBMkIsOEJBQThCLGtDQUFrQyxLQUFLLGlCQUFpQix5QkFBeUIscUJBQXFCLGdCQUFnQixpQkFBaUIsa0JBQWtCLHVCQUF1QixLQUFLLGdCQUFnQixvQkFBb0IsMEJBQTBCLDhCQUE4Qix1REFBdUQsOEJBQThCLGtCQUFrQixlQUFlLHFDQUFxQyxnQkFBZ0IscUNBQXFDLGdCQUFnQix1QkFBdUIsd0JBQXdCLCtCQUErQix1Q0FBdUMsZ0JBQWdCLHlCQUF5Qiw4RkFBOEYsbUNBQW1DLDhCQUE4QixxQ0FBcUMsS0FBSyxnRkFBZ0YscUJBQXFCLHNCQUFzQix5Q0FBeUMscURBQXFELHlDQUF5QyxtR0FBbUcsNkJBQTZCLGdCQUFnQix1REFBdUQsd0JBQXdCLE9BQU8sNkdBQTZHLG1CQUFtQiw0Q0FBNEMsaURBQWlELFdBQVcsU0FBUyx5REFBeUQsd0RBQXdELDJEQUEyRCw2Q0FBNkMsV0FBVyxTQUFTLE9BQU8sNENBQTRDLHlEQUF5RCx5REFBeUQsdURBQXVELHlDQUF5QyxTQUFTLE9BQU8sS0FBSyxHQUFHLDJKQUEySixnREFBZ0QsR0FBRyxvRUFBb0UsNkNBQTZDLEdBQUcsc2pCQUFzakIsc2dCQUFzZ0IsbUZBQW1GLGdKQUFnSixtRkFBbUYsMkVBQTJFLHdDQUF3QyxzQkFBc0IsbUJBQW1CLHNJQUFzSSwrRkFBK0YsMkJBQTJCLHFEQUFxRCw0dUJBQTR1Qix1Q0FBdUMsc0pBQXNKLCtSQUErUixtVEFBbVQsK0ZBQStGLDBCQUEwQixrREFBa0QsS0FBSywyREFBMkQseUNBQXlDLGlCQUFpQixLQUFLLCtDQUErQyxHQUFHLDJGQUEyRixrQ0FBa0MsaUJBQWlCLGtCQUFrQiw4Q0FBOEMsMENBQTBDLEtBQUssUUFBUSxrREFBa0QsS0FBSyxtQ0FBbUMsK0NBQStDLHdDQUF3QyxpQkFBaUIsS0FBSyxtQ0FBbUMsR0FBRyxtRUFBbUUsNEJBQTRCLDBCQUEwQixrQ0FBa0MsaUJBQWlCLGtCQUFrQiw4Q0FBOEMsS0FBSyxRQUFRLGtEQUFrRCxLQUFLLGNBQWMsMEJBQTBCLHlCQUF5Qix1QkFBdUIsb0NBQW9DLEtBQUssR0FBRywwR0FBMEcsZ0JBQWdCLDJDQUEyQyw2Q0FBNkMsZ1dBQWdXLHNCQUFzQixHQUFHLHdHQUF3RyxPQUFPLG1CQUFtQixFQUFFLHlCQUF5Qix1QkFBdUIsdUZBQXVGLFlBQVksYUFBYSxFQUFFLE1BQU0sU0FBUyxnREFBZ0QsMERBQTBELE1BQU0sSUFBSSxTQUFTLE9BQU8sS0FBSyxHQUFHLG9qQkFBb2pCLHdoQkFBd2hCLGNBQWMscUJBQXFCLG1CQUFtQix1Q0FBdUMsK0NBQStDLHdDQUF3QyxrQkFBa0IsbURBQW1ELHNCQUFzQixzQ0FBc0MsNENBQTRDLGtHQUFrRyxzQkFBc0IsT0FBTyxrQkFBa0IsdUNBQXVDLHNCQUFzQix1REFBdUQsT0FBTyxLQUFLLGtCQUFrQixzQkFBc0IsaUNBQWlDLDJDQUEyQyxxREFBcUQsS0FBSyxrQkFBa0IsdUJBQXVCLEtBQUssaUJBQWlCLHVDQUF1QyxrQ0FBa0MsS0FBSywrREFBK0Qsc0JBQXNCLHVDQUF1QyxpREFBaUQscURBQXFELDBCQUEwQixrREFBa0QsMkRBQTJELCtEQUErRCxTQUFTLGtCQUFrQixnREFBZ0QsU0FBUyxPQUFPLG9CQUFvQix3QkFBd0IsOENBQThDLDhHQUE4RyxPQUFPLEtBQUssR0FBRyx1bUJBQXVtQiw0VkFBNFYsUUFBUSxnQkFBZ0Isd0RBQXdELE9BQU8sS0FBSyxHQUFHLDZCQUE2Qix1QkFBdUIsMkJBQTJCLGlDQUFpQyx3QkFBd0Isd0JBQXdCLG1DQUFtQyxPQUFPLFdBQVcsOEJBQThCLE9BQU8sS0FBSyxHQUFHLGlDQUFpQyxjQUFjLE1BQU0sRUFBRSxvQkFBb0IsOEJBQThCLG9CQUFvQixtQkFBbUIsZ0JBQWdCLGlCQUFpQixrQ0FBa0Msd0JBQXdCLDBCQUEwQixpQ0FBaUMsb0NBQW9DLGdCQUFnQix1QkFBdUIsd0ZBQXdGLHVCQUF1Qiw0QkFBNEIsMENBQTBDLG1DQUFtQywrQkFBK0IsK0JBQStCLE9BQU8sa0JBQWtCLHdCQUF3Qiw0QkFBNEIsT0FBTyxpQkFBaUIsK0JBQStCLGdDQUFnQywrQkFBK0IsaURBQWlELG9DQUFvQyxxQ0FBcUMsT0FBTywrQkFBK0IsK0JBQStCLGdDQUFnQywrQkFBK0Isc0NBQXNDLGlDQUFpQyxTQUFTLE9BQU8sa0NBQWtDLHlCQUF5QiwyQkFBMkIsaUhBQWlILGlDQUFpQyxHQUFHLDBCQUEwQix5QkFBeUIsMkZBQTJGLGdDQUFnQyxPQUFPLHFCQUFxQix3QkFBd0IsK0RBQStELE9BQU8sa0JBQWtCLDBCQUEwQixnQ0FBZ0MseUJBQXlCLDRCQUE0Qix3QkFBd0IsOEJBQThCLE9BQU8sS0FBSyxHQUFHLHFCQUFxQjtBQUN2dytCO0FBQ2Usc0ZBQXVCLEVBQUM7Ozs7Ozs7Ozs7Ozs7QUNoQnZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUM0SDtBQUM3QjtBQUNPO0FBQ3JCO0FBQ0M7QUFDRDtBQUNBO0FBQ2pGLDhCQUE4QixtRkFBMkIsQ0FBQyxzR0FBcUM7QUFDL0YseUNBQXlDLHNGQUErQixDQUFDLHVFQUE2QjtBQUN0Ryx5Q0FBeUMsc0ZBQStCLENBQUMsd0VBQTZCO0FBQ3RHLHlDQUF5QyxzRkFBK0IsQ0FBQyx1RUFBNkI7QUFDdEcseUNBQXlDLHNGQUErQixDQUFDLHVFQUE2QjtBQUN0RztBQUNBLDhCQUE4QixRQUFTLHNCQUFzQixpakJBQWlqQixnVkFBZ1YsMENBQTBDLHlEQUF5RCwwVEFBMFQsdUJBQXVCLDBCQUEwQix1QkFBdUIscUJBQXFCLEdBQUcsbURBQW1ELDRDQUE0QyxxQkFBcUIsR0FBRyw0Q0FBNEMsNENBQTRDLHFCQUFxQixHQUFHLG9EQUFvRCw0Q0FBNEMscUJBQXFCLEdBQUcsNkNBQTZDLDRDQUE0QyxxQkFBcUIsR0FBRyw0Q0FBNEMsNENBQTRDLHFCQUFxQixHQUFHLDJDQUEyQyw0Q0FBNEMscUJBQXFCLEdBQUcsdUNBQXVDLDRDQUE0QyxxQkFBcUIsR0FBRyx5Q0FBeUMsNENBQTRDLHFCQUFxQixHQUFHLHNDQUFzQyw0Q0FBNEMscUJBQXFCLEdBQUcsc0NBQXNDLDRDQUE0QyxxQkFBcUIsR0FBRyxzQ0FBc0MsNENBQTRDLHFCQUFxQixHQUFHLHVDQUF1Qyw0Q0FBNEMscUJBQXFCLEdBQUcsc0NBQXNDLDRDQUE0QyxxQkFBcUIsR0FBRyw0Q0FBNEMsNENBQTRDLHFCQUFxQixHQUFHLGtEQUFrRCw0Q0FBNEMscUJBQXFCLEdBQUcsaURBQWlELDRDQUE0QyxxQkFBcUIsR0FBRyx1REFBdUQsNENBQTRDLHFCQUFxQixHQUFHLG9EQUFvRCw0Q0FBNEMscUJBQXFCLEdBQUcsaUNBQWlDLHVCQUF1QiwwQkFBMEIsR0FBRyw4UkFBOFIsaUJBQWlCLGtEQUFrRCxHQUFHLHNHQUFzRyw2QkFBNkIsR0FBRyw0RUFBNEUsaUJBQWlCLGtEQUFrRCxHQUFHLG9GQUFvRiw2QkFBNkIsa0JBQWtCLHNCQUFzQixtQkFBbUIsZ0JBQWdCLG9CQUFvQixzQkFBc0IsbUJBQW1CLDBCQUEwQixvQ0FBb0MsR0FBRyw2Q0FBNkMsb0JBQW9CLDBCQUEwQiw4QkFBOEIsbUJBQW1CLHdCQUF3Qix3QkFBd0IsR0FBRyxrREFBa0Qsb0JBQW9CLHFCQUFxQiwwQkFBMEIsR0FBRyxvREFBb0Qsb0JBQW9CLEdBQUcsa0VBQWtFLDhDQUE4QywyQkFBMkIseUJBQXlCLHVCQUF1QixHQUFHLG1FQUFtRSx3QkFBd0IsR0FBRyx5REFBeUQsMkJBQTJCLDJCQUEyQiw0QkFBNEIsbUJBQW1CLG1EQUFtRCx1REFBdUQseUNBQXlDLDJCQUEyQixHQUFHLGdFQUFnRSw2QkFBNkIsb0JBQW9CLHFCQUFxQixHQUFHLHNEQUFzRCxtQkFBbUIseUNBQXlDLHFCQUFxQix1REFBdUQsR0FBRyx3UEFBd1Asc0RBQXNELDBFQUEwRSxHQUFHLHlDQUF5QyxtQkFBbUIsR0FBRywwSUFBMEksbUJBQW1CLEdBQUcsb0RBQW9ELHNCQUFzQixHQUFHLCtOQUErTiwwQ0FBMEMsR0FBRyxTQUFTLGdMQUFnTCx5QkFBeUIsTUFBTSxNQUFNLFlBQVksYUFBYSxXQUFXLGFBQWEsVUFBVSxNQUFNLE1BQU0sWUFBWSxhQUFhLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxhQUFhLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksYUFBYSxLQUFLLE9BQU8sWUFBWSxhQUFhLEtBQUssUUFBUSxZQUFZLGFBQWEsS0FBSyxNQUFNLFlBQVksZ0JBQWdCLEtBQUssUUFBUSxZQUFZLEtBQUssT0FBTyxhQUFhLGdCQUFnQixLQUFLLFFBQVEsWUFBWSxXQUFXLGFBQWEsZ0JBQWdCLGFBQWEsYUFBYSxhQUFhLFVBQVUsWUFBWSxhQUFhLEtBQUssTUFBTSxVQUFVLFlBQVksYUFBYSxjQUFjLGVBQWUsY0FBYyxLQUFLLE9BQU8sWUFBWSxjQUFjLGVBQWUsS0FBSyxPQUFPLFdBQVcsS0FBSyxLQUFLLGVBQWUsY0FBYyxhQUFhLFlBQVksS0FBSyxPQUFPLFlBQVksS0FBSyxPQUFPLFlBQVksZUFBZSxlQUFlLGFBQWEsY0FBYyxhQUFhLGFBQWEsYUFBYSxLQUFLLE1BQU0sWUFBWSxjQUFjLGdCQUFnQixLQUFLLFFBQVEsWUFBWSxjQUFjLFdBQVcsWUFBWSxLQUFLLE1BQU0sWUFBWSxhQUFhLEtBQUssTUFBTSxhQUFhLEtBQUssUUFBUSxZQUFZLEtBQUssT0FBTyxVQUFVLEtBQUssU0FBUyxZQUFZLG9EQUFvRCxxQkFBcUIsbzBDQUFvMEMsa0JBQWtCLHVCQUF1QiwwQkFBMEIsc05BQXNOLDZCQUE2QixpRkFBaUYsS0FBSyw0R0FBNEcsNkJBQTZCLEtBQUssb0RBQW9ELDZCQUE2QixpREFBaUQsS0FBSywrQ0FBK0MsNkJBQTZCLGtCQUFrQixpQ0FBaUMsOEJBQThCLGdCQUFnQiw0QkFBNEIsc0JBQXNCLG1CQUFtQix5Q0FBeUMsb0NBQW9DLEtBQUsscUNBQXFDLHNEQUFzRCwwQkFBMEIsOEJBQThCLCtCQUErQix3QkFBd0IsOEJBQThCLHdDQUF3QywwQkFBMEIsMkJBQTJCLGdDQUFnQyxPQUFPLGtCQUFrQixvQkFBb0IsT0FBTyx5QkFBeUIsa0NBQWtDLG1CQUFtQixnQ0FBZ0MsU0FBUyxPQUFPLHVCQUF1QiwyQkFBMkIsc0NBQXNDLDRCQUE0QiwrQkFBK0IsbURBQW1ELHdIQUF3SCxpREFBaUQsMkJBQTJCLHNEQUFzRCw2QkFBNkIsNEJBQTRCLDZCQUE2QixTQUFTLE9BQU8sb0JBQW9CLCtCQUErQix5Q0FBeUMscUJBQXFCLHVEQUF1RCwrRUFBK0Usc0RBQXNELDBFQUEwRSxTQUFTLE9BQU8sS0FBSyxpQkFBaUIsK0JBQStCLDRDQUE0QywrQkFBK0IsT0FBTyxpRUFBaUUsc0JBQXNCLE9BQU8sS0FBSyxHQUFHLGlCQUFpQix3RUFBd0UsNENBQTRDLEtBQUssR0FBRyxzakJBQXNqQixzZ0JBQXNnQixtRkFBbUYsZ0pBQWdKLG1GQUFtRiwyRUFBMkUsd0NBQXdDLHNCQUFzQixtQkFBbUIsc0lBQXNJLCtGQUErRiwyQkFBMkIscURBQXFELDR1QkFBNHVCLHVDQUF1QyxzSkFBc0osK1JBQStSLG1UQUFtVCwrRkFBK0YsMEJBQTBCLGtEQUFrRCxLQUFLLDJEQUEyRCx5Q0FBeUMsaUJBQWlCLEtBQUssK0NBQStDLEdBQUcsMkZBQTJGLGtDQUFrQyxpQkFBaUIsa0JBQWtCLDhDQUE4QywwQ0FBMEMsS0FBSyxRQUFRLGtEQUFrRCxLQUFLLG1DQUFtQywrQ0FBK0Msd0NBQXdDLGlCQUFpQixLQUFLLG1DQUFtQyxHQUFHLG1FQUFtRSw0QkFBNEIsMEJBQTBCLGtDQUFrQyxpQkFBaUIsa0JBQWtCLDhDQUE4QyxLQUFLLFFBQVEsa0RBQWtELEtBQUssY0FBYywwQkFBMEIseUJBQXlCLHVCQUF1QixvQ0FBb0MsS0FBSyxHQUFHLDBHQUEwRyxnQkFBZ0IsMkNBQTJDLDZDQUE2QyxnV0FBZ1csc0JBQXNCLEdBQUcsd0dBQXdHLE9BQU8sbUJBQW1CLEVBQUUseUJBQXlCLHVCQUF1Qix1RkFBdUYsWUFBWSxhQUFhLEVBQUUsTUFBTSxTQUFTLGdEQUFnRCwwREFBMEQsTUFBTSxJQUFJLFNBQVMsT0FBTyxLQUFLLEdBQUcscUJBQXFCO0FBQ3B2a0I7QUFDZSxzRkFBdUIsRUFBQzs7Ozs7Ozs7Ozs7OztBQ2hCdkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQzRIO0FBQzdCO0FBQy9GLDhCQUE4QixtRkFBMkIsQ0FBQyxzR0FBcUM7QUFDL0Y7QUFDQSw4QkFBOEIsUUFBUyxzQkFBc0IsaWpCQUFpakIsbVdBQW1XLHVCQUF1QixrQkFBa0Isc0JBQXNCLGlCQUFpQixxQkFBcUIseUJBQXlCLG1EQUFtRCxHQUFHLFNBQVMsa0lBQWtJLHlCQUF5QixNQUFNLE1BQU0sWUFBWSxXQUFXLFlBQVksV0FBVyxZQUFZLGFBQWEsYUFBYSxvREFBb0QscUJBQXFCLGtMQUFrTCx1QkFBdUIsa0JBQWtCLHNCQUFzQixpQkFBaUIscUJBQXFCLHVFQUF1RSxtREFBbUQsR0FBRyxzakJBQXNqQixzZ0JBQXNnQixtRkFBbUYsZ0pBQWdKLG1GQUFtRiwyRUFBMkUsd0NBQXdDLHNCQUFzQixtQkFBbUIsc0lBQXNJLCtGQUErRiwyQkFBMkIscURBQXFELHFCQUFxQjtBQUM5ckg7QUFDZSxzRkFBdUIsRUFBQzs7Ozs7Ozs7Ozs7OztBQ1B2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDNEg7QUFDN0I7QUFDL0YsOEJBQThCLG1GQUEyQixDQUFDLHNHQUFxQztBQUMvRjtBQUNBLDhCQUE4QixRQUFTLHNCQUFzQixpakJBQWlqQixzV0FBc1csMkJBQTJCLGdGQUFnRixpQkFBaUIscUJBQXFCLDZCQUE2QixjQUFjLFlBQVksa0JBQWtCLCtCQUErQiwyQkFBMkIsbURBQW1ELDhCQUE4QiwyQkFBMkIsMEJBQTBCLHNCQUFzQixnREFBZ0Qsa0JBQWtCLDJCQUEyQixpQkFBaUIsbUJBQW1CLEdBQUcsMkNBQTJDLDBCQUEwQixtQ0FBbUMsR0FBRywrRUFBK0UseUJBQXlCLG1CQUFtQixxQkFBcUIseUJBQXlCLHVCQUF1Qiw2QkFBNkIsb0JBQW9CLDZCQUE2QixHQUFHLDhDQUE4QyxnRUFBZ0UsMEJBQTBCLEdBQUcsR0FBRyxTQUFTLHFJQUFxSSx5QkFBeUIsTUFBTSxNQUFNLFlBQVksYUFBYSxhQUFhLGNBQWMsYUFBYSxhQUFhLFlBQVksVUFBVSxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxZQUFZLFdBQVcsVUFBVSxLQUFLLEtBQUssYUFBYSxjQUFjLEtBQUssT0FBTyxhQUFhLFdBQVcsVUFBVSxZQUFZLGFBQWEsYUFBYSxXQUFXLFlBQVksS0FBSyxNQUFNLEtBQUssYUFBYSxLQUFLLHNEQUFzRCxxQkFBcUIsMlNBQTJTLDJCQUEyQixnRkFBZ0YsNkJBQTZCLHFCQUFxQiw2QkFBNkIsd0JBQXdCLFlBQVkseUNBQXlDLDJCQUEyQixlQUFlLEVBQUUsMkJBQTJCLG1EQUFtRCw4QkFBOEIsMkJBQTJCLDBCQUEwQixzQkFBc0IsZ0RBQWdELGtCQUFrQiwyQkFBMkIsaUJBQWlCLG1CQUFtQixnQkFBZ0IsdUNBQXVDLG1DQUFtQyxLQUFLLG9EQUFvRCx5QkFBeUIsbUJBQW1CLHFCQUFxQix5QkFBeUIsdUJBQXVCLDZCQUE2QixvQkFBb0IsNkJBQTZCLEtBQUssR0FBRyxpSUFBaUksaURBQWlELHVDQUF1QyxLQUFLLEdBQUcsc2pCQUFzakIsc2dCQUFzZ0IsbUZBQW1GLGdKQUFnSixtRkFBbUYsMkVBQTJFLHdDQUF3QyxzQkFBc0IsbUJBQW1CLHNJQUFzSSwrRkFBK0YsMkJBQTJCLHFEQUFxRCxxQkFBcUI7QUFDbCtMO0FBQ2Usc0ZBQXVCLEVBQUM7Ozs7Ozs7Ozs7Ozs7QUNQdkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQzRIO0FBQzdCO0FBQy9GLDhCQUE4QixtRkFBMkIsQ0FBQyxzR0FBcUM7QUFDL0Y7QUFDQSw4QkFBOEIsUUFBUyxzQkFBc0IsaWpCQUFpakIsOFdBQThXLHNCQUFzQix5Q0FBeUMsc0JBQXNCLHVCQUF1Qix3QkFBd0IscUJBQXFCLDRCQUE0QixpQkFBaUIsZ0NBQWdDLGFBQWEsbUJBQW1CLEdBQUcsOERBQThELHFCQUFxQixHQUFHLFNBQVMsNElBQTRJLHlCQUF5QixNQUFNLEtBQUssWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksV0FBVyxVQUFVLEtBQUssS0FBSyxZQUFZLG9EQUFvRCxxQkFBcUIsbUVBQW1FLHNCQUFzQix5Q0FBeUMsaUNBQWlDLGtDQUFrQyx3QkFBd0IscUJBQXFCLDRCQUE0QixpQkFBaUIsZ0NBQWdDLGFBQWEsbUJBQW1CLEdBQUcsMEdBQTBHLG9DQUFvQyxHQUFHLG9qQkFBb2pCLHNnQkFBc2dCLG1GQUFtRixnSkFBZ0osbUZBQW1GLDJFQUEyRSx3Q0FBd0Msc0JBQXNCLG1CQUFtQixzSUFBc0ksK0ZBQStGLDJCQUEyQixxREFBcUQscUJBQXFCO0FBQ2xpSTtBQUNlLHNGQUF1QixFQUFDOzs7Ozs7Ozs7Ozs7O0FDUHZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUM0SDtBQUM3QjtBQUMvRiw4QkFBOEIsbUZBQTJCLENBQUMsc0dBQXFDO0FBQy9GO0FBQ0EsOEJBQThCLFFBQVMsc0JBQXNCLGlqQkFBaWpCLHFYQUFxWCxtREFBbUQscUJBQXFCLHVCQUF1QixvQkFBb0IsdUJBQXVCLDRCQUE0QixxQkFBcUIscUJBQXFCLDZDQUE2QyxxREFBcUQsR0FBRyxnRUFBZ0UsdUJBQXVCLHVDQUF1Qyw2Q0FBNkMsR0FBRyxTQUFTLDRJQUE0SSx5QkFBeUIsTUFBTSxNQUFNLFlBQVksYUFBYSxhQUFhLGFBQWEsY0FBYyxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsS0FBSyxNQUFNLFlBQVksYUFBYSxhQUFhLG9EQUFvRCxxQkFBcUIsOEpBQThKLG1EQUFtRCxxQkFBcUIsdUJBQXVCLCtCQUErQix1QkFBdUIsNEJBQTRCLHFCQUFxQixxQkFBcUIsNkNBQTZDLHFEQUFxRCxzQkFBc0IsdUJBQXVCLHVDQUF1Qyw2Q0FBNkMsS0FBSyxHQUFHLHNqQkFBc2pCLHNnQkFBc2dCLG1GQUFtRixnSkFBZ0osbUZBQW1GLDJFQUEyRSx3Q0FBd0Msc0JBQXNCLG1CQUFtQixzSUFBc0ksK0ZBQStGLDJCQUEyQixxREFBcUQscUJBQXFCO0FBQ3h6STtBQUNlLHNGQUF1QixFQUFDOzs7Ozs7Ozs7Ozs7O0FDUHZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUM0SDtBQUM3QjtBQUMvRiw4QkFBOEIsbUZBQTJCLENBQUMsc0dBQXFDO0FBQy9GO0FBQ0EsOEJBQThCLFFBQVMsc0JBQXNCLGlqQkFBaWpCLHlYQUF5WCxtQkFBbUIsa0JBQWtCLEdBQUcsMkRBQTJELGtCQUFrQixtQkFBbUIsc0JBQXNCLCtDQUErQyxtQkFBbUIseUJBQXlCLEdBQUcsU0FBUywrSUFBK0kseUJBQXlCLE1BQU0sTUFBTSxVQUFVLFdBQVcsS0FBSyxNQUFNLFdBQVcsWUFBWSxXQUFXLFlBQVksV0FBVyxZQUFZLG9EQUFvRCxxQkFBcUIsc01BQXNNLG1CQUFtQix5REFBeUQsU0FBUyw4QkFBOEIsK0JBQStCLHNCQUFzQiwrQ0FBK0MsbUJBQW1CLHlCQUF5QixLQUFLLEdBQUcsc2pCQUFzakIsc2dCQUFzZ0IsbUZBQW1GLGdKQUFnSixtRkFBbUYsMkVBQTJFLHdDQUF3QyxzQkFBc0IsbUJBQW1CLHNJQUFzSSwrRkFBK0YsMkJBQTJCLHFEQUFxRCxxQkFBcUI7QUFDdjNIO0FBQ2Usc0ZBQXVCLEVBQUM7Ozs7Ozs7Ozs7Ozs7QUNQdkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQzRIO0FBQzdCO0FBQ087QUFDckI7QUFDQztBQUNEO0FBQ0E7QUFDakYsOEJBQThCLG1GQUEyQixDQUFDLHNHQUFxQztBQUMvRix5Q0FBeUMsc0ZBQStCLENBQUMsdUVBQTZCO0FBQ3RHLHlDQUF5QyxzRkFBK0IsQ0FBQyx3RUFBNkI7QUFDdEcseUNBQXlDLHNGQUErQixDQUFDLHVFQUE2QjtBQUN0Ryx5Q0FBeUMsc0ZBQStCLENBQUMsdUVBQTZCO0FBQ3RHO0FBQ0EsOEJBQThCLFFBQVMsc0JBQXNCLGlqQkFBaWpCLGdWQUFnViwwQ0FBMEMseURBQXlELDBUQUEwVCx1QkFBdUIsMEJBQTBCLHVCQUF1QixxQkFBcUIsR0FBRyxtREFBbUQsNENBQTRDLHFCQUFxQixHQUFHLDRDQUE0Qyw0Q0FBNEMscUJBQXFCLEdBQUcsb0RBQW9ELDRDQUE0QyxxQkFBcUIsR0FBRyw2Q0FBNkMsNENBQTRDLHFCQUFxQixHQUFHLDRDQUE0Qyw0Q0FBNEMscUJBQXFCLEdBQUcsMkNBQTJDLDRDQUE0QyxxQkFBcUIsR0FBRyx1Q0FBdUMsNENBQTRDLHFCQUFxQixHQUFHLHlDQUF5Qyw0Q0FBNEMscUJBQXFCLEdBQUcsc0NBQXNDLDRDQUE0QyxxQkFBcUIsR0FBRyxzQ0FBc0MsNENBQTRDLHFCQUFxQixHQUFHLHNDQUFzQyw0Q0FBNEMscUJBQXFCLEdBQUcsdUNBQXVDLDRDQUE0QyxxQkFBcUIsR0FBRyxzQ0FBc0MsNENBQTRDLHFCQUFxQixHQUFHLDRDQUE0Qyw0Q0FBNEMscUJBQXFCLEdBQUcsa0RBQWtELDRDQUE0QyxxQkFBcUIsR0FBRyxpREFBaUQsNENBQTRDLHFCQUFxQixHQUFHLHVEQUF1RCw0Q0FBNEMscUJBQXFCLEdBQUcsb0RBQW9ELDRDQUE0QyxxQkFBcUIsR0FBRyxtQ0FBbUMsdUJBQXVCLGlCQUFpQixnQkFBZ0IsaUJBQWlCLGNBQWMsZUFBZSwyREFBMkQsc0NBQXNDLGtDQUFrQyw4QkFBOEIsa0NBQWtDLGlCQUFpQixxQkFBcUIsNkJBQTZCLGtDQUFrQyxxQkFBcUIsb0JBQW9CLEdBQUcsMENBQTBDLDRDQUE0Qyx5QkFBeUIsdUJBQXVCLHFCQUFxQixHQUFHLHlDQUF5QyxrQ0FBa0MsR0FBRyw0Q0FBNEMsc0NBQXNDLGtDQUFrQyw4QkFBOEIsb0NBQW9DLEdBQUcsa0RBQWtELG9DQUFvQyxHQUFHLFNBQVMscU1BQXFNLHlCQUF5QixNQUFNLE1BQU0sWUFBWSxhQUFhLFdBQVcsYUFBYSxVQUFVLE1BQU0sTUFBTSxZQUFZLGFBQWEsS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLGFBQWEsS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxhQUFhLEtBQUssT0FBTyxZQUFZLGFBQWEsS0FBSyxPQUFPLFlBQVksV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLGFBQWEsV0FBVyxLQUFLLE9BQU8sY0FBYyxjQUFjLGFBQWEsWUFBWSxLQUFLLE9BQU8sYUFBYSxLQUFLLE1BQU0sWUFBWSxhQUFhLGFBQWEsYUFBYSxLQUFLLE1BQU0sWUFBWSxvREFBb0QscUJBQXFCLGdKQUFnSixvQkFBb0IsdUJBQXVCLGlCQUFpQix5Q0FBeUMsaUJBQWlCLGNBQWMsZUFBZSwyREFBMkQsc0NBQXNDLGtDQUFrQyw4QkFBOEIsa0NBQWtDLGlCQUFpQixxQkFBcUIsNkJBQTZCLGtDQUFrQyxxQkFBcUIsb0JBQW9CLHNDQUFzQyxjQUFjLGtDQUFrQyxLQUFLLGdCQUFnQixzQ0FBc0Msa0NBQWtDLDhCQUE4QixvQ0FBb0MsY0FBYyxvQ0FBb0MsT0FBTyxLQUFLLEdBQUcsc2pCQUFzakIsc2dCQUFzZ0IsbUZBQW1GLGdKQUFnSixtRkFBbUYsMkVBQTJFLHdDQUF3QyxzQkFBc0IsbUJBQW1CLHNJQUFzSSwrRkFBK0YsMkJBQTJCLHFEQUFxRCw0dUJBQTR1Qix1Q0FBdUMsc0pBQXNKLCtSQUErUixtVEFBbVQsK0ZBQStGLDBCQUEwQixrREFBa0QsS0FBSywyREFBMkQseUNBQXlDLGlCQUFpQixLQUFLLCtDQUErQyxHQUFHLDJGQUEyRixrQ0FBa0MsaUJBQWlCLGtCQUFrQiw4Q0FBOEMsMENBQTBDLEtBQUssUUFBUSxrREFBa0QsS0FBSyxtQ0FBbUMsK0NBQStDLHdDQUF3QyxpQkFBaUIsS0FBSyxtQ0FBbUMsR0FBRyxtRUFBbUUsNEJBQTRCLDBCQUEwQixrQ0FBa0MsaUJBQWlCLGtCQUFrQiw4Q0FBOEMsS0FBSyxRQUFRLGtEQUFrRCxLQUFLLGNBQWMsMEJBQTBCLHlCQUF5Qix1QkFBdUIsb0NBQW9DLEtBQUssR0FBRywwR0FBMEcsZ0JBQWdCLDJDQUEyQyw2Q0FBNkMsZ1dBQWdXLHNCQUFzQixHQUFHLHdHQUF3RyxPQUFPLG1CQUFtQixFQUFFLHlCQUF5Qix1QkFBdUIsdUZBQXVGLFlBQVksYUFBYSxFQUFFLE1BQU0sU0FBUyxnREFBZ0QsMERBQTBELE1BQU0sSUFBSSxTQUFTLE9BQU8sS0FBSyxHQUFHLHFCQUFxQjtBQUM5eVk7QUFDZSxzRkFBdUIsRUFBQzs7Ozs7Ozs7Ozs7OztBQ2hCdkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQzRIO0FBQzdCO0FBQ087QUFDckI7QUFDQztBQUNEO0FBQ0E7QUFDakYsOEJBQThCLG1GQUEyQixDQUFDLHNHQUFxQztBQUMvRix5Q0FBeUMsc0ZBQStCLENBQUMsdUVBQTZCO0FBQ3RHLHlDQUF5QyxzRkFBK0IsQ0FBQyx3RUFBNkI7QUFDdEcseUNBQXlDLHNGQUErQixDQUFDLHVFQUE2QjtBQUN0Ryx5Q0FBeUMsc0ZBQStCLENBQUMsdUVBQTZCO0FBQ3RHO0FBQ0EsOEJBQThCLFFBQVMsc0JBQXNCLGlqQkFBaWpCLGdWQUFnViwwQ0FBMEMseURBQXlELDBUQUEwVCx1QkFBdUIsU0FBUyx1QkFBdUIscUJBQXFCLEdBQUcsa0NBQWtDLDRDQUE0QyxxQkFBcUIsR0FBRywyQkFBMkIsNENBQTRDLHFCQUFxQixHQUFHLG1DQUFtQyw0Q0FBNEMscUJBQXFCLEdBQUcsNEJBQTRCLDRDQUE0QyxxQkFBcUIsR0FBRywyQkFBMkIsNENBQTRDLHFCQUFxQixHQUFHLDBCQUEwQiw0Q0FBNEMscUJBQXFCLEdBQUcsc0JBQXNCLDRDQUE0QyxxQkFBcUIsR0FBRyx3QkFBd0IsNENBQTRDLHFCQUFxQixHQUFHLHFCQUFxQiw0Q0FBNEMscUJBQXFCLEdBQUcscUJBQXFCLDRDQUE0QyxxQkFBcUIsR0FBRyxxQkFBcUIsNENBQTRDLHFCQUFxQixHQUFHLHNCQUFzQiw0Q0FBNEMscUJBQXFCLEdBQUcscUJBQXFCLDRDQUE0QyxxQkFBcUIsR0FBRywyQkFBMkIsNENBQTRDLHFCQUFxQixHQUFHLGlDQUFpQyw0Q0FBNEMscUJBQXFCLEdBQUcsZ0NBQWdDLDRDQUE0QyxxQkFBcUIsR0FBRyxzQ0FBc0MsNENBQTRDLHFCQUFxQixHQUFHLG1DQUFtQyw0Q0FBNEMscUJBQXFCLEdBQUcseUJBQXlCLHVCQUF1QixrQkFBa0IsbUJBQW1CLG9CQUFvQixhQUFhLDJCQUEyQixnQkFBZ0IscUJBQXFCLHVCQUF1Qix1RkFBdUYsZ0NBQWdDLDhEQUE4RCxHQUFHLG1FQUFtRSxzREFBc0QsR0FBRyxpTUFBaU0scURBQXFELEdBQUcsNkpBQTZKLG9CQUFvQixHQUFHLDZLQUE2SywwQkFBMEIsR0FBRyxxR0FBcUcsbUJBQW1CLDhEQUE4RCx1QkFBdUIsa0JBQWtCLDZCQUE2Qix1QkFBdUIsaUJBQWlCLDBCQUEwQixvQ0FBb0MsbUNBQW1DLHVDQUF1QyxpQ0FBaUMsd0JBQXdCLEdBQUcsMkpBQTJKLHNCQUFzQiw0QkFBNEIsdUJBQXVCLGdDQUFnQyxvQkFBb0IscUJBQXFCLG1DQUFtQyxHQUFHLCtKQUErSix5QkFBeUIsd0JBQXdCLDRCQUE0QixnQ0FBZ0MsMEJBQTBCLEdBQUcseUlBQXlJLGlDQUFpQyxxQkFBcUIsR0FBRyx5REFBeUQseUJBQXlCLG9CQUFvQixxQkFBcUIsNkJBQTZCLGtCQUFrQixHQUFHLCtFQUErRSw2QkFBNkIsd0JBQXdCLDJCQUEyQixHQUFHLDJEQUEyRCx5QkFBeUIsZ0JBQWdCLGtDQUFrQyxHQUFHLDZFQUE2RSx5QkFBeUIsdUJBQXVCLGtCQUFrQiwwQkFBMEIsOEJBQThCLHdCQUF3QixHQUFHLHdKQUF3Six1QkFBdUIsR0FBRywrT0FBK08sdUJBQXVCLEdBQUcscU1BQXFNLHdCQUF3QixHQUFHLHNhQUFzYSx3QkFBd0IsR0FBRyw2REFBNkQsa0JBQWtCLHdCQUF3QixtQkFBbUIsR0FBRywyREFBMkQsc0JBQXNCLGtCQUFrQix3QkFBd0IsbUJBQW1CLEdBQUcsb0ZBQW9GLGlCQUFpQixlQUFlLEdBQUcsdUZBQXVGLGlCQUFpQiw2QkFBNkIsR0FBRyx1REFBdUQsYUFBYSxxQkFBcUIsR0FBRyxpRUFBaUUsb0JBQW9CLEdBQUcsU0FBUywwTEFBMEwseUJBQXlCLE1BQU0sTUFBTSxZQUFZLGFBQWEsV0FBVyxhQUFhLFVBQVUsTUFBTSxNQUFNLFlBQVksYUFBYSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksYUFBYSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLGFBQWEsS0FBSyxPQUFPLFlBQVksYUFBYSxLQUFLLE9BQU8sWUFBWSxXQUFXLFVBQVUsVUFBVSxVQUFVLFlBQVksV0FBVyxhQUFhLGNBQWMsYUFBYSxZQUFZLE1BQU0sT0FBTyxZQUFZLEtBQUssTUFBTSxhQUFhLEtBQUssT0FBTyxhQUFhLEtBQUssT0FBTyxXQUFXLEtBQUssT0FBTyxjQUFjLEtBQUssT0FBTyxXQUFXLFdBQVcsVUFBVSxZQUFZLFdBQVcsWUFBWSxjQUFjLFlBQVksWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGNBQWMsS0FBSyxPQUFPLFdBQVcsWUFBWSxhQUFhLGNBQWMsYUFBYSxjQUFjLGNBQWMsS0FBSyxPQUFPLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxLQUFLLE9BQU8sYUFBYSxXQUFXLEtBQUssTUFBTSxhQUFhLFdBQVcsVUFBVSxZQUFZLFdBQVcsS0FBSyxNQUFNLGFBQWEsV0FBVyxZQUFZLE1BQU0sWUFBWSxLQUFLLFlBQVksV0FBVyxZQUFZLEtBQUssTUFBTSxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsZUFBZSxNQUFNLFFBQVEsUUFBUSxPQUFPLFlBQVksS0FBSyxNQUFNLFlBQVksS0FBSyxNQUFNLFlBQVksS0FBSyxNQUFNLGFBQWEsTUFBTSxZQUFZLEtBQUssVUFBVSxZQUFZLFdBQVcsTUFBTSxVQUFVLEtBQUssWUFBWSxXQUFXLFlBQVksV0FBVyxNQUFNLFdBQVcsS0FBSyxVQUFVLFVBQVUsTUFBTSxXQUFXLEtBQUssVUFBVSxZQUFZLE1BQU0sWUFBWSxLQUFLLFVBQVUsWUFBWSxLQUFLLE1BQU0sVUFBVSxvREFBb0QscUJBQXFCLGs2QkFBazZCLDJCQUEyQix1QkFBdUIsa0JBQWtCLG1CQUFtQixvQkFBb0IsYUFBYSwyQkFBMkIsZ0JBQWdCLGdDQUFnQyx1QkFBdUIsNEtBQTRLLDhEQUE4RCxLQUFLLGdDQUFnQyxzREFBc0QsS0FBSyw2Q0FBNkMsdUNBQXVDLHVEQUF1RCxPQUFPLEtBQUssOEpBQThKLFlBQVkscUdBQXFHLE9BQU8sS0FBSyw2Q0FBNkMsNkRBQTZELG9DQUFvQyxPQUFPLEtBQUssbUZBQW1GLG1CQUFtQix5REFBeUQsdUJBQXVCLGtCQUFrQiw2QkFBNkIsa0NBQWtDLGlCQUFpQiwwQkFBMEIsb0NBQW9DLG1DQUFtQywrQ0FBK0MsNkNBQTZDLG1DQUFtQyxvQ0FBb0Msc0JBQXNCLDRCQUE0QixrQ0FBa0MsZ0NBQWdDLCtCQUErQixnQ0FBZ0MsK0NBQStDLE9BQU8sc0NBQXNDLHlCQUF5Qix3QkFBd0IsNEJBQTRCLGdDQUFnQywwQkFBMEIsT0FBTywyQkFBMkIsNkJBQTZCLGdCQUFnQixFQUFFLHFCQUFxQixPQUFPLEtBQUssK0VBQStFLHlCQUF5QixvQkFBb0IscUJBQXFCLDZCQUE2QixrQkFBa0IsK0JBQStCLDZCQUE2Qix3QkFBd0IscURBQXFELE9BQU8sS0FBSyxHQUFHLDJEQUEyRCx5QkFBeUIsZ0JBQWdCLDREQUE0RCxnREFBZ0QseUJBQXlCLHVCQUF1QixrQkFBa0IsMEJBQTBCLDhCQUE4QixtQ0FBbUMsS0FBSyxHQUFHLHlJQUF5SSxtREFBbUQseUJBQXlCLEtBQUssMERBQTBELG9DQUFvQyxvREFBb0QsT0FBTyxzQkFBc0IsK0RBQStELE9BQU8sOExBQThMLDRCQUE0QixPQUFPLEtBQUssR0FBRyw2REFBNkQsa0JBQWtCLHdCQUF3QixtQkFBbUIsR0FBRywyREFBMkQsZ0ZBQWdGLGtCQUFrQix3QkFBd0IsbUJBQW1CLEdBQUcsb0VBQW9FLGdDQUFnQyxtQkFBbUIsaUJBQWlCLEtBQUssR0FBRyx5REFBeUQsbUNBQW1DLG1CQUFtQiwrQkFBK0IsS0FBSyxHQUFHLHVEQUF1RCxhQUFhLHFCQUFxQix1RkFBdUYsb0JBQW9CLEtBQUssR0FBRyxzakJBQXNqQixzZ0JBQXNnQixtRkFBbUYsZ0pBQWdKLG1GQUFtRiwyRUFBMkUsd0NBQXdDLHNCQUFzQixtQkFBbUIsc0lBQXNJLCtGQUErRiwyQkFBMkIscURBQXFELDR1QkFBNHVCLHVDQUF1QyxzSkFBc0osK1JBQStSLG1UQUFtVCwrRkFBK0YsMEJBQTBCLGtEQUFrRCxLQUFLLDJEQUEyRCx5Q0FBeUMsaUJBQWlCLEtBQUssK0NBQStDLEdBQUcsMkZBQTJGLGtDQUFrQyxpQkFBaUIsa0JBQWtCLDhDQUE4QywwQ0FBMEMsS0FBSyxRQUFRLGtEQUFrRCxLQUFLLG1DQUFtQywrQ0FBK0Msd0NBQXdDLGlCQUFpQixLQUFLLG1DQUFtQyxHQUFHLG1FQUFtRSw0QkFBNEIsMEJBQTBCLGtDQUFrQyxpQkFBaUIsa0JBQWtCLDhDQUE4QyxLQUFLLFFBQVEsa0RBQWtELEtBQUssY0FBYywwQkFBMEIseUJBQXlCLHVCQUF1QixvQ0FBb0MsS0FBSyxHQUFHLDBHQUEwRyxnQkFBZ0IsMkNBQTJDLDZDQUE2QyxnV0FBZ1csc0JBQXNCLEdBQUcsd0dBQXdHLE9BQU8sbUJBQW1CLEVBQUUseUJBQXlCLHVCQUF1Qix1RkFBdUYsWUFBWSxhQUFhLEVBQUUsTUFBTSxTQUFTLGdEQUFnRCwwREFBMEQsTUFBTSxJQUFJLFNBQVMsT0FBTyxLQUFLLEdBQUcscUJBQXFCO0FBQzNscUI7QUFDZSxzRkFBdUIsRUFBQzs7Ozs7Ozs7Ozs7OztBQ2hCdkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQzRIO0FBQzdCO0FBQ087QUFDckI7QUFDQztBQUNEO0FBQ0E7QUFDakYsOEJBQThCLG1GQUEyQixDQUFDLHNHQUFxQztBQUMvRix5Q0FBeUMsc0ZBQStCLENBQUMsdUVBQTZCO0FBQ3RHLHlDQUF5QyxzRkFBK0IsQ0FBQyx3RUFBNkI7QUFDdEcseUNBQXlDLHNGQUErQixDQUFDLHVFQUE2QjtBQUN0Ryx5Q0FBeUMsc0ZBQStCLENBQUMsdUVBQTZCO0FBQ3RHO0FBQ0EsOEJBQThCLFFBQVMsc0JBQXNCLGlqQkFBaWpCLGdWQUFnViwwQ0FBMEMseURBQXlELDBUQUEwVCx1QkFBdUIsU0FBUyx1QkFBdUIscUJBQXFCLEdBQUcsa0NBQWtDLDRDQUE0QyxxQkFBcUIsR0FBRywyQkFBMkIsNENBQTRDLHFCQUFxQixHQUFHLG1DQUFtQyw0Q0FBNEMscUJBQXFCLEdBQUcsNEJBQTRCLDRDQUE0QyxxQkFBcUIsR0FBRywyQkFBMkIsNENBQTRDLHFCQUFxQixHQUFHLDBCQUEwQiw0Q0FBNEMscUJBQXFCLEdBQUcsc0JBQXNCLDRDQUE0QyxxQkFBcUIsR0FBRyx3QkFBd0IsNENBQTRDLHFCQUFxQixHQUFHLHFCQUFxQiw0Q0FBNEMscUJBQXFCLEdBQUcscUJBQXFCLDRDQUE0QyxxQkFBcUIsR0FBRyxxQkFBcUIsNENBQTRDLHFCQUFxQixHQUFHLHNCQUFzQiw0Q0FBNEMscUJBQXFCLEdBQUcscUJBQXFCLDRDQUE0QyxxQkFBcUIsR0FBRywyQkFBMkIsNENBQTRDLHFCQUFxQixHQUFHLGlDQUFpQyw0Q0FBNEMscUJBQXFCLEdBQUcsZ0NBQWdDLDRDQUE0QyxxQkFBcUIsR0FBRyxzQ0FBc0MsNENBQTRDLHFCQUFxQixHQUFHLG1DQUFtQyw0Q0FBNEMscUJBQXFCLEdBQUcsaURBQWlELG1CQUFtQixnQkFBZ0IsR0FBRyxzREFBc0Qsb0JBQW9CLEdBQUcsMEZBQTBGLHVCQUF1Qix3QkFBd0IsR0FBRyw2REFBNkQsc0JBQXNCLDRCQUE0QixnQ0FBZ0MsK0JBQStCLHNDQUFzQyx5QkFBeUIsd0JBQXdCLEdBQUcscUVBQXFFLHVCQUF1QixHQUFHLG9KQUFvSixxQkFBcUIsR0FBRywwRUFBMEUsNEJBQTRCLEdBQUcsaUZBQWlGLGtEQUFrRCwrQkFBK0IsNkJBQTZCLDJCQUEyQixHQUFHLGdGQUFnRixzRkFBc0YsR0FBRywrRUFBK0UsZ0RBQWdELDZCQUE2QiwyQkFBMkIseUJBQXlCLEdBQUcsa0VBQWtFLGtCQUFrQixxQkFBcUIsc0NBQXNDLEdBQUcsU0FBUywyTEFBMkwseUJBQXlCLE1BQU0sTUFBTSxZQUFZLGFBQWEsV0FBVyxhQUFhLFVBQVUsTUFBTSxNQUFNLFlBQVksYUFBYSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksYUFBYSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLGFBQWEsS0FBSyxPQUFPLFlBQVksYUFBYSxLQUFLLE9BQU8sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxNQUFNLFVBQVUsWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLFdBQVcsS0FBSyxPQUFPLFlBQVksS0FBSyxPQUFPLFlBQVksS0FBSyxPQUFPLGFBQWEsS0FBSyxPQUFPLGFBQWEsY0FBYyxhQUFhLFlBQVksS0FBSyxPQUFPLGFBQWEsS0FBSyxPQUFPLGFBQWEsY0FBYyxhQUFhLFlBQVksS0FBSyxPQUFPLFdBQVcsVUFBVSxZQUFZLG9EQUFvRCxxQkFBcUIsNE1BQTRNLG1EQUFtRCxtQkFBbUIsZ0JBQWdCLFVBQVUsb0JBQW9CLDJDQUEyQyx1QkFBdUIsd0JBQXdCLE9BQU8sa0RBQWtELHNCQUFzQiw0QkFBNEIsZ0NBQWdDLDBDQUEwQyxzQ0FBc0MseUJBQXlCLHdCQUF3Qix5REFBeUQsbUNBQW1DLFNBQVMsaUNBQWlDLHFCQUFxQixtQ0FBbUMsV0FBVyxTQUFTLDBCQUEwQix1Q0FBdUMsNEJBQTRCLFNBQVMsOEJBQThCLHNGQUFzRixTQUFTLHdCQUF3QixxQ0FBcUMsU0FBUyxPQUFPLG1CQUFtQixrQkFBa0IscUJBQXFCLHNDQUFzQyxPQUFPLEtBQUssR0FBRyxvakJBQW9qQixzZ0JBQXNnQixtRkFBbUYsZ0pBQWdKLG1GQUFtRiwyRUFBMkUsd0NBQXdDLHNCQUFzQixtQkFBbUIsc0lBQXNJLCtGQUErRiwyQkFBMkIscURBQXFELDR1QkFBNHVCLHVDQUF1QyxzSkFBc0osK1JBQStSLG1UQUFtVCwrRkFBK0YsMEJBQTBCLGtEQUFrRCxLQUFLLDJEQUEyRCx5Q0FBeUMsaUJBQWlCLEtBQUssK0NBQStDLEdBQUcsMkZBQTJGLGtDQUFrQyxpQkFBaUIsa0JBQWtCLDhDQUE4QywwQ0FBMEMsS0FBSyxRQUFRLGtEQUFrRCxLQUFLLG1DQUFtQywrQ0FBK0Msd0NBQXdDLGlCQUFpQixLQUFLLG1DQUFtQyxHQUFHLG1FQUFtRSw0QkFBNEIsMEJBQTBCLGtDQUFrQyxpQkFBaUIsa0JBQWtCLDhDQUE4QyxLQUFLLFFBQVEsa0RBQWtELEtBQUssY0FBYywwQkFBMEIseUJBQXlCLHVCQUF1QixvQ0FBb0MsS0FBSyxHQUFHLDBHQUEwRyxnQkFBZ0IsMkNBQTJDLDZDQUE2QyxnV0FBZ1csc0JBQXNCLEdBQUcsd0dBQXdHLE9BQU8sbUJBQW1CLEVBQUUseUJBQXlCLHVCQUF1Qix1RkFBdUYsWUFBWSxhQUFhLEVBQUUsTUFBTSxTQUFTLGdEQUFnRCwwREFBMEQsTUFBTSxJQUFJLFNBQVMsT0FBTyxLQUFLLEdBQUcscUJBQXFCO0FBQ3RrYTtBQUNlLHNGQUF1QixFQUFDOzs7Ozs7Ozs7Ozs7O0FDaEJ2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDNEg7QUFDN0I7QUFDL0YsOEJBQThCLG1GQUEyQixDQUFDLHNHQUFxQztBQUMvRjtBQUNBLDhCQUE4QixRQUFTLHNCQUFzQixpakJBQWlqQiw4WEFBOFgsbUJBQW1CLGtCQUFrQixHQUFHLCtDQUErQyw0QkFBNEIsa0JBQWtCLG9CQUFvQix5QkFBeUIsdUNBQXVDLHVCQUF1QixnQkFBZ0IsR0FBRyxTQUFTLHdJQUF3SSx5QkFBeUIsTUFBTSxZQUFZLEtBQUssVUFBVSxVQUFVLEtBQUssS0FBSyxZQUFZLFdBQVcsVUFBVSxZQUFZLGFBQWEsYUFBYSxXQUFXLG9EQUFvRCxxQkFBcUIscUtBQXFLLG1CQUFtQixrQkFBa0IsWUFBWSw0QkFBNEIsa0JBQWtCLG9CQUFvQix5QkFBeUIsdUNBQXVDLHVCQUF1QixnQkFBZ0IsS0FBSyxHQUFHLG9qQkFBb2pCLHNnQkFBc2dCLG1GQUFtRixnSkFBZ0osbUZBQW1GLDJFQUEyRSx3Q0FBd0Msc0JBQXNCLG1CQUFtQixzSUFBc0ksK0ZBQStGLDJCQUEyQixxREFBcUQscUJBQXFCO0FBQ3QwSDtBQUNlLHNGQUF1QixFQUFDOzs7Ozs7Ozs7Ozs7O0FDUHZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUM0SDtBQUM3QjtBQUMvRiw4QkFBOEIsbUZBQTJCLENBQUMsc0dBQXFDO0FBQy9GO0FBQ0EsOEJBQThCLFFBQVMsc0JBQXNCLGlqQkFBaWpCLHFXQUFxVyxxQkFBcUIsb0JBQW9CLHdCQUF3Qiw0QkFBNEIsc0JBQXNCLG9CQUFvQixHQUFHLHFCQUFxQiw2QkFBNkIsaUJBQWlCLEdBQUcsU0FBUyw0SUFBNEkseUJBQXlCLE1BQU0sTUFBTSxZQUFZLFdBQVcsWUFBWSxhQUFhLGFBQWEsV0FBVyxLQUFLLE1BQU0sWUFBWSxXQUFXLG9EQUFvRCxxQkFBcUIsaVZBQWlWLHFCQUFxQixvQkFBb0Isd0JBQXdCLDRCQUE0QixzQkFBc0Isb0JBQW9CLEdBQUcsdUJBQXVCLHlCQUF5QixnQkFBZ0IsRUFBRSxpQkFBaUIsR0FBRyxvakJBQW9qQixzZ0JBQXNnQixtRkFBbUYsZ0pBQWdKLG1GQUFtRiwyRUFBMkUsd0NBQXdDLHNCQUFzQixtQkFBbUIsc0lBQXNJLCtGQUErRiwyQkFBMkIscURBQXFELHFCQUFxQjtBQUN2NUg7QUFDZSxzRkFBdUIsRUFBQzs7Ozs7Ozs7Ozs7OztBQ1B2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDNEg7QUFDN0I7QUFDL0YsOEJBQThCLG1GQUEyQixDQUFDLHNHQUFxQztBQUMvRjtBQUNBLDhCQUE4QixRQUFTLHNCQUFzQixpakJBQWlqQiw0V0FBNFcsbUJBQW1CLGtCQUFrQixtREFBbUQsK0VBQStFLHFCQUFxQiwyQkFBMkIsR0FBRyxxRkFBcUYsK0NBQStDLDZDQUE2QyxrQ0FBa0MsR0FBRywwRUFBMEUsNkJBQTZCLCtCQUErQixHQUFHLFNBQVMsNklBQTZJLHlCQUF5QixNQUFNLE1BQU0sVUFBVSxVQUFVLFlBQVksWUFBWSxZQUFZLGFBQWEsYUFBYSxLQUFLLE9BQU8sWUFBWSxhQUFhLGFBQWEsS0FBSyxPQUFPLFlBQVksYUFBYSxvREFBb0QscUJBQXFCLHVMQUF1TCxtQkFBbUIsa0JBQWtCLG1EQUFtRCwrRUFBK0UscUJBQXFCLDJCQUEyQixHQUFHLHFEQUFxRCwrQ0FBK0MsNkNBQTZDLGtDQUFrQyxHQUFHLDBDQUEwQyw2QkFBNkIsK0JBQStCLEdBQUcsc2pCQUFzakIsc2dCQUFzZ0IsbUZBQW1GLGdKQUFnSixtRkFBbUYsMkVBQTJFLHdDQUF3QyxzQkFBc0IsbUJBQW1CLHNJQUFzSSwrRkFBK0YsMkJBQTJCLHFEQUFxRCxxQkFBcUI7QUFDeDhJO0FBQ2Usc0ZBQXVCLEVBQUM7Ozs7Ozs7Ozs7Ozs7QUNQdkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQzRIO0FBQzdCO0FBQ087QUFDckI7QUFDQztBQUNEO0FBQ0E7QUFDakYsOEJBQThCLG1GQUEyQixDQUFDLHNHQUFxQztBQUMvRix5Q0FBeUMsc0ZBQStCLENBQUMsdUVBQTZCO0FBQ3RHLHlDQUF5QyxzRkFBK0IsQ0FBQyx3RUFBNkI7QUFDdEcseUNBQXlDLHNGQUErQixDQUFDLHVFQUE2QjtBQUN0Ryx5Q0FBeUMsc0ZBQStCLENBQUMsdUVBQTZCO0FBQ3RHO0FBQ0EsOEJBQThCLFFBQVMsc0JBQXNCLGlqQkFBaWpCLGdWQUFnViwwQ0FBMEMseURBQXlELDBUQUEwVCx1QkFBdUIsMEJBQTBCLHVCQUF1QixxQkFBcUIsR0FBRyxtREFBbUQsNENBQTRDLHFCQUFxQixHQUFHLDRDQUE0Qyw0Q0FBNEMscUJBQXFCLEdBQUcsb0RBQW9ELDRDQUE0QyxxQkFBcUIsR0FBRyw2Q0FBNkMsNENBQTRDLHFCQUFxQixHQUFHLDRDQUE0Qyw0Q0FBNEMscUJBQXFCLEdBQUcsMkNBQTJDLDRDQUE0QyxxQkFBcUIsR0FBRyx1Q0FBdUMsNENBQTRDLHFCQUFxQixHQUFHLHlDQUF5Qyw0Q0FBNEMscUJBQXFCLEdBQUcsc0NBQXNDLDRDQUE0QyxxQkFBcUIsR0FBRyxzQ0FBc0MsNENBQTRDLHFCQUFxQixHQUFHLHNDQUFzQyw0Q0FBNEMscUJBQXFCLEdBQUcsdUNBQXVDLDRDQUE0QyxxQkFBcUIsR0FBRyxzQ0FBc0MsNENBQTRDLHFCQUFxQixHQUFHLDRDQUE0Qyw0Q0FBNEMscUJBQXFCLEdBQUcsa0RBQWtELDRDQUE0QyxxQkFBcUIsR0FBRyxpREFBaUQsNENBQTRDLHFCQUFxQixHQUFHLHVEQUF1RCw0Q0FBNEMscUJBQXFCLEdBQUcsb0RBQW9ELDRDQUE0QyxxQkFBcUIsR0FBRywyQ0FBMkMsdUJBQXVCLFdBQVcsYUFBYSx3QkFBd0IsZ0JBQWdCLGlCQUFpQixrQkFBa0Isb0JBQW9CLGlCQUFpQixvQkFBb0Isc0JBQXNCLEdBQUcsa0RBQWtELDRDQUE0Qyx5QkFBeUIsdUJBQXVCLHFCQUFxQixHQUFHLGdHQUFnRyxpQkFBaUIsR0FBRyxTQUFTLDRMQUE0TCx5QkFBeUIsTUFBTSxNQUFNLFlBQVksYUFBYSxXQUFXLGFBQWEsVUFBVSxNQUFNLE1BQU0sWUFBWSxhQUFhLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxhQUFhLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksYUFBYSxLQUFLLE9BQU8sWUFBWSxhQUFhLEtBQUssT0FBTyxZQUFZLFdBQVcsVUFBVSxhQUFhLGNBQWMsY0FBYyxjQUFjLFlBQVksVUFBVSxXQUFXLGFBQWEsS0FBSyxNQUFNLGNBQWMsY0FBYyxhQUFhLFlBQVksS0FBSyxPQUFPLFlBQVksb0RBQW9ELHFCQUFxQixvSkFBb0osNEJBQTRCLHVCQUF1QixXQUFXLGFBQWEsb0NBQW9DLDJCQUEyQiw0QkFBNEIsMEJBQTBCLHNCQUFzQixpQkFBaUIsNEJBQTRCLHNCQUFzQiw4QkFBOEIsMkJBQTJCLDZCQUE2QixLQUFLLEdBQUcsc2pCQUFzakIsc2dCQUFzZ0IsbUZBQW1GLGdKQUFnSixtRkFBbUYsMkVBQTJFLHdDQUF3QyxzQkFBc0IsbUJBQW1CLHNJQUFzSSwrRkFBK0YsMkJBQTJCLHFEQUFxRCw0dUJBQTR1Qix1Q0FBdUMsc0pBQXNKLCtSQUErUixtVEFBbVQsK0ZBQStGLDBCQUEwQixrREFBa0QsS0FBSywyREFBMkQseUNBQXlDLGlCQUFpQixLQUFLLCtDQUErQyxHQUFHLDJGQUEyRixrQ0FBa0MsaUJBQWlCLGtCQUFrQiw4Q0FBOEMsMENBQTBDLEtBQUssUUFBUSxrREFBa0QsS0FBSyxtQ0FBbUMsK0NBQStDLHdDQUF3QyxpQkFBaUIsS0FBSyxtQ0FBbUMsR0FBRyxtRUFBbUUsNEJBQTRCLDBCQUEwQixrQ0FBa0MsaUJBQWlCLGtCQUFrQiw4Q0FBOEMsS0FBSyxRQUFRLGtEQUFrRCxLQUFLLGNBQWMsMEJBQTBCLHlCQUF5Qix1QkFBdUIsb0NBQW9DLEtBQUssR0FBRywwR0FBMEcsZ0JBQWdCLDJDQUEyQyw2Q0FBNkMsZ1dBQWdXLHNCQUFzQixHQUFHLHdHQUF3RyxPQUFPLG1CQUFtQixFQUFFLHlCQUF5Qix1QkFBdUIsdUZBQXVGLFlBQVksYUFBYSxFQUFFLE1BQU0sU0FBUyxnREFBZ0QsMERBQTBELE1BQU0sSUFBSSxTQUFTLE9BQU8sS0FBSyxHQUFHLHFCQUFxQjtBQUNueVc7QUFDZSxzRkFBdUIsRUFBQzs7Ozs7Ozs7Ozs7OztBQ2hCdkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQzRIO0FBQzdCO0FBQy9GLDhCQUE4QixtRkFBMkIsQ0FBQyxzR0FBcUM7QUFDL0Y7QUFDQSw4QkFBOEIsUUFBUyxzQkFBc0IsaWpCQUFpakIsdVhBQXVYLGtCQUFrQixHQUFHLGtDQUFrQyxrQkFBa0IsZ0JBQWdCLEdBQUcsOENBQThDLHVCQUF1Qix5QkFBeUIsR0FBRywyQ0FBMkMsdUJBQXVCLHVCQUF1Qix5QkFBeUIsb0JBQW9CLEdBQUcscUNBQXFDLGlCQUFpQixxQkFBcUIsR0FBRywyQ0FBMkMscUJBQXFCLHNCQUFzQixtQkFBbUIsa0JBQWtCLHdCQUF3QiwrQ0FBK0Msd0JBQXdCLHNCQUFzQixzQkFBc0IsMEJBQTBCLDhCQUE4Qix1QkFBdUIsb0NBQW9DLG1CQUFtQixHQUFHLGdHQUFnRyx3REFBd0QsR0FBRyxtREFBbUQsZ0VBQWdFLEdBQUcsU0FBUyx5SUFBeUkseUJBQXlCLE1BQU0sTUFBTSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLFlBQVksYUFBYSxLQUFLLE1BQU0sWUFBWSxhQUFhLGFBQWEsV0FBVyxLQUFLLEtBQUssVUFBVSxZQUFZLEtBQUssTUFBTSxVQUFVLFVBQVUsWUFBWSxZQUFZLGFBQWEsY0FBYyxhQUFhLFdBQVcsVUFBVSxZQUFZLGFBQWEsYUFBYSxhQUFhLFdBQVcsS0FBSyxLQUFLLGFBQWEsS0FBSyxNQUFNLFlBQVksb0RBQW9ELHFCQUFxQixrbUJBQWttQixrQkFBa0IsR0FBRyxtQkFBbUIsa0JBQWtCLGdCQUFnQixtQkFBbUIsdUJBQXVCLHlCQUF5QixLQUFLLGdCQUFnQix1QkFBdUIsdUJBQXVCLHlCQUF5QixvQkFBb0IsS0FBSyxHQUFHLHNCQUFzQixpQkFBaUIscUJBQXFCLGFBQWEscUJBQXFCLHNCQUFzQiw4QkFBOEIsa0JBQWtCLG1DQUFtQywrQ0FBK0Msd0JBQXdCLHNCQUFzQixzQkFBc0IsMEJBQTBCLDhCQUE4Qix1QkFBdUIsb0NBQW9DLG1CQUFtQiw2QkFBNkIsd0RBQXdELE9BQU8saUJBQWlCLGdFQUFnRSxPQUFPLEtBQUssR0FBRyxzakJBQXNqQixzZ0JBQXNnQixtRkFBbUYsZ0pBQWdKLG1GQUFtRiwyRUFBMkUsd0NBQXdDLHNCQUFzQixtQkFBbUIsc0lBQXNJLCtGQUErRiwyQkFBMkIscURBQXFELHFCQUFxQjtBQUMzOUw7QUFDZSxzRkFBdUIsRUFBQzs7Ozs7Ozs7Ozs7OztBQ1B2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDNEg7QUFDN0I7QUFDL0YsOEJBQThCLG1GQUEyQixDQUFDLHNHQUFxQztBQUMvRjtBQUNBLDhCQUE4QixRQUFTLHNCQUFzQixpakJBQWlqQiw0V0FBNFcsd0JBQXdCLEdBQUcsaURBQWlELHNCQUFzQix3QkFBd0IsdUJBQXVCLDBCQUEwQiw4QkFBOEIsR0FBRyxTQUFTLDBJQUEwSSx5QkFBeUIsTUFBTSxNQUFNLFlBQVksS0FBSyxNQUFNLFVBQVUsWUFBWSxhQUFhLGFBQWEsYUFBYSxvREFBb0QscUJBQXFCLG1JQUFtSSx3QkFBd0IsY0FBYyxzQkFBc0Isd0JBQXdCLHVCQUF1QiwwQkFBMEIsOEJBQThCLEtBQUssR0FBRyxvakJBQW9qQixzZ0JBQXNnQixtRkFBbUYsZ0pBQWdKLG1GQUFtRiwyRUFBMkUsd0NBQXdDLHNCQUFzQixtQkFBbUIsc0lBQXNJLCtGQUErRiwyQkFBMkIscURBQXFELHFCQUFxQjtBQUMvbkg7QUFDZSxzRkFBdUIsRUFBQzs7Ozs7Ozs7Ozs7OztBQ1B2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDNEg7QUFDN0I7QUFDL0YsOEJBQThCLG1GQUEyQixDQUFDLHNHQUFxQztBQUMvRjtBQUNBLDhCQUE4QixRQUFTLHNCQUFzQixpakJBQWlqQiwyYkFBMmIsNkJBQTZCLHFCQUFxQixrQkFBa0IsOEJBQThCLGFBQWEsa0JBQWtCLHVCQUF1QixxQkFBcUIsMkJBQTJCLG1CQUFtQixnQkFBZ0IscUJBQXFCLHFCQUFxQiwrQ0FBK0MsK0NBQStDLDZDQUE2QyxHQUFHLDJFQUEyRSx5QkFBeUIsbUJBQW1CLGVBQWUsaUJBQWlCLGtCQUFrQixtQkFBbUIsbUJBQW1CLDBCQUEwQixHQUFHLGdQQUFnUCxtQkFBbUIsb0RBQW9ELEdBQUcsd0hBQXdILDBCQUEwQixHQUFHLG9KQUFvSixtQkFBbUIsb0JBQW9CLHFCQUFxQixvQkFBb0IsMkJBQTJCLHVCQUF1QixHQUFHLGtKQUFrSix3QkFBd0IsdUJBQXVCLHFCQUFxQiw0QkFBNEIsR0FBRyw0TEFBNEwsOEJBQThCLEdBQUcsd0xBQXdMLHFCQUFxQiw2QkFBNkIsbUJBQW1CLHNCQUFzQixHQUFHLDRLQUE0SyxtQkFBbUIsc0JBQXNCLHdDQUF3Qyw2QkFBNkIsR0FBRyxxSEFBcUgseUJBQXlCLGVBQWUsa0JBQWtCLEdBQUcscUhBQXFILDBCQUEwQixHQUFHLCtKQUErSiw0QkFBNEIsR0FBRywrRUFBK0Usb0JBQW9CLDZCQUE2QixHQUFHLDZEQUE2RCxrQkFBa0Isb0JBQW9CLHdCQUF3QixtQ0FBbUMsa0NBQWtDLCtCQUErQixHQUFHLDBFQUEwRSx3QkFBd0IsR0FBRywyREFBMkQseUJBQXlCLG9CQUFvQiwwQkFBMEIsOEJBQThCLGlDQUFpQyxHQUFHLGlGQUFpRix3QkFBd0IsR0FBRyxvT0FBb08seUJBQXlCLDRCQUE0QixHQUFHLGtIQUFrSCx5QkFBeUIsR0FBRyxpR0FBaUcsc0JBQXNCLHFCQUFxQixvQkFBb0IsZ0NBQWdDLHVCQUF1QixHQUFHLGdHQUFnRyx1QkFBdUIsc0JBQXNCLCtCQUErQixnQ0FBZ0MscUJBQXFCLEdBQUcsK0hBQStILHFCQUFxQiwyQkFBMkIsMEJBQTBCLDRCQUE0QixHQUFHLDBJQUEwSSw0QkFBNEIsdUNBQXVDLEdBQUcsa1FBQWtRLDJCQUEyQixzQkFBc0Isb0JBQW9CLDhCQUE4QixrQ0FBa0MsR0FBRyw4SEFBOEgscUJBQXFCLHVCQUF1Qiw4Q0FBOEMsR0FBRyxvSUFBb0ksd0JBQXdCLDhCQUE4QixHQUFHLGtKQUFrSixzQkFBc0IsR0FBRyw4S0FBOEssMkJBQTJCLHNCQUFzQix5QkFBeUIsNEJBQTRCLDhCQUE4QixHQUFHLHFGQUFxRix1QkFBdUIsb0JBQW9CLHFCQUFxQixzQkFBc0IsR0FBRyxxRkFBcUYscUJBQXFCLG9CQUFvQiw0QkFBNEIsb0RBQW9ELEdBQUcsa0VBQWtFLG9CQUFvQiwwQkFBMEIscUJBQXFCLEdBQUcsMkZBQTJGLGdEQUFnRCw4Q0FBOEMsR0FBRyxnRkFBZ0YscUJBQXFCLHFCQUFxQixHQUFHLGdGQUFnRiw0QkFBNEIsNEJBQTRCLEdBQUcsU0FBUyxrSUFBa0kseUJBQXlCLE1BQU0sU0FBUyxPQUFPLE9BQU8sWUFBWSxhQUFhLFdBQVcsWUFBWSxXQUFXLFVBQVUsWUFBWSxhQUFhLGFBQWEsV0FBVyxVQUFVLGFBQWEsZUFBZSxjQUFjLGFBQWEsYUFBYSxLQUFLLE9BQU8sYUFBYSxXQUFXLFlBQVksY0FBYyxlQUFlLGdCQUFnQixnQkFBZ0IsZUFBZSxLQUFLLE9BQU8sYUFBYSxnQkFBZ0IsS0FBSyxPQUFPLGFBQWEsS0FBSyxPQUFPLFdBQVcsV0FBVyxZQUFZLFlBQVksYUFBYSxXQUFXLEtBQUssT0FBTyxXQUFXLFVBQVUsVUFBVSxZQUFZLEtBQUssT0FBTyxZQUFZLEtBQUssT0FBTyxXQUFXLFlBQVksWUFBWSxZQUFZLEtBQUssT0FBTyxhQUFhLGFBQWEsYUFBYSxhQUFhLEtBQUssT0FBTyxhQUFhLGFBQWEsYUFBYSxLQUFLLE9BQU8sWUFBWSxLQUFLLE9BQU8sWUFBWSxLQUFLLE9BQU8sV0FBVyxZQUFZLEtBQUssT0FBTyxXQUFXLFVBQVUsWUFBWSxhQUFhLGFBQWEsYUFBYSxLQUFLLE9BQU8sV0FBVyxLQUFLLE9BQU8sYUFBYSxXQUFXLFlBQVksYUFBYSxhQUFhLEtBQUssT0FBTyxXQUFXLEtBQUssUUFBUSxhQUFhLGFBQWEsS0FBSyxPQUFPLGFBQWEsS0FBSyxPQUFPLFdBQVcsYUFBYSxnQkFBZ0IsZUFBZSxXQUFXLEtBQUssT0FBTyxXQUFXLFVBQVUsWUFBWSxhQUFhLFdBQVcsS0FBSyxPQUFPLFdBQVcsWUFBWSxXQUFXLGFBQWEsS0FBSyxNQUFNLFdBQVcsWUFBWSxLQUFLLFFBQVEsYUFBYSxXQUFXLFVBQVUsWUFBWSxhQUFhLEtBQUssT0FBTyxXQUFXLFlBQVksY0FBYyxLQUFLLE9BQU8sV0FBVyxZQUFZLEtBQUssT0FBTyxXQUFXLEtBQUssTUFBTSxXQUFXLFVBQVUsWUFBWSxZQUFZLFlBQVksS0FBSyxPQUFPLFdBQVcsYUFBYSxnQkFBZ0IsZ0JBQWdCLEtBQUssT0FBTyxjQUFjLGdCQUFnQixlQUFlLGVBQWUsS0FBSyxPQUFPLFdBQVcsWUFBWSxXQUFXLEtBQUssT0FBTyxZQUFZLGFBQWEsS0FBSyxPQUFPLGFBQWEsZUFBZSxLQUFLLFFBQVEsWUFBWSxhQUFhLG9EQUFvRCxxQkFBcUIsd2pDQUF3akMsNEJBQTRCLGlDQUFpQywyQkFBMkIsb0RBQW9ELDhCQUE4QiwyREFBMkQsOEJBQThCLDBHQUEwRyw2QkFBNkIsdUNBQXVDLGtCQUFrQiw4QkFBOEIsYUFBYSxrQkFBa0IsdUJBQXVCLHFCQUFxQiwyQkFBMkIsbUJBQW1CLGdCQUFnQixrQ0FBa0Msa0NBQWtDLCtDQUErQywrQ0FBK0MsNkNBQTZDLHlCQUF5Qiw2QkFBNkIsMkJBQTJCLHFCQUFxQixrQ0FBa0Msb0NBQW9DLCtCQUErQixnQ0FBZ0MsaUNBQWlDLDJDQUEyQyxrREFBa0QsaUNBQWlDLHFEQUFxRCxTQUFTLE9BQU8sOEdBQThHLG1DQUFtQyw4QkFBOEIseUNBQXlDLHVCQUF1Qix5REFBeUQsMERBQTBELCtDQUErQywrQkFBK0IsMkJBQTJCLFdBQVcscUNBQXFDLDRCQUE0QiwyQkFBMkIseUJBQXlCLHNFQUFzRSwyREFBMkQsK0JBQStCLHdDQUF3QyxhQUFhLHFEQUFxRCx5QkFBeUIsK0NBQStDLDhDQUE4Qyx5Q0FBeUMsYUFBYSx1Q0FBdUMsd0NBQXdDLDREQUE0RCx3RUFBd0UsaUNBQWlDLGFBQWEsV0FBVyxTQUFTLE9BQU8sZ0ZBQWdGLGtGQUFrRiw2QkFBNkIsb0NBQW9DLHdEQUF3RCxTQUFTLDBGQUEwRiwyQkFBMkIsNENBQTRDLHlEQUF5RCw2QkFBNkIsd0NBQXdDLFdBQVcsU0FBUyxPQUFPLDZGQUE2RixzQkFBc0IsK0JBQStCLE9BQU8sNkNBQTZDLG9CQUFvQixzQkFBc0IsMEJBQTBCLHFDQUFxQyxvQ0FBb0MsaUNBQWlDLHdCQUF3QiwwQkFBMEIsU0FBUyxPQUFPLHFDQUFxQywyQkFBMkIsc0JBQXNCLDRCQUE0QixnQ0FBZ0MsbUJBQW1CLHVCQUF1QixHQUFHLHFCQUFxQixHQUFHLHVCQUF1QixHQUFHLDRCQUE0Qiw4REFBOEQsMEJBQTBCLFNBQVMsa0lBQWtJLDJCQUEyQiw4QkFBOEIsU0FBUyxvRUFBb0UsMkJBQTJCLFNBQVMsaURBQWlELHdCQUF3QixrQ0FBa0MsaUNBQWlDLGtDQUFrQyx5QkFBeUIsU0FBUyxpRUFBaUUseUJBQXlCLHdCQUF3QixpQ0FBaUMsa0NBQWtDLHVCQUF1QixtRUFBbUUsdUJBQXVCLDZCQUE2Qiw0QkFBNEIsNENBQTRDLGlIQUFpSCw4QkFBOEIseUNBQXlDLGFBQWEsV0FBVyxvRkFBb0YsNkJBQTZCLHdCQUF3QixzQkFBc0IsZ0NBQWdDLG9DQUFvQyxXQUFXLGdFQUFnRSx1QkFBdUIscUNBQXFDLGdEQUFnRCxXQUFXLGlEQUFpRCwwQkFBMEIsZ0NBQWdDLDZCQUE2Qix3QkFBd0IsYUFBYSx5REFBeUQsNkJBQTZCLHdCQUF3QiwyQ0FBMkMsOEJBQThCLGdDQUFnQyxhQUFhLFdBQVcsU0FBUyx5REFBeUQseUJBQXlCLGlDQUFpQyxrQ0FBa0MsZ0NBQWdDLFNBQVMsdURBQXVELGtDQUFrQyxpQ0FBaUMsNkNBQTZDLHFEQUFxRCxTQUFTLE9BQU8seURBQXlELHNCQUFzQiw0QkFBNEIsdUJBQXVCLE9BQU8sS0FBSyxHQUFHLDJEQUEyRCxnREFBZ0QsOENBQThDLEdBQUcsZ0RBQWdELGtDQUFrQyxrQ0FBa0MsR0FBRyxnREFBZ0QsNEJBQTRCLDRCQUE0QixHQUFHLG9qQkFBb2pCLHNnQkFBc2dCLG1GQUFtRixnSkFBZ0osbUZBQW1GLDJFQUEyRSx3Q0FBd0Msc0JBQXNCLG1CQUFtQixzSUFBc0ksK0ZBQStGLDJCQUEyQixxREFBcUQscUJBQXFCO0FBQzMybkI7QUFDZSxzRkFBdUIsRUFBQzs7Ozs7Ozs7Ozs7OztBQ1B2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDNEg7QUFDN0I7QUFDL0YsOEJBQThCLG1GQUEyQixDQUFDLHNHQUFxQztBQUMvRjtBQUNBLDhCQUE4QixRQUFTLHNCQUFzQixpakJBQWlqQiw4akJBQThqQixzQkFBc0IsR0FBRyxTQUFTLGtJQUFrSSx5QkFBeUIsTUFBTSxVQUFVLFlBQVksb0RBQW9ELHFCQUFxQiw0ckRBQTRyRCwrRkFBK0Ysd0JBQXdCLEtBQUssR0FBRyxzakJBQXNqQixzZ0JBQXNnQixtRkFBbUYsZ0pBQWdKLG1GQUFtRiwyRUFBMkUsd0NBQXdDLHNCQUFzQixtQkFBbUIsc0lBQXNJLCtGQUErRiwyQkFBMkIscURBQXFELHFCQUFxQjtBQUNqbUs7QUFDZSxzRkFBdUIsRUFBQzs7Ozs7Ozs7Ozs7OztBQ1B2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDNEg7QUFDN0I7QUFDL0YsOEJBQThCLG1GQUEyQixDQUFDLHNHQUFxQztBQUMvRjtBQUNBLDhCQUE4QixRQUFTLHNCQUFzQixpakJBQWlqQix3V0FBd1csa0JBQWtCLDJCQUEyQixrQkFBa0IsbUJBQW1CLEdBQUcsMkNBQTJDLHVCQUF1QixHQUFHLDhDQUE4QyxzQkFBc0IsaUNBQWlDLEdBQUcsMkNBQTJDLHFCQUFxQixnQkFBZ0IsbUJBQW1CLHlCQUF5QixHQUFHLDZDQUE2QywyQkFBMkIsdUJBQXVCLHlCQUF5QixrQ0FBa0Msc0hBQXNILDJCQUEyQiw0QkFBNEIsZ0NBQWdDLHFCQUFxQixzQ0FBc0MscURBQXFELEdBQUcsd01BQXdNLHFCQUFxQixHQUFHLHdUQUF3VCx1QkFBdUIsR0FBRyw4SEFBOEgsOERBQThELG9FQUFvRSxHQUFHLG9EQUFvRCx5Q0FBeUMsdURBQXVELDZEQUE2RCw0QkFBNEIsR0FBRyxtREFBbUQsNERBQTRELGtFQUFrRSxHQUFHLGdEQUFnRCx5QkFBeUIsYUFBYSxjQUFjLGtCQUFrQixtQkFBbUIsaURBQWlELG1CQUFtQixzQ0FBc0MsNEJBQTRCLEdBQUcsK0NBQStDLHlCQUF5QixvQkFBb0IsbUJBQW1CLEdBQUcseUVBQXlFLHNCQUFzQixHQUFHLFNBQVMsc0lBQXNJLHlCQUF5QixNQUFNLE1BQU0sVUFBVSxZQUFZLFdBQVcsVUFBVSxLQUFLLEtBQUssWUFBWSxLQUFLLE1BQU0sVUFBVSxZQUFZLEtBQUssTUFBTSxVQUFVLFVBQVUsVUFBVSxZQUFZLEtBQUssTUFBTSxZQUFZLFdBQVcsWUFBWSxhQUFhLGFBQWEsYUFBYSxhQUFhLGFBQWEsYUFBYSxjQUFjLGFBQWEsS0FBSyxPQUFPLFlBQVksS0FBSyxNQUFNLFlBQVksS0FBSyxNQUFNLGFBQWEsYUFBYSxLQUFLLE9BQU8sYUFBYSxhQUFhLGFBQWEsYUFBYSxLQUFLLE9BQU8sYUFBYSxhQUFhLEtBQUssTUFBTSxZQUFZLFdBQVcsVUFBVSxVQUFVLFVBQVUsWUFBWSxhQUFhLGNBQWMsYUFBYSxLQUFLLE1BQU0sWUFBWSxXQUFXLFVBQVUsS0FBSyxLQUFLLFVBQVUsb0RBQW9ELHFCQUFxQixpaUJBQWlpQixrQkFBa0IsMkJBQTJCLGtCQUFrQixtQkFBbUIsY0FBYyx1QkFBdUIsVUFBVSxzQkFBc0IsaUNBQWlDLE9BQU8sS0FBSyxZQUFZLHFCQUFxQixnQkFBZ0IsbUJBQW1CLHlCQUF5QixTQUFTLDJCQUEyQix1QkFBdUIseUJBQXlCLGtDQUFrQyxzSEFBc0gsMkJBQTJCLDRCQUE0QixnQ0FBZ0MsaUNBQWlDLHNDQUFzQyxxREFBcUQscUVBQXFFLGlDQUFpQyx1Q0FBdUMsbUNBQW1DLFdBQVcsU0FBUywyREFBMkQsOERBQThELG9FQUFvRSxTQUFTLGtCQUFrQix5Q0FBeUMsdURBQXVELDZEQUE2RCw0QkFBNEIsU0FBUyx3TEFBd0wsNERBQTRELGtFQUFrRSxTQUFTLE9BQU8sS0FBSyxtQkFBbUIseUJBQXlCLGFBQWEsY0FBYyxrQkFBa0IsbUJBQW1CLGlEQUFpRCwrQkFBK0Isc0NBQXNDLDRCQUE0QixLQUFLLGtCQUFrQix5QkFBeUIsdURBQXVELG1CQUFtQiw4SkFBOEosc0JBQXNCLE9BQU8sS0FBSyxHQUFHLG9qQkFBb2pCLHNnQkFBc2dCLG1GQUFtRixnSkFBZ0osbUZBQW1GLDJFQUEyRSx3Q0FBd0Msc0JBQXNCLG1CQUFtQixzSUFBc0ksK0ZBQStGLDJCQUEyQixxREFBcUQscUJBQXFCO0FBQ3A4UjtBQUNlLHNGQUF1QixFQUFDOzs7Ozs7Ozs7Ozs7O0FDUHZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUM0SDtBQUM3QjtBQUMvRiw4QkFBOEIsbUZBQTJCLENBQUMsc0dBQXFDO0FBQy9GO0FBQ0EsOEJBQThCLFFBQVMsc0JBQXNCLGlqQkFBaWpCLHdXQUF3VyxrQkFBa0Isa0JBQWtCLHFCQUFxQixxQkFBcUIsbUJBQW1CLEdBQUcsNENBQTRDLHlDQUF5QyxpREFBaUQsaUJBQWlCLEdBQUcsOENBQThDLHFCQUFxQixHQUFHLFNBQVMscUlBQXFJLHlCQUF5QixNQUFNLE1BQU0sVUFBVSxVQUFVLFlBQVksYUFBYSxXQUFXLEtBQUssS0FBSyxZQUFZLGFBQWEsV0FBVyxLQUFLLEtBQUssVUFBVSxvREFBb0QscUJBQXFCLCtMQUErTCxrQkFBa0Isa0JBQWtCLHFCQUFxQiw4Q0FBOEMsb0NBQW9DLGVBQWUseUNBQXlDLGlEQUFpRCxpQkFBaUIsS0FBSyxpQkFBaUIscUJBQXFCLEtBQUssR0FBRyxvakJBQW9qQixzZ0JBQXNnQixtRkFBbUYsZ0pBQWdKLG1GQUFtRiwyRUFBMkUsd0NBQXdDLHNCQUFzQixtQkFBbUIsc0lBQXNJLCtGQUErRiwyQkFBMkIscURBQXFELHFCQUFxQjtBQUM3OUg7QUFDZSxzRkFBdUIsRUFBQzs7Ozs7Ozs7Ozs7OztBQ1B2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDNEg7QUFDN0I7QUFDTztBQUNyQjtBQUNDO0FBQ0Q7QUFDQTtBQUNqRiw4QkFBOEIsbUZBQTJCLENBQUMsc0dBQXFDO0FBQy9GLHlDQUF5QyxzRkFBK0IsQ0FBQyx1RUFBNkI7QUFDdEcseUNBQXlDLHNGQUErQixDQUFDLHdFQUE2QjtBQUN0Ryx5Q0FBeUMsc0ZBQStCLENBQUMsdUVBQTZCO0FBQ3RHLHlDQUF5QyxzRkFBK0IsQ0FBQyx1RUFBNkI7QUFDdEc7QUFDQSw4QkFBOEIsUUFBUyxzQkFBc0IsaWpCQUFpakIsZ1ZBQWdWLDBDQUEwQyx5REFBeUQsMFRBQTBULHVCQUF1QiwwQkFBMEIsdUJBQXVCLHFCQUFxQixHQUFHLG1EQUFtRCw0Q0FBNEMscUJBQXFCLEdBQUcsNENBQTRDLDRDQUE0QyxxQkFBcUIsR0FBRyxvREFBb0QsNENBQTRDLHFCQUFxQixHQUFHLDZDQUE2Qyw0Q0FBNEMscUJBQXFCLEdBQUcsNENBQTRDLDRDQUE0QyxxQkFBcUIsR0FBRywyQ0FBMkMsNENBQTRDLHFCQUFxQixHQUFHLHVDQUF1Qyw0Q0FBNEMscUJBQXFCLEdBQUcseUNBQXlDLDRDQUE0QyxxQkFBcUIsR0FBRyxzQ0FBc0MsNENBQTRDLHFCQUFxQixHQUFHLHNDQUFzQyw0Q0FBNEMscUJBQXFCLEdBQUcsc0NBQXNDLDRDQUE0QyxxQkFBcUIsR0FBRyx1Q0FBdUMsNENBQTRDLHFCQUFxQixHQUFHLHNDQUFzQyw0Q0FBNEMscUJBQXFCLEdBQUcsNENBQTRDLDRDQUE0QyxxQkFBcUIsR0FBRyxrREFBa0QsNENBQTRDLHFCQUFxQixHQUFHLGlEQUFpRCw0Q0FBNEMscUJBQXFCLEdBQUcsdURBQXVELDRDQUE0QyxxQkFBcUIsR0FBRyxvREFBb0QsNENBQTRDLHFCQUFxQixHQUFHLCtCQUErQix1QkFBdUIsMEJBQTBCLEdBQUcsd0NBQXdDLHlCQUF5QixzREFBc0QsR0FBRyx3REFBd0Qsd0NBQXdDLG9EQUFvRCxHQUFHLHlFQUF5RSwwQ0FBMEMsR0FBRywwQ0FBMEMsc0JBQXNCLEdBQUcsb0RBQW9ELDJCQUEyQixlQUFlLGdCQUFnQixHQUFHLHFEQUFxRCxzQkFBc0Isd0JBQXdCLG1CQUFtQix5QkFBeUIsd0JBQXdCLDRCQUE0QixnQ0FBZ0MsR0FBRyw0REFBNEQsZ0RBQWdELDZCQUE2QiwyQkFBMkIseUJBQXlCLEdBQUcsNkRBQTZELHlCQUF5QixHQUFHLG9IQUFvSCxtQkFBbUIsR0FBRyxzR0FBc0cscUJBQXFCLEdBQUcsc0dBQXNHLG1EQUFtRCxHQUFHLDBDQUEwQyx5QkFBeUIsYUFBYSxjQUFjLHFCQUFxQixrQkFBa0IseUJBQXlCLDBCQUEwQiwwQ0FBMEMsR0FBRyxtQ0FBbUMsa0JBQWtCLG1CQUFtQix3QkFBd0IsR0FBRyxrREFBa0QseUJBQXlCLGdCQUFnQixpQkFBaUIsa0JBQWtCLG1CQUFtQixpREFBaUQsbUNBQW1DLEdBQUcsNERBQTRELDJCQUEyQiwrQ0FBK0MsR0FBRyw0REFBNEQsNkNBQTZDLEdBQUcsMkRBQTJELHFCQUFxQixpREFBaUQsR0FBRywrREFBK0QsNkJBQTZCLG9CQUFvQixxQkFBcUIsR0FBRyxvRUFBb0UsdUJBQXVCLEdBQUcsdURBQXVELHlCQUF5QixrQkFBa0IsbUJBQW1CLG1CQUFtQixrQkFBa0Isd0JBQXdCLDBDQUEwQyxxREFBcUQscURBQXFELHlCQUF5QixHQUFHLG1FQUFtRSxvREFBb0Qsd0RBQXdELEdBQUcsb0VBQW9FLGlEQUFpRCxxREFBcUQsR0FBRywrREFBK0QsdUJBQXVCLEdBQUcsc0VBQXNFLGdEQUFnRCw2QkFBNkIsMkJBQTJCLHlCQUF5QixHQUFHLDREQUE0RCxrQ0FBa0MsdUJBQXVCLEdBQUcsbUVBQW1FLGdEQUFnRCw2QkFBNkIsMkJBQTJCLHlCQUF5QixHQUFHLDZEQUE2RCx1QkFBdUIsR0FBRyxvRUFBb0UsZ0RBQWdELDZCQUE2QiwyQkFBMkIseUJBQXlCLEdBQUcsNkRBQTZELHFCQUFxQixzQ0FBc0MsR0FBRyxvREFBb0QseUJBQXlCLDRCQUE0QixHQUFHLHVDQUF1Qyx1QkFBdUIscURBQXFELGlCQUFpQixHQUFHLFNBQVMsK0tBQStLLHlCQUF5QixNQUFNLE1BQU0sWUFBWSxhQUFhLFdBQVcsYUFBYSxVQUFVLE1BQU0sTUFBTSxZQUFZLGFBQWEsS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLGFBQWEsS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxhQUFhLEtBQUssT0FBTyxZQUFZLGFBQWEsS0FBSyxRQUFRLFlBQVksYUFBYSxLQUFLLE1BQU0sWUFBWSxhQUFhLEtBQUssTUFBTSxZQUFZLGFBQWEsS0FBSyxNQUFNLFlBQVksS0FBSyxNQUFNLFVBQVUsS0FBSyxLQUFLLFlBQVksV0FBVyxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsVUFBVSxZQUFZLFdBQVcsWUFBWSxhQUFhLEtBQUssTUFBTSxlQUFlLGNBQWMsYUFBYSxZQUFZLEtBQUssT0FBTyxXQUFXLEtBQUssT0FBTyxXQUFXLEtBQUssTUFBTSxXQUFXLEtBQUssT0FBTyxhQUFhLEtBQUssT0FBTyxhQUFhLFdBQVcsVUFBVSxVQUFVLFVBQVUsWUFBWSxhQUFhLGFBQWEsS0FBSyxPQUFPLFdBQVcsVUFBVSxZQUFZLEtBQUssT0FBTyxhQUFhLFdBQVcsVUFBVSxVQUFVLFVBQVUsWUFBWSxhQUFhLEtBQUssT0FBTyxhQUFhLGFBQWEsS0FBSyxPQUFPLGFBQWEsS0FBSyxPQUFPLFdBQVcsWUFBWSxLQUFLLE9BQU8sYUFBYSxXQUFXLFVBQVUsS0FBSyxNQUFNLFdBQVcsS0FBSyxNQUFNLGFBQWEsV0FBVyxVQUFVLFVBQVUsVUFBVSxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsS0FBSyxNQUFNLFlBQVksYUFBYSxLQUFLLE1BQU0sWUFBWSxhQUFhLEtBQUssT0FBTyxXQUFXLEtBQUssT0FBTyxlQUFlLGNBQWMsYUFBYSxhQUFhLEtBQUssUUFBUSxhQUFhLFdBQVcsS0FBSyxPQUFPLGVBQWUsY0FBYyxhQUFhLGFBQWEsS0FBSyxRQUFRLFdBQVcsS0FBSyxPQUFPLGVBQWUsY0FBYyxhQUFhLGFBQWEsS0FBSyxRQUFRLFdBQVcsWUFBWSxLQUFLLE9BQU8sYUFBYSxhQUFhLEtBQUssTUFBTSxZQUFZLGFBQWEsV0FBVyxvREFBb0QscUJBQXFCLHN0Q0FBc3RDLGdCQUFnQix1QkFBdUIsMEJBQTBCLGtCQUFrQix5QkFBeUIsc0RBQXNELEtBQUsseUJBQXlCLCtGQUErRiwwQkFBMEIsaUlBQWlJLE9BQU8sb0RBQW9ELEtBQUssb0JBQW9CLHNCQUFzQix5QkFBeUIsMkJBQTJCLGVBQWUsZ0JBQWdCLE9BQU8sa0JBQWtCLHNCQUFzQix3QkFBd0IsbUJBQW1CLHlCQUF5Qix3QkFBd0IsNEJBQTRCLGdDQUFnQyxvQ0FBb0MsbUJBQW1CLHlCQUF5QixTQUFTLE9BQU8sNkJBQTZCLG9CQUFvQixxQkFBcUIsU0FBUyxhQUFhLHVCQUF1QixTQUFTLE9BQU8sNEJBQTRCLG1EQUFtRCxPQUFPLEtBQUssa0JBQWtCLHlCQUF5QixhQUFhLGNBQWMscUJBQXFCLGtCQUFrQix5QkFBeUIsMEJBQTBCLDBDQUEwQyxLQUFLLFdBQVcsNENBQTRDLG1CQUFtQiwyQ0FBMkMsS0FBSywwQkFBMEIseUJBQXlCLGdCQUFnQixpQkFBaUIsa0JBQWtCLG1CQUFtQixnREFBZ0QsbUNBQW1DLG1CQUFtQiwyQkFBMkIsK0NBQStDLE9BQU8sbUJBQW1CLDZDQUE2QyxPQUFPLGtCQUFrQixxQkFBcUIsaURBQWlELGFBQWEsNkJBQTZCLG9CQUFvQixxQkFBcUIsZ0JBQWdCLHVCQUF1QixXQUFXLFNBQVMsT0FBTyxLQUFLLCtCQUErQix5QkFBeUIsa0JBQWtCLG1CQUFtQixtQkFBbUIsa0JBQWtCLHdCQUF3QiwwQ0FBMEMscURBQXFELHFEQUFxRCx5QkFBeUIsdUJBQXVCLG9EQUFvRCx3REFBd0QsT0FBTyxzQkFBc0IsaURBQWlELHFEQUFxRCxPQUFPLGtCQUFrQixnREFBZ0QsdUJBQXVCLE9BQU8sYUFBYSw2Q0FBNkMsa0NBQWtDLHVCQUF1QixPQUFPLGNBQWMsOENBQThDLHVCQUF1QixPQUFPLGVBQWUscUJBQXFCLHNDQUFzQyxPQUFPLEtBQUssNEJBQTRCLHlCQUF5Qiw0QkFBNEIsS0FBSyxHQUFHLHdCQUF3Qix1QkFBdUIscURBQXFELGlCQUFpQixHQUFHLHNqQkFBc2pCLHNnQkFBc2dCLG1GQUFtRixnSkFBZ0osbUZBQW1GLDJFQUEyRSx3Q0FBd0Msc0JBQXNCLG1CQUFtQixzSUFBc0ksK0ZBQStGLDJCQUEyQixxREFBcUQsNHVCQUE0dUIsdUNBQXVDLHNKQUFzSiwrUkFBK1IsbVRBQW1ULCtGQUErRiwwQkFBMEIsa0RBQWtELEtBQUssMkRBQTJELHlDQUF5QyxpQkFBaUIsS0FBSywrQ0FBK0MsR0FBRywyRkFBMkYsa0NBQWtDLGlCQUFpQixrQkFBa0IsOENBQThDLDBDQUEwQyxLQUFLLFFBQVEsa0RBQWtELEtBQUssbUNBQW1DLCtDQUErQyx3Q0FBd0MsaUJBQWlCLEtBQUssbUNBQW1DLEdBQUcsbUVBQW1FLDRCQUE0QiwwQkFBMEIsa0NBQWtDLGlCQUFpQixrQkFBa0IsOENBQThDLEtBQUssUUFBUSxrREFBa0QsS0FBSyxjQUFjLDBCQUEwQix5QkFBeUIsdUJBQXVCLG9DQUFvQyxLQUFLLEdBQUcsMEdBQTBHLGdCQUFnQiwyQ0FBMkMsNkNBQTZDLGdXQUFnVyxzQkFBc0IsR0FBRyx3R0FBd0csT0FBTyxtQkFBbUIsRUFBRSx5QkFBeUIsdUJBQXVCLHVGQUF1RixZQUFZLGFBQWEsRUFBRSxNQUFNLFNBQVMsZ0RBQWdELDBEQUEwRCxNQUFNLElBQUksU0FBUyxPQUFPLEtBQUssR0FBRyxxQkFBcUI7QUFDbitvQjtBQUNlLHNGQUF1QixFQUFDOzs7Ozs7Ozs7Ozs7O0FDaEJ2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDNEg7QUFDN0I7QUFDTztBQUNyQjtBQUNDO0FBQ0Q7QUFDQTtBQUNqRiw4QkFBOEIsbUZBQTJCLENBQUMsc0dBQXFDO0FBQy9GLHlDQUF5QyxzRkFBK0IsQ0FBQyx1RUFBNkI7QUFDdEcseUNBQXlDLHNGQUErQixDQUFDLHdFQUE2QjtBQUN0Ryx5Q0FBeUMsc0ZBQStCLENBQUMsdUVBQTZCO0FBQ3RHLHlDQUF5QyxzRkFBK0IsQ0FBQyx1RUFBNkI7QUFDdEc7QUFDQSw4QkFBOEIsUUFBUyxzQkFBc0IsaWpCQUFpakIsZ1ZBQWdWLDBDQUEwQyx5REFBeUQsMFRBQTBULHVCQUF1QiwwQkFBMEIsdUJBQXVCLHFCQUFxQixHQUFHLG1EQUFtRCw0Q0FBNEMscUJBQXFCLEdBQUcsNENBQTRDLDRDQUE0QyxxQkFBcUIsR0FBRyxvREFBb0QsNENBQTRDLHFCQUFxQixHQUFHLDZDQUE2Qyw0Q0FBNEMscUJBQXFCLEdBQUcsNENBQTRDLDRDQUE0QyxxQkFBcUIsR0FBRywyQ0FBMkMsNENBQTRDLHFCQUFxQixHQUFHLHVDQUF1Qyw0Q0FBNEMscUJBQXFCLEdBQUcseUNBQXlDLDRDQUE0QyxxQkFBcUIsR0FBRyxzQ0FBc0MsNENBQTRDLHFCQUFxQixHQUFHLHNDQUFzQyw0Q0FBNEMscUJBQXFCLEdBQUcsc0NBQXNDLDRDQUE0QyxxQkFBcUIsR0FBRyx1Q0FBdUMsNENBQTRDLHFCQUFxQixHQUFHLHNDQUFzQyw0Q0FBNEMscUJBQXFCLEdBQUcsNENBQTRDLDRDQUE0QyxxQkFBcUIsR0FBRyxrREFBa0QsNENBQTRDLHFCQUFxQixHQUFHLGlEQUFpRCw0Q0FBNEMscUJBQXFCLEdBQUcsdURBQXVELDRDQUE0QyxxQkFBcUIsR0FBRyxvREFBb0QsNENBQTRDLHFCQUFxQixHQUFHLDJCQUEyQiwyQkFBMkIseUJBQXlCLGlCQUFpQixlQUFlLEdBQUcsa0NBQWtDLDRDQUE0Qyx5QkFBeUIsdUJBQXVCLHFCQUFxQixHQUFHLHNDQUFzQyx1QkFBdUIsR0FBRyx3Q0FBd0MsdUJBQXVCLEdBQUcsbUNBQW1DLG9CQUFvQiwwQkFBMEIsZUFBZSxzQ0FBc0Msc0JBQXNCLEdBQUcsbUNBQW1DLG9CQUFvQixHQUFHLDBDQUEwQyx5QkFBeUIsR0FBRywrREFBK0Qsc0JBQXNCLEdBQUcsNkJBQTZCLDBCQUEwQiwyQkFBMkIsR0FBRyxvQ0FBb0MseUJBQXlCLGdDQUFnQyw0QkFBNEIsR0FBRyxTQUFTLG1MQUFtTCx5QkFBeUIsTUFBTSxNQUFNLFlBQVksYUFBYSxXQUFXLGFBQWEsVUFBVSxNQUFNLE1BQU0sWUFBWSxhQUFhLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxhQUFhLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksYUFBYSxLQUFLLE9BQU8sWUFBWSxhQUFhLEtBQUssT0FBTyxZQUFZLGFBQWEsYUFBYSxZQUFZLEtBQUssS0FBSyxjQUFjLGNBQWMsYUFBYSxZQUFZLEtBQUssT0FBTyxZQUFZLEtBQUssTUFBTSxVQUFVLEtBQUssTUFBTSxXQUFXLFlBQVksV0FBVyxZQUFZLFdBQVcsS0FBSyxNQUFNLFVBQVUsS0FBSyxLQUFLLFlBQVksS0FBSyxPQUFPLFdBQVcsS0FBSyxPQUFPLGFBQWEsYUFBYSxLQUFLLE9BQU8sYUFBYSxhQUFhLGFBQWEsb0RBQW9ELHFCQUFxQixvZEFBb2QsWUFBWSxvQ0FBb0MsMkJBQTJCLHlCQUF5Qiw0QkFBNEIsZUFBZSxvQkFBb0IsdUJBQXVCLFdBQVcsdUJBQXVCLE9BQU8sS0FBSyxpQkFBaUIsb0JBQW9CLDBCQUEwQixlQUFlLHNDQUFzQyxzQkFBc0IsS0FBSyxpQkFBaUIsb0JBQW9CLEtBQUssd0JBQXdCLHlCQUF5QixLQUFLLG1CQUFtQixzQkFBc0IsS0FBSyxTQUFTLDBCQUEwQiwyQkFBMkIsZ0JBQWdCLHlCQUF5QixnQ0FBZ0MsNEJBQTRCLE9BQU8sS0FBSyxHQUFHLG9qQkFBb2pCLHNnQkFBc2dCLG1GQUFtRixnSkFBZ0osbUZBQW1GLDJFQUEyRSx3Q0FBd0Msc0JBQXNCLG1CQUFtQixzSUFBc0ksK0ZBQStGLDJCQUEyQixxREFBcUQsNHVCQUE0dUIsdUNBQXVDLHNKQUFzSiwrUkFBK1IsbVRBQW1ULCtGQUErRiwwQkFBMEIsa0RBQWtELEtBQUssMkRBQTJELHlDQUF5QyxpQkFBaUIsS0FBSywrQ0FBK0MsR0FBRywyRkFBMkYsa0NBQWtDLGlCQUFpQixrQkFBa0IsOENBQThDLDBDQUEwQyxLQUFLLFFBQVEsa0RBQWtELEtBQUssbUNBQW1DLCtDQUErQyx3Q0FBd0MsaUJBQWlCLEtBQUssbUNBQW1DLEdBQUcsbUVBQW1FLDRCQUE0QiwwQkFBMEIsa0NBQWtDLGlCQUFpQixrQkFBa0IsOENBQThDLEtBQUssUUFBUSxrREFBa0QsS0FBSyxjQUFjLDBCQUEwQix5QkFBeUIsdUJBQXVCLG9DQUFvQyxLQUFLLEdBQUcsMEdBQTBHLGdCQUFnQiwyQ0FBMkMsNkNBQTZDLGdXQUFnVyxzQkFBc0IsR0FBRyx3R0FBd0csT0FBTyxtQkFBbUIsRUFBRSx5QkFBeUIsdUJBQXVCLHVGQUF1RixZQUFZLGFBQWEsRUFBRSxNQUFNLFNBQVMsZ0RBQWdELDBEQUEwRCxNQUFNLElBQUksU0FBUyxPQUFPLEtBQUssR0FBRyxxQkFBcUI7QUFDeC9ZO0FBQ2Usc0ZBQXVCLEVBQUM7Ozs7Ozs7Ozs7Ozs7QUNoQnZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUM0SDtBQUM3QjtBQUMvRiw4QkFBOEIsbUZBQTJCLENBQUMsc0dBQXFDO0FBQy9GO0FBQ0EsOEJBQThCLFFBQVMsc0JBQXNCLGlqQkFBaWpCLGtXQUFrVyxnQkFBZ0IsaUJBQWlCLEdBQUcsNkRBQTZELHVCQUF1QixxQkFBcUIsR0FBRyxnREFBZ0QsbURBQW1ELEdBQUcsU0FBUyxtSUFBbUkseUJBQXlCLE1BQU0sTUFBTSxVQUFVLFVBQVUsS0FBSyxLQUFLLFlBQVksV0FBVyxLQUFLLE1BQU0sWUFBWSxvREFBb0QscUJBQXFCLHFpQ0FBcWlDLGdCQUFnQixpQkFBaUIsdUNBQXVDLHVCQUF1QixxQkFBcUIsS0FBSyxzQkFBc0IsbURBQW1ELEtBQUssR0FBRyxvakJBQW9qQixzZ0JBQXNnQixtRkFBbUYsZ0pBQWdKLG1GQUFtRiwyRUFBMkUsd0NBQXdDLHNCQUFzQixtQkFBbUIsc0lBQXNJLCtGQUErRiwyQkFBMkIscURBQXFELHFCQUFxQjtBQUNqbEo7QUFDZSxzRkFBdUIsRUFBQzs7Ozs7Ozs7Ozs7OztBQ1B2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDNEg7QUFDN0I7QUFDTztBQUNyQjtBQUNDO0FBQ0Q7QUFDQTtBQUNqRiw4QkFBOEIsbUZBQTJCLENBQUMsc0dBQXFDO0FBQy9GLHlDQUF5QyxzRkFBK0IsQ0FBQyx1RUFBNkI7QUFDdEcseUNBQXlDLHNGQUErQixDQUFDLHdFQUE2QjtBQUN0Ryx5Q0FBeUMsc0ZBQStCLENBQUMsdUVBQTZCO0FBQ3RHLHlDQUF5QyxzRkFBK0IsQ0FBQyx1RUFBNkI7QUFDdEc7QUFDQSw4QkFBOEIsUUFBUyxzQkFBc0IsaWpCQUFpakIsZ1ZBQWdWLDBDQUEwQyx5REFBeUQsMFRBQTBULHVCQUF1QiwwQkFBMEIsdUJBQXVCLHFCQUFxQixHQUFHLG1EQUFtRCw0Q0FBNEMscUJBQXFCLEdBQUcsNENBQTRDLDRDQUE0QyxxQkFBcUIsR0FBRyxvREFBb0QsNENBQTRDLHFCQUFxQixHQUFHLDZDQUE2Qyw0Q0FBNEMscUJBQXFCLEdBQUcsNENBQTRDLDRDQUE0QyxxQkFBcUIsR0FBRywyQ0FBMkMsNENBQTRDLHFCQUFxQixHQUFHLHVDQUF1Qyw0Q0FBNEMscUJBQXFCLEdBQUcseUNBQXlDLDRDQUE0QyxxQkFBcUIsR0FBRyxzQ0FBc0MsNENBQTRDLHFCQUFxQixHQUFHLHNDQUFzQyw0Q0FBNEMscUJBQXFCLEdBQUcsc0NBQXNDLDRDQUE0QyxxQkFBcUIsR0FBRyx1Q0FBdUMsNENBQTRDLHFCQUFxQixHQUFHLHNDQUFzQyw0Q0FBNEMscUJBQXFCLEdBQUcsNENBQTRDLDRDQUE0QyxxQkFBcUIsR0FBRyxrREFBa0QsNENBQTRDLHFCQUFxQixHQUFHLGlEQUFpRCw0Q0FBNEMscUJBQXFCLEdBQUcsdURBQXVELDRDQUE0QyxxQkFBcUIsR0FBRyxvREFBb0QsNENBQTRDLHFCQUFxQixHQUFHLGtDQUFrQyxrQkFBa0IscUJBQXFCLDRCQUE0QiwyQkFBMkIsbUNBQW1DLHVDQUF1QyxpQkFBaUIsaUJBQWlCLHVCQUF1QixrQkFBa0IsR0FBRyx5Q0FBeUMsb0JBQW9CLDZDQUE2QywyQkFBMkIsR0FBRyxzREFBc0Qsc0JBQXNCLDRCQUE0QixnQ0FBZ0Msb0JBQW9CLHFCQUFxQix5QkFBeUIscUJBQXFCLG1CQUFtQixxQkFBcUIscUJBQXFCLDRCQUE0Qix3QkFBd0IsR0FBRyw0REFBNEQsc0JBQXNCLEdBQUcsOERBQThELGdDQUFnQyxHQUFHLHFFQUFxRSxrREFBa0QsK0JBQStCLDZCQUE2QiwyQkFBMkIsR0FBRywyQ0FBMkMsa0NBQWtDLEdBQUcsNkNBQTZDLG9CQUFvQiwwQkFBMEIscUNBQXFDLHVCQUF1QixHQUFHLG9EQUFvRCxzQkFBc0IsOEJBQThCLGdDQUFnQyx3QkFBd0IscUJBQXFCLHNCQUFzQixrQkFBa0IscUJBQXFCLDRCQUE0Qix5QkFBeUIsK0JBQStCLEdBQUcsNERBQTRELDBCQUEwQixHQUFHLDBEQUEwRCxzREFBc0QsR0FBRyxnRUFBZ0UsZ0RBQWdELDZCQUE2QiwyQkFBMkIseUJBQXlCLEdBQUcsNERBQTRELHVCQUF1QixpREFBaUQsR0FBRyxrRUFBa0UsaUVBQWlFLEdBQUcsa0VBQWtFLDRCQUE0QixHQUFHLHlFQUF5RSxrREFBa0QsK0JBQStCLDZCQUE2QiwyQkFBMkIsR0FBRyxnQ0FBZ0MsaUJBQWlCLGVBQWUsR0FBRywyQ0FBMkMsa0JBQWtCLG1CQUFtQixHQUFHLDZDQUE2QyxrQkFBa0IsbUJBQW1CLDBCQUEwQixHQUFHLHFDQUFxQywwQkFBMEIsR0FBRyxnREFBZ0QseUJBQXlCLEdBQUcsa0RBQWtELGtCQUFrQixtQkFBbUIsR0FBRyxpQ0FBaUMsZ0NBQWdDLGVBQWUsR0FBRyxvQ0FBb0MsNkJBQTZCLGVBQWUsR0FBRyxpQ0FBaUMsNkJBQTZCLGVBQWUsR0FBRyxvQ0FBb0MsZ0NBQWdDLGVBQWUsR0FBRyw4RUFBOEUscUNBQXFDLEdBQUcsU0FBUyxvTEFBb0wseUJBQXlCLE1BQU0sTUFBTSxZQUFZLGFBQWEsV0FBVyxhQUFhLFVBQVUsTUFBTSxNQUFNLFlBQVksYUFBYSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksYUFBYSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLGFBQWEsS0FBSyxPQUFPLFlBQVksYUFBYSxLQUFLLE9BQU8sVUFBVSxZQUFZLGFBQWEsYUFBYSxhQUFhLGFBQWEsV0FBVyxVQUFVLFlBQVksV0FBVyxLQUFLLEtBQUssVUFBVSxZQUFZLGNBQWMsS0FBSyxPQUFPLFVBQVUsWUFBWSxhQUFhLFdBQVcsVUFBVSxZQUFZLFdBQVcsVUFBVSxVQUFVLFVBQVUsWUFBWSxXQUFXLEtBQUssS0FBSyxVQUFVLEtBQUssS0FBSyxZQUFZLEtBQUssTUFBTSxjQUFjLGNBQWMsYUFBYSxZQUFZLEtBQUssT0FBTyxZQUFZLEtBQUssTUFBTSxVQUFVLFlBQVksYUFBYSxhQUFhLEtBQUssTUFBTSxVQUFVLFlBQVksYUFBYSxhQUFhLGNBQWMsY0FBYyxZQUFZLFVBQVUsWUFBWSxhQUFhLGFBQWEsS0FBSyxNQUFNLFdBQVcsS0FBSyxNQUFNLGNBQWMsS0FBSyxPQUFPLGNBQWMsY0FBYyxhQUFhLFlBQVksS0FBSyxPQUFPLFdBQVcsWUFBWSxLQUFLLE9BQU8sYUFBYSxLQUFLLE9BQU8sYUFBYSxLQUFLLE9BQU8sY0FBYyxjQUFjLGFBQWEsWUFBWSxLQUFLLE9BQU8sVUFBVSxVQUFVLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsVUFBVSxZQUFZLEtBQUssTUFBTSxhQUFhLEtBQUssT0FBTyxhQUFhLEtBQUssT0FBTyxXQUFXLFVBQVUsS0FBSyxLQUFLLFlBQVksV0FBVyxLQUFLLEtBQUssWUFBWSxXQUFXLEtBQUssS0FBSyxZQUFZLFdBQVcsS0FBSyxLQUFLLFlBQVksV0FBVyxLQUFLLEtBQUssWUFBWSxvREFBb0QscUJBQXFCLDBmQUEwZixtQkFBbUIsa0JBQWtCLHFCQUFxQiw0QkFBNEIsMkJBQTJCLG1DQUFtQyx1Q0FBdUMsaUJBQWlCLGlCQUFpQix1QkFBdUIsa0JBQWtCLGNBQWMsb0JBQW9CLHdEQUF3RCxzQ0FBc0Msd0JBQXdCLHNCQUFzQiw0QkFBNEIsZ0NBQWdDLG9CQUFvQixxQkFBcUIseUJBQXlCLHFCQUFxQixtQkFBbUIscUJBQXFCLHFCQUFxQiw0QkFBNEIsd0JBQXdCLGlCQUFpQixzQkFBc0IsU0FBUyxtQkFBbUIsZ0NBQWdDLHlDQUF5QyxTQUFTLE9BQU8sS0FBSyxrQkFBa0Isa0NBQWtDLEtBQUssb0JBQW9CLG9CQUFvQiwwQkFBMEIscUNBQXFDLHVCQUF1QixnQkFBZ0Isc0JBQXNCLDhCQUE4QixnQ0FBZ0MsbUNBQW1DLGdDQUFnQyw2QkFBNkIsa0JBQWtCLHFCQUFxQiwyQ0FBMkMseUJBQXlCLCtCQUErQixxQkFBcUIsZ0NBQWdDLFNBQVMsaUJBQWlCLDJDQUEyQyxTQUFTLGtCQUFrQiwwQ0FBMEMsU0FBUyxtQkFBbUIsdUJBQXVCLGlEQUFpRCxtQkFBbUIsaUVBQWlFLFdBQVcsU0FBUyx5QkFBeUIsNEJBQTRCLG9DQUFvQyxTQUFTLE9BQU8sS0FBSyxHQUFHLGtCQUFrQixjQUFjLG1CQUFtQixpQkFBaUIsb0JBQW9CLG9CQUFvQixxQkFBcUIsT0FBTyx3QkFBd0Isb0JBQW9CLHFCQUFxQiw0QkFBNEIsT0FBTyxnQkFBZ0IsNEJBQTRCLE9BQU8sc0JBQXNCLGdCQUFnQiw2QkFBNkIsU0FBUyxvQkFBb0Isc0JBQXNCLHVCQUF1QixTQUFTLE9BQU8sS0FBSyxHQUFHLFlBQVksYUFBYSxrQ0FBa0MsaUJBQWlCLEtBQUssZ0JBQWdCLCtCQUErQixpQkFBaUIsS0FBSyxhQUFhLCtCQUErQixpQkFBaUIsS0FBSyxnQkFBZ0Isa0NBQWtDLGlCQUFpQixLQUFLLHVDQUF1Qyx1Q0FBdUMsS0FBSyxHQUFHLHNqQkFBc2pCLHNnQkFBc2dCLG1GQUFtRixnSkFBZ0osbUZBQW1GLDJFQUEyRSx3Q0FBd0Msc0JBQXNCLG1CQUFtQixzSUFBc0ksK0ZBQStGLDJCQUEyQixxREFBcUQsNHVCQUE0dUIsdUNBQXVDLHNKQUFzSiwrUkFBK1IsbVRBQW1ULCtGQUErRiwwQkFBMEIsa0RBQWtELEtBQUssMkRBQTJELHlDQUF5QyxpQkFBaUIsS0FBSywrQ0FBK0MsR0FBRywyRkFBMkYsa0NBQWtDLGlCQUFpQixrQkFBa0IsOENBQThDLDBDQUEwQyxLQUFLLFFBQVEsa0RBQWtELEtBQUssbUNBQW1DLCtDQUErQyx3Q0FBd0MsaUJBQWlCLEtBQUssbUNBQW1DLEdBQUcsbUVBQW1FLDRCQUE0QiwwQkFBMEIsa0NBQWtDLGlCQUFpQixrQkFBa0IsOENBQThDLEtBQUssUUFBUSxrREFBa0QsS0FBSyxjQUFjLDBCQUEwQix5QkFBeUIsdUJBQXVCLG9DQUFvQyxLQUFLLEdBQUcsMEdBQTBHLGdCQUFnQiwyQ0FBMkMsNkNBQTZDLGdXQUFnVyxzQkFBc0IsR0FBRyx3R0FBd0csT0FBTyxtQkFBbUIsRUFBRSx5QkFBeUIsdUJBQXVCLHVGQUF1RixZQUFZLGFBQWEsRUFBRSxNQUFNLFNBQVMsZ0RBQWdELDBEQUEwRCxNQUFNLElBQUksU0FBUyxPQUFPLEtBQUssR0FBRyxxQkFBcUI7QUFDNTdqQjtBQUNlLHNGQUF1QixFQUFDOzs7Ozs7Ozs7Ozs7O0FDaEJ2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDNEg7QUFDN0I7QUFDL0YsOEJBQThCLG1GQUEyQixDQUFDLHNHQUFxQztBQUMvRjtBQUNBLDhCQUE4QixRQUFTLHNCQUFzQixpakJBQWlqQiwrVkFBK1YsMkJBQTJCLHVCQUF1QixrQkFBa0Isc0JBQXNCLHFCQUFxQixHQUFHLGdDQUFnQyw2QkFBNkIsR0FBRyxTQUFTLCtIQUErSCx5QkFBeUIsTUFBTSxNQUFNLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxLQUFLLE1BQU0sWUFBWSxvREFBb0QscUJBQXFCLGdKQUFnSiwyQkFBMkIsdUJBQXVCLGtCQUFrQixzQkFBc0IscUJBQXFCLGdCQUFnQiw2QkFBNkIsS0FBSyxHQUFHLG9qQkFBb2pCLHNnQkFBc2dCLG1GQUFtRixnSkFBZ0osbUZBQW1GLDJFQUEyRSx3Q0FBd0Msc0JBQXNCLG1CQUFtQixzSUFBc0ksK0ZBQStGLDJCQUEyQixxREFBcUQscUJBQXFCO0FBQ25sSDtBQUNlLHNGQUF1QixFQUFDOzs7Ozs7Ozs7Ozs7O0FDUHZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUM0SDtBQUM3QjtBQUMvRiw4QkFBOEIsbUZBQTJCLENBQUMsc0dBQXFDO0FBQy9GO0FBQ0EsOEJBQThCLFFBQVMsc0JBQXNCLGlqQkFBaWpCLHFXQUFxVyxrQkFBa0Isd0JBQXdCLDJCQUEyQixxQkFBcUIsR0FBRyx5Q0FBeUMsb0JBQW9CLDBCQUEwQiw4QkFBOEIsa0JBQWtCLG1CQUFtQiwwQkFBMEIsa0JBQWtCLG1DQUFtQyxrQ0FBa0MsNEJBQTRCLEdBQUcsNkNBQTZDLG9CQUFvQixxQkFBcUIsR0FBRywwQ0FBMEMsMEJBQTBCLEdBQUcsU0FBUyxvSUFBb0kseUJBQXlCLE1BQU0sTUFBTSxVQUFVLFlBQVksYUFBYSxhQUFhLEtBQUssTUFBTSxVQUFVLFlBQVksYUFBYSxXQUFXLFVBQVUsWUFBWSxXQUFXLFlBQVksYUFBYSxhQUFhLEtBQUssTUFBTSxVQUFVLFVBQVUsS0FBSyxLQUFLLFlBQVksb0RBQW9ELHFCQUFxQixzTUFBc00sa0JBQWtCLHdCQUF3QiwyQkFBMkIscUJBQXFCLGVBQWUsb0JBQW9CLDBCQUEwQiw4QkFBOEIsa0JBQWtCLG1CQUFtQiwwQkFBMEIsa0JBQWtCLG1DQUFtQyxrQ0FBa0MsNEJBQTRCLGFBQWEsb0JBQW9CLHFCQUFxQixPQUFPLEtBQUssZ0JBQWdCLDBCQUEwQixLQUFLLEdBQUcsc2pCQUFzakIsc2dCQUFzZ0IsbUZBQW1GLGdKQUFnSixtRkFBbUYsMkVBQTJFLHdDQUF3QyxzQkFBc0IsbUJBQW1CLHNJQUFzSSwrRkFBK0YsMkJBQTJCLHFEQUFxRCxxQkFBcUI7QUFDbjlJO0FBQ2Usc0ZBQXVCLEVBQUM7Ozs7Ozs7Ozs7Ozs7QUNQdkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQzRIO0FBQzdCO0FBQy9GLDhCQUE4QixtRkFBMkIsQ0FBQyxzR0FBcUM7QUFDL0Y7QUFDQSw4QkFBOEIsUUFBUyxzQkFBc0IsaWpCQUFpakIsOFZBQThWLGtCQUFrQix3QkFBd0IsZ0JBQWdCLDBCQUEwQixHQUFHLG9DQUFvQyxrQ0FBa0MsR0FBRyxxQ0FBcUMsb0JBQW9CLGdCQUFnQiw2QkFBNkIsOEJBQThCLG1CQUFtQixHQUFHLHFDQUFxQyxxQ0FBcUMsR0FBRyxxQ0FBcUMsbUJBQW1CLEdBQUcsd0VBQXdFLHVCQUF1QiwwQkFBMEIsOEJBQThCLHlCQUF5QixHQUFHLHNGQUFzRiwwQkFBMEIsR0FBRyxrQ0FBa0MscUJBQXFCLGtCQUFrQixtQkFBbUIsbUJBQW1CLGtDQUFrQyw0QkFBNEIsR0FBRyxTQUFTLG9JQUFvSSx5QkFBeUIsTUFBTSxNQUFNLFVBQVUsWUFBWSxXQUFXLFlBQVksS0FBSyxNQUFNLFlBQVksS0FBSyxNQUFNLFVBQVUsVUFBVSxZQUFZLGFBQWEsV0FBVyxLQUFLLEtBQUssWUFBWSxLQUFLLE1BQU0sWUFBWSxLQUFLLE9BQU8sWUFBWSxhQUFhLGFBQWEsYUFBYSxLQUFLLE1BQU0sWUFBWSxLQUFLLE1BQU0sWUFBWSxjQUFjLGNBQWMsY0FBYyxjQUFjLGFBQWEsb0RBQW9ELHFCQUFxQix5ZEFBeWQsa0JBQWtCLHdCQUF3QixnQkFBZ0IsMEJBQTBCLGlCQUFpQixrQ0FBa0MsS0FBSyxrQkFBa0Isb0JBQW9CLGdCQUFnQiw2QkFBNkIsOEJBQThCLG1CQUFtQixLQUFLLGtCQUFrQixxQ0FBcUMsS0FBSyxnQkFBZ0IsK0JBQStCLEtBQUssK0JBQStCLHVCQUF1QiwwQkFBMEIsOEJBQThCLHlCQUF5QixjQUFjLDBCQUEwQixPQUFPLEtBQUssZUFBZSxnQ0FBZ0MsNkJBQTZCLDhCQUE4QixpQ0FBaUMsa0NBQWtDLDRCQUE0QixLQUFLLEdBQUcsc2pCQUFzakIsc2dCQUFzZ0IsbUZBQW1GLGdKQUFnSixtRkFBbUYsMkVBQTJFLHdDQUF3QyxzQkFBc0IsbUJBQW1CLHNJQUFzSSwrRkFBK0YsMkJBQTJCLHFEQUFxRCxxQkFBcUI7QUFDdmdMO0FBQ2Usc0ZBQXVCLEVBQUM7Ozs7Ozs7Ozs7Ozs7QUNQdkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQzRIO0FBQzdCO0FBQ087QUFDckI7QUFDQztBQUNEO0FBQ0E7QUFDakYsOEJBQThCLG1GQUEyQixDQUFDLHNHQUFxQztBQUMvRix5Q0FBeUMsc0ZBQStCLENBQUMsdUVBQTZCO0FBQ3RHLHlDQUF5QyxzRkFBK0IsQ0FBQyx3RUFBNkI7QUFDdEcseUNBQXlDLHNGQUErQixDQUFDLHVFQUE2QjtBQUN0Ryx5Q0FBeUMsc0ZBQStCLENBQUMsdUVBQTZCO0FBQ3RHO0FBQ0EsOEJBQThCLFFBQVMsc0JBQXNCLGlqQkFBaWpCLGdWQUFnViwwQ0FBMEMseURBQXlELDBUQUEwVCx1QkFBdUIsMEJBQTBCLHVCQUF1QixxQkFBcUIsR0FBRyxtREFBbUQsNENBQTRDLHFCQUFxQixHQUFHLDRDQUE0Qyw0Q0FBNEMscUJBQXFCLEdBQUcsb0RBQW9ELDRDQUE0QyxxQkFBcUIsR0FBRyw2Q0FBNkMsNENBQTRDLHFCQUFxQixHQUFHLDRDQUE0Qyw0Q0FBNEMscUJBQXFCLEdBQUcsMkNBQTJDLDRDQUE0QyxxQkFBcUIsR0FBRyx1Q0FBdUMsNENBQTRDLHFCQUFxQixHQUFHLHlDQUF5Qyw0Q0FBNEMscUJBQXFCLEdBQUcsc0NBQXNDLDRDQUE0QyxxQkFBcUIsR0FBRyxzQ0FBc0MsNENBQTRDLHFCQUFxQixHQUFHLHNDQUFzQyw0Q0FBNEMscUJBQXFCLEdBQUcsdUNBQXVDLDRDQUE0QyxxQkFBcUIsR0FBRyxzQ0FBc0MsNENBQTRDLHFCQUFxQixHQUFHLDRDQUE0Qyw0Q0FBNEMscUJBQXFCLEdBQUcsa0RBQWtELDRDQUE0QyxxQkFBcUIsR0FBRyxpREFBaUQsNENBQTRDLHFCQUFxQixHQUFHLHVEQUF1RCw0Q0FBNEMscUJBQXFCLEdBQUcsb0RBQW9ELDRDQUE0QyxxQkFBcUIsR0FBRyxnQ0FBZ0Msb0JBQW9CLGtCQUFrQixXQUFXLFlBQVksbUJBQW1CLGdCQUFnQixpQkFBaUIseUNBQXlDLEdBQUcsc0NBQXNDLDRDQUE0QyxHQUFHLGtDQUFrQyx1QkFBdUIsbUJBQW1CLFdBQVcsYUFBYSxZQUFZLDZCQUE2Qix3QkFBd0IsNEJBQTRCLGdCQUFnQixpQkFBaUIsZ0RBQWdELEdBQUcscUlBQXFJLHlCQUF5QixHQUFHLCtDQUErQyx5QkFBeUIsNkJBQTZCLGtCQUFrQiw4QkFBOEIscUNBQXFDLDBCQUEwQiw4QkFBOEIsa0JBQWtCLHNCQUFzQixHQUFHLDZDQUE2QywrQ0FBK0MsMkJBQTJCLDRCQUE0QixHQUFHLEdBQUcsOENBQThDLHlCQUF5QixlQUFlLG9CQUFvQiwwQkFBMEIsZ0NBQWdDLEdBQUcsMERBQTBELCtCQUErQixvQkFBb0IsMkJBQTJCLG9CQUFvQiwrQkFBK0Isd0JBQXdCLEdBQUcsaUVBQWlFLGdEQUFnRCw2QkFBNkIsMkJBQTJCLHlCQUF5QixHQUFHLDBEQUEwRCwyQkFBMkIsb0JBQW9CLHFCQUFxQixrQkFBa0IsbUJBQW1CLHdCQUF3QixxQkFBcUIscUJBQXFCLHNDQUFzQyx3QkFBd0IsR0FBRyxzVEFBc1QscUJBQXFCLDhCQUE4QixzREFBc0QsR0FBRyxnSkFBZ0osaUNBQWlDLHNCQUFzQix1QkFBdUIsc0JBQXNCLHNCQUFzQixpQ0FBaUMsMEJBQTBCLEdBQUcscUVBQXFFLDZCQUE2QixHQUFHLDRFQUE0RSxrREFBa0QsK0JBQStCLDZCQUE2QiwyQkFBMkIsR0FBRyxzRUFBc0Usd0JBQXdCLDRCQUE0QixHQUFHLDZFQUE2RSxrREFBa0QsK0JBQStCLDZCQUE2QiwyQkFBMkIsR0FBRyw4REFBOEQsb0JBQW9CLHFCQUFxQixHQUFHLG1FQUFtRSwrQkFBK0Isb0JBQW9CLHFCQUFxQix3QkFBd0Isb0NBQW9DLDhCQUE4QixHQUFHLHVFQUF1RSwyQkFBMkIsb0JBQW9CLHdCQUF3QixHQUFHLG1DQUFtQyxrQkFBa0Isd0JBQXdCLDRCQUE0QiwyQkFBMkIsZ0JBQWdCLGlCQUFpQixnREFBZ0QsbUZBQW1GLHFCQUFxQiwrQkFBK0IsMEJBQTBCLDhCQUE4QixpQkFBaUIsc0JBQXNCLG1CQUFtQixrREFBa0QsR0FBRyw4U0FBOFMsMkJBQTJCLEdBQUcsaUdBQWlHLDZCQUE2QixrQkFBa0IsbUJBQW1CLHlCQUF5QixtQkFBbUIsMEJBQTBCLDZCQUE2QixzQkFBc0IsR0FBRyx5REFBeUQsNENBQTRDLHlCQUF5Qix1QkFBdUIscUJBQXFCLEdBQUcscURBQXFELDRDQUE0Qyx5QkFBeUIsdUJBQXVCLHFCQUFxQixHQUFHLG9EQUFvRCxxQkFBcUIsdUJBQXVCLGlCQUFpQix1Q0FBdUMsZ0RBQWdELHFEQUFxRCw4Q0FBOEMsR0FBRyx5R0FBeUcsdUJBQXVCLHNCQUFzQixHQUFHLDBEQUEwRCxzQkFBc0IsdUJBQXVCLHVCQUF1QixHQUFHLHNOQUFzTix5QkFBeUIsaUJBQWlCLEdBQUcseUdBQXlHLGNBQWMsR0FBRyx5R0FBeUcsZUFBZSxHQUFHLDJEQUEyRCxxQkFBcUIsc0JBQXNCLEdBQUcsaUdBQWlHLGlCQUFpQixzQkFBc0IsR0FBRyxrR0FBa0csOEJBQThCLEdBQUcsa0VBQWtFLGVBQWUsR0FBRyx3RkFBd0YsdUJBQXVCLGVBQWUsR0FBRywyS0FBMkssOEJBQThCLEdBQUcscUpBQXFKLGVBQWUsR0FBRyw0R0FBNEcsMEJBQTBCLEdBQUcsOEdBQThHLDBCQUEwQixHQUFHLDJEQUEyRCx1QkFBdUIsV0FBVyxZQUFZLDhCQUE4QixHQUFHLGtGQUFrRiwwQ0FBMEMsZ0NBQWdDLGlFQUFpRSw0QkFBNEIsa0NBQWtDLGlDQUFpQyxHQUFHLGdFQUFnRSwrRUFBK0UsR0FBRywyRUFBMkUsNENBQTRDLEdBQUcsMkNBQTJDLFFBQVEsa0NBQWtDLEdBQUcsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLHFDQUFxQyxNQUFNLGlCQUFpQixHQUFHLE9BQU8saUJBQWlCLEdBQUcsUUFBUSxpQkFBaUIsR0FBRyxHQUFHLFNBQVMsOEtBQThLLHlCQUF5QixNQUFNLE1BQU0sWUFBWSxhQUFhLFdBQVcsYUFBYSxVQUFVLE1BQU0sTUFBTSxZQUFZLGFBQWEsS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLGFBQWEsS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxNQUFNLFlBQVksWUFBWSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssTUFBTSxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE1BQU0sWUFBWSxZQUFZLEtBQUssT0FBTyxZQUFZLFlBQVksS0FBSyxPQUFPLFlBQVksWUFBWSxLQUFLLE9BQU8sWUFBWSxhQUFhLEtBQUssT0FBTyxZQUFZLGFBQWEsS0FBSyxPQUFPLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsWUFBWSxLQUFLLE1BQU0sWUFBWSxLQUFLLE1BQU0sWUFBWSxXQUFXLFVBQVUsVUFBVSxVQUFVLFlBQVksYUFBYSxhQUFhLFdBQVcsWUFBWSxjQUFjLEtBQUssTUFBTSxhQUFhLEtBQUssT0FBTyxhQUFhLGFBQWEsV0FBVyxZQUFZLGFBQWEsYUFBYSxhQUFhLFdBQVcsWUFBWSxLQUFLLE9BQU8sTUFBTSxhQUFhLFlBQVksS0FBSyxLQUFLLE1BQU0sYUFBYSxXQUFXLFVBQVUsWUFBWSxhQUFhLEtBQUssT0FBTyxhQUFhLFlBQVksYUFBYSxXQUFXLFlBQVksV0FBVyxLQUFLLE9BQU8sY0FBYyxjQUFjLGFBQWEsWUFBWSxLQUFLLE9BQU8sYUFBYSxZQUFZLFlBQVksV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFlBQVksV0FBVyxLQUFLLFNBQVMsV0FBVyxZQUFZLGVBQWUsS0FBSyxRQUFRLGFBQWEsY0FBYyxnQkFBZ0IsY0FBYyxXQUFXLFlBQVksV0FBVyxLQUFLLE9BQU8sYUFBYSxLQUFLLE9BQU8sY0FBYyxjQUFjLGFBQWEsWUFBWSxLQUFLLE9BQU8sV0FBVyxZQUFZLEtBQUssT0FBTyxjQUFjLGNBQWMsYUFBYSxZQUFZLEtBQUssT0FBTyxZQUFZLFdBQVcsS0FBSyxNQUFNLGFBQWEsY0FBYyxnQkFB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QUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7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MkVBQWYsRTs7Ozs7Ozs7Ozs7QUN4REEsNEM7Ozs7Ozs7Ozs7O0FDQUEsNkM7Ozs7Ozs7Ozs7O0FDQUEsdUQ7Ozs7Ozs7Ozs7O0FDQUEsb0Q7Ozs7Ozs7Ozs7O0FDQUEsaUQ7Ozs7Ozs7Ozs7O0FDQUEseUQ7Ozs7Ozs7Ozs7O0FDQUEsOEM7Ozs7Ozs7Ozs7O0FDQUEsK0Q7Ozs7Ozs7Ozs7O0FDQUEsK0Q7Ozs7Ozs7Ozs7O0FDQUEsbUU7Ozs7Ozs7Ozs7O0FDQUEsNkQ7Ozs7Ozs7Ozs7O0FDQUEsNkQ7Ozs7Ozs7Ozs7O0FDQUEsNkQ7Ozs7Ozs7Ozs7O0FDQUEsaUU7Ozs7Ozs7Ozs7O0FDQUEsaUU7Ozs7Ozs7Ozs7O0FDQUEsNkQ7Ozs7Ozs7Ozs7O0FDQUEsNEQ7Ozs7Ozs7Ozs7O0FDQUEsK0Q7Ozs7Ozs7Ozs7O0FDQUEsOEQ7Ozs7Ozs7Ozs7O0FDQUEsK0Q7Ozs7Ozs7Ozs7O0FDQUEsZ0U7Ozs7Ozs7Ozs7O0FDQUEscUU7Ozs7Ozs7Ozs7O0FDQUEscUY7Ozs7Ozs7Ozs7O0FDQUEsc0Y7Ozs7Ozs7Ozs7O0FDQUEsOEQ7Ozs7Ozs7Ozs7O0FDQUEsbUU7Ozs7Ozs7Ozs7O0FDQUEsZ0U7Ozs7Ozs7Ozs7O0FDQUEsMEQ7Ozs7Ozs7Ozs7O0FDQUEscUU7Ozs7Ozs7Ozs7O0FDQUEsOEQ7Ozs7Ozs7Ozs7O0FDQUEsbUU7Ozs7Ozs7Ozs7O0FDQUEsdUU7Ozs7Ozs7Ozs7O0FDQUEseUU7Ozs7Ozs7Ozs7O0FDQUEsa0U7Ozs7Ozs7Ozs7O0FDQUEsa0U7Ozs7Ozs7Ozs7O0FDQUEsK0Q7Ozs7Ozs7Ozs7O0FDQUEsaUU7Ozs7Ozs7Ozs7O0FDQUEsZ0U7Ozs7Ozs7Ozs7O0FDQUEsK0Q7Ozs7Ozs7Ozs7O0FDQUEscUU7Ozs7Ozs7Ozs7O0FDQUEsOEQ7Ozs7Ozs7Ozs7O0FDQUEscUU7Ozs7Ozs7Ozs7O0FDQUEsa0U7Ozs7Ozs7Ozs7O0FDQUEseUQ7Ozs7Ozs7Ozs7O0FDQUEsNEU7Ozs7Ozs7Ozs7O0FDQUEsNEU7Ozs7Ozs7Ozs7O0FDQUEsdUQ7Ozs7Ozs7Ozs7O0FDQUEscUM7Ozs7Ozs7Ozs7O0FDQUEsd0M7Ozs7Ozs7Ozs7O0FDQUEscUM7Ozs7Ozs7Ozs7O0FDQUEsNkM7Ozs7Ozs7Ozs7O0FDQUEsZ0M7Ozs7Ozs7Ozs7O0FDQUEsMkQ7Ozs7Ozs7Ozs7O0FDQUEsMEM7Ozs7Ozs7Ozs7O0FDQUEsc0M7Ozs7Ozs7Ozs7O0FDQUEsdUQ7Ozs7Ozs7Ozs7O0FDQUEsNEM7Ozs7Ozs7Ozs7O0FDQUEsc0M7Ozs7Ozs7Ozs7O0FDQUEsZ0M7Ozs7Ozs7Ozs7O0FDQUEsc0M7Ozs7Ozs7Ozs7O0FDQUEsNEM7Ozs7Ozs7Ozs7O0FDQUEsNEMiLCJmaWxlIjoibmN2dWVjb21wb25lbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoXCJuY3Z1ZWNvbXBvbmVudHNcIiwgW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wibmN2dWVjb21wb25lbnRzXCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcIk5leHRjbG91ZFZ1ZVwiXSA9IHJvb3RbXCJOZXh0Y2xvdWRWdWVcIl0gfHwge30sIHJvb3RbXCJOZXh0Y2xvdWRWdWVcIl1bXCJuY3Z1ZWNvbXBvbmVudHNcIl0gPSBmYWN0b3J5KCk7XG59KSh3aW5kb3csIGZ1bmN0aW9uKCkge1xucmV0dXJuICIsIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbiBcdFx0fVxuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4gXHQvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbiBcdC8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4gXHQvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbiBcdFx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcbiBcdFx0aWYoKG1vZGUgJiA0KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcbiBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCAnZGVmYXVsdCcsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHZhbHVlIH0pO1xuIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4gXHRcdHJldHVybiBucztcbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiL2Rpc3QvXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSBcIi4vc3JjL2luZGV4LmpzXCIpO1xuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjxkb2NzPlxuVGhpcyBjb21wb25lbnQgaXMgbWFkZSB0byBiZSB1c2VkIGluc2lkZSBvZiB0aGUgW0FjdGlvbnNdKCNBY3Rpb25zKSBjb21wb25lbnQgc2xvdHMuXG5cbmBgYHZ1ZVxuXHQ8QWN0aW9ucz5cblx0XHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWRlbGV0ZVwiIEBjbGljaz1cImFsZXJ0KCdEZWxldGUnKVwiPkRlbGV0ZTwvQWN0aW9uQnV0dG9uPlxuXHRcdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tZGVsZXRlXCIgOmNsb3NlLWFmdGVyLWNsaWNrPVwidHJ1ZVwiIEBjbGljaz1cImFsZXJ0KCdEZWxldGUgYW5kIGNsb3NlIG1lbnUnKVwiPkRlbGV0ZSBhbmQgY2xvc2U8L0FjdGlvbkJ1dHRvbj5cblx0XHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWRlbGV0ZVwiIDpkaXNhYmxlZD1cInRydWVcIiBAY2xpY2s9XCJhbGVydCgnRGlzYWJsZWQnKVwiPkRpc2FibGVkIGJ1dHRvbjwvQWN0aW9uQnV0dG9uPlxuXHQ8L0FjdGlvbnM+XG5gYGBcblxuSWYgeW91J3JlIHVzaW5nIGEgbG9uZyB0ZXh0IHlvdSBjYW4gc3BlY2lmeSBhIHRpdGxlXG5cbmBgYHZ1ZVxuXHQ8QWN0aW9ucz5cblx0XHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWFkZFwiIEBjbGljaz1cImFsZXJ0KCdBZGQnKVwiPkFkZCBuZXc8L0FjdGlvbkJ1dHRvbj5cblx0XHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWRlbGV0ZVwiIHRpdGxlPVwiTG9uZyBidXR0b25cIiBAY2xpY2s9XCJhbGVydCgnRGVsZXRlJylcIj5UaGlzIGJ1dHRvbiBpcyBhc3NvY2lhdGVkIHdpdGggYSB2ZXJ5IGxvbmcgdGV4dC5cXG5BbmQgd2l0aCBuZXcgbGluZXMgdG9vLjwvQWN0aW9uQnV0dG9uPlxuXHQ8L0FjdGlvbnM+XG5gYGBcblxuWW91IGNhbiBhbHNvIHVzZSBhIGN1c3RvbSBpY29uLCBmb3IgZXhhbXBsZSBmcm9tIHRoZSB2dWUtbWF0ZXJpYWwtZGVzaWduLWljb25zIGxpYnJhcnk6XG5cbmBgYHZ1ZVxuPHRlbXBsYXRlPlxuXHQ8QWN0aW9ucz5cblx0XHQ8QWN0aW9uQnV0dG9uPlxuXHRcdFx0PEhhbmRMZWZ0XG5cdFx0XHRcdHNsb3Q9XCJpY29uXCJcblx0XHRcdFx0OnNpemU9XCIxNlwiXG5cdFx0XHRcdGRlY29yYXRpdmVcblx0XHRcdFx0dGl0bGU9XCJcIiAvPlxuXHRcdFx0UmFpc2UgbGVmdCBoYW5kXG5cdFx0PC9BY3Rpb25CdXR0b24+XG5cdFx0PEFjdGlvbkJ1dHRvbj5cblx0XHRcdDxIYW5kUmlnaHRcblx0XHRcdFx0c2xvdD1cImljb25cIlxuXHRcdFx0XHQ6c2l6ZT1cIjE2XCJcblx0XHRcdFx0ZGVjb3JhdGl2ZVxuXHRcdFx0XHR0aXRsZT1cIlwiIC8+XG5cdFx0XHRSYWlzZSByaWdodCBoYW5kXG5cdFx0PC9BY3Rpb25CdXR0b24+XG5cdDwvQWN0aW9ucz5cbjwvdGVtcGxhdGU+XG48c2NyaXB0PlxuaW1wb3J0IEhhbmRMZWZ0IGZyb20gJ3Z1ZS1tYXRlcmlhbC1kZXNpZ24taWNvbnMvSGFuZExlZnQnXG5pbXBvcnQgSGFuZFJpZ2h0IGZyb20gJ3Z1ZS1tYXRlcmlhbC1kZXNpZ24taWNvbnMvSGFuZFJpZ2h0J1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdGNvbXBvbmVudHM6IHtcblx0XHRIYW5kTGVmdCxcblx0XHRIYW5kUmlnaHQsXG5cdH0sXG59XG48L3NjcmlwdD5cbmBgYFxuPC9kb2NzPlxuXG48dGVtcGxhdGU+XG5cdDxsaSBjbGFzcz1cImFjdGlvblwiIDpjbGFzcz1cInsgJ2FjdGlvbi0tZGlzYWJsZWQnOiBkaXNhYmxlZCB9XCI+XG5cdFx0PGJ1dHRvblxuXHRcdFx0Y2xhc3M9XCJhY3Rpb24tYnV0dG9uXCJcblx0XHRcdDphcmlhLWxhYmVsPVwiYXJpYUxhYmVsXCJcblx0XHRcdDpjbGFzcz1cInsgZm9jdXNhYmxlOiBpc0ZvY3VzYWJsZSB9XCJcblx0XHRcdEBjbGljaz1cIm9uQ2xpY2tcIj5cblx0XHRcdDxzcGFuIDpjbGFzcz1cIltpc0ljb25VcmwgPyAnYWN0aW9uLWJ1dHRvbl9faWNvbi0tdXJsJyA6IGljb25dXCJcblx0XHRcdFx0OnN0eWxlPVwieyBiYWNrZ3JvdW5kSW1hZ2U6IGlzSWNvblVybCA/IGB1cmwoJHtpY29ufSlgIDogbnVsbCB9XCJcblx0XHRcdFx0Y2xhc3M9XCJhY3Rpb24tYnV0dG9uX19pY29uXCI+XG5cdFx0XHRcdDwhLS0gQHNsb3QgTWFudWFsbHkgcHJvdmlkZSBpY29uIC0tPlxuXHRcdFx0XHQ8c2xvdCBuYW1lPVwiaWNvblwiIC8+XG5cdFx0XHQ8L3NwYW4+XG5cblx0XHRcdDwhLS0gbG9uZyB0ZXh0IHdpdGggdGl0bGUgLS0+XG5cdFx0XHQ8cCB2LWlmPVwidGl0bGVcIj5cblx0XHRcdFx0PHN0cm9uZyBjbGFzcz1cImFjdGlvbi1idXR0b25fX3RpdGxlXCI+XG5cdFx0XHRcdFx0e3sgdGl0bGUgfX1cblx0XHRcdFx0PC9zdHJvbmc+XG5cdFx0XHRcdDxicj5cblx0XHRcdFx0PCEtLSB3aGl0ZSBzcGFjZSBpcyBzaG93biBvbiBsb25ndGV4dCwgc28gd2UgY2FuJ3Rcblx0XHRcdFx0XHRwdXQge3sgdGV4dCB9fSBvbiBhIG5ldyBsaW5lIGZvciBjb2RlIHJlYWRhYmlsaXR5IC0tPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cImFjdGlvbi1idXR0b25fX2xvbmd0ZXh0XCIgdi10ZXh0PVwidGV4dFwiIC8+XG5cdFx0XHQ8L3A+XG5cblx0XHRcdDwhLS0gbG9uZyB0ZXh0IG9ubHkgLS0+XG5cdFx0XHQ8IS0tIHdoaXRlIHNwYWNlIGlzIHNob3duIG9uIGxvbmd0ZXh0LCBzbyB3ZSBjYW4ndFxuXHRcdFx0XHRwdXQge3sgdGV4dCB9fSBvbiBhIG5ldyBsaW5lIGZvciBjb2RlIHJlYWRhYmlsaXR5IC0tPlxuXHRcdFx0PHAgdi1lbHNlLWlmPVwiaXNMb25nVGV4dFwiXG5cdFx0XHRcdGNsYXNzPVwiYWN0aW9uLWJ1dHRvbl9fbG9uZ3RleHRcIlxuXHRcdFx0XHR2LXRleHQ9XCJ0ZXh0XCIgLz5cblxuXHRcdFx0PCEtLSBkZWZhdWx0IHRleHQgZGlzcGxheSAtLT5cblx0XHRcdDxzcGFuIHYtZWxzZSBjbGFzcz1cImFjdGlvbi1idXR0b25fX3RleHRcIj57eyB0ZXh0IH19PC9zcGFuPlxuXG5cdFx0XHQ8IS0tIGZha2Ugc2xvdCB0byBnYXRoZXIgaW5uZXIgdGV4dCAtLT5cblx0XHRcdDxzbG90IHYtaWY9XCJmYWxzZVwiIC8+XG5cdFx0PC9idXR0b24+XG5cdDwvbGk+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IEFjdGlvblRleHRNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvYWN0aW9uVGV4dCdcblxuLyoqXG4gKiBCdXR0b24gY29tcG9uZW50IHRvIGJlIHVzZWQgaW4gQWN0aW9uc1xuKi9cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0FjdGlvbkJ1dHRvbicsXG5cblx0bWl4aW5zOiBbQWN0aW9uVGV4dE1peGluXSxcblxuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBhY3Rpb24gYnV0dG9uXG5cdFx0ICovXG5cdFx0ZGlzYWJsZWQ6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHR9LFxuXHRjb21wdXRlZDoge1xuXHRcdC8qKlxuXHRcdCAqIGRldGVybWluZXMgaWYgdGhlIGFjdGlvbiBpcyBmb2N1c2FibGVcblx0XHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gaXMgdGhlIGFjdGlvbiBmb2N1c2FibGUgP1xuXHRcdCAqL1xuXHRcdGlzRm9jdXNhYmxlKCkge1xuXHRcdFx0cmV0dXJuICF0aGlzLmRpc2FibGVkXG5cdFx0fSxcblx0fSxcbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG5AaW1wb3J0ICcuLi8uLi9hc3NldHMvYWN0aW9uJztcbkBpbmNsdWRlIGFjdGlvbi1hY3RpdmU7XG5AaW5jbHVkZSBhY3Rpb24tLWRpc2FibGVkO1xuQGluY2x1ZGUgYWN0aW9uLWl0ZW0oJ2J1dHRvbicpO1xuPC9zdHlsZT5cbiIsIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLSBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48ZG9jcz5cblRoaXMgY29tcG9uZW50IGlzIG1hZGUgdG8gYmUgdXNlZCBpbnNpZGUgb2YgdGhlIFtBY3Rpb25zXSgjQWN0aW9ucykgY29tcG9uZW50IHNsb3RzLlxuXG5gYGB2dWVcblx0PEFjdGlvbnM+XG5cdFx0PEFjdGlvbkNoZWNrYm94IEBjaGFuZ2U9XCJhbGVydCgnKHVuKWNoZWNrZWQgIScpXCI+Rmlyc3QgY2hvaWNlPC9BY3Rpb25DaGVja2JveD5cblx0XHQ8QWN0aW9uQ2hlY2tib3ggdmFsdWU9XCJzZWNvbmRcIiBAY2hhbmdlPVwiYWxlcnQoJyh1biljaGVja2VkICEnKVwiPlNlY29uZCBjaG9pY2U8L0FjdGlvbkNoZWNrYm94PlxuXHRcdDxBY3Rpb25DaGVja2JveCA6Y2hlY2tlZD1cInRydWVcIiBAY2hhbmdlPVwiYWxlcnQoJyh1biljaGVja2VkICEnKVwiPlRoaXJkIGNob2ljZSAoY2hlY2tlZCk8L0FjdGlvbkNoZWNrYm94PlxuXHRcdDxBY3Rpb25DaGVja2JveCA6ZGlzYWJsZWQ9XCJ0cnVlXCIgQGNoYW5nZT1cImFsZXJ0KCcodW4pY2hlY2tlZCAhJylcIj5TZWNvbmQgY2hvaWNlIChkaXNhYmxlZCk8L0FjdGlvbkNoZWNrYm94PlxuXHQ8L0FjdGlvbnM+XG5gYGBcbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8bGkgY2xhc3M9XCJhY3Rpb25cIiA6Y2xhc3M9XCJ7ICdhY3Rpb24tLWRpc2FibGVkJzogZGlzYWJsZWQgfVwiPlxuXHRcdDxzcGFuIGNsYXNzPVwiYWN0aW9uLWNoZWNrYm94XCI+XG5cdFx0XHQ8aW5wdXQgOmlkPVwiaWRcIlxuXHRcdFx0XHRyZWY9XCJjaGVja2JveFwiXG5cdFx0XHRcdDpkaXNhYmxlZD1cImRpc2FibGVkXCJcblx0XHRcdFx0OmNoZWNrZWQ9XCJjaGVja2VkXCJcblx0XHRcdFx0OnZhbHVlPVwidmFsdWVcIlxuXHRcdFx0XHQ6Y2xhc3M9XCJ7IGZvY3VzYWJsZTogaXNGb2N1c2FibGUgfVwiXG5cdFx0XHRcdHR5cGU9XCJjaGVja2JveFwiXG5cdFx0XHRcdGNsYXNzPVwiY2hlY2tib3ggYWN0aW9uLWNoZWNrYm94X19jaGVja2JveFwiXG5cdFx0XHRcdEBrZXlkb3duLmVudGVyLmV4YWN0LnByZXZlbnQ9XCJjaGVja0lucHV0XCJcblx0XHRcdFx0QGNoYW5nZT1cIm9uQ2hhbmdlXCI+XG5cdFx0XHQ8bGFiZWwgcmVmPVwibGFiZWxcIiA6Zm9yPVwiaWRcIiBjbGFzcz1cImFjdGlvbi1jaGVja2JveF9fbGFiZWxcIj57eyB0ZXh0IH19PC9sYWJlbD5cblxuXHRcdFx0PCEtLSBmYWtlIHNsb3QgdG8gZ2F0aGVyIGlubmVyIHRleHQgLS0+XG5cdFx0XHQ8c2xvdCB2LWlmPVwiZmFsc2VcIiAvPlxuXHRcdDwvc3Bhbj5cblx0PC9saT5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgQWN0aW9uR2xvYmFsTWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2FjdGlvbkdsb2JhbCdcbmltcG9ydCBHZW5SYW5kb21JZCBmcm9tICcuLi8uLi91dGlscy9HZW5SYW5kb21JZCdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnQWN0aW9uQ2hlY2tib3gnLFxuXG5cdG1peGluczogW0FjdGlvbkdsb2JhbE1peGluXSxcblxuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIGlkIGF0dHJpYnV0ZSBvZiB0aGUgY2hlY2tib3ggZWxlbWVudFxuXHRcdCAqL1xuXHRcdGlkOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAoKSA9PiAnYWN0aW9uLScgKyBHZW5SYW5kb21JZCgpLFxuXHRcdFx0dmFsaWRhdG9yOiBpZCA9PiBpZC50cmltKCkgIT09ICcnLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBjaGVja2VkIHN0YXRlIG9mIHRoZSB0aGUgY2hlY2tib3ggZWxlbWVudFxuXHRcdCAqL1xuXHRcdGNoZWNrZWQ6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogdmFsdWUgb2YgdGhlIGNoZWNrYm94IGlucHV0XG5cdFx0ICovXG5cdFx0dmFsdWU6IHtcblx0XHRcdHR5cGU6IFtTdHJpbmcsIE51bWJlcl0sXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGNoZWNrYm94IGVsZW1lbnRcblx0XHQgKi9cblx0XHRkaXNhYmxlZDoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdH0sXG5cblx0Y29tcHV0ZWQ6IHtcblx0XHQvKipcblx0XHQgKiBkZXRlcm1pbmVzIGlmIHRoZSBhY3Rpb24gaXMgZm9jdXNhYmxlXG5cdFx0ICogQHJldHVybnMge2Jvb2xlYW59IGlzIHRoZSBhY3Rpb24gZm9jdXNhYmxlID9cblx0XHQgKi9cblx0XHRpc0ZvY3VzYWJsZSgpIHtcblx0XHRcdHJldHVybiAhdGhpcy5kaXNhYmxlZFxuXHRcdH0sXG5cdH0sXG5cblx0bWV0aG9kczoge1xuXHRcdGNoZWNrSW5wdXQoZXZlbnQpIHtcblx0XHRcdC8vIGJ5IGNsaWNraW5nIHdlIGFsc28gdHJpZ2dlciB0aGUgY2hhbmdlIGV2ZW50XG5cdFx0XHR0aGlzLiRyZWZzLmxhYmVsLmNsaWNrKClcblx0XHR9LFxuXHRcdG9uQ2hhbmdlKGV2ZW50KSB7XG5cdFx0XHQvKipcblx0XHRcdCAqIEVtaXR0ZWQgd2hlbiB0aGUgY2hlY2tib3ggc3RhdGUgaXMgY2hhbmdlZFxuXHRcdFx0ICogQHR5cGUge2Jvb2xlYW59XG5cdFx0XHQgKi9cblx0XHRcdHRoaXMuJGVtaXQoJ3VwZGF0ZTpjaGVja2VkJywgdGhpcy4kcmVmcy5jaGVja2JveC5jaGVja2VkKVxuXG5cdFx0XHQvKipcblx0XHRcdCAqIEVtaXR0ZWQgd2hlbiB0aGUgY2hlY2tib3ggc3RhdGUgaXMgY2hhbmdlZFxuXHRcdFx0ICogQHR5cGUge0V2ZW50fVxuXHRcdFx0ICovXG5cdFx0XHR0aGlzLiRlbWl0KCdjaGFuZ2UnLCBldmVudClcblxuXHRcdFx0aWYgKHRoaXMuJHJlZnMuY2hlY2tib3guY2hlY2tlZCkge1xuXHRcdFx0XHQvKipcblx0XHRcdFx0ICogRW1pdHRlZCB3aGVuIHRoZSBjaGVja2JveCBpcyBjaGVja2VkXG5cdFx0XHRcdCAqIEB0eXBlIHtFdmVudH1cblx0XHRcdFx0ICovXG5cdFx0XHRcdHRoaXMuJGVtaXQoJ2NoZWNrJylcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8qKlxuXHRcdFx0XHQgKiBFbWl0dGVkIHdoZW4gdGhlIGNoZWNrYm94IGlzIHVuY2hlY2tlZFxuXHRcdFx0XHQgKiBAdHlwZSB7RXZlbnR9XG5cdFx0XHRcdCAqL1xuXHRcdFx0XHR0aGlzLiRlbWl0KCd1bmNoZWNrJylcblx0XHRcdH1cblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbkBpbXBvcnQgJy4uLy4uL2Fzc2V0cy9hY3Rpb24nO1xuQGluY2x1ZGUgYWN0aW9uLWFjdGl2ZTtcbkBpbmNsdWRlIGFjdGlvbi0tZGlzYWJsZWQ7XG5cbi5hY3Rpb24tY2hlY2tib3gge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xuXHRib3JkZXI6IDA7XG5cdGJvcmRlci1yYWRpdXM6IDA7IC8vIG90aGVyd2lzZSBTYWZhcmkgd2lsbCBjdXQgdGhlIGJvcmRlci1yYWRpdXMgYXJlYVxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblxuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRsaW5lLWhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xuXG5cdC8qIGNoZWNrYm94L3JhZGlvIGZpeGVzICovXG5cdCZfX2NoZWNrYm94IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiBhdXRvO1xuXHRcdGxlZnQ6IC0xMDAwMHB4O1xuXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdHdpZHRoOiAxcHg7XG5cdFx0aGVpZ2h0OiAxcHg7XG5cdFx0Jjpmb2N1cyArIC5hY3Rpb24tY2hlY2tib3hfX2xhYmVsIHtcblx0XHRcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XG5cdFx0fVxuXHR9XG5cblx0Jl9fbGFiZWwge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gYWxpZ24gY2hlY2tib3ggdG8gdGV4dFxuXG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRpY29uLW1hcmdpbiAhaW1wb3J0YW50O1xuXG5cdFx0b3BhY2l0eTogJG9wYWNpdHlfbm9ybWFsO1xuXHRcdC8vIGNoZWNrYm94LXdpZHRoIGlzIDEycHgsIGJvcmRlciBpcyAyXG5cdFx0Ly8gKDQ0IC0gMTQgLSAyKSAvIDIgPSAxNFxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRtYXJnaW46IDAgMTRweCAwICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0Ji0tZGlzYWJsZWQge1xuXHRcdCYsXG5cdFx0LmFjdGlvbi1jaGVja2JveF9fbGFiZWwge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblx0fVxuXG5cdCY6bm90KC5hY3Rpb24tY2hlY2tib3gtLWRpc2FibGVkKTpob3Zlcixcblx0Jjpub3QoLmFjdGlvbi1jaGVja2JveC0tZGlzYWJsZWQpOmZvY3VzIHtcblx0XHQuYWN0aW9uLWNoZWNrYm94X19sYWJlbCB7XG5cdFx0XHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xuXHRcdH1cblx0fVxufVxuXG48L3N0eWxlPlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjxkb2NzPlxuVGhpcyBjb21wb25lbnQgaXMgbWFkZSB0byBiZSB1c2VkIGluc2lkZSBvZiB0aGUgW0FjdGlvbnNdKCNBY3Rpb25zKSBjb21wb25lbnQgc2xvdHMuXG5BbGwgdW5kb2N1bWVudGVkIGF0dHJpYnV0ZXMgd2lsbCBiZSBib3VuZCB0byB0aGUgaW5wdXQsIHRoZSBkYXRlcGlja2VyIG9yIHRoZSBtdWx0aXNlbGVjdCBjb21wb25lbnQsIGUuZy4gYG1heGxlbmd0aGAsIGBub3QtYmVmb3JlYC5cbkZvciB0aGUgbXVsdGlzZWxlY3QgY29tcG9uZW50LCBhbGwgZXZlbnRzIHdpbGwgYmUgcGFzc2VkIHRocm91Z2guIFBsZWFzZSBzZWUgdGhlIG11bHRpc2VsZWN0IGNvbXBvbmVudCdzIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgZGV0YWlscyBhbmQgZXhhbXBsZXMuXG5gYGBcbjxBY3Rpb25zPlxuXHQ8QWN0aW9uSW5wdXQgaWNvbj1cImljb24tZWRpdFwiIHZhbHVlPVwiVGhpcyBpcyBhbiBpbnB1dFwiIC8+XG5cdDxBY3Rpb25JbnB1dCBpY29uPVwiaWNvbi1lZGl0XCI+VGhpcyBpcyB0aGUgcGxhY2Vob2xkZXI8L0FjdGlvbklucHV0PlxuXHQ8QWN0aW9uSW5wdXQgaWNvbj1cImljb24tY2xvc2VcIiA6ZGlzYWJsZWQ9XCJ0cnVlXCIgdmFsdWU9XCJUaGlzIGlzIGEgZGlzYWJsZWQgaW5wdXRcIiAvPlxuXHQ8QWN0aW9uSW5wdXQgaWNvbj1cImljb24tZWRpdFwiIHR5cGU9XCJkYXRlXCI+UGxlYXNlIHBpY2sgYSBkYXRlPC9BY3Rpb25JbnB1dD5cblx0PEFjdGlvbklucHV0IGljb249XCJpY29uLWVkaXRcIiB0eXBlPVwibXVsdGlzZWxlY3RcIiA6b3B0aW9ucz1cIlsnQXBwbGUnLCAnQmFuYW5hJywgJ0NoZXJyeSddXCI+UGxlYXNlIHBpY2sgYSBmcnVpdDwvQWN0aW9uSW5wdXQ+XG48L0FjdGlvbnM+XG5gYGBcbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8bGkgY2xhc3M9XCJhY3Rpb25cIiA6Y2xhc3M9XCJ7ICdhY3Rpb24tLWRpc2FibGVkJzogZGlzYWJsZWQgfVwiPlxuXHRcdDxzcGFuIDpjbGFzcz1cInsgJ2FjdGlvbi1pbnB1dC0tcGlja2VyJzogaXNEYXRlUGlja2VyVHlwZSAsICdhY3Rpb24taW5wdXQtcGlja2VyLS1kaXNhYmxlZCc6IGRpc2FibGVkfVwiXG5cdFx0XHRjbGFzcz1cImFjdGlvbi1pbnB1dFwiXG5cdFx0XHRAbW91c2VsZWF2ZT1cIm9uTGVhdmVcIj5cblx0XHRcdDwhLS0gQHNsb3QgTWFudWFsbHkgcHJvdmlkZSBpY29uIC0tPlxuXHRcdFx0PHNsb3QgbmFtZT1cImljb25cIj5cblx0XHRcdFx0PHNwYW4gOmNsYXNzPVwiW2lzSWNvblVybCA/ICdhY3Rpb24taW5wdXRfX2ljb24tLXVybCcgOiBpY29uXVwiXG5cdFx0XHRcdFx0OnN0eWxlPVwieyBiYWNrZ3JvdW5kSW1hZ2U6IGlzSWNvblVybCA/IGB1cmwoJHtpY29ufSlgIDogbnVsbCB9XCJcblx0XHRcdFx0XHRjbGFzcz1cImFjdGlvbi1pbnB1dF9faWNvblwiIC8+XG5cdFx0XHQ8L3Nsb3Q+XG5cblx0XHRcdDwhLS0gZm9ybSBhbmQgaW5wdXQgLS0+XG5cdFx0XHQ8Zm9ybSByZWY9XCJmb3JtXCJcblx0XHRcdFx0Y2xhc3M9XCJhY3Rpb24taW5wdXRfX2Zvcm1cIlxuXHRcdFx0XHQ6ZGlzYWJsZWQ9XCJkaXNhYmxlZFwiXG5cdFx0XHRcdEBzdWJtaXQucHJldmVudD1cIm9uU3VibWl0XCI+XG5cblx0XHRcdFx0PERhdGV0aW1lUGlja2VyIHYtaWY9XCJpc0RhdGVQaWNrZXJUeXBlXCJcblx0XHRcdFx0XHRyZWY9XCJkYXRldGltZXBpY2tlclwiXG5cdFx0XHRcdFx0OnZhbHVlPVwidmFsdWVcIlxuXHRcdFx0XHRcdDpwbGFjZWhvbGRlcj1cInRleHRcIlxuXHRcdFx0XHRcdDpkaXNhYmxlZD1cImRpc2FibGVkXCJcblx0XHRcdFx0XHQ6dHlwZT1cImlzRGF0ZVBpY2tlclR5cGVcIlxuXHRcdFx0XHRcdDppbnB1dC1jbGFzcz1cIlsnbXgtaW5wdXQnLCB7IGZvY3VzYWJsZTogaXNGb2N1c2FibGUgfV1cIlxuXHRcdFx0XHRcdGNsYXNzPVwiYWN0aW9uLWlucHV0X19waWNrZXJcIlxuXHRcdFx0XHRcdHYtYmluZD1cIiRhdHRyc1wiXG5cdFx0XHRcdFx0QGlucHV0PVwib25JbnB1dFwiXG5cdFx0XHRcdFx0QGNoYW5nZT1cIm9uQ2hhbmdlXCIgLz5cblxuXHRcdFx0XHQ8TXVsdGlzZWxlY3Qgdi1lbHNlLWlmPVwiaXNNdWx0aXNlbGVjdFR5cGVcIlxuXHRcdFx0XHRcdDp2YWx1ZT1cInZhbHVlXCJcblx0XHRcdFx0XHQ6cGxhY2Vob2xkZXI9XCJ0ZXh0XCJcblx0XHRcdFx0XHQ6ZGlzYWJsZWQ9XCJkaXNhYmxlZFwiXG5cdFx0XHRcdFx0OmNsYXNzPVwieyBmb2N1c2FibGU6IGlzRm9jdXNhYmxlIH1cIlxuXHRcdFx0XHRcdGNsYXNzPVwiYWN0aW9uLWlucHV0X19tdWx0aVwiXG5cdFx0XHRcdFx0di1iaW5kPVwiJGF0dHJzXCJcblx0XHRcdFx0XHR2LW9uPVwiJGxpc3RlbmVyc1wiIC8+XG5cblx0XHRcdFx0PHRlbXBsYXRlIHYtZWxzZT5cblx0XHRcdFx0XHQ8aW5wdXQgOmlkPVwiaWRcIiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJhY3Rpb24taW5wdXRfX3N1Ym1pdFwiPlxuXG5cdFx0XHRcdFx0PGlucHV0IDp0eXBlPVwidHlwZVwiXG5cdFx0XHRcdFx0XHQ6dmFsdWU9XCJ2YWx1ZVwiXG5cdFx0XHRcdFx0XHQ6cGxhY2Vob2xkZXI9XCJ0ZXh0XCJcblx0XHRcdFx0XHRcdDpkaXNhYmxlZD1cImRpc2FibGVkXCJcblx0XHRcdFx0XHRcdHYtYmluZD1cIiRhdHRyc1wiXG5cdFx0XHRcdFx0XHQ6Y2xhc3M9XCJ7IGZvY3VzYWJsZTogaXNGb2N1c2FibGUgfVwiXG5cdFx0XHRcdFx0XHRjbGFzcz1cImFjdGlvbi1pbnB1dF9faW5wdXRcIlxuXHRcdFx0XHRcdFx0QGlucHV0PVwib25JbnB1dFwiXG5cdFx0XHRcdFx0XHRAY2hhbmdlPVwib25DaGFuZ2VcIj5cblx0XHRcdFx0XHQ8IS0tIGFsbG93IHRoZSBjdXN0b20gZm9udCB0byBpbmplY3QgYSA6OmJlZm9yZVxuXHRcdFx0XHRcdFx0bm90IHBvc3NpYmxlIG9uIGlucHV0W3R5cGU9c3VibWl0XSAtLT5cblx0XHRcdFx0XHQ8bGFiZWwgdi1zaG93PVwiIWRpc2FibGVkXCIgOmZvcj1cImlkXCIgY2xhc3M9XCJhY3Rpb24taW5wdXRfX2xhYmVsXCIgLz5cblx0XHRcdFx0PC90ZW1wbGF0ZT5cblx0XHRcdDwvZm9ybT5cblx0XHQ8L3NwYW4+XG5cdDwvbGk+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IEFjdGlvbkdsb2JhbE1peGluIGZyb20gJy4uLy4uL21peGlucy9hY3Rpb25HbG9iYWwnXG5pbXBvcnQgR2VuUmFuZG9tSWQgZnJvbSAnLi4vLi4vdXRpbHMvR2VuUmFuZG9tSWQnXG5pbXBvcnQgRGF0ZXRpbWVQaWNrZXIgZnJvbSAnLi4vRGF0ZXRpbWVQaWNrZXInXG5pbXBvcnQgTXVsdGlzZWxlY3QgZnJvbSAnLi4vTXVsdGlzZWxlY3QnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0FjdGlvbklucHV0JyxcblxuXHRjb21wb25lbnRzOiB7XG5cdFx0RGF0ZXRpbWVQaWNrZXIsXG5cdFx0TXVsdGlzZWxlY3QsXG5cdH0sXG5cblx0bWl4aW5zOiBbQWN0aW9uR2xvYmFsTWl4aW5dLFxuXG5cdHByb3BzOiB7XG5cdFx0LyoqXG5cdFx0ICogaWQgYXR0cmlidXRlIG9mIHRoZSBjaGVja2JveCBlbGVtZW50XG5cdFx0ICovXG5cdFx0aWQ6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICgpID0+ICdhY3Rpb24tJyArIEdlblJhbmRvbUlkKCksXG5cdFx0XHR2YWxpZGF0b3I6IGlkID0+IGlkLnRyaW0oKSAhPT0gJycsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBJY29uIHRvIHNob3cgd2l0aCB0aGUgYWN0aW9uLCBjYW4gYmUgZWl0aGVyIGEgQ1NTIGNsYXNzIG9yIGFuIFVSTFxuXHRcdCAqL1xuXHRcdGljb246IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiB0eXBlIGF0dHJpYnV0ZSBvZiB0aGUgaW5wdXQgZmllbGRcblx0XHQgKi9cblx0XHR0eXBlOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAndGV4dCcsXG5cdFx0XHR2YWxpZGF0b3IodHlwZSkge1xuXHRcdFx0XHRyZXR1cm4gWydkYXRlJywgJ2RhdGV0aW1lLWxvY2FsJywgJ21vbnRoJywgJ211bHRpc2VsZWN0Jyxcblx0XHRcdFx0XHQnbnVtYmVyJywgJ3Bhc3N3b3JkJywgJ3NlYXJjaCcsICd0ZWwnLFxuXHRcdFx0XHRcdCd0ZXh0JywgJ3RpbWUnLCAndXJsJywgJ3dlZWsnLCAnY29sb3InLFxuXHRcdFx0XHRcdCdlbWFpbCddLmluZGV4T2YodHlwZSkgPiAtMVxuXHRcdFx0fSxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIHZhbHVlIGF0dHJpYnV0ZSBvZiB0aGUgaW5wdXQgZmllbGRcblx0XHQgKi9cblx0XHR2YWx1ZToge1xuXHRcdFx0dHlwZTogW1N0cmluZywgRGF0ZSwgTnVtYmVyXSxcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGlucHV0IGZpZWxkXG5cdFx0ICovXG5cdFx0ZGlzYWJsZWQ6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHR9LFxuXG5cdGNvbXB1dGVkOiB7XG5cdFx0aXNJY29uVXJsKCkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0cmV0dXJuIG5ldyBVUkwodGhpcy5pY29uKVxuXHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdGlzTXVsdGlzZWxlY3RUeXBlKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMudHlwZSA9PT0gJ211bHRpc2VsZWN0J1xuXHRcdH0sXG5cblx0XHRpc0RhdGVQaWNrZXJUeXBlKCkge1xuXHRcdFx0c3dpdGNoICh0aGlzLnR5cGUpIHtcblx0XHRcdGNhc2UgJ2RhdGUnOlxuXHRcdFx0Y2FzZSAnbW9udGgnOlxuXHRcdFx0Y2FzZSAndGltZSc6XG5cdFx0XHRcdHJldHVybiB0aGlzLnR5cGVcblxuXHRcdFx0Y2FzZSAnZGF0ZXRpbWUtbG9jYWwnOlxuXHRcdFx0XHRyZXR1cm4gJ2RhdGV0aW1lJ1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBkZXRlcm1pbmVzIGlmIHRoZSBhY3Rpb24gaXMgZm9jdXNhYmxlXG5cdFx0ICogQHJldHVybnMge2Jvb2xlYW59IGlzIHRoZSBhY3Rpb24gZm9jdXNhYmxlID9cblx0XHQgKi9cblx0XHRpc0ZvY3VzYWJsZSgpIHtcblx0XHRcdHJldHVybiAhdGhpcy5kaXNhYmxlZFxuXHRcdH0sXG5cdH0sXG5cblx0bWV0aG9kczoge1xuXHRcdC8vIGNsb3NpbmcgZGF0ZXBpY2tlciBwb3B1cCBvbiBtb3VzZWxlYXZlID0gdW5mb2N1c1xuXHRcdG9uTGVhdmUoKSB7XG5cdFx0XHRpZiAodGhpcy4kcmVmcy5kYXRldGltZXBpY2tlciAmJiB0aGlzLiRyZWZzLmRhdGV0aW1lcGlja2VyLiRyZWZzLmRhdGVwaWNrZXIpIHtcblx0XHRcdFx0dGhpcy4kcmVmcy5kYXRldGltZXBpY2tlci4kcmVmcy5kYXRlcGlja2VyLmNsb3NlUG9wdXAoKVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0b25JbnB1dChldmVudCkge1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBFbWl0dGVkIG9uIGlucHV0IGV2ZW50cyBvZiB0aGUgdGV4dCBmaWVsZFxuXHRcdFx0ICogQHR5cGUge0V2ZW50fERhdGV9XG5cdFx0XHQgKi9cblx0XHRcdHRoaXMuJGVtaXQoJ2lucHV0JywgZXZlbnQpXG5cdFx0XHQvKipcblx0XHRcdCAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXRzIHZhbHVlIGNoYW5nZXNcblx0XHRcdCAqICEgRGF0ZXRpbWVQaWNrZXIgb25seSBzZW5kIHRoZSB2YWx1ZVxuXHRcdFx0ICogQHR5cGUge3N0cmluZ3xEYXRlfVxuXHRcdFx0ICovXG5cdFx0XHR0aGlzLiRlbWl0KCd1cGRhdGU6dmFsdWUnLCBldmVudC50YXJnZXQgPyBldmVudC50YXJnZXQudmFsdWUgOiBldmVudClcblx0XHR9LFxuXHRcdG9uU3VibWl0KGV2ZW50KSB7XG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpXG5cdFx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuXHRcdFx0aWYgKCF0aGlzLmRpc2FibGVkKSB7XG5cdFx0XHRcdC8qKlxuXHRcdFx0XHQgKiBFbWl0dGVkIG9uIHN1Ym1pdCBvZiB0aGUgaW5wdXQgZmllbGRcblx0XHRcdFx0ICogQHR5cGUge0V2ZW50fVxuXHRcdFx0XHQgKi9cblx0XHRcdFx0dGhpcy4kZW1pdCgnc3VibWl0JywgZXZlbnQpXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQvLyBpZ25vcmUgc3VibWl0XG5cdFx0XHRcdHJldHVybiBmYWxzZVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0b25DaGFuZ2UoZXZlbnQpIHtcblx0XHRcdC8qKlxuXHRcdFx0ICogRW1pdHRlZCBvbiBjaGFuZ2Ugb2YgdGhlIGlucHV0IGZpZWxkXG5cdFx0XHQgKiBAdHlwZSB7RXZlbnR9XG5cdFx0XHQgKi9cblx0XHRcdHRoaXMuJGVtaXQoJ2NoYW5nZScsIGV2ZW50KVxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuQGltcG9ydCAnLi4vLi4vZm9udHMvc2Nzcy9pY29uZm9udC12dWUnO1xuQGltcG9ydCAnLi4vLi4vYXNzZXRzL2lucHV0cyc7XG5AaW1wb3J0ICcuLi8uLi9hc3NldHMvYWN0aW9uJztcbkBpbmNsdWRlIGFjdGlvbi1hY3RpdmU7XG5AaW5jbHVkZSBhY3Rpb24tLWRpc2FibGVkO1xuXG4kaW5wdXQtbWFyZ2luOiA0cHg7XG5cbi5hY3Rpb24taW5wdXQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xuXHRib3JkZXI6IDA7XG5cdGJvcmRlci1yYWRpdXM6IDA7IC8vIG90aGVyd2lzZSBTYWZhcmkgd2lsbCBjdXQgdGhlIGJvcmRlci1yYWRpdXMgYXJlYVxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblxuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXG5cdC8vIGRvIG5vdCBjaGFuZ2UgdGhlIG9wYWNpdHkgb2YgdGhlIGRhdGVwaWNrZXJcblx0Jjpub3QoLmFjdGlvbi1pbnB1dC0tcGlja2VyKSB7XG5cdFx0b3BhY2l0eTogJG9wYWNpdHlfbm9ybWFsO1xuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xuXHRcdH1cblx0fVxuXG5cdC8vIG9ubHkgY2hhbmdlIGZvciB0aGUgaWNvbiB0aGVuXG5cdCYtLXBpY2tlciB7XG5cdFx0LmFjdGlvbi1pbnB1dF9faWNvbiB7XG5cdFx0XHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XG5cdFx0fVxuXHRcdCY6aG92ZXIgLmFjdGlvbi1pbnB1dF9faWNvbixcblx0XHQmOmZvY3VzIC5hY3Rpb24taW5wdXRfX2ljb24ge1xuXHRcdFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcblx0XHR9XG5cdH1cblxuXHQmID4gc3BhbiB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdH1cblxuXHQmX19pY29uIHtcblx0XHRtaW4td2lkdGg6IDA7IC8qIE92ZXJ3cml0ZSBpY29ucyovXG5cdFx0bWluLWhlaWdodDogMDtcblx0XHQvKiBLZWVwIHBhZGRpbmcgdG8gZGVmaW5lIHRoZSB3aWR0aCB0b1xuXHRcdFx0YXNzdXJlIGNvcnJlY3QgcG9zaXRpb24gb2YgYSBwb3NzaWJsZSB0ZXh0ICovXG5cdFx0cGFkZGluZzogI3skY2xpY2thYmxlLWFyZWEgLyAyfSAwICN7JGNsaWNrYWJsZS1hcmVhIC8gMn0gJGNsaWNrYWJsZS1hcmVhO1xuXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogI3skaWNvbi1tYXJnaW59IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6ICRpY29uLXNpemU7XG5cdH1cblxuXHQvLyBGb3JtcyAmIHRleHQgaW5wdXRzXG5cdCZfX2Zvcm0ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRmbGV4OiAxIDEgYXV0bztcblxuXHRcdG1hcmdpbjogJGlucHV0LW1hcmdpbiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRpY29uLW1hcmdpbjtcblx0fVxuXG5cdCZfX3N1Ym1pdCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IC0xMDAwMHB4O1xuXHRcdHRvcDogYXV0bztcblx0XHR3aWR0aDogMXB4O1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cblxuXHQmX19sYWJlbCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdFx0d2lkdGg6ICN7JGNsaWNrYWJsZS1hcmVhIC0gJGlucHV0LW1hcmdpbiAqIDJ9O1xuXHRcdGhlaWdodDogI3skY2xpY2thYmxlLWFyZWEgLSAkaW5wdXQtbWFyZ2luICogMn07XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRtYXJnaW46IDAgMCAwIC04cHg7XG5cdFx0cGFkZGluZzogN3B4IDZweDtcblxuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xuXHRcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItcmFkaXVzOiAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDA7XG5cdFx0LyogQXZvaWQgYmFja2dyb3VuZCB1bmRlciBib3JkZXIgKi9cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xuXHRcdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cblx0XHRmb250LXNpemU6ICRpY29uLXNpemU7XG5cblx0XHRAaW5jbHVkZSBpY29uZm9udCgnY29uZmlybScpO1xuXHR9XG5cblx0LyogSW5wdXRzIGluc2lkZSBwb3BvdmVyIHN1cHBvcnRzIHRleHQsIHN1Ym1pdCAmIHJlc2V0ICovXG5cdCZfX2lucHV0IHtcblx0XHRmbGV4OiAxIDEgYXV0bztcblxuXHRcdG1pbi13aWR0aDogJGNsaWNrYWJsZS1hcmVhICogMztcblx0XHRtaW4taGVpZ2h0OiAjeyRjbGlja2FibGUtYXJlYSAtICRpbnB1dC1tYXJnaW4gKiAyfTsgLyogdHdpY2UgdGhlIGVsZW1lbnQgbWFyZ2luLXkgKi9cblx0XHRtYXgtaGVpZ2h0OiAjeyRjbGlja2FibGUtYXJlYSAtICRpbnB1dC1tYXJnaW4gKiAyfTsgLyogdHdpY2UgdGhlIGVsZW1lbnQgbWFyZ2luLXkgKi9cblx0XHRtYXJnaW46IDA7XG5cblx0XHQvLyBpZiBkaXNhYmxlZCwgY2hhbmdlIGN1cnNvclxuXHRcdCY6ZGlzYWJsZWQge1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdH1cblxuXHRcdC8qIG9ubHkgc2hvdyBjb25maXJtIGJvcmRlcnMgaWYgaW5wdXQgaXMgbm90IGZvY3VzZWQgKi9cblx0XHQmOm5vdCg6YWN0aXZlKTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSB7XG5cdFx0XHQmOmludmFsaWQge1xuXHRcdFx0XHQmICsgLmFjdGlvbi1pbnB1dF9fbGFiZWwge1xuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuXHRcdFx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Jjpub3QoOmRpc2FibGVkKSArIC5hY3Rpb24taW5wdXRfX2xhYmVsIHtcblx0XHRcdFx0JjphY3RpdmUsXG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQmOmFjdGl2ZSxcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Jjpub3QoOmRpc2FibGVkKSArIC5hY3Rpb24taW5wdXRfX2xhYmVsIHtcblx0XHRcdFx0LyogYWJvdmUgcHJldmlvdXMgaW5wdXQgKi9cblx0XHRcdFx0ei1pbmRleDogMjtcblxuXHRcdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XG5cdFx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19waWNrZXI6OnYtZGVlcCB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcblx0XHQubXgtaW5wdXQge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxuXG5cdCZfX211bHRpIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4vLyBpZiBhIGZvcm0gaXMgdGhlIGxhc3Qgb2YgdGhlIGxpc3Rcbi8vIGFkZCB0aGUgc2FtZSBib3R0b21NYXJnaW4gYXMgdGhlIHJpZ2h0IHBhZGRpbmdcbi8vIGZvciB2aXN1YWwgYmFsYW5jZVxubGk6bGFzdC1jaGlsZCA+IC5hY3Rpb24taW5wdXQge1xuXHRtYXJnaW4tYm90dG9tOiAkaWNvbi1tYXJnaW4gLSAkaW5wdXQtbWFyZ2luO1xufVxuXG4vLyBzYW1lIGZvciBmaXJzdCBpdGVtXG5saTpmaXJzdC1jaGlsZCA+IC5hY3Rpb24taW5wdXQge1xuXHRtYXJnaW4tdG9wOiAkaWNvbi1tYXJnaW4gLSAkaW5wdXQtbWFyZ2luO1xufVxuXG48L3N0eWxlPlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjxkb2NzPlxuVGhpcyBjb21wb25lbnQgaXMgbWFkZSB0byBiZSB1c2VkIGluc2lkZSBvZiB0aGUgW0FjdGlvbnNdKCNBY3Rpb25zKSBjb21wb25lbnQgc2xvdHMuXG5cbmBgYFxuPEFjdGlvbnM+XG5cdDxBY3Rpb25MaW5rIGljb249XCJpY29uLWV4dGVybmFsXCIgaHJlZj1cImh0dHBzOi8vbmV4dGNsb3VkLmNvbVwiPlxuXHRcdE5leHRjbG91ZCB3ZWJzaXRlXG5cdDwvQWN0aW9uTGluaz5cbjwvQWN0aW9ucz5cbmBgYFxuPC9kb2NzPlxuXG48dGVtcGxhdGU+XG5cdDxsaSBjbGFzcz1cImFjdGlvblwiPlxuXHRcdDxhXG5cdFx0XHQ6ZG93bmxvYWQ9XCJkb3dubG9hZFwiXG5cdFx0XHQ6aHJlZj1cImhyZWZcIlxuXHRcdFx0OmFyaWEtbGFiZWw9XCJhcmlhTGFiZWxcIlxuXHRcdFx0OnRhcmdldD1cInRhcmdldFwiXG5cdFx0XHRjbGFzcz1cImFjdGlvbi1saW5rIGZvY3VzYWJsZVwiXG5cdFx0XHRyZWw9XCJub3JlZmVycmVyIG5vb3BlbmVyXCJcblx0XHRcdEBjbGljaz1cIm9uQ2xpY2tcIj5cblxuXHRcdFx0PCEtLSBAc2xvdCBNYW51YWxseSBwcm92aWRlIGljb24gLS0+XG5cdFx0XHQ8c2xvdCBuYW1lPVwiaWNvblwiPlxuXHRcdFx0XHQ8c3BhbiA6Y2xhc3M9XCJbaXNJY29uVXJsID8gJ2FjdGlvbi1saW5rX19pY29uLS11cmwnIDogaWNvbl1cIlxuXHRcdFx0XHRcdDpzdHlsZT1cInsgYmFja2dyb3VuZEltYWdlOiBpc0ljb25VcmwgPyBgdXJsKCR7aWNvbn0pYCA6IG51bGwgfVwiXG5cdFx0XHRcdFx0Y2xhc3M9XCJhY3Rpb24tbGlua19faWNvblwiIC8+XG5cdFx0XHQ8L3Nsb3Q+XG5cblx0XHRcdDwhLS0gbG9uZyB0ZXh0IHdpdGggdGl0bGUgLS0+XG5cdFx0XHQ8cCB2LWlmPVwidGl0bGVcIj5cblx0XHRcdFx0PHN0cm9uZyBjbGFzcz1cImFjdGlvbi1saW5rX190aXRsZVwiPlxuXHRcdFx0XHRcdHt7IHRpdGxlIH19XG5cdFx0XHRcdDwvc3Ryb25nPlxuXHRcdFx0XHQ8YnI+XG5cdFx0XHRcdDwhLS0gd2hpdGUgc3BhY2UgaXMgc2hvd24gb24gbG9uZ3RleHQsIHNvIHdlIGNhbid0XG5cdFx0XHRcdHB1dCB7eyB0ZXh0IH19IG9uIGEgbmV3IGxpbmUgZm9yIGNvZGUgcmVhZGFiaWxpdHkgLS0+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwiYWN0aW9uLWxpbmtfX2xvbmd0ZXh0XCIgdi10ZXh0PVwidGV4dFwiIC8+XG5cdFx0XHQ8L3A+XG5cblx0XHRcdDwhLS0gbG9uZyB0ZXh0IG9ubHkgLS0+XG5cdFx0XHQ8IS0tIHdoaXRlIHNwYWNlIGlzIHNob3duIG9uIGxvbmd0ZXh0LCBzbyB3ZSBjYW4ndFxuXHRcdFx0cHV0IHt7IHRleHQgfX0gb24gYSBuZXcgbGluZSBmb3IgY29kZSByZWFkYWJpbGl0eSAtLT5cblx0XHRcdDxwIHYtZWxzZS1pZj1cImlzTG9uZ1RleHRcIlxuXHRcdFx0XHRjbGFzcz1cImFjdGlvbi1saW5rX19sb25ndGV4dFwiXG5cdFx0XHRcdHYtdGV4dD1cInRleHRcIiAvPlxuXG5cdFx0XHQ8IS0tIGRlZmF1bHQgdGV4dCBkaXNwbGF5IC0tPlxuXHRcdFx0PHNwYW4gdi1lbHNlIGNsYXNzPVwiYWN0aW9uLWxpbmtfX3RleHRcIj57eyB0ZXh0IH19PC9zcGFuPlxuXG5cdFx0XHQ8IS0tIGZha2Ugc2xvdCB0byBnYXRoZXIgaW5uZXIgdGV4dCAtLT5cblx0XHRcdDxzbG90IHYtaWY9XCJmYWxzZVwiIC8+XG5cdFx0PC9hPlxuXHQ8L2xpPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBBY3Rpb25UZXh0TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2FjdGlvblRleHQnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0FjdGlvbkxpbmsnLFxuXG5cdG1peGluczogW0FjdGlvblRleHRNaXhpbl0sXG5cblx0cHJvcHM6IHtcblx0XHQvKipcblx0XHQgKiBkZXN0aW9uYXRpb24gdG8gbGluayB0b1xuXHRcdCAqL1xuXHRcdGhyZWY6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICcjJyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdFx0dmFsaWRhdG9yOiB2YWx1ZSA9PiB7XG5cdFx0XHRcdC8vIGhyZWYgaXMgZWl0aGVyIGFuIGFuY2hvciBvciBhIHZhbGlkIHVybCBzdGFydGluZyB3aXRoIGEgc2NoZW1lIG9yIGEgcmVsYXRpdmUgcGF0aFxuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdHJldHVybiBuZXcgVVJMKHZhbHVlKVxuXHRcdFx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0XHRcdHJldHVybiB2YWx1ZS5zdGFydHNXaXRoKCcjJykgfHwgdmFsdWUuc3RhcnRzV2l0aCgnLycpXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBkb3dubG9hZCB0aGUgbGluayBpbnN0ZWFkIG9mIG9wZW5pbmdcblx0XHQgKi9cblx0XHRkb3dubG9hZDoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogbnVsbCxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIHRhcmdldCB0byBvcGVuIHRoZSBsaW5rXG5cdFx0ICovXG5cdFx0dGFyZ2V0OiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnX3NlbGYnLFxuXHRcdFx0dmFsaWRhdG9yOiB2YWx1ZSA9PiB7XG5cdFx0XHRcdHJldHVybiBbJ19ibGFuaycsICdfc2VsZicsICdfcGFyZW50JywgJ190b3AnXS5pbmRleE9mKHZhbHVlKSA+IC0xXG5cdFx0XHR9LFxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuQGltcG9ydCAnLi4vLi4vYXNzZXRzL2FjdGlvbic7XG5AaW5jbHVkZSBhY3Rpb24tYWN0aXZlO1xuQGluY2x1ZGUgYWN0aW9uLWl0ZW0oJ2xpbmsnKTtcblxuPC9zdHlsZT5cbiIsIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLSBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48ZG9jcz5cblRoaXMgY29tcG9uZW50IGlzIG1hZGUgdG8gYmUgdXNlZCBpbnNpZGUgb2YgdGhlIFtBY3Rpb25zXSgjQWN0aW9ucykgY29tcG9uZW50IHNsb3RzLlxuVXN1YWxseSwgeW91IHdpbGwgcHJvdmlkZSBhIG5hbWUgcHJvcCB0byBiaW5kIHRoZSByYWRpbyB0b2dldGhlci5cblNvIHRoYXQgb25seSBvbmUgb2YgZWFjaCBuYW1lIHNldCBjYW4gYmUgc2VsZWN0ZWQgYXQgdGhlIHNhbWUgdGltZS5cblxuYGBgdnVlXG5cdDxBY3Rpb25zPlxuXHRcdDxBY3Rpb25SYWRpbyBAY2hhbmdlPVwiYWxlcnQoJyh1biljaGVja2VkICEnKVwiIG5hbWU9XCJ1bmlxdWVJZFwiPkZpcnN0IGNob2ljZTwvQWN0aW9uUmFkaW8+XG5cdFx0PEFjdGlvblJhZGlvIHZhbHVlPVwic2Vjb25kXCIgbmFtZT1cInVuaXF1ZUlkXCIgQGNoYW5nZT1cImFsZXJ0KCcodW4pY2hlY2tlZCAhJylcIj5TZWNvbmQgY2hvaWNlPC9BY3Rpb25SYWRpbz5cblx0XHQ8QWN0aW9uUmFkaW8gOmNoZWNrZWQ9XCJ0cnVlXCIgbmFtZT1cInVuaXF1ZUlkXCIgQGNoYW5nZT1cImFsZXJ0KCcodW4pY2hlY2tlZCAhJylcIj5UaGlyZCBjaG9pY2UgKGNoZWNrZWQpPC9BY3Rpb25SYWRpbz5cblx0XHQ8QWN0aW9uUmFkaW8gOmRpc2FibGVkPVwidHJ1ZVwiIG5hbWU9XCJ1bmlxdWVJZFwiIEBjaGFuZ2U9XCJhbGVydCgnKHVuKWNoZWNrZWQgIScpXCI+U2Vjb25kIGNob2ljZSAoZGlzYWJsZWQpPC9BY3Rpb25SYWRpbz5cblx0PC9BY3Rpb25zPlxuYGBgXG48L2RvY3M+XG5cbjx0ZW1wbGF0ZT5cblx0PGxpIGNsYXNzPVwiYWN0aW9uXCIgOmNsYXNzPVwieyAnYWN0aW9uLS1kaXNhYmxlZCc6IGRpc2FibGVkIH1cIj5cblx0XHQ8c3BhbiBjbGFzcz1cImFjdGlvbi1yYWRpb1wiPlxuXHRcdFx0PGlucHV0IDppZD1cImlkXCJcblx0XHRcdFx0cmVmPVwicmFkaW9cIlxuXHRcdFx0XHQ6ZGlzYWJsZWQ9XCJkaXNhYmxlZFwiXG5cdFx0XHRcdDpjaGVja2VkPVwiY2hlY2tlZFwiXG5cdFx0XHRcdDpuYW1lPVwibmFtZVwiXG5cdFx0XHRcdDp2YWx1ZT1cInZhbHVlXCJcblx0XHRcdFx0OmNsYXNzPVwieyBmb2N1c2FibGU6IGlzRm9jdXNhYmxlIH1cIlxuXHRcdFx0XHR0eXBlPVwicmFkaW9cIlxuXHRcdFx0XHRjbGFzcz1cInJhZGlvIGFjdGlvbi1yYWRpb19fcmFkaW9cIlxuXHRcdFx0XHRAa2V5ZG93bi5lbnRlci5leGFjdC5wcmV2ZW50PVwidG9nZ2xlSW5wdXRcIlxuXHRcdFx0XHRAY2hhbmdlPVwib25DaGFuZ2VcIj5cblx0XHRcdDxsYWJlbCByZWY9XCJsYWJlbFwiIDpmb3I9XCJpZFwiIGNsYXNzPVwiYWN0aW9uLXJhZGlvX19sYWJlbFwiPnt7IHRleHQgfX08L2xhYmVsPlxuXG5cdFx0XHQ8IS0tIGZha2Ugc2xvdCB0byBnYXRoZXIgaW5uZXIgdGV4dCAtLT5cblx0XHRcdDxzbG90IHYtaWY9XCJmYWxzZVwiIC8+XG5cdFx0PC9zcGFuPlxuXHQ8L2xpPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBBY3Rpb25HbG9iYWxNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvYWN0aW9uR2xvYmFsJ1xuaW1wb3J0IEdlblJhbmRvbUlkIGZyb20gJy4uLy4uL3V0aWxzL0dlblJhbmRvbUlkJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdBY3Rpb25SYWRpbycsXG5cblx0bWl4aW5zOiBbQWN0aW9uR2xvYmFsTWl4aW5dLFxuXG5cdHByb3BzOiB7XG5cdFx0LyoqXG5cdFx0ICogaWQgYXR0cmlidXRlIG9mIHRoZSByYWRpbyBlbGVtZW50XG5cdFx0ICovXG5cdFx0aWQ6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICgpID0+ICdhY3Rpb24tJyArIEdlblJhbmRvbUlkKCksXG5cdFx0XHR2YWxpZGF0b3I6IGlkID0+IGlkLnRyaW0oKSAhPT0gJycsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIGNoZWNrZWQgc3RhdGUgb2YgdGhlIHRoZSByYWRpbyBlbGVtZW50XG5cdFx0ICovXG5cdFx0Y2hlY2tlZDoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBEZWZpbmUgaWYgdGhpcyByYWRpbyBpcyBwYXJ0IG9mIGEgc2V0LlxuXHRcdCAqIENoZWNraW5nIHRoZSByYWRpbyB3aWxsIGRpc2FibGUgYWxsIHRoZVxuXHRcdCAqIG90aGVycyB3aXRoIHRoZSBzYW1lIG5hbWUuXG5cdFx0ICovXG5cdFx0bmFtZToge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIHZhbHVlIG9mIHRoZSByYWRpbyBpbnB1dFxuXHRcdCAqL1xuXHRcdHZhbHVlOiB7XG5cdFx0XHR0eXBlOiBbU3RyaW5nLCBOdW1iZXJdLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIGRpc2FibGVkIHN0YXRlIG9mIHRoZSByYWRpbyBlbGVtZW50XG5cdFx0ICovXG5cdFx0ZGlzYWJsZWQ6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHR9LFxuXG5cdGNvbXB1dGVkOiB7XG5cdFx0LyoqXG5cdFx0ICogZGV0ZXJtaW5lcyBpZiB0aGUgYWN0aW9uIGlzIGZvY3VzYWJsZVxuXHRcdCAqIEByZXR1cm5zIHtib29sZWFufSBpcyB0aGUgYWN0aW9uIGZvY3VzYWJsZSA/XG5cdFx0ICovXG5cdFx0aXNGb2N1c2FibGUoKSB7XG5cdFx0XHRyZXR1cm4gIXRoaXMuZGlzYWJsZWRcblx0XHR9LFxuXHR9LFxuXG5cdG1ldGhvZHM6IHtcblx0XHR0b2dnbGVJbnB1dChldmVudCkge1xuXHRcdFx0Ly8gYnkgY2xpY2tpbmcgd2UgYWxzbyB0cmlnZ2VyIHRoZSBjaGFuZ2UgZXZlbnRcblx0XHRcdHRoaXMuJHJlZnMubGFiZWwuY2xpY2soKVxuXHRcdH0sXG5cdFx0b25DaGFuZ2UoZXZlbnQpIHtcblx0XHRcdC8qKlxuXHRcdFx0ICogRW1pdHRlZCB3aGVuIHRoZSByYWRpbyBzdGF0ZSBpcyBjaGFuZ2VkXG5cdFx0XHQgKiBAdHlwZSB7Ym9vbGVhbn1cblx0XHRcdCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgndXBkYXRlOmNoZWNrZWQnLCB0aGlzLiRyZWZzLnJhZGlvLmNoZWNrZWQpXG5cblx0XHRcdC8qKlxuXHRcdFx0ICogRW1pdHRlZCB3aGVuIHRoZSByYWRpbyBzdGF0ZSBpcyBjaGFuZ2VkXG5cdFx0XHQgKiBAdHlwZSB7RXZlbnR9XG5cdFx0XHQgKi9cblx0XHRcdHRoaXMuJGVtaXQoJ2NoYW5nZScsIGV2ZW50KVxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuQGltcG9ydCAnLi4vLi4vYXNzZXRzL2FjdGlvbic7XG5AaW5jbHVkZSBhY3Rpb24tYWN0aXZlO1xuQGluY2x1ZGUgYWN0aW9uLS1kaXNhYmxlZDtcblxuLmFjdGlvbi1yYWRpbyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblxuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XG5cdGJvcmRlcjogMDtcblx0Ym9yZGVyLXJhZGl1czogMDsgLy8gb3RoZXJ3aXNlIFNhZmFyaSB3aWxsIGN1dCB0aGUgYm9yZGVyLXJhZGl1cyBhcmVhXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3gtc2hhZG93OiBub25lO1xuXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XG5cblx0LyogY2hlY2tib3gvcmFkaW8gZml4ZXMgKi9cblx0Jl9fcmFkaW8ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IGF1dG87XG5cdFx0bGVmdDogLTEwMDAwcHg7XG5cblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0d2lkdGg6IDFweDtcblx0XHRoZWlnaHQ6IDFweDtcblx0XHQmOmZvY3VzICsgLmFjdGlvbi1yYWRpb19fbGFiZWwge1xuXHRcdFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcblx0XHR9XG5cdH1cblxuXHQmX19sYWJlbCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyOyAvLyBhbGlnbiByYWRpbyB0byB0ZXh0XG5cblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZy1yaWdodDogJGljb24tbWFyZ2luICFpbXBvcnRhbnQ7XG5cblx0XHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XG5cdFx0Ly8gcmFkaW8td2lkdGggaXMgMTJweCwgYm9yZGVyIGlzIDJcblx0XHQvLyAoNDQgLSAxNCAtIDIpIC8gMiA9IDE0XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdG1hcmdpbjogMCAxNHB4IDAgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQmLS1kaXNhYmxlZCB7XG5cdFx0Jixcblx0XHQuYWN0aW9uLXJhZGlvX19sYWJlbCB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0Jjpub3QoLmFjdGlvbi1yYWRpby0tZGlzYWJsZWQpOmhvdmVyLFxuXHQmOm5vdCguYWN0aW9uLXJhZGlvLS1kaXNhYmxlZCk6Zm9jdXMge1xuXHRcdC5hY3Rpb24tcmFkaW9fX2xhYmVsIHtcblx0XHRcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XG5cdFx0fVxuXHR9XG59XG5cbjwvc3R5bGU+XG4iLCI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC0gQGF1dGhvciBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICAtXG4gIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAgLVxuICAtLT5cblxuPHRlbXBsYXRlPlxuXHQ8bGkgY2xhc3M9XCJhY3Rpb25cIj5cblx0XHQ8cm91dGVyLWxpbmsgOnRvPVwidG9cIlxuXHRcdFx0OmV4YWN0PVwiZXhhY3RcIlxuXHRcdFx0Y2xhc3M9XCJhY3Rpb24tcm91dGVyIGZvY3VzYWJsZVwiXG5cdFx0XHQ6YXJpYS1sYWJlbD1cImFyaWFMYWJlbFwiXG5cdFx0XHRyZWw9XCJub3JlZmVycmVyIG5vb3BlbmVyXCJcblx0XHRcdEBjbGljay5uYXRpdmU9XCJvbkNsaWNrXCI+XG5cdFx0XHQ8IS0tIEBzbG90IE1hbnVhbGx5IHByb3ZpZGUgaWNvbiAtLT5cblx0XHRcdDxzbG90IG5hbWU9XCJpY29uXCI+XG5cdFx0XHRcdDxzcGFuIDpjbGFzcz1cIltpc0ljb25VcmwgPyAnYWN0aW9uLXJvdXRlcl9faWNvbi0tdXJsJyA6IGljb25dXCJcblx0XHRcdFx0XHQ6c3R5bGU9XCJ7IGJhY2tncm91bmRJbWFnZTogaXNJY29uVXJsID8gYHVybCgke2ljb259KWAgOiBudWxsIH1cIlxuXHRcdFx0XHRcdGNsYXNzPVwiYWN0aW9uLXJvdXRlcl9faWNvblwiIC8+XG5cdFx0XHQ8L3Nsb3Q+XG5cblx0XHRcdDwhLS0gbG9uZyB0ZXh0IHdpdGggdGl0bGUgLS0+XG5cdFx0XHQ8cCB2LWlmPVwidGl0bGVcIj5cblx0XHRcdFx0PHN0cm9uZyBjbGFzcz1cImFjdGlvbi1yb3V0ZXJfX3RpdGxlXCI+XG5cdFx0XHRcdFx0e3sgdGl0bGUgfX1cblx0XHRcdFx0PC9zdHJvbmc+XG5cdFx0XHRcdDxicj5cblx0XHRcdFx0PCEtLSB3aGl0ZSBzcGFjZSBpcyBzaG93biBvbiBsb25ndGV4dCwgc28gd2UgY2FuJ3Rcblx0XHRcdFx0cHV0IHt7IHRleHQgfX0gb24gYSBuZXcgbGluZSBmb3IgY29kZSByZWFkYWJpbGl0eSAtLT5cblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJhY3Rpb24tcm91dGVyX19sb25ndGV4dFwiIHYtdGV4dD1cInRleHRcIiAvPlxuXHRcdFx0PC9wPlxuXG5cdFx0XHQ8IS0tIGxvbmcgdGV4dCBvbmx5IC0tPlxuXHRcdFx0PCEtLSB3aGl0ZSBzcGFjZSBpcyBzaG93biBvbiBsb25ndGV4dCwgc28gd2UgY2FuJ3Rcblx0XHRcdHB1dCB7eyB0ZXh0IH19IG9uIGEgbmV3IGxpbmUgZm9yIGNvZGUgcmVhZGFiaWxpdHkgLS0+XG5cdFx0XHQ8cCB2LWVsc2UtaWY9XCJpc0xvbmdUZXh0XCJcblx0XHRcdFx0Y2xhc3M9XCJhY3Rpb24tcm91dGVyX19sb25ndGV4dFwiXG5cdFx0XHRcdHYtdGV4dD1cInRleHRcIiAvPlxuXG5cdFx0XHQ8IS0tIGRlZmF1bHQgdGV4dCBkaXNwbGF5IC0tPlxuXHRcdFx0PHNwYW4gdi1lbHNlIGNsYXNzPVwiYWN0aW9uLXJvdXRlcl9fdGV4dFwiPnt7IHRleHQgfX08L3NwYW4+XG5cblx0XHRcdDwhLS0gZmFrZSBzbG90IHRvIGdhdGhlciBpbm5lciB0ZXh0IC0tPlxuXHRcdFx0PHNsb3Qgdi1pZj1cImZhbHNlXCIgLz5cblx0XHQ8L3JvdXRlci1saW5rPlxuXHQ8L2xpPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBBY3Rpb25UZXh0TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2FjdGlvblRleHQnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0FjdGlvblJvdXRlcicsXG5cblx0bWl4aW5zOiBbQWN0aW9uVGV4dE1peGluXSxcblxuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIHJvdXRlci1saW5rIHRvIHByb3AgW2h0dHBzOi8vcm91dGVyLnZ1ZWpzLm9yZy9hcGkvI3RvXShodHRwczovL3JvdXRlci52dWVqcy5vcmcvYXBpLyN0bylcblx0XHQgKi9cblx0XHR0bzoge1xuXHRcdFx0dHlwZTogW1N0cmluZywgT2JqZWN0XSxcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiByb3V0ZXItbGluayBleGFjdCBwcm9wIFtodHRwczovL3JvdXRlci52dWVqcy5vcmcvYXBpLyNleGFjdF0oaHR0cHM6Ly9yb3V0ZXIudnVlanMub3JnL2FwaS8jZXhhY3QpXG5cdFx0ICovXG5cdFx0ZXhhY3Q6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbkBpbXBvcnQgJy4uLy4uL2Fzc2V0cy9hY3Rpb24nO1xuQGluY2x1ZGUgYWN0aW9uLWFjdGl2ZTtcbkBpbmNsdWRlIGFjdGlvbi1pdGVtKCdyb3V0ZXInKTtcbkBpbmNsdWRlIGFjdGlvbi0tZGlzYWJsZWQ7XG5cbjwvc3R5bGU+XG4iLCI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgTmV4dGNsb3VkIGV0IGFsLlxuICAtXG4gIC0gQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC0gQGF1dGhvciBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxuICAtIEBhdXRob3IgS3Jpc3RvZiBIYW1hbm5cbiAgLSBAYXV0aG9yIEpvYXMgU2NoaWxsaW5nIDxjb2RpbmdAc2NoaWxsanMuY29tPlxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICAtXG4gIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAgLVxuICAtLT5cblxuPHRlbXBsYXRlPlxuXHQ8bGkgY2xhc3M9XCJhY3Rpb24gYWN0aW9uLXNlcGFyYXRvciBhY3Rpb24tLWRpc2FibGVkXCIgLz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdBY3Rpb25TZXBhcmF0b3InLFxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbi5hY3Rpb24tc2VwYXJhdG9yIHtcblx0aGVpZ2h0OiAwO1xuXHRtYXJnaW46IDVweCAxMHB4IDVweCAxNXB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG48L3N0eWxlPlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjx0ZW1wbGF0ZT5cblx0PGxpIGNsYXNzPVwiYWN0aW9uXCI+XG5cdFx0PHNwYW4gY2xhc3M9XCJhY3Rpb24tdGV4dFwiXG5cdFx0XHRAY2xpY2s9XCJvbkNsaWNrXCI+XG5cdFx0XHQ8IS0tIEBzbG90IE1hbnVhbGx5IHByb3ZpZGUgaWNvbiAtLT5cblx0XHRcdDxzbG90IG5hbWU9XCJpY29uXCI+XG5cdFx0XHRcdDxzcGFuXG5cdFx0XHRcdFx0di1pZj1cImljb24gIT09ICcnXCJcblx0XHRcdFx0XHQ6Y2xhc3M9XCJbaXNJY29uVXJsID8gJ2FjdGlvbi10ZXh0X19pY29uLS11cmwnIDogaWNvbl1cIlxuXHRcdFx0XHRcdDpzdHlsZT1cInsgYmFja2dyb3VuZEltYWdlOiBpc0ljb25VcmwgPyBgdXJsKCR7aWNvbn0pYCA6IG51bGwgfVwiXG5cdFx0XHRcdFx0Y2xhc3M9XCJhY3Rpb24tdGV4dF9faWNvblwiIC8+XG5cdFx0XHQ8L3Nsb3Q+XG5cblx0XHRcdDwhLS0gbG9uZyB0ZXh0IHdpdGggdGl0bGUgLS0+XG5cdFx0XHQ8cCB2LWlmPVwidGl0bGVcIj5cblx0XHRcdFx0PHN0cm9uZyBjbGFzcz1cImFjdGlvbi10ZXh0X190aXRsZVwiPlxuXHRcdFx0XHRcdHt7IHRpdGxlIH19XG5cdFx0XHRcdDwvc3Ryb25nPlxuXHRcdFx0XHQ8YnI+XG5cdFx0XHRcdDwhLS0gd2hpdGUgc3BhY2UgaXMgc2hvd24gb24gbG9uZ3RleHQsIHNvIHdlIGNhbid0XG5cdFx0XHRcdHB1dCB7eyB0ZXh0IH19IG9uIGEgbmV3IGxpbmUgZm9yIGNvZGUgcmVhZGFiaWxpdHkgLS0+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwiYWN0aW9uLXRleHRfX2xvbmd0ZXh0XCIgdi10ZXh0PVwidGV4dFwiIC8+XG5cdFx0XHQ8L3A+XG5cblx0XHRcdDwhLS0gbG9uZyB0ZXh0IG9ubHkgLS0+XG5cdFx0XHQ8IS0tIHdoaXRlIHNwYWNlIGlzIHNob3duIG9uIGxvbmd0ZXh0LCBzbyB3ZSBjYW4ndFxuXHRcdFx0cHV0IHt7IHRleHQgfX0gb24gYSBuZXcgbGluZSBmb3IgY29kZSByZWFkYWJpbGl0eSAtLT5cblx0XHRcdDxwIHYtZWxzZS1pZj1cImlzTG9uZ1RleHRcIlxuXHRcdFx0XHRjbGFzcz1cImFjdGlvbi10ZXh0X19sb25ndGV4dFwiXG5cdFx0XHRcdHYtdGV4dD1cInRleHRcIiAvPlxuXG5cdFx0XHQ8IS0tIGRlZmF1bHQgdGV4dCBkaXNwbGF5IC0tPlxuXHRcdFx0PHNwYW4gdi1lbHNlIGNsYXNzPVwiYWN0aW9uLXRleHRfX3RleHRcIj57eyB0ZXh0IH19PC9zcGFuPlxuXG5cdFx0XHQ8IS0tIGZha2Ugc2xvdCB0byBnYXRoZXIgaW5uZXIgdGV4dCAtLT5cblx0XHRcdDxzbG90IHYtaWY9XCJmYWxzZVwiIC8+XG5cdFx0PC9zcGFuPlxuXHQ8L2xpPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBBY3Rpb25UZXh0TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2FjdGlvblRleHQnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0FjdGlvblRleHQnLFxuXG5cdG1peGluczogW0FjdGlvblRleHRNaXhpbl0sXG5cbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG5AaW1wb3J0ICcuLi8uLi9hc3NldHMvYWN0aW9uJztcbkBpbmNsdWRlIGFjdGlvbi1hY3RpdmU7XG5AaW5jbHVkZSBhY3Rpb24taXRlbSgndGV4dCcpO1xuQGluY2x1ZGUgYWN0aW9uLS1kaXNhYmxlZDtcblxuLmFjdGlvbi10ZXh0IHtcblx0Jixcblx0c3BhbiB7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR9XG59XG48L3N0eWxlPlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjxkb2NzPlxuVGhpcyBjb21wb25lbnQgaXMgbWFkZSB0byBiZSB1c2VkIGluc2lkZSBvZiB0aGUgW0FjdGlvbnNdKCNBY3Rpb25zKSBjb21wb25lbnQgc2xvdHMuXG5BbGwgdW5kb2N1bWVudGVkIGF0dHJpYnV0ZXMgd2lsbCBiZSBib3VuZCB0byB0aGUgdGV4dGFyZWEuIGUuZy4gYG1heGxlbmd0aGBcblxuYGBgXG48QWN0aW9ucz5cblx0PEFjdGlvblRleHRFZGl0YWJsZSBpY29uPVwiaWNvbi1lZGl0XCIgdmFsdWU9XCJUaGlzIGlzIGEgdGV4dGFyZWFcIiAvPlxuXHQ8QWN0aW9uVGV4dEVkaXRhYmxlIGljb249XCJpY29uLWVkaXRcIiA6ZGlzYWJsZWQ9XCJ0cnVlXCIgdmFsdWU9XCJUaGlzIGlzIGEgZGlzYWJsZWQgdGV4dGFyZWFcIiAvPlxuXHQ8QWN0aW9uVGV4dEVkaXRhYmxlIGljb249XCJpY29uLWVkaXRcIiB0aXRsZT1cIlBsZWFzZSBlZGl0IHRoZSB0ZXh0XCIgdmFsdWU9XCJUaGlzIGlzIGEgdGV4dGFyZWEgd2l0aCB0aXRsZVwiIC8+XG48L0FjdGlvbnM+XG5gYGBcbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8bGkgY2xhc3M9XCJhY3Rpb25cIiA6Y2xhc3M9XCJ7ICdhY3Rpb24tLWRpc2FibGVkJzogZGlzYWJsZWQgfVwiPlxuXHRcdDxzcGFuIGNsYXNzPVwiYWN0aW9uLXRleHQtZWRpdGFibGVcIlxuXHRcdFx0QGNsaWNrPVwib25DbGlja1wiPlxuXHRcdFx0PCEtLSBpY29uIC0tPlxuXHRcdFx0PHNwYW4gOmNsYXNzPVwiW2lzSWNvblVybCA/ICdhY3Rpb24tdGV4dC1lZGl0YWJsZV9faWNvbi0tdXJsJyA6IGljb25dXCJcblx0XHRcdFx0OnN0eWxlPVwieyBiYWNrZ3JvdW5kSW1hZ2U6IGlzSWNvblVybCA/IGB1cmwoJHtpY29ufSlgIDogbnVsbCB9XCJcblx0XHRcdFx0Y2xhc3M9XCJhY3Rpb24tdGV4dC1lZGl0YWJsZV9faWNvblwiIC8+XG5cblx0XHRcdDwhLS0gZm9ybSBhbmQgaW5wdXQgLS0+XG5cdFx0XHQ8Zm9ybSByZWY9XCJmb3JtXCJcblx0XHRcdFx0Y2xhc3M9XCJhY3Rpb24tdGV4dC1lZGl0YWJsZV9fZm9ybVwiXG5cdFx0XHRcdDpkaXNhYmxlZD1cImRpc2FibGVkXCJcblx0XHRcdFx0QHN1Ym1pdC5wcmV2ZW50PVwib25TdWJtaXRcIj5cblx0XHRcdFx0PGlucHV0IDppZD1cImlkXCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYWN0aW9uLXRleHQtZWRpdGFibGVfX3N1Ym1pdFwiPlxuXG5cdFx0XHRcdDwhLS0gdGl0bGUgLS0+XG5cdFx0XHRcdDxzdHJvbmcgdi1pZj1cInRpdGxlXCIgY2xhc3M9XCJhY3Rpb24tdGV4dF9fdGl0bGVcIj5cblx0XHRcdFx0XHR7eyB0aXRsZSB9fVxuXHRcdFx0XHQ8L3N0cm9uZz5cblxuXHRcdFx0XHQ8dGV4dGFyZWEgOmRpc2FibGVkPVwiZGlzYWJsZWRcIlxuXHRcdFx0XHRcdDp2YWx1ZT1cInZhbHVlXCJcblx0XHRcdFx0XHR2LWJpbmQ9XCIkYXR0cnNcIlxuXHRcdFx0XHRcdDpjbGFzcz1cIlsnYWN0aW9uLXRleHQtZWRpdGFibGVfX3RleHRhcmVhJyx7IGZvY3VzYWJsZTogaXNGb2N1c2FibGUgfV1cIlxuXHRcdFx0XHRcdEBpbnB1dD1cIm9uSW5wdXRcIiAvPlxuXG5cdFx0XHRcdDwhLS0gYWxsb3cgdGhlIGN1c3RvbSBmb250IHRvIGluamVjdCBhIDo6YmVmb3JlXG5cdFx0XHRcdFx0bm90IHBvc3NpYmxlIG9uIGlucHV0W3R5cGU9c3VibWl0XSAtLT5cblx0XHRcdFx0PGxhYmVsIHYtc2hvdz1cIiFkaXNhYmxlZFwiIDpmb3I9XCJpZFwiIGNsYXNzPVwiYWN0aW9uLXRleHQtZWRpdGFibGVfX2xhYmVsXCIgLz5cblx0XHRcdDwvZm9ybT5cblx0XHQ8L3NwYW4+XG5cdDwvbGk+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IEFjdGlvblRleHRNaXhpbiBmcm9tICcuLi8uLi9taXhpbnMvYWN0aW9uVGV4dCdcbmltcG9ydCBHZW5SYW5kb21JZCBmcm9tICcuLi8uLi91dGlscy9HZW5SYW5kb21JZCdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnQWN0aW9uVGV4dEVkaXRhYmxlJyxcblxuXHRtaXhpbnM6IFtBY3Rpb25UZXh0TWl4aW5dLFxuXG5cdHByb3BzOiB7XG5cdFx0LyoqXG5cdFx0ICogaWQgYXR0cmlidXRlIG9mIHRoZSBjaGVja2JveCBlbGVtZW50XG5cdFx0ICovXG5cdFx0aWQ6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICgpID0+ICdhY3Rpb24tJyArIEdlblJhbmRvbUlkKCksXG5cdFx0XHR2YWxpZGF0b3I6IGlkID0+IGlkLnRyaW0oKSAhPT0gJycsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgdGV4dCBhcmVhXG5cdFx0ICovXG5cdFx0ZGlzYWJsZWQ6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIHZhbHVlIGF0dHJpYnV0ZSBvZiB0aGUgaW5wdXQgZmllbGRcblx0XHQgKi9cblx0XHR2YWx1ZToge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblx0fSxcblxuXHRjb21wdXRlZDoge1xuXHRcdC8qKlxuXHRcdCAqIGRldGVybWluZXMgaWYgdGhlIGFjdGlvbiBpcyBmb2N1c2FibGVcblx0XHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gaXMgdGhlIGFjdGlvbiBmb2N1c2FibGUgP1xuXHRcdCAqL1xuXHRcdGlzRm9jdXNhYmxlKCkge1xuXHRcdFx0cmV0dXJuICF0aGlzLmRpc2FibGVkXG5cdFx0fSxcblx0fSxcblxuXHRtZXRob2RzOiB7XG5cdFx0b25JbnB1dChldmVudCkge1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBFbWl0dGVkIG9uIGlucHV0IGV2ZW50cyBvZiB0aGUgdGV4dCBmaWVsZFxuXHRcdFx0ICogQHR5cGUge0V2ZW50fERhdGV9XG5cdFx0XHQgKi9cblx0XHRcdHRoaXMuJGVtaXQoJ2lucHV0JywgZXZlbnQpXG5cdFx0XHQvKipcblx0XHRcdCAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXRzIHZhbHVlIGNoYW5nZXNcblx0XHRcdCAqIEB0eXBlIHtzdHJpbmd8RGF0ZX1cblx0XHRcdCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgndXBkYXRlOnZhbHVlJywgZXZlbnQudGFyZ2V0LnZhbHVlKVxuXHRcdH0sXG5cdFx0b25TdWJtaXQoZXZlbnQpIHtcblx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KClcblx0XHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cdFx0XHRpZiAoIXRoaXMuZGlzYWJsZWQpIHtcblx0XHRcdFx0LyoqXG5cdFx0XHRcdCAqIEVtaXR0ZWQgb24gc3VibWl0IG9mIHRoZSBpbnB1dCBmaWVsZFxuXHRcdFx0XHQgKiBAdHlwZSB7RXZlbnR9XG5cdFx0XHRcdCAqL1xuXHRcdFx0XHR0aGlzLiRlbWl0KCdzdWJtaXQnLCBldmVudClcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8vIGlnbm9yZSBzdWJtaXRcblx0XHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0XHR9XG5cdFx0fSxcblx0fSxcbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG5AaW1wb3J0ICcuLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZSc7XG5AaW1wb3J0ICcuLi8uLi9hc3NldHMvaW5wdXRzJztcbkBpbXBvcnQgJy4uLy4uL2Fzc2V0cy9hY3Rpb24nO1xuQGluY2x1ZGUgYWN0aW9uLWFjdGl2ZTtcbkBpbmNsdWRlIGFjdGlvbi0tZGlzYWJsZWQ7XG5cbiRpbnB1dC1tYXJnaW46IDRweDtcblxuLmFjdGlvbi10ZXh0LWVkaXRhYmxlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXG5cdGN1cnNvcjogcG9pbnRlcjtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xuXHRib3JkZXI6IDA7XG5cdGJvcmRlci1yYWRpdXM6IDA7IC8vIG90aGVyd2lzZSBTYWZhcmkgd2lsbCBjdXQgdGhlIGJvcmRlci1yYWRpdXMgYXJlYVxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblxuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRsaW5lLWhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XG5cdH1cblxuXHQmID4gc3BhbiB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdH1cblxuXHQmX19pY29uIHtcblx0XHRtaW4td2lkdGg6IDA7IC8qIE92ZXJ3cml0ZSBpY29ucyovXG5cdFx0bWluLWhlaWdodDogMDtcblx0XHQvKiBLZWVwIHBhZGRpbmcgdG8gZGVmaW5lIHRoZSB3aWR0aCB0b1xuXHRcdFx0YXNzdXJlIGNvcnJlY3QgcG9zaXRpb24gb2YgYSBwb3NzaWJsZSB0ZXh0ICovXG5cdFx0cGFkZGluZzogI3skY2xpY2thYmxlLWFyZWEgLyAyfSAwICN7JGNsaWNrYWJsZS1hcmVhIC8gMn0gJGNsaWNrYWJsZS1hcmVhO1xuXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogI3skaWNvbi1tYXJnaW59IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6ICRpY29uLXNpemU7XG5cdH1cblxuXHQvLyBGb3JtcyAmIHRleHQgaW5wdXRzXG5cdCZfX2Zvcm0ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleDogMSAxIGF1dG87XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW46ICRpbnB1dC1tYXJnaW4gMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAkaWNvbi1tYXJnaW47XG5cdH1cblxuXHQmX19zdWJtaXQge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAtMTAwMDBweDtcblx0XHR0b3A6IGF1dG87XG5cdFx0d2lkdGg6IDFweDtcblx0XHRoZWlnaHQ6IDFweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cblx0Jl9fbGFiZWwge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdC8vIGJvdHRvbS1yaWdodCBjb3JuZXJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6ICRpY29uLW1hcmdpbiArIDE7XG5cdFx0Ym90dG9tOiAxcHg7XG5cdFx0d2lkdGg6ICN7JGNsaWNrYWJsZS1hcmVhIC0gJGlucHV0LW1hcmdpbiAqIDJ9O1xuXHRcdGhlaWdodDogI3skY2xpY2thYmxlLWFyZWEgLSAkaW5wdXQtbWFyZ2luICogMn07XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDdweCA2cHg7XG5cblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0ZXIpO1xuXHRcdGJvcmRlcjogMDtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0LyogQXZvaWQgYmFja2dyb3VuZCB1bmRlciBib3JkZXIgKi9cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xuXHRcdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cblx0XHRmb250LXNpemU6ICRpY29uLXNpemU7XG5cblx0XHRAaW5jbHVkZSBpY29uZm9udCgnY29uZmlybScpO1xuXHR9XG5cblx0LyogSW5wdXRzIGluc2lkZSBwb3BvdmVyIHN1cHBvcnRzIHRleHQsIHN1Ym1pdCAmIHJlc2V0ICovXG5cdCZfX3RleHRhcmVhIHtcblx0XHRmbGV4OiAxIDEgYXV0bztcblxuXHRcdG1pbi1oZWlnaHQ6ICN7JGNsaWNrYWJsZS1hcmVhICogMiAtICRpbnB1dC1tYXJnaW4gKiAyfTsgLyogdHdpY2UgdGhlIGVsZW1lbnQgbWFyZ2luLXkgKi9cblx0XHRtYXgtaGVpZ2h0OiAjeyRjbGlja2FibGUtYXJlYSAqIDMgLSAkaW5wdXQtbWFyZ2luICogMn07IC8qIHR3aWNlIHRoZSBlbGVtZW50IG1hcmdpbi15ICovXG5cdFx0Ly8gYmxvY2sgd2lkdGggd2lkZW5pbmdcblx0XHRtaW4td2lkdGg6ICRjbGlja2FibGUtYXJlYSAqIDQ7XG5cdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0XHRtYXJnaW46IDA7XG5cblx0XHQvLyBpZiBkaXNhYmxlZCwgY2hhbmdlIGN1cnNvclxuXHRcdCY6ZGlzYWJsZWQge1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdH1cblxuXHRcdC8qIG9ubHkgc2hvdyBjb25maXJtIGJvcmRlcnMgaWYgaW5wdXQgaXMgbm90IGZvY3VzZWQgKi9cblx0XHQmOm5vdCg6YWN0aXZlKTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSB7XG5cdFx0XHQmOmludmFsaWQge1xuXHRcdFx0XHQmICsgLmFjdGlvbi10ZXh0LWVkaXRhYmxlX19sYWJlbCB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmOm5vdCg6ZGlzYWJsZWQpICsgLmFjdGlvbi10ZXh0LWVkaXRhYmxlX19sYWJlbCB7XG5cdFx0XHRcdCY6YWN0aXZlLFxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6YWN0aXZlLFxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHQmOm5vdCg6ZGlzYWJsZWQpICsgLmFjdGlvbi10ZXh0LWVkaXRhYmxlX19sYWJlbCB7XG5cdFx0XHRcdC8qIGFib3ZlIHByZXZpb3VzIGlucHV0ICovXG5cdFx0XHRcdHotaW5kZXg6IDI7XG5cblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xuXHRcdFx0XHRib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIGlmIGEgZm9ybSBpcyB0aGUgbGFzdCBvZiB0aGUgbGlzdFxuLy8gYWRkIHRoZSBzYW1lIGJvdHRvbU1hcmdpbiBhcyB0aGUgcmlnaHQgcGFkZGluZ1xuLy8gZm9yIHZpc3VhbCBiYWxhbmNlXG5saTpsYXN0LWNoaWxkID4gLmFjdGlvbi10ZXh0LWVkaXRhYmxlIHtcblx0bWFyZ2luLWJvdHRvbTogJGljb24tbWFyZ2luIC0gJGlucHV0LW1hcmdpbjtcbn1cblxuLy8gc2FtZSBmb3IgZmlyc3QgaXRlbVxubGk6Zmlyc3QtY2hpbGQgPiAuYWN0aW9uLXRleHQtZWRpdGFibGUge1xuXHRtYXJnaW4tdG9wOiAkaWNvbi1tYXJnaW4gLSAkaW5wdXQtbWFyZ2luO1xufVxuXG48L3N0eWxlPlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZVxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICAtXG4gIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAgLVxuICAtLT5cblxuPCEtLSBBY2Nlc3NpYmlsaXR5IGd1aWRlbGluZXM6XG5odHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEtcHJhY3RpY2VzL2V4YW1wbGVzL21lbnUtYnV0dG9uL21lbnUtYnV0dG9uLWFjdGlvbnMuaHRtbCAtLT5cblxuPGRvY3M+XG4jIyMgU2luZ2xlIGFjdGlvblxuXG5gYGBcbjxBY3Rpb25zPlxuXHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWRlbGV0ZVwiIEBjbGljaz1cImFsZXJ0KCdEZWxldGUnKVwiPkRlbGV0ZTwvQWN0aW9uQnV0dG9uPlxuPC9BY3Rpb25zPlxuYGBgXG5cbiMjIyBNdWx0aXBsZSBhY3Rpb25zXG5cbmBgYFxuPEFjdGlvbnM+XG5cdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tZWRpdFwiIEBjbGljaz1cImFsZXJ0KCdFZGl0JylcIj5FZGl0PC9BY3Rpb25CdXR0b24+XG5cdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tZGVsZXRlXCIgQGNsaWNrPVwiYWxlcnQoJ0RlbGV0ZScpXCI+RGVsZXRlPC9BY3Rpb25CdXR0b24+XG5cdDxBY3Rpb25MaW5rIGljb249XCJpY29uLWV4dGVybmFsXCIgdGl0bGU9XCJMaW5rXCIgaHJlZj1cImh0dHBzOi8vbmV4dGNsb3VkLmNvbVwiIC8+XG48L0FjdGlvbnM+XG5gYGBcblxuIyMjIE11bHRpcGxlIGFjdGlvbnMgd2l0aCBjdXN0b20gaWNvblxuXG5gYGBcbjxBY3Rpb25zIGRlZmF1bHQtaWNvbj1cImljb24tZWRpdFwiPlxuXHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWVkaXRcIiBAY2xpY2s9XCJhbGVydCgnRWRpdCcpXCI+RWRpdDwvQWN0aW9uQnV0dG9uPlxuXHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWRlbGV0ZVwiIEBjbGljaz1cImFsZXJ0KCdEZWxldGUnKVwiPkRlbGV0ZTwvQWN0aW9uQnV0dG9uPlxuXHQ8QWN0aW9uTGluayBpY29uPVwiaWNvbi1leHRlcm5hbFwiIHRpdGxlPVwiTGlua1wiIGhyZWY9XCJodHRwczovL25leHRjbG91ZC5jb21cIiAvPlxuPC9BY3Rpb25zPlxuYGBgXG5cbiMjIyBXaXRoIG1lbnUgdGl0bGVcblxuYGBgXG48QWN0aW9ucyBkZWZhdWx0LWljb249XCJpY29uLWVkaXRcIiBtZW51LXRpdGxlPVwiT2JqZWN0IG1hbmFnZW1lbnRcIj5cblx0PEFjdGlvbkJ1dHRvbiBpY29uPVwiaWNvbi1lZGl0XCI+UmVuYW1lPC9BY3Rpb25CdXR0b24+XG5cdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tZGVsZXRlXCI+RGVsZXRlPC9BY3Rpb25CdXR0b24+XG5cdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tY29uZmlybVwiPlZhbGlkYXRlPC9BY3Rpb25CdXR0b24+XG5cdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tZG93bmxvYWRcIj5Eb3dubG9hZDwvQWN0aW9uQnV0dG9uPlxuPC9BY3Rpb25zPlxuYGBgXG5cbiMjIyBWYXJpb3VzIGljb25zIHN0eWxlc1xuYGBgXG48QWN0aW9ucyA6cHJpbWFyeT1cInRydWVcIj5cblx0PEFjdGlvbkJ1dHRvbiBpY29uPVwiaWNvbi1lZGl0XCI+RWRpdDwvQWN0aW9uQnV0dG9uPlxuXHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWRlbGV0ZVwiPkRlbGV0ZTwvQWN0aW9uQnV0dG9uPlxuPC9BY3Rpb25zPlxuYGBgXG5cbmBgYFxuPEFjdGlvbnMgZGVmYXVsdC1pY29uPVwiaWNvbi1hZGQtd2hpdGVcIiA6cHJpbWFyeT1cInRydWVcIiBtZW51LXRpdGxlPVwiT2JqZWN0IG1hbmFnZW1lbnRcIj5cblx0PEFjdGlvbkJ1dHRvbiBpY29uPVwiaWNvbi1lZGl0XCI+UmVuYW1lPC9BY3Rpb25CdXR0b24+XG5cdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tZGVsZXRlXCI+RGVsZXRlPC9BY3Rpb25CdXR0b24+XG5cdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tY29uZmlybVwiPlZhbGlkYXRlPC9BY3Rpb25CdXR0b24+XG5cdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tZG93bmxvYWRcIj5Eb3dubG9hZDwvQWN0aW9uQnV0dG9uPlxuPC9BY3Rpb25zPlxuYGBgXG5cbiMjIyBDdXN0b20gaWNvbiBzbG90XG5UbyBiZSB1c2VkIHdpdGggYHZ1ZS1tYXRlcmlhbC1kZXNpZ24taWNvbnNgIG9ubHkuIEZvciBpY29uIGNsYXNzZXMgdXNlIHRoZSBgZGVmYXVsdC1pY29uYCBzbG90LlxuSXQgY2FuIGJlIHVzZWQgd2l0aCBvbmUgb3IgbXVsdGlwbGUgYWN0aW9ucy5cbmBgYFxuPHRlbXBsYXRlPlxuXHQ8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDthbGlnbi1pdGVtczogY2VudGVyO1wiPlxuXHRcdDxidXR0b24gQGNsaWNrPVwidG9nZ2xlZCA9ICF0b2dnbGVkXCI+VG9nZ2xlIG11bHRpcGxlIGFjdGlvbjwvYnV0dG9uPlxuXHRcdDxBY3Rpb25zPlxuXHRcdFx0PERvdHNIb3Jpem9udGFsQ2lyY2xlT3V0bGluZVxuXHRcdFx0XHRzbG90PVwiaWNvblwiXG5cdFx0XHRcdDpzaXplPVwiMTZcIlxuXHRcdFx0XHRkZWNvcmF0aXZlIC8+XG5cdFx0XHQ8QWN0aW9uQnV0dG9uPlxuXHRcdFx0XHQ8TWljcm9waG9uZU9mZlxuXHRcdFx0XHRcdHNsb3Q9XCJpY29uXCJcblx0XHRcdFx0XHQ6c2l6ZT1cIjE2XCJcblx0XHRcdFx0XHRkZWNvcmF0aXZlIC8+XG5cdFx0XHRcdE11dGVcblx0XHRcdDwvQWN0aW9uQnV0dG9uPlxuXHRcdFx0PEFjdGlvbkJ1dHRvbiB2LWlmPVwidG9nZ2xlZFwiIGljb249XCJpY29uLWRlbGV0ZVwiPkRlbGV0ZTwvQWN0aW9uQnV0dG9uPlxuXHRcdDwvQWN0aW9ucz5cblx0XHQ8QWN0aW9ucz5cblx0XHQ8L0FjdGlvbnM+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cbjxzY3JpcHQ+XG5pbXBvcnQgRG90c0hvcml6b250YWxDaXJjbGVPdXRsaW5lIGZyb20gJ3Z1ZS1tYXRlcmlhbC1kZXNpZ24taWNvbnMvRG90c0hvcml6b250YWxDaXJjbGVPdXRsaW5lJ1xuaW1wb3J0IE1pY3JvcGhvbmVPZmYgZnJvbSAndnVlLW1hdGVyaWFsLWRlc2lnbi1pY29ucy9NaWNyb3Bob25lT2ZmJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdGNvbXBvbmVudHM6IHtcblx0XHREb3RzSG9yaXpvbnRhbENpcmNsZU91dGxpbmUsXG5cdFx0TWljcm9waG9uZU9mZixcblx0fSxcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0dG9nZ2xlZDogZmFsc2Vcblx0XHR9XG5cdH1cbn1cbjwvc2NyaXB0PlxuYGBgXG5cbiMjIyBDdXN0b20gaWNvbiBzbG90IGluIGNoaWxkIGVsZW1lbnRzXG5gYGBcbjxBY3Rpb25zIDpwcmltYXJ5PVwidHJ1ZVwiPlxuXHQ8QWN0aW9uQnV0dG9uPjx0ZW1wbGF0ZSAjaWNvbj48TWFnbmlmeUljb24gLz48L3RlbXBsYXRlPlNlYXJjaDwvQWN0aW9uQnV0dG9uPlxuXHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWRlbGV0ZVwiPkRlbGV0ZTwvQWN0aW9uQnV0dG9uPlxuPC9BY3Rpb25zPlxuYGBgXG5cbjwvZG9jcz5cbjx0ZW1wbGF0ZT5cblx0PCEtLSBpZiBvbmx5IG9uZSBhY3Rpb24sIGNoZWNrIGlmIHdlIG5lZWQgdG8gYmluZCB0byBjbGljayBvciBub3QgLS0+XG5cdDxlbGVtZW50IHYtaWY9XCJpc1ZhbGlkU2luZ2xlQWN0aW9uICYmICFmb3JjZU1lbnVcIlxuXHRcdHYtdG9vbHRpcC5hdXRvPVwiZmlyc3RBY3Rpb24udGV4dFwiXG5cdFx0di1iaW5kPVwiZmlyc3RBY3Rpb25CaW5kaW5nXCJcblx0XHQ6Y2xhc3M9XCJ7XG5cdFx0XHRbZmlyc3RBY3Rpb24uaWNvbl06IGZpcnN0QWN0aW9uLmljb24sXG5cdFx0XHRbZmlyc3RBY3Rpb25DbGFzc106IGZpcnN0QWN0aW9uQ2xhc3MgfVwiXG5cdFx0Y2xhc3M9XCJhY3Rpb24taXRlbSBhY3Rpb24taXRlbS0tc2luZ2xlXCJcblx0XHRyZWw9XCJub3JlZmVycmVyIG5vb3BlbmVyXCJcblx0XHQ6ZGlzYWJsZWQ9XCJkaXNhYmxlZFwiXG5cdFx0QGZvY3VzPVwib25Gb2N1c1wiXG5cdFx0QGJsdXI9XCJvbkJsdXJcIlxuXHRcdEBbZmlyc3RBY3Rpb25FdmVudEJpbmRpbmddPVwiZXhlY0ZpcnN0QWN0aW9uXCI+XG5cdFx0PCEtLSBSZW5kZXIgdGhlIGljb24gc2xvdCBjb250ZW50IG9mIHRoZSBmaXJzdCBhY3Rpb24gLS0+XG5cdFx0PFZOb2RlcyA6dm5vZGVzPVwiZmlyc3RBY3Rpb25JY29uU2xvdFwiIC8+XG5cblx0XHQ8IS0tIGZha2Ugc2xvdCB0byBnYXRoZXIgbWFpbiBhY3Rpb24gLS0+XG5cdFx0PHNwYW4gOmFyaWEtaGlkZGVuPVwidHJ1ZVwiIGhpZGRlbj5cblx0XHRcdDwhLS0gQHNsb3QgQWxsIGFjdGlvbiBlbGVtZW50cyBwYXNzZWQgaW50byB0aGUgZGVmYXVsdCBzbG90IHdpbGwgYmUgdXNlZCAtLT5cblx0XHRcdDxzbG90IC8+XG5cdFx0PC9zcGFuPlxuXHQ8L2VsZW1lbnQ+XG5cblx0PCEtLSBtb3JlIHRoYW4gb25lIGFjdGlvbiAtLT5cblx0PGRpdiB2LWVsc2Vcblx0XHR2LXNob3c9XCJoYXNNdWx0aXBsZUFjdGlvbnMgfHwgZm9yY2VNZW51XCJcblx0XHQ6Y2xhc3M9XCJ7J2FjdGlvbi1pdGVtLS1vcGVuJzogb3BlbmVkfVwiXG5cdFx0Y2xhc3M9XCJhY3Rpb24taXRlbVwiPlxuXHRcdDwhLS0gSWYgbW9yZSB0aGFuIG9uZSBhY3Rpb24sIGNyZWF0ZSBhIHBvcG92ZXJtZW51IC0tPlxuXHRcdDxQb3BvdmVyXG5cdFx0XHQ6ZGVsYXk9XCIwXCJcblx0XHRcdDpoYW5kbGUtcmVzaXplPVwidHJ1ZVwiXG5cdFx0XHQ6b3Blbi5zeW5jPVwib3BlbmVkXCJcblx0XHRcdDpwbGFjZW1lbnQ9XCJwbGFjZW1lbnRcIlxuXHRcdFx0OmJvdW5kYXJpZXMtZWxlbWVudD1cImJvdW5kYXJpZXNFbGVtZW50XCJcblx0XHRcdDpjb250YWluZXI9XCJjb250YWluZXJcIlxuXHRcdFx0QHNob3c9XCJvcGVuTWVudVwiXG5cdFx0XHRAYWZ0ZXItc2hvdz1cIm9uT3BlblwiXG5cdFx0XHRAaGlkZT1cImNsb3NlTWVudVwiPlxuXHRcdFx0PCEtLSBNZW51IG9wZW4vY2xvc2UgdHJpZ2dlciBidXR0b24gLS0+XG5cdFx0XHQ8YnV0dG9uIHNsb3Q9XCJ0cmlnZ2VyXCJcblx0XHRcdFx0cmVmPVwibWVudUJ1dHRvblwiXG5cdFx0XHRcdDpkaXNhYmxlZD1cImRpc2FibGVkXCJcblx0XHRcdFx0Y2xhc3M9XCJpY29uIGFjdGlvbi1pdGVtX19tZW51dG9nZ2xlXCJcblx0XHRcdFx0OmNsYXNzPVwie1xuXHRcdFx0XHRcdFtkZWZhdWx0SWNvbl06ICFpY29uU2xvdElzUG9wdWxhdGVkLFxuXHRcdFx0XHRcdCdhY3Rpb24taXRlbV9fbWVudXRvZ2dsZS0td2l0aC10aXRsZSc6IG1lbnVUaXRsZSxcblx0XHRcdFx0XHQnYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGUtLXByaW1hcnknOiBwcmltYXJ5XG5cdFx0XHRcdH1cIlxuXHRcdFx0XHQ6YXJpYS1sYWJlbD1cImFyaWFMYWJlbFwiXG5cdFx0XHRcdGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcblx0XHRcdFx0OmFyaWEtY29udHJvbHM9XCJyYW5kb21JZFwiXG5cdFx0XHRcdHRlc3QtYXR0cj1cIjFcIlxuXHRcdFx0XHQ6YXJpYS1leHBhbmRlZD1cIm9wZW5lZCA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuXHRcdFx0XHRAZm9jdXM9XCJvbkZvY3VzXCJcblx0XHRcdFx0QGJsdXI9XCJvbkJsdXJcIj5cblx0XHRcdFx0PHNsb3QgbmFtZT1cImljb25cIiAvPlxuXHRcdFx0XHR7eyBtZW51VGl0bGUgfX1cblx0XHRcdDwvYnV0dG9uPlxuXG5cdFx0XHQ8IS0tIE1lbnUgY29udGVudCAtLT5cblx0XHRcdDxkaXYgdi1zaG93PVwib3BlbmVkXCJcblx0XHRcdFx0cmVmPVwibWVudVwiXG5cdFx0XHRcdDpjbGFzcz1cInsgb3Blbjogb3BlbmVkIH1cIlxuXHRcdFx0XHR0YWJpbmRleD1cIi0xXCJcblx0XHRcdFx0QGtleWRvd24udXAuZXhhY3Q9XCJmb2N1c1ByZXZpb3VzQWN0aW9uXCJcblx0XHRcdFx0QGtleWRvd24uZG93bi5leGFjdD1cImZvY3VzTmV4dEFjdGlvblwiXG5cdFx0XHRcdEBrZXlkb3duLnRhYi5leGFjdD1cImZvY3VzTmV4dEFjdGlvblwiXG5cdFx0XHRcdEBrZXlkb3duLnNoaWZ0LnRhYi5leGFjdD1cImZvY3VzUHJldmlvdXNBY3Rpb25cIlxuXHRcdFx0XHRAa2V5ZG93bi5wYWdlLXVwLmV4YWN0PVwiZm9jdXNGaXJzdEFjdGlvblwiXG5cdFx0XHRcdEBrZXlkb3duLnBhZ2UtZG93bi5leGFjdD1cImZvY3VzTGFzdEFjdGlvblwiXG5cdFx0XHRcdEBrZXlkb3duLmVzYy5leGFjdC5wcmV2ZW50PVwiY2xvc2VNZW51XCJcblx0XHRcdFx0QG1vdXNlbW92ZT1cIm9uTW91c2VGb2N1c0FjdGlvblwiPlxuXHRcdFx0XHQ8IS0tIG1lbnUgY29udGVudCAtLT5cblx0XHRcdFx0PHVsIDppZD1cInJhbmRvbUlkXCIgdGFiaW5kZXg9XCItMVwiPlxuXHRcdFx0XHRcdDx0ZW1wbGF0ZSB2LWlmPVwib3BlbmVkXCI+XG5cdFx0XHRcdFx0XHQ8c2xvdCAvPlxuXHRcdFx0XHRcdDwvdGVtcGxhdGU+XG5cdFx0XHRcdDwvdWw+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L1BvcG92ZXI+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cbjxzY3JpcHQ+XG5pbXBvcnQgVG9vbHRpcCBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL1Rvb2x0aXAnXG5pbXBvcnQgR2VuUmFuZG9tSWQgZnJvbSAnLi4vLi4vdXRpbHMvR2VuUmFuZG9tSWQnXG5pbXBvcnQgVmFsaWRhdGVTbG90IGZyb20gJy4uLy4uL3V0aWxzL1ZhbGlkYXRlU2xvdCdcbmltcG9ydCB7IHQgfSBmcm9tICcuLi8uLi9sMTBuJ1xuaW1wb3J0IFBvcG92ZXIgZnJvbSAnLi4vUG9wb3ZlcidcblxuLy8gVGhpcyBpcyB0aGUgbGlzdCBvZiBBTEwgdGhlIEFMTE9XRUQgY29tcG9uZW50c1xuLy8gaW4gdGhlIGRlZmF1bHQgU0xPVFxuY29uc3QgYWxsb3dlZENoaWxkcmVuID0gW1xuXHQnQWN0aW9uQnV0dG9uJyxcblx0J0FjdGlvbkNoZWNrYm94Jyxcblx0J0FjdGlvbklucHV0Jyxcblx0J0FjdGlvbkxpbmsnLFxuXHQnQWN0aW9uUmFkaW8nLFxuXHQnQWN0aW9uUm91dGVyJyxcblx0J0FjdGlvblNlcGFyYXRvcicsXG5cdCdBY3Rpb25UZXh0Jyxcblx0J0FjdGlvblRleHRFZGl0YWJsZScsXG5dXG5cbmNvbnN0IGZvY3VzYWJsZVNlbGVjdG9yID0gJy5mb2N1c2FibGUnXG5cbi8qKlxuICogVGhlIEFjdGlvbnMgY29tcG9uZW50IGNhbiBiZSB1c2VkIHRvIGRpc3BsYXkgb25lIG9yZSBtb3JlIGFjdGlvbnMuXG4gKiBJZiBvbmx5IGEgc2luZ2xlIGFjdGlvbiBpcyBwcm92aWRlZCwgaXQgd2lsbCBiZSByZW5kZXJlZCBhcyBhbiBpbmxpbmUgaWNvbi5cbiAqIEZvciBtb3JlLCBhIG1lbnUgaW5kaWNhdG9yIHdpbGwgYmUgc2hvd24gYW5kIGEgcG9wb3Zlcm1lbnUgY29udGFpbmluZyB0aGVcbiAqIGFjdGlvbnMgd2lsbCBiZSBvcGVuZWQgb24gY2xpY2suXG4gKlxuICogQHNpbmNlIDAuMTAuMFxuICovXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdBY3Rpb25zJyxcblxuXHRkaXJlY3RpdmVzOiB7XG5cdFx0dG9vbHRpcDogVG9vbHRpcCxcblx0fSxcblxuXHRjb21wb25lbnRzOiB7XG5cdFx0UG9wb3ZlcixcblxuXHRcdC8vIENvbXBvbmVudCB0byByZW5kZXIgdGhlIGZpcnN0IGFjdGlvbiBpY29uIHNsb3QgY29udGVudCAodm5vZGVzKVxuXHRcdFZOb2Rlczoge1xuXHRcdFx0ZnVuY3Rpb25hbDogdHJ1ZSxcblx0XHRcdHJlbmRlcjogKGgsIGNvbnRleHQpID0+IGNvbnRleHQucHJvcHMudm5vZGVzLFxuXHRcdH0sXG5cdH0sXG5cblx0cHJvcHM6IHtcblx0XHQvKipcblx0XHQgKiBTcGVjaWZ5IHRoZSBvcGVuIHN0YXRlIG9mIHRoZSBwb3BvdmVyIG1lbnVcblx0XHQgKi9cblx0XHRvcGVuOiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEZvcmNlIHRoZSBhY3Rpb25zIHRvIGRpc3BsYXkgaW4gYSB0aHJlZSBkb3QgbWVudVxuXHRcdCAqL1xuXHRcdGZvcmNlTWVudToge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBTcGVjaWZ5IHRoZSBtZW51IHRpdGxlXG5cdFx0ICovXG5cdFx0bWVudVRpdGxlOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiBudWxsLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBBcHBseSBwcmltYXJ5IHN0eWxpbmcgZm9yIHRoaXMgbWVudVxuXHRcdCAqL1xuXHRcdHByaW1hcnk6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogSWNvbiB0byBzaG93IGZvciB0aGUgdG9nZ2xlIG1lbnUgYnV0dG9uXG5cdFx0ICogd2hlbiBtb3JlIHRoYW4gb25lIGFjdGlvbiBpcyBpbnNpZGUgdGhlIGFjdGlvbnMgY29tcG9uZW50LlxuXHRcdCAqIE9ubHkgcmVwbGFjZSB0aGUgZGVmYXVsdCB0aHJlZS1kb3QgaWNvbiBpZiByZWFsbHkgbmVjZXNzYXJ5LlxuXHRcdCAqL1xuXHRcdGRlZmF1bHRJY29uOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGUtLWRlZmF1bHQtaWNvbicsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEFyaWEgbGFiZWwgZm9yIHRoZSBhY3Rpb25zIG1lbnVcblx0XHQgKi9cblx0XHRhcmlhTGFiZWw6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6IHQoJ0FjdGlvbnMnKSxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogV2FudGVkIGRpcmVjdGlvbiBvZiB0aGUgbWVudVxuXHRcdCAqL1xuXHRcdHBsYWNlbWVudDoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJ2JvdHRvbScsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIERPTSBlbGVtZW50IGZvciB0aGUgYWN0aW9ucycgcG9wb3ZlciBib3VuZGFyaWVzXG5cdFx0ICovXG5cdFx0Ym91bmRhcmllc0VsZW1lbnQ6IHtcblx0XHRcdHR5cGU6IEVsZW1lbnQsXG5cdFx0XHRkZWZhdWx0OiAoKSA9PiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5JyksXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIFNlbGVjdG9yIGZvciB0aGUgYWN0aW9ucycgcG9wb3ZlciBjb250YWluZXJcblx0XHQgKi9cblx0XHRjb250YWluZXI6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICdib2R5Jyxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogRGlzYWJsZWQgc3RhdGUgb2YgdGhlIG1haW4gYnV0dG9uIChzaW5nbGUgYWN0aW9uIG9yIG1lbnUgdG9nZ2xlKVxuXHRcdCAqL1xuXHRcdGRpc2FibGVkOiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblx0fSxcblxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRhY3Rpb25zOiBbXSxcblx0XHRcdG9wZW5lZDogdGhpcy5vcGVuLFxuXHRcdFx0Zm9jdXNJbmRleDogMCxcblx0XHRcdHJhbmRvbUlkOiAnbWVudS0nICsgR2VuUmFuZG9tSWQoKSxcblx0XHRcdC8vIE1ha2luZyBjaGlsZHJlbiByZWFjdGl2ZSFcblx0XHRcdC8vIEJ5IGJpbmRpbmcgdGhpcyBoZXJlLCB2dWVqcyB3aWxsIHRyYWNrIHRoZSBvYmplY3QgY29udGVudFxuXHRcdFx0Ly8gTmVlZGVkIGZvciBmaXJzdEFjdGlvbiByZWFjdGl2aXR5ICEhIVxuXHRcdFx0Y2hpbGRyZW46IHRoaXMuJGNoaWxkcmVuLFxuXHRcdH1cblx0fSxcblxuXHRjb21wdXRlZDoge1xuXHRcdC8qKlxuXHRcdCAqIElzIHRoZXJlIG1vcmUgdGhhbiBvbmUgYWN0aW9uP1xuXHRcdCAqIEByZXR1cm5zIHtib29sZWFufVxuXHRcdCAqL1xuXHRcdGhhc011bHRpcGxlQWN0aW9ucygpIHtcblx0XHRcdHJldHVybiB0aGlzLmFjdGlvbnMubGVuZ3RoID4gMVxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogSXMgdGhlcmUgYW55IGZpcnN0IGFjdGlvbiA/XG5cdFx0ICogQW5kIGlzIGl0IGFsbG93ZWQgYXMgYSBzdGFuZGFsb25lIGVsZW1lbnQgP1xuXHRcdCAqIEByZXR1cm5zIHtib29sZWFufVxuXHRcdCAqL1xuXHRcdGlzVmFsaWRTaW5nbGVBY3Rpb24oKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5hY3Rpb25zLmxlbmd0aCA9PT0gMVxuXHRcdFx0XHQmJiB0aGlzLmZpcnN0QWN0aW9uRWxlbWVudCAhPT0gbnVsbFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogRmlyc3QgYWN0aW9uIHZub2RlXG5cdFx0ICogQHJldHVybnMge09iamVjdH0gcmV0dXJuIHRoZSBmaXJzdCBhY3Rpb24gdnVlIHZub2RlXG5cdFx0ICovXG5cdFx0Zmlyc3RBY3Rpb25WTm9kZSgpIHtcblx0XHRcdHJldHVybiB0aGlzLmFjdGlvbnNbMF1cblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIFJlYWN0aXZlIGJpbmRpbmcgdG8gdGhlIGZpcnN0IGNoaWxkcmVuXG5cdFx0ICogU2luY2Ugd2UncmUgaGVyZSwgaXQgbWVhbnMgd2UgYWxyZWFkeSBwYXNzZWQgYWxsIHRoZSBwcm9wZXIgY2hlY2tzXG5cdFx0ICogd2UgY2FuIGFzc3VtZSB0aGUgZmlyc3QgYWN0aW9uIGlzIHRoZSBmaXJzdCBjaGlsZHJlbiB0b29cblx0XHQgKiBAcmV0dXJucyB7T2JqZWN0fSBmaXJzdCBhY3Rpb24gdnVlIGNoaWxkcmVuIG9iamVjdFxuXHRcdCAqL1xuXHRcdGZpcnN0QWN0aW9uKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuY2hpbGRyZW5bMF1cblx0XHRcdFx0PyB0aGlzLmNoaWxkcmVuWzBdXG5cdFx0XHRcdDoge31cblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogQmluZGluZyBvZiB0aGUgZmlyc3QgYWN0aW9uIHRvIHRoZSB0ZW1wbGF0ZVxuXHRcdCAqIEByZXR1cm5zIHtPYmplY3R9IHZ1ZSB0ZW1wbGF0ZSB2LWJpbmQgc2hvcnRjdXRcblx0XHQgKi9cblx0XHRmaXJzdEFjdGlvbkJpbmRpbmcoKSB7XG5cdFx0XHRpZiAodGhpcy5maXJzdEFjdGlvblZOb2RlICYmIHRoaXMuZmlyc3RBY3Rpb25WTm9kZS5jb21wb25lbnRPcHRpb25zKSB7XG5cdFx0XHRcdGNvbnN0IHRhZyA9IHRoaXMuZmlyc3RBY3Rpb25WTm9kZS5jb21wb25lbnRPcHRpb25zLnRhZ1xuXHRcdFx0XHRpZiAodGFnID09PSAnQWN0aW9uTGluaycpIHtcblx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0aXM6ICdhJyxcblx0XHRcdFx0XHRcdGhyZWY6IHRoaXMuZmlyc3RBY3Rpb24uaHJlZixcblx0XHRcdFx0XHRcdHRhcmdldDogdGhpcy5maXJzdEFjdGlvbi50YXJnZXQsXG5cdFx0XHRcdFx0XHQnYXJpYS1sYWJlbCc6IHRoaXMuZmlyc3RBY3Rpb24uYXJpYUxhYmVsLFxuXHRcdFx0XHRcdFx0Li4udGhpcy5maXJzdEFjdGlvbi4kYXR0cnMsXG5cdFx0XHRcdFx0XHQuLi50aGlzLmZpcnN0QWN0aW9uLiRwcm9wcyxcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHRhZyA9PT0gJ0FjdGlvblJvdXRlcicpIHtcblx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0aXM6ICdyb3V0ZXItbGluaycsXG5cdFx0XHRcdFx0XHR0bzogdGhpcy5maXJzdEFjdGlvbi50byxcblx0XHRcdFx0XHRcdGV4YWN0OiB0aGlzLmZpcnN0QWN0aW9uLmV4YWN0LFxuXHRcdFx0XHRcdFx0J2FyaWEtbGFiZWwnOiB0aGlzLmZpcnN0QWN0aW9uLmFyaWFMYWJlbCxcblx0XHRcdFx0XHRcdC4uLnRoaXMuZmlyc3RBY3Rpb24uJGF0dHJzLFxuXHRcdFx0XHRcdFx0Li4udGhpcy5maXJzdEFjdGlvbi4kcHJvcHMsXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh0YWcgPT09ICdBY3Rpb25CdXR0b24nKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdGlzOiAnYnV0dG9uJyxcblx0XHRcdFx0XHRcdCdhcmlhLWxhYmVsJzogdGhpcy5maXJzdEFjdGlvbi5hcmlhTGFiZWwsXG5cdFx0XHRcdFx0XHQuLi50aGlzLmZpcnN0QWN0aW9uLiRhdHRycyxcblx0XHRcdFx0XHRcdC4uLnRoaXMuZmlyc3RBY3Rpb24uJHByb3BzLFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ly8gb3RoZXIgYWN0aW9uIHR5cGVzIGFyZSBub3QgYWxsb3dlZCBhcyBzdGFuZGFsb25lIGJ1dHRvbnNcblx0XHRcdHJldHVybiBudWxsXG5cdFx0fSxcblxuXHRcdC8vIHJldHVybiB0aGUgZXZlbnQgdG8gYmluZCBpZiB0aGUgZmlyc3RBY3Rpb25WTm9kZSBoYXZlIGFuIGFjdGlvblxuXHRcdGZpcnN0QWN0aW9uRXZlbnQoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5maXJzdEFjdGlvblZOb2RlPy5jb21wb25lbnRPcHRpb25zPy5saXN0ZW5lcnM/LmNsaWNrXG5cdFx0fSxcblx0XHRmaXJzdEFjdGlvbkV2ZW50QmluZGluZygpIHtcblx0XHRcdHJldHVybiB0aGlzLmZpcnN0QWN0aW9uRXZlbnQgPyAnY2xpY2snIDogbnVsbFxuXHRcdH0sXG5cdFx0Ly8gcmV0dXJuIHRoZSBmaXJzdCBhY3Rpb24gaWNvbiBzbG90IHZub2RlcyBhcnJheVxuXHRcdGZpcnN0QWN0aW9uSWNvblNsb3QoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5maXJzdEFjdGlvbj8uJHNsb3RzPy5pY29uXG5cdFx0fSxcblx0XHRmaXJzdEFjdGlvbkNsYXNzKCkge1xuXHRcdFx0Y29uc3Qgc3RhdGljQ2xhc3MgPSB0aGlzLmZpcnN0QWN0aW9uVk5vZGUgJiYgdGhpcy5maXJzdEFjdGlvblZOb2RlLmRhdGEuc3RhdGljQ2xhc3Ncblx0XHRcdGNvbnN0IGR5bkNsYXNzID0gdGhpcy5maXJzdEFjdGlvblZOb2RlICYmIHRoaXMuZmlyc3RBY3Rpb25WTm9kZS5kYXRhLmNsYXNzXG5cdFx0XHRyZXR1cm4gKHN0YXRpY0NsYXNzICsgJyAnICsgZHluQ2xhc3MpLnRyaW0oKVxuXHRcdH0sXG5cblx0XHRpY29uU2xvdElzUG9wdWxhdGVkKCkge1xuXHRcdFx0cmV0dXJuICEhdGhpcy4kc2xvdHMuaWNvblxuXHRcdH0sXG5cdH0sXG5cblx0d2F0Y2g6IHtcblx0XHQvLyBXYXRjaCBwYXJlbnQgcHJvcFxuXHRcdG9wZW4oc3RhdGUpIHtcblx0XHRcdGlmIChzdGF0ZSA9PT0gdGhpcy5vcGVuZWQpIHtcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cblx0XHRcdHRoaXMub3BlbmVkID0gc3RhdGVcblx0XHR9LFxuXHR9LFxuXHRiZWZvcmVNb3VudCgpIHtcblx0XHQvLyBpbml0IGFjdGlvbnNcblx0XHR0aGlzLmluaXRBY3Rpb25zKClcblxuXHRcdC8vIGZpbHRlciBpbnZhbGlkIG1lbnUgaXRlbXNcblx0XHRWYWxpZGF0ZVNsb3QodGhpcy4kc2xvdHMuZGVmYXVsdCwgYWxsb3dlZENoaWxkcmVuLCB0aGlzKVxuXHR9LFxuXHRiZWZvcmVVcGRhdGUoKSB7XG5cdFx0Ly8gISBzaW5jZSB3ZSdyZSB1c2luZyAkc2xvdHMgdG8gbWFuYWdlIG91ciBhY3Rpb25zXG5cdFx0Ly8gISB3ZSBORUVEIHRvIHVwZGF0ZSB0aGUgYWN0aW9ucyBpZiBhbnl0aGluZyBjaGFuZ2VcblxuXHRcdC8vIHVwZGF0ZSBjaGlsZHJlbiAmIGFjdGlvbnNcblx0XHQvLyBubyBuZWVkIHRvIGluaXQgYWN0aW9ucyBhZ2FpbiBzaW5jZSB3ZSBib3VuZCBpdCB0byAkY2hpbGRyZW5cblx0XHQvLyBhbmQgdGhlIGFycmF5IGlzIG5vdyByZWFjdGl2ZVxuXHRcdC8vIGluaXQgYWN0aW9uc1xuXHRcdHRoaXMuaW5pdEFjdGlvbnMoKVxuXHRcdFZhbGlkYXRlU2xvdCh0aGlzLiRzbG90cy5kZWZhdWx0LCBhbGxvd2VkQ2hpbGRyZW4sIHRoaXMpXG5cdH0sXG5cblx0bWV0aG9kczoge1xuXHRcdC8vIE1FTlUgU1RBVEUgTUFOQUdFTUVOVFxuXHRcdG9wZW5NZW51KGUpIHtcblx0XHRcdGlmICh0aGlzLm9wZW5lZCkge1xuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblxuXHRcdFx0dGhpcy5vcGVuZWQgPSB0cnVlXG5cblx0XHRcdC8qKlxuXHRcdFx0ICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBwb3BvdmVyIG1lbnUgb3BlbiBzdGF0ZSBpcyBjaGFuZ2VkXG5cdFx0XHQgKiBAdHlwZSB7Ym9vbGVhbn1cblx0XHRcdCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgndXBkYXRlOm9wZW4nLCB0cnVlKVxuXG5cdFx0XHQvKipcblx0XHRcdCAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgcG9wb3ZlciBtZW51IGlzIGNsb3NlZFxuXHRcdFx0ICovXG5cdFx0XHR0aGlzLiRlbWl0KCdvcGVuJylcblx0XHR9LFxuXHRcdGNsb3NlTWVudShlKSB7XG5cdFx0XHRpZiAoIXRoaXMub3BlbmVkKSB7XG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLm9wZW5lZCA9IGZhbHNlXG5cblx0XHRcdC8qKlxuXHRcdFx0ICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBwb3BvdmVyIG1lbnUgb3BlbiBzdGF0ZSBpcyBjaGFuZ2VkXG5cdFx0XHQgKiBAdHlwZSB7Ym9vbGVhbn1cblx0XHRcdCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgndXBkYXRlOm9wZW4nLCBmYWxzZSlcblxuXHRcdFx0LyoqXG5cdFx0XHQgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHBvcG92ZXIgbWVudSBpcyBjbG9zZWRcblx0XHRcdCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgnY2xvc2UnKVxuXG5cdFx0XHQvLyBjbG9zZSBldmVyeXRoaW5nXG5cdFx0XHR0aGlzLm9wZW5lZCA9IGZhbHNlXG5cdFx0XHR0aGlzLmZvY3VzSW5kZXggPSAwXG5cblx0XHRcdC8vIGZvY3VzIGJhY2sgdGhlIG1lbnUgYnV0dG9uXG5cdFx0XHR0aGlzLiRyZWZzLm1lbnVCdXR0b24uZm9jdXMoKVxuXHRcdH0sXG5cblx0XHRvbk9wZW4oZXZlbnQpIHtcblx0XHRcdHRoaXMuJG5leHRUaWNrKCgpID0+IHtcblx0XHRcdFx0dGhpcy5mb2N1c0ZpcnN0QWN0aW9uKGV2ZW50KVxuXHRcdFx0fSlcblx0XHR9LFxuXG5cdFx0Ly8gTUVOVSBLRVlTICYgRk9DVVMgTUFOQUdFTUVOVFxuXHRcdC8vIGZvY3VzIG5lYXJlc3QgZm9jdXNhYmxlIGl0ZW0gb24gbW91c2UgbW92ZVxuXHRcdC8vIERPIE5PVCBjaGFuZ2UgdGhlIGZvY3VzIGlmIHRoZSB0YXJnZXQgaXMgYWxyZWFkeSBmb2N1c2VkXG5cdFx0Ly8gdGhpcyB3aWxsIHByZXZlbnQgaXNzdWVzIHdpdGggaW5wdXQgYmVpbmcgdW5mb2N1c2VkXG5cdFx0Ly8gb24gbW91c2UgbW92ZVxuXHRcdG9uTW91c2VGb2N1c0FjdGlvbihldmVudCkge1xuXHRcdFx0aWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGV2ZW50LnRhcmdldCkge1xuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgbWVudUl0ZW0gPSBldmVudC50YXJnZXQuY2xvc2VzdCgnbGknKVxuXHRcdFx0aWYgKG1lbnVJdGVtKSB7XG5cdFx0XHRcdGNvbnN0IGZvY3VzYWJsZUl0ZW0gPSBtZW51SXRlbS5xdWVyeVNlbGVjdG9yKGZvY3VzYWJsZVNlbGVjdG9yKVxuXHRcdFx0XHRpZiAoZm9jdXNhYmxlSXRlbSkge1xuXHRcdFx0XHRcdGNvbnN0IGZvY3VzTGlzdCA9IHRoaXMuJHJlZnMubWVudS5xdWVyeVNlbGVjdG9yQWxsKGZvY3VzYWJsZVNlbGVjdG9yKVxuXHRcdFx0XHRcdGNvbnN0IGZvY3VzSW5kZXggPSBbLi4uZm9jdXNMaXN0XS5pbmRleE9mKGZvY3VzYWJsZUl0ZW0pXG5cdFx0XHRcdFx0aWYgKGZvY3VzSW5kZXggPiAtMSkge1xuXHRcdFx0XHRcdFx0dGhpcy5mb2N1c0luZGV4ID0gZm9jdXNJbmRleFxuXHRcdFx0XHRcdFx0dGhpcy5mb2N1c0FjdGlvbigpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRyZW1vdmVDdXJyZW50QWN0aXZlKCkge1xuXHRcdFx0Y29uc3QgY3VycmVudEFjdGl2ZUVsZW1lbnQgPSB0aGlzLiRyZWZzLm1lbnUucXVlcnlTZWxlY3RvcignbGkuYWN0aXZlJylcblx0XHRcdGlmIChjdXJyZW50QWN0aXZlRWxlbWVudCkge1xuXHRcdFx0XHRjdXJyZW50QWN0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Zm9jdXNBY3Rpb24oKSB7XG5cdFx0XHQvLyBUT0RPOiBoYXZlIGEgZ2xvYmFsIGRpc2FibGVkIHN0YXRlIGZvciBub24gaW5wdXQgZWxlbWVudHNcblx0XHRcdGNvbnN0IGZvY3VzRWxlbWVudCA9IHRoaXMuJHJlZnMubWVudS5xdWVyeVNlbGVjdG9yQWxsKGZvY3VzYWJsZVNlbGVjdG9yKVt0aGlzLmZvY3VzSW5kZXhdXG5cdFx0XHRpZiAoZm9jdXNFbGVtZW50KSB7XG5cdFx0XHRcdHRoaXMucmVtb3ZlQ3VycmVudEFjdGl2ZSgpXG5cdFx0XHRcdGNvbnN0IGxpTWVudVBhcmVudCA9IGZvY3VzRWxlbWVudC5jbG9zZXN0KCdsaS5hY3Rpb24nKVxuXHRcdFx0XHRmb2N1c0VsZW1lbnQuZm9jdXMoKVxuXHRcdFx0XHRpZiAobGlNZW51UGFyZW50KSB7XG5cdFx0XHRcdFx0bGlNZW51UGFyZW50LmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHRcdGZvY3VzUHJldmlvdXNBY3Rpb24oZXZlbnQpIHtcblx0XHRcdGlmICh0aGlzLm9wZW5lZCkge1xuXHRcdFx0XHRpZiAodGhpcy5mb2N1c0luZGV4ID09PSAwKSB7XG5cdFx0XHRcdFx0Ly8gRmlyc3QgZWxlbWVudCBvdmVyZmxvd3MgdG8gYm9keS1uYXZpZ2F0aW9uIChubyBwcmV2ZW50RGVmYXVsdCEpIGFuZCBjbG9zZXMgQWN0aW9ucy1tZW51XG5cdFx0XHRcdFx0dGhpcy5jbG9zZU1lbnUoKVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMucHJldmVudElmRXZlbnQoZXZlbnQpXG5cdFx0XHRcdFx0dGhpcy5mb2N1c0luZGV4ID0gdGhpcy5mb2N1c0luZGV4IC0gMVxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuZm9jdXNBY3Rpb24oKVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Zm9jdXNOZXh0QWN0aW9uKGV2ZW50KSB7XG5cdFx0XHRpZiAodGhpcy5vcGVuZWQpIHtcblx0XHRcdFx0Y29uc3QgaW5kZXhMZW5ndGggPSB0aGlzLiRyZWZzLm1lbnUucXVlcnlTZWxlY3RvckFsbChmb2N1c2FibGVTZWxlY3RvcikubGVuZ3RoIC0gMVxuXHRcdFx0XHRpZiAodGhpcy5mb2N1c0luZGV4ID09PSBpbmRleExlbmd0aCkge1xuXHRcdFx0XHRcdC8vIExhc3QgZWxlbWVudCBvdmVyZmxvd3MgdG8gYm9keS1uYXZpZ2F0aW9uIChubyBwcmV2ZW50RGVmYXVsdCEpIGFuZCBjbG9zZXMgQWN0aW9ucy1tZW51XG5cdFx0XHRcdFx0dGhpcy5jbG9zZU1lbnUoKVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMucHJldmVudElmRXZlbnQoZXZlbnQpXG5cdFx0XHRcdFx0dGhpcy5mb2N1c0luZGV4ID0gdGhpcy5mb2N1c0luZGV4ICsgMVxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuZm9jdXNBY3Rpb24oKVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Zm9jdXNGaXJzdEFjdGlvbihldmVudCkge1xuXHRcdFx0aWYgKHRoaXMub3BlbmVkKSB7XG5cdFx0XHRcdHRoaXMucHJldmVudElmRXZlbnQoZXZlbnQpXG5cdFx0XHRcdHRoaXMuZm9jdXNJbmRleCA9IDBcblx0XHRcdFx0dGhpcy5mb2N1c0FjdGlvbigpXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRmb2N1c0xhc3RBY3Rpb24oZXZlbnQpIHtcblx0XHRcdGlmICh0aGlzLm9wZW5lZCkge1xuXHRcdFx0XHR0aGlzLnByZXZlbnRJZkV2ZW50KGV2ZW50KVxuXHRcdFx0XHR0aGlzLmZvY3VzSW5kZXggPSB0aGlzLiRlbC5xdWVyeVNlbGVjdG9yQWxsKGZvY3VzYWJsZVNlbGVjdG9yKS5sZW5ndGggLSAxXG5cdFx0XHRcdHRoaXMuZm9jdXNBY3Rpb24oKVxuXHRcdFx0fVxuXHRcdH0sXG5cblx0XHRwcmV2ZW50SWZFdmVudChldmVudCkge1xuXHRcdFx0aWYgKGV2ZW50KSB7XG5cdFx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KClcblx0XHRcdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcblx0XHRcdH1cblx0XHR9LFxuXG5cdFx0Ly8gQUNUSU9OUyBNQU5BR0VNRU5UXG5cdFx0Ly8gZXhlYyB0aGUgZmlyc3QgYWN0aW9uXG5cdFx0ZXhlY0ZpcnN0QWN0aW9uKGV2ZW50KSB7XG5cdFx0XHRpZiAodGhpcy5maXJzdEFjdGlvbkV2ZW50KSB7XG5cdFx0XHRcdHRoaXMuZmlyc3RBY3Rpb25FdmVudChldmVudClcblx0XHRcdH1cblx0XHR9LFxuXHRcdGluaXRBY3Rpb25zKCkge1xuXHRcdFx0Ly8gZmlsdGVyIG91dCBpbnZhbGlkIHNsb3RzXG5cdFx0XHR0aGlzLmFjdGlvbnMgPSAodGhpcy4kc2xvdHMuZGVmYXVsdCB8fCBbXSkuZmlsdGVyKG5vZGUgPT4gISFub2RlICYmICEhbm9kZS5jb21wb25lbnRPcHRpb25zKVxuXHRcdH0sXG5cdFx0b25Gb2N1cyhldmVudCkge1xuXHRcdFx0dGhpcy4kZW1pdCgnZm9jdXMnLCBldmVudClcblx0XHR9LFxuXHRcdG9uQmx1cihldmVudCkge1xuXHRcdFx0dGhpcy4kZW1pdCgnYmx1cicsIGV2ZW50KVxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuQGltcG9ydCAnLi4vLi4vZm9udHMvc2Nzcy9pY29uZm9udC12dWUnO1xuXG4uYWN0aW9uLWl0ZW0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHQvLyBwdXQgYSBncmV5IHJvdW5kIGJhY2tncm91bmQgd2hlbiBtZW51IGlzIG9wZW5lZFxuXHQvLyBvciBob3Zlci1mb2N1c2VkXG5cdCYtLXNpbmdsZTpob3Zlcixcblx0Ji0tc2luZ2xlOmZvY3VzLFxuXHQmLS1zaW5nbGU6YWN0aXZlLFxuXHQmX19tZW51dG9nZ2xlOmhvdmVyLFxuXHQmX19tZW51dG9nZ2xlOmZvY3VzLFxuXHQmX19tZW51dG9nZ2xlOmFjdGl2ZSB7XG5cdFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcblx0XHQvLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1mb2N1cy1iZztcblx0fVxuXG5cdC8vIFRPRE86IGhhbmRsZSB0aGlzIGluIHRoZSBmdXR1cmUgYnV0dG9uIGNvbXBvbmVudFxuXHQmX19tZW51dG9nZ2xlOmRpc2FibGVkLFxuXHQmLS1zaW5nbGU6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IC4zICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmLmFjdGlvbi1pdGVtLS1vcGVuIC5hY3Rpb24taXRlbV9fbWVudXRvZ2dsZSB7XG5cdFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aW9uLWJhY2tncm91bmQtaG92ZXI7XG5cdH1cblxuXHQvLyBpY29uc1xuXHQmLS1zaW5nbGUsXG5cdCZfX21lbnV0b2dnbGUge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0bWluLXdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XG5cdFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6ICRpY29uLW1hcmdpbjtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRjbGlja2FibGUtYXJlYSAvIDI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cblxuXHQvLyBpY29uLW1vcmVcblx0Jl9fbWVudXRvZ2dsZSB7XG5cdFx0Ly8gYWxpZ24gbWVudSBpY29uIGluIGNlbnRlclxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0bGluZS1oZWlnaHQ6ICRpY29uLXNpemU7XG5cblx0XHQvLyBpbWFnZSBzbG90XG5cdFx0L2RlZXAvIHNwYW4ge1xuXHRcdFx0d2lkdGg6ICRpY29uLXNpemU7XG5cdFx0XHRoZWlnaHQ6ICRpY29uLXNpemU7XG5cdFx0XHRsaW5lLWhlaWdodDogJGljb24tc2l6ZTtcblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHR9XG5cblx0XHQmLS1kZWZhdWx0LWljb24ge1xuXHRcdFx0QGluY2x1ZGUgaWNvbmZvbnQoJ21vcmUnKTtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLS13aXRoLXRpdGxlIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHBhZGRpbmctbGVmdDogJGNsaWNrYWJsZS1hcmVhO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XG5cdFx0XHQvLyB3aXRoIGEgdGl0bGUsIHdlIG5lZWQgdG8gZGlzcGxheSB0aGlzIGFzIGEgcmVhbCBidXR0b25cblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaWNvbi1tYXJnaW4gY2VudGVyO1xuXHRcdFx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRcdFx0Ly8gbm9uLWJhY2tncm91bmQgaWNvbiBjbGFzc1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogJGljb24tbWFyZ2luO1xuXHRcdFx0XHRsZWZ0OiAkaWNvbi1tYXJnaW47XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji0tcHJpbWFyeSB7XG5cdFx0XHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCk7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xuXHRcdFx0LmFjdGlvbi1pdGVtLS1vcGVuICYsXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyxcblx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCkgIWltcG9ydGFudDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50LWxpZ2h0KSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYtLXNpbmdsZSB7XG5cdFx0b3BhY2l0eTogJG9wYWNpdHlfbm9ybWFsO1xuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xuXHRcdH1cblx0XHQvLyBoaWRlIGFueXRoaW5nIHRoZSBzbG90IGlzIGRpc3BsYXlpbmdcblx0XHQmID4gW2hpZGRlbl0ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLmllLFxuLmVkZ2Uge1xuXHQuYWN0aW9uLWl0ZW1fX21lbnUsXG5cdC5hY3Rpb24taXRlbV9fbWVudSAuYWN0aW9uLWl0ZW1fX21lbnVfYXJyb3cge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG5cdH1cbn1cblxuPC9zdHlsZT5cbiIsIjwhLS1cbiAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAtXG4gLSBAYXV0aG9yIENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAtIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuIC1cbiAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuIC1cbiAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuIC1cbiAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuIC1cbiAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAtXG4gLS0+XG5cbjx0ZW1wbGF0ZT5cblx0PG1haW4gaWQ9XCJhcHAtY29udGVudC12dWVcIiBjbGFzcz1cImFwcC1jb250ZW50IG5vLXNuYXBwZXJcIj5cblx0XHQ8IS0tIEBzbG90IFByb3ZpZGUgY29udGVudCB0byB0aGUgYXBwIGNvbnRlbnQgLS0+XG5cdFx0PHNsb3QgLz5cblx0PC9tYWluPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBIYW1tZXIgZnJvbSAnaGFtbWVyanMnXG5pbXBvcnQgeyBlbWl0IH0gZnJvbSAnQG5leHRjbG91ZC9ldmVudC1idXMnXG5cbi8qKlxuICogQXBwIGNvbnRlbnQgY29udGFpbmVyIHRvIGJlIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgeW91ciBhcHBcbiAqXG4gKi9cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0FwcENvbnRlbnQnLFxuXG5cdHByb3BzOiB7XG5cdFx0Ly8gQWxsb3dzIHRvIGRpc2FibGUgdGhlIGNvbnRyb2wgYnkgc3dpcGUgb2YgdGhlIGFwcCBuYXZpZ2F0aW9uIG9wZW4gc3RhdGVcblx0XHRhbGxvd1N3aXBlTmF2aWdhdGlvbjoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IHRydWUsXG5cdFx0fSxcblx0fSxcblxuXHRtb3VudGVkKCkge1xuXHRcdGlmICh0aGlzLmFsbG93U3dpcGVOYXZpZ2F0aW9uKSB7XG5cdFx0XHR0aGlzLm1jID0gbmV3IEhhbW1lcih0aGlzLiRlbCwgeyBjc3NQcm9wczogeyB1c2VyU2VsZWN0OiAndGV4dCcgfSB9KVxuXHRcdFx0dGhpcy5tYy5vbignc3dpcGVsZWZ0IHN3aXBlcmlnaHQnLCB0aGlzLmhhbmRsZVN3aXBlKVxuXHRcdH1cblx0fSxcblx0YmVmb3JlRGVzdHJveSgpIHtcblx0XHR0aGlzLm1jLm9mZignc3dpcGVsZWZ0IHN3aXBlcmlnaHQnLCB0aGlzLmhhbmRsZVN3aXBlKVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0Ly8gaGFuZGxlIHRoZSBzd2lwZSBldmVudFxuXHRcdGhhbmRsZVN3aXBlKGUpIHtcblx0XHRcdGNvbnN0IG1pblN3aXBlWCA9IDcwXG5cdFx0XHRjb25zdCB0b3VjaHpvbmUgPSA0MFxuXHRcdFx0Y29uc3Qgc3RhcnRYID0gZS5zcmNFdmVudC5wYWdlWCAtIGUuZGVsdGFYXG5cdFx0XHRjb25zdCBoYXNFbm91Z2hEaXN0YW5jZSA9IE1hdGguYWJzKGUuZGVsdGFYKSA+IG1pblN3aXBlWFxuXHRcdFx0aWYgKGhhc0Vub3VnaERpc3RhbmNlICYmIHN0YXJ0WCA8IHRvdWNoem9uZSkge1xuXHRcdFx0XHRlbWl0KCd0b2dnbGUtbmF2aWdhdGlvbicsIHtcblx0XHRcdFx0XHRvcGVuOiB0cnVlLFxuXHRcdFx0XHR9KVxuXHRcdFx0fSBlbHNlIGlmIChoYXNFbm91Z2hEaXN0YW5jZSAmJiBzdGFydFggPCB0b3VjaHpvbmUgKyAzMDApIHtcblx0XHRcdFx0ZW1pdCgndG9nZ2xlLW5hdmlnYXRpb24nLCB7XG5cdFx0XHRcdFx0b3BlbjogZmFsc2UsXG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fSxcblx0fSxcbn1cbjwvc2NyaXB0PlxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuXG4uYXBwLWNvbnRlbnQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDEwMDA7XG5cdGZsZXgtYmFzaXM6IDEwMHZ3O1xuXHRtaW4td2lkdGg6IDA7XG5cdG1pbi1oZWlnaHQ6IDEwMCU7XG5cdC8vIE92ZXJyaWRpbmcgc2VydmVyIHN0eWxlcyBUT0RPOiBjbGVhbnVwIVxuXHRtYXJnaW46IDAgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcbn1cblxuPC9zdHlsZT5cbiIsIjwhLS1cbiAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAtXG4gLSBAYXV0aG9yIENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAtXG4gLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAtXG4gLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gLVxuIC0tPlxuXG48dGVtcGxhdGU+XG5cdDxkaXYgY2xhc3M9XCJhcHAtY29udGVudC1kZXRhaWxzXCI+XG5cdFx0PCEtLSBAc2xvdCBQcm92aWRlIGNvbnRlbnQgdG8gdGhlIGRldGFpbHMgdmlldyAtLT5cblx0XHQ8c2xvdCAvPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdBcHBDb250ZW50RGV0YWlscycsXG59XG48L3NjcmlwdD5cbiIsIjwhLS1cbiAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAtXG4gLSBAYXV0aG9yIENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAtXG4gLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAtXG4gLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gLVxuIC0tPlxuXG48dGVtcGxhdGU+XG5cdDxkaXYgY2xhc3M9XCJhcHAtY29udGVudC1saXN0XCJcblx0XHQ6Y2xhc3M9XCJ7c2VsZWN0aW9uLCBzaG93ZGV0YWlsczogc2hvd0RldGFpbHN9XCI+XG5cdFx0PHNsb3QgLz5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnQXBwQ29udGVudExpc3QnLFxuXHRwcm9wczoge1xuXHRcdHNlbGVjdGlvbjoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0c2hvd0RldGFpbHM6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG4iLCI8IS0tXG4gLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBDaHJpc3RvcGggV3Vyc3QgPGNocmlzdG9waEB3aW56ZXJob2Ytd3Vyc3QuYXQ+XG4gLVxuIC0gQGF1dGhvciBDaHJpc3RvcGggV3Vyc3QgPGNocmlzdG9waEB3aW56ZXJob2Ytd3Vyc3QuYXQ+XG4gLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAtIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAtXG4gLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAtXG4gLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gLVxuIC0tPlxuPGRvY3M+XG5UaGUgbmF2aWdhdGlvbiBiYXIgY2FuIGJlIG9wZW4gYW5kIGNsb3NlZCBmcm9tIGFueXdoZXJlIGluIHRoZSBhcHAgdXNpbmcgdGhlXG5uZXh0Y2xvdWQgZXZlbnQgYnVzLlxuXG4jIyMgSW5zdGFsbCB0aGUgZXZlbnQgYnVzIHBhY2thZ2VcblxuYGBgYmFzaFxubnBtIGkgLVMgQG5leHRjbG91ZC9ldmVudC1idXNcbmBgYFxuXG4jIyMgVXNhZ2VcblxuIyMjIyBPcGVuIHRoZSBuYXZpZ2F0aW9uXG5cbmBgYGpzIHN0YXRpY1xuaW1wb3J0IHsgZW1pdCB9IGZyb20gJ0BuZXh0Y2xvdWQvZXZlbnQtYnVzJ1xuZW1pdCgndG9nZ2xlLW5hdmlnYXRpb24nLCB7XG5cdG9wZW46IHRydWUsXG59KVxuYGBgXG5cbiMjIyMgQ2xvc2UgdGhlIG5hdmlnYXRpb25cblxuYGBganMgc3RhdGljXG5pbXBvcnQgeyBlbWl0IH0gZnJvbSAnQG5leHRjbG91ZC9ldmVudC1idXMnXG5lbWl0KCd0b2dnbGUtbmF2aWdhdGlvbicsIHtcblx0b3BlbjogZmFsc2UsXG59KVxuYGBgXG5cbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8ZGl2XG5cdFx0aWQ9XCJhcHAtbmF2aWdhdGlvbi12dWVcIlxuXHRcdGNsYXNzPVwiYXBwLW5hdmlnYXRpb25cIlxuXHRcdHJvbGU9XCJuYXZpZ2F0aW9uXCJcblx0XHQ6Y2xhc3M9XCJ7J2FwcC1uYXZpZ2F0aW9uLS1jbG9zZSc6IW9wZW4gfVwiPlxuXHRcdDxBcHBOYXZpZ2F0aW9uVG9nZ2xlIDpvcGVuPVwib3BlblwiIEB1cGRhdGU6b3Blbj1cInRvZ2dsZU5hdmlnYXRpb25cIiAvPlxuXHRcdDxzbG90IC8+XG5cblx0XHQ8IS0tIExpc3QgZm9yIE5hdmlnYXRpb24gbGktaXRlbXMgLS0+XG5cdFx0PHVsIGNsYXNzPVwiYXBwLW5hdmlnYXRpb25fX2xpc3RcIj5cblx0XHRcdDxzbG90IG5hbWU9XCJsaXN0XCIgLz5cblx0XHQ8L3VsPlxuXG5cdFx0PCEtLSBGb290ZXIgZm9yIGUuZy4gQXBwTmF2aWdhdGlvblNldHRpbmdzIC0tPlxuXHRcdDxzbG90IG5hbWU9XCJmb290ZXJcIiAvPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgeyBlbWl0LCBzdWJzY3JpYmUsIHVuc3Vic2NyaWJlIH0gZnJvbSAnQG5leHRjbG91ZC9ldmVudC1idXMnXG5pbXBvcnQgQXBwTmF2aWdhdGlvblRvZ2dsZSBmcm9tICcuLi9BcHBOYXZpZ2F0aW9uVG9nZ2xlL0FwcE5hdmlnYXRpb25Ub2dnbGUnXG5pbXBvcnQgaXNNb2JpbGUgZnJvbSAnLi4vLi4vbWl4aW5zL2lzTW9iaWxlJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdBcHBOYXZpZ2F0aW9uJyxcblxuXHRjb21wb25lbnRzOiB7XG5cdFx0QXBwTmF2aWdhdGlvblRvZ2dsZSxcblx0fSxcblxuXHRtaXhpbnM6IFtpc01vYmlsZV0sXG5cblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0b3BlbjogdHJ1ZSxcblx0XHR9XG5cdH0sXG5cblx0d2F0Y2g6IHtcblx0XHRpc01vYmlsZSgpIHtcblx0XHRcdHRoaXMub3BlbiA9ICF0aGlzLmlzTW9iaWxlXG5cdFx0fSxcblx0fSxcblxuXHRtb3VudGVkKCkge1xuXHRcdHN1YnNjcmliZSgndG9nZ2xlLW5hdmlnYXRpb24nLCB0aGlzLnRvZ2dsZU5hdmlnYXRpb25CeUV2ZW50QnVzKVxuXHRcdC8vIEVtaXQgYW4gZXZlbnQgd2l0aCB0aGUgaW5pdGlhbCBzdGF0ZSBvZiB0aGUgbmF2aWdhdGlvblxuXHRcdGVtaXQoJ25hdmlnYXRpb24tdG9nZ2xlZCcsIHtcblx0XHRcdG9wZW46IHRoaXMub3Blbixcblx0XHR9KVxuXHR9LFxuXHR1bm1vdW50ZWQoKSB7XG5cdFx0dGhpcy5tYy5vZmYoJ3N3aXBlbGVmdCBzd2lwZXJpZ2h0Jylcblx0XHR0aGlzLm1jLmRlc3Ryb3koKVxuXHRcdHVuc3Vic2NyaWJlKCd0b2dnbGUtbmF2aWdhdGlvbicsIHRoaXMudG9nZ2xlTmF2aWdhdGlvbkJ5RXZlbnRCdXMpXG5cdH0sXG5cblx0bWV0aG9kczoge1xuXHRcdC8qKlxuXHRcdCAqIFRvZ2dsZSB0aGUgbmF2aWdhdGlvblxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtCb29sZWFufSBbc3RhdGVdIHNldCB0aGUgc3RhdGUgaW5zdGVhZCBvZiBpbnZlcnRpbmcgdGhlIGN1cnJlbnQgb25lXG5cdFx0ICovXG5cdFx0dG9nZ2xlTmF2aWdhdGlvbihzdGF0ZSkge1xuXHRcdFx0dGhpcy5vcGVuID0gKHR5cGVvZiBzdGF0ZSA9PT0gJ3VuZGVmaW5lZCcpID8gIXRoaXMub3BlbiA6IHN0YXRlXG5cdFx0XHRjb25zdCBib2R5U3R5bGVzID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KVxuXHRcdFx0Y29uc3QgYW5pbWF0aW9uTGVuZ3RoID0gcGFyc2VJbnQoYm9keVN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCctLWFuaW1hdGlvbi1xdWljaycpKSB8fCAxMDBcblxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdGVtaXQoJ25hdmlnYXRpb24tdG9nZ2xlZCcsIHtcblx0XHRcdFx0XHRvcGVuOiB0aGlzLm9wZW4sXG5cdFx0XHRcdH0pXG5cdFx0XHQvLyBXZSB3YWl0IGZvciAxLjUgdGltZXMgdGhlIGFuaW1hdGlvbiBsZW5ndGggdG8gZ2l2ZSB0aGUgYW5pbWF0aW9uIHRpbWUgdG8gcmVhbGx5IGZpbmlzaC5cblx0XHRcdH0sIDEuNSAqIGFuaW1hdGlvbkxlbmd0aClcblx0XHR9LFxuXHRcdHRvZ2dsZU5hdmlnYXRpb25CeUV2ZW50QnVzKHsgb3BlbiB9KSB7XG5cdFx0XHR0aGlzLnRvZ2dsZU5hdmlnYXRpb24ob3Blbilcblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cblxuLmFwcC1uYXZpZ2F0aW9uIHtcblx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbi1xdWljayksIG1hcmdpbiB2YXIoLS1hbmltYXRpb24tcXVpY2spO1xuXHR3aWR0aDogJG5hdmlnYXRpb24td2lkdGg7XG5cdHBvc2l0aW9uOiBzdGlja3k7XG5cdHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcblx0dG9wOiAkaGVhZGVyLWhlaWdodDtcblx0bGVmdDogMDtcblx0Ly8gQWJvdmUgYXBwY29udGVudFxuXHR6LWluZGV4OiAxODAwO1xuXHRoZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRoZWFkZXItaGVpZ2h0fSk7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGZsZXgtZ3JvdzogMDtcblx0ZmxleC1zaHJpbms6IDA7XG5cblx0Ji0tY2xvc2Uge1xuXHRcdG1hcmdpbi1sZWZ0OiAtICRuYXZpZ2F0aW9uLXdpZHRoO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG5cdH1cblxuXHQvL2xpc3Qgb2YgbmF2aWdhdGlvbiBpdGVtc1xuXHR1bCxcblx0Jl9fbGlzdCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogaW5oZXJpdDtcblx0XHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxufVxuXG4vLyBXaGVuIG9uIG1vYmlsZSwgd2UgbWFrZSB0aGUgbmF2aWdhdGlvbiBzbGlkZSBvdmVyIHRoZSBhcHBjb250ZW50XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuXHQuYXBwLW5hdmlnYXRpb246bm90KC5hcHAtbmF2aWdhdGlvbi0tY2xvc2UpIHtcblx0XHRtYXJnaW4tbGVmdDogLSAkbmF2aWdhdGlvbi13aWR0aDtcblx0fVxufVxuXG48L3N0eWxlPlxuIiwiPHRlbXBsYXRlPlxuXHQ8bGkgY2xhc3M9XCJhcHAtbmF2aWdhdGlvbi1jYXB0aW9uXCI+XG5cdFx0e3sgdGl0bGUgfX1cblx0PC9saT5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0FwcE5hdmlnYXRpb25DYXB0aW9uJyxcblx0cHJvcHM6IHtcblx0XHR0aXRsZToge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblx0fSxcbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4uYXBwLW5hdmlnYXRpb24tY2FwdGlvbiB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tYXhjb250cmFzdCk7XG5cdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XG5cdHBhZGRpbmctbGVmdDogJGNsaWNrYWJsZS1hcmVhO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0b3BhY2l0eTogMC43O1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdG9yZGVyOiAxO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLy8gZXh0cmEgdG9wIHNwYWNlIGlmIGl0J3Mgbm90IHRoZSBmaXJzdCBpdGVtIG9uIHRoZSBsaXN0XG4uYXBwLW5hdmlnYXRpb24tY2FwdGlvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdG1hcmdpbi10b3A6ICRjbGlja2FibGUtYXJlYSAvIDI7XG59XG48L3N0eWxlPlxuIiwiPCEtLVxuIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAtXG4gLSBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XG4gLVxuIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gLVxuIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gLVxuIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAtXG4gLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gLVxuIC0tPlxuXG4gPGRvY3M+XG5cbiMjIyBOb3JtYWwgQ291bnRlclxuXG5gYGBcbjxBcHBOYXZpZ2F0aW9uQ291bnRlcj4zMTQrPC9BcHBOYXZpZ2F0aW9uQ291bnRlcj5cbmBgYFxuXG4jIyMgSGlnaGxpZ2h0ZWQgQ291bnRlciAoaS5lLiBtZW50aW9ucylcblxuYGBgXG48QXBwTmF2aWdhdGlvbkNvdW50ZXIgOmhpZ2hsaWdodGVkPVwidHJ1ZVwiPkBhZG1pbjwvQXBwTmF2aWdhdGlvbkNvdW50ZXI+XG48QXBwTmF2aWdhdGlvbkNvdW50ZXIgOmhpZ2hsaWdodGVkPVwidHJ1ZVwiPjMxNCs8L0FwcE5hdmlnYXRpb25Db3VudGVyPlxuYGBgXG5cbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8ZGl2IDpjbGFzcz1cInsgJ2FwcC1uYXZpZ2F0aW9uLWVudHJ5X19jb3VudGVyLS1oaWdobGlnaHRlZCc6IGhpZ2hsaWdodGVkIH1cIlxuXHRcdGNsYXNzPVwiYXBwLW5hdmlnYXRpb24tZW50cnlfX2NvdW50ZXJcIj5cblx0XHQ8c2xvdCAvPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0FwcE5hdmlnYXRpb25Db3VudGVyJyxcblxuXHRwcm9wczoge1xuXHRcdGhpZ2hsaWdodGVkOiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblx0fSxcbn1cblxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9fY291bnRlciB7XG5cdGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1kZWZhdWx0LWZvbnQtc2l6ZSkgKiAuOCk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHdpZHRoOiBmaXQtY29udGVudDtcblx0bWF4LXdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdGxpbmUtaGVpZ2h0OiAxZW07XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTtcblxuXHQmLS1oaWdobGlnaHRlZCB7XG5cdFx0cGFkZGluZzogNHB4IDZweDtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblx0fVxufVxuXG48L3N0eWxlPlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48ZG9jcz5cbiMjIyBCdWxsZXRcblRoaXMgY29tcG9uZW50IGlzIG1hZGUgdG8gYmUgdXNlZCBpbnNpZGUgb2YgdGhlIFtBcHBOYXZpZ2F0aW9uSXRlbV0oI0FwcE5hdmlnYXRpb25JdGVtKSBjb21wb25lbnQgc2xvdDogYGljb25gLlxuXG5gYGBcbjxBcHBOYXZpZ2F0aW9uSWNvbkJ1bGxldCBzbG90PVwiaWNvblwiIGNvbG9yPVwiMDA4MmM5XCIgLz5cbjxBcHBOYXZpZ2F0aW9uSWNvbkJ1bGxldCBzbG90PVwiaWNvblwiIGNvbG9yPVwiIzAwODJjOVwiIC8+XG5cbmBgYFxuXG4jIyMgQXBwTmF2aWdhdGlvbkl0ZW0gZXhhbXBsZVxuYGBgXG48QXBwTmF2aWdhdGlvbkl0ZW0gIHRpdGxlPVwiRW50cnkgMlwiIDpwaW5uZWQ9XCJ0cnVlXCI+XG5cdDxBcHBOYXZpZ2F0aW9uSWNvbkJ1bGxldCBzbG90PVwiaWNvblwiIGNvbG9yPVwiMDA4MmM5XCIgLz5cbjwvQXBwTmF2aWdhdGlvbkl0ZW0+XG5gYGBcbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8ZGl2IGNsYXNzPVwiYXBwLW5hdmlnYXRpb24tZW50cnlfX2ljb24tYnVsbGV0XCIgQGNsaWNrPVwib25DbGlja1wiPlxuXHRcdDxkaXYgOnN0eWxlPVwieyBiYWNrZ3JvdW5kQ29sb3I6IGZvcm1hdHRlZENvbG9yIH1cIiAvPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdBcHBOYXZpZ2F0aW9uSWNvbkJ1bGxldCcsXG5cblx0cHJvcHM6IHtcblx0XHRjb2xvcjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0XHR2YWxpZGF0b3IoY29sb3IpIHtcblx0XHRcdFx0Ly8gIzAwMCwgMDAwLCAjMDA4MmM5IGFuZCAwMDgyYzlcblx0XHRcdFx0cmV0dXJuIC9eIz8oWzAtOUEtRl17M30pezEsMn0kL2kudGVzdChjb2xvcilcblx0XHRcdH0sXG5cdFx0fSxcblx0fSxcblxuXHRjb21wdXRlZDoge1xuXHRcdGZvcm1hdHRlZENvbG9yKCkge1xuXHRcdFx0aWYgKHRoaXMuY29sb3Iuc3RhcnRzV2l0aCgnIycpKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLmNvbG9yXG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gJyMnICsgdGhpcy5jb2xvclxuXHRcdH0sXG5cdH0sXG5cblx0bWV0aG9kczoge1xuXHRcdG9uQ2xpY2soZSkge1xuXHRcdFx0dGhpcy4kZW1pdCgnY2xpY2snLCBlKVxuXHRcdH0sXG5cdH0sXG5cbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4uYXBwLW5hdmlnYXRpb24tZW50cnlfX2ljb24tYnVsbGV0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdC8vIHRoZXJlIGlzIDIgbWFyZ2luc1xuXHRwYWRkaW5nOiAkaWNvbi1tYXJnaW4gKyAxcHg7XG5cdGRpdiB7XG5cdFx0d2lkdGg6ICRpY29uLXNpemUgLSAycHg7XG5cdFx0aGVpZ2h0OiAkaWNvbi1zaXplIC0gMnB4O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEwMG1zIGVhc2UtaW4tb3V0O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdH1cbn1cblxuPC9zdHlsZT5cbiIsIjwhLS1cbiAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XG4gLVxuIC0gQGF1dGhvciBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxuIC1cbiAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuIC1cbiAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuIC1cbiAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gLVxuIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuIC1cbiAtLT5cblxuPHRlbXBsYXRlPlxuXHQ8IS0tIEJ1dHRvbiB0byBleHBhbmQgb3IgY29sbGFwc2UgY2hpbGRyZW4gLS0+XG5cdDxidXR0b25cblx0XHRjbGFzcz1cImljb24tY29sbGFwc2VcIlxuXHRcdDpjbGFzcz1cInsnaWNvbi1jb2xsYXBzZS0tcm90YXRlZCc6b3Blbn1cIlxuXHRcdEBjbGljaz1cIm9uQ2xpY2tcIiAvPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0FwcE5hdmlnYXRpb25JY29uQ29sbGFwc2libGUnLFxuXG5cdHByb3BzOiB7XG5cdFx0b3Blbjoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IHRydWUsXG5cdFx0fSxcblx0fSxcblxuXHRtZXRob2RzOiB7XG5cdFx0b25DbGljayhlKSB7XG5cdFx0XHR0aGlzLiRlbWl0KCdjbGljaycsIGUpXG5cdFx0fSxcblx0fSxcblxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbkBpbXBvcnQgJy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlJztcblxuLmljb24tY29sbGFwc2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDEwNTsgLy8gYWJvdmUgYSwgdW5kZXIgYnV0dG9uXG5cdHdpZHRoOiA0NHB4O1xuXHRoZWlnaHQ6IDQ0cHg7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1hbmltYXRpb24tcXVpY2spIGVhc2UtaW4tb3V0O1xuXHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3gtc2hhZG93OiBub25lO1xuXHRmb250LXNpemU6IDE4cHg7XG5cblx0QGluY2x1ZGUgaWNvbmZvbnQoJ3RyaWFuZ2xlLXMnKTtcblxuXHQmOmhvdmVye1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblx0fVxuXHQmLS1yb3RhdGVkIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHRcdC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcblx0XHQmOmhvdmVye1xuXHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXHRcdH1cblx0fVxufVxuXG48L3N0eWxlPlxuIiwiPCEtLVxuIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuIC1cbiAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuIC0gQGF1dGhvciBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxuIC0gQGF1dGhvciBKb25hcyBTdWx6ZXIgPGpvbmFzQHZpb2xvbmNlbGxvLmNoPlxuIC0gQGF1dGhvciBKb25hdGhhbiBUcmVmZmxlciA8bWFpbEBqb25hdGhhbi10cmVmZmxlci5kZT5cbiAtXG4gLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuIC1cbiAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAtXG4gLS0+XG5cbjxkb2NzPlxuXG4jIFVzYWdlXG5cbiMjIyBTaW1wbGUgZWxlbWVudFxuXG4qIFdpdGggYW4gaWNvbjpcblxuYGBgXG48QXBwTmF2aWdhdGlvbkl0ZW0gdGl0bGU9XCJNeSB0aXRsZVwiIGljb249XCJpY29uLWNhdGVnb3J5LWVuYWJsZWRcIiAvPlxuXG5gYGBcbiogV2l0aCBhIHNwaW5uaW5nIGxvYWRlciBpbnN0ZWFkIG9mIHRoZSBpY29uOlxuXG5gYGBcbjxBcHBOYXZpZ2F0aW9uSXRlbSB0aXRsZT1cIkxvYWRpbmcgSXRlbVwiIDpsb2FkaW5nPVwidHJ1ZVwiIC8+XG5gYGBcblxuIyMjIEVsZW1lbnQgd2l0aCBhY3Rpb25zXG5XcmFwIHRoZSBjaGlsZHJlbiBpbiBhIHRlbXBsYXRlLiBJZiB5b3UgaGF2ZSBtb3JlIHRoYW4gMiBhY3Rpb25zLCBhIHBvcG92ZXIgbWVudSBhbmQgYSBtZW51XG5idXR0b24gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQuXG5cbmBgYFxuPEFwcE5hdmlnYXRpb25JdGVtIHRpdGxlPVwiSXRlbSB3aXRoIGFjdGlvbnNcIiBpY29uPVwiaWNvbi1jYXRlZ29yeS1lbmFibGVkXCI+XG5cdDx0ZW1wbGF0ZSBzbG90PVwiYWN0aW9uc1wiPlxuXHRcdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tZWRpdFwiIEBjbGljaz1cImFsZXJ0KCdFZGl0JylcIj5cblx0XHRcdEVkaXRcblx0XHQ8L0FjdGlvbkJ1dHRvbj5cblx0XHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWRlbGV0ZVwiIEBjbGljaz1cImFsZXJ0KCdEZWxldGUnKVwiPlxuXHRcdFx0RGVsZXRlXG5cdFx0PC9BY3Rpb25CdXR0b24+XG5cdFx0PEFjdGlvbkxpbmsgaWNvbj1cImljb24tZXh0ZXJuYWxcIiB0aXRsZT1cIkxpbmtcIiBocmVmPVwiaHR0cHM6Ly9uZXh0Y2xvdWQuY29tXCIgLz5cblx0PC90ZW1wbGF0ZT5cbjwvQXBwTmF2aWdhdGlvbkl0ZW0+XG5gYGBcblxuIyMjIEVsZW1lbnQgd2l0aCBjb3VudGVyXG5KdXN0IG5lc3QgdGhlIGNvdW50ZXIgaW50byBgPEFwcE5hdmlnYXRpb25JdGVtPmAgYW5kIGFkZCBgc2xvdD1cImNvdW50ZXJcImAgdG8gaXQuXG5cbmBgYFxuPEFwcE5hdmlnYXRpb25JdGVtIHRpdGxlPVwiSXRlbSB3aXRoIGNvdW50ZXJcIiBpY29uPVwiaWNvbi1mb2xkZXJcIj5cblx0PEFwcE5hdmlnYXRpb25Db3VudGVyIHNsb3Q9XCJjb3VudGVyXCI+XG5cdFx0OTkrXG5cdDwvQXBwTmF2aWdhdGlvbkNvdW50ZXI+XG48L0FwcE5hdmlnYXRpb25JdGVtPlxuYGBgXG5cbiMjIyBFbGVtZW50IHdpdGggY2hpbGRyZW5cblxuV3JhcCB0aGUgY2hpbGRyZW4gaW4gYSB0ZW1wbGF0ZSB3aXRoIHRoZSBgc2xvdGAgcHJvcGVydHkgYW5kIHVzZSB0aGUgcHJvcCBgYWxsb3dDb2xsYXBzZWAgdG8gY2hvb3NlIHdldGhlciB0byBhbGxvdyBvclxucHJldmVudCB0aGUgdXNlciBmcm9tIGNvbGxhcHNpbmcgdGhlIGl0ZW1zLlxuXG5gYGBcbjxBcHBOYXZpZ2F0aW9uSXRlbSB0aXRsZT1cIkl0ZW0gd2l0aCBjaGlsZHJlblwiIDphbGxvd0NvbGxhcHNlPVwidHJ1ZVwiIDpvcGVuPVwidHJ1ZVwiPlxuXHQ8dGVtcGxhdGU+XG5cdFx0PEFwcE5hdmlnYXRpb25JdGVtIHRpdGxlPVwiQXBwTmF2aWdhdGlvbkl0ZW1DaGlsZDFcIiAvPlxuXHRcdDxBcHBOYXZpZ2F0aW9uSXRlbSBjbGFzcz1cImFjdGl2ZVwiIHRpdGxlPVwiQXBwTmF2aWdhdGlvbkl0ZW1DaGlsZDJcIiAvPlxuXHRcdDxBcHBOYXZpZ2F0aW9uSXRlbSB0aXRsZT1cIkFwcE5hdmlnYXRpb25JdGVtQ2hpbGQzXCIgLz5cblx0XHQ8QXBwTmF2aWdhdGlvbkl0ZW0gdGl0bGU9XCJBcHBOYXZpZ2F0aW9uSXRlbUNoaWxkNFwiIC8+XG5cdDwvdGVtcGxhdGU+XG48L0FwcE5hdmlnYXRpb25JdGVtPlxuYGBgXG4jIyMgRWRpdGFibGUgZWxlbWVudFxuQWRkIHRoZSBwcm9wIGA6ZWRpdGFibGU9dHJ1ZWAgYW5kIGFuIGVkaXQgcGxhY2Vob2xkZXIgaWYgeW91IG5lZWQgaXQuIEJ5IGRlZmF1bHRcbnRoZSBwbGFjZWhvbGRlciBpcyB0aGUgcHJldmlvdXMgdGl0bGUgb2YgdGhlIGVsZW1lbnQuXG5cbmBgYFxuPEFwcE5hdmlnYXRpb25JdGVtIHRpdGxlPVwiRWRpdGFibGUgSXRlbVwiIDplZGl0YWJsZT1cInRydWVcIlxuXHRlZGl0UGxhY2Vob2xkZXI9XCJ5b3VyX3BsYWNlaG9sZGVyX2hlcmVcIiBpY29uPVwiaWNvbi1mb2xkZXJcIiBAdXBkYXRlOnRpdGxlPVwiZnVuY3Rpb24odmFsdWUpe2FsZXJ0KHZhbHVlKX1cIiAvPlxuYGBgXG4jIyMgVW5kbyBlbGVtZW50XG5KdXN0IHNldCB0aGUgYHVuZG9gIGFuZCBgdGl0bGVgIHByb3BzLiBXaGVuIGNsaWNraW5nIHRoZSB1bmRvIGJ1dHRvbiwgYW4gYHVuZG9gIGV2ZW50IGlzIGVtaXR0ZWQuXG5cbmBgYFxuPEFwcE5hdmlnYXRpb25JdGVtIDp1bmRvPVwidHJ1ZVwiIHRpdGxlPVwiRGVsZXRlZCBpbXBvcnRhbnQgZW50cnlcIiBAdW5kbz1cImFsZXJ0KCd1bmRvIGRlbGV0ZScpXCIgIC8+XG5cbmBgYFxuIyMjIFBpbm5lZCBlbGVtZW50XG5KdXN0IHNldCB0aGUgYHBpbm5lZGAgcHJvcC5cbmBgYFxuPEFwcE5hdmlnYXRpb25JdGVtIHRpdGxlPVwiUGlubmVkIGl0ZW1cIiA6cGlubmVkPVwidHJ1ZVwiIC8+XG5gYGBcblxuPC9kb2NzPlxuXG48dGVtcGxhdGU+XG5cdDwhLS0gTmF2aWdhdGlvbiBpdGVtLCBjYW4gYmUgZWl0aGVyIGFuIDxsaT4gb3IgYSA8cm91dGVyLWxpbms+IGRlcGVuZGluZyBvbiB0aGUgcHJvcHMgLS0+XG5cdDxuYXYtZWxlbWVudCB2LWJpbmQ9XCJuYXZFbGVtZW50XCJcblx0XHQ6Y2xhc3M9XCJ7XG5cdFx0XHQnYXBwLW5hdmlnYXRpb24tZW50cnktLW5vLWljb24nOiAhaXNJY29uU2hvd24sXG5cdFx0XHQnYXBwLW5hdmlnYXRpb24tZW50cnktLW9wZW5lZCc6IG9wZW5lZCxcblx0XHRcdCdhcHAtbmF2aWdhdGlvbi1lbnRyeS0tcGlubmVkJzogcGlubmVkLFxuXHRcdFx0J2FwcC1uYXZpZ2F0aW9uLWVudHJ5LS1lZGl0aW5nJyA6IGVkaXRpbmdBY3RpdmUsXG5cdFx0XHQnYXBwLW5hdmlnYXRpb24tZW50cnktLWRlbGV0ZWQnOiB1bmRvLFxuXHRcdFx0J2FwcC1uYXZpZ2F0aW9uLWVudHJ5LS1jb2xsYXBzaWJsZSc6IGNvbGxhcHNpYmxlLFxuXHRcdFx0J2FjdGl2ZSc6IGlzQWN0aXZlXG5cdFx0fVwiXG5cdFx0Y2xhc3M9XCJhcHAtbmF2aWdhdGlvbi1lbnRyeVwiPlxuXHRcdDwhLS0gSWNvbiBhbmQgdGl0bGUgLS0+XG5cdFx0PGEgdi1pZj1cIiF1bmRvXCJcblx0XHRcdGNsYXNzPVwiYXBwLW5hdmlnYXRpb24tZW50cnktbGlua1wiXG5cdFx0XHRocmVmPVwiI1wiXG5cdFx0XHRAY2xpY2s9XCJvbkNsaWNrXCI+XG5cblx0XHRcdDwhLS0gaWNvbiBpZiBub3QgY29sbGFwc2libGUgLS0+XG5cdFx0XHQ8IS0tIG5ldmVyIHNob3cgdGhlIGljb24gb3ZlciB0aGUgY29sbGFwc2libGUgaWYgbW9iaWxlIC0tPlxuXHRcdFx0PGRpdiA6Y2xhc3M9XCJ7ICdpY29uLWxvYWRpbmctc21hbGwnOiBsb2FkaW5nLCBbaWNvbl06IGljb24gJiYgaXNJY29uU2hvd24gfVwiXG5cdFx0XHRcdGNsYXNzPVwiYXBwLW5hdmlnYXRpb24tZW50cnktaWNvblwiPlxuXHRcdFx0XHQ8c2xvdCB2LWlmPVwiIWxvYWRpbmdcIiB2LXNob3c9XCJpc0ljb25TaG93blwiIG5hbWU9XCJpY29uXCIgLz5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PHNwYW4gdi1pZj1cIiFlZGl0aW5nQWN0aXZlXCIgY2xhc3M9XCJhcHAtbmF2aWdhdGlvbi1lbnRyeV9fdGl0bGVcIiA6dGl0bGU9XCJ0aXRsZVwiPlxuXHRcdFx0XHR7eyB0aXRsZSB9fVxuXHRcdFx0PC9zcGFuPlxuXHRcdFx0PGRpdiB2LWlmPVwiZWRpdGluZ0FjdGl2ZVwiIGNsYXNzPVwiZWRpdGluZ0NvbnRhaW5lclwiPlxuXHRcdFx0XHQ8SW5wdXRDb25maXJtQ2FuY2VsXG5cdFx0XHRcdFx0cmVmPVwiZWRpdGluZ0lucHV0XCJcblx0XHRcdFx0XHR2LW1vZGVsPVwiZWRpdGluZ1ZhbHVlXCJcblx0XHRcdFx0XHQ6cGxhY2Vob2xkZXI9XCJlZGl0UGxhY2Vob2xkZXIgIT09ICcnID8gZWRpdFBsYWNlaG9sZGVyIDogdGl0bGVcIlxuXHRcdFx0XHRcdEBjYW5jZWw9XCJjYW5jZWxFZGl0aW5nXCJcblx0XHRcdFx0XHRAY29uZmlybT1cImhhbmRsZUVkaXRpbmdEb25lXCIgLz5cblx0XHRcdDwvZGl2PlxuXHRcdDwvYT5cblxuXHRcdDxBcHBOYXZpZ2F0aW9uSWNvbkNvbGxhcHNpYmxlIHYtaWY9XCJjb2xsYXBzaWJsZVwiIDpvcGVuPVwib3BlbmVkXCIgQGNsaWNrLnByZXZlbnQuc3RvcD1cInRvZ2dsZUNvbGxhcHNlXCIgLz5cblx0XHQ8IS0tIHVuZG8gZW50cnkgLS0+XG5cdFx0PGRpdiB2LWlmPVwidW5kb1wiIGNsYXNzPVwiYXBwLW5hdmlnYXRpb24tZW50cnlfX2RlbGV0ZWRcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJhcHAtbmF2aWdhdGlvbi1lbnRyeV9fZGVsZXRlZC1kZXNjcmlwdGlvblwiPlxuXHRcdFx0XHR7eyB0aXRsZSB9fVxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cblx0XHQ8IS0tIENvdW50ZXIgYW5kIEFjdGlvbnMgLS0+XG5cdFx0PGRpdiB2LWlmPVwiaGFzVXRpbHNcIiBjbGFzcz1cImFwcC1uYXZpZ2F0aW9uLWVudHJ5X191dGlsc1wiPlxuXHRcdFx0PGRpdiB2LWlmPVwiJHNsb3RzLmNvdW50ZXJcIlxuXHRcdFx0XHRjbGFzcz1cImFwcC1uYXZpZ2F0aW9uLWVudHJ5X19jb3VudGVyLXdyYXBwZXJcIj5cblx0XHRcdFx0PHNsb3QgbmFtZT1cImNvdW50ZXJcIiAvPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8QWN0aW9ucyBtZW51LWFsaWduPVwicmlnaHRcIlxuXHRcdFx0XHQ6cGxhY2VtZW50PVwibWVudVBsYWNlbWVudFwiXG5cdFx0XHRcdDpvcGVuPVwibWVudU9wZW5cIlxuXHRcdFx0XHQ6Zm9yY2UtbWVudT1cImZvcmNlTWVudVwiXG5cdFx0XHRcdDpkZWZhdWx0LWljb249XCJtZW51SWNvblwiXG5cdFx0XHRcdEB1cGRhdGU6b3Blbj1cIm9uTWVudVRvZ2dsZVwiPlxuXHRcdFx0XHQ8QWN0aW9uQnV0dG9uIHYtaWY9XCJlZGl0YWJsZSAmJiAhZWRpdGluZ0FjdGl2ZVwiIGljb249XCJpY29uLXJlbmFtZVwiIEBjbGljaz1cImhhbmRsZUVkaXRcIj5cblx0XHRcdFx0XHR7eyBlZGl0TGFiZWwgfX1cblx0XHRcdFx0PC9BY3Rpb25CdXR0b24+XG5cdFx0XHRcdDxBY3Rpb25CdXR0b24gdi1pZj1cInVuZG9cIiBpY29uPVwiYXBwLW5hdmlnYXRpb24tZW50cnlfX2RlbGV0ZWQtYnV0dG9uIGljb24taGlzdG9yeVwiIEBjbGljaz1cImhhbmRsZVVuZG9cIiAvPlxuXHRcdFx0XHQ8c2xvdCBuYW1lPVwiYWN0aW9uc1wiIC8+XG5cdFx0XHQ8L0FjdGlvbnM+XG5cdFx0PC9kaXY+XG5cblx0XHQ8IS0tIENoaWxkcmVuIGVsZW1lbnRzIC0tPlxuXHRcdDx1bCB2LWlmPVwiY2FuSGF2ZUNoaWxkcmVuICYmIGhhc0NoaWxkcmVuXCIgY2xhc3M9XCJhcHAtbmF2aWdhdGlvbi1lbnRyeV9fY2hpbGRyZW5cIj5cblx0XHRcdDxzbG90IC8+XG5cdFx0PC91bD5cblxuXHRcdDwhLS0gQW55dGhpbmcgKHZpcnR1YWwpIHRoYXQgc2hvdWxkIGJlIG1vdW50ZWQgaW4gdGhlIGNvbXBvbmVudCwgbGlrZSBhIHJlbGF0ZWQgbW9kYWwgLS0+XG5cdFx0PHNsb3QgbmFtZT1cImV4dHJhXCIgLz5cblx0PC9uYXYtZWxlbWVudD5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgeyBkaXJlY3RpdmUgYXMgQ2xpY2tPdXRzaWRlIH0gZnJvbSAndi1jbGljay1vdXRzaWRlJ1xuXG5pbXBvcnQgQWN0aW9ucyBmcm9tICcuLi9BY3Rpb25zL0FjdGlvbnMnXG5pbXBvcnQgQWN0aW9uQnV0dG9uIGZyb20gJy4uL0FjdGlvbkJ1dHRvbi9BY3Rpb25CdXR0b24nXG5pbXBvcnQgQXBwTmF2aWdhdGlvbkljb25Db2xsYXBzaWJsZSBmcm9tICcuL0FwcE5hdmlnYXRpb25JY29uQ29sbGFwc2libGUnXG5pbXBvcnQgaXNNb2JpbGUgZnJvbSAnLi4vLi4vbWl4aW5zL2lzTW9iaWxlJ1xuaW1wb3J0IElucHV0Q29uZmlybUNhbmNlbCBmcm9tICcuL0lucHV0Q29uZmlybUNhbmNlbCdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnQXBwTmF2aWdhdGlvbkl0ZW0nLFxuXG5cdGNvbXBvbmVudHM6IHtcblx0XHRBY3Rpb25zLFxuXHRcdEFjdGlvbkJ1dHRvbixcblx0XHRBcHBOYXZpZ2F0aW9uSWNvbkNvbGxhcHNpYmxlLFxuXHRcdElucHV0Q29uZmlybUNhbmNlbCxcblx0fSxcblx0ZGlyZWN0aXZlczoge1xuXHRcdENsaWNrT3V0c2lkZSxcblx0fSxcblx0bWl4aW5zOiBbaXNNb2JpbGVdLFxuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIFRoZSB0aXRsZSBvZiB0aGUgZWxlbWVudC5cblx0XHQgKi9cblx0XHR0aXRsZToge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblx0XHQvKipcblx0XHQqIFJlZmVycyB0byB0aGUgaWNvbiBvbiB0aGUgbGVmdCwgdGhpcyBwcm9wIGFjY2VwdHMgYSBjbGFzc1xuXHRcdCogbGlrZSAnaWNvbi1jYXRlZ29yeS1lbmFibGVkJy5cblx0XHQqL1xuXHRcdGljb246IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQqIERpc3BsYXlzIGEgbG9hZGluZyBhbmltYXRlZCBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBlbGVtZW50XG5cdFx0KiBpbnN0ZWFkIG9mIHRoZSBpY29uLlxuXHRcdCovXG5cdFx0bG9hZGluZzoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0KiBQYXNzaW5nIGluIGEgcm91dGUgd2lsbCBtYWtlIHRoZSByb290IGVsZW1lbnQgb2YgdGhpc1xuXHRcdCogY29tcG9uZW50IGEgYDxyb3V0ZXItbGluayAvPmAgdGhhdCBwb2ludHMgdG8gdGhhdCByb3V0ZS5cblx0XHQqIEJ5IGxlYXZpbmcgdGhpcyBibGFuaywgdGhlIHJvb3QgZWxlbWVudCB3aWxsIGJlIGEgYDxsaT5gLlxuXHRcdCovXG5cdFx0dG86IHtcblx0XHRcdHR5cGU6IFtTdHJpbmcsIE9iamVjdF0sXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCogUGFzcyBpbiBgdHJ1ZWAgaWYgeW91IHdhbnQgdGhlIG1hdGNoaW5nIGJlaGF2aW91ciB0b1xuXHRcdCogYmUgbm9uLWluY2x1c2l2ZTogaHR0cHM6Ly9yb3V0ZXIudnVlanMub3JnL2FwaS8jZXhhY3Rcblx0XHQqL1xuXHRcdGV4YWN0OiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblx0XHQvKipcblx0XHQqIEdpdmVzIHRoZSBwb3NzaWJpbGl0eSB0byBjb2xsYXBzZSB0aGUgY2hpbGRyZW4gZWxlbWVudHMgaW50byB0aGVcblx0XHQqIHBhcmVudCBlbGVtZW50ICh0cnVlKSBvciBleHBhbmRzIHRoZSBjaGlsZHJlbiBlbGVtZW50cyAoZmFsc2UpLlxuXHRcdCovXG5cdFx0YWxsb3dDb2xsYXBzZToge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0KiBNYWtlcyB0aGUgdGl0bGUgb2YgdGhlIGl0ZW0gZWRpdGFibGUgYnkgcHJvdmlkaW5nIGFuIGBBY3Rpb25CdXR0b25gXG5cdFx0KiBjb21wb25lbnQgdGhhdCB0b2dnbGVzIGEgZm9ybVxuXHRcdCovXG5cdFx0ZWRpdGFibGU6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCogT25seSBmb3IgJ2VkaXRhYmxlJyBpdGVtcywgc2V0cyBsYWJlbCBmb3IgdGhlIGVkaXQgYWN0aW9uIGJ1dHRvbi5cblx0XHQqL1xuXHRcdGVkaXRMYWJlbDoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblx0XHQvKipcblx0XHQqIE9ubHkgZm9yIGl0ZW1zIGluICdlZGl0YWJsZScgbW9kZSwgc2V0cyB0aGUgcGxhY2Vob2xkZXIgdGV4dCBmb3IgdGhlIGVkaXRpbmcgZm9ybS5cblx0XHQqL1xuXHRcdGVkaXRQbGFjZWhvbGRlcjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblx0XHQvKipcblx0XHQqIFBpbnMgdGhlIGl0ZW0gdG8gdGhlIGJvdHRvbSBsZWZ0IGFyZWEsIGFib3ZlIHRoZSBzZXR0aW5ncy4gRG8gbm90XG5cdFx0KiBwbGFjZSAnbm9uLXBpbm5lZCcgYEFwcG5hdmlnYXRpb25JdGVtYCBjb21wb25lbnRzIGJlbG93IGBwaW5uZWRgXG5cdFx0KiBvbmVzLlxuXHRcdCovXG5cdFx0cGlubmVkOiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblx0XHQvKipcblx0XHQqIFB1dHMgdGhlIGl0ZW0gaW4gdGhlICd1bmRvJyBzdGF0ZS5cblx0XHQqL1xuXHRcdHVuZG86IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIFRoZSBuYXZpZ2F0aW9uIGNvbGxhcHNpYmxlIHN0YXRlIChzeW5jZWQpXG5cdFx0ICovXG5cdFx0b3Blbjoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogVGhlIGFjdGlvbnMgbWVudSBvcGVuIHN0YXRlIChzeW5jZWQpXG5cdFx0ICovXG5cdFx0bWVudU9wZW46IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIEZvcmNlIHRoZSBhY3Rpb25zIHRvIGRpc3BsYXkgaW4gYSB0aHJlZSBkb3QgbWVudVxuXHRcdCAqL1xuXHRcdGZvcmNlTWVudToge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogVGhlIGFjdGlvbidzIG1lbnUgZGVmYXVsdCBpY29uXG5cdFx0ICovXG5cdFx0bWVudUljb246IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6IHVuZGVmaW5lZCxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIFRoZSBhY3Rpb24ncyBtZW51IGRpcmVjdGlvblxuXHRcdCAqL1xuXHRcdG1lbnVQbGFjZW1lbnQ6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICdib3R0b20nLFxuXHRcdH0sXG5cdH0sXG5cblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0ZWRpdGluZ1ZhbHVlOiAnJyxcblx0XHRcdG9wZW5lZDogdGhpcy5vcGVuLFxuXHRcdFx0ZWRpdGluZ0FjdGl2ZTogZmFsc2UsXG5cdFx0fVxuXHR9LFxuXHRjb21wdXRlZDoge1xuXHRcdGNvbGxhcHNpYmxlKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuYWxsb3dDb2xsYXBzZSAmJiAhIXRoaXMuJHNsb3RzLmRlZmF1bHRcblx0XHR9LFxuXG5cdFx0Ly8gaXMgdGhlIGljb24gc2hvd24/XG5cdFx0Ly8gd2UgZG9uJ3Qgc2hvdyBpdCBvbiBtb2JpbGUgaWYgdGhlIGVudHJ5IGlzIGNvbGxhcHNpYmxlXG5cdFx0Ly8gd2Ugc2hvdyB0aGUgY29sbGFwc2UgdG9nZ2xlIGRpcmVjdGx5IVxuXHRcdGlzSWNvblNob3duKCkge1xuXHRcdFx0cmV0dXJuICF0aGlzLmNvbGxhcHNpYmxlIHx8ICh0aGlzLmNvbGxhcHNpYmxlICYmICF0aGlzLmlzTW9iaWxlKVxuXHRcdH0sXG5cblx0XHQvLyBDaGVja3MgaWYgdGhlIGNvbXBvbmVudCBpcyBhbHJlYWR5IGEgY2hpbGRyZW4gb2YgYW5vdGhlclxuXHRcdC8vIGluc3RhbmNlIG9mIEFwcE5hdmlnYXRpb25JdGVtXG5cdFx0Y2FuSGF2ZUNoaWxkcmVuKCkge1xuXHRcdFx0aWYgKHRoaXMuJHBhcmVudC4kb3B0aW9ucy5fY29tcG9uZW50VGFnID09PSAnQXBwTmF2aWdhdGlvbkl0ZW0nKSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIHRydWVcblx0XHRcdH1cblx0XHR9LFxuXHRcdGhhc0NoaWxkcmVuKCkge1xuXHRcdFx0aWYgKHRoaXMuJHNsb3RzLmRlZmF1bHQpIHtcblx0XHRcdFx0cmV0dXJuIHRydWVcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0aGFzVXRpbHMoKSB7XG5cdFx0XHRpZiAodGhpcy5lZGl0aW5nKSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZVxuXHRcdFx0fSBlbHNlIGlmICh0aGlzLiRzbG90cy5hY3Rpb25zIHx8IHRoaXMuJHNsb3RzLmNvdW50ZXIgfHwgdGhpcy5lZGl0YWJsZSB8fCB0aGlzLnVuZG8pIHtcblx0XHRcdFx0cmV0dXJuIHRydWVcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Ly8gVGhpcyBpcyB1c2VkIHRvIGRlY2lkZSB3aGljaCBvdXRlciBlbGVtZW50IHR5cGUgdG8gdXNlXG5cdFx0Ly8gbGkgb3Igcm91dGVyLWxpbmtcblx0XHRuYXZFbGVtZW50KCkge1xuXHRcdFx0aWYgKHRoaXMudG8pIHtcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRpczogJ3JvdXRlci1saW5rJyxcblx0XHRcdFx0XHR0YWc6ICdsaScsXG5cdFx0XHRcdFx0dG86IHRoaXMudG8sXG5cdFx0XHRcdFx0ZXhhY3Q6IHRoaXMuZXhhY3QsXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdGlzOiAnbGknLFxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0aXNBY3RpdmUoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy50byAmJiB0aGlzLiRyb3V0ZSA9PT0gdGhpcy50b1xuXHRcdH0sXG5cdH0sXG5cdHdhdGNoOiB7XG5cdFx0b3BlbihuZXdWYWwpIHtcblx0XHRcdHRoaXMub3BlbmVkID0gbmV3VmFsXG5cdFx0fSxcblx0fSxcblx0bWV0aG9kczoge1xuXHRcdC8vIHN5bmMgb3BlbmVkIG1lbnUgc3RhdGUgd2l0aCBwcm9wXG5cdFx0b25NZW51VG9nZ2xlKHN0YXRlKSB7XG5cdFx0XHR0aGlzLiRlbWl0KCd1cGRhdGU6bWVudU9wZW4nLCBzdGF0ZSlcblx0XHR9LFxuXHRcdC8vIHRvZ2dsZSB0aGUgY29sbGFwc2libGUgc3RhdGVcblx0XHR0b2dnbGVDb2xsYXBzZSgpIHtcblx0XHRcdHRoaXMub3BlbmVkID0gIXRoaXMub3BlbmVkXG5cdFx0XHR0aGlzLiRlbWl0KCd1cGRhdGU6b3BlbicsIHRoaXMub3BlbmVkKVxuXHRcdH0sXG5cblx0XHQvLyBmb3J3YXJkIGNsaWNrIGV2ZW50XG5cdFx0b25DbGljayhldmVudCkge1xuXHRcdFx0dGhpcy4kZW1pdCgnY2xpY2snLCBldmVudClcblx0XHR9LFxuXG5cdFx0Ly8gRWRpdGlvbiBtZXRob2RzXG5cdFx0aGFuZGxlRWRpdCgpIHtcblx0XHRcdHRoaXMuZWRpdGluZ1ZhbHVlID0gdGhpcy50aXRsZVxuXHRcdFx0dGhpcy5lZGl0aW5nQWN0aXZlID0gdHJ1ZVxuXHRcdFx0dGhpcy5vbk1lbnVUb2dnbGUoZmFsc2UpXG5cdFx0XHR0aGlzLiRuZXh0VGljaygoKSA9PiB7XG5cdFx0XHRcdHRoaXMuJHJlZnMuZWRpdGluZ0lucHV0LmZvY3VzSW5wdXQoKVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdGNhbmNlbEVkaXRpbmcoKSB7XG5cdFx0XHR0aGlzLmVkaXRpbmdBY3RpdmUgPSBmYWxzZVxuXHRcdH0sXG5cdFx0aGFuZGxlRWRpdGluZ0RvbmUoKSB7XG5cdFx0XHR0aGlzLiRlbWl0KCd1cGRhdGU6dGl0bGUnLCB0aGlzLmVkaXRpbmdWYWx1ZSlcblx0XHRcdHRoaXMuZWRpdGluZ1ZhbHVlID0gJydcblx0XHRcdHRoaXMuZWRpdGluZ0FjdGl2ZSA9IGZhbHNlXG5cdFx0fSxcblxuXHRcdC8vIFVuZG8gbWV0aG9kc1xuXHRcdGhhbmRsZVVuZG8oKSB7XG5cdFx0XHR0aGlzLiRlbWl0KCd1bmRvJylcblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiPlxuQGltcG9ydCAnLi4vLi4vZm9udHMvc2Nzcy9pY29uZm9udC12dWUnO1xuXG4uYXBwLW5hdmlnYXRpb24tZW50cnkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdG9yZGVyOiAxO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xuXHRwYWRkaW5nLXJpZ2h0OiA0cHg7XG5cblx0Ly8gV2hlbiAuYWN0aXZlIGNsYXNzIGlzIGFwcGxpZWQsIGNoYW5nZSBjb2xvciBiYWNrZ3JvdW5kIG9mIGxpbmsgYW5kIHV0aWxzLiBUaGVcblx0Ly8gIWltcG9ydGFudCBwcmV2ZW50cyB0aGUgZm9jdXMgc3RhdGUgdG8gb3ZlcnJpZGUgdGhlIGFjdGl2ZSBzdGF0ZS5cblx0Ji5hY3RpdmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpICFpbXBvcnRhbnQ7XG5cdH1cblx0Jjpmb2N1cy13aXRoaW4sXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xuXHR9XG5cdCYuYWN0aXZlLFxuXHQmOmZvY3VzLXdpdGhpbixcblx0Jjpob3ZlciB7XG5cdFx0LmFwcC1uYXZpZ2F0aW9uLWVudHJ5X19jaGlsZHJlbiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xuXHRcdH1cblx0fVxuXG5cdC8qIGhpZGUgZGVsZXRpb24vY29sbGFwc2Ugb2Ygc3ViaXRlbXMgKi9cblx0Ji5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tZGVsZXRlZCxcblx0Ji5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tY29sbGFwc2libGU6bm90KC5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tb3BlbmVkKSB7XG5cdFx0PiB1bCB7XG5cdFx0XHQvLyBOTyBBTklNQVRFIGJlY2F1c2UgaWYgbm90IHJlYWxseSBoaWRkZW4sIHdlIGNhbiBzdGlsbCB0YWIgdGhyb3VnaCBpdFxuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmOm5vdCguYXBwLW5hdmlnYXRpb24tZW50cnktLWVkaXRpbmcpIHtcblx0XHQuYXBwLW5hdmlnYXRpb24tZW50cnktbGluaywgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LWRpdiB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAkaWNvbi1tYXJnaW47XG5cdFx0fVxuXHR9XG5cblx0Ly8gTWFpbiBlbnRyeSBsaW5rXG5cdC5hcHAtbmF2aWdhdGlvbi1lbnRyeS1saW5rLCAuYXBwLW5hdmlnYXRpb24tZW50cnktZGl2IHtcblx0XHR6LWluZGV4OiAxMDA7IC8qIGFib3ZlIHRoZSBidWxsZXQgdG8gYWxsb3cgY2xpY2sqL1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRmbGV4OiAxIDEgMDtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdG1pbi1oZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaWNvbi1tYXJnaW4gY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZSAkaWNvbi1zaXplO1xuXHRcdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XG5cblx0XHQuYXBwLW5hdmlnYXRpb24tZW50cnktaWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGZsZXg6IDAgMCAkY2xpY2thYmxlLWFyZWE7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XG5cdFx0XHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZSAkaWNvbi1zaXplO1xuXHRcdH1cblxuXHRcdC5hcHAtbmF2aWdhdGlvbi1lbnRyeV9fdGl0bGUge1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdHBhZGRpbmctbGVmdDogNnB4O1xuXHRcdH1cblxuXHRcdC5lZGl0aW5nQ29udGFpbmVyIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRjbGlja2FibGUtYXJlYX0pO1xuXHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdH1cblx0fVxuXG5cdC8qIFNlY29uZCBsZXZlbCBuZXN0aW5nIGZvciBsaXN0cyAqL1xuXHQuYXBwLW5hdmlnYXRpb24tZW50cnlfX2NoaWxkcmVuIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4OiAwIDEgYXV0bztcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0LmFwcC1uYXZpZ2F0aW9uLWVudHJ5IHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1tYXJnaW47XG5cdFx0fVxuXHR9XG59XG5cbi8qIERlbGV0ZWQgZW50cmllcyAqL1xuLmFwcC1uYXZpZ2F0aW9uLWVudHJ5X19kZWxldGVkIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGZsZXg6IDEgMSAwO1xuXHRwYWRkaW5nLWxlZnQ6ICRjbGlja2FibGUtYXJlYSAtICRpY29uLW1hcmdpbiAhaW1wb3J0YW50O1xuXHQuYXBwLW5hdmlnYXRpb24tZW50cnlfX2RlbGV0ZWQtZGVzY3JpcHRpb24ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGZsZXg6IDEgMSAwO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0bGluZS1oZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcblx0fVxufVxuXG4vKiBNYWtlcyB0aGUgaWNvbiBvZiB0aGUgY29sbGFwc2libGUgZWxlbWVudCBkaXNhcHBlYXJcbiogIFdoZW4gaG92ZXJpbmcgb24gdGhlIHJvb3QgZWxlbWVudCAqL1xuLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1jb2xsYXBzaWJsZSB7XG5cdC8vc2hvd3MgdGhlIHRyaWFuZ2xlIGJ1dHRvblxuXHQuaWNvbi1jb2xsYXBzZSB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG5cdCYuYXBwLW5hdmlnYXRpb24tZW50cnktLW5vLWljb24sXG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGEgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LWljb24ge1xuXHRcdFx0Ly8gaGlkZXMgdGhlIGljb25cblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR9XG5cdFx0Lmljb24tY29sbGFwc2Uge1xuXHRcdFx0Ly9zaG93cyB0aGUgdHJpYW5nbGUgYnV0dG9uXG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdH1cblx0XHQvLyBwcmV2ZW50IHRoZSBpY29uIG9mIGNoaWxkcmVuIGVsZW1lbnRzIGZyb20gYmVpbmcgaGlkZGVuXG5cdFx0Ly8gYnkgdGhlIHByZXZpb3VzIHJ1bGVcblx0XHQuYXBwLW5hdmlnYXRpb24tZW50cnlfX2NoaWxkcmVuIGxpOm5vdCguYXBwLW5hdmlnYXRpb24tZW50cnktLWNvbGxhcHNpYmxlKSBhIDpmaXJzdC1jaGlsZCB7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdH1cblx0fVxufVxuXG4vKiBjb3VudGVyIGFuZCBhY3Rpb25zICovXG4uYXBwLW5hdmlnYXRpb24tZW50cnlfX3V0aWxzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZmxleDogMCAxIGF1dG87XG59XG5cbi8qIGNvdW50ZXIgKi9cbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9fY291bnRlci13cmFwcGVyIHtcblx0Ly8gQWRkIHNsaWdodGx5IG1vcmUgc3BhY2UgdG8gdGhlIHJpZ2h0IG9mIHRoZSBjb3VudGVyXG5cdG1hcmdpbi1yaWdodDogMnB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmbGV4OiAwIDEgYXV0bztcbn1cblxuLy8gU1RBVEVTXG4vKiBlZGl0aW5nIHN0YXRlICovXG4uYXBwLW5hdmlnYXRpb24tZW50cnktLWVkaXRpbmcge1xuXHQuYXBwLW5hdmlnYXRpb24tZW50cnktZWRpdCB7XG5cdFx0ei1pbmRleDogMjUwO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLyogZGVsZXRlZCBzdGF0ZSAqL1xuLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1kZWxldGVkIHtcblx0LmFwcC1uYXZpZ2F0aW9uLWVudHJ5LWRlbGV0ZWQge1xuXHRcdHotaW5kZXg6IDI1MDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cblxuLyogcGlubmVkIHN0YXRlICovXG4uYXBwLW5hdmlnYXRpb24tZW50cnktLXBpbm5lZCB7XG5cdG9yZGVyOiAyO1xuXHRtYXJnaW4tdG9wOiBhdXRvO1xuXHQvLyBvbmx5IHB1dCBhIG1hcmdpblRvcCBhdXRvIHRvIHRoZSBmaXJzdCBvbmUhXG5cdH4gLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1waW5uZWQge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cbn1cblxuPC9zdHlsZT5cbiIsIjwhLS1cbiAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIwIEpvbmF0aGFuIFRyZWZmbGVyIDxtYWlsQGpvbmF0aGFuLXRyZWZmbGVyLmRlPlxuIC1cbiAtIEBhdXRob3IgSm9uYXRoYW4gVHJlZmZsZXIgPG1haWxAam9uYXRoYW4tdHJlZmZsZXIuZGU+XG4gLVxuIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gLVxuIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gLVxuIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAtXG4gLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gLVxuIC0tPlxuXG48ZG9jcz5cbiMgVXNhZ2VcblxuYGBgXG48SW5wdXRDb25maXJtQ2FuY2VsIEBjb25maXJtPVwiYWxlcnQoJ2NvbmZpcm0nKVwiIEBjYW5jZWw9XCJhbGVydCgnY2FuY2VsJylcIiAvPlxuYGBgXG48L2RvY3M+XG48dGVtcGxhdGU+XG5cdDxkaXYgY2xhc3M9XCJhcHAtbmF2aWdhdGlvbi1lbnRyeV9faW5saW5lLWlucHV0LWNvbnRhaW5lclwiPlxuXHRcdDxmb3JtIEBzdWJtaXQucHJldmVudD1cImNvbmZpcm1cIiBAa2V5ZG93bi5lc2MuZXhhY3QucHJldmVudD1cImNhbmNlbFwiIEBjbGljay5zdG9wLnByZXZlbnQ+XG5cdFx0XHQ8aW5wdXQgcmVmPVwiaW5wdXRcIlxuXHRcdFx0XHR2LW1vZGVsPVwidmFsdWVNb2RlbFwiXG5cdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcblx0XHRcdFx0Y2xhc3M9XCJhcHAtbmF2aWdhdGlvbi1lbnRyeV9faW5saW5lLWlucHV0XCJcblx0XHRcdFx0OnBsYWNlaG9sZGVyPVwicGxhY2Vob2xkZXJcIj5cblx0XHRcdDxidXR0b24gdHlwZT1cInN1Ym1pdFwiXG5cdFx0XHRcdGNsYXNzPVwiaWNvbi1jb25maXJtXCJcblx0XHRcdFx0QGNsaWNrLnN0b3AucHJldmVudD1cImNvbmZpcm1cIiAvPlxuXHRcdFx0PGJ1dHRvbiB0eXBlPVwicmVzZXRcIlxuXHRcdFx0XHRjbGFzcz1cImljb24tY2xvc2VcIlxuXHRcdFx0XHRAY2xpY2suc3RvcC5wcmV2ZW50PVwiY2FuY2VsXCIgLz5cblx0XHQ8L2Zvcm0+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdHByb3BzOiB7XG5cdFx0cGxhY2Vob2xkZXI6IHtcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdH0sXG5cdFx0dmFsdWU6IHtcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdH0sXG5cdH0sXG5cdGNvbXB1dGVkOiB7XG5cdFx0dmFsdWVNb2RlbDoge1xuXHRcdFx0Z2V0KCkgeyByZXR1cm4gdGhpcy52YWx1ZSB9LFxuXHRcdFx0c2V0KG5ld1ZhbHVlKSB7XG5cdFx0XHRcdHRoaXMuJGVtaXQoJ2lucHV0JywgbmV3VmFsdWUpXG5cdFx0XHR9LFxuXHRcdH0sXG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHRjb25maXJtKCkge1xuXHRcdFx0dGhpcy4kZW1pdCgnY29uZmlybScpXG5cdFx0fSxcblx0XHRjYW5jZWwoKSB7XG5cdFx0XHR0aGlzLiRlbWl0KCdjYW5jZWwnKVxuXHRcdH0sXG5cdFx0Zm9jdXNJbnB1dCgpIHtcblx0XHRcdHRoaXMuJHJlZnMuaW5wdXQuZm9jdXMoKVxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCI+XG5AaW1wb3J0ICcuLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZSc7XG5cbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9faW5saW5lLWlucHV0LWNvbnRhaW5lciB7XG5cdGZsZXg6IDEgMCAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0Zm9ybSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHQuYXBwLW5hdmlnYXRpb24tZW50cnlfX2lubGluZS1pbnB1dCB7XG5cdFx0XHRmbGV4OiAxIDEgMTAwJTtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHR9XG5cblx0XHQvLyBzdWJtaXQgYW5kIGNhbmNlbCBidXR0b25zXG5cdFx0YnV0dG9uIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogJGNsaWNrYWJsZS1hcmVhICFpbXBvcnRhbnQ7XG5cdFx0XHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cblx0XHRcdC8vIGljb24gaG92ZXIvZm9jdXMgZmVlZGJhY2tcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcblx0XHRcdH1cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYuaWNvbi1jb25maXJtIHtcblx0XHRcdFx0QGluY2x1ZGUgaWNvbmZvbnQoJ2NvbmZpcm0nKTtcblx0XHRcdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHQmLmljb24tY29uZmlybTpob3ZlciB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDBweCB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwcHggIWltcG9ydGFudDtcblx0XHRcdH1cblxuXHRcdFx0Ji5pY29uLWNsb3NlIHtcblx0XHRcdFx0QGluY2x1ZGUgaWNvbmZvbnQoJ2Nsb3NlJyk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5pY29uLWNsb3NlIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0fVxufVxuPC9zdHlsZT5cbiIsIjwhLS1cbiAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAtXG4gLSBAYXV0aG9yIENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAtXG4gLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAtXG4gLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gLVxuIC0tPlxuXG48dGVtcGxhdGU+XG5cdDxkaXYgY2xhc3M9XCJhcHAtbmF2aWdhdGlvbi1uZXdcIj5cblx0XHQ8YnV0dG9uIDppZD1cImJ1dHRvbklkXCJcblx0XHRcdDpjbGFzcz1cImJ1dHRvbkNsYXNzXCJcblx0XHRcdHR5cGU9XCJidXR0b25cIlxuXHRcdFx0OmRpc2FibGVkPVwiZGlzYWJsZWRcIlxuXHRcdFx0QGNsaWNrPVwiJGVtaXQoJ2NsaWNrJylcIj5cblx0XHRcdHt7IHRleHQgfX1cblx0XHQ8L2J1dHRvbj5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuZXhwb3J0IGRlZmF1bHQge1xuXHRwcm9wczoge1xuXHRcdGJ1dHRvbklkOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRyZXF1aXJlZDogZmFsc2UsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXHRcdGJ1dHRvbkNsYXNzOiB7XG5cdFx0XHR0eXBlOiBbU3RyaW5nLCBBcnJheSwgT2JqZWN0XSxcblx0XHRcdHJlcXVpcmVkOiBmYWxzZSxcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdH0sXG5cdFx0ZGlzYWJsZWQ6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRyZXF1aXJlZDogZmFsc2UsXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHRcdHRleHQ6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cblxuIDxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbi8qICdOZXcnIGJ1dHRvbiAqL1xuLmFwcC1uYXZpZ2F0aW9uLW5ldyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRidXR0b24ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdHBhZGRpbmctbGVmdDogMzRweDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMHB4IGNlbnRlcjtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdG1hcmdpbjogMDtcblx0fVxufVxuPC9zdHlsZT5cbiIsIjwhLS1cbiAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIwIEpvbmF0aGFuIFRyZWZmbGVyIDxtYWlsQGpvbmF0aGFuLXRyZWZmbGVyLmRlPlxuIC1cbiAtIEBhdXRob3IgSm9uYXRoYW4gVHJlZmZsZXIgPG1haWxAam9uYXRoYW4tdHJlZmZsZXIuZGU+XG4gLVxuIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gLVxuIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gLVxuIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAtXG4gLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gLVxuIC0tPlxuXG48ZG9jcz5cbiMgVXNhZ2VcblxuIyMjIE5ldyBJdGVtIGVsZW1lbnRcbmBgYFxuPEFwcE5hdmlnYXRpb25OZXdJdGVtIHRpdGxlPVwiTmV3IEl0ZW1cIiBpY29uPVwiaWNvbi1hZGRcIiBAbmV3LWl0ZW09XCJmdW5jdGlvbih2YWx1ZSl7YWxlcnQodmFsdWUpfVwiIC8+XG5gYGBcblxuIyMjIE5ldyBJdGVtIGVsZW1lbnQgd2l0aCBhIGxvYWRpbmcgYW5pbWF0aW9uIGluc3RlYWQgb2YgdGhlIGljb25cbmBgYFxuPEFwcE5hdmlnYXRpb25OZXdJdGVtIHRpdGxlPVwiTmV3IEl0ZW1cIiBpY29uPVwiaWNvbi1hZGRcIiA6bG9hZGluZz1cInRydWVcIiAvPlxuYGBgXG48L2RvY3M+XG48dGVtcGxhdGU+XG5cdDxsaVxuXHRcdDpjbGFzcz1cIntcblx0XHRcdCdhcHAtbmF2aWdhdGlvbi1lbnRyeS0tbmV3SXRlbUFjdGl2ZSc6IG5ld0l0ZW1BY3RpdmUsXG5cdFx0fVwiXG5cdFx0Y2xhc3M9XCJhcHAtbmF2aWdhdGlvbi1lbnRyeVwiPlxuXHRcdDwhLS0gTmV3IEl0ZW0gLS0+XG5cdFx0PGRpdiBjbGFzcz1cImFwcC1uYXZpZ2F0aW9uLWVudHJ5LWRpdlwiIEBjbGljaz1cImhhbmRsZU5ld0l0ZW1cIj5cblx0XHRcdDxkaXYgOmNsYXNzPVwieyAnaWNvbi1sb2FkaW5nLXNtYWxsJzogbG9hZGluZywgW2ljb25dOiAhbG9hZGluZyB9XCJcblx0XHRcdFx0Y2xhc3M9XCJhcHAtbmF2aWdhdGlvbi1lbnRyeS1pY29uXCI+XG5cdFx0XHRcdDxzbG90IHYtaWY9XCIhbG9hZGluZ1wiIG5hbWU9XCJpY29uXCIgLz5cblx0XHRcdDwvZGl2PlxuXG5cdFx0XHQ8c3BhbiB2LWlmPVwiIW5ld0l0ZW1BY3RpdmVcIiBjbGFzcz1cImFwcC1uYXZpZ2F0aW9uLW5ldy1pdGVtX190aXRsZVwiIDp0aXRsZT1cInRpdGxlXCI+XG5cdFx0XHRcdHt7IHRpdGxlIH19XG5cdFx0XHQ8L3NwYW4+XG5cblx0XHRcdDwhLS0gbmV3IEl0ZW0gaW5wdXQgLS0+XG5cdFx0XHQ8ZGl2IHYtaWY9XCJuZXdJdGVtQWN0aXZlXCIgY2xhc3M9XCJuZXdJdGVtQ29udGFpbmVyXCI+XG5cdFx0XHRcdDxJbnB1dENvbmZpcm1DYW5jZWwgcmVmPVwibmV3SXRlbUlucHV0XCJcblx0XHRcdFx0XHR2LW1vZGVsPVwibmV3SXRlbVZhbHVlXCJcblx0XHRcdFx0XHQ6cGxhY2Vob2xkZXI9XCJlZGl0UGxhY2Vob2xkZXIgIT09ICcnID8gZWRpdFBsYWNlaG9sZGVyIDogdGl0bGVcIlxuXHRcdFx0XHRcdEBjYW5jZWw9XCJjYW5jZWxOZXdJdGVtXCJcblx0XHRcdFx0XHRAY29uZmlybT1cImhhbmRsZU5ld0l0ZW1Eb25lXCIgLz5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L2xpPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCB7IGRpcmVjdGl2ZSBhcyBDbGlja091dHNpZGUgfSBmcm9tICd2LWNsaWNrLW91dHNpZGUnXG5cbmltcG9ydCBpc01vYmlsZSBmcm9tICcuLi8uLi9taXhpbnMvaXNNb2JpbGUnXG5pbXBvcnQgSW5wdXRDb25maXJtQ2FuY2VsIGZyb20gJy4uL0FwcE5hdmlnYXRpb25JdGVtL0lucHV0Q29uZmlybUNhbmNlbCdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnQXBwTmF2aWdhdGlvbk5ld0l0ZW0nLFxuXG5cdGNvbXBvbmVudHM6IHtcblx0XHRJbnB1dENvbmZpcm1DYW5jZWwsXG5cdH0sXG5cdGRpcmVjdGl2ZXM6IHtcblx0XHRDbGlja091dHNpZGUsXG5cdH0sXG5cdG1peGluczogW2lzTW9iaWxlXSxcblxuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIFRoZSB0aXRsZSBvZiB0aGUgZWxlbWVudC5cblx0XHQgKi9cblx0XHR0aXRsZToge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblx0XHQvKipcblx0XHQqIFJlZmVycyB0byB0aGUgaWNvbiBvbiB0aGUgbGVmdCwgdGhpcyBwcm9wIGFjY2VwdHMgYSBjbGFzc1xuXHRcdCogbGlrZSAnaWNvbi1jYXRlZ29yeS1lbmFibGVkJy5cblx0XHQqL1xuXHRcdGljb246IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQqIERpc3BsYXlzIGEgbG9hZGluZyBhbmltYXRlZCBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBlbGVtZW50XG5cdFx0KiBpbnN0ZWFkIG9mIHRoZSBpY29uLlxuXHRcdCovXG5cdFx0bG9hZGluZzoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0KiBPbmx5IGZvciAnZWRpdGFibGUnIGl0ZW1zLCBzZXRzIGxhYmVsIGZvciB0aGUgZWRpdCBhY3Rpb24gYnV0dG9uLlxuXHRcdCovXG5cdFx0ZWRpdExhYmVsOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCogU2V0cyB0aGUgcGxhY2Vob2xkZXIgdGV4dCBmb3IgdGhlIGVkaXRpbmcgZm9ybS5cblx0XHQqL1xuXHRcdGVkaXRQbGFjZWhvbGRlcjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblx0fSxcblxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRuZXdJdGVtVmFsdWU6ICcnLFxuXHRcdFx0bmV3SXRlbUFjdGl2ZTogZmFsc2UsXG5cdFx0fVxuXHR9LFxuXG5cdG1ldGhvZHM6IHtcblx0XHRoYW5kbGVOZXdJdGVtKCkge1xuXHRcdFx0aWYgKCF0aGlzLmxvYWRpbmcpIHtcblx0XHRcdFx0dGhpcy5uZXdJdGVtQWN0aXZlID0gdHJ1ZVxuXHRcdFx0XHR0aGlzLiRuZXh0VGljaygoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy4kcmVmcy5uZXdJdGVtSW5wdXQuZm9jdXNJbnB1dCgpXG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRjYW5jZWxOZXdJdGVtKCkge1xuXHRcdFx0dGhpcy5uZXdJdGVtQWN0aXZlID0gZmFsc2Vcblx0XHR9LFxuXHRcdGhhbmRsZU5ld0l0ZW1Eb25lKCkge1xuXHRcdFx0dGhpcy4kZW1pdCgnbmV3LWl0ZW0nLCB0aGlzLm5ld0l0ZW1WYWx1ZSlcblx0XHRcdHRoaXMubmV3SXRlbVZhbHVlID0gJydcblx0XHRcdHRoaXMubmV3SXRlbUFjdGl2ZSA9IGZhbHNlXG5cdFx0fSxcblx0fSxcbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIj5cbi5hcHAtbmF2aWdhdGlvbi1uZXctaXRlbV9fdGl0bGUge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRwYWRkaW5nLWxlZnQ6IDdweDtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4ubmV3SXRlbUNvbnRhaW5lciB7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRjbGlja2FibGUtYXJlYX0pO1xuXHRtYXJnaW46IGF1dG87XG59XG48L3N0eWxlPlxuIiwiPCEtLVxuIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxuIC1cbiAtIEBhdXRob3IgQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxuIC1cbiAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuIC1cbiAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuIC1cbiAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuIC1cbiAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAtXG4gLS0+XG5cbjx0ZW1wbGF0ZT5cblx0PGRpdiBpZD1cImFwcC1zZXR0aW5nc1wiXG5cdFx0di1jbGljay1vdXRzaWRlPVwiY2xpY2tPdXRzaWRlQ29uZmlnXCJcblx0XHQ6Y2xhc3M9XCJ7IG9wZW4gfVwiPlxuXHRcdDxkaXYgaWQ9XCJhcHAtc2V0dGluZ3MtaGVhZGVyXCI+XG5cdFx0XHQ8YnV0dG9uIGNsYXNzPVwic2V0dGluZ3MtYnV0dG9uXCJcblx0XHRcdFx0QGNsaWNrPVwidG9nZ2xlTWVudVwiPlxuXHRcdFx0XHR7eyB0aXRsZSB9fVxuXHRcdFx0PC9idXR0b24+XG5cdFx0PC9kaXY+XG5cdFx0PHRyYW5zaXRpb24gbmFtZT1cInNsaWRlLXVwXCI+XG5cdFx0XHQ8ZGl2IHYtc2hvdz1cIm9wZW5cIiBpZD1cImFwcC1zZXR0aW5ncy1jb250ZW50XCI+XG5cdFx0XHRcdDxzbG90IC8+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L3RyYW5zaXRpb24+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCB7IGRpcmVjdGl2ZSBhcyBDbGlja091dHNpZGUgfSBmcm9tICd2LWNsaWNrLW91dHNpZGUnXG5pbXBvcnQgeyB0IH0gZnJvbSAnLi4vLi4vbDEwbidcbmltcG9ydCB7IGV4Y2x1ZGVDbGlja091dHNpZGVDbGFzc2VzIH0gZnJvbSAnLi4vLi4vbWl4aW5zJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdGRpcmVjdGl2ZXM6IHtcblx0XHRDbGlja091dHNpZGUsXG5cdH0sXG5cdG1peGluczogW1xuXHRcdGV4Y2x1ZGVDbGlja091dHNpZGVDbGFzc2VzLFxuXHRdLFxuXHRwcm9wczoge1xuXHRcdHRpdGxlOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRyZXF1aXJlZDogZmFsc2UsXG5cdFx0XHRkZWZhdWx0OiB0KCdTZXR0aW5ncycpLFxuXHRcdH0sXG5cdH0sXG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdG9wZW46IGZhbHNlLFxuXHRcdFx0Y2xpY2tPdXRzaWRlQ29uZmlnOiB7XG5cdFx0XHRcdGhhbmRsZXI6IHRoaXMuY2xvc2VNZW51LFxuXHRcdFx0XHRtaWRkbGV3YXJlOiB0aGlzLmNsaWNrT3V0c2lkZU1pZGRsZXdhcmUsXG5cdFx0XHR9LFxuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdHRvZ2dsZU1lbnUoKSB7XG5cdFx0XHR0aGlzLm9wZW4gPSAhdGhpcy5vcGVuXG5cdFx0fSxcblx0XHRjbG9zZU1lbnUoKSB7XG5cdFx0XHR0aGlzLm9wZW4gPSBmYWxzZVxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiNhcHAtc2V0dGluZ3MtY29udGVudCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xuXHQvKiByZXN0cmljdCBoZWlnaHQgb2Ygc2V0dGluZ3MgYW5kIG1ha2Ugc2Nyb2xsYWJsZSAqL1xuXHRtYXgtaGVpZ2h0OiAzMDBweDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnNsaWRlLXVwLWxlYXZlLWFjdGl2ZSxcbi5zbGlkZS11cC1lbnRlci1hY3RpdmUge1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1hbmltYXRpb24tc2xvdyk7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IG1heC1oZWlnaHQsIHBhZGRpbmc7XG5cdG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uc2xpZGUtdXAtZW50ZXIsXG4uc2xpZGUtdXAtbGVhdmUtdG8ge1xuXHRtYXgtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xufVxuXG48L3N0eWxlPlxuIiwiPCEtLVxuIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxuIC1cbiAtIEBhdXRob3IgQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxuIC1cbiAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuIC1cbiAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuIC1cbiAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuIC1cbiAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAtXG4gLS0+XG48dGVtcGxhdGU+XG5cdDxsaSBjbGFzcz1cImFwcC1uYXZpZ2F0aW9uLXNwYWNlclwiIC8+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnQXBwTmF2aWdhdGlvblNwYWNlcicsXG59XG48L3NjcmlwdD5cblxuPHN0eWxlIHNjb3BlZD5cblx0LmFwcC1uYXZpZ2F0aW9uLXNwYWNlciB7XG5cdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0b3JkZXI6IDE7XG5cdFx0aGVpZ2h0OiAyMnB4O1xuXHR9XG5cbjwvc3R5bGU+XG4iLCI8IS0tXG4gLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBDaHJpc3RvcGggV3Vyc3QgPGNocmlzdG9waEB3aW56ZXJob2Ytd3Vyc3QuYXQ+XG4gLVxuIC0gQGF1dGhvciBDaHJpc3RvcGggV3Vyc3QgPGNocmlzdG9waEB3aW56ZXJob2Ytd3Vyc3QuYXQ+XG4gLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAtIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAtXG4gLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAtXG4gLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gLVxuIC0tPlxuPHRlbXBsYXRlPlxuXHQ8YSBjbGFzcz1cImFwcC1uYXZpZ2F0aW9uLXRvZ2dsZVwiXG5cdFx0aHJlZj1cIiNcIlxuXHRcdDphcmlhLWV4cGFuZGVkPVwib3BlbiA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuXHRcdGFyaWEtY29udHJvbHM9XCJhcHAtbmF2aWdhdGlvbi12dWVcIlxuXHRcdEBjbGljay5wcmV2ZW50PVwidG9nZ2xlTmF2aWdhdGlvblwiXG5cdFx0QGtleWRvd24uc3BhY2UuZXhhY3QucHJldmVudD1cInRvZ2dsZU5hdmlnYXRpb25cIiAvPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmV4cG9ydCBkZWZhdWx0IHtcblxuXHRuYW1lOiAnQXBwTmF2aWdhdGlvblRvZ2dsZScsXG5cblx0cHJvcHM6IHtcblx0XHRvcGVuOiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblx0fSxcblxuXHRtZXRob2RzOiB7XG5cdFx0dG9nZ2xlTmF2aWdhdGlvbigpIHtcblx0XHRcdHRoaXMuJGVtaXQoJ3VwZGF0ZTpvcGVuJywgIXRoaXMub3Blbilcblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBzY29wZWQgbGFuZz1cInNjc3NcIj5cbkBpbXBvcnQgJy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlJztcblxuLmFwcC1uYXZpZ2F0aW9uLXRvZ2dsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblx0bWFyZ2luLXJpZ2h0OiAtICRjbGlja2FibGUtYXJlYTtcblx0d2lkdGg6ICRjbGlja2FibGUtYXJlYTtcblx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XG5cdHBhZGRpbmc6ICRpY29uLW1hcmdpbjtcblxuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDAuNjtcblxuXHRmb250LXNpemU6ICRpY29uLXNpemU7XG5cdGxpbmUtaGVpZ2h0OiAxN3B4O1xuXHRAaW5jbHVkZSBpY29uZm9udCgnbWVudScpO1xuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XG5cdH1cbn1cblxuPC9zdHlsZT5cbiIsIjwhLS1cbiAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIwIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XG4gLVxuIC0gQGF1dGhvciBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxuIC1cbiAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuIC1cbiAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuIC1cbiAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gLVxuIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuIC1cbiAtLT5cbjxkb2NzPlxuSnVzdCBuZXN0IHRoZSBgQXBwU2V0dGluZ1NlY3Rpb25zYCBjb21wb25lbnQgaW50byBgQXBwU2V0dGluZ3NEaWFsb2dgLFxucHJvdmlkaW5nIHRoZSBzZWN0aW9uJ3MgdGl0bGUgcHJvcC4gWW91IGNhbiBwdXQgeW91ciBzZXR0aW5ncyB3aXRoaW4gZWFjaFxuYEFwcFNldHRpbmdzU2VjdGlvbmAgY29tcG9uZW50LlxuXG5gYGB2dWVcbjx0ZW1wbGF0ZT5cblx0PGRpdj5cblx0XHQ8YnV0dG9uIEBjbGljaz1cInNldHRpbmdzT3BlbiA9IHRydWVcIj5TaG93IFNldHRpbmdzPC9idXR0b24+XG5cdFx0PEFwcFNldHRpbmdzRGlhbG9nIDpvcGVuLnN5bmM9XCJzZXR0aW5nc09wZW5cIiA+XG5cdFx0XHQ8QXBwU2V0dGluZ3NTZWN0aW9uIHRpdGxlPVwiRXhhbXBsZSB0aXRsZSAxXCI+XG5cdFx0XHRcdFNvbWUgZXhhbXBsZSBjb250ZW50XG5cdFx0XHQ8L0FwcFNldHRpbmdzU2VjdGlvbj5cblx0XHRcdDxBcHBTZXR0aW5nc1NlY3Rpb24gdGl0bGU9XCJFeGFtcGxlIHRpdGxlIDJcIj5cblx0XHRcdFx0U29tZSBtb3JlIGNvbnRlbnRcblx0XHRcdDwvQXBwU2V0dGluZ3NTZWN0aW9uPlxuXHRcdDwvQXBwU2V0dGluZ3NEaWFsb2c+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0c2V0dGluZ3NPcGVuOiBmYWxzZSxcblx0XHR9XG5cdH0sXG59XG48L3NjcmlwdD5cbmBgYFxuPC9kb2NzPlxuXG48c2NyaXB0PlxuaW1wb3J0IE1vZGFsIGZyb20gJy4uL01vZGFsJ1xuaW1wb3J0IGlzTW9iaWxlIGZyb20gJy4uLy4uL21peGlucy9pc01vYmlsZSdcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdkZWJvdW5jZSdcblxuZXhwb3J0IGRlZmF1bHQge1xuXG5cdG5hbWU6ICdBcHBTZXR0aW5nc0RpYWxvZycsXG5cblx0Y29tcG9uZW50czoge1xuXHRcdE1vZGFsLFxuXHR9LFxuXG5cdG1peGluczogW2lzTW9iaWxlXSxcblxuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIERldGVybWluZXMgdGhlIG9wZW4gLyBjbG9zZWQgc3RhdGUgb2YgdGhlIG1vZGFsXG5cdFx0ICovXG5cdFx0b3Blbjoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogU2hvd3MgdGhlIG5hdmlnYXRpb24gb24gZGVza3RvcCBpZiB0cnVlXG5cdFx0ICovXG5cdFx0c2hvd05hdmlnYXRpb246IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogU2VsZWN0b3IgZm9yIHRoZSBwb3BvdmVyIGNvbnRhaW5lclxuXHRcdCAqL1xuXHRcdGNvbnRhaW5lcjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJ2JvZHknLFxuXHRcdH0sXG5cdH0sXG5cblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0c2VsZWN0ZWRTZWN0aW9uOiAnJyxcblx0XHRcdGxpbmtDbGlja2VkOiBmYWxzZSxcblx0XHRcdGFkZGVkU2Nyb2xsTGlzdGVuZXI6IGZhbHNlLFxuXHRcdFx0c2Nyb2xsZXI6IG51bGwsXG5cdFx0fVxuXHR9LFxuXG5cdGNvbXB1dGVkOiB7XG5cblx0XHRoYXNOYXZpZ2F0aW9uKCkge1xuXHRcdFx0aWYgKHRoaXMuaXNNb2JpbGUgfHwgIXRoaXMuc2hvd05hdmlnYXRpb24pIHtcblx0XHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gdHJ1ZVxuXHRcdFx0fVxuXHRcdH0sXG5cblx0XHRzZXR0aW5nc05hdmlnYXRpb25BcmlhTGFiZWwoKSB7XG5cdFx0XHRyZXR1cm4gdCgnU2V0dGluZ3MgbmF2aWdhdGlvbicpXG5cdFx0fSxcblx0fSxcblxuXHRtb3VudGVkKCkge1xuXHRcdC8vIFNlbGVjdCBmaXJzdCBzZXR0aW5ncyBzZWN0aW9uXG5cdFx0dGhpcy5zZWxlY3RlZFNlY3Rpb24gPSB0aGlzLiRzbG90cy5kZWZhdWx0WzBdLmNvbXBvbmVudE9wdGlvbnMucHJvcHNEYXRhLnRpdGxlXG5cdH0sXG5cblx0dXBkYXRlZCgpIHtcblx0XHQvLyBDaGVjayB0aGF0IHRoZSBzY3JvbGxlciBlbGVtZW50IGhhcyBiZWVuIG1vdW50ZWRcblx0XHRpZiAoIXRoaXMuJHJlZnMuc2V0dGluZ3NTY3JvbGxlcikge1xuXHRcdFx0cmV0dXJuXG5cdFx0fVxuXHRcdC8vIEdldCB0aGUgc2Nyb2xsZXIgZWxlbWVudFxuXHRcdHRoaXMuc2Nyb2xsZXIgPSB0aGlzLiRyZWZzLnNldHRpbmdzU2Nyb2xsZXJcblx0XHRpZiAoIXRoaXMuYWRkZWRTY3JvbGxMaXN0ZW5lcikge1xuXHRcdFx0dGhpcy5zY3JvbGxlci5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLmhhbmRsZVNjcm9sbClcblx0XHRcdHRoaXMuYWRkZWRTY3JvbGxMaXN0ZW5lciA9IHRydWVcblx0XHR9XG5cblx0fSxcblxuXHRtZXRob2RzOiB7XG5cblx0XHQvKipcblx0XHQgKiBCdWlsZHMgdGhlIHNldHRpbmdzIG5hdmlnYXRpb24gbWVudVxuXHRcdCAqIEBwYXJhbSB7b2JqZWN0fSBzbG90cyBUaGUgZGVmYXVsdCBzbG90cyBvYmplY3QgcGFzc2VkIGZyb20gdGhlIHJlbmRlciBmdW5jdGlvbi5cblx0XHQgKiBAcmV0dXJucyB7YXJyYXl9IHRoZSBuYXZpZ2F0aW9uIGl0ZW1zXG5cdFx0ICovXG5cdFx0Z2V0U2V0dGluZ3NOYXZpZ2F0aW9uKHNsb3RzKSB7XG5cdFx0XHQvLyBBcnJheSBvZiBuYXZpZ2F0aW9uaXRlbXMgc3RyaW5nc1xuXHRcdFx0Y29uc3QgbmF2aWdhdGlvbkl0ZW1zID0gc2xvdHMuZmlsdGVyKHZOb2RlID0+IHZOb2RlLmNvbXBvbmVudE9wdGlvbnMpLm1hcCh2Tm9kZSA9PiB2Tm9kZS5jb21wb25lbnRPcHRpb25zLnByb3BzRGF0YT8udGl0bGUpXG5cdFx0XHQvLyBDaGVjayBmb3IgdGhlIHVuaXF1ZW5lc3Mgb2Ygc2VjdGlvbiB0aXRsZXNcblx0XHRcdG5hdmlnYXRpb25JdGVtcy5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuXHRcdFx0XHRjb25zdCBuZXdBcnJheSA9IFsuLi5uYXZpZ2F0aW9uSXRlbXNdXG5cdFx0XHRcdG5ld0FycmF5LnNwbGljZShpbmRleCwgMSlcblx0XHRcdFx0aWYgKG5ld0FycmF5LmluZGV4T2YoZWxlbWVudCkgIT09IC0xKSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKGBEdXBsaWNhdGUgc2VjdGlvbiB0aXRsZSBmb3VuZDogJHtlbGVtZW50fS4gU2V0dGluZ3MgbmF2aWdhdGlvbiBzZWN0aW9ucyBtdXN0IGhhdmUgdW5pcXVlIHNlY3Rpb24gdGl0bGVzLmApXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0XHRyZXR1cm4gbmF2aWdhdGlvbkl0ZW1zXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIFNjcm9sbHMgdGhlIGNvbnRlbnQgdG8gdGhlIHNlbGVjdGVkIHNldHRpbmdzIHNlY3Rpb24uYWJzb2x1dGVcblx0XHQgKiBAcGFyYW0ge3N0cmluZ30gaXRlbSB0aGUgbmFtZSBvZiB0aGUgc2VjdGlvblxuXHRcdCAqL1xuXHRcdGhhbmRsZVNldHRpbmdzTmF2aWdhdGlvbkNsaWNrKGl0ZW0pIHtcblx0XHRcdHRoaXMubGlua0NsaWNrZWQgPSB0cnVlXG5cdFx0XHRkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2V0dGluZ3Mtc2VjdGlvbl8nICsgaXRlbS5yZXBsYWNlKC9cXHMrL2csICcnKSkuc2Nyb2xsSW50b1ZpZXcoe1xuXHRcdFx0XHRiZWhhdmlvcjogJ3Ntb290aCcsXG5cdFx0XHRcdGlubGluZTogJ25lYXJlc3QnLFxuXHRcdFx0fSlcblx0XHRcdHRoaXMuc2VsZWN0ZWRTZWN0aW9uID0gaXRlbVxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdHRoaXMubGlua0NsaWNrZWQgPSBmYWxzZVxuXHRcdFx0fSwgMTAwMClcblx0XHR9LFxuXG5cdFx0aGFuZGxlQ2xvc2VNb2RhbCgpIHtcblx0XHRcdHRoaXMuJGVtaXQoJ3VwZGF0ZTpvcGVuJywgZmFsc2UpXG5cdFx0XHQvLyBSZW1vdmUgc2Nyb2xsIGxpc3RlbmVyIGVhY2ggdGltZSB0aGUgbW9kYWwgaXMgY2xvc2VkXG5cdFx0XHR0aGlzLnNjcm9sbGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuaGFuZGxlU2Nyb2xsKVxuXHRcdFx0dGhpcy5hZGRlZFNjcm9sbExpc3RlbmVyID0gZmFsc2Vcblx0XHRcdHRoaXMuc2Nyb2xsZXIuc2Nyb2xsVG9wID0gMFxuXHRcdH0sXG5cblx0XHRoYW5kbGVTY3JvbGwoKSB7XG5cdFx0XHRpZiAoIXRoaXMubGlua0NsaWNrZWQpIHtcblx0XHRcdFx0dGhpcy51bmZvY3VzTmF2aWdhdGlvbkl0ZW0oKVxuXHRcdFx0fVxuXHRcdH0sXG5cblx0XHQvLyBSZW1vdmUgc2VsZWN0ZWQgc2VjdGlvbiBvbmNlIHRoZSB1c2VyIHN0YXJ0cyBzY3JvbGxpbmdcblx0XHR1bmZvY3VzTmF2aWdhdGlvbkl0ZW06IGRlYm91bmNlKGZ1bmN0aW9uKCkge1xuXHRcdFx0dGhpcy5zZWxlY3RlZFNlY3Rpb24gPSAnJ1xuXHRcdFx0aWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuY2xhc3NOYW1lLmluY2x1ZGVzKCduYXZpZ2F0aW9uLWxpc3RfX2xpbmsnKSkge1xuXHRcdFx0XHRkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKVxuXHRcdFx0fVxuXHRcdH0sIDMwMCksXG5cblx0XHRoYW5kbGVMaW5rS2V5ZG93bihrZXlEb3duRXZlbnQsIGl0ZW0pIHtcblx0XHRcdGlmIChrZXlEb3duRXZlbnQuY29kZSA9PT0gJ0VudGVyJykge1xuXHRcdFx0XHR0aGlzLmhhbmRsZVNldHRpbmdzTmF2aWdhdGlvbkNsaWNrKGl0ZW0pXG5cdFx0XHR9XG5cdFx0fSxcblx0fSxcblxuXHRyZW5kZXIoY3JlYXRlRWxlbWVudCkge1xuXHRcdC8qKlxuXHRcdCAqIEJ1aWxkIHRoZSBuYXZpZ2F0aW9uXG5cdFx0ICogQHJldHVybnMge29iamVjdH0gdGhlIG5hdmlnYXRpb25cblx0XHQgKi9cblx0XHRjb25zdCBjcmVhdGVBcHBTZXR0aW5nc05hdmlnYXRpb24gPSAoKSA9PiB7XG5cdFx0XHRpZiAodGhpcy5oYXNOYXZpZ2F0aW9uKSB7XG5cdFx0XHRcdHJldHVybiBbY3JlYXRlRWxlbWVudCgnZGl2Jywge1xuXHRcdFx0XHRcdGF0dHJzOiB7XG5cdFx0XHRcdFx0XHRjbGFzczogJ2FwcC1zZXR0aW5nc19fbmF2aWdhdGlvbicsXG5cdFx0XHRcdFx0XHRyb2xlOiAndGFibGlzdCcsXG5cdFx0XHRcdFx0XHQnYXJpYS1sYWJlbCc6IHRoaXMuc2V0dGluZ3NOYXZpZ2F0aW9uQXJpYUxhYmVsLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdH0sIFtjcmVhdGVFbGVtZW50KCd1bCcsIHtcblx0XHRcdFx0XHRhdHRyczoge1xuXHRcdFx0XHRcdFx0Y2xhc3M6ICduYXZpZ2F0aW9uLWxpc3QnLFxuXHRcdFx0XHRcdFx0cm9sZTogJ3RhYmxpc3QnLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdH0sIHRoaXMuZ2V0U2V0dGluZ3NOYXZpZ2F0aW9uKHRoaXMuJHNsb3RzLmRlZmF1bHQpLm1hcChpdGVtID0+IHtcblx0XHRcdFx0XHRyZXR1cm4gY3JlYXRlTGlzdEVsZW10ZW50KGl0ZW0pXG5cdFx0XHRcdH0pKV0pXVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIFtdXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0ICogQnVpbGQgZWFjaCBsaXN0IGVsZW1lbnQgaW4gdGhlIG5hdmlnYXRpb25cblx0XHQgKiBAcGFyYW0ge29iamVjdH0gaXRlbSB0aGUgbmF2aWdhdGlvbiBpdGVtXG5cdFx0ICogQHJldHVybnMge29iamVjdH0gdGhlIGxpc3QgZWxlbWVudFxuXHRcdCAqL1xuXHRcdGNvbnN0IGNyZWF0ZUxpc3RFbGVtdGVudCA9IChpdGVtKSA9PiBjcmVhdGVFbGVtZW50KCdsaScsIHt9LCBbY3JlYXRlRWxlbWVudCgnYScsIHtcblx0XHRcdGNsYXNzOiB7XG5cdFx0XHRcdCduYXZpZ2F0aW9uLWxpc3RfX2xpbmsnOiB0cnVlLFxuXHRcdFx0XHQnbmF2aWdhdGlvbi1saXN0X19saW5rLS1hY3RpdmUnOiBpdGVtID09PSB0aGlzLnNlbGVjdGVkU2VjdGlvbixcblx0XHRcdH0sXG5cblx0XHRcdGF0dHJzOiB7XG5cdFx0XHRcdHJvbGU6ICd0YWInLFxuXHRcdFx0XHQnYXJpYS1zZWxlY3RlZCc6IGl0ZW0gPT09IHRoaXMuc2VsZWN0ZWRTZWN0aW9uLFxuXHRcdFx0XHR0YWJpbmRleDogJzAnLFxuXHRcdFx0fSxcblxuXHRcdFx0b246IHtcblx0XHRcdFx0Y2xpY2s6ICgpID0+IHRoaXMuaGFuZGxlU2V0dGluZ3NOYXZpZ2F0aW9uQ2xpY2soaXRlbSksXG5cdFx0XHRcdGtleWRvd246ICgpID0+IHRoaXMuaGFuZGxlTGlua0tleWRvd24oZXZlbnQsIGl0ZW0pLFxuXHRcdFx0fSxcblx0XHR9LCBpdGVtKV0pXG5cblx0XHQvLyBSZXR1cm4gdmFsdWUgb2YgdGhlIHJlbmRlciBmdW5jdGlvblxuXHRcdGlmICh0aGlzLm9wZW4pIHtcblx0XHRcdHJldHVybiBjcmVhdGVFbGVtZW50KCdNb2RhbCcsIHtcblx0XHRcdFx0YXR0cnM6IHtcblx0XHRcdFx0XHRjb250YWluZXI6IHRoaXMuY29udGFpbmVyLFxuXHRcdFx0XHR9LFxuXHRcdFx0XHRvbjoge1xuXHRcdFx0XHRcdGNsb3NlOiAoKSA9PiB7IHRoaXMuaGFuZGxlQ2xvc2VNb2RhbCgpIH0sXG5cdFx0XHRcdH0sXG5cdFx0XHR9LCBbXG5cdFx0XHRcdGNyZWF0ZUVsZW1lbnQoJ2RpdicsIHtcblx0XHRcdFx0XHRhdHRyczoge1xuXHRcdFx0XHRcdFx0Y2xhc3M6ICdhcHAtc2V0dGluZ3MnLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdH0sIFsuLi5jcmVhdGVBcHBTZXR0aW5nc05hdmlnYXRpb24oKSxcblx0XHRcdFx0XHRjcmVhdGVFbGVtZW50KCdkaXYnLCB7XG5cdFx0XHRcdFx0XHRhdHRyczoge1xuXHRcdFx0XHRcdFx0XHRjbGFzczogJ2FwcC1zZXR0aW5nc19fY29udGVudCcsXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0cmVmOiAnc2V0dGluZ3NTY3JvbGxlcicsXG5cdFx0XHRcdFx0fSwgdGhpcy4kc2xvdHMuZGVmYXVsdCldKSxcblx0XHRcdF0pXG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB1bmRlZmluZWRcblx0XHR9XG5cdH0sXG59XG5cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG5cbjo6di1kZWVwIC5tb2RhbC13cmFwcGVyIC5tb2RhbC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uYXBwLXNldHRpbmdzIHtcblx0ZGlzcGxheTogZmxleDtcblx0d2lkdGg6IDEwMCU7XG5cdCZfX25hdmlnYXRpb24ge1xuXHRcdG1pbi13aWR0aDogMjAwcHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHR9XG5cdCZfX2NvbnRlbnQge1xuXHRcdG1heC13aWR0aDogMTAwdnc7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdFx0cGFkZGluZzogMjRweDtcblx0fVxufVxuXG4ubmF2aWdhdGlvbi1saXN0IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHQmX19saW5rIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XG5cdFx0bWFyZ2luOiA0cHg7XG5cdFx0bGluZS1oZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdHBhZGRpbmc6IDAgMjBweDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG5cdFx0fVxuXHRcdCYtLWFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuXG48L3N0eWxlPlxuIiwiPCEtLVxuIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMjAgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAtXG4gLSBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XG4gLVxuIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gLVxuIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gLVxuIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAtXG4gLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gLVxuIC0tPmBcblxuPHRlbXBsYXRlPlxuXHQ8ZGl2IDppZD1cImlkXCIgY2xhc3M9XCJhcHAtc2V0dGluZ3Mtc2VjdGlvblwiPlxuXHRcdDxoMyA6aWQ9XCJ0aXRsZVwiXG5cdFx0XHRjbGFzcz1cImFwcC1zZXR0aW5ncy1zZWN0aW9uX190aXRsZVwiPlxuXHRcdFx0e3sgdGl0bGUgfX1cblx0XHQ8L2gzPlxuXHRcdDxzbG90IC8+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0FwcFNldHRpbmdzU2VjdGlvbicsXG5cblx0cHJvcHM6IHtcblx0XHR0aXRsZToge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblx0fSxcblx0Y29tcHV0ZWQ6IHtcblx0XHQvLyBnZW5lcmF0ZSBhbiBpZCBmb3IgZWFjaCBzZXR0aW5nc3NlY3Rpb24gYmFzZWQgb24gdGhlIHRpdGxlIHdpdGhvdXQgd2hpdGVzcGFjZXNcblx0XHRpZCgpIHtcblx0XHRcdHJldHVybiAnc2V0dGluZ3Mtc2VjdGlvbl8nICsgdGhpcy50aXRsZS5yZXBsYWNlKC9cXHMrL2csICcnKVxuXHRcdH0sXG5cdH0sXG59XG5cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4uYXBwLXNldHRpbmdzLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiA4MHB4O1xuXHQmX190aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0fVxufVxuPC9zdHlsZT5cbiIsIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICAtXG4gIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAgLVxuICAtLT5cblxuPGRvY3M+XG4jIyMgR2VuZXJhbCBkZXNjcmlwdGlvblxuXG5UaGlzIGNvbXBvbmVudCBwcm92aWRlcyBhIHdheSB0byBpbmNsdWRlIHRoZSBzdGFuZGFyZGlzZWQgc2lkZWJhci5cblRoZSBzdGFuZGFyZCBwcm9wZXJ0aWVzIGxpa2UgdGl0bGUsIHN1YnRpdGxlLCBzdGFycmVkLCBldGMuIGFsbG93IHRvIGF1dG9tYXRpY2FsbHlcbmluY2x1ZGUgYSBzdGFuZGFyZC1oZWFkZXIgbGlrZSBpdCdzIHVzZWQgYnkgdGhlIGZpbGVzIGFwcC5cblxuIyMjIFN0YW5kYXJkIHVzYWdlXG5cbmBgYHZ1ZVxuPEFwcFNpZGViYXJcblx0dGl0bGU9XCJjYXQtcGljdHVyZS5qcGdcIlxuXHRzdWJ0aXRsZT1cImxhc3QgZWRpdGVkIDMgd2Vla3MgYWdvXCI+XG5cdDxBcHBTaWRlYmFyVGFiIGljb249XCJpY29uLXNldHRpbmdzXCIgbmFtZT1cIlNldHRpbmdzXCIgaWQ9XCJzZXR0aW5nc1wiPlxuXHRcdFNldHRpbmdzIHRhYiBjb250ZW50XG5cdDwvQXBwU2lkZWJhclRhYj5cblx0PEFwcFNpZGViYXJUYWIgaWNvbj1cImljb24tc2hhcmVcIiBuYW1lPVwiU2hhcmluZ1wiIGlkPVwic2hhcmVcIj5cblx0XHRTaGFyaW5nIHRhYiBjb250ZW50XG5cdDwvQXBwU2lkZWJhclRhYj5cbjwvQXBwU2lkZWJhcj5cbmBgYFxuXG4jIyMgRWRpdGFibGUgdGl0bGVcblxuYGBgdnVlXG48dGVtcGxhdGU+XG5cdDxBcHBTaWRlYmFyXG5cdFx0OnRpdGxlLnN5bmM9XCJ0aXRsZVwiXG5cdFx0OnRpdGxlLWVkaXRhYmxlPVwidHJ1ZVwiXG5cdFx0dGl0bGUtcGxhY2Vob2xkZXI9XCJGaWxlbmFtZVwiXG5cdFx0c3VidGl0bGU9XCJsYXN0IGVkaXRlZCAzIHdlZWtzIGFnb1wiPlxuXHRcdDwhLS0gSW5zZXJ0IHlvdXIgc2xvdHMgYW5kIHRhYnMgaGVyZSAtLT5cblx0PC9BcHBTaWRlYmFyPlxuPC90ZW1wbGF0ZT5cbjxzY3JpcHQ+XG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dGl0bGU6ICdjYXQtcGljdHVyZS5qcGcnLFxuXHRcdFx0fVxuXHRcdH0sXG5cdH1cbjwvc2NyaXB0PlxuYGBgXG5cbiMjIyBFZGl0YWJsZSB0aXRsZSBhZnRlciBjbGljayB3aXRoIGN1c3RvbSB0ZXJ0aWFyeSBhY3Rpb25cblxuYGBgdnVlXG48dGVtcGxhdGU+XG5cdDxBcHBTaWRlYmFyXG5cdFx0OnRpdGxlPVwidGl0bGVcIlxuXHRcdDp0aXRsZS1lZGl0YWJsZS5zeW5jPVwidGl0bGVFZGl0YWJsZVwiXG5cdFx0OnRpdGxlLXBsYWNlaG9sZGVyPVwidGl0bGVQbGFjZWhvbGRlclwiXG5cdFx0OnN1YnRpdGxlPVwic3VidGl0bGVcIlxuXHRcdEB1cGRhdGU6dGl0bGU9XCJ0aXRsZVVwZGF0ZVwiPlxuXHRcdDx0ZW1wbGF0ZSBzbG90PVwidGVydGlhcnktYWN0aW9uc1wiPlxuXHRcdFx0PGZvcm0+XG5cdFx0XHRcdDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBAY2xpY2s9XCJ0b2dnbGVkQ2hlY2tib3hcIi8+XG5cdFx0XHQ8L2Zvcm0+XG5cdFx0PC90ZW1wbGF0ZT5cblx0PC9BcHBTaWRlYmFyPlxuPC90ZW1wbGF0ZT5cbjxzY3JpcHQ+XG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dGl0bGU6ICdjYXQtcGljdHVyZS5qcGcnLFxuXHRcdFx0XHR0aXRsZVBsYWNlaG9sZGVyOiAnRmlsZW5hbWUnLFxuXHRcdFx0XHRzdWJ0aXRsZTogJ2xhc3QgZWRpdGVkIDMgd2Vla3MgYWdvJyxcblx0XHRcdFx0dGl0bGVFZGl0YWJsZTogZmFsc2Vcblx0XHRcdH1cblx0XHR9LFxuXHRcdG1ldGhvZHM6IHtcblx0XHRcdHRpdGxlVXBkYXRlKGUpIHtcblx0XHRcdFx0dGhpcy50aXRsZSA9IGVcblx0XHRcdH0sXG5cdFx0XHR0b2dnbGVkQ2hlY2tib3goKSB7XG5cdFx0XHRcdGFsZXJ0KCd0b2dnbGUnKVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuPC9zY3JpcHQ+XG5gYGBcblxuIyMjIEVtcHR5IHNpZGViYXIgZm9yIGUuZy4gZW1wdHkgY29udGVudCBjb21wb25lbnQuXG5cbmBgYHZ1ZVxuPHRlbXBsYXRlPlxuXHQ8QXBwU2lkZWJhclxuXHRcdHRpdGxlPVwiY2F0LXBpY3R1cmUuanBnXCJcblx0XHQ6ZW1wdHk9XCJ0cnVlXCI+XG5cdFx0PEVtcHR5Q29udGVudCBpY29uPVwiaWNvbi1zZWFyY2hcIj5cblx0XHRcdENvbnRlbnQgbm90IGZvdW5kLlxuXHRcdDwvRW1wdHlDb250ZW50PlxuXHQ8L0FwcFNpZGViYXI+XG48L3RlbXBsYXRlPlxuYGBgXG48L2RvY3M+XG5cbjx0ZW1wbGF0ZT5cblx0PHRyYW5zaXRpb25cblx0XHRhcHBlYXJcblx0XHRuYW1lPVwic2xpZGUtcmlnaHRcIlxuXHRcdEBiZWZvcmUtZW50ZXI9XCJvbkJlZm9yZUVudGVyXCJcblx0XHRAYWZ0ZXItZW50ZXI9XCJvbkFmdGVyRW50ZXJcIlxuXHRcdEBiZWZvcmUtbGVhdmU9XCJvbkJlZm9yZUxlYXZlXCJcblx0XHRAYWZ0ZXItbGVhdmU9XCJvbkFmdGVyTGVhdmVcIj5cblx0XHQ8YXNpZGUgaWQ9XCJhcHAtc2lkZWJhci12dWVcIiBjbGFzcz1cImFwcC1zaWRlYmFyXCI+XG5cdFx0XHQ8aGVhZGVyIDpjbGFzcz1cIntcblx0XHRcdFx0XHQnYXBwLXNpZGViYXItaGVhZGVyLS13aXRoLWZpZ3VyZSc6IGhhc0ZpZ3VyZSxcblx0XHRcdFx0XHQnYXBwLXNpZGViYXItaGVhZGVyLS1jb21wYWN0JzogY29tcGFjdCxcblx0XHRcdFx0fVwiXG5cdFx0XHRcdGNsYXNzPVwiYXBwLXNpZGViYXItaGVhZGVyXCI+XG5cdFx0XHRcdDwhLS0gY2xvc2Ugc2lkZWJhciBidXR0b24gLS0+XG5cdFx0XHRcdDxhXG5cdFx0XHRcdFx0di10b29sdGlwLmF1dG89XCJjbG9zZVRyYW5zbGF0ZWRcIlxuXHRcdFx0XHRcdGhyZWY9XCIjXCJcblx0XHRcdFx0XHRjbGFzcz1cImFwcC1zaWRlYmFyX19jbG9zZSBpY29uLWNsb3NlXCJcblx0XHRcdFx0XHRAY2xpY2sucHJldmVudD1cImNsb3NlU2lkZWJhclwiIC8+XG5cblx0XHRcdFx0PCEtLSBjb250YWluZXIgZm9yIGZpZ3VyZSBhbmQgZGVzY3JpcHRpb24sIGFsbG93cyBlYXN5IHN3aXRjaGluZyB0byBjb21wYWN0IG1vZGUgLS0+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJhcHAtc2lkZWJhci1oZWFkZXJfX2luZm9cIj5cblx0XHRcdFx0XHQ8IS0tIHNpZGViYXIgaGVhZGVyIGlsbHVzdHJhdGlvbi9maWd1cmUgLS0+XG5cdFx0XHRcdFx0PGRpdiB2LWlmPVwiaGFzRmlndXJlICYmICFlbXB0eVwiXG5cdFx0XHRcdFx0XHQ6Y2xhc3M9XCJ7XG5cdFx0XHRcdFx0XHRcdCdhcHAtc2lkZWJhci1oZWFkZXJfX2ZpZ3VyZS0td2l0aC1hY3Rpb24nOiBoYXNGaWd1cmVDbGlja0xpc3RlbmVyXG5cdFx0XHRcdFx0XHR9XCJcblx0XHRcdFx0XHRcdGNsYXNzPVwiYXBwLXNpZGViYXItaGVhZGVyX19maWd1cmVcIlxuXHRcdFx0XHRcdFx0OnN0eWxlPVwie1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kSW1hZ2U6IGB1cmwoJHtiYWNrZ3JvdW5kfSlgXG5cdFx0XHRcdFx0XHR9XCJcblx0XHRcdFx0XHRcdEBjbGljaz1cIm9uRmlndXJlQ2xpY2tcIj5cblx0XHRcdFx0XHRcdDxzbG90IGNsYXNzPVwiYXBwLXNpZGViYXItaGVhZGVyX19iYWNrZ3JvdW5kXCIgbmFtZT1cImhlYWRlclwiIC8+XG5cdFx0XHRcdFx0PC9kaXY+XG5cblx0XHRcdFx0XHQ8IS0tIHNpZGViYXIgZGV0YWlscyAtLT5cblx0XHRcdFx0XHQ8ZGl2IHYtaWY9XCIhZW1wdHlcIlxuXHRcdFx0XHRcdFx0OmNsYXNzPVwie1xuXHRcdFx0XHRcdFx0XHQnYXBwLXNpZGViYXItaGVhZGVyX19kZXNjLS13aXRoLXRlcnRpYXJ5LWFjdGlvbic6IGNhblN0YXIgfHwgJHNsb3RzWyd0ZXJ0aWFyeS1hY3Rpb25zJ10sXG5cdFx0XHRcdFx0XHRcdCdhcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MtLWVkaXRhYmxlJzogdGl0bGVFZGl0YWJsZSAmJiAhc3VidGl0bGUsXG5cdFx0XHRcdFx0XHRcdCdhcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MtLXdpdGgtc3VidGl0bGUtLWVkaXRhYmxlJzogdGl0bGVFZGl0YWJsZSAmJiBzdWJ0aXRsZSxcblx0XHRcdFx0XHRcdFx0J2FwcC1zaWRlYmFyLWhlYWRlcl9fZGVzYy0td2l0aG91dC1hY3Rpb25zJzogISRzbG90c1snc2Vjb25kYXJ5LWFjdGlvbnMnXSxcblx0XHRcdFx0XHRcdH1cIlxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJhcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2NcIj5cblx0XHRcdFx0XHRcdDwhLS0gZmF2b3VyaXRlIGljb24gLS0+XG5cdFx0XHRcdFx0XHQ8ZGl2IHYtaWY9XCJjYW5TdGFyIHx8ICRzbG90c1sndGVydGlhcnktYWN0aW9ucyddXCIgY2xhc3M9XCJhcHAtc2lkZWJhci1oZWFkZXJfX3RlcnRpYXJ5LWFjdGlvbnNcIj5cblx0XHRcdFx0XHRcdFx0PHNsb3QgbmFtZT1cInRlcnRpYXJ5LWFjdGlvbnNcIj5cblx0XHRcdFx0XHRcdFx0XHQ8YSB2LWlmPVwiY2FuU3RhclwiXG5cdFx0XHRcdFx0XHRcdFx0XHQ6Y2xhc3M9XCJ7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdCdpY29uLXN0YXJyZWQnOiBpc1N0YXJyZWQgJiYgIXN0YXJMb2FkaW5nLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQnaWNvbi1zdGFyJzogIWlzU3RhcnJlZCAmJiAhc3RhckxvYWRpbmcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCdpY29uLWxvYWRpbmctc21hbGwnOiBzdGFyTG9hZGluZyxcblx0XHRcdFx0XHRcdFx0XHRcdH1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJhcHAtc2lkZWJhci1oZWFkZXJfX3N0YXJcIlxuXHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrLnByZXZlbnQ9XCJ0b2dnbGVTdGFycmVkXCIgLz5cblx0XHRcdFx0XHRcdFx0PC9zbG90PlxuXHRcdFx0XHRcdFx0PC9kaXY+XG5cblx0XHRcdFx0XHRcdDwhLS0gdGl0bGUgLS0+XG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYXBwLXNpZGViYXItaGVhZGVyX190aXRsZS1jb250YWluZXJcIj5cblx0XHRcdFx0XHRcdFx0PCEtLSBtYWluIHRpdGxlIC0tPlxuXHRcdFx0XHRcdFx0XHQ8aDIgdi1zaG93PVwiIXRpdGxlRWRpdGFibGVcIlxuXHRcdFx0XHRcdFx0XHRcdHYtbGlua2lmeT1cInt0ZXh0OiB0aXRsZSwgbGlua2lmeTogbGlua2lmeVRpdGxlfVwiXG5cdFx0XHRcdFx0XHRcdFx0di10b29sdGlwLmF1dG89XCJ0aXRsZVRvb2x0aXBcIlxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiYXBwLXNpZGViYXItaGVhZGVyX19tYWludGl0bGVcIlxuXHRcdFx0XHRcdFx0XHRcdEBjbGljay5zZWxmPVwiZWRpdFRpdGxlXCI+XG5cdFx0XHRcdFx0XHRcdFx0e3sgdGl0bGUgfX1cblx0XHRcdFx0XHRcdFx0PC9oMj5cblx0XHRcdFx0XHRcdFx0PHRlbXBsYXRlIHYtaWY9XCJ0aXRsZUVkaXRhYmxlXCI+XG5cdFx0XHRcdFx0XHRcdFx0PGZvcm1cblx0XHRcdFx0XHRcdFx0XHRcdHYtY2xpY2stb3V0c2lkZT1cIigpID0+IG9uU3VibWl0VGl0bGUoKVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cImFwcC1zaWRlYmFyLWhlYWRlcl9fbWFpbnRpdGxlLWZvcm1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0QHN1Ym1pdC5wcmV2ZW50PVwib25TdWJtaXRUaXRsZVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGlucHV0XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJlZj1cInRpdGxlSW5wdXRcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2LWZvY3VzXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiYXBwLXNpZGViYXItaGVhZGVyX19tYWludGl0bGUtaW5wdXRcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlPVwidGV4dFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDpwbGFjZWhvbGRlcj1cInRpdGxlUGxhY2Vob2xkZXJcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ6dmFsdWU9XCJ0aXRsZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEBrZXlkb3duLmVzYz1cIm9uRGlzbWlzc0VkaXRpbmdcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRAaW5wdXQ9XCJvblRpdGxlSW5wdXRcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxidXR0b25cblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJpY29uLWNvbmZpcm1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlPVwic3VibWl0XCIgLz5cblx0XHRcdFx0XHRcdFx0XHQ8L2Zvcm0+XG5cdFx0XHRcdFx0XHRcdDwvdGVtcGxhdGU+XG5cdFx0XHRcdFx0XHRcdDwhLS0gc2Vjb25kYXJ5IHRpdGxlIC0tPlxuXHRcdFx0XHRcdFx0XHQ8cFxuXHRcdFx0XHRcdFx0XHRcdHYtaWY9XCJzdWJ0aXRsZS50cmltKCkgIT09ICcnXCJcblx0XHRcdFx0XHRcdFx0XHR2LXRvb2x0aXAuYXV0bz1cInN1YnRpdGxlVG9vbHRpcFwiXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJhcHAtc2lkZWJhci1oZWFkZXJfX3N1YnRpdGxlXCI+XG5cdFx0XHRcdFx0XHRcdFx0e3sgc3VidGl0bGUgfX1cblx0XHRcdFx0XHRcdFx0PC9wPlxuXHRcdFx0XHRcdFx0PC9kaXY+XG5cblx0XHRcdFx0XHRcdDwhLS0gaGVhZGVyIG1haW4gbWVudSAtLT5cblx0XHRcdFx0XHRcdDxBY3Rpb25zIHYtaWY9XCIkc2xvdHNbJ3NlY29uZGFyeS1hY3Rpb25zJ11cIiBjbGFzcz1cImFwcC1zaWRlYmFyLWhlYWRlcl9fbWVudVwiIDpmb3JjZS1tZW51PVwiZm9yY2VNZW51XCI+XG5cdFx0XHRcdFx0XHRcdDxzbG90IG5hbWU9XCJzZWNvbmRhcnktYWN0aW9uc1wiIC8+XG5cdFx0XHRcdFx0XHQ8L0FjdGlvbnM+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8ZGl2IHYtaWY9XCIkc2xvdHNbJ2Rlc2NyaXB0aW9uJ10gJiYgIWVtcHR5XCIgY2xhc3M9XCJhcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2NyaXB0aW9uXCI+XG5cdFx0XHRcdFx0PHNsb3QgbmFtZT1cImRlc2NyaXB0aW9uXCIgLz5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2hlYWRlcj5cblxuXHRcdFx0PEFwcFNpZGViYXJUYWJzIHYtc2hvdz1cIiFsb2FkaW5nXCJcblx0XHRcdFx0cmVmPVwidGFic1wiXG5cdFx0XHRcdDphY3RpdmU9XCJhY3RpdmVcIlxuXHRcdFx0XHRAdXBkYXRlOmFjdGl2ZT1cIm9uVXBkYXRlQWN0aXZlXCI+XG5cdFx0XHRcdDxzbG90IC8+XG5cdFx0XHQ8L0FwcFNpZGViYXJUYWJzPlxuXG5cdFx0XHQ8RW1wdHlDb250ZW50IHYtaWY9XCJsb2FkaW5nXCIgaWNvbj1cImljb24tbG9hZGluZ1wiIC8+XG5cdFx0PC9hc2lkZT5cblx0PC90cmFuc2l0aW9uPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBBY3Rpb25zIGZyb20gJy4uL0FjdGlvbnMnXG5pbXBvcnQgRm9jdXMgZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9Gb2N1cydcbmltcG9ydCBMaW5raWZ5IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvTGlua2lmeSdcbmltcG9ydCBUb29sdGlwIGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvVG9vbHRpcCdcbmltcG9ydCBBcHBTaWRlYmFyVGFicyBmcm9tICcuL0FwcFNpZGViYXJUYWJzJ1xuaW1wb3J0IEVtcHR5Q29udGVudCBmcm9tICcuLi9FbXB0eUNvbnRlbnQvRW1wdHlDb250ZW50J1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uLy4uL2wxMG4nXG5pbXBvcnQgeyBkaXJlY3RpdmUgYXMgQ2xpY2tPdXRzaWRlIH0gZnJvbSAndi1jbGljay1vdXRzaWRlJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdBcHBTaWRlYmFyJyxcblxuXHRjb21wb25lbnRzOiB7XG5cdFx0QWN0aW9ucyxcblx0XHRBcHBTaWRlYmFyVGFicyxcblx0XHRFbXB0eUNvbnRlbnQsXG5cdH0sXG5cblx0ZGlyZWN0aXZlczoge1xuXHRcdGZvY3VzOiBGb2N1cyxcblx0XHRsaW5raWZ5OiBMaW5raWZ5LFxuXHRcdENsaWNrT3V0c2lkZSxcblx0XHRUb29sdGlwLFxuXHR9LFxuXG5cdHByb3BzOiB7XG5cdFx0YWN0aXZlOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXHRcdHRpdGxlOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBBbGxvdyB0byBlZGl0IHRoZSBzaWRlYmFyIHRpdGxlLlxuXHRcdCAqL1xuXHRcdHRpdGxlRWRpdGFibGU6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHRcdHRpdGxlUGxhY2Vob2xkZXI6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdH0sXG5cdFx0c3VidGl0bGU6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdH0sXG5cdFx0c3VidGl0bGVUb29sdGlwOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogVXJsIHRvIHRoZSB0b3AgaGVhZGVyIGJhY2tncm91bmQgaW1hZ2Vcblx0XHQgKiBBcHBsaWVkIHdpdGggY3NzXG5cdFx0ICovXG5cdFx0YmFja2dyb3VuZDoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEVuYWJsZSB0aGUgZmF2b3VyaXRlIGljb24gaWYgbm90IG51bGxcblx0XHQgKiBTZWUgZmlyZWQgZXZlbnRzXG5cdFx0ICovXG5cdFx0c3RhcnJlZDoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IG51bGwsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBTaG93IGxvYWRpbmcgc3Bpbm5lciBpbnN0ZWFkIG9mIHRoZSBzdGFyIGljb25cblx0XHQgKi9cblx0XHRzdGFyTG9hZGluZzoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogU2hvdyBsb2FkaW5nIHNwaW5uZXIgaW5zdGVhZCBvZiB0YWJzXG5cdFx0ICovXG5cdFx0bG9hZGluZzoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBEaXNwbGF5IHRoZSBzaWRlYmFyIGluIGNvbXBhY3QgbW9kZVxuXHRcdCAqL1xuXHRcdGNvbXBhY3Q6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogT25seSBkaXNwbGF5IGNsb3NlIGJ1dHRvbiBhbmQgZGVmYXVsdCBzbG90IGNvbnRlbnQuXG5cdFx0ICogRG9uJ3QgZGlzcGxheSBvdGhlciBoZWFkZXIgY29udGVudCBhbmQgcHJpbWFyeSBhbmQgc2Vjb25kYXJ5IGFjdGlvbnMuXG5cdFx0ICogVXNlZnVsIHdoZW4gc2hvd2luZyB0aGUgRW1wdHlDb250ZW50IGNvbXBvbmVudCBhcyBjb250ZW50LlxuXHRcdCAqL1xuXHRcdGVtcHR5OiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEZvcmNlIHRoZSBhY3Rpb25zIHRvIGRpc3BsYXkgaW4gYSB0aHJlZSBkb3QgbWVudVxuXHRcdCAqL1xuXHRcdGZvcmNlTWVudToge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBMaW5raWZ5IHRoZSB0aXRsZVxuXHRcdCAqL1xuXHRcdGxpbmtpZnlUaXRsZToge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBUb29sdGlwIHRvIGRpc3BsYXkgZm9yIHRoZSB0aXRsZS5cblx0XHQgKiBDYW4gYmUgc2V0IHRvIHRoZSBzYW1lIHRleHQgaW4gY2FzZSBpdCdzIHRvbyBsb25nLlxuXHRcdCAqL1xuXHRcdHRpdGxlVG9vbHRpcDoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblx0fSxcblxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRjbG9zZVRyYW5zbGF0ZWQ6IHQoJ0Nsb3NlJyksXG5cdFx0XHRpc1N0YXJyZWQ6IHRoaXMuc3RhcnJlZCxcblx0XHR9XG5cdH0sXG5cblx0Y29tcHV0ZWQ6IHtcblx0XHRjYW5TdGFyKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuaXNTdGFycmVkICE9PSBudWxsXG5cdFx0fSxcblx0XHRoYXNGaWd1cmUoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy4kc2xvdHMuaGVhZGVyIHx8IHRoaXMuYmFja2dyb3VuZFxuXHRcdH0sXG5cdFx0aGFzRmlndXJlQ2xpY2tMaXN0ZW5lcigpIHtcblx0XHRcdHJldHVybiB0aGlzLiRsaXN0ZW5lcnNbJ2ZpZ3VyZS1jbGljayddXG5cdFx0fSxcblx0fSxcblxuXHR3YXRjaDoge1xuXHRcdHN0YXJyZWQoKSB7XG5cdFx0XHR0aGlzLmlzU3RhcnJlZCA9IHRoaXMuc3RhcnJlZFxuXHRcdH0sXG5cdH0sXG5cblx0bWV0aG9kczoge1xuXHRcdG9uQmVmb3JlRW50ZXIoZWxlbWVudCkge1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBUaGUgc2lkZWJhciBpcyBvcGVuaW5nIGFuZCB0aGUgdHJhbnNpdGlvbiBpcyBpbiBwcm9ncmVzc1xuXHRcdFx0ICogQHR5cGUge0hUTUxFbGVtZW50fVxuXHRcdFx0ICovXG5cdFx0XHR0aGlzLiRlbWl0KCdvcGVuaW5nJywgZWxlbWVudClcblx0XHR9LFxuXHRcdG9uQWZ0ZXJFbnRlcihlbGVtZW50KSB7XG5cdFx0XHQvKipcblx0XHRcdCAqIFRoZSBzaWRlYmFyIGlzIG9wZW5lZCBhbmQgdGhlIHRyYW5zaXRpb24gaXMgY29tcGxldGVcblx0XHRcdCAqIEB0eXBlIHtIVE1MRWxlbWVudH1cblx0XHRcdCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgnb3BlbmVkJywgZWxlbWVudClcblx0XHR9LFxuXHRcdG9uQmVmb3JlTGVhdmUoZWxlbWVudCkge1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBUaGUgc2lkZWJhciBpcyBjbG9zaW5nIGFuZCB0aGUgdHJhbnNpdGlvbiBpcyBpbiBwcm9ncmVzc1xuXHRcdFx0ICogQHR5cGUge0hUTUxFbGVtZW50fVxuXHRcdFx0ICovXG5cdFx0XHR0aGlzLiRlbWl0KCdjbG9zaW5nJywgZWxlbWVudClcblx0XHR9LFxuXHRcdG9uQWZ0ZXJMZWF2ZShlbGVtZW50KSB7XG5cdFx0XHQvKipcblx0XHRcdCAqIFRoZSBzaWRlYmFyIGlzIGNsb3NlZCBhbmQgdGhlIHRyYW5zaXRpb24gaXMgY29tcGxldGVcblx0XHRcdCAqIEB0eXBlIHtIVE1MRWxlbWVudH1cblx0XHRcdCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgnY2xvc2VkJywgZWxlbWVudClcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogVXNlZCB0byB0ZWxsIHBhcmVudCBjb21wb25lbnQgdGhlIHVzZXIgYXNrZWQgdG8gY2xvc2UgdGhlIHNpZGViYXJcblx0XHQgKiBAcGFyYW0ge0V2ZW50fSBlIGNsb3NlIGljb24gY2xpY2sgZXZlbnRcblx0XHQgKi9cblx0XHRjbG9zZVNpZGViYXIoZSkge1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBUaGUgdXNlciBjbGlja2VkIHRvIGNsb3NlZCB0aGUgc2lkZWJhclxuXHRcdFx0ICogQHR5cGUge0V2ZW50fVxuXHRcdFx0ICovXG5cdFx0XHR0aGlzLiRlbWl0KCdjbG9zZScsIGUpXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEVtaXQgZmlndXJlIGNsaWNrIGV2ZW50IHRvIHBhcmVudCBjb21wb25lbnRcblx0XHQgKiBAcGFyYW0ge0V2ZW50fSBlIGNsaWNrIGV2ZW50XG5cdFx0ICovXG5cdFx0b25GaWd1cmVDbGljayhlKSB7XG5cdFx0XHQvKipcblx0XHRcdCAqIFRoZSBmaWd1cmUvYmFja2dyb3VuZCBoZWFkZXIgaGFzIGJlZW4gY2xpY2tlZFxuXHRcdFx0ICogQHR5cGUge0V2ZW50fVxuXHRcdFx0ICovXG5cdFx0XHR0aGlzLiRlbWl0KCdmaWd1cmUtY2xpY2snLCBlKVxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBUb2dnbGUgdGhlIGZhdm91cml0ZSBzdGF0ZVxuXHRcdCAqIGFuZCBlbWl0IHRvIHRoZSBwYXJlbnQgY29tcG9uZW50XG5cdFx0ICovXG5cdFx0dG9nZ2xlU3RhcnJlZCgpIHtcblx0XHRcdHRoaXMuaXNTdGFycmVkID0gIXRoaXMuaXNTdGFycmVkXG5cdFx0XHQvKipcblx0XHRcdCAqIEVtaXR0ZWQgd2hlbiB0aGUgc3RhcnJlZCB2YWx1ZSBjaGFuZ2VzXG5cdFx0XHQgKiBAdHlwZSB7Ym9vbGVhbn1cblx0XHRcdCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgndXBkYXRlOnN0YXJyZWQnLCB0aGlzLmlzU3RhcnJlZClcblx0XHR9LFxuXG5cdFx0ZWRpdFRpdGxlKCkge1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBFbWl0dGVkIHdoZW4gdGhlIHRpdGxlRWRpdGFibGUgdmFsdWUgY2hhbmdlc1xuXHRcdFx0ICogQHR5cGUge2Jvb2xlYW59XG5cdFx0XHQgKi9cblx0XHRcdHRoaXMuJGVtaXQoJ3VwZGF0ZTp0aXRsZUVkaXRhYmxlJywgdHJ1ZSlcblx0XHRcdC8vIEZvY3VzIHRoZSB0aXRsZSBpbnB1dFxuXHRcdFx0aWYgKHRoaXMudGl0bGVFZGl0YWJsZSkge1xuXHRcdFx0XHR0aGlzLiRuZXh0VGljayhcblx0XHRcdFx0XHQoKSA9PiB0aGlzLiRyZWZzLnRpdGxlSW5wdXQuZm9jdXMoKVxuXHRcdFx0XHQpXG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEVtaXQgdGl0bGUgY2hhbmdlIGV2ZW50IHRvIHBhcmVudCBjb21wb25lbnRcblx0XHQgKiBAcGFyYW0ge0V2ZW50fSBldmVudCBpbnB1dCBldmVudFxuXHRcdCAqL1xuXHRcdG9uVGl0bGVJbnB1dChldmVudCkge1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBFbWl0dGVkIHdoZW4gdGhlIHRpdGxlIHZhbHVlIGNoYW5nZXNcblx0XHRcdCAqIEB0eXBlIHtzdHJpbmd8RGF0ZX1cblx0XHRcdCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgndXBkYXRlOnRpdGxlJywgZXZlbnQudGFyZ2V0LnZhbHVlKVxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBFbWl0IHdoZW4gdGhlIHRpdGxlIGZvcm0gZWRpdCBjb25maXJtIGJ1dHRvbiBpcyBwcmVzc2VkIGluIG9yZGVyXG5cdFx0ICogdG8gY2hhbmdlIHRoZSB0aXRsZS5cblx0XHQgKiBAcGFyYW0ge0V2ZW50fSBldmVudCBzdWJtaXQgZXZlbnRcblx0XHQgKi9cblx0XHRvblN1Ym1pdFRpdGxlKGV2ZW50KSB7XG5cdFx0XHQvLyBEaXNhYmxlIGVkaXRpbmdcblx0XHRcdHRoaXMuJGVtaXQoJ3VwZGF0ZTp0aXRsZUVkaXRhYmxlJywgZmFsc2UpXG5cdFx0XHQvKipcblx0XHRcdCAqIEVtaXR0ZWQgd2hlbiB0aGUgdGl0bGUgZWRpdCBpbnB1dCBoYXMgYmVlbiBzdWJtaXR0ZWRcblx0XHRcdCAqIEB0eXBlIHtFdmVudH1cblx0XHRcdCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgnc3VibWl0LXRpdGxlJywgZXZlbnQpXG5cdFx0fSxcblx0XHRvbkRpc21pc3NFZGl0aW5nKCkge1xuXHRcdFx0Ly8gRGlzYWJsZSBlZGl0aW5nXG5cdFx0XHR0aGlzLiRlbWl0KCd1cGRhdGU6dGl0bGVFZGl0YWJsZScsIGZhbHNlKVxuXHRcdFx0LyoqXG5cdFx0XHQgKiBFbWl0dGVkIHdoZW4gdGhlIHRpdGxlIGVkaXQgaGFzIGJlZW4gY2FuY2VsbGVkXG5cdFx0XHQgKiBAdHlwZSB7RXZlbnR9XG5cdFx0XHQgKi9cblx0XHRcdHRoaXMuJGVtaXQoJ2Rpc21pc3MtZWRpdGluZycpXG5cdFx0fSxcblx0XHRvblVwZGF0ZUFjdGl2ZShhY3RpdmVUYWIpIHtcblx0XHRcdC8qKlxuXHRcdFx0ICogVGhlIGFjdGl2ZSB0YWIgY2hhbmdlZFxuXHRcdFx0ICogQHR5cGUge3N0cmluZ31cblx0XHRcdCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgndXBkYXRlOmFjdGl2ZScsIGFjdGl2ZVRhYilcblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4kc2lkZWJhci1taW4td2lkdGg6IDMwMHB4O1xuJHNpZGViYXItbWF4LXdpZHRoOiA1MDBweDtcblxuJGRlc2MtdmVydGljYWwtcGFkZGluZzogMThweDtcbiRkZXNjLWlucHV0LXBhZGRpbmc6IDdweDtcblxuLy8gdGl0bGUgYW5kIHN1YnRpdGxlXG4kZGVzYy10aXRsZS1oZWlnaHQ6IDMwcHg7XG4kZGVzYy1zdWJ0aXRsZS1oZWlnaHQ6IDIycHg7XG4kZGVzYy1oZWlnaHQ6ICRkZXNjLXRpdGxlLWhlaWdodCArICRkZXNjLXN1YnRpdGxlLWhlaWdodDtcblxuJHRvcC1idXR0b25zLXNwYWNpbmc6IDZweDtcblxuLypcblx0U2lkZWJhcjogdG8gYmUgdXNlZCB3aXRoaW4gI2NvbnRlbnRcblx0YXBwLWNvbnRlbnQgd2lsbCBiZSBzaHJpbmtlZCBwcm9wZXJseVxuKi9cbi5hcHAtc2lkZWJhciB7XG5cdHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTsgLy8gU2FmYXJpIHN1cHBvcnRcblx0cG9zaXRpb246IHN0aWNreTtcblx0ei1pbmRleDogMTUwMDtcblx0dG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcblx0cmlnaHQ6IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0ZmxleC1zaHJpbms6IDA7XG5cdHdpZHRoOiAyN3Z3O1xuXHRtaW4td2lkdGg6ICRzaWRlYmFyLW1pbi13aWR0aDtcblx0bWF4LXdpZHRoOiAkc2lkZWJhci1tYXgtd2lkdGg7XG5cdGhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQpKTtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xuXHQuYXBwLXNpZGViYXItaGVhZGVyIHtcblx0XHQ+IC5hcHAtc2lkZWJhcl9fY2xvc2Uge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ei1pbmRleDogMTAwO1xuXHRcdFx0dG9wOiAkdG9wLWJ1dHRvbnMtc3BhY2luZztcblx0XHRcdHJpZ2h0OiAkdG9wLWJ1dHRvbnMtc3BhY2luZztcblx0XHRcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XG5cdFx0XHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcblx0XHRcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcblx0XHRcdGJvcmRlci1yYWRpdXM6ICRjbGlja2FibGUtYXJlYSAvIDI7XG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0JjphY3RpdmUsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIENvbXBhY3QgbW9kZSBvbmx5IGFmZmVjdHMgYSBzaWRlYmFyIHdpdGggYSBmaWd1cmVcblx0XHQmLS1jb21wYWN0LmFwcC1zaWRlYmFyLWhlYWRlci0td2l0aC1maWd1cmUge1xuXHRcdFx0LmFwcC1zaWRlYmFyLWhlYWRlcl9faW5mbyB7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cblx0XHRcdFx0LmFwcC1zaWRlYmFyLWhlYWRlcl9fZmlndXJlIHtcblx0XHRcdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0XHRcdHdpZHRoOiAkZGVzYy1oZWlnaHQgKyAkZGVzYy12ZXJ0aWNhbC1wYWRkaW5nO1xuXHRcdFx0XHRcdGhlaWdodDogJGRlc2MtaGVpZ2h0ICsgJGRlc2MtdmVydGljYWwtcGFkZGluZztcblx0XHRcdFx0XHRtYXJnaW46ICRkZXNjLXZlcnRpY2FsLXBhZGRpbmcgLyAyO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRcdFx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHRcdFx0fVxuXHRcdFx0XHQuYXBwLXNpZGViYXItaGVhZGVyX19kZXNjIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdFx0ZmxleDogMSAxIGF1dG87XG5cdFx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDIgKiAkY2xpY2thYmxlLWFyZWEgKyAkdG9wLWJ1dHRvbnMtc3BhY2luZztcblxuXHRcdFx0XHRcdCYuYXBwLXNpZGViYXItaGVhZGVyX19kZXNjLS13aXRob3V0LWFjdGlvbnMge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogI3skY2xpY2thYmxlLWFyZWEgKyAkdG9wLWJ1dHRvbnMtc3BhY2luZ307XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LmFwcC1zaWRlYmFyLWhlYWRlcl9fdGVydGlhcnktYWN0aW9ucyB7XG5cdFx0XHRcdFx0XHR6LWluZGV4OiAzOyAvLyBhYm92ZSBzdGFyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6ICRkZXNjLXZlcnRpY2FsLXBhZGRpbmcgLyAyO1xuXHRcdFx0XHRcdFx0bGVmdDogLTEgKiAkY2xpY2thYmxlLWFyZWE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5hcHAtc2lkZWJhci1oZWFkZXJfX21lbnUge1xuXHRcdFx0XHRcdFx0dG9wOiAkdG9wLWJ1dHRvbnMtc3BhY2luZztcblx0XHRcdFx0XHRcdHJpZ2h0OiAkY2xpY2thYmxlLWFyZWEgKyAkdG9wLWJ1dHRvbnMtc3BhY2luZzsgLy8gbGVmdCBvZiB0aGUgY2xvc2UgYnV0dG9uXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBzaWRlYmFyIHdpdGhvdXQgZmlndXJlXG5cdFx0Jjpub3QoLmFwcC1zaWRlYmFyLWhlYWRlci0td2l0aC1maWd1cmUpIHtcblx0XHRcdC8vIGFsaWduIHRoZSBtZW51IHdpdGggdGhlIGNsb3NlIGJ1dHRvblxuXHRcdFx0LmFwcC1zaWRlYmFyLWhlYWRlcl9fbWVudSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAkdG9wLWJ1dHRvbnMtc3BhY2luZztcblx0XHRcdFx0cmlnaHQ6ICR0b3AtYnV0dG9ucy1zcGFjaW5nICsgJGNsaWNrYWJsZS1hcmVhO1xuXHRcdFx0fVxuXHRcdFx0Ly8gaW5jcmVhc2UgdGhlIHBhZGRpbmcgdG8gbm90IG92ZXJsYXAgdGhlIG1lbnVcblx0XHRcdC5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2Mge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAjeyRjbGlja2FibGUtYXJlYSAqIDIgKyAkdG9wLWJ1dHRvbnMtc3BhY2luZ307XG5cblx0XHRcdFx0Ji5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MtLXdpdGhvdXQtYWN0aW9ucyB7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogI3skY2xpY2thYmxlLWFyZWEgKyAkdG9wLWJ1dHRvbnMtc3BhY2luZ307XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyB0aGUgY29udGFpbmVyIHdpdGggdGhlIGZpZ3VyZSBhbmQgdGhlIGRlc2NyaXB0aW9uXG5cdFx0LmFwcC1zaWRlYmFyLWhlYWRlcl9faW5mbyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHR9XG5cblx0XHQvLyBoZWFkZXIgYmFja2dyb3VuZFxuXHRcdCZfX2ZpZ3VyZSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMjUwcHg7XG5cdFx0XHRtYXgtaGVpZ2h0OiAyNTBweDtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHQmLS13aXRoLWFjdGlvbiB7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBkZXNjcmlwdGlvblxuXHRcdCZfX2Rlc2Mge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdHBhZGRpbmc6ICN7JGRlc2MtdmVydGljYWwtcGFkZGluZ30gI3skdG9wLWJ1dHRvbnMtc3BhY2luZ30gI3skZGVzYy12ZXJ0aWNhbC1wYWRkaW5nfSAjeyRkZXNjLXZlcnRpY2FsLXBhZGRpbmcgLyAyfTtcblxuXHRcdFx0Ly8gY3VzdG9tIG92ZXJyaWRlc1xuXHRcdFx0Ji0td2l0aC10ZXJ0aWFyeS1hY3Rpb24ge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCYtLWVkaXRhYmxlIC5hcHAtc2lkZWJhci1oZWFkZXJfX21haW50aXRsZS1mb3JtLFxuXHRcdFx0Ji0td2l0aC1zdWJ0aXRsZS0tZWRpdGFibGUgLmFwcC1zaWRlYmFyLWhlYWRlcl9fbWFpbnRpdGxlLWZvcm0ge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAtMnB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmLS13aXRoLXN1YnRpdGxlLS1lZGl0YWJsZSAuYXBwLXNpZGViYXItaGVhZGVyX19zdWJ0aXRsZSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IC0ycHg7XG5cdFx0XHR9XG5cblx0XHRcdC5hcHAtc2lkZWJhci1oZWFkZXJfX3RlcnRpYXJ5LWFjdGlvbnMge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcblx0XHRcdFx0d2lkdGg6ICRjbGlja2FibGUtYXJlYTtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyB0aXRsZXNcblx0XHRcdC5hcHAtc2lkZWJhci1oZWFkZXJfX3RpdGxlLWNvbnRhaW5lciB7XG5cdFx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXG5cdFx0XHRcdC8vIG1haW4gdGl0bGVcblx0XHRcdFx0LmFwcC1zaWRlYmFyLWhlYWRlcl9fbWFpbnRpdGxlIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAkZGVzYy10aXRsZS1oZWlnaHQ7XG5cblx0XHRcdFx0XHQvLyBOZWVkcyAnZGVlcCcgYXMgdGhlIGxpbmsgaXMgZ2VuZXJhdGVkIGJ5IHRoZSBsaW5raWZ5IGRpcmVjdGl2ZVxuXHRcdFx0XHRcdCY6OnYtZGVlcCAubGlua2lmaWVkIHtcblx0XHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5hcHAtc2lkZWJhci1oZWFkZXJfX21haW50aXRsZSxcblx0XHRcdFx0LmFwcC1zaWRlYmFyLWhlYWRlcl9fc3VidGl0bGUge1xuXHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBzdWJ0aXRsZVxuXHRcdFx0XHQuYXBwLXNpZGViYXItaGVhZGVyX19zdWJ0aXRsZSB7XG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiB2YXIoLS1kZWZhdWx0LWZvbnQtc2l6ZSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuYXBwLXNpZGViYXItaGVhZGVyX19tYWludGl0bGUtZm9ybSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLTcuNXB4O1xuXHRcdFx0XHRcdCYgLmljb24tY29uZmlybSB7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0aW5wdXQuYXBwLXNpZGViYXItaGVhZGVyX19tYWludGl0bGUtaW5wdXQge1xuXHRcdFx0XHRcdFx0ZmxleDogMSAxIGF1dG87XG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAkZGVzYy1pbnB1dC1wYWRkaW5nO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIGZhdm91cml0ZVxuXHRcdFx0LmFwcC1zaWRlYmFyLWhlYWRlcl9fc3RhciB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogJGNsaWNrYWJsZS1hcmVhO1xuXHRcdFx0XHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcblx0XHRcdFx0cGFkZGluZzogJGljb24tbWFyZ2luO1xuXHRcdFx0fVxuXHRcdFx0Ly8gbWFpbiBtZW51XG5cdFx0XHQuYXBwLXNpZGViYXItaGVhZGVyX19tZW51IHtcblx0XHRcdFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XG5cdFx0XHRcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRjbGlja2FibGUtYXJlYSAvIDI7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRhY3Rpb24tYmFja2dyb3VuZC1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBzaWRlYmFyIGRlc2NyaXB0aW9uIHNsb3Rcblx0XHQmX19kZXNjcmlwdGlvbiB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdG1hcmdpbjogMCAxMHB4O1xuXHRcdH1cblx0fVxufVxuXG4uc2xpZGUtcmlnaHQtbGVhdmUtYWN0aXZlLFxuLnNsaWRlLXJpZ2h0LWVudGVyLWFjdGl2ZSB7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGlvbi1xdWljayk7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IG1heC13aWR0aCwgbWluLXdpZHRoO1xufVxuXG4uc2xpZGUtcmlnaHQtZW50ZXItdG8sXG4uc2xpZGUtcmlnaHQtbGVhdmUge1xuXHRtaW4td2lkdGg6ICRzaWRlYmFyLW1pbi13aWR0aDtcblx0bWF4LXdpZHRoOiAkc2lkZWJhci1tYXgtd2lkdGg7XG59XG5cbi5zbGlkZS1yaWdodC1lbnRlcixcbi5zbGlkZS1yaWdodC1sZWF2ZS10byB7XG5cdG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuXHRtYXgtd2lkdGg6IDAgIWltcG9ydGFudDtcbn1cbjwvc3R5bGU+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiPlxuLy8gISBzbG90cyBzcGVjaWZpYyBkZXNpZ25zLCBjYW5ub3QgYmUgc2NvcGVkXG4vLyBpZiBhbnkgYnV0dG9uIGluc2lkZSB0aGUgZGVzY3JpcHRpb24gc2xvdCwgaW5jcmVhc2UgdmlzdWFsIHBhZGRpbmdcbi5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2NyaXB0aW9uIHtcblx0YnV0dG9uLCAuYnV0dG9uLFxuXHRpbnB1dFt0eXBlPSdidXR0b24nXSxcblx0aW5wdXRbdHlwZT0nc3VibWl0J10sXG5cdGlucHV0W3R5cGU9J3Jlc2V0J10ge1xuXHRcdHBhZGRpbmc6IDZweCAyMnB4O1xuXHR9XG59XG5cbjwvc3R5bGU+XG4iLCI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIwIFNpbW9uIEJlbGJlb2NoIDxzaW1vbi5iZWxiZW9jaEBnbWFpbC5jb20+XG4gIC1cbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICAtXG4gIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAgLVxuICAtLT5cblxuPCEtLSBGb2xsb3dzIHRoZSB0YWIgYXJpYSBndWlkZWxpbmVzXG5cdGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS1wcmFjdGljZXMvZXhhbXBsZXMvdGFicy90YWJzLTEvdGFicy5odG1sIC0tPlxuPHRlbXBsYXRlPlxuXHQ8ZGl2IGNsYXNzPVwiYXBwLXNpZGViYXItdGFic1wiPlxuXHRcdDwhLS0gdGFicyBuYXZpZ2F0aW9uIC0tPlxuXHRcdDwhLS0gMzMgYW5kIDM0IGNvZGUgaXMgZm9yIHBhZ2UgdXAgYW5kIHBhZ2UgZG93biAtLT5cblx0XHQ8bmF2IHYtaWY9XCJoYXNNdWx0aXBsZVRhYnNcIlxuXHRcdFx0Y2xhc3M9XCJhcHAtc2lkZWJhci10YWJzX19uYXZcIlxuXHRcdFx0QGtleWRvd24ubGVmdC5leGFjdC5wcmV2ZW50PVwiZm9jdXNQcmV2aW91c1RhYlwiXG5cdFx0XHRAa2V5ZG93bi5yaWdodC5leGFjdC5wcmV2ZW50PVwiZm9jdXNOZXh0VGFiXCJcblx0XHRcdEBrZXlkb3duLnRhYi5leGFjdC5wcmV2ZW50PVwiZm9jdXNBY3RpdmVUYWJDb250ZW50XCJcblx0XHRcdEBrZXlkb3duLjMzLmV4YWN0LnByZXZlbnQ9XCJmb2N1c0ZpcnN0VGFiXCJcblx0XHRcdEBrZXlkb3duLjM0LmV4YWN0LnByZXZlbnQ9XCJmb2N1c0xhc3RUYWJcIj5cblx0XHRcdDx1bD5cblx0XHRcdFx0PGxpIHYtZm9yPVwidGFiIGluIHRhYnNcIiA6a2V5PVwidGFiLmlkXCIgY2xhc3M9XCJhcHAtc2lkZWJhci10YWJzX190YWJcIj5cblx0XHRcdFx0XHQ8YSA6aWQ9XCJ0YWIuaWRcIlxuXHRcdFx0XHRcdFx0OmFyaWEtY29udHJvbHM9XCJgdGFiLSR7dGFiLmlkfWBcIlxuXHRcdFx0XHRcdFx0OmFyaWEtc2VsZWN0ZWQ9XCJhY3RpdmVUYWIgPT09IHRhYi5pZFwiXG5cdFx0XHRcdFx0XHQ6Y2xhc3M9XCJ7IGFjdGl2ZTogYWN0aXZlVGFiID09PSB0YWIuaWQgfVwiXG5cdFx0XHRcdFx0XHQ6ZGF0YS1pZD1cInRhYi5pZFwiXG5cdFx0XHRcdFx0XHQ6aHJlZj1cImAjdGFiLSR7dGFiLmlkfWBcIlxuXHRcdFx0XHRcdFx0OnRhYmluZGV4PVwiYWN0aXZlVGFiID09PSB0YWIuaWQgPyBudWxsIDogLTFcIlxuXHRcdFx0XHRcdFx0cm9sZT1cInRhYlwiXG5cdFx0XHRcdFx0XHRAY2xpY2sucHJldmVudD1cInNldEFjdGl2ZSh0YWIuaWQpXCI+XG5cdFx0XHRcdFx0XHQ8c3BhbiA6Y2xhc3M9XCJ0YWIuaWNvblwiIGNsYXNzPVwiYXBwLXNpZGViYXItdGFic19fdGFiLWljb25cIiAvPlxuXHRcdFx0XHRcdFx0e3sgdGFiLm5hbWUgfX1cblx0XHRcdFx0XHQ8L2E+XG5cdFx0XHRcdDwvbGk+XG5cdFx0XHQ8L3VsPlxuXHRcdDwvbmF2PlxuXG5cdFx0PCEtLSB0YWJzIGNvbnRlbnQgLS0+XG5cdFx0PGRpdiA6Y2xhc3M9XCJ7J2FwcC1zaWRlYmFyLXRhYnNfX2NvbnRlbnQtLW11bHRpcGxlJzogaGFzTXVsdGlwbGVUYWJzfVwiXG5cdFx0XHRjbGFzcz1cImFwcC1zaWRlYmFyLXRhYnNfX2NvbnRlbnRcIj5cblx0XHRcdDxzbG90IC8+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBWdWUgZnJvbSAndnVlJ1xuXG5jb25zdCBJc1ZhbGlkU3RyaW5nID0gZnVuY3Rpb24odmFsdWUpIHtcblx0cmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUudHJpbSgpICE9PSAnJ1xufVxuXG5jb25zdCBJc1ZhbGlkU3RyaW5nV2l0aG91dFNwYWNlcyA9IGZ1bmN0aW9uKHZhbHVlKSB7XG5cdHJldHVybiBJc1ZhbGlkU3RyaW5nKHZhbHVlKSAmJiB2YWx1ZS5pbmRleE9mKCcgJykgPT09IC0xXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0FwcFNpZGViYXJUYWJzJyxcblx0cHJvcHM6IHtcblx0XHQvKipcblx0XHQgKiBJZCBvZiB0aGUgdGFiIHRvIGFjdGl2YXRlXG5cdFx0ICovXG5cdFx0YWN0aXZlOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXHR9LFxuXG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdC8qKlxuXHRcdFx0ICogVGhlIHRhYiBjb21wb25lbnQgaW5zdGFuY2VzIHRvIGJ1aWxkIHRoZSB0YWIgbmF2YmFyIGZyb20uXG5cdFx0XHQgKi9cblx0XHRcdHRhYnM6IFtdLFxuXHRcdFx0LyoqXG5cdFx0XHQgKiBUaGUgaWQgb2YgdGhlIGN1cnJlbnRseSBhY3RpdmUgdGFiLlxuXHRcdFx0ICovXG5cdFx0XHRhY3RpdmVUYWI6ICcnLFxuXHRcdFx0LyoqXG5cdFx0XHQgKiBEdW1teSBhcnJheSB0byByZWFjdCBvbiBzbG90IGNoYW5nZXMuXG5cdFx0XHQgKi9cblx0XHRcdGNoaWxkcmVuOiBbXSxcblx0XHR9XG5cdH0sXG5cblx0Y29tcHV0ZWQ6IHtcblx0XHRoYXNNdWx0aXBsZVRhYnMoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy50YWJzLmxlbmd0aCA+IDFcblx0XHR9LFxuXHRcdGN1cnJlbnRUYWJJbmRleCgpIHtcblx0XHRcdHJldHVybiB0aGlzLnRhYnMuZmluZEluZGV4KHRhYiA9PiB0YWIuaWQgPT09IHRoaXMuYWN0aXZlVGFiKVxuXHRcdH0sXG5cdH0sXG5cblx0d2F0Y2g6IHtcblx0XHRhY3RpdmUoYWN0aXZlKSB7XG5cdFx0XHQvLyBQcmV2ZW50IHJ1bm5pbmcgaXQgdHdpY2Vcblx0XHRcdGlmIChhY3RpdmUgIT09IHRoaXMuYWN0aXZlVGFiKSB7XG5cdFx0XHRcdHRoaXMudXBkYXRlQWN0aXZlKClcblx0XHRcdH1cblx0XHR9LFxuXG5cdFx0Y2hpbGRyZW4oKSB7XG5cdFx0XHR0aGlzLnVwZGF0ZVRhYnMoKVxuXHRcdH0sXG5cdH0sXG5cblx0bW91bnRlZCgpIHtcblx0XHQvLyBJbml0IHRoZSB0YWJzIGxpc3Rcblx0XHR0aGlzLnVwZGF0ZVRhYnMoKVxuXG5cdFx0Ly8gTGV0J3MgbWFrZSB0aGUgY2hpbGRyZW4gbGlzdCByZWFjdGl2ZVxuXHRcdHRoaXMuY2hpbGRyZW4gPSB0aGlzLiRjaGlsZHJlblxuXHR9LFxuXG5cdG1ldGhvZHM6IHtcblxuXHRcdC8qKlxuXHRcdCAqIFNldCB0aGUgY3VycmVudCBhY3RpdmUgdGFiXG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IGlkIHRoZSBpZCBvZiB0aGUgdGFiXG5cdFx0ICovXG5cdFx0c2V0QWN0aXZlKGlkKSB7XG5cdFx0XHR0aGlzLmFjdGl2ZVRhYiA9IGlkXG5cdFx0XHR0aGlzLiRlbWl0KCd1cGRhdGU6YWN0aXZlJywgdGhpcy5hY3RpdmVUYWIpXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEZvY3VzIHRoZSBwcmV2aW91cyB0YWJcblx0XHQgKiBhbmQgZW1pdCB0byB0aGUgcGFyZW50IGNvbXBvbmVudFxuXHRcdCAqL1xuXHRcdGZvY3VzUHJldmlvdXNUYWIoKSB7XG5cdFx0XHRpZiAodGhpcy5jdXJyZW50VGFiSW5kZXggPiAwKSB7XG5cdFx0XHRcdHRoaXMuc2V0QWN0aXZlKHRoaXMudGFic1t0aGlzLmN1cnJlbnRUYWJJbmRleCAtIDFdLmlkKVxuXHRcdFx0fVxuXHRcdFx0dGhpcy5mb2N1c0FjdGl2ZVRhYigpIC8vIGZvY3VzIG5hdiBpdGVtXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEZvY3VzIHRoZSBuZXh0IHRhYlxuXHRcdCAqIGFuZCBlbWl0IHRvIHRoZSBwYXJlbnQgY29tcG9uZW50XG5cdFx0ICovXG5cdFx0Zm9jdXNOZXh0VGFiKCkge1xuXHRcdFx0aWYgKHRoaXMuY3VycmVudFRhYkluZGV4IDwgdGhpcy50YWJzLmxlbmd0aCAtIDEpIHtcblx0XHRcdFx0dGhpcy5zZXRBY3RpdmUodGhpcy50YWJzW3RoaXMuY3VycmVudFRhYkluZGV4ICsgMV0uaWQpXG5cdFx0XHR9XG5cdFx0XHR0aGlzLmZvY3VzQWN0aXZlVGFiKCkgLy8gZm9jdXMgbmF2IGl0ZW1cblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogRm9jdXMgdGhlIGZpcnN0IHRhYlxuXHRcdCAqIGFuZCBlbWl0IHRvIHRoZSBwYXJlbnQgY29tcG9uZW50XG5cdFx0ICovXG5cdFx0Zm9jdXNGaXJzdFRhYigpIHtcblx0XHRcdHRoaXMuc2V0QWN0aXZlKHRoaXMudGFic1swXS5pZClcblx0XHRcdHRoaXMuZm9jdXNBY3RpdmVUYWIoKSAvLyBmb2N1cyBuYXYgaXRlbVxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBGb2N1cyB0aGUgbGFzdCB0YWJcblx0XHQgKiBhbmQgZW1pdCB0byB0aGUgcGFyZW50IGNvbXBvbmVudFxuXHRcdCAqL1xuXHRcdGZvY3VzTGFzdFRhYigpIHtcblx0XHRcdHRoaXMuc2V0QWN0aXZlKHRoaXMudGFic1t0aGlzLnRhYnMubGVuZ3RoIC0gMV0uaWQpXG5cdFx0XHR0aGlzLmZvY3VzQWN0aXZlVGFiKCkgLy8gZm9jdXMgbmF2IGl0ZW1cblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogRm9jdXMgdGhlIGN1cnJlbnQgYWN0aXZlIHRhYlxuXHRcdCAqL1xuXHRcdGZvY3VzQWN0aXZlVGFiKCkge1xuXHRcdFx0dGhpcy4kZWwucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmFjdGl2ZVRhYikuZm9jdXMoKVxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBGb2N1cyB0aGUgY29udGVudCBvbiB0YWJcblx0XHQgKiBzZWUgYXJpYSBhY2Nlc3NpYmlsaXR5IGd1aWRlbGluZXNcblx0XHQgKi9cblx0XHRmb2N1c0FjdGl2ZVRhYkNvbnRlbnQoKSB7XG5cdFx0XHR0aGlzLiRlbC5xdWVyeVNlbGVjdG9yKCcjdGFiLScgKyB0aGlzLmFjdGl2ZVRhYikuZm9jdXMoKVxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBVcGRhdGUgdGhlIGN1cnJlbnQgYWN0aXZlIHRhYlxuXHRcdCAqL1xuXHRcdHVwZGF0ZUFjdGl2ZSgpIHtcblx0XHRcdHRoaXMuYWN0aXZlVGFiID0gdGhpcy5hY3RpdmVcblx0XHRcdFx0JiYgdGhpcy50YWJzLmZpbmRJbmRleCh0YWIgPT4gdGFiLmlkID09PSB0aGlzLmFjdGl2ZSkgIT09IC0xXG5cdFx0XHRcdD8gdGhpcy5hY3RpdmVcblx0XHRcdFx0OiB0aGlzLnRhYnMubGVuZ3RoID4gMFxuXHRcdFx0XHRcdD8gdGhpcy50YWJzWzBdLmlkXG5cdFx0XHRcdFx0OiAnJ1xuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBNYW51YWxseSB1cGRhdGUgdGhlIHNpZGViYXIgdGFicyBhY2NvcmRpbmcgdG8gJHNsb3RzLmRlZmF1bHRcblx0XHQgKi9cblx0XHR1cGRhdGVUYWJzKCkge1xuXHRcdFx0aWYgKCF0aGlzLiRzbG90cy5kZWZhdWx0KSB7XG5cdFx0XHRcdHRoaXMudGFicyA9IFtdXG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXG5cdFx0XHQvLyBGaW5kIGFsbCB2YWxpZCBjaGlsZHJlbiAoQXBwU2lkZWJhclRhYiwgb3RoZXIgY29tcG9uZW50cywgdGV4dCBub2RlcywgZXRjLilcblx0XHRcdGNvbnN0IGNoaWxkcmVuID0gdGhpcy4kc2xvdHMuZGVmYXVsdC5maWx0ZXIoZWxlbSA9PiBlbGVtLnRhZyB8fCBlbGVtLnRleHQudHJpbSgpKVxuXG5cdFx0XHQvLyBGaW5kIGFsbCB2YWxpZCBpbnN0YW5jZXMgb2YgQXBwU2lkZWJhclRhYlxuXHRcdFx0Y29uc3QgaW52YWxpZFRhYnMgPSBbXVxuXHRcdFx0Y29uc3QgdGFicyA9IGNoaWxkcmVuLnJlZHVjZSgodGFicywgdGFiTm9kZSkgPT4ge1xuXHRcdFx0XHRjb25zdCB0YWIgPSB0YWJOb2RlLmNvbXBvbmVudEluc3RhbmNlXG5cdFx0XHRcdC8vIE1ha2Ugc3VyZSBhbGwgcmVxdWlyZWQgcHJvcHMgYXJlIHByb3ZpZGVkIGFuZCB2YWxpZFxuXHRcdFx0XHRpZiAoSXNWYWxpZFN0cmluZyh0YWI/Lm5hbWUpXG5cdFx0XHRcdFx0JiYgSXNWYWxpZFN0cmluZ1dpdGhvdXRTcGFjZXModGFiPy5pZClcblx0XHRcdFx0XHQmJiBJc1ZhbGlkU3RyaW5nV2l0aG91dFNwYWNlcyh0YWI/Lmljb24pKSB7XG5cdFx0XHRcdFx0dGFicy5wdXNoKHRhYilcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRpbnZhbGlkVGFicy5wdXNoKHRhYk5vZGUpXG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHRhYnNcblx0XHRcdH0sIFtdKVxuXG5cdFx0XHQvLyBUYWJzIGFyZSBvcHRpb25hbCwgYnV0IHlvdSBjYW4gdXNlIGVpdGhlciB0YWJzIG9yIG5vbi10YWItY29udGVudCBvbmx5XG5cdFx0XHRpZiAodGFicy5sZW5ndGggIT09IDAgJiYgdGFicy5sZW5ndGggIT09IGNoaWxkcmVuLmxlbmd0aCkge1xuXHRcdFx0XHRWdWUudXRpbC53YXJuKCdNaXhpbmcgdGFicyBhbmQgbm9uLXRhYi1jb250ZW50IGlzIG5vdCBwb3NzaWJsZS4nKVxuXHRcdFx0XHRpbnZhbGlkVGFicy5tYXAoaW52YWxpZCA9PiBjb25zb2xlLmRlYnVnKCdJZ25vcmluZyBpbnZhbGlkIHRhYicsIGludmFsaWQpKVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBXZSBzb3J0IHRoZSB0YWJzIGJ5IHRoZWlyIG9yZGVyIG9yIGJ5IHRoZWlyIG5hbWVcblx0XHRcdHRoaXMudGFicyA9IHRhYnMuc29ydCgoYSwgYikgPT4ge1xuXHRcdFx0XHRjb25zdCBvcmRlckEgPSBhLm9yZGVyIHx8IDBcblx0XHRcdFx0Y29uc3Qgb3JkZXJCID0gYi5vcmRlciB8fCAwXG5cdFx0XHRcdGlmIChvcmRlckEgPT09IG9yZGVyQikge1xuXHRcdFx0XHRcdHJldHVybiBPQy5VdGlsLm5hdHVyYWxTb3J0Q29tcGFyZShhLm5hbWUsIGIubmFtZSlcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gb3JkZXJBIC0gb3JkZXJCXG5cdFx0XHR9KVxuXG5cdFx0XHQvLyBJbml0IGFjdGl2ZSB0YWIgaWYgZXhpc3RzXG5cdFx0XHRpZiAodGhpcy50YWJzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0dGhpcy51cGRhdGVBY3RpdmUoKVxuXHRcdFx0fVxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbi5hcHAtc2lkZWJhci10YWJzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bWluLWhlaWdodDogMDtcblx0ZmxleDogMSAxIDEwMCU7XG5cblx0Jl9fbmF2IHtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdHVsIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG5cdFx0fVxuXHR9XG5cdCZfX3RhYiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ZmxleDogMSAxO1xuXHRcdG1pbi13aWR0aDogMDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0YSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRwYWRkaW5nOiAyNXB4IDVweCA1cHggNXB4O1xuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tYW5pbWF0aW9uLXF1aWNrKSwgb3BhY2l0eSB2YXIoLS1hbmltYXRpb24tcXVpY2spLCBib3JkZXItY29sb3IgdmFyKC0tYW5pbWF0aW9uLXF1aWNrKTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcblx0XHRcdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0JjphY3RpdmUsXG5cdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XG5cdFx0XHRcdC5hcHAtc2lkZWJhci10YWJzX190YWItaWNvbiB7XG5cdFx0XHRcdFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Jjpub3QoLmFjdGl2ZSk6aG92ZXIsXG5cdFx0XHQmOm5vdCguYWN0aXZlKTpmb2N1cyB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTtcblx0XHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrZXIpO1xuXHRcdFx0fVxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHQpO1xuXHRcdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHR9XG5cdFx0XHQvLyBkaWZmZXJlbnRpYXRlIHRoZSB0d28gZm9yIGFjY2Vzc2liaWxpdHkgcHVycG9zZVxuXHRcdFx0Ly8gbWFrZSBzdXJlIHRoZSB1c2VyIGtub3dzIHNoZSdzIGZvY3VzaW5nIHRoZSBuYXZpZ2F0aW9uXG5cdFx0XHQvLyBhbmQgY2FuIHVzZSBhcnJvd3MvaG9tZS9wYWdldXAuLi5cblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xuXHRcdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3RhYi1pY29uIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAyNXB4O1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uLXF1aWNrKTtcblx0XHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDhweDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDE2cHg7XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Ly8gdGFrZSBmdWxsIGF2YWlsYWJsZSBoZWlnaHRcblx0XHRtaW4taGVpZ2h0OiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHQvLyBmb3JjZSB0aGUgdXNlIG9mIHRoZSB0YWIgY29tcG9uZW50IGlmIG1vcmUgdGhhbiBvbmUgdGFiXG5cdFx0Ly8geW91IGNhbiBqdXN0IHB1dCByYXcgY29udGVudCBpZiB5b3UgZG9uJ3QgdXNlIHRhYnNcblx0XHQmLS1tdWx0aXBsZSA+IDpub3Qoc2VjdGlvbikge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cbjwvc3R5bGU+XG4iLCI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjwhLS0gRm9sbG93cyB0aGUgdGFiIGFyaWEgZ3VpZGVsaW5lc1xuXHRodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEtcHJhY3RpY2VzL2V4YW1wbGVzL3RhYnMvdGFicy0xL3RhYnMuaHRtbCAtLT5cblxuPHRlbXBsYXRlPlxuXHQ8c2VjdGlvblxuXHRcdDppZD1cImB0YWItJHtpZH1gXCJcblx0XHQ6Y2xhc3M9XCJ7J2FwcC1zaWRlYmFyX190YWItLWFjdGl2ZSc6IGlzQWN0aXZlfVwiXG5cdFx0OmFyaWEtaGlkZGVuPVwiIWlzQWN0aXZlXCJcblx0XHQ6YXJpYS1sYWJlbGxlZGJ5PVwiaWRcIlxuXHRcdGNsYXNzPVwiYXBwLXNpZGViYXJfX3RhYlwiXG5cdFx0dGFiaW5kZXg9XCIwXCJcblx0XHRyb2xlPVwidGFicGFuZWxcIlxuXHRcdEBzY3JvbGw9XCJvblNjcm9sbFwiPlxuXHRcdDxzbG90IC8+XG5cdDwvc2VjdGlvbj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdBcHBTaWRlYmFyVGFiJyxcblxuXHRwcm9wczoge1xuXHRcdGlkOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRyZXF1aXJlZDogdHJ1ZSxcblx0XHR9LFxuXHRcdG5hbWU6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdFx0aWNvbjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblx0XHRvcmRlcjoge1xuXHRcdFx0dHlwZTogTnVtYmVyLFxuXHRcdFx0ZGVmYXVsdDogMCxcblx0XHR9LFxuXHR9LFxuXG5cdGNvbXB1dGVkOiB7XG5cdFx0Ly8gVE9ETzogaW1wbGVtZW50IGEgYmV0dGVyIHdheSB0byBmb3JjZSBwYXNzIGEgcHJvcCBmcm9tbSBTaWRlYmFyXG5cdFx0aXNBY3RpdmUoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy4kcGFyZW50LmFjdGl2ZVRhYiA9PT0gdGhpcy5pZFxuXHRcdH0sXG5cdH0sXG5cblx0bWV0aG9kczoge1xuXHRcdG9uU2Nyb2xsKGV2ZW50KSB7XG5cdFx0XHQvLyBBcmUgd2Ugc2Nyb2xsZWQgdG8gdGhlIHZlcnkgYm90dG9tID9cblx0XHRcdGlmICh0aGlzLiRlbC5zY3JvbGxIZWlnaHQgLSB0aGlzLiRlbC5zY3JvbGxUb3AgPT09IHRoaXMuJGVsLmNsaWVudEhlaWdodCkge1xuXHRcdFx0XHQvKipcblx0XHRcdFx0ICogQm90dG9tIHNjcm9sbCBpcyByZWFjaGVkXG5cdFx0XHRcdCAqL1xuXHRcdFx0XHR0aGlzLiRlbWl0KCdib3R0b21SZWFjaGVkJywgZXZlbnQpXG5cdFx0XHR9XG5cdFx0XHR0aGlzLiRlbWl0KCdzY3JvbGwnLCBldmVudClcblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbi5hcHAtc2lkZWJhcl9fdGFiIHtcblx0ZGlzcGxheTogbm9uZTtcblx0cGFkZGluZzogMTBweDtcblx0bWluLWhlaWdodDogMTAwJTsgLy8gZmlsbCBhdmFpbGFibGUgaGVpZ2h0XG5cdG1heC1oZWlnaHQ6IDEwMCU7IC8vIHNjcm9sbCBpbnNpZGVcblx0b3ZlcmZsb3c6IGF1dG87XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblx0XHRib3gtc2hhZG93OiAwIDAgMC4yZW0gdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdFx0b3V0bGluZTogMDtcblx0fVxuXG5cdCYtLWFjdGl2ZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbjwvc3R5bGU+XG4iLCI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSnVsaXVzIEjDpHJ0bCA8anVzQGJpdGdyaWQubmV0PlxuICAtXG4gIC0gQGF1dGhvciBKdWxpdXMgSMOkcnRsIDxqdXNAYml0Z3JpZC5uZXQ+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48ZG9jcz5cblxuIyMjIEJhc2ljIHVzZXIgYXZhdGFyXG5cbmBgYHZ1ZVxuXHQ8YXZhdGFyIHVzZXI9XCJqYW5lZG9lXCIgZGlzcGxheS1uYW1lPVwiSmFuZSBEb2VcIiAvPlxuYGBgXG5cbiMjIyBBdmF0YXIgd2l0aCBpbWFnZVxuXG5gYGB2dWVcblx0PGF2YXRhciB1cmw9XCJodHRwczovL25leHRjbG91ZC5jb20vd3AtY29udGVudC90aGVtZXMvbmV4dC9hc3NldHMvaW1nL2NvbW1vbi9uZXh0Y2xvdWQtc3F1YXJlLWxvZ28ucG5nXCIgLz5cbmBgYFxuXG48L2RvY3M+XG48dGVtcGxhdGU+XG5cdDxkaXYgdi10b29sdGlwPVwidG9vbHRpcFwiXG5cdFx0di1jbGljay1vdXRzaWRlPVwiY2xvc2VNZW51XCJcblx0XHQ6Y2xhc3M9XCJ7XG5cdFx0XHQnYXZhdGFyZGl2LS11bmtub3duJzogdXNlckRvZXNOb3RFeGlzdCxcblx0XHRcdCdhdmF0YXJkaXYtLXdpdGgtbWVudSc6IGhhc01lbnVcblx0XHR9XCJcblx0XHQ6c3R5bGU9XCJhdmF0YXJTdHlsZVwiXG5cdFx0Y2xhc3M9XCJhdmF0YXJkaXYgcG9wb3Zlcm1lbnUtd3JhcHBlclwiXG5cdFx0di1vbj1cIiFkaXNhYmxlTWVudSA/IHsgY2xpY2s6IHRvZ2dsZU1lbnUgfSA6IHt9XCI+XG5cdFx0PCEtLSBBdmF0YXIgaWNvbiBvciBpbWFnZSAtLT5cblx0XHQ8ZGl2IHYtaWY9XCJpY29uQ2xhc3NcIiA6Y2xhc3M9XCJpY29uQ2xhc3NcIiBjbGFzcz1cImF2YXRhci1jbGFzcy1pY29uXCIgLz5cblx0XHQ8aW1nIHYtZWxzZS1pZj1cImlzQXZhdGFyTG9hZGVkICYmICF1c2VyRG9lc05vdEV4aXN0XCJcblx0XHRcdDpzcmM9XCJhdmF0YXJVcmxMb2FkZWRcIlxuXHRcdFx0OnNyY3NldD1cImF2YXRhclNyY1NldExvYWRlZFwiXG5cdFx0XHRhbHQ9XCJcIj5cblx0XHQ8UG9wb3ZlclxuXHRcdFx0di1pZj1cImhhc01lbnVcIlxuXHRcdFx0cGxhY2VtZW50PVwiYXV0b1wiXG5cdFx0XHQ6Y29udGFpbmVyPVwibWVudUNvbnRhaW5lclwiXG5cdFx0XHQ6b3Blbj1cImNvbnRhY3RzTWVudU9wZW5TdGF0ZVwiPlxuXHRcdFx0PFBvcG92ZXJNZW51IDptZW51PVwibWVudVwiIC8+XG5cdFx0XHQ8dGVtcGxhdGUgc2xvdD1cInRyaWdnZXJcIj5cblx0XHRcdFx0PGRpdiA6Y2xhc3M9XCJjb250YWN0c01lbnVMb2FkaW5nID8gJ2ljb24tbG9hZGluZycgOiAnaWNvbi1tb3JlJ1wiIDpzdHlsZT1cInsnd2lkdGgnOiBzaXplICsgJ3B4JywgJ2hlaWdodCc6IHNpemUgKyAncHgnfVwiIC8+XG5cdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdDwvUG9wb3Zlcj5cblxuXHRcdDwhLS0gQXZhdGFyIHN0YXR1cyAtLT5cblx0XHQ8ZGl2IHYtaWY9XCJzaG93VXNlclN0YXR1c0ljb25PbkF2YXRhclwiIGNsYXNzPVwiYXZhdGFyZGl2X191c2VyLXN0YXR1cyBhdmF0YXJkaXZfX3VzZXItc3RhdHVzLS1pY29uXCI+XG5cdFx0XHR7eyB1c2VyU3RhdHVzLmljb24gfX1cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IHYtZWxzZS1pZj1cImNhbkRpc3BsYXlVc2VyU3RhdHVzXCJcblx0XHRcdGNsYXNzPVwiYXZhdGFyZGl2X191c2VyLXN0YXR1c1wiXG5cdFx0XHQ6Y2xhc3M9XCInYXZhdGFyZGl2X191c2VyLXN0YXR1cy0tJyArIHVzZXJTdGF0dXMuc3RhdHVzXCIgLz5cblx0XHQ8ZGl2IHYtZWxzZS1pZj1cInN0YXR1c1wiXG5cdFx0XHRjbGFzcz1cImF2YXRhcmRpdl9fc3RhdHVzXCJcblx0XHRcdDpjbGFzcz1cIidhdmF0YXJkaXZfX3N0YXR1cy0tJyArIHN0YXR1c1wiXG5cdFx0XHQ6c3R5bGU9XCJ7IGJhY2tncm91bmRDb2xvcjogYCMke3N0YXR1c0NvbG9yfWAgfVwiPlxuXHRcdFx0PCEtLSB0cmlhbmdsZSAtLT5cblx0XHRcdDxzdmcgdi1pZj1cInN0YXR1cyA9PT0gJ25ldXRyYWwnXCJcblx0XHRcdFx0eG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG5cdFx0XHRcdHdpZHRoPVwiMTJcIlxuXHRcdFx0XHRoZWlnaHQ9XCIxMVwiXG5cdFx0XHRcdHZpZXdCb3g9XCIwIDAgMy4xNzUgMi45MVwiPlxuXHRcdFx0XHQ8cGF0aCBkPVwiTTMuMjEgMy4wNDNILjQ5NGwuNjc5LTEuMTc3LjY4LTEuMTc2LjY3OCAxLjE3NnpcIlxuXHRcdFx0XHRcdDpzdHlsZT1cInsgZmlsbDogYCMke3N0YXR1c0NvbG9yfWAgfVwiXG5cdFx0XHRcdFx0c3Ryb2tlPVwiI2ZmZlwiXG5cdFx0XHRcdFx0c3Ryb2tlLXdpZHRoPVwiLjI2NVwiXG5cdFx0XHRcdFx0c3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIiAvPlxuXHRcdFx0PC9zdmc+XG5cdFx0PC9kaXY+XG5cblx0XHQ8IS0tIFNob3cgdGhlIGxldHRlciBpZiBubyBhdmF0YXIgbm9yIGljb24gY2xhc3MgLS0+XG5cdFx0PGRpdiB2LWlmPVwidXNlckRvZXNOb3RFeGlzdCAmJiAhaWNvbkNsYXNzXCIgY2xhc3M9XCJ1bmtub3duXCI+XG5cdFx0XHR7eyBpbml0aWFscyB9fVxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgeyBnZXRCdWlsZGVyIH0gZnJvbSAnQG5leHRjbG91ZC9icm93c2VyLXN0b3JhZ2UnXG5pbXBvcnQgeyBkaXJlY3RpdmUgYXMgQ2xpY2tPdXRzaWRlIH0gZnJvbSAndi1jbGljay1vdXRzaWRlJ1xuaW1wb3J0IFBvcG92ZXJNZW51IGZyb20gJy4uL1BvcG92ZXJNZW51J1xuaW1wb3J0IHsgZ2V0Q3VycmVudFVzZXIgfSBmcm9tICdAbmV4dGNsb3VkL2F1dGgnXG5pbXBvcnQgeyBzdWJzY3JpYmUsIHVuc3Vic2NyaWJlIH0gZnJvbSAnQG5leHRjbG91ZC9ldmVudC1idXMnXG5pbXBvcnQgYXhpb3MgZnJvbSAnQG5leHRjbG91ZC9heGlvcydcbmltcG9ydCB7IGdlbmVyYXRlVXJsIH0gZnJvbSAnQG5leHRjbG91ZC9yb3V0ZXInXG5pbXBvcnQgVG9vbHRpcCBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL1Rvb2x0aXAnXG5pbXBvcnQgdXNlcm5hbWVUb0NvbG9yIGZyb20gJy4uLy4uL2Z1bmN0aW9ucy91c2VybmFtZVRvQ29sb3InXG5pbXBvcnQgeyB1c2VyU3RhdHVzIH0gZnJvbSAnLi4vLi4vbWl4aW5zJ1xuaW1wb3J0IFBvcG92ZXIgZnJvbSAnLi4vUG9wb3Zlci9Qb3BvdmVyJ1xuXG5jb25zdCBicm93c2VyU3RvcmFnZSA9IGdldEJ1aWxkZXIoJ25leHRjbG91ZCcpLnBlcnNpc3QoKS5idWlsZCgpXG5cbmZ1bmN0aW9uIGdldFVzZXJIYXNBdmF0YXIodXNlcklkKSB7XG5cdGNvbnN0IGZsYWcgPSBicm93c2VyU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWhhcy1hdmF0YXIuJyArIHVzZXJJZClcblx0aWYgKHR5cGVvZiBmbGFnID09PSAnc3RyaW5nJykge1xuXHRcdHJldHVybiBCb29sZWFuKGZsYWcpXG5cdH1cblx0cmV0dXJuIG51bGxcbn1cblxuZnVuY3Rpb24gc2V0VXNlckhhc0F2YXRhcih1c2VySWQsIGZsYWcpIHtcblx0aWYgKHVzZXJJZCkge1xuXHRcdGJyb3dzZXJTdG9yYWdlLnNldEl0ZW0oJ3VzZXItaGFzLWF2YXRhci4nICsgdXNlcklkLCBmbGFnKVxuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0F2YXRhcicsXG5cblx0ZGlyZWN0aXZlczoge1xuXHRcdHRvb2x0aXA6IFRvb2x0aXAsXG5cdFx0Q2xpY2tPdXRzaWRlLFxuXHR9LFxuXHRjb21wb25lbnRzOiB7XG5cdFx0UG9wb3Zlcixcblx0XHRQb3BvdmVyTWVudSxcblx0fSxcblx0bWl4aW5zOiBbdXNlclN0YXR1c10sXG5cdHByb3BzOiB7XG5cdFx0LyoqXG5cdFx0ICogU2V0IGEgY3VzdG9tIHVybCB0byB0aGUgYXZhdGFyIGltYWdlXG5cdFx0ICogZWl0aGVyIHRoZSB1cmwsIHVzZXIgb3IgZGlzcGxheU5hbWUgcHJvcGVydHkgbXVzdCBiZSBkZWZpbmVkXG5cdFx0ICovXG5cdFx0dXJsOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiB1bmRlZmluZWQsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBTZXQgYSBjc3MgaWNvbi1jbGFzcyBmb3IgYW4gaWNvbiB0byBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGF2YXRhci5cblx0XHQgKi9cblx0XHRpY29uQ2xhc3M6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6IHVuZGVmaW5lZCxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIFNldCB0aGUgdXNlciBpZCB0byBmZXRjaCB0aGUgYXZhdGFyXG5cdFx0ICogZWl0aGVyIHRoZSB1cmwsIHVzZXIgb3IgZGlzcGxheU5hbWUgcHJvcGVydHkgbXVzdCBiZSBkZWZpbmVkXG5cdFx0ICovXG5cdFx0dXNlcjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogdW5kZWZpbmVkLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogV2hldGhlciBvciBub3QgdG8gZGlzcGxheSB0aGUgdXNlci1zdGF0dXNcblx0XHQgKi9cblx0XHRzaG93VXNlclN0YXR1czoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IHRydWUsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBXaGV0aGVyIG9yIG5vdCB0byB0aGUgc3RhdHVzLWljb24gc2hvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBvbmxpbmUvYXdheVxuXHRcdCAqL1xuXHRcdHNob3dVc2VyU3RhdHVzQ29tcGFjdDoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IHRydWUsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBXaGVuIHRoZSB1c2VyIHN0YXR1cyB3YXMgcHJlbG9hZGVkIHZpYSBhbm90aGVyIHNvdXJjZSBpdCBjYW4gYmUgaGFuZGVkIGluIHdpdGggdGhpcyBwcm9wZXJ0eSB0byBzYXZlIHRoZSByZXF1ZXN0LlxuXHRcdCAqIElmIHRoaXMgcHJvcGVydHkgaXMgbm90IHNldCB0aGUgc3RhdHVzIHdpbGwgYmUgZmV0Y2hlZCBhdXRvbWF0aWNhbGx5LlxuXHRcdCAqIElmIGEgcHJlbG9hZGVkIG5vLXN0YXR1cyBpcyBhdmFpbGFibGUgcHJvdmlkZSB0aGlzIG9iamVjdCB3aXRoIHByb3BlcnRpZXMgXCJzdGF0dXNcIiwgXCJpY29uXCIgYW5kIFwibWVzc2FnZVwiIHNldCB0byBudWxsLlxuXHRcdCAqL1xuXHRcdHByZWxvYWRlZFVzZXJTdGF0dXM6IHtcblx0XHRcdHR5cGU6IE9iamVjdCxcblx0XHRcdGRlZmF1bHQ6IHVuZGVmaW5lZCxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIElzIHRoZSB1c2VyIGEgZ3Vlc3QgdXNlciAodGhlbiB3ZSBoYXZlIHRvIHVzZXIgYSBkaWZmZXJlbnQgZW5kcG9pbnQpXG5cdFx0ICovXG5cdFx0aXNHdWVzdDoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogU2V0IGEgZGlzcGxheSBuYW1lIHRoYXQgd2lsbCBiZSByZW5kZXJlZCBhcyBhIHRvb2x0aXBcblx0XHQgKiBlaXRoZXIgdGhlIHVybCwgdXNlciBvciBkaXNwbGF5TmFtZSBwcm9wZXJ0eSBtdXN0IGJlIGRlZmluZWRcblx0XHQgKiBzcGVjaWZ5IGp1c3QgdGhlIGRpc3BsYXluYW1lIHRvIGdlbmVyYXRlIGEgcGxhY2Vob2xkZXIgYXZhdGFyIHdpdGhvdXRcblx0XHQgKiB0cnlpbmcgdG8gZmV0Y2ggdGhlIGF2YXRhciBiYXNlZCBvbiB0aGUgdXNlciBpZFxuXHRcdCAqL1xuXHRcdGRpc3BsYXlOYW1lOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiB1bmRlZmluZWQsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBTZXQgYSBzaXplIGluIHB4IGZvciB0aGUgcmVuZGVyZWQgYXZhdGFyXG5cdFx0ICovXG5cdFx0c2l6ZToge1xuXHRcdFx0dHlwZTogTnVtYmVyLFxuXHRcdFx0ZGVmYXVsdDogMzIsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBQbGFjZWhvbGRlciBhdmF0YXJzIHdpbGwgYmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgd2hlbiB0aGlzIGlzIHNldCB0byB0cnVlXG5cdFx0ICovXG5cdFx0YWxsb3dQbGFjZWhvbGRlcjoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IHRydWUsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBEaXNhYmxlIHRoZSB0b29sdGlwXG5cdFx0ICovXG5cdFx0ZGlzYWJsZVRvb2x0aXA6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIERpc2FibGUgdGhlIG1lbnVcblx0XHQgKi9cblx0XHRkaXNhYmxlTWVudToge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogRGVjbGFyZXMgYSBjdXN0b20gdG9vbHRpcCB3aGVuIG5vdCBudWxsXG5cdFx0ICogRmFsbGJhY2sgd2lsbCBiZSB0aGUgZGlzcGxheU5hbWVcblx0XHQgKlxuXHRcdCAqIHJlcXVpcmVzIGRpc2FibGVUb29sdGlwIG5vdCB0byBiZSBzZXQgdG8gdHJ1ZVxuXHRcdCAqL1xuXHRcdHRvb2x0aXBNZXNzYWdlOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiBudWxsLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogRGVjbGFyZXMgdXNlcm5hbWUgaXMgbm90IGEgdXNlcidzIG5hbWUsIHdoZW4gdHJ1ZS5cblx0XHQgKiBQcmV2ZW50cyBsb2FkaW5nIHVzZXIncyBhdmF0YXIgZnJvbSBzZXJ2ZXIgYW5kIGZvcmNlcyBnZW5lcmF0aW5nIGNvbG9yZWQgaW5pdGlhbHMsXG5cdFx0ICogaS5lLiBpZiB0aGUgdXNlciBpcyBhIGdyb3VwXG5cdFx0ICovXG5cdFx0aXNOb1VzZXI6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogREVQUkVDQVRFRCFcblx0XHQgKiBUaGlzIHByb3Agd2lsbCBiZSByZW1vdmVkIHdpdGggbmMvdnVlIDMuMFxuXHRcdCAqXG5cdFx0ICogRGVjbGFyZXMgYSBzdGF0dXMgaW5kaWNhdG9yIG9uIHRoZSBhdmF0YXJcblx0XHQgKiBBdmFpbGFibGUgb3B0aW9ucyBhcmUgYHBvc2l0aXZlYCwgYG5lZ2F0aXZlYCwgYG5ldXRyYWxgXG5cdFx0ICovXG5cdFx0c3RhdHVzOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiBudWxsLFxuXHRcdFx0dmFsaWRhdG9yOiAodmFsdWUpID0+IHtcblx0XHRcdFx0c3dpdGNoICh2YWx1ZSkge1xuXHRcdFx0XHRjYXNlICdwb3NpdGl2ZSc6XG5cdFx0XHRcdGNhc2UgJ25lZ2F0aXZlJzpcblx0XHRcdFx0Y2FzZSAnbmV1dHJhbCc6XG5cdFx0XHRcdFx0cmV0dXJuIHRydWVcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gZmFsc2Vcblx0XHRcdH0sXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBEZWNsYXJlcyBhIGRpZmZlcmVudCBjb2xvciB0byBiZSB1c2VkIHdpdGggdGhlIHN0YXR1cyBpbmRpY2F0b3Jcblx0XHQgKi9cblx0XHRzdGF0dXNDb2xvcjoge1xuXHRcdFx0dHlwZTogW051bWJlciwgU3RyaW5nXSxcblx0XHRcdGRlZmF1bHQ6IG51bGwsXG5cdFx0XHR2YWxpZGF0b3I6IHZhbHVlID0+IHtcblx0XHRcdFx0cmV0dXJuIC9eKFthLWYwLTldezN9KXsxLDJ9JC9pLnRlc3QodmFsdWUpXG5cdFx0XHR9LFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogQ2hvb3NlIHRoZSBhdmF0YXIgbWVudSBhbGlnbm1lbnQuXG5cdFx0ICogUG9zc2libGUgdmFsdWVzIGFyZSBgbGVmdGAsIGBjZW50ZXJgLCBgcmlnaHRgLlxuXHRcdCAqL1xuXHRcdG1lbnVQb3NpdGlvbjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJ2NlbnRlcicsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIFNlbGVjdG9yIGZvciB0aGUgcG9wb3ZlciBtZW51IGNvbnRhaW5lclxuXHRcdCAqL1xuXHRcdG1lbnVDb250YWluZXI6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICdib2R5Jyxcblx0XHR9LFxuXHR9LFxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRhdmF0YXJVcmxMb2FkZWQ6IG51bGwsXG5cdFx0XHRhdmF0YXJTcmNTZXRMb2FkZWQ6IG51bGwsXG5cdFx0XHR1c2VyRG9lc05vdEV4aXN0OiBmYWxzZSxcblx0XHRcdGlzQXZhdGFyTG9hZGVkOiBmYWxzZSxcblx0XHRcdGlzTWVudUxvYWRlZDogZmFsc2UsXG5cdFx0XHRjb250YWN0c01lbnVMb2FkaW5nOiBmYWxzZSxcblx0XHRcdGNvbnRhY3RzTWVudUFjdGlvbnM6IFtdLFxuXHRcdFx0Y29udGFjdHNNZW51T3BlblN0YXRlOiBmYWxzZSxcblx0XHR9XG5cdH0sXG5cdGNvbXB1dGVkOiB7XG5cdFx0Y2FuRGlzcGxheVVzZXJTdGF0dXMoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5zaG93VXNlclN0YXR1c1xuXHRcdFx0XHQmJiB0aGlzLmhhc1N0YXR1c1xuXHRcdFx0XHQmJiBbJ29ubGluZScsICdhd2F5JywgJ2RuZCddLmluY2x1ZGVzKHRoaXMudXNlclN0YXR1cy5zdGF0dXMpXG5cdFx0fSxcblx0XHRzaG93VXNlclN0YXR1c0ljb25PbkF2YXRhcigpIHtcblx0XHRcdHJldHVybiB0aGlzLnNob3dVc2VyU3RhdHVzXG5cdFx0XHRcdCYmIHRoaXMuc2hvd1VzZXJTdGF0dXNDb21wYWN0XG5cdFx0XHRcdCYmIHRoaXMuaGFzU3RhdHVzXG5cdFx0XHRcdCYmIHRoaXMudXNlclN0YXR1cy5zdGF0dXMgIT09ICdkbmQnXG5cdFx0XHRcdCYmIHRoaXMudXNlclN0YXR1cy5pY29uXG5cdFx0fSxcblx0XHRnZXRVc2VySWRlbnRpZmllcigpIHtcblx0XHRcdGlmICh0aGlzLmlzRGlzcGxheU5hbWVEZWZpbmVkKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLmRpc3BsYXlOYW1lXG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy5pc1VzZXJEZWZpbmVkKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLnVzZXJcblx0XHRcdH1cblx0XHRcdHJldHVybiAnJ1xuXHRcdH0sXG5cdFx0aXNVc2VyRGVmaW5lZCgpIHtcblx0XHRcdHJldHVybiB0eXBlb2YgdGhpcy51c2VyICE9PSAndW5kZWZpbmVkJ1xuXHRcdH0sXG5cdFx0aXNEaXNwbGF5TmFtZURlZmluZWQoKSB7XG5cdFx0XHRyZXR1cm4gdHlwZW9mIHRoaXMuZGlzcGxheU5hbWUgIT09ICd1bmRlZmluZWQnXG5cdFx0fSxcblx0XHRpc1VybERlZmluZWQoKSB7XG5cdFx0XHRyZXR1cm4gdHlwZW9mIHRoaXMudXJsICE9PSAndW5kZWZpbmVkJ1xuXHRcdH0sXG5cdFx0aGFzTWVudSgpIHtcblx0XHRcdGlmICh0aGlzLmRpc2FibGVNZW51KSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZVxuXHRcdFx0fVxuXHRcdFx0aWYgKHRoaXMuaXNNZW51TG9hZGVkKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLm1lbnUubGVuZ3RoID4gMFxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuICEodGhpcy51c2VyID09PSBnZXRDdXJyZW50VXNlcigpPy51aWQgfHwgdGhpcy51c2VyRG9lc05vdEV4aXN0IHx8IHRoaXMudXJsKVxuXHRcdH0sXG5cdFx0c2hvdWxkU2hvd1BsYWNlaG9sZGVyKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuYWxsb3dQbGFjZWhvbGRlciAmJiAoXG5cdFx0XHRcdHRoaXMudXNlckRvZXNOb3RFeGlzdClcblx0XHR9LFxuXHRcdGF2YXRhclN0eWxlKCkge1xuXHRcdFx0Y29uc3Qgc3R5bGUgPSB7XG5cdFx0XHRcdHdpZHRoOiB0aGlzLnNpemUgKyAncHgnLFxuXHRcdFx0XHRoZWlnaHQ6IHRoaXMuc2l6ZSArICdweCcsXG5cdFx0XHRcdGxpbmVIZWlnaHQ6IHRoaXMuc2l6ZSArICdweCcsXG5cdFx0XHRcdGZvbnRTaXplOiBNYXRoLnJvdW5kKHRoaXMuc2l6ZSAqIDAuNTUpICsgJ3B4Jyxcblx0XHRcdH1cblxuXHRcdFx0aWYgKCF0aGlzLmljb25DbGFzcyAmJiAhdGhpcy5hdmF0YXJTcmNTZXRMb2FkZWQpIHtcblx0XHRcdFx0Y29uc3QgcmdiID0gdXNlcm5hbWVUb0NvbG9yKHRoaXMuZ2V0VXNlcklkZW50aWZpZXIpXG5cdFx0XHRcdHN0eWxlLmJhY2tncm91bmRDb2xvciA9ICdyZ2IoJyArIHJnYi5yICsgJywgJyArIHJnYi5nICsgJywgJyArIHJnYi5iICsgJyknXG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gc3R5bGVcblx0XHR9LFxuXHRcdHRvb2x0aXAoKSB7XG5cdFx0XHRpZiAodGhpcy5kaXNhYmxlVG9vbHRpcCkge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2Vcblx0XHRcdH1cblx0XHRcdGlmICh0aGlzLnRvb2x0aXBNZXNzYWdlKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLnRvb2x0aXBNZXNzYWdlXG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiB0aGlzLmRpc3BsYXlOYW1lXG5cdFx0fSxcblx0XHRpbml0aWFscygpIHtcblx0XHRcdGxldCBpbml0aWFsc1xuXHRcdFx0aWYgKHRoaXMuc2hvdWxkU2hvd1BsYWNlaG9sZGVyKSB7XG5cdFx0XHRcdGNvbnN0IHVzZXIgPSB0aGlzLmdldFVzZXJJZGVudGlmaWVyXG5cdFx0XHRcdGNvbnN0IGlkeCA9IHVzZXIuaW5kZXhPZignICcpXG5cdFx0XHRcdGlmICh1c2VyID09PSAnJykge1xuXHRcdFx0XHRcdGluaXRpYWxzID0gJz8nXG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0aW5pdGlhbHMgPSBTdHJpbmcuZnJvbUNvZGVQb2ludCh1c2VyLmNvZGVQb2ludEF0KDApKVxuXHRcdFx0XHRcdGlmIChpZHggIT09IC0xKSB7XG5cdFx0XHRcdFx0XHRpbml0aWFscyA9IGluaXRpYWxzLmNvbmNhdChTdHJpbmcuZnJvbUNvZGVQb2ludCh1c2VyLmNvZGVQb2ludEF0KGlkeCArIDEpKSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJldHVybiBpbml0aWFscy50b1VwcGVyQ2FzZSgpXG5cdFx0fSxcblx0XHRtZW51KCkge1xuXHRcdFx0Y29uc3QgYWN0aW9ucyA9IHRoaXMuY29udGFjdHNNZW51QWN0aW9ucy5tYXAoKGl0ZW0pID0+IHtcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRocmVmOiBpdGVtLmh5cGVybGluayxcblx0XHRcdFx0XHRpY29uOiBpdGVtLmljb24sXG5cdFx0XHRcdFx0bG9uZ3RleHQ6IGl0ZW0udGl0bGUsXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cblx0XHRcdGZ1bmN0aW9uIGVzY2FwZShodG1sKSB7XG5cdFx0XHRcdGNvbnN0IHRleHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShodG1sKVxuXHRcdFx0XHRjb25zdCBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpXG5cdFx0XHRcdHAuYXBwZW5kQ2hpbGQodGV4dClcblx0XHRcdFx0cmV0dXJuIHAuaW5uZXJIVE1MXG5cdFx0XHR9XG5cblx0XHRcdGlmICh0aGlzLnNob3dVc2VyU3RhdHVzICYmICh0aGlzLnVzZXJTdGF0dXMuaWNvbiB8fCB0aGlzLnVzZXJTdGF0dXMubWVzc2FnZSkpIHtcblx0XHRcdFx0cmV0dXJuIFt7XG5cdFx0XHRcdFx0aHJlZjogJyMnLFxuXHRcdFx0XHRcdGljb246IGBkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHRleHQgeD0nMCcgeT0nMTQnIGZvbnQtc2l6ZT0nMTQnPiR7ZXNjYXBlKHRoaXMudXNlclN0YXR1cy5pY29uKX08L3RleHQ+PC9zdmc+YCxcblx0XHRcdFx0XHR0ZXh0OiBgJHt0aGlzLnVzZXJTdGF0dXMubWVzc2FnZX1gLFxuXHRcdFx0XHR9XS5jb25jYXQoYWN0aW9ucylcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGFjdGlvbnNcblx0XHR9LFxuXHR9LFxuXG5cdHdhdGNoOiB7XG5cdFx0dXJsKCkge1xuXHRcdFx0dGhpcy51c2VyRG9lc05vdEV4aXN0ID0gZmFsc2Vcblx0XHRcdHRoaXMubG9hZEF2YXRhclVybCgpXG5cdFx0fSxcblx0XHR1c2VyKCkge1xuXHRcdFx0dGhpcy51c2VyRG9lc05vdEV4aXN0ID0gZmFsc2Vcblx0XHRcdHRoaXMuaXNNZW51TG9hZGVkID0gZmFsc2Vcblx0XHRcdHRoaXMubG9hZEF2YXRhclVybCgpXG5cdFx0fSxcblx0fSxcblxuXHRtb3VudGVkKCkge1xuXHRcdHRoaXMubG9hZEF2YXRhclVybCgpXG5cdFx0aWYgKHRoaXMuc2hvd1VzZXJTdGF0dXMgJiYgdGhpcy51c2VyICYmICF0aGlzLmlzTm9Vc2VyKSB7XG5cdFx0XHRpZiAoIXRoaXMucHJlbG9hZGVkVXNlclN0YXR1cykge1xuXHRcdFx0XHR0aGlzLmZldGNoVXNlclN0YXR1cyh0aGlzLnVzZXIpXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLnVzZXJTdGF0dXMuc3RhdHVzID0gdGhpcy5wcmVsb2FkZWRVc2VyU3RhdHVzLnN0YXR1cyB8fCAnJ1xuXHRcdFx0XHR0aGlzLnVzZXJTdGF0dXMubWVzc2FnZSA9IHRoaXMucHJlbG9hZGVkVXNlclN0YXR1cy5tZXNzYWdlIHx8ICcnXG5cdFx0XHRcdHRoaXMudXNlclN0YXR1cy5pY29uID0gdGhpcy5wcmVsb2FkZWRVc2VyU3RhdHVzLmljb24gfHwgJydcblx0XHRcdFx0dGhpcy5oYXNTdGF0dXMgPSB0aGlzLnByZWxvYWRlZFVzZXJTdGF0dXMuc3RhdHVzICE9PSBudWxsXG5cdFx0XHR9XG5cdFx0XHRzdWJzY3JpYmUoJ3VzZXJfc3RhdHVzOnN0YXR1cy51cGRhdGVkJywgdGhpcy5oYW5kbGVVc2VyU3RhdHVzVXBkYXRlZClcblx0XHR9XG5cdH0sXG5cblx0YmVmb3JlRGVzdHJveWVkKCkge1xuXHRcdGlmICh0aGlzLnNob3dVc2VyU3RhdHVzICYmIHRoaXMudXNlciAmJiAhdGhpcy5pc05vVXNlcikge1xuXHRcdFx0dW5zdWJzY3JpYmUoJ3VzZXJfc3RhdHVzOnN0YXR1cy51cGRhdGVkJywgdGhpcy5oYW5kbGVVc2VyU3RhdHVzVXBkYXRlZClcblx0XHR9XG5cdH0sXG5cblx0bWV0aG9kczoge1xuXHRcdGhhbmRsZVVzZXJTdGF0dXNVcGRhdGVkKHN0YXRlKSB7XG5cdFx0XHRpZiAodGhpcy51c2VyID09PSBzdGF0ZS51c2VySWQpIHtcblx0XHRcdFx0dGhpcy51c2VyU3RhdHVzID0ge1xuXHRcdFx0XHRcdHN0YXR1czogc3RhdGUuc3RhdHVzLFxuXHRcdFx0XHRcdGljb246IHN0YXRlLmljb24sXG5cdFx0XHRcdFx0bWVzc2FnZTogc3RhdGUubWVzc2FnZSxcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0sXG5cblx0XHRhc3luYyB0b2dnbGVNZW51KCkge1xuXHRcdFx0aWYgKCF0aGlzLmhhc01lbnUpIHtcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cdFx0XHRpZiAoIXRoaXMuY29udGFjdHNNZW51T3BlblN0YXRlKSB7XG5cdFx0XHRcdGF3YWl0IHRoaXMuZmV0Y2hDb250YWN0c01lbnUoKVxuXHRcdFx0fVxuXHRcdFx0dGhpcy5jb250YWN0c01lbnVPcGVuU3RhdGUgPSAhdGhpcy5jb250YWN0c01lbnVPcGVuU3RhdGVcblx0XHR9LFxuXHRcdGNsb3NlTWVudSgpIHtcblx0XHRcdHRoaXMuY29udGFjdHNNZW51T3BlblN0YXRlID0gZmFsc2Vcblx0XHR9LFxuXHRcdGFzeW5jIGZldGNoQ29udGFjdHNNZW51KCkge1xuXHRcdFx0dGhpcy5jb250YWN0c01lbnVMb2FkaW5nID0gdHJ1ZVxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdXNlciA9IGVuY29kZVVSSUNvbXBvbmVudCh0aGlzLnVzZXIpXG5cdFx0XHRcdGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgYXhpb3MucG9zdChnZW5lcmF0ZVVybCgnY29udGFjdHNtZW51L2ZpbmRPbmUnKSwgYHNoYXJlVHlwZT0wJnNoYXJlV2l0aD0ke3VzZXJ9YClcblx0XHRcdFx0dGhpcy5jb250YWN0c01lbnVBY3Rpb25zID0gZGF0YS50b3BBY3Rpb24gPyBbZGF0YS50b3BBY3Rpb25dLmNvbmNhdChkYXRhLmFjdGlvbnMpIDogZGF0YS5hY3Rpb25zXG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdHRoaXMuY29udGFjdHNNZW51T3BlblN0YXRlID0gZmFsc2Vcblx0XHRcdH1cblx0XHRcdHRoaXMuY29udGFjdHNNZW51TG9hZGluZyA9IGZhbHNlXG5cdFx0XHR0aGlzLmlzTWVudUxvYWRlZCA9IHRydWVcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogSGFuZGxlIGF2YXRhciBsb2FkaW5nIGlmIHVzZXIgb3IgdXJsIGRlZmluZWRcblx0XHQgKi9cblx0XHRsb2FkQXZhdGFyVXJsKCkge1xuXHRcdFx0dGhpcy5pc0F2YXRhckxvYWRlZCA9IGZhbHNlXG5cblx0XHRcdC8qKiBPbmx5IHJ1biBhdmF0YXIgaW1hZ2UgbG9hZGluZyBpZiBlaXRoZXIgdXNlciBvciB1cmwgcHJvcGVydHkgaXMgZGVmaW5lZCAqL1xuXHRcdFx0aWYgKCF0aGlzLmlzVXJsRGVmaW5lZCAmJiAoIXRoaXMuaXNVc2VyRGVmaW5lZCB8fCB0aGlzLmlzTm9Vc2VyKSkge1xuXHRcdFx0XHR0aGlzLmlzQXZhdGFyTG9hZGVkID0gdHJ1ZVxuXHRcdFx0XHR0aGlzLnVzZXJEb2VzTm90RXhpc3QgPSB0cnVlXG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXG5cdFx0XHQvLyBEaXJlY3RseSB1c2UgdGhlIHVybCBpZiBkZWZpbmVkXG5cdFx0XHRpZiAodGhpcy5pc1VybERlZmluZWQpIHtcblx0XHRcdFx0dGhpcy51cGRhdGVJbWFnZUlmVmFsaWQodGhpcy51cmwpXG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBhdmF0YXJVcmwgPSB0aGlzLmF2YXRhclVybEdlbmVyYXRvcih0aGlzLnVzZXIsIHRoaXMuc2l6ZSlcblx0XHRcdGNvbnN0IHNyY3NldCA9IFtcblx0XHRcdFx0YXZhdGFyVXJsICsgJyAxeCcsXG5cdFx0XHRcdHRoaXMuYXZhdGFyVXJsR2VuZXJhdG9yKHRoaXMudXNlciwgdGhpcy5zaXplICogMikgKyAnIDJ4Jyxcblx0XHRcdFx0dGhpcy5hdmF0YXJVcmxHZW5lcmF0b3IodGhpcy51c2VyLCB0aGlzLnNpemUgKiA0KSArICcgNHgnLFxuXHRcdFx0XS5qb2luKCcsICcpXG5cblx0XHRcdHRoaXMudXBkYXRlSW1hZ2VJZlZhbGlkKGF2YXRhclVybCwgc3Jjc2V0KVxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBHZW5lcmF0ZSBhbiBhdmF0YXIgdXJsIGZyb20gdGhlIHNlcnZlcidzIGF2YXRhciBlbmRwb2ludFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IHVzZXIgdGhlIHVzZXIgaWRcblx0XHQgKiBAcGFyYW0ge251bWJlcn0gc2l6ZSB0aGUgZGVzaXJlZCBzaXplXG5cdFx0ICogQHJldHVybnMge3N0cmluZ31cblx0XHQgKi9cblx0XHRhdmF0YXJVcmxHZW5lcmF0b3IodXNlciwgc2l6ZSkge1xuXHRcdFx0bGV0IHVybCA9ICcvYXZhdGFyL3t1c2VyfS97c2l6ZX0nXG5cdFx0XHRpZiAodGhpcy5pc0d1ZXN0KSB7XG5cdFx0XHRcdHVybCA9ICcvYXZhdGFyL2d1ZXN0L3t1c2VyfS97c2l6ZX0nXG5cdFx0XHR9XG5cblx0XHRcdGxldCBhdmF0YXJVcmwgPSBnZW5lcmF0ZVVybChcblx0XHRcdFx0dXJsLFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0dXNlcixcblx0XHRcdFx0XHRzaXplLFxuXHRcdFx0XHR9KVxuXG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlXG5cdFx0XHRpZiAodXNlciA9PT0gZ2V0Q3VycmVudFVzZXIoKT8udWlkICYmIHR5cGVvZiBvY191c2VyY29uZmlnICE9PSAndW5kZWZpbmVkJykge1xuXHRcdFx0XHRhdmF0YXJVcmwgKz0gJz92PScgKyBvY191c2VyY29uZmlnLmF2YXRhci52ZXJzaW9uXG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBhdmF0YXJVcmxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogQ2hlY2sgaWYgdGhlIHByb3ZpZGVkIHVybCBpcyB2YWxpZCBhbmQgdXBkYXRlIEF2YXRhciBpZiBzb1xuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IHVybCB0aGUgYXZhdGFyIHVybFxuXHRcdCAqIEBwYXJhbSB7YXJyYXl9IHNyY3NldCB0aGUgYXZhdGFyIHNyY3NldFxuXHRcdCAqL1xuXHRcdHVwZGF0ZUltYWdlSWZWYWxpZCh1cmwsIHNyY3NldCA9IG51bGwpIHtcblx0XHRcdC8vIHNraXAgbG9hZGluZ1xuXHRcdFx0Y29uc3QgdXNlckhhc0F2YXRhciA9IGdldFVzZXJIYXNBdmF0YXIodGhpcy51c2VyKVxuXHRcdFx0aWYgKHRoaXMuaXNVc2VyRGVmaW5lZCAmJiB0eXBlb2YgdXNlckhhc0F2YXRhciA9PT0gJ2Jvb2xlYW4nKSB7XG5cdFx0XHRcdHRoaXMuaXNBdmF0YXJMb2FkZWQgPSB0cnVlXG5cdFx0XHRcdHRoaXMuYXZhdGFyVXJsTG9hZGVkID0gdXJsXG5cdFx0XHRcdGlmIChzcmNzZXQpIHtcblx0XHRcdFx0XHR0aGlzLmF2YXRhclNyY1NldExvYWRlZCA9IHNyY3NldFxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh1c2VySGFzQXZhdGFyID09PSBmYWxzZSkge1xuXHRcdFx0XHRcdHRoaXMudXNlckRvZXNOb3RFeGlzdCA9IHRydWVcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgaW1nID0gbmV3IEltYWdlKClcblx0XHRcdGltZy5vbmxvYWQgPSAoKSA9PiB7XG5cdFx0XHRcdHRoaXMuYXZhdGFyVXJsTG9hZGVkID0gdXJsXG5cdFx0XHRcdGlmIChzcmNzZXQpIHtcblx0XHRcdFx0XHR0aGlzLmF2YXRhclNyY1NldExvYWRlZCA9IHNyY3NldFxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuaXNBdmF0YXJMb2FkZWQgPSB0cnVlXG5cdFx0XHRcdC8vIHJlLWdldCB0byBhdm9pZCBjb25jdXJyZW50IGFjY2Vzc1xuXHRcdFx0XHRzZXRVc2VySGFzQXZhdGFyKHRoaXMudXNlciwgdHJ1ZSlcblx0XHRcdH1cblx0XHRcdGltZy5vbmVycm9yID0gKCkgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmRlYnVnKCdJbnZhbGlkIGF2YXRhciB1cmwnLCB1cmwpXG5cdFx0XHRcdC8vIEF2YXRhciBpcyBpbnZhbGlkLCByZXNldFxuXHRcdFx0XHR0aGlzLmF2YXRhclVybExvYWRlZCA9IG51bGxcblx0XHRcdFx0dGhpcy5hdmF0YXJTcmNTZXRMb2FkZWQgPSBudWxsXG5cblx0XHRcdFx0dGhpcy51c2VyRG9lc05vdEV4aXN0ID0gdHJ1ZVxuXHRcdFx0XHR0aGlzLmlzQXZhdGFyTG9hZGVkID0gZmFsc2Vcblx0XHRcdFx0c2V0VXNlckhhc0F2YXRhcih0aGlzLnVzZXIsIGZhbHNlKVxuXHRcdFx0fVxuXG5cdFx0XHRpZiAoc3Jjc2V0KSB7XG5cdFx0XHRcdGltZy5zcmNzZXQgPSBzcmNzZXRcblx0XHRcdH1cblx0XHRcdGltZy5zcmMgPSB1cmxcblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBzY29wZWQgbGFuZz1cInNjc3NcIj5cbkBpbXBvcnQgJy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlJztcblxuLmF2YXRhcmRpdiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdCYtLXVua25vd24ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW1heGNvbnRyYXN0KTtcblx0fVxuXG5cdCY6bm90KCYtLXVua25vd24pIHtcblx0XHQvLyBXaGl0ZSBiYWNrZ3JvdW5kIGZvciBhdmF0YXJzIHdpdGggdHJhbnNwYXJlbmN5XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuXHRcdGJvZHkudGhlbWUtLWRhcmsgJiB7XG5cdFx0XHQvLyBBbmQgYmxhY2sgYmFja2dyb3VuZCBpbiBkYXJrIG1vZGUsIGFzIGl0IHNoaW5lcyB0aHJvdWdoIG9uIGhvdmVyIG9mIHRoZSBtZW51XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAwLjA1KSBpbnNldDtcblx0fVxuXG5cdCYtLXdpdGgtbWVudSB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdDo6di1kZWVwIC50cmlnZ2VyIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0fVxuXHRcdC5pY29uLW1vcmUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdFx0XHRAaW5jbHVkZSBpY29uZm9udCgnbW9yZScpO1xuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6Zm9jdXMsXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHQuaWNvbi1tb3JlIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cblx0XHRcdGltZyB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuMztcblx0XHRcdH1cblx0XHR9XG5cdFx0Lmljb24tbW9yZSxcblx0XHRpbWcge1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1hbmltYXRpb24tcXVpY2spO1xuXHRcdH1cblx0fVxuXG5cdD4gLnVua25vd24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcblx0fVxuXG5cdGltZyB7XG5cdFx0Ly8gQ292ZXIgZW50aXJlIGFyZWFcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0Ly8gS2VlcCByYXRpb1xuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHR9XG5cblx0LmF2YXRhcmRpdl9fc3RhdHVzIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAyMnB4O1xuXHRcdGxlZnQ6IDIycHg7XG5cdFx0d2lkdGg6IDEwcHg7XG5cdFx0aGVpZ2h0OiAxMHB4O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xuXHRcdGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG5cdFx0Ji0tcG9zaXRpdmUge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG5cdFx0fVxuXHRcdCYtLW5lZ2F0aXZlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcblx0XHR9XG5cdFx0Ji0tbmV1dHJhbCB7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdFx0c3ZnIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IC0zcHg7XG5cdFx0XHRcdGxlZnQ6IC0ycHg7XG5cdFx0XHRcdHBhdGgge1xuXHRcdFx0XHRcdGZpbGw6ICNhYWE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuYXZhdGFyZGl2X191c2VyLXN0YXR1cyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAtNHB4O1xuXHRcdGJvdHRvbTogLTRweDtcblx0XHRoZWlnaHQ6IDE4cHg7XG5cdFx0d2lkdGg6IDE4cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE1cHg7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1kZWZhdWx0LWZvbnQtc2l6ZSk7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblxuXHRcdC5hY2xpOmhvdmVyICYge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xuXHRcdH1cblx0XHQuYWNsaS5hY3RpdmUgJiB7XG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG5cdFx0fVxuXG5cdFx0Ji0tb25saW5le1xuXHRcdFx0QGluY2x1ZGUgaWNvbmZvbnQoJ3VzZXItc3RhdHVzLW9ubGluZScpO1xuXHRcdFx0Y29sb3I6ICM0OWIzODI7XG5cdFx0fVxuXHRcdCYtLWRuZHtcblx0XHRcdEBpbmNsdWRlIGljb25mb250KCd1c2VyLXN0YXR1cy1kbmQnKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5cdFx0XHRjb2xvcjogI2VkNDg0Yztcblx0XHR9XG5cdFx0Ji0tYXdheXtcblx0XHRcdEBpbmNsdWRlIGljb25mb250KCd1c2VyLXN0YXR1cy1hd2F5Jyk7XG5cdFx0XHRjb2xvcjogI2Y0YTMzMTtcblx0XHR9XG5cdFx0Ji0taWNvbiB7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cdH1cblxuXHQucG9wb3Zlcm1lbnUtd3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxufVxuXG4uYXZhdGFyLWNsYXNzLWljb24ge1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG48L3N0eWxlPlxuIiwiPCEtLVxuIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMjAgUmFpbXVuZCBTY2hsw7zDn2xlciA8cmFpbXVuZC5zY2hsdWVzc2xlckBtYWlsYm94Lm9yZz5cbiAtXG4gLSBAYXV0aG9yIFJhaW11bmQgU2NobMO8w59sZXIgPHJhaW11bmQuc2NobHVlc3NsZXJAbWFpbGJveC5vcmc+XG4gLVxuIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gLVxuIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gLVxuIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAtXG4gLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gLVxuIC0tPlxuXG48ZG9jcz5cblxuIyMjIEdlbmVyYWwgZGVzY3JpcHRpb25cblxuVGhpcyBjb21wb25lbnQgaXMgbWVhbnQgdG8gYmUgdXNlZCBpbnNpZGUgYSBCcmVhZGNydW1icyBjb21wb25lbnQuXG5cbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8ZGl2IHJlZj1cImNydW1iXCJcblx0XHRjbGFzcz1cImNydW1iXCJcblx0XHQ6Y2xhc3M9XCJ7J2NydW1iLS13aXRoLWFjdGlvbic6ICRzbG90cy5kZWZhdWx0LCAnY3J1bWItLWhvdmVyZWQnOiBob3ZlcmluZ31cIlxuXHRcdGRyYWdnYWJsZT1cImZhbHNlXCJcblx0XHRAZHJhZ3N0YXJ0LnByZXZlbnQ9XCIoKSA9PiB7LyoqIFByZXZlbnQgdGhlIGJyZWFkY3J1bWIgZnJvbSBiZWluZyBkcmFnZ2FibGUuICovfVwiXG5cdFx0QGRyb3AucHJldmVudD1cImRyb3BwZWRcIlxuXHRcdEBkcmFnb3Zlci5wcmV2ZW50PVwiKCkgPT4ge31cIlxuXHRcdEBkcmFnZW50ZXI9XCJkcmFnRW50ZXJcIlxuXHRcdEBkcmFnbGVhdmU9XCJkcmFnTGVhdmVcIj5cblx0XHQ8ZWxlbWVudFxuXHRcdFx0OmlzPVwidGFnXCJcblx0XHRcdHYtaWY9XCJ0aXRsZSB8fCBpY29uXCJcblx0XHRcdDp0bz1cInRvXCJcblx0XHRcdDpocmVmPVwiaHJlZlwiPlxuXHRcdFx0PHNwYW4gdi1pZj1cImljb25cIiA6Y2xhc3M9XCJpY29uXCIgY2xhc3M9XCJpY29uXCIgLz5cblx0XHRcdDxzcGFuIHYtZWxzZT57eyB0aXRsZSB9fTwvc3Bhbj5cblx0XHQ8L2VsZW1lbnQ+XG5cdFx0PEFjdGlvbnMgcmVmPVwiYWN0aW9uc1wiXG5cdFx0XHQ6Zm9yY2UtbWVudT1cImZvcmNlTWVudVwiXG5cdFx0XHQ6b3Blbj1cIm9wZW5cIlxuXHRcdFx0QHVwZGF0ZTpvcGVuPVwib25PcGVuQ2hhbmdlXCI+XG5cdFx0XHQ8IS0tIEBzbG90IEFsbCBhY3Rpb24gZWxlbWVudHMgcGFzc2VkIGludG8gdGhlIGRlZmF1bHQgc2xvdCB3aWxsIGJlIHVzZWQgLS0+XG5cdFx0XHQ8c2xvdCAvPlxuXHRcdDwvQWN0aW9ucz5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IEFjdGlvbnMgZnJvbSAnLi4vQWN0aW9ucydcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnQnJlYWRjcnVtYicsXG5cdGNvbXBvbmVudHM6IHtcblx0XHRBY3Rpb25zLFxuXHR9LFxuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIFRoZSBkaXNwbGF5ZWQgdGl0bGUgb2YgdGhlIGJyZWFkY3J1bWIuXG5cdFx0ICovXG5cdFx0dGl0bGU6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogVGhlIHJvdXRlci1saW5rIHRvIHByb3AgW2h0dHBzOi8vcm91dGVyLnZ1ZWpzLm9yZy9hcGkvI3RvXShodHRwczovL3JvdXRlci52dWVqcy5vcmcvYXBpLyN0bylcblx0XHQgKiBJZiBzZXQsIHRoZSBicmVhZGNydW1icyB3aWxsIGJlIHJlbmRlcmVkIGJ5IHJvdXRlci1saW5rLlxuXHRcdCAqL1xuXHRcdHRvOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiB1bmRlZmluZWQsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBTZXQgdGhpcyBwcm9wIGlmIHlvdXIgYXBwIGRvZXNuJ3QgdXNlIHZ1ZS1yb3V0ZXIsIGJyZWFkY3J1bWJzIHdpbGwgc2hvdyBhcyBub3JtYWwgbGlua3MuXG5cdFx0ICovXG5cdFx0aHJlZjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogdW5kZWZpbmVkLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogU2V0IGEgY3NzIGljb24tY2xhc3MgdG8gc2hvdyBhbiBpY29uIGluc3RlYWQgb2YgdGhlIHRpdGxlIHRleHQuXG5cdFx0ICovXG5cdFx0aWNvbjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBEaXNhYmxlIGRyb3BwaW5nIG9uIHRoaXMgYnJlYWRjcnVtYi5cblx0XHQgKi9cblx0XHRkaXNhYmxlRHJvcDoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogRm9yY2UgdGhlIGFjdGlvbnMgdG8gZGlzcGxheSBpbiBhIHRocmVlIGRvdCBtZW51XG5cdFx0ICovXG5cdFx0Zm9yY2VNZW51OiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBPcGVuIHN0YXRlIG9mIHRoZSBBY3Rpb25zIG1lbnVcblx0XHQgKi9cblx0XHRvcGVuOiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblx0fSxcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBWYXJpYWJsZSB0byB0cmFjayBpZiB3ZSBob3ZlciBvdmVyIHRoZSBicmVhZGNydW1iXG5cdFx0XHQgKi9cblx0XHRcdGhvdmVyaW5nOiBmYWxzZSxcblx0XHR9XG5cdH0sXG5cdGNvbXB1dGVkOiB7XG5cdFx0LyoqXG5cdFx0ICogRGV0ZXJtaW5lcyB3aGljaCBlbGVtZW50IHRhZyB0byB1c2Vcblx0XHQgKlxuXHRcdCAqIEByZXR1cm5zIHtTdHJpbmd9IHRoZSB0YWdcblx0XHQgKi9cblx0XHR0YWcoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy50byA/ICdyb3V0ZXItbGluaycgOiAnYSdcblx0XHR9LFxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0LyoqXG5cdFx0ICogRnVuY3Rpb24gdG8gaGFuZGxlIGNoYW5naW5nIHRoZSBvcGVuIHN0YXRlIG9mIHRoZSBBY3Rpb25zIG1lbnVcblx0XHQgKiAkZW1pdCB0aGUgb3BlbiBzdGF0ZS5cblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7Ym9vbGVhbn0gb3BlbiBUaGUgb3BlbiBzdGF0ZSBvZiB0aGUgQWN0aW9ucyBtZW51XG5cdFx0ICovXG5cdFx0b25PcGVuQ2hhbmdlKG9wZW4pIHtcblx0XHRcdC8qKlxuXHRcdFx0ICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBvcGVuIHN0YXRlIG9mIHRoZSBBY3Rpb25zIG1lbnUgY2hhbmdlc1xuXHRcdFx0ICogQHR5cGUge251bGx9XG5cdFx0XHQgKi9cblx0XHRcdHRoaXMuJGVtaXQoJ3VwZGF0ZTpvcGVuJywgb3Blbilcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIEZ1bmN0aW9uIHRvIGhhbmRsZSBhIGRyb3Agb24gdGhlIGJyZWFkY3J1bWIuXG5cdFx0ICogJGVtaXQgdGhlIGV2ZW50IGFuZCB0aGUgcGF0aCwgcmVtb3ZlIHRoZSBob3ZlcmluZyBzdGF0ZS5cblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7T2JqZWN0fSBlIFRoZSBkcm9wIGV2ZW50XG5cdFx0ICogQHJldHVybnMge2Jvb2xlYW59XG5cdFx0ICovXG5cdFx0ZHJvcHBlZChlKSB7XG5cdFx0XHQvKipcblx0XHRcdCAqIERvbid0IGRvIGFueXRoaW5nIGlmIGRyb3BwaW5nIGlzIGRpc2FibGVkLlxuXHRcdFx0ICovXG5cdFx0XHRpZiAodGhpcy5kaXNhYmxlRHJvcCkge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2Vcblx0XHRcdH1cblx0XHRcdC8qKlxuXHRcdFx0ICogRXZlbnQgZW1pdHRlZCB3aGVuIHNvbWV0aGluZyBpcyBkcm9wcGVkIG9uIHRoZSBicmVhZGNydW1iLlxuXHRcdFx0ICogQHR5cGUge251bGx9XG5cdFx0XHQgKi9cblx0XHRcdHRoaXMuJGVtaXQoJ2Ryb3BwZWQnLCBlLCB0aGlzLnRvIHx8IHRoaXMuaHJlZilcblx0XHRcdHRoaXMuJHBhcmVudC4kZW1pdCgnZHJvcHBlZCcsIGUsIHRoaXMudG8gfHwgdGhpcy5ocmVmKVxuXHRcdFx0dGhpcy5ob3ZlcmluZyA9IGZhbHNlXG5cdFx0XHRyZXR1cm4gZmFsc2Vcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIEFkZCB0aGUgaG92ZXJpbmcgc3RhdGUgb24gZHJhZyBlbnRlclxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IGUgVGhlIGRyYWcgZW50ZXIgZXZlbnRcblx0XHQgKi9cblx0XHRkcmFnRW50ZXIoZSkge1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBEb24ndCBkbyBhbnl0aGluZyBpZiBkcm9wcGluZyBpcyBkaXNhYmxlZC5cblx0XHRcdCAqL1xuXHRcdFx0aWYgKHRoaXMuZGlzYWJsZURyb3ApIHtcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cdFx0XHR0aGlzLmhvdmVyaW5nID0gdHJ1ZVxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogUmVtb3ZlIHRoZSBob3ZlcmluZyBzdGF0ZSBvbiBkcmFnIGxlYXZlXG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge09iamVjdH0gZSBUaGUgZHJhZyBsZWF2ZSBldmVudFxuXHRcdCAqL1xuXHRcdGRyYWdMZWF2ZShlKSB7XG5cdFx0XHQvKipcblx0XHRcdCAqIERvbid0IGRvIGFueXRoaW5nIGlmIGRyb3BwaW5nIGlzIGRpc2FibGVkLlxuXHRcdFx0ICovXG5cdFx0XHRpZiAodGhpcy5kaXNhYmxlRHJvcCkge1xuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblx0XHRcdC8vIERvbid0IGRvIGFueXRoaW5nIGlmIHdlXG5cdFx0XHQvLyAtIGxlYXZlIHRvd2FyZHMgYSBjaGlsZCBlbGVtZW50LlxuXHRcdFx0Ly8gLSBvciBhcmUgc3RpbGwgd2l0aGluIHRoZSBjcnVtYlxuXHRcdFx0aWYgKGUudGFyZ2V0LmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldClcblx0XHRcdFx0fHwgdGhpcy4kcmVmcy5jcnVtYi5jb250YWlucyhlLnJlbGF0ZWRUYXJnZXQpKSB7XG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXHRcdFx0dGhpcy5ob3ZlcmluZyA9IGZhbHNlXG5cdFx0fSxcblx0fSxcbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG5AaW1wb3J0ICcuLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZSc7XG5cbi5jcnVtYiB7XG5cdEBpbmNsdWRlIGljb25mb250KCdicmVhZGNydW1iJyk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcblx0cGFkZGluZzogMDtcblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdG1heC13aWR0aDogMjEwcHg7XG5cblx0XHRhIHtcblx0XHRcdGZsZXgtc2hyaW5rOiAxO1xuXHRcdH1cblx0fVxuXG5cdCY6OmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdG9yZGVyOiAxO1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XG5cdFx0Zm9udC1zaXplOiAyNnB4O1xuXHR9XG5cblx0Ji0taGlkZGVuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Ji0td2l0aC1hY3Rpb24gYSB7XG5cdFx0cGFkZGluZy1yaWdodDogMnB4O1xuXHR9XG5cblx0PiBhLCA+IHNwYW4ge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuXG5cdGEge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cblx0XHQ+IHNwYW4ge1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHR9XG5cdH1cbn1cbjwvc3R5bGU+XG4iLCI8IS0tXG4gLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMCBSYWltdW5kIFNjaGzDvMOfbGVyIDxyYWltdW5kLnNjaGx1ZXNzbGVyQG1haWxib3gub3JnPlxuIC1cbiAtIEBhdXRob3IgUmFpbXVuZCBTY2hsw7zDn2xlciA8cmFpbXVuZC5zY2hsdWVzc2xlckBtYWlsYm94Lm9yZz5cbiAtXG4gLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuIC1cbiAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAtXG4gLS0+XG5cbjxkb2NzPlxuXG4jIyMgR2VuZXJhbCBkZXNjcmlwdGlvblxuXG5UaGlzIGNvbXBvbmVudCByZW5kZXJzIGEgYnJlYWRjcnVtYiBiYXIuIEl0IGFkanVzdHMgdG8gdGhlIGF2YWlsYWJsZSB3aWR0aFxuYnkgaGlkaW5nIGJyZWFkY3J1bWJzIGluIGEgZHJvcGRvd24gbWVudSBhbmQgZW1pdHMgYW4gZXZlbnQgd2hlbiBzb21ldGhpbmdcbmlzIGRyb3BwZWQgb24gYSBjcmVhZGNydW1iLlxuXG4jIyMgVXNhZ2VcblxuYGBgdnVlXG48dGVtcGxhdGU+XG5cdDxkaXY+XG5cdFx0PGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuXHRcdFx0PEJyZWFkY3J1bWJzIEBkcm9wcGVkPVwiZHJvcHBlZFwiPlxuXHRcdFx0XHQ8QnJlYWRjcnVtYiB0aXRsZT1cIkhvbWVcIiBocmVmPVwiL1wiIEBkcm9wcGVkPVwiZHJvcHBlZE9uQ3J1bWJcIiAvPlxuXHRcdFx0XHQ8QnJlYWRjcnVtYiB0aXRsZT1cIkZvbGRlciAxXCIgaHJlZj1cIi9Gb2xkZXIgMVwiIC8+XG5cdFx0XHRcdDxCcmVhZGNydW1iIHRpdGxlPVwiRm9sZGVyIDJcIiBocmVmPVwiL0ZvbGRlciAxL0ZvbGRlciAyXCIgOmRpc2FibGUtZHJvcD1cInRydWVcIiAvPlxuXHRcdFx0XHQ8QnJlYWRjcnVtYiB0aXRsZT1cIkZvbGRlciAzXCIgaHJlZj1cIi9Gb2xkZXIgMS9Gb2xkZXIgMi9Gb2xkZXIgM1wiIC8+XG5cdFx0XHRcdDxCcmVhZGNydW1iIHRpdGxlPVwiRm9sZGVyIDRcIiBocmVmPVwiL0ZvbGRlciAxL0ZvbGRlciAyL0ZvbGRlciAzL0ZvbGRlciA0XCIgLz5cblx0XHRcdFx0PEJyZWFkY3J1bWIgdGl0bGU9XCJGb2xkZXIgNVwiIGhyZWY9XCIvRm9sZGVyIDEvRm9sZGVyIDIvRm9sZGVyIDMvRm9sZGVyIDQvRm9sZGVyIDVcIiA6ZGlzYWJsZS1kcm9wPVwidHJ1ZVwiPlxuXHRcdFx0XHRcdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tc2hhcmVcIiBAY2xpY2s9XCJhbGVydCgnU2hhcmUnKVwiPlxuXHRcdFx0XHRcdFx0U2hhcmVcblx0XHRcdFx0XHQ8L0FjdGlvbkJ1dHRvbj5cblx0XHRcdFx0PC9CcmVhZGNydW1iPlxuXHRcdFx0PC9CcmVhZGNydW1icz5cblx0XHQ8L2Rpdj5cblx0XHQ8YnIgLz5cblx0XHQ8ZGl2IGNsYXNzPVwiZHJhZ21lXCIgZHJhZ2dhYmxlPVwidHJ1ZVwiIEBkcmFnc3RhcnQ9XCJkcmFnU3RhcnRcIj5cblx0XHRcdDxzcGFuPkRyYWcgbWUgb250byB0aGUgYnJlYWRjcnVtYnMuPC9zcGFuPlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdG1ldGhvZHM6IHtcblx0XHRkcm9wcGVkKGUsIHBhdGgpIHtcblx0XHRcdGFsZXJ0KCdHbG9iYWwgZHJvcCBvbiAnICsgcGF0aClcblx0XHR9LFxuXHRcdGRyb3BwZWRPbkNydW1iKGUsIHBhdGgpIHtcblx0XHRcdGFsZXJ0KCdEcm9wIG9uIGNydW1iICcgKyBwYXRoKVxuXHRcdH0sXG5cdFx0ZHJhZ1N0YXJ0KGUpIHtcblx0XHRcdGUuZGF0YVRyYW5zZmVyLnNldERhdGEoJ3RleHQvcGxhaW4nLCAnZHJhZ2dpbmcnKVxuXHRcdH0sXG5cdH1cbn1cbjwvc2NyaXB0PlxuPHN0eWxlPlxuLmNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmRyYWdtZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwcHg7XG5cdGhlaWdodDogNDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrKTtcbn1cbjwvc3R5bGU+XG5gYGBcbjwvZG9jcz5cblxuPHNjcmlwdD5cbmltcG9ydCBWdWUgZnJvbSAndnVlJ1xuaW1wb3J0IGRlYm91bmNlIGZyb20gJ2RlYm91bmNlJ1xuaW1wb3J0IEFjdGlvbnMgZnJvbSAnLi4vQWN0aW9ucydcbmltcG9ydCBBY3Rpb25Sb3V0ZXIgZnJvbSAnLi4vQWN0aW9uUm91dGVyJ1xuaW1wb3J0IEFjdGlvbkxpbmsgZnJvbSAnLi4vQWN0aW9uTGluaydcbmltcG9ydCBWYWxpZGF0ZVNsb3QgZnJvbSAnLi4vLi4vdXRpbHMvVmFsaWRhdGVTbG90J1xuaW1wb3J0IEJyZWFkY3J1bWIgZnJvbSAnLi4vQnJlYWRjcnVtYidcbmltcG9ydCB7IHN1YnNjcmliZSwgdW5zdWJzY3JpYmUgfSBmcm9tICdAbmV4dGNsb3VkL2V2ZW50LWJ1cydcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnQnJlYWRjcnVtYnMnLFxuXHRjb21wb25lbnRzOiB7XG5cdFx0QWN0aW9ucyxcblx0XHRBY3Rpb25Sb3V0ZXIsXG5cdFx0QWN0aW9uTGluayxcblx0XHRCcmVhZGNydW1iLFxuXHR9LFxuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIFNldCBhIGNzcyBpY29uLWNsYXNzIGZvciB0aGUgaWNvbiBvZiB0aGUgcm9vdCBicmVhZGNydW1iIHRvIGJlIHVzZWQuXG5cdFx0ICovXG5cdFx0cm9vdEljb246IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICdpY29uLWhvbWUnLFxuXHRcdH0sXG5cdH0sXG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdC8qKlxuXHRcdFx0ICogVGhlIGJyZWFkY3J1bWJzIHdoaWNoIHNob3VsZCBiZSBzaG93biBpbiBhIGRyb3Bkb3duIEFjdGlvbnMgbWVudS5cblx0XHRcdCAqL1xuXHRcdFx0aGlkZGVuQ3J1bWJzOiBbXSxcblx0XHRcdC8qKlxuXHRcdFx0ICogQXJyYXkgdG8gdHJhY2sgdGhlIGhpZGRlbiBicmVhZGNydW1icyBieSB0aGVpciBpbmRleC5cblx0XHRcdCAqIENvbXBhcmluZyB0d28gY3J1bWJzIHNvbWVob3cgZG9lcyBub3Qgd29yaywgc28gd2UgdXNlIHRoZSBpbmRpY2VzLlxuXHRcdFx0ICovXG5cdFx0XHRoaWRkZW5JbmRpY2VzOiBbXSxcblxuXHRcdFx0LyoqXG5cdFx0XHQgKiBUaGlzIGlzIHRoZSBwcm9wcyBvZiB0aGUgbWlkZGxlIEFjdGlvbiBtZW51XG5cdFx0XHQgKiB0aGF0IHNob3cgdGhlIGVsbGlwc2lzZWQgYnJlYWRjcnVtYnNcblx0XHRcdCAqL1xuXHRcdFx0bWVudUJyZWFkY3J1bWJQcm9wczoge1xuXHRcdFx0XHQvLyBEb24ndCBzaG93IGEgdGl0bGUgZm9yIHRoaXMgYnJlYWRjcnVtYiwgb25seSB0aGUgQWN0aW9ucyBtZW51XG5cdFx0XHRcdHRpdGxlOiAnJyxcblx0XHRcdFx0Zm9yY2VNZW51OiB0cnVlLFxuXHRcdFx0XHQvLyBEb24ndCBhbGxvdyBkcm9wcGluZyBkaXJlY3RseSBvbiB0aGUgYWN0aW9ucyBicmVhZGNydW1iXG5cdFx0XHRcdGRpc2FibGVEcm9wOiB0cnVlLFxuXHRcdFx0XHQvLyBJcyB0aGUgbWVudSBvcGVuIG9yIG5vdFxuXHRcdFx0XHRvcGVuOiBmYWxzZSxcblx0XHRcdH0sXG5cdFx0fVxuXHR9LFxuXHRiZWZvcmVNb3VudCgpIHtcblx0XHQvLyBGaWx0ZXIgYWxsIGludmFsaWQgaXRlbXMsIG9ubHkgQnJlYWRjcnVtYiBjb21wb25lbnRzIGFyZSBhbGxvd2VkXG5cdFx0VmFsaWRhdGVTbG90KHRoaXMuJHNsb3RzLmRlZmF1bHQsIFsnQnJlYWRjcnVtYiddLCB0aGlzKVxuXHR9LFxuXHRiZWZvcmVVcGRhdGUoKSB7XG5cdFx0Ly8gQWxzbyBjaGVjayBiZWZvcmUgZXZlcnkgdXBkYXRlXG5cdFx0VmFsaWRhdGVTbG90KHRoaXMuJHNsb3RzLmRlZmF1bHQsIFsnQnJlYWRjcnVtYiddLCB0aGlzKVxuXHR9LFxuXHRjcmVhdGVkKCkge1xuXHRcdC8qKlxuXHRcdCAqIEFkZCBhIGxpc3RlbmVyIHNvIHRoZSBjb21wb25lbnQgcmVhY3RzIG9uIHJlc2l6ZVxuXHRcdCAqL1xuXHRcdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBkZWJvdW5jZSgoKSA9PiB7XG5cdFx0XHR0aGlzLmhhbmRsZVdpbmRvd1Jlc2l6ZSgpXG5cdFx0fSwgMTAwKSlcblx0XHRzdWJzY3JpYmUoJ25hdmlnYXRpb24tdG9nZ2xlZCcsIHRoaXMuZGVsYXllZFJlc2l6ZSlcblx0fSxcblx0bW91bnRlZCgpIHtcblx0XHR0aGlzLmhhbmRsZVdpbmRvd1Jlc2l6ZSgpXG5cdH0sXG5cdHVwZGF0ZWQoKSB7XG5cdFx0LyoqXG5cdFx0ICogQ2hlY2sgdGhlIHNpemUgb24gdXBkYXRlXG5cdFx0ICovXG5cdFx0dGhpcy5kZWxheWVkUmVzaXplKClcblx0XHQvKipcblx0XHQgKiBDaGVjayB0aGF0IGNydW1icyB0byBoaWRlIGFyZSBoaWRkZW5cblx0XHQgKi9cblx0XHR0aGlzLmRlbGF5ZWRIaWRlQ3J1bWJzKClcblx0fSxcblx0YmVmb3JlRGVzdHJveSgpIHtcblx0XHR3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5oYW5kbGVXaW5kb3dSZXNpemUpXG5cdFx0dW5zdWJzY3JpYmUoJ25hdmlnYXRpb24tdG9nZ2xlZCcsIHRoaXMuZGVsYXllZFJlc2l6ZSlcblx0fSxcblx0bWV0aG9kczoge1xuXHRcdC8qKlxuXHRcdCAqIENoZWNrIHRoYXQgYWxsIGNydW1icyB0byBoaWRlIGFyZSByZWFsbHkgaGlkZGVuXG5cdFx0ICovXG5cdFx0ZGVsYXllZEhpZGVDcnVtYnMoKSB7XG5cdFx0XHR0aGlzLiRuZXh0VGljaygoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGNydW1icyA9IHRoaXMuJHNsb3RzLmRlZmF1bHQgfHwgW11cblx0XHRcdFx0dGhpcy5oaWRlQ3J1bWJzKGNydW1icylcblx0XHRcdH0pXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBDbG9zZSB0aGUgYWN0aW9ucyBtZW51XG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge09iamVjdH0gZSBUaGUgZXZlbnRcblx0XHQgKi9cblx0XHRjbG9zZUFjdGlvbnMoZSkge1xuXHRcdFx0Ly8gRG9uJ3QgZG8gYW55dGhpbmcgaWYgd2UgbGVhdmUgdG93YXJkcyBhIGNoaWxkIGVsZW1lbnQuXG5cdFx0XHRpZiAodGhpcy4kcmVmcy5hY3Rpb25zQnJlYWRjcnVtYi4kZWwuY29udGFpbnMoZS5yZWxhdGVkVGFyZ2V0KSkge1xuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblx0XHRcdHRoaXMubWVudUJyZWFkY3J1bWJQcm9wcy5vcGVuID0gZmFsc2Vcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIENhbGwgdGhlIHJlc2l6ZSBmdW5jdGlvbiBhZnRlciBhIGRlbGF5XG5cdFx0ICovXG5cdFx0ZGVsYXllZFJlc2l6ZSgpIHtcblx0XHRcdHRoaXMuJG5leHRUaWNrKCgpID0+IHtcblx0XHRcdFx0dGhpcy5oYW5kbGVXaW5kb3dSZXNpemUoKVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIENoZWNrIHRoZSB3aWR0aCBvZiB0aGUgYnJlYWRjcnVtYiBhbmQgaGlkZSBicmVhZGNydW1ic1xuXHRcdCAqIGlmIHdlIG92ZXJmbG93IG90aGVyd2lzZS5cblx0XHQgKi9cblx0XHRoYW5kbGVXaW5kb3dSZXNpemUoKSB7XG5cdFx0XHQvLyBBbGwgYnJlYWRjcnVtYiBjb21wb25lbnRzIHBhc3NlZCBpbnRvIHRoZSBkZWZhdWx0IHNsb3Rcblx0XHRcdGNvbnN0IGJyZWFkY3J1bWJzID0gdGhpcy4kc2xvdHMuZGVmYXVsdCB8fCBbXVxuXHRcdFx0Ly8gSWYgdGhlcmUgaXMgbm8gY29udGFpbmVyIHlldCwgd2UgY2Fubm90IGRldGVybWluZSBpdHMgc2l6ZVxuXHRcdFx0aWYgKHRoaXMuJHJlZnMuY29udGFpbmVyKSB7XG5cdFx0XHRcdGNvbnN0IG5yQ3J1bWJzID0gYnJlYWRjcnVtYnMubGVuZ3RoXG5cdFx0XHRcdGNvbnN0IGhpZGRlbkluZGljZXMgPSBbXVxuXHRcdFx0XHRjb25zdCBhdmFpbGFibGVXaWR0aCA9IHRoaXMuJHJlZnMuY29udGFpbmVyLm9mZnNldFdpZHRoXG5cdFx0XHRcdGNvbnN0IHRvdGFsV2lkdGggPSB0aGlzLmdldFRvdGFsV2lkdGgoYnJlYWRjcnVtYnMpXG5cdFx0XHRcdGxldCBvdmVyZmxvdyA9IHRvdGFsV2lkdGggLSBhdmFpbGFibGVXaWR0aFxuXHRcdFx0XHQvLyBJZiB3ZSBvdmVyZmxvdywgd2UgaGF2ZSB0byB0YWtlIHRoZSBhY3Rpb24taXRlbSB3aWR0aCBpbnRvIGFjY291bnQgYXMgd2VsbC5cblx0XHRcdFx0b3ZlcmZsb3cgKz0gKG92ZXJmbG93ID4gMCkgPyA1MSA6IDBcblx0XHRcdFx0bGV0IGkgPSAwXG5cdFx0XHRcdC8vIFdlIHN0YXJ0IGhpZGluZyB0aGUgYnJlYWRjcnVtYiBpbiB0aGUgY2VudGVyXG5cdFx0XHRcdGNvbnN0IHN0YXJ0SW5kZXggPSBNYXRoLmZsb29yKG5yQ3J1bWJzIC8gMilcblx0XHRcdFx0Ly8gRG9uJ3QgaGlkZSB0aGUgZmlyc3QgYW5kIGxhc3QgYnJlYWRjcnVtYlxuXHRcdFx0XHR3aGlsZSAob3ZlcmZsb3cgPiAwICYmIGkgPCBuckNydW1icyAtIDIpIHtcblx0XHRcdFx0XHQvLyBXZSBoaWRlIGVsZW1lbnRzIGFsdGVybmF0aW5nIHRvIHRoZSBsZWZ0IGFuZCByaWdodFxuXHRcdFx0XHRcdGNvbnN0IGN1cnJlbnRJbmRleCA9IHN0YXJ0SW5kZXggKyAoKGkgJSAyKSA/IGkgKyAxIDogaSkgLyAyICogTWF0aC5wb3coLTEsIGkgKyAobnJDcnVtYnMgJSAyKSlcblx0XHRcdFx0XHQvLyBDYWxjdWxhdGUgdGhlIHJlbWFpbmluZyBvdmVyZmxvdyB3aWR0aCBhZnRlciBoaWRpbmcgdGhpcyBicmVhZGNydW1iXG5cdFx0XHRcdFx0b3ZlcmZsb3cgLT0gdGhpcy5nZXRXaWR0aChicmVhZGNydW1ic1tjdXJyZW50SW5kZXhdLmVsbSlcblx0XHRcdFx0XHRoaWRkZW5JbmRpY2VzLnB1c2goY3VycmVudEluZGV4KVxuXHRcdFx0XHRcdGkrK1xuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIFdlIG9ubHkgdXBkYXRlIHRoZSBoaWRkZW4gY3J1bWJzIGlmIHRoZXkgaGF2ZSBjaGFuZ2VkLFxuXHRcdFx0XHQvLyBvdGhlcndpc2Ugd2Ugd2lsbCBydW4gaW50byBhbiBpbmZpbml0ZSB1cGRhdGUgbG9vcC5cblx0XHRcdFx0aWYgKCF0aGlzLmFycmF5c0VxdWFsKHRoaXMuaGlkZGVuSW5kaWNlcywgaGlkZGVuSW5kaWNlcy5zb3J0KChhLCBiKSA9PiBhIC0gYikpKSB7XG5cdFx0XHRcdFx0Ly8gR2V0IGFsbCBicmVhZGNydW1icyBiYXNlZCBvbiB0aGUgaGlkZGVuIGluZGljZXNcblx0XHRcdFx0XHR0aGlzLmhpZGRlbkNydW1icyA9IGhpZGRlbkluZGljZXMubWFwKChpbmRleCkgPT4geyByZXR1cm4gYnJlYWRjcnVtYnNbaW5kZXhdIH0pXG5cdFx0XHRcdFx0dGhpcy5oaWRkZW5JbmRpY2VzID0gaGlkZGVuSW5kaWNlc1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBDaGVja3MgaWYgdHdvIGFycmF5cyBhcmUgZXF1YWwuXG5cdFx0ICogT25seSB3b3JrcyBmb3IgcHJpbWl0aXZlIGFycmF5cywgYnV0IHRoYXQncyBlbm91Z2ggaGVyZS5cblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7QXJyYXl9IGEgVGhlIGZpcnN0IGFycmF5XG5cdFx0ICogQHBhcmFtIHtBcnJheX0gYiBUaGUgc2Vjb25kIGFycmF5XG5cdFx0ICogQHJldHVybnMge2Jvb2xlYW59IFdldGhlciB0aGUgYXJyYXlzIGFyZSBlcXVhbFxuXHRcdCAqL1xuXHRcdGFycmF5c0VxdWFsKGEsIGIpIHtcblx0XHRcdGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIHJldHVybiBmYWxzZVxuXHRcdFx0aWYgKGEgPT09IGIpIHJldHVybiB0cnVlXG5cdFx0XHRpZiAoYSA9PT0gbnVsbCB8fCBiID09PSBudWxsKSByZXR1cm4gZmFsc2VcblxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgKytpKSB7XG5cdFx0XHRcdGlmIChhW2ldICE9PSBiW2ldKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJldHVybiB0cnVlXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBDYWxjdWxhdGVzIHRoZSB0b3RhbCB3aWR0aCBvZiBhbGwgYnJlYWRjcnVtYnNcblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7QXJyYXl9IGJyZWFkY3J1bWJzIEFsbCBicmVhZGNydW1ic1xuXHRcdCAqIEByZXR1cm5zIHtJbnRlZ2VyfSBUaGUgdG90YWwgd2lkdGhcblx0XHQgKi9cblx0XHRnZXRUb3RhbFdpZHRoKGJyZWFkY3J1bWJzKSB7XG5cdFx0XHRyZXR1cm4gYnJlYWRjcnVtYnMucmVkdWNlKCh3aWR0aCwgY3J1bWIsIGluZGV4KSA9PiB3aWR0aCArIHRoaXMuZ2V0V2lkdGgoY3J1bWIuZWxtKSwgMClcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIHRoZSBwcm92aWRlZCBlbGVtZW50XG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge09iamVjdH0gZWwgVGhlIGVsZW1lbnRcblx0XHQgKiBAcmV0dXJucyB7SW50ZWdlcn0gVGhlIHdpZHRoXG5cdFx0ICovXG5cdFx0Z2V0V2lkdGgoZWwpIHtcblx0XHRcdGlmICghZWwuY2xhc3NMaXN0KSByZXR1cm4gMFxuXHRcdFx0Y29uc3QgaGlkZSA9IGVsLmNsYXNzTGlzdC5jb250YWlucygnY3J1bWItLWhpZGRlbicpXG5cdFx0XHRlbC5zdHlsZS5taW5XaWR0aCA9ICdhdXRvJ1xuXHRcdFx0ZWwuY2xhc3NMaXN0LnJlbW92ZSgnY3J1bWItLWhpZGRlbicpXG5cdFx0XHRjb25zdCB3ID0gZWwub2Zmc2V0V2lkdGhcblx0XHRcdGlmIChoaWRlKSB7XG5cdFx0XHRcdGVsLmNsYXNzTGlzdC5hZGQoJ2NydW1iLS1oaWRkZW4nKVxuXHRcdFx0fVxuXHRcdFx0ZWwuc3R5bGUubWluV2lkdGggPSAnJ1xuXHRcdFx0cmV0dXJuIHdcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIFByZXZlbnRzIHRoZSBkZWZhdWx0IG9mIGEgcHJvdmlkZWQgZXZlbnRcblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7T2JqZWN0fSBlIFRoZSBldmVudFxuXHRcdCAqIEByZXR1cm5zIHtib29sZWFufVxuXHRcdCAqL1xuXHRcdHByZXZlbnREZWZhdWx0KGUpIHtcblx0XHRcdGlmIChlLnByZXZlbnREZWZhdWx0KSB7XG5cdFx0XHRcdGUucHJldmVudERlZmF1bHQoKVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBIYW5kbGVzIHRoZSBkcmFnIHN0YXJ0LlxuXHRcdCAqIFByZXZlbnRzIGEgYnJlYWRjcnVtYiBmcm9tIGJlaW5nIGRyYWdnYWJsZS5cblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7T2JqZWN0fSBlIFRoZSBldmVudFxuXHRcdCAqIEByZXR1cm5zIHtib29sZWFufVxuXHRcdCAqL1xuXHRcdGRyYWdTdGFydChlKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5wcmV2ZW50RGVmYXVsdChlKVxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogSGFuZGxlcyB3aGVuIHNvbWV0aGluZyBpcyBkcm9wcGVkIG9uIHRoZSBicmVhZGNydW1iLlxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IGUgVGhlIGRyb3AgZXZlbnRcblx0XHQgKiBAcGFyYW0ge1N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgYnJlYWRjcnVtYlxuXHRcdCAqIEBwYXJhbSB7Ym9vbGVhbn0gZGlzYWJsZWQgV2hldGhlciBkcm9wcGluZyBpcyBkaXNhYmxlZCBmb3IgdGhpcyBicmVhZGNydW1iXG5cdFx0ICogQHJldHVybnMge2Jvb2xlYW59XG5cdFx0ICovXG5cdFx0ZHJvcHBlZChlLCBwYXRoLCBkaXNhYmxlZCkge1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBEb24ndCBlbWl0IGlmIGRyb3BwaW5nIGlzIGRpc2FibGVkLlxuXHRcdFx0ICovXG5cdFx0XHRpZiAoIWRpc2FibGVkKSB7XG5cdFx0XHRcdC8qKlxuXHRcdFx0XHQgKiBFdmVudCBlbWl0dGVkIHdoZW4gc29tZXRoaW5nIGlzIGRyb3BwZWQgb24gdGhlIGJyZWFkY3J1bWIuXG5cdFx0XHRcdCAqIEB0eXBlIHtudWxsfVxuXHRcdFx0XHQgKi9cblx0XHRcdFx0dGhpcy4kZW1pdCgnZHJvcHBlZCcsIGUsIHBhdGgpXG5cdFx0XHR9XG5cdFx0XHQvLyBDbG9zZSB0aGUgYWN0aW9ucyBtZW51IGFmdGVyIHRoZSBkcm9wXG5cdFx0XHR0aGlzLm1lbnVCcmVhZGNydW1iUHJvcHMub3BlbiA9IGZhbHNlXG5cblx0XHRcdC8vIFJlbW92ZSBhbGwgaG92ZXJpbmcgY2xhc3Nlc1xuXHRcdFx0Y29uc3QgY3J1bWJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNydW1iJylcblx0XHRcdGNydW1icy5mb3JFYWNoKChmKSA9PiB7IGYuY2xhc3NMaXN0LnJlbW92ZSgnY3J1bWItLWhvdmVyZWQnKSB9KVxuXHRcdFx0cmV0dXJuIHRoaXMucHJldmVudERlZmF1bHQoZSlcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIEhhbmRsZXMgdGhlIGRyYWcgb3ZlciBldmVudFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IGUgVGhlIGRyYWcgb3ZlciBldmVudFxuXHRcdCAqIEByZXR1cm5zIHtib29sZWFufVxuXHRcdCAqL1xuXHRcdGRyYWdPdmVyKGUpIHtcblx0XHRcdHJldHVybiB0aGlzLnByZXZlbnREZWZhdWx0KGUpXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBIYW5kbGVzIHRoZSBkcmFnIGVudGVyIGV2ZW50XG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge09iamVjdH0gZSBUaGUgZHJhZyBvdmVyIGV2ZW50XG5cdFx0ICogQHBhcmFtIHtib29sZWFufSBkaXNhYmxlZCBXaGV0aGVyIGRyb3BwaW5nIGlzIGRpc2FibGVkIGZvciB0aGlzIGJyZWFkY3J1bWJcblx0XHQgKi9cblx0XHRkcmFnRW50ZXIoZSwgZGlzYWJsZWQpIHtcblx0XHRcdC8qKlxuXHRcdFx0ICogRG9uJ3QgZG8gYW55dGhpbmcgaWYgZHJvcHBpbmcgaXMgZGlzYWJsZWQuXG5cdFx0XHQgKi9cblx0XHRcdGlmIChkaXNhYmxlZCkge1xuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblx0XHRcdC8vIEdldCB0aGUgY29ycmVjdCBlbGVtZW50LCBpbiBjYXNlIHdlIGhvdmVyIGEgY2hpbGQuXG5cdFx0XHRpZiAoZS50YXJnZXQuY2xvc2VzdCkge1xuXHRcdFx0XHRjb25zdCB0YXJnZXQgPSBlLnRhcmdldC5jbG9zZXN0KCcuY3J1bWInKVxuXHRcdFx0XHRpZiAodGFyZ2V0LmNsYXNzTGlzdCAmJiB0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdjcnVtYicpKSB7XG5cdFx0XHRcdFx0Y29uc3QgY3J1bWJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNydW1iJylcblx0XHRcdFx0XHRjcnVtYnMuZm9yRWFjaCgoZikgPT4geyBmLmNsYXNzTGlzdC5yZW1vdmUoJ2NydW1iLS1ob3ZlcmVkJykgfSlcblx0XHRcdFx0XHR0YXJnZXQuY2xhc3NMaXN0LmFkZCgnY3J1bWItLWhvdmVyZWQnKVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBIYW5kbGVzIHRoZSBkcmFnIGxlYXZlIGV2ZW50XG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge09iamVjdH0gZSBUaGUgZHJhZyBsZWF2ZSBldmVudFxuXHRcdCAqIEBwYXJhbSB7Ym9vbGVhbn0gZGlzYWJsZWQgV2hldGhlciBkcm9wcGluZyBpcyBkaXNhYmxlZCBmb3IgdGhpcyBicmVhZGNydW1iXG5cdFx0ICovXG5cdFx0ZHJhZ0xlYXZlKGUsIGRpc2FibGVkKSB7XG5cdFx0XHQvKipcblx0XHRcdCAqIERvbid0IGRvIGFueXRoaW5nIGlmIGRyb3BwaW5nIGlzIGRpc2FibGVkLlxuXHRcdFx0ICovXG5cdFx0XHRpZiAoZGlzYWJsZWQpIHtcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cdFx0XHQvLyBEb24ndCBkbyBhbnl0aGluZyBpZiB3ZSBsZWF2ZSB0b3dhcmRzIGEgY2hpbGQgZWxlbWVudC5cblx0XHRcdGlmIChlLnRhcmdldC5jb250YWlucyhlLnJlbGF0ZWRUYXJnZXQpKSB7XG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXHRcdFx0Ly8gR2V0IHRoZSBjb3JyZWN0IGVsZW1lbnQsIGluIGNhc2Ugd2UgbGVhdmUgZGlyZWN0bHkgZnJvbSBhIGNoaWxkLlxuXHRcdFx0aWYgKGUudGFyZ2V0LmNsb3Nlc3QpIHtcblx0XHRcdFx0Y29uc3QgdGFyZ2V0ID0gZS50YXJnZXQuY2xvc2VzdCgnLmNydW1iJylcblx0XHRcdFx0aWYgKHRhcmdldC5jb250YWlucyhlLnJlbGF0ZWRUYXJnZXQpKSB7XG5cdFx0XHRcdFx0cmV0dXJuXG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHRhcmdldC5jbGFzc0xpc3QgJiYgdGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnY3J1bWInKSkge1xuXHRcdFx0XHRcdHRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKCdjcnVtYi0taG92ZXJlZCcpXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIENoZWNrIGZvciBlYWNoIGNydW1iIGlmIHdlIGhhdmUgdG8gaGlkZSBpdCBhbmRcblx0XHQgKiBhZGQgaXQgdG8gdGhlIGFycmF5IG9mIGFsbCBjcnVtYnMuXG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge0FycmF5fSBjcnVtYnMgVGhlIGFycmF5IG9mIHRoZSBjcnVtYnMgdG8gaGlkZVxuXHRcdCAqIEBwYXJhbSB7SW50ZWdlcn0gb2Zmc2V0IFRoZSBvZmZzZXQgb2YgdGhlIGluZGljZXMgb2YgdGhlIHByb3ZpZGVkIGNydW1icyBhcnJheVxuXHRcdCAqL1xuXHRcdGhpZGVDcnVtYnMoY3J1bWJzLCBvZmZzZXQgPSAwKSB7XG5cdFx0XHRjcnVtYnMuZm9yRWFjaCgoY3J1bWIsIGkpID0+IHtcblx0XHRcdFx0aWYgKGNydW1iPy5lbG0/LmNsYXNzTGlzdCkge1xuXHRcdFx0XHRcdGlmICh0aGlzLmhpZGRlbkluZGljZXMuaW5jbHVkZXMoaSArIG9mZnNldCkpIHtcblx0XHRcdFx0XHRcdGNydW1iLmVsbS5jbGFzc0xpc3QuYWRkKCdjcnVtYi0taGlkZGVuJylcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0Y3J1bWIuZWxtLmNsYXNzTGlzdC5yZW1vdmUoJ2NydW1iLS1oaWRkZW4nKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHR9LFxuXHQvKipcblx0ICogVGhlIHJlbmRlciBmdW5jdGlvbiB0byBkaXNwbGF5IHRoZSBjb21wb25lbnRcblx0ICpcblx0ICogQHBhcmFtIHtGdW5jdGlvbn0gY3JlYXRlRWxlbWVudCBUaGUgZnVuY3Rpb24gdG8gY3JlYXRlIFZOb2Rlc1xuXHQgKiBAcmV0dXJucyB7Vk5vZGVzfSBUaGUgY3JlYXRlZCBWTm9kZXNcblx0ICovXG5cdHJlbmRlcihjcmVhdGVFbGVtZW50KSB7XG5cdFx0Ly8gR2V0IHRoZSBicmVhZGNydW1ic1xuXHRcdGNvbnN0IGJyZWFkY3J1bWJzID0gdGhpcy4kc2xvdHMuZGVmYXVsdCB8fCBbXVxuXG5cdFx0Ly8gQ2hlY2sgdGhhdCB3ZSBoYXZlIGF0IGxlYXN0IG9uZSBicmVhZGNydW1iXG5cdFx0aWYgKGJyZWFkY3J1bWJzLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuXG5cdFx0fVxuXG5cdFx0Ly8gQWRkIHRoZSByb290IGljb24gdG8gdGhlIGZpcnN0IGJyZWFkY3J1bWJcblx0XHRWdWUuc2V0KGJyZWFkY3J1bWJzWzBdLmNvbXBvbmVudE9wdGlvbnMucHJvcHNEYXRhLCAnaWNvbicsIHRoaXMucm9vdEljb24pXG5cblx0XHQvLyBUaGUgYXJyYXkgb2YgYWxsIGNyZWF0ZWQgVk5vZGVzXG5cdFx0bGV0IGNydW1icyA9IFtdXG5cdFx0LyoqXG5cdFx0ICogV2Ugc2hvdyB0aGUgZmlyc3QgaGFsZiBvZiB0aGUgYnJlYWRjcnVtYnMgYmVmb3JlIHRoZSBBY3Rpb25zIGRyb3Bkb3duIG1lbnVcblx0XHQgKiB3aGljaCBzaG93cyB0aGUgaGlkZGVuIGJyZWFkY3J1bWJzLlxuXHRcdCAqL1xuXHRcdGNvbnN0IGNydW1iczEgPSB0aGlzLmhpZGRlbkNydW1icy5sZW5ndGhcblx0XHRcdD8gYnJlYWRjcnVtYnMuc2xpY2UoMCwgTWF0aC5yb3VuZChicmVhZGNydW1icy5sZW5ndGggLyAyKSlcblx0XHRcdDogYnJlYWRjcnVtYnNcblx0XHQvLyBBZGQgdGhlIGJyZWFkY3J1bWJzIHRvIHRoZSBhcnJheSBvZiB0aGUgY3JlYXRlZCBWTm9kZXMsIGNoZWNrIGlmIGhpZGluZyB0aGVtIGlzIG5lY2Vzc2FyeS5cblx0XHRjcnVtYnMgPSBjcnVtYnMuY29uY2F0KGNydW1iczEpXG5cdFx0dGhpcy5oaWRlQ3J1bWJzKGNydW1iczEpXG5cblx0XHQvLyBUaGUgQWN0aW9ucyBtZW51XG5cdFx0aWYgKHRoaXMuaGlkZGVuQ3J1bWJzLmxlbmd0aCkge1xuXHRcdFx0Ly8gVXNlIGEgYnJlYWRjcnVtYiBjb21wb25lbnQgZm9yIHRoZSBoaWRkZW4gYnJlYWRjcnVtYnNcblx0XHRcdGNydW1icy5wdXNoKGNyZWF0ZUVsZW1lbnQoJ0JyZWFkY3J1bWInLCB7XG5cdFx0XHRcdGNsYXNzOiAnZHJvcGRvd24nLFxuXG5cdFx0XHRcdHByb3BzOiB0aGlzLm1lbnVCcmVhZGNydW1iUHJvcHMsXG5cblx0XHRcdFx0Ly8gQWRkIGEgcmVmIHRvIHRoZSBBY3Rpb25zIG1lbnVcblx0XHRcdFx0cmVmOiAnYWN0aW9uc0JyZWFkY3J1bWInLFxuXHRcdFx0XHRrZXk6ICdhY3Rpb25zLWJyZWFkY3J1bWItMScsXG5cdFx0XHRcdC8vIEFkZCBoYW5kbGVycyBzbyB0aGUgQWN0aW9ucyBtZW51IG9wZW5zIG9uIGhvdmVyXG5cdFx0XHRcdG5hdGl2ZU9uOiB7XG5cdFx0XHRcdFx0ZHJhZ3N0YXJ0OiB0aGlzLmRyYWdTdGFydCxcblx0XHRcdFx0XHRkcmFnZW50ZXI6ICgpID0+IHsgdGhpcy5tZW51QnJlYWRjcnVtYlByb3BzLm9wZW4gPSB0cnVlIH0sXG5cdFx0XHRcdFx0ZHJhZ2xlYXZlOiB0aGlzLmNsb3NlQWN0aW9ucyxcblx0XHRcdFx0fSxcblx0XHRcdFx0b246IHtcblx0XHRcdFx0XHQvLyBNYWtlIHN1cmUgd2Uga2VlcCB0aGUgc2FtZSBvcGVuIHN0YXRlXG5cdFx0XHRcdFx0Ly8gYXMgdGhlIEFjdGlvbnMgY29tcG9uZW50XG5cdFx0XHRcdFx0J3VwZGF0ZTpvcGVuJzogKG9wZW4pID0+IHtcblx0XHRcdFx0XHRcdHRoaXMubWVudUJyZWFkY3J1bWJQcm9wcy5vcGVuID0gb3BlblxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdH0sXG5cdFx0XHQvLyBBZGQgYWxsIGhpZGRlbiBicmVhZGNydW1icyBhcyBBY3Rpb25Sb3V0ZXIgb3IgQWN0aW9uTGlua1xuXHRcdFx0fSwgdGhpcy5oaWRkZW5DcnVtYnMubWFwKGNydW1iID0+IHtcblx0XHRcdFx0Ly8gR2V0IHRoZSBwYXJhbWV0ZXJzIGZyb20gdGhlIGJyZWFkY3J1bWIgY29tcG9uZW50IHByb3BzXG5cdFx0XHRcdGNvbnN0IHRvID0gY3J1bWIuY29tcG9uZW50T3B0aW9ucy5wcm9wc0RhdGEudG9cblx0XHRcdFx0Y29uc3QgaHJlZiA9IGNydW1iLmNvbXBvbmVudE9wdGlvbnMucHJvcHNEYXRhLmhyZWZcblx0XHRcdFx0Y29uc3QgZGlzYWJsZWQgPSBjcnVtYi5jb21wb25lbnRPcHRpb25zLnByb3BzRGF0YS5kaXNhYmxlRHJvcFxuXHRcdFx0XHQvLyBEZWNpZGUgd2hldGhlciB0byBzaG93IHRoZSBicmVhZGNydW1icyBhcyBBY3Rpb25Sb3V0ZXIgb3IgQWN0aW9uTGlua1xuXHRcdFx0XHRsZXQgZWxlbWVudCA9ICdBY3Rpb25MaW5rJ1xuXHRcdFx0XHRsZXQgcGF0aCA9IGhyZWZcblx0XHRcdFx0aWYgKHRvKSB7XG5cdFx0XHRcdFx0ZWxlbWVudCA9ICdBY3Rpb25Sb3V0ZXInXG5cdFx0XHRcdFx0cGF0aCA9IHRvXG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIGNyZWF0ZUVsZW1lbnQoZWxlbWVudCwge1xuXHRcdFx0XHRcdGNsYXNzOiAnY3J1bWInLFxuXHRcdFx0XHRcdHByb3BzOiB7XG5cdFx0XHRcdFx0XHR0byxcblx0XHRcdFx0XHRcdGhyZWYsXG5cdFx0XHRcdFx0XHRpY29uOiAnaWNvbi1mb2xkZXInLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Ly8gUHJldmVudCB0aGUgYnJlYWRjcnVtYnMgZnJvbSBiZWluZyBkcmFnZ2FibGVcblx0XHRcdFx0XHRhdHRyczoge1xuXHRcdFx0XHRcdFx0ZHJhZ2dhYmxlOiBmYWxzZSxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdC8vIEFkZCB0aGUgZHJhZyBhbmQgZHJvcCBoYW5kbGVyc1xuXHRcdFx0XHRcdG5hdGl2ZU9uOiB7XG5cdFx0XHRcdFx0XHRkcmFnc3RhcnQ6IHRoaXMuZHJhZ1N0YXJ0LFxuXHRcdFx0XHRcdFx0ZHJvcDogKCRldmVudCkgPT4gdGhpcy5kcm9wcGVkKCRldmVudCwgcGF0aCwgZGlzYWJsZWQpLFxuXHRcdFx0XHRcdFx0ZHJhZ292ZXI6IHRoaXMuZHJhZ092ZXIsXG5cdFx0XHRcdFx0XHRkcmFnZW50ZXI6ICgkZXZlbnQpID0+IHRoaXMuZHJhZ0VudGVyKCRldmVudCwgZGlzYWJsZWQpLFxuXHRcdFx0XHRcdFx0ZHJhZ2xlYXZlOiAoJGV2ZW50KSA9PiB0aGlzLmRyYWdMZWF2ZSgkZXZlbnQsIGRpc2FibGVkKSxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHR9LFxuXHRcdFx0XHRjcnVtYi5jb21wb25lbnRPcHRpb25zLnByb3BzRGF0YS50aXRsZVxuXHRcdFx0XHQpXG5cdFx0XHR9KSlcblx0XHRcdClcblx0XHR9XG5cdFx0Ly8gVGhlIHNlY29uZCBoYWxmIG9mIHRoZSBicmVhZGNydW1ic1xuXHRcdGNvbnN0IGNydW1iczIgPSB0aGlzLmhpZGRlbkNydW1icy5sZW5ndGhcblx0XHRcdD8gYnJlYWRjcnVtYnMuc2xpY2UoTWF0aC5yb3VuZChicmVhZGNydW1icy5sZW5ndGggLyAyKSlcblx0XHRcdDogW11cblx0XHRjcnVtYnMgPSBjcnVtYnMuY29uY2F0KGNydW1iczIpXG5cdFx0dGhpcy5oaWRlQ3J1bWJzKGNydW1iczIsIGNydW1iczEubGVuZ3RoKVxuXG5cdFx0cmV0dXJuIGNyZWF0ZUVsZW1lbnQoJ2RpdicsIHsgY2xhc3M6IFsnYnJlYWRjcnVtYicsIHsgJ2JyZWFkY3J1bWItLWNvbGxhcHNlZCc6ICh0aGlzLmhpZGRlbkNydW1icy5sZW5ndGggPT09IGJyZWFkY3J1bWJzLmxlbmd0aCAtIDIpIH1dLCByZWY6ICdjb250YWluZXInIH0sIGNydW1icylcblx0fSxcbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4uYnJlYWRjcnVtYiB7XG5cdHdpZHRoOiAxMDAlO1xuXHRmbGV4LWdyb3c6IDE7XG5cblx0Ji0tY29sbGFwc2VkICAuY3J1bWI6bGFzdC1jaGlsZCB7XG5cdFx0bWluLXdpZHRoOiAxMDBweDtcblx0XHRmbGV4LXNocmluazogMTtcblx0fVxuXG5cdC5jcnVtYi0taG92ZXJlZHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcblx0fVxufVxuPC9zdHlsZT5cbiIsIjwhLS1cbiAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XG4gLVxuIC0gQGF1dGhvciBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxuIC1cbiAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuIC1cbiAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuIC1cbiAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gLVxuIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuIC1cbiAtLT5cblxuPGRvY3M+XG5cbiMjIyBHZW5lcmFsIGRlc2NyaXB0aW9uXG5cblRoaXMgY29tcG9uZW50IGFsbG93cyB0aGUgdXNlciB0byBjaG9vc2UgYSBjb2xvci4gSXQgY29uc2lzdHMgb2YgMlxuYWN0dWFsIHBpY2tlcnM6XG5cbi0gT25lIHNpbXBsZSBwaWNrZXIgd2l0aCBhIHByZWRlZmluZWQgcGFsZXR0ZSBvZiBjb2xvcnM7XG4tIE9uZSBtb3JlIGFkdmFuY2VkIHBpY2tlciB0aGF0IHByb3ZpZGVzIHRoZSBmdWxsIGNvbG9yIHNwZWN0cnVtO1xuXG4jIyMgVXNhZ2VcblxuKiBVc2luZyB2LW1vZGVsIGFuZCBwYXNzaW5nIGluIGFuIEhUTUwgZWxlbWVudCB0aGF0IHdpbGwgYmUgdHJlYXRlZCBhcyBhIHRyaWdnZXI6XG5cbmBgYHZ1ZVxuPHRlbXBsYXRlPlxuXHQ8ZGl2IGNsYXNzPVwiY29udGFpbmVyMFwiPlxuXHRcdDxDb2xvclBpY2tlciB2LW1vZGVsPVwiY29sb3JcIj5cblx0XHRcdDxidXR0b24+IENsaWNrIE1lIDwvYnV0dG9uPlxuXHRcdDwvQ29sb3JQaWNrZXI+XG5cdFx0PGRpdiA6c3R5bGU9XCJ7J2JhY2tncm91bmQtY29sb3InOiBjb2xvcn1cIiBjbGFzcz1cImNvbG9yMFwiIC8+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGNvbG9yOiAnIzAwODJjOSdcblx0XHR9XG5cdH1cbn1cbjwvc2NyaXB0PlxuPHN0eWxlPlxuLmNvbnRhaW5lcjAge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uY29sb3IwIHtcblx0d2lkdGg6IDEwMHB4O1xuXHRtYXJnaW4tbGVmdDogMjBweDtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xufVxuPC9zdHlsZT5cbmBgYFxuXG4qIFVzaW5nIHYtYmluZCBmb3IgYm90aCBjb2xvciBhbmQgb3BlbiBzdGF0ZSBhbmQgZW1pdHRpbmcgYW4gZXZlbnQgdGhhdCB1cGRhdGVzIHRoZSBjb2xvclxuXG5gYGB2dWVcbjx0ZW1wbGF0ZT5cblx0PGRpdiBjbGFzcz1cImNvbnRhaW5lcjFcIj5cblx0XHQ8YnV0dG9uIEBjbGljaz1cIm9wZW4gPSAhb3BlblwiPiBDbGljayBNZSA8L2J1dHRvbj5cblx0XHQ8Q29sb3JQaWNrZXIgOnZhbHVlPVwiY29sb3JcIiBAaW5wdXQ9XCJ1cGRhdGVDb2xvclwiIDpvcGVuLnN5bmM9XCJvcGVuXCIgLz5cblx0XHQ8ZGl2IDpzdHlsZT1cInsnYmFja2dyb3VuZC1jb2xvcic6IGNvbG9yfVwiIGNsYXNzPVwiY29sb3IxXCIgLz5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuPHNjcmlwdD5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Y29sb3I6ICcjMDA4MmM5Jyxcblx0XHRcdG9wZW46ICdmYWxzZSdcblx0XHR9XG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHR1cGRhdGVDb2xvcihlKSB7XG5cdFx0XHR0aGlzLmNvbG9yID0gZVxuXHRcdH1cblx0fVxufVxuPC9zY3JpcHQ+XG48c3R5bGU+XG4uY29udGFpbmVyMSB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5jb2xvcjEge1xuXHR3aWR0aDogMTAwcHg7XG5cdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG59XG48L3N0eWxlPlxuYGBgXG5cbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8UG9wb3ZlciB2LWJpbmQ9XCIkYXR0cnNcIiB2LW9uPVwiJGxpc3RlbmVyc1wiPlxuXHRcdDx0ZW1wbGF0ZSAjdHJpZ2dlcj5cblx0XHRcdDxzbG90IC8+XG5cdFx0PC90ZW1wbGF0ZT5cblx0XHQ8ZGl2IGNsYXNzPVwiY29sb3ItcGlja2VyXCI+XG5cdFx0XHQ8dHJhbnNpdGlvbiBuYW1lPVwic2xpZGVcIiBtb2RlPVwib3V0LWluXCI+XG5cdFx0XHRcdDxkaXYgdi1pZj1cIiFhZHZhbmNlZFwiIGNsYXNzPVwiY29sb3ItcGlja2VyLXNpbXBsZVwiPlxuXHRcdFx0XHRcdDxidXR0b25cblx0XHRcdFx0XHRcdHYtZm9yPVwiKGNvbG9yLCBpbmRleCkgaW4gcGFsZXR0ZVwiXG5cdFx0XHRcdFx0XHQ6a2V5PVwiaW5kZXhcIlxuXHRcdFx0XHRcdFx0OnN0eWxlPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogY29sb3IgfVwiXG5cdFx0XHRcdFx0XHRjbGFzcz1cImNvbG9yLXBpY2tlci1zaW1wbGUtY29sb3ItY2lyY2xlXCJcblx0XHRcdFx0XHRcdDpjbGFzcz1cInsgJ2NvbG9yLXBpY2tlci1zaW1wbGUtY29sb3ItY2lyY2xlLS1hY3RpdmUnIDogY29sb3IgPT09IGN1cnJlbnRDb2xvciB9XCJcblx0XHRcdFx0XHRcdEBjbGljaz1cInBpY2tDb2xvcihjb2xvcilcIiAvPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PENocm9tZVxuXHRcdFx0XHRcdHYtaWY9XCJhZHZhbmNlZFwiXG5cdFx0XHRcdFx0di1tb2RlbD1cImN1cnJlbnRDb2xvclwiXG5cdFx0XHRcdFx0Y2xhc3M9XCJjb2xvci1waWNrZXItYWR2YW5jZWRcIlxuXHRcdFx0XHRcdDpkaXNhYmxlLWFscGhhPVwidHJ1ZVwiXG5cdFx0XHRcdFx0OmRpc2FibGUtZmllbGRzPVwidHJ1ZVwiXG5cdFx0XHRcdFx0QGlucHV0PVwicGlja0NvbG9yXCIgLz5cblx0XHRcdDwvdHJhbnNpdGlvbj5cblx0XHRcdDxkaXYgY2xhc3M9XCJjb2xvci1waWNrZXItbmF2aWdhdGlvblwiPlxuXHRcdFx0XHQ8YnV0dG9uXG5cdFx0XHRcdFx0di1pZj1cImFkdmFuY2VkXCJcblx0XHRcdFx0XHRjbGFzcz1cImNvbG9yLXBpY2tlci1uYXZpZ2F0aW9uLWJ1dHRvbiBiYWNrXCJcblx0XHRcdFx0XHRAY2xpY2s9XCJoYW5kbGVCYWNrXCIgLz5cblx0XHRcdFx0PGJ1dHRvblxuXHRcdFx0XHRcdHYtaWY9XCIhYWR2YW5jZWRcIlxuXHRcdFx0XHRcdGNsYXNzPVwiY29sb3ItcGlja2VyLW5hdmlnYXRpb24tYnV0dG9uIG1vcmUtc2V0dGluZ3NcIlxuXHRcdFx0XHRcdEBjbGljaz1cImhhbmRsZU1vcmVTZXR0aW5nc1wiIC8+XG5cdFx0XHRcdDxidXR0b25cblx0XHRcdFx0XHR2LWlmPVwiYWR2YW5jZWRcIlxuXHRcdFx0XHRcdGNsYXNzPVwiY29sb3ItcGlja2VyLW5hdmlnYXRpb24tYnV0dG9uIGNvbmZpcm1cIlxuXHRcdFx0XHRcdEBjbGljaz1cImhhbmRsZUNvbmZpcm1cIj5cblx0XHRcdFx0XHR7eyB0KCdDaG9vc2UnKSB9fVxuXHRcdFx0XHQ8L2J1dHRvbj5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L1BvcG92ZXI+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IHsgQ2hyb21lIH0gZnJvbSAndnVlLWNvbG9yJ1xuaW1wb3J0IEdlbkNvbG9ycyBmcm9tICcuLi8uLi91dGlscy9HZW5Db2xvcnMnXG5pbXBvcnQgbDEwbiBmcm9tICcuLi8uLi9taXhpbnMvbDEwbidcbmltcG9ydCBQb3BvdmVyIGZyb20gJy4uL1BvcG92ZXInXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0NvbG9yUGlja2VyJyxcblx0Y29tcG9uZW50czoge1xuXHRcdENocm9tZSxcblx0XHRQb3BvdmVyLFxuXHR9LFxuXHRtaXhpbnM6IFtsMTBuXSxcblxuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCogQSBIRVggY29sb3IgdGhhdCByZXByZXNlbnRzIHRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBwaWNrZXJcblx0XHQqL1xuXHRcdHZhbHVlOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRyZXF1aXJlZDogdHJ1ZSxcblx0XHR9LFxuXHR9LFxuXG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGN1cnJlbnRDb2xvcjogdGhpcy52YWx1ZSxcblx0XHRcdGFkdmFuY2VkOiBmYWxzZSxcblx0XHRcdHBhbGV0dGU6IEdlbkNvbG9ycyg0KS5tYXAoY29sb3IgPT4ge1xuXHRcdFx0XHRyZXR1cm4gJyMnICsgdGhpcy5yZ2JUb0hleChjb2xvci5yKSArIHRoaXMucmdiVG9IZXgoY29sb3IuZykgKyB0aGlzLnJnYlRvSGV4KGNvbG9yLmIpXG5cdFx0XHR9KSxcblx0XHRcdG9wZW46IHRydWUsXG5cdFx0fVxuXHR9LFxuXHR3YXRjaDoge1xuXHRcdHZhbHVlKGNvbG9yKSB7XG5cdFx0XHR0aGlzLmN1cnJlbnRDb2xvciA9IGNvbG9yXG5cdFx0fSxcblx0fSxcblxuXHRtZXRob2RzOiB7XG5cdFx0aGFuZGxlQ29uZmlybSgpIHtcblx0XHRcdHRoaXMuJGVtaXQoJ2Nsb3NlJylcblx0XHRcdC8qKlxuXHRcdFx0ICogRW1pdHMgYSBoZXhhZGVjaW1hbCBzdHJpbmcgZS5nLiAnI2ZmZmZmZidcblx0XHRcdCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgnc3VibWl0JywgdGhpcy5jdXJyZW50Q29sb3IpXG5cdFx0XHR0aGlzLmFkdmFuY2VkID0gZmFsc2Vcblx0XHR9LFxuXHRcdGhhbmRsZUJhY2soKSB7XG5cdFx0XHR0aGlzLmFkdmFuY2VkID0gZmFsc2Vcblx0XHR9LFxuXHRcdGhhbmRsZU1vcmVTZXR0aW5ncygpIHtcblx0XHRcdHRoaXMuYWR2YW5jZWQgPSB0cnVlXG5cdFx0fSxcblx0XHRwaWNrQ29sb3IoY29sb3IpIHtcblx0XHRcdGlmICh0eXBlb2YgY29sb3IgIT09ICdzdHJpbmcnKSB7XG5cdFx0XHRcdGNvbG9yID0gdGhpcy5jdXJyZW50Q29sb3IuaGV4XG5cdFx0XHR9XG5cdFx0XHR0aGlzLmN1cnJlbnRDb2xvciA9IGNvbG9yXG5cdFx0XHR0aGlzLiRlbWl0KCdjbG9zZScpXG5cdFx0XHQvKipcblx0XHRcdCAqIEVtaXRzIGEgaGV4YWRlY2ltYWwgc3RyaW5nIGUuZy4gJyNmZmZmZmYnXG5cdFx0XHQgKi9cblx0XHRcdHRoaXMuJGVtaXQoJ3VwZGF0ZTp2YWx1ZScsIGNvbG9yKVxuXHRcdFx0LyoqXG5cdFx0XHQgKiBFbWl0cyBhIGhleGFkZWNpbWFsIHN0cmluZyBlLmcuICcjZmZmZmZmJ1xuXHRcdFx0ICovXG5cdFx0XHR0aGlzLiRlbWl0KCdpbnB1dCcsIGNvbG9yKVxuXG5cdFx0fSxcblx0XHRyZ2JUb0hleChjb2xvcikge1xuXHRcdFx0Y29uc3QgaGV4ID0gY29sb3IudG9TdHJpbmcoMTYpXG5cdFx0XHRyZXR1cm4gaGV4Lmxlbmd0aCA9PT0gMSA/ICcwJyArIGhleCA6IGhleFxuXHRcdH0sXG5cdH0sXG59XG5cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG5AaW1wb3J0ICcuLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZSc7XG5cbi5jb2xvci1waWNrZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRhbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveCAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTc2cHg7XG5cdHBhZGRpbmc6IDRweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRoZWlnaHQ6IDE5NnB4O1xuXHQmLXNpbXBsZSB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAkY2xpY2thYmxlLWFyZWEpO1xuXHRcdGdyaWQtYXV0by1yb3dzOiAkY2xpY2thYmxlLWFyZWE7XG5cblx0XHQmLWNvbG9yLWNpcmNsZSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDM0cHg7XG5cdFx0XHRoZWlnaHQ6IDM0cHg7XG5cdFx0XHRtaW4taGVpZ2h0OiAzNHB4O1xuXHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDE3cHg7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0b3BhY2l0eTogLjY7XG5cdFx0XHR9XG5cdFx0XHQmLS1hY3RpdmUge1xuXHRcdFx0XHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG5cdFx0XHRcdEBpbmNsdWRlIGljb25mb250KCdjaGVja21hcmsnKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLWFkdmFuY2VkIHtcblx0XHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmLW5hdmlnYXRpb24ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHQmLWJ1dHRvbiB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24tY29udGVudDogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRtaW4td2lkdGg6ICRjbGlja2FibGUtYXJlYTtcblx0XHRcdGhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xuXHRcdFx0cGFkZGluZzokaWNvbi1tYXJnaW47XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAkY2xpY2thYmxlLWFyZWEgLyAyO1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdGp1c3RpZnktc2VsZjogZmxleC1lbmQ7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcblx0XHRcdH1cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1mb2N1cy1iZztcblx0XHRcdH1cblxuXHRcdFx0Ji5iYWNrIHtcblx0XHRcdFx0QGluY2x1ZGUgaWNvbmZvbnQoJ2Fycm93LWxlZnQnKTtcblx0XHRcdH1cblx0XHRcdCYuY29uZmlybSB7XG5cdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudC1saWdodCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYubW9yZS1zZXR0aW5ncyB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0XHRAaW5jbHVkZSBpY29uZm9udCgnbW9yZScpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG46OnYtZGVlcCAudmMge1xuXHQmLWNocm9tZSB7XG5cdFx0d2lkdGg6IDE3NnB4O1xuXHRcdGhlaWdodDogMTM7XG5cdFx0Ji1jb2xvci13cmFwIHtcblx0XHRcdHdpZHRoOiAzMHB4O1xuXHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdH1cblxuXHRcdCYtYWN0aXZlLWNvbG9yIHtcblx0XHRcdHdpZHRoOiAzNHB4O1xuXHRcdFx0aGVpZ2h0OiAzNHB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTdweDtcblx0XHR9XG5cblx0XHQmLWJvZHkge1xuXHRcdFx0cGFkZGluZzogMTRweCAwIDAgMDtcblx0XHR9XG5cblx0XHQmLXNhdHVyYXRpb24ge1xuXHRcdFx0Ji13cmFwIHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0fVxuXG5cdFx0XHQmLWNpcmNsZSB7XG5cdFx0XHRcdHdpZHRoOiAyMHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5zbGlkZSB7XG5cdCYtZW50ZXIge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdCYtZW50ZXItdG8ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdCYtbGVhdmUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdCYtbGVhdmUtdG8ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdCYtZW50ZXItYWN0aXZlLFxuXHQmLWxlYXZlLWFjdGl2ZSB7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDUwbXMgZWFzZS1pbi1vdXQ7XG5cdH1cbn1cblxuPC9zdHlsZT5cbiIsIjwhLS1cbiAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAtXG4gLSBAYXV0aG9yIENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAtXG4gLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAtXG4gLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gLVxuIC0tPlxuXG48ZG9jcz5cblxuXHQjIyMgR2VuZXJhbCBkZXNjcmlwdGlvblxuXG5cdFRoaXMgY29tcG9uZW50IHByb3ZpZGVzIHRoZSBkZWZhdWx0IGNvbnRhaW5lciBvZiBhbGwgYXBwcy5cblx0SXQgX01VU1RfIGJlIHVzZWQgYXMgdGhlIG1haW4gd3JhcHBlciBvZiB5b3VyIGFwcC5cblx0SXQgaW5jbHVkZXMgdGhlIE5hdmlnYXRpb24sIHRoZSBBcHAgY29udGVudCBhbmQgdGhlIFNpZGViYXIuXG5cblx0IyMjIFN0YW5kYXJkIHVzYWdlXG5cblx0YGBgdnVlXG5cdDx0ZW1wbGF0ZT5cblx0XHQ8Q29udGVudCBhcHAtbmFtZT1cImZvcm1zXCI+XG5cdFx0XHQ8QXBwTmF2aWdhdGlvbj5cblx0XHRcdFx0PEFwcE5hdmlnYXRpb25JdGVtIHRpdGxlPVwiTXkgdGl0bGVcIiBpY29uPVwiaWNvbi1jYXRlZ29yeS1lbmFibGVkXCI+XG5cdFx0XHQ8L0FwcE5hdmlnYXRpb24+XG5cdFx0XHQ8QXBwQ29udGVudD5Zb3VyIG1haW4gYXBwIGNvbnRlbnQgaGVyZTwvQXBwQ29udGVudD5cblx0XHRcdDxBcHBTaWRlYmFyIHRpdGxlPVwiY2F0LXBpY3R1cmUuanBnXCI+PC9BcHBTaWRlYmFyPlxuXHRcdDwvQ29udGVudD5cblx0PC90ZW1wbGF0ZT5cblx0YGBgXG5cbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8ZGl2IGlkPVwiY29udGVudC12dWVcIlxuXHRcdDpjbGFzcz1cImBhcHAtJHthcHBOYW1lLnRvTG93ZXJDYXNlKCl9YFwiXG5cdFx0Y2xhc3M9XCJjb250ZW50XCI+XG5cdFx0PHNsb3QgLz5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuZXhwb3J0IGRlZmF1bHQge1xuXHRwcm9wczoge1xuXHRcdGFwcE5hbWU6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuLmNvbnRlbnQge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBhZGRpbmctdG9wOiA1MHB4O1xuXHRtaW4taGVpZ2h0OiAxMDAlO1xuXHQ6OnYtZGVlcCAqIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG59XG48L3N0eWxlPlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48ZG9jcz5cbj4gV2UncmUgd3JhcHBpbmcgdGhlIGF3ZXNvbWUgZGF0ZXBpY2tlciBsaWJyYXJ5IGhlcmUgaHR0cHM6Ly9naXRodWIuY29tL21lbmd4aW9uZzEwL3Z1ZTItZGF0ZXBpY2tlclxuPiBQbGVhc2UgY2hlY2sgdGhlcmUgZm9yIGFsbCB0aGUgYXZhaWxhYmxlIG9wdGlvbnMuXG5cbiMjIyBEZWZhdWx0c1xuLSBjbGVhcmVhYmxlOiBmYWxzZVxuLSBtaW51dGUtc3RlcDogMTBcblxuIyMjIEV4YW1wbGVcbmBgYHZ1ZVxuPHRlbXBsYXRlPlxuXHQ8c3Bhbj5cblx0XHQ8RGF0ZXRpbWVQaWNrZXJcblx0XHRcdHYtbW9kZWw9XCJ0aW1lXCJcblx0XHRcdHR5cGU9XCJkYXRldGltZVwiIC8+XG5cdFx0e3sgdGltZSB9fVxuXHQ8L3NwYW4+XG48L3RlbXBsYXRlPlxuPHNjcmlwdD5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0dGltZTogbnVsbCxcblx0XHR9XG5cdH0sXG59XG48L3NjcmlwdD5cbmBgYFxuXG4jIyMgUmFuZ2UgcGlja2VyXG5gYGB2dWVcbjx0ZW1wbGF0ZT5cblx0PHNwYW4+XG5cdFx0PERhdGV0aW1lUGlja2VyXG5cdFx0XHR2LW1vZGVsPVwidGltZVwiXG5cdFx0XHRyYW5nZVxuXHRcdFx0dHlwZT1cImRhdGVcIiAvPlxuXHRcdHt7IHRpbWUgfX1cblx0PC9zcGFuPlxuPC90ZW1wbGF0ZT5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHRpbWU6IG51bGwsXG5cdFx0fVxuXHR9LFxufVxuPC9zY3JpcHQ+XG5gYGBcbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8RGF0ZVBpY2tlclxuXHRcdHJlZj1cImRhdGVwaWNrZXJcIlxuXHRcdDpjbGVhcmFibGU9XCJjbGVhcmFibGVcIlxuXHRcdDptaW51dGUtc3RlcD1cIm1pbnV0ZVN0ZXBcIlxuXHRcdDpmb3JtYXQ9XCJmb3JtYXRcIlxuXHRcdDpmb3JtYXR0ZXI9XCJmb3JtYXR0ZXJcIlxuXHRcdDp0eXBlPVwidHlwZVwiXG5cdFx0OnZhbHVlPVwidmFsdWVcIlxuXHRcdDphcHBlbmQtdG8tYm9keT1cImFwcGVuZFRvQm9keVwiXG5cdFx0OnNob3ctd2Vlay1udW1iZXI9XCJzaG93V2Vla051bWJlclwiXG5cdFx0OnBvcHVwLWNsYXNzPVwieyAnc2hvdy13ZWVrLW51bWJlcic6IHNob3dXZWVrTnVtYmVyIH1cIlxuXHRcdHYtYmluZD1cIiRhdHRyc1wiXG5cdFx0di1vbj1cIiRsaXN0ZW5lcnNcIlxuXHRcdEBzZWxlY3QteWVhcj1cImhhbmRsZVNlbGVjdFllYXJcIlxuXHRcdEBzZWxlY3QtbW9udGg9XCJoYW5kbGVTZWxlY3RNb250aFwiXG5cdFx0QHVwZGF0ZTp2YWx1ZT1cIiRlbWl0KCd1cGRhdGU6dmFsdWUnLCB2YWx1ZSlcIj5cblx0XHQ8dGVtcGxhdGUgdi1mb3I9XCIoXywgc2xvdCkgb2YgJHNjb3BlZFNsb3RzXCIgI1tzbG90XT1cInNjb3BlXCI+XG5cdFx0XHQ8c2xvdCA6bmFtZT1cInNsb3RcIiB2LWJpbmQ9XCJzY29wZVwiIC8+XG5cdFx0PC90ZW1wbGF0ZT5cblx0PC9EYXRlUGlja2VyPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBEYXRlUGlja2VyIGZyb20gJ3Z1ZTItZGF0ZXBpY2tlcidcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnRGF0ZXRpbWVQaWNrZXInLFxuXG5cdGNvbXBvbmVudHM6IHtcblx0XHREYXRlUGlja2VyLFxuXHR9LFxuXG5cdGluaGVyaXRBdHRyczogZmFsc2UsXG5cblx0cHJvcHM6IHtcblx0XHRjbGVhcmFibGU6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0KCkge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2Vcblx0XHRcdH0sXG5cdFx0fSxcblxuXHRcdG1pbnV0ZVN0ZXA6IHtcblx0XHRcdHR5cGU6IE51bWJlcixcblx0XHRcdGRlZmF1bHQoKSB7XG5cdFx0XHRcdHJldHVybiAxMFxuXHRcdFx0fSxcblx0XHR9LFxuXG5cdFx0dHlwZToge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJ2RhdGUnLFxuXHRcdH0sXG5cblx0XHRmb3JtYXQ6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQoKSB7XG5cdFx0XHRcdGNvbnN0IG1hcCA9IHtcblx0XHRcdFx0XHRkYXRlOiAnWVlZWS1NTS1ERCcsXG5cdFx0XHRcdFx0ZGF0ZXRpbWU6ICdZWVlZLU1NLUREIEg6bW06c3MnLFxuXHRcdFx0XHRcdHllYXI6ICdZWVlZJyxcblx0XHRcdFx0XHRtb250aDogJ1lZWVktTU0nLFxuXHRcdFx0XHRcdHRpbWU6ICdIOm1tOnNzJyxcblx0XHRcdFx0XHR3ZWVrOiAndycsXG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIG1hcFt0aGlzLnR5cGVdIHx8IG1hcC5kYXRlXG5cdFx0XHR9LFxuXHRcdH0sXG5cblx0XHRmb3JtYXR0ZXI6IHtcblx0XHRcdHR5cGU6IE9iamVjdCxcblx0XHRcdGRlZmF1bHQoKSB7XG5cdFx0XHRcdHJldHVybiBudWxsXG5cdFx0XHR9LFxuXHRcdH0sXG5cblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHR2YWx1ZToge1xuXHRcdFx0ZGVmYXVsdCgpIHtcblx0XHRcdFx0cmV0dXJuIG5ldyBEYXRlKClcblx0XHRcdH0sXG5cdFx0fSxcblxuXHRcdGFwcGVuZFRvQm9keToge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cblx0XHRzaG93V2Vla051bWJlcjoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdH0sXG5cblx0bWV0aG9kczoge1xuXHRcdGhhbmRsZVNlbGVjdFllYXIoeWVhcikge1xuXHRcdFx0Y29uc3QgdmFsdWUgPSB0aGlzLiRyZWZzLmRhdGVwaWNrZXIuY3VycmVudFZhbHVlXG5cdFx0XHRpZiAodmFsdWUpIHtcblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRjb25zdCBkYXRlID0gbmV3IERhdGUobmV3IERhdGUodmFsdWUpLnNldEZ1bGxZZWFyKHllYXIpKVxuXHRcdFx0XHRcdHRoaXMuJHJlZnMuZGF0ZXBpY2tlci5zZWxlY3REYXRlKGRhdGUpXG5cdFx0XHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRcdFx0Y29uc29sZS5lcnJvcignSW52YWxpZCB2YWx1ZScsIHZhbHVlLCB5ZWFyKVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRoYW5kbGVTZWxlY3RNb250aChtb250aCkge1xuXHRcdFx0Y29uc3QgdmFsdWUgPSB0aGlzLiRyZWZzLmRhdGVwaWNrZXIuY3VycmVudFZhbHVlXG5cdFx0XHRpZiAodmFsdWUpIHtcblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRjb25zdCBkYXRlID0gbmV3IERhdGUobmV3IERhdGUodmFsdWUpLnNldE1vbnRoKG1vbnRoKSlcblx0XHRcdFx0XHR0aGlzLiRyZWZzLmRhdGVwaWNrZXIuc2VsZWN0RGF0ZShkYXRlKVxuXHRcdFx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgdmFsdWUnLCB2YWx1ZSwgbW9udGgpXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG4iLCI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMjAgR3JldGEgRG9jaSA8Z3JldGFkb2NpQGdtYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgMjAyMCBHcmV0YSBEb2NpIDxncmV0YWRvY2lAZ21haWwuY29tPlxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICAtXG4gIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAgLVxuICAtLT5cblxuPGRvY3M+XG4jIyMgQmFzaWMgdXNlXG5cblVzZSB0aGlzIGNvbXBvbmVudCB0byBkaXNwbGF5IGEgbWVzc2FnZSBhYm91dCBhbiBlbXB0eSBjb250ZW50LlxuQW4gaWNvbiBhbmQgYSB0aXRsZSBhcmUgbWFuZGF0b3J5LlxuUHJvdmlkaW5nIGFuIGFkZGl0aW9uYWwgZGVzY3JpcHRpb24gaXMgc3Ryb25nbHkgYWR2aXNlZC5cblxuYGBgXG48RW1wdHlDb250ZW50IGljb249XCJpY29uLWNvbW1lbnRcIj5cblx0Tm8gY29tbWVudHNcblx0PHRlbXBsYXRlICNkZXNjPk5vIGNvbW1lbnRzIGluIGhlcmU8L3RlbXBsYXRlPlxuPC9FbXB0eUNvbnRlbnQ+XG5gYGBcbmBgYFxuPHRlbXBsYXRlPlxuXHQ8RW1wdHlDb250ZW50PlxuXHRcdE5ldHdvcmsgZXJyb3Jcblx0XHQ8dGVtcGxhdGUgI2ljb24+PEFpcnBsYW5lIC8+PC90ZW1wbGF0ZT5cblx0XHQ8dGVtcGxhdGUgI2Rlc2M+VW5hYmxlIHRvIGxvYWQgdGhlIGxpc3Q8L3RlbXBsYXRlPlxuXHQ8L0VtcHR5Q29udGVudD5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgQWlycGxhbmUgZnJvbSAndnVlLW1hdGVyaWFsLWRlc2lnbi1pY29ucy9BaXJwbGFuZSdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRjb21wb25lbnRzOiB7XG5cdFx0QWlycGxhbmVcblx0fVxufVxuPC9zY3JpcHQ+XG5cbmBgYFxuPC9kb2NzPlxuXG48dGVtcGxhdGU+XG5cdDxkaXYgY2xhc3M9XCJlbXB0eS1jb250ZW50XCIgcm9sZT1cIm5vdGVcIj5cblx0XHQ8ZGl2IGNsYXNzPVwiZW1wdHktY29udGVudF9faWNvblwiIDpjbGFzcz1cImljb25cIiByb2xlPVwiaW1nXCI+XG5cdFx0XHQ8IS0tIEBzbG90IE9wdGlvbmFsIGljb24gc2xvdCAtLT5cblx0XHRcdDxzbG90IG5hbWU9XCJpY29uXCIgLz5cblx0XHQ8L2Rpdj5cblx0XHQ8aDIgY2xhc3M9XCJlbXB0eS1jb250ZW50X190aXRsZVwiPlxuXHRcdFx0PCEtLSBAc2xvdCBNYW5kYXRvcnkgdGl0bGUgLS0+XG5cdFx0XHQ8c2xvdCAvPlxuXHRcdDwvaDI+XG5cdFx0PHAgdi1zaG93PVwiJHNsb3RzLmRlc2NcIj5cblx0XHRcdDwhLS0gQHNsb3QgT3B0aW9uYWwgZGVzY3JpcHRpb24gLS0+XG5cdFx0XHQ8c2xvdCBuYW1lPVwiZGVzY1wiIC8+XG5cdFx0PC9wPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdFbXB0eUNvbnRlbnQnLFxuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIFRoZSBtYWluIGljb24gaWxsdXN0cmF0aW9uXG5cdFx0ICovXG5cdFx0aWNvbjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblx0fSxcbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4uZW1wdHktY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1hcmdpbi10b3A6IDIwdmg7XG5cblx0Jl9faWNvbiB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdHdpZHRoOiA2NHB4O1xuXHRcdGhlaWdodDogNjRweDtcblx0XHRtYXJnaW46IDAgYXV0byAxNXB4O1xuXHRcdG9wYWNpdHk6IC40O1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNjRweDtcblxuXHRcdHN2ZyB7XG5cdFx0XHR3aWR0aDogNjRweDtcblx0XHRcdGhlaWdodDogNjRweDtcblx0XHR9XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0fVxufVxuXG48L3N0eWxlPlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIwIFJhaW11bmQgU2NobMO8w59sZXIgPHJhaW11bmQuc2NobHVlc3NsZXJAbWFpbGJveC5vcmc+XG4gIC1cbiAgLSBAYXV0aG9yIFJhaW11bmQgU2NobMO8w59sZXIgPHJhaW11bmQuc2NobHVlc3NsZXJAbWFpbGJveC5vcmc+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjxkb2NzPlxuXG4jIyMgR2VuZXJhbCBkZXNjcmlwdGlvblxuXG5IaWdobGlnaHQgYSBzdHJpbmcgd2l0aCBodG1sICZsdDtzdHJvbmcmZ3Q7LiBBY2NlcHRzIGEgc3Vic3RyaW5nIHRvIGhpZ2hsaWdodCBvciBhbiBhcnJheSB3aXRoIHJhbmdlcy5cblxuIyMjIFVzYWdlXG5cbmBgYHZ1ZVxuPHRlbXBsYXRlPlxuXHQ8ZGl2PlxuXHRcdDxIaWdobGlnaHQgdGV4dD1cIkhpZ2hsaWdodCBtZSBwbGVhc2UhXCIgc2VhcmNoPVwibWVcIiAvPlxuXHRcdDxiciAvPlxuXHRcdDxIaWdobGlnaHQgdGV4dD1cIkhpZ2hsaWdodCBtZSBwbGVhc2UhXCIgOmhpZ2hsaWdodD1cIlt7IHN0YXJ0OiA0LCBlbmQ6IDEyIH1dXCIgLz5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuYGBgXG48L2RvY3M+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgRmluZFJhbmdlcyBmcm9tICcuLi8uLi91dGlscy9GaW5kUmFuZ2VzJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdIaWdobGlnaHQnLFxuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIFRoZSBzdHJpbmcgdG8gZGlzcGxheVxuXHRcdCAqL1xuXHRcdHRleHQ6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogVGhlIHN0cmluZyB0byBtYXRjaCBhbmQgaGlnaGxpZ2h0XG5cdFx0ICovXG5cdFx0c2VhcmNoOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIFRoZSByYW5nZXMgdG8gaGlnaGxpZ2h0LCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhlIHNlYXJjaCBwcm9wLlxuXHRcdCAqL1xuXHRcdGhpZ2hsaWdodDoge1xuXHRcdFx0dHlwZTogQXJyYXksXG5cdFx0XHRkZWZhdWx0OiAoKSA9PiBbXSxcblx0XHR9LFxuXHR9LFxuXHRjb21wdXRlZDoge1xuXHRcdC8qKlxuXHRcdCAqIFRoZSBpbmRpY2UgcmFuZ2VzIHdoaWNoIHNob3VsZCBiZSBoaWdobGlnaHRlZC5cblx0XHQgKiBJZiBhbiBhcnJheSB3aXRoIHJhbmdlcyBpcyBwcm92aWRlZCwgd2UgdXNlIGl0LiBPdGhlcndpc2Vcblx0XHQgKiB3ZSBjYWxjdWxhdGUgaXQgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHN1YnN0cmluZyB0byBoaWdobGlnaHQuXG5cdFx0ICpcblx0XHQgKiBAcmV0dXJucyB7QXJyYXl9IFRoZSBhcnJheSBvZiByYW5nZXMgdG8gaGlnaGxpZ2h0XG5cdFx0ICovXG5cdFx0cmFuZ2VzKCkge1xuXHRcdFx0bGV0IHJhbmdlcyA9IFtdXG5cdFx0XHQvLyBJZiB0aGUgc2VhcmNoIHRlcm0gYW5kIHRoZSBoaWdobGlnaHQgYXJyYXkgaXMgZW1wdHksIHJldHVybiBlYXJseSB3aXRoIGVtcHR5IGFycmF5XG5cdFx0XHRpZiAoIXRoaXMuc2VhcmNoICYmIHRoaXMuaGlnaGxpZ2h0Lmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRyZXR1cm4gcmFuZ2VzXG5cdFx0XHR9XG5cblx0XHRcdC8vIElmIHRoZXJlIGFyZSByYW5nZXMgdG8gaGlnaGxpZ2h0IHByb3ZpZGVkLCB3ZSB1c2UgdGhpcyBhcnJheS5cblx0XHRcdGlmICh0aGlzLmhpZ2hsaWdodC5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdHJhbmdlcyA9IHRoaXMuaGlnaGxpZ2h0XG5cdFx0XHQvLyBPdGhlcndpc2Ugd2UgY2hlY2sgdGhlIHRleHQgdG8gaGlnaGxpZ2h0IGZvciBtYXRjaGVzIG9mIHRoZSBzZWFyY2ggdGVybS5cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJhbmdlcyA9IEZpbmRSYW5nZXModGhpcy50ZXh0LCB0aGlzLnNlYXJjaClcblx0XHRcdH1cblxuXHRcdFx0LyoqXG5cdFx0XHQgKiBWYWxpZGF0ZSB0aGUgcmFuZ2VzIGFycmF5IHRvIGJlIHdpdGhpbiB0aGUgc3RyaW5nIGxlbmd0aFxuXHRcdFx0ICogYW5kIGRpc2NhcmQgcmFuZ2VzIHdoaWNoIGFyZSBjb21wbGV0ZWx5IG91dCBvZiBib25kcy5cblx0XHRcdCAqL1xuXHRcdFx0cmV0dXJuIHJhbmdlcy5yZWR1Y2UoKHZhbGlkUmFuZ2VzLCByYW5nZSkgPT4ge1xuXHRcdFx0XHRpZiAocmFuZ2Uuc3RhcnQgPCB0aGlzLnRleHQubGVuZ3RoICYmIHJhbmdlLmVuZCA+IDApIHtcblx0XHRcdFx0XHR2YWxpZFJhbmdlcy5wdXNoKHtcblx0XHRcdFx0XHRcdHN0YXJ0OiAocmFuZ2Uuc3RhcnQgPCAwKSA/IDAgOiByYW5nZS5zdGFydCxcblx0XHRcdFx0XHRcdGVuZDogKHJhbmdlLmVuZCA+IHRoaXMudGV4dC5sZW5ndGgpID8gdGhpcy50ZXh0Lmxlbmd0aCA6IHJhbmdlLmVuZCxcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB2YWxpZFJhbmdlc1xuXHRcdFx0fSwgW10pXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBDYWxjdWxhdGUgdGhlIGRpZmZlcmVudCBjaHVua3MgdG8gc2hvdyBiYXNlZCBvbiB0aGUgcmFuZ2VzIHRvIGhpZ2hsaWdodC5cblx0XHQgKlxuXHRcdCAqIEByZXR1cm5zIHtBcnJheX0gVGhlIGNodW5rc1xuXHRcdCAqL1xuXHRcdGNodW5rcygpIHtcblx0XHRcdC8vIElmIHRoZSByYW5nZXMgYXJyYXkgaXMgZW1wdHksIHNob3cgb25seSBvbmUgY2h1bmsgd2l0aCBhbGwgdGV4dFxuXHRcdFx0aWYgKHRoaXMucmFuZ2VzLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRyZXR1cm4gW3tcblx0XHRcdFx0XHRzdGFydDogMCxcblx0XHRcdFx0XHRlbmQ6IHRoaXMudGV4dC5sZW5ndGgsXG5cdFx0XHRcdFx0aGlnaGxpZ2h0OiBmYWxzZSxcblx0XHRcdFx0XHR0ZXh0OiB0aGlzLnRleHQsXG5cdFx0XHRcdH1dXG5cdFx0XHR9XG5cdFx0XHQvLyBDYWxjdWxhdGUgdGhlIGNodW5rc1xuXHRcdFx0Y29uc3QgY2h1bmtzID0gW11cblx0XHRcdGxldCBjdXJyZW50SW5kZXggPSAwXG5cdFx0XHRsZXQgY3VycmVudFJhbmdlID0gMFxuXHRcdFx0Ly8gSXRlcmF0ZSBvdmVyIGFsbCBjaGFyYWN0ZXJzIGluIHRoZSB0ZXh0XG5cdFx0XHR3aGlsZSAoY3VycmVudEluZGV4IDwgdGhpcy50ZXh0Lmxlbmd0aCkge1xuXHRcdFx0XHQvLyBHZXQgdGhlIGZpcnN0IHJhbmdlIHRvIGhpZ2hsaWdodFxuXHRcdFx0XHRjb25zdCByYW5nZSA9IHRoaXMucmFuZ2VzW2N1cnJlbnRSYW5nZV1cblx0XHRcdFx0Ly8gSWYgdGhlIHJhbmdlIHN0YXJ0cyBhdCB0aGUgY3VycmVudCBpbmRleCwgY29uc3RydWN0IGEgY2h1bmsgdG8gaGlnaGxpZ2h0LFxuXHRcdFx0XHQvLyBzZXQgdGhlIG5leHQgcmFuZ2UgYW5kIGNvbnRpbnVlIHdpdGggdGhlIG5leHQgaXRlcmF0aW9uLlxuXHRcdFx0XHRpZiAocmFuZ2Uuc3RhcnQgPT09IGN1cnJlbnRJbmRleCkge1xuXHRcdFx0XHRcdGNodW5rcy5wdXNoKHtcblx0XHRcdFx0XHRcdC4uLnJhbmdlLFxuXHRcdFx0XHRcdFx0aGlnaGxpZ2h0OiB0cnVlLFxuXHRcdFx0XHRcdFx0dGV4dDogdGhpcy50ZXh0LnN1YnN0cihyYW5nZS5zdGFydCwgcmFuZ2UuZW5kIC0gcmFuZ2Uuc3RhcnQpLFxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0Y3VycmVudFJhbmdlKytcblx0XHRcdFx0XHRjdXJyZW50SW5kZXggPSByYW5nZS5lbmRcblx0XHRcdFx0XHQvLyBJZiB0aGlzIHdhcyB0aGUgbGFzdCByYW5nZSB0byBoaWdobGlnaHQgYW5kIHdlIGhhdmVuJ3QgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSB0ZXh0LFxuXHRcdFx0XHRcdC8vIGFkZCB0aGUgcmVzdCBvZiB0aGUgdGV4dCB3aXRob3V0IGhpZ2hsaWdodGluZy5cblx0XHRcdFx0XHRpZiAoY3VycmVudFJhbmdlID49IHRoaXMucmFuZ2VzLmxlbmd0aCAmJiBjdXJyZW50SW5kZXggPCB0aGlzLnRleHQubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRjaHVua3MucHVzaCh7XG5cdFx0XHRcdFx0XHRcdHN0YXJ0OiBjdXJyZW50SW5kZXgsXG5cdFx0XHRcdFx0XHRcdGVuZDogdGhpcy50ZXh0Lmxlbmd0aCxcblx0XHRcdFx0XHRcdFx0aGlnaGxpZ2h0OiBmYWxzZSxcblx0XHRcdFx0XHRcdFx0dGV4dDogdGhpcy50ZXh0LnN1YnN0cihjdXJyZW50SW5kZXgsIHRoaXMudGV4dC5sZW5ndGggLSBjdXJyZW50SW5kZXgpLFxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdC8vIFNldCB0aGUgY3VycmVudCBpbmRleCBzbyB0aGUgd2hpbGUgbG9vcCBlbmRzLlxuXHRcdFx0XHRcdFx0Y3VycmVudEluZGV4ID0gdGhpcy50ZXh0Lmxlbmd0aFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRjb250aW51ZVxuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIElmIHRoZSBjdXJyZW50IHJhbmdlIGRvZXMgc3RhcnQgYWZ0ZXIgdGhlIGN1cnJlbnQgaW5kZXgsIGNvbnN0cnVjdCBhIGNodW5rIHdpdGhvdXRcblx0XHRcdFx0Ly8gaGlnaGxpZ2h0aW5nIGFuZCBzZXQgdGhlIGN1cnJlbnQgaW5kZXggdG8gdGhlIHN0YXJ0IG9mIHRoZSBjdXJyZW50IHJhbmdlLlxuXHRcdFx0XHRjaHVua3MucHVzaCh7XG5cdFx0XHRcdFx0c3RhcnQ6IGN1cnJlbnRJbmRleCxcblx0XHRcdFx0XHRlbmQ6IHJhbmdlLnN0YXJ0LFxuXHRcdFx0XHRcdGhpZ2hsaWdodDogZmFsc2UsXG5cdFx0XHRcdFx0dGV4dDogdGhpcy50ZXh0LnN1YnN0cihjdXJyZW50SW5kZXgsIHJhbmdlLnN0YXJ0IC0gY3VycmVudEluZGV4KSxcblx0XHRcdFx0fSlcblx0XHRcdFx0Y3VycmVudEluZGV4ID0gcmFuZ2Uuc3RhcnRcblx0XHRcdH1cblx0XHRcdHJldHVybiBjaHVua3Ncblx0XHR9LFxuXHR9LFxuXHQvKipcblx0ICogVGhlIHJlbmRlciBmdW5jdGlvbiB0byBkaXNwbGF5IHRoZSBjb21wb25lbnRcblx0ICpcblx0ICogQHBhcmFtIHtGdW5jdGlvbn0gY3JlYXRlRWxlbWVudCBUaGUgZnVuY3Rpb24gdG8gY3JlYXRlIFZOb2Rlc1xuXHQgKiBAcmV0dXJucyB7Vk5vZGVzfSBUaGUgY3JlYXRlZCBWTm9kZXNcblx0ICovXG5cdHJlbmRlcihjcmVhdGVFbGVtZW50KSB7XG5cdFx0aWYgKCF0aGlzLnJhbmdlcy5sZW5ndGgpIHtcblx0XHRcdHJldHVybiBjcmVhdGVFbGVtZW50KCdzcGFuJywge30sIHRoaXMudGV4dClcblx0XHR9XG5cblx0XHRyZXR1cm4gY3JlYXRlRWxlbWVudCgnc3BhbicsIHt9LCB0aGlzLmNodW5rcy5tYXAoY2h1bmsgPT4ge1xuXHRcdFx0cmV0dXJuIGNodW5rLmhpZ2hsaWdodCA/IGNyZWF0ZUVsZW1lbnQoJ3N0cm9uZycsIHt9LCBjaHVuay50ZXh0KSA6IGNodW5rLnRleHRcblx0XHR9KSlcblx0fSxcbn1cbjwvc2NyaXB0PlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuPGRvY3M+XG4jIyBUaGlzIGlzIHVzZWQgdG8gZGlzcGxheSBhIGF2YXRhci10aXRsZS9zdWJ0aXRsZSArIGljb24gbGF5b3V0XG5JdCBtaWdodCBiZSB1c2VkIGZvciBsaXN0IHJlbmRlcmluZyBvciB3aXRoaW4gdGhlIG11bHRpc2VsZWN0IGZvciBleGFtcGxlXG5cbj4gKipOb3RlOioqIEFueSBiaW5kaW5nIHdpbGwgYmUgZm9yd2FyZGVkIG9uIHRoZSBBdmF0YXIgY29tcG9uZW50IHJvb3RcblxuYGBgdnVlXG48TGlzdEl0ZW1JY29uIHRpdGxlPVwiVXNlciAxXCIgLz5cbjxMaXN0SXRlbUljb24gdGl0bGU9XCJVc2VyIDFcIiBzdWJ0aXRsZT1cIkhpZGRlbiBzdWJ0aXRsZSBiZWNhdXNlIHNpemUgaXMgdG9vIHNtYWxsXCIgOmF2YXRhci1zaXplPVwiMjRcIiAvPlxuYGBgXG5gYGB2dWVcbjxMaXN0SXRlbUljb24gdGl0bGU9XCJVc2VyIDFcIiA6YXZhdGFyLXNpemU9XCI0NFwiIGljb249XCJpY29uLXVzZXJcIiAvPlxuYGBgXG5cbiMjIyBXaXRoIGljb25cbmBgYHZ1ZVxuPExpc3RJdGVtSWNvbiB0aXRsZT1cIkdyb3VwIDFcIiBzdWJ0aXRsZT1cIjEzIG1lbWJlcnNcIiBpY29uPVwiaWNvbi1ncm91cFwiIDppcy1uby11c2VyPVwidHJ1ZVwiIC8+XG5gYGBcblxuIyMjIFNlYXJjaGluZ1xuYGBgdnVlXG48TGlzdEl0ZW1JY29uIHRpdGxlPVwiVGVzdCB1c2VyIDFcIiBzdWJ0aXRsZT1cImNhbGxtZXRlc3RAZG9tYWluLmNvbVwiIHNlYXJjaD1cInRlc3RcIiAvPlxuPExpc3RJdGVtSWNvbiB0aXRsZT1cIlRlc3RpbmcgYWRtaW5cIiBzdWJ0aXRsZT1cInRlc3RtZUBleGFtcGxlLmNvbVwiIHNlYXJjaD1cInRlc3RcIiAvPlxuPExpc3RJdGVtSWNvbiB0aXRsZT1cIlRlc3QgZ3JvdXAgMlwiIHN1YnRpdGxlPVwibG9yZW1pcHN1bUBkb21haW4uY29tXCIgaWNvbj1cImljb24tZ3JvdXBcIiA6aXMtbm8tdXNlcj1cInRydWVcIiBzZWFyY2g9XCJ0ZXN0XCIgLz5cbmBgYFxuXG4jIyMgV2l0aCBhY3Rpb25zXG5gYGB2dWVcbjxMaXN0SXRlbUljb24gdGl0bGU9XCJUZXN0IHVzZXIgMVwiIHN1YnRpdGxlPVwiY2FsbG1ldGVzdEBkb21haW4uY29tXCI+XG5cdDxBY3Rpb25zPlxuXHRcdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tZWRpdFwiIEBjbGljaz1cImFsZXJ0KCdFZGl0JylcIj5FZGl0PC9BY3Rpb25CdXR0b24+XG5cdFx0PEFjdGlvbkJ1dHRvbiBpY29uPVwiaWNvbi1kZWxldGVcIiBAY2xpY2s9XCJhbGVydCgnRGVsZXRlJylcIj5EZWxldGU8L0FjdGlvbkJ1dHRvbj5cblx0PC9BY3Rpb25zPlxuPC9MaXN0SXRlbUljb24+XG5gYGBcbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8c3BhbiA6aWQ9XCJpZFwiXG5cdFx0Y2xhc3M9XCJvcHRpb25cIlxuXHRcdDpzdHlsZT1cImNzc1ZhcnNcIlxuXHRcdHYtb249XCIkbGlzdGVuZXJzXCI+XG5cdFx0PEF2YXRhclxuXHRcdFx0di1iaW5kPVwiJGF0dHJzXCJcblx0XHRcdDpkaXNhYmxlLW1lbnU9XCJ0cnVlXCJcblx0XHRcdDpkaXNhYmxlLXRvb2x0aXA9XCJ0cnVlXCJcblx0XHRcdDpkaXNwbGF5LW5hbWU9XCJkaXNwbGF5TmFtZSB8fCB0aXRsZVwiXG5cdFx0XHQ6aXMtbm8tdXNlcj1cImlzTm9Vc2VyXCJcblx0XHRcdDpzaXplPVwiYXZhdGFyU2l6ZVwiXG5cdFx0XHRjbGFzcz1cIm9wdGlvbl9fYXZhdGFyXCIgLz5cblx0XHQ8ZGl2IGNsYXNzPVwib3B0aW9uX19kZXRhaWxzXCI+XG5cdFx0XHQ8SGlnaGxpZ2h0XG5cdFx0XHRcdGNsYXNzPVwib3B0aW9uX19saW5lb25lXCJcblx0XHRcdFx0OnRleHQ9XCJ0aXRsZVwiXG5cdFx0XHRcdDpzZWFyY2g9XCJzZWFyY2hcIiAvPlxuXHRcdFx0PEhpZ2hsaWdodFxuXHRcdFx0XHR2LWlmPVwiaXNWYWxpZFN1YnRpdGxlICYmIGlzU2l6ZUJpZ0Vub3VnaFwiXG5cdFx0XHRcdGNsYXNzPVwib3B0aW9uX19saW5ldHdvXCJcblx0XHRcdFx0OnRleHQ9XCJzdWJ0aXRsZVwiXG5cdFx0XHRcdDpzZWFyY2g9XCJzZWFyY2hcIiAvPlxuXHRcdFx0PHNwYW4gdi1lbHNlLWlmPVwiaGFzU3RhdHVzXCI+XG5cdFx0XHRcdDxzcGFuPnt7IHVzZXJTdGF0dXMuaWNvbiB9fTwvc3Bhbj5cblx0XHRcdFx0PHNwYW4+e3sgdXNlclN0YXR1cy5tZXNzYWdlIH19PC9zcGFuPlxuXHRcdFx0PC9zcGFuPlxuXHRcdDwvZGl2PlxuXG5cdFx0PCEtLSBAc2xvdCB1c2UgdGhpcyBzbG90IHRvIGFkZCBhIGN1c3RvbSBpY29uIG9yIGFjdGlvbnMgLS0+XG5cdFx0PHNsb3QgLz5cblx0XHQ8c3BhbiB2LWlmPVwiaGFzSWNvbiAmJiAhaGFzU2xvdFwiIGNsYXNzPVwiaWNvbiBvcHRpb25fX2ljb25cIiA6Y2xhc3M9XCJpY29uXCIgLz5cblx0PC9zcGFuPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBBdmF0YXIgZnJvbSAnLi4vQXZhdGFyJ1xuaW1wb3J0IEhpZ2hsaWdodCBmcm9tICcuLi9IaWdobGlnaHQnXG5pbXBvcnQgeyB1c2VyU3RhdHVzIH0gZnJvbSAnLi4vLi4vbWl4aW5zJ1xuXG4vLyBnbG9iYWwgbWFyZ2luLCBeMiByYXRpb1xuY29uc3QgbWFyZ2luID0gOFxuY29uc3QgZGVmYXVsdFNpemUgPSAzMlxuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdMaXN0SXRlbUljb24nLFxuXG5cdGNvbXBvbmVudHM6IHtcblx0XHRBdmF0YXIsXG5cdFx0SGlnaGxpZ2h0LFxuXHR9LFxuXHRtaXhpbnM6IFt1c2VyU3RhdHVzXSxcblxuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIERlZmF1bHQgZmlyc3QgbGluZSB0ZXh0XG5cdFx0ICovXG5cdFx0dGl0bGU6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBTZWNvbmRhcnkgb3B0aW9uYWwgbGluZVxuXHRcdCAqIE9ubHkgdmlzaWJsZSBvbiBzaXplIG9mIDMyIGFuZCBhYm92ZVxuXHRcdCAqL1xuXHRcdHN1YnRpdGxlOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogSWNvbiBjbGFzcyB0byBiZSBkaXNwbGF5ZWQgYXQgdGhlIGVuZCBvZiB0aGUgY29tcG9uZW50XG5cdFx0ICovXG5cdFx0aWNvbjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIFNlYXJjaCB3aXRoaW4gdGhlIGhpZ2hsaWdodCBvZiB0aXRsZS9zdWJ0aXRsZVxuXHRcdCAqL1xuXHRcdHNlYXJjaDoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIFNldCBhIHNpemUgaW4gcHggdGhhdCB3aWxsIGRlZmluZSB0aGUgYXZhdGFyIGhlaWdodC93aWR0aFxuXHRcdCAqIGFuZCB0aGVyZWZvcmUsIHRoZSBoZWlnaHQgb2YgdGhlIGNvbXBvbmVudFxuXHRcdCAqL1xuXHRcdGF2YXRhclNpemU6IHtcblx0XHRcdHR5cGU6IE51bWJlcixcblx0XHRcdGRlZmF1bHQ6IGRlZmF1bHRTaXplLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBEaXNhYmxlIHRoZSBtYXJnaW5zIG9mIHRoaXMgY29tcG9uZW50LlxuXHRcdCAqIFVzZWZ1bCBmb3IgaW50ZWdyYXRpb24gaW4gTXVsdGlzZWxlY3QgZm9yIGV4YW1wbGVcblx0XHQgKi9cblx0XHRub01hcmdpbjoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBTZWUgdGhlIFtBdmF0YXJdKCNBdmF0YXIpIGRpc3BsYXlOYW1lIHByb3Bcblx0XHQgKiBGYWxsYmFjayB0byB0aXRsZVxuXHRcdCAqL1xuXHRcdGRpc3BsYXlOYW1lOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiBudWxsLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogU2VlIHRoZSBbQXZhdGFyXSgjQXZhdGFyKSBpc05vVXNlciBwcm9wXG5cdFx0ICogRW5hYmxlL2Rpc2FibGUgdGhlIFVzZXJTdGF0dXMgZmV0Y2hpbmdcblx0XHQgKi9cblx0XHRpc05vVXNlcjoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBVbmlxdWUgbGlzdCBpdGVtIElEXG5cdFx0ICovXG5cdFx0aWQ6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6IG51bGwsXG5cdFx0fSxcblx0fSxcblxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRtYXJnaW4sXG5cdFx0fVxuXHR9LFxuXG5cdGNvbXB1dGVkOiB7XG5cdFx0aGFzSWNvbigpIHtcblx0XHRcdHJldHVybiB0aGlzLmljb24gIT09ICcnXG5cdFx0fSxcblx0XHRoYXNTbG90KCkge1xuXHRcdFx0cmV0dXJuICEhdGhpcy4kc2xvdHMuZGVmYXVsdFxuXHRcdH0sXG5cblx0XHRpc1ZhbGlkU3VidGl0bGUoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5zdWJ0aXRsZT8udHJpbT8uKCkgIT09ICcnXG5cdFx0fSxcblx0XHRpc1NpemVCaWdFbm91Z2goKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5hdmF0YXJTaXplID49IGRlZmF1bHRTaXplXG5cdFx0fSxcblxuXHRcdGNzc1ZhcnMoKSB7XG5cdFx0XHQvLyBEb24ndCB1c2UgbWFyZ2luIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0IGlmIG5vTWFyZ2luXG5cdFx0XHRjb25zdCBtYXJnaW4gPSB0aGlzLm5vTWFyZ2luID8gMCA6IHRoaXMubWFyZ2luXG5cblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdCctLWhlaWdodCc6IHRoaXMuYXZhdGFyU2l6ZSArIDIgKiBtYXJnaW4gKyAncHgnLFxuXHRcdFx0XHQnLS1tYXJnaW4nOiB0aGlzLm1hcmdpbiArICdweCcsXG5cdFx0XHR9XG5cdFx0fSxcblx0fSxcblxuXHRiZWZvcmVNb3VudCgpIHtcblx0XHQvLyBJZiB3ZSBkb24ndCBoYXZlIGEgc3VidGl0bGUgYW5kIGlmIHRoaXMgaXMgYSB1c2VyXG5cdFx0aWYgKCF0aGlzLmlzTm9Vc2VyICYmICF0aGlzLnN1YnRpdGxlKSB7XG5cdFx0XHR0aGlzLmZldGNoVXNlclN0YXR1cyh0aGlzLnVzZXIpXG5cdFx0fVxuXHR9LFxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbi5vcHRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiB2YXIoLS1oZWlnaHQpO1xuXG5cdCZfX2F2YXRhciB7XG5cdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1tYXJnaW4pO1xuXHR9XG5cblx0Jl9fZGV0YWlscyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4OiAxIDE7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRtaW4td2lkdGg6IDA7XG5cdH1cblxuXHQmX19saW5lb25lIHtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7XG5cdH1cblx0Jl9fbGluZXR3byB7XG5cdFx0b3BhY2l0eTogJG9wYWNpdHlfbm9ybWFsO1xuXHR9XG5cdCZfX2xpbmVvbmUsXG5cdCZfX2xpbmV0d28ge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRsaW5lLWhlaWdodDogMS4xZW07XG5cdFx0c3Ryb25nIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdH1cblx0fVxuXG5cdCZfX2ljb24ge1xuXHRcdGZsZXg6IDAgMCAkY2xpY2thYmxlLWFyZWE7XG5cdFx0d2lkdGg6ICRjbGlja2FibGUtYXJlYTtcblx0XHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcblx0XHRvcGFjaXR5OiAkb3BhY2l0eV9kaXNhYmxlZDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAxNnB4O1xuXHR9XG59XG5cbjwvc3R5bGU+XG4iLCI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjxkb2NzPlxuXG5gYGB2dWVcbjx0ZW1wbGF0ZT5cblx0PGRpdj5cblx0XHQ8YnV0dG9uIEBjbGljaz1cInNob3dNb2RhbFwiPlNob3cgTW9kYWw8L2J1dHRvbj5cblx0XHQ8bW9kYWwgdi1pZj1cIm1vZGFsXCIgQGNsb3NlPVwiY2xvc2VNb2RhbFwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cIm1vZGFsX19jb250ZW50XCI+SGVsbG8gd29ybGQ8L2Rpdj5cblx0XHQ8L21vZGFsPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG48c3R5bGUgc2NvcGVkPlxuXHQubW9kYWxfX2NvbnRlbnQge1xuXHRcdHdpZHRoOiA1MHZ3O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW46IDEwdncgMDtcblx0fVxuPC9zdHlsZT5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdG1vZGFsOiBmYWxzZVxuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdHNob3dNb2RhbCgpIHtcblx0XHRcdHRoaXMubW9kYWwgPSB0cnVlXG5cdFx0fSxcblx0XHRjbG9zZU1vZGFsKCkge1xuXHRcdFx0dGhpcy5tb2RhbCA9IGZhbHNlXG5cdFx0fVxuXHR9XG59XG48L3NjcmlwdD5cbmBgYFxuXG48L2RvY3M+XG48dGVtcGxhdGU+XG5cdDx0cmFuc2l0aW9uIG5hbWU9XCJmYWRlXCI+XG5cdFx0PGRpdiByZWY9XCJtYXNrXCJcblx0XHRcdGNsYXNzPVwibW9kYWwtbWFza1wiXG5cdFx0XHQ6Y2xhc3M9XCJ7ICdtb2RhbC1tYXNrLS1kYXJrJzogZGFyayB9XCJcblx0XHRcdEBjbGljaz1cImhhbmRsZU1vdXNlTW92ZVwiXG5cdFx0XHRAbW91c2Vtb3ZlPVwiaGFuZGxlTW91c2VNb3ZlXCJcblx0XHRcdEB0b3VjaG1vdmU9XCJoYW5kbGVNb3VzZU1vdmVcIj5cblx0XHRcdDwhLS0gSGVhZGVyIC0tPlxuXHRcdFx0PHRyYW5zaXRpb24gbmFtZT1cImZhZGUtdmlzaWJpbGl0eVwiPlxuXHRcdFx0XHQ8ZGl2IHYtc2hvdz1cIiFjbGVhclZpZXdcIlxuXHRcdFx0XHRcdDpjbGFzcz1cIntcblx0XHRcdFx0XHRcdGludmlzaWJsZTogY2xlYXJWaWV3XG5cdFx0XHRcdFx0fVwiXG5cdFx0XHRcdFx0Y2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cblx0XHRcdFx0XHQ8ZGl2IHYtaWY9XCJ0aXRsZS50cmltKCkgIT09ICcnXCIgY2xhc3M9XCJtb2RhbC10aXRsZVwiPlxuXHRcdFx0XHRcdFx0e3sgdGl0bGUgfX1cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaWNvbnMtbWVudVwiPlxuXHRcdFx0XHRcdFx0PCEtLSBQbGF5LXBhdXNlIHRvZ2dsZSAtLT5cblx0XHRcdFx0XHRcdDxidXR0b24gdi1pZj1cImhhc05leHQgJiYgZW5hYmxlU2xpZGVzaG93XCJcblx0XHRcdFx0XHRcdFx0di10b29sdGlwLmF1dG89XCJwbGF5UGF1c2VUaXRsZVwiXG5cdFx0XHRcdFx0XHRcdDpjbGFzcz1cInsgJ3BsYXktcGF1c2UtLXBhdXNlZCc6IHNsaWRlc2hvd1BhdXNlZCB9XCJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJwbGF5LXBhdXNlXCJcblx0XHRcdFx0XHRcdFx0QGNsaWNrPVwidG9nZ2xlUGxheVBhdXNlXCI+XG5cdFx0XHRcdFx0XHRcdDwhLS0gUHJvZ3Jlc3MgY2lyY2xlLCBjc3MgYW5pbWF0ZWQgLS0+XG5cdFx0XHRcdFx0XHRcdDxkaXYgOmNsYXNzPVwiW3BsYXlpbmcgPyAnaWNvbi1wYXVzZScgOiAnaWNvbi1wbGF5J11cIj5cblx0XHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImhpZGRlbi12aXN1YWxseVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0e3sgcGxheVBhdXNlVGl0bGUgfX1cblx0XHRcdFx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxuXG5cdFx0XHRcdFx0XHRcdDwhLS0gUHJvZ3Jlc3MgY2lyY2xlLCBjc3MgYW5pbWF0ZWQgLS0+XG5cdFx0XHRcdFx0XHRcdDxzdmcgdi1pZj1cInBsYXlpbmdcIlxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwicHJvZ3Jlc3MtcmluZ1wiXG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0PVwiNTBcIlxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoPVwiNTBcIj5cblx0XHRcdFx0XHRcdFx0XHQ8Y2lyY2xlIGNsYXNzPVwicHJvZ3Jlc3MtcmluZ19fY2lyY2xlXCJcblx0XHRcdFx0XHRcdFx0XHRcdHN0cm9rZT1cIndoaXRlXCJcblx0XHRcdFx0XHRcdFx0XHRcdHN0cm9rZS13aWR0aD1cIjJcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZmlsbD1cInRyYW5zcGFyZW50XCJcblx0XHRcdFx0XHRcdFx0XHRcdHI9XCIxNVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRjeD1cIjI1XCJcblx0XHRcdFx0XHRcdFx0XHRcdGN5PVwiMjVcIiAvPlxuXHRcdFx0XHRcdFx0XHQ8L3N2Zz5cblx0XHRcdFx0XHRcdDwvYnV0dG9uPlxuXG5cdFx0XHRcdFx0XHQ8IS0tIEFjdGlvbnMgbWVudSAtLT5cblx0XHRcdFx0XHRcdDxBY3Rpb25zIGNsYXNzPVwiaGVhZGVyLWFjdGlvbnNcIj5cblx0XHRcdFx0XHRcdFx0PCEtLSBAc2xvdCBMaXN0IG9mIGFjdGlvbnMgdG8gc2hvdyAtLT5cblx0XHRcdFx0XHRcdFx0PHNsb3QgbmFtZT1cImFjdGlvbnNcIiAvPlxuXHRcdFx0XHRcdFx0PC9BY3Rpb25zPlxuXG5cdFx0XHRcdFx0XHQ8IS0tIENsb3NlIG1vZGFsIC0tPlxuXHRcdFx0XHRcdFx0PEFjdGlvbnMgdi1pZj1cImNhbkNsb3NlXCIgY2xhc3M9XCJoZWFkZXItY2xvc2VcIj5cblx0XHRcdFx0XHRcdFx0PEFjdGlvbkJ1dHRvbiBpY29uPVwiaWNvbi1jbG9zZVwiIEBjbGljaz1cImNsb3NlXCI+XG5cdFx0XHRcdFx0XHRcdFx0e3sgdCgnQ2xvc2UnKSB9fVxuXHRcdFx0XHRcdFx0XHQ8L0FjdGlvbkJ1dHRvbj5cblx0XHRcdFx0XHRcdDwvQWN0aW9ucz5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L3RyYW5zaXRpb24+XG5cblx0XHRcdDwhLS0gQ29udGVudCB3cmFwcGVyIC0tPlxuXHRcdFx0PHRyYW5zaXRpb24gOm5hbWU9XCJtb2RhbFRyYW5zaXRpb25OYW1lXCI+XG5cdFx0XHRcdDxkaXZcblx0XHRcdFx0XHR2LXNob3c9XCJzaG93TW9kYWxcIlxuXHRcdFx0XHRcdDpjbGFzcz1cIltcblx0XHRcdFx0XHRcdGBtb2RhbC13cmFwcGVyLS0ke3NpemV9YCxcblx0XHRcdFx0XHRcdHNwcmVhZE5hdmlnYXRpb24gPyAnbW9kYWwtd3JhcHBlci0tc3ByZWFkLW5hdmlnYXRpb24nIDogJydcblx0XHRcdFx0XHRdXCJcblx0XHRcdFx0XHRjbGFzcz1cIm1vZGFsLXdyYXBwZXJcIlxuXHRcdFx0XHRcdEBtb3VzZWRvd24uc2VsZj1cImNsb3NlXCI+XG5cdFx0XHRcdFx0PCEtLSBOYXZpZ2F0aW9uIGJ1dHRvbiAtLT5cblx0XHRcdFx0XHQ8dHJhbnNpdGlvbiBuYW1lPVwiZmFkZS12aXNpYmlsaXR5XCI+XG5cdFx0XHRcdFx0XHQ8YSB2LXNob3c9XCJoYXNQcmV2aW91cyAmJiAhY2xlYXJWaWV3XCJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJwcmV2XCJcblx0XHRcdFx0XHRcdFx0OmNsYXNzPVwie1xuXHRcdFx0XHRcdFx0XHRcdGludmlzaWJsZTogY2xlYXJWaWV3IHx8ICFoYXNQcmV2aW91c1xuXHRcdFx0XHRcdFx0XHR9XCJcblx0XHRcdFx0XHRcdFx0QGNsaWNrPVwicHJldmlvdXNcIj5cblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImljb24gaWNvbi1wcmV2aW91c1wiPlxuXHRcdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiaGlkZGVuLXZpc3VhbGx5XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHR7eyB0KCdQcmV2aW91cycpIH19XG5cdFx0XHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDwvYT5cblx0XHRcdFx0XHQ8L3RyYW5zaXRpb24+XG5cblx0XHRcdFx0XHQ8IS0tIENvbnRlbnQgLS0+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRhaW5lclwiPlxuXHRcdFx0XHRcdFx0PCEtLSBAc2xvdCBNb2RhbCBjb250ZW50IHRvIHJlbmRlciAtLT5cblx0XHRcdFx0XHRcdDxzbG90IC8+XG5cdFx0XHRcdFx0PC9kaXY+XG5cblx0XHRcdFx0XHQ8IS0tIE5hdmlnYXRpb24gYnV0dG9uIC0tPlxuXHRcdFx0XHRcdDx0cmFuc2l0aW9uIG5hbWU9XCJmYWRlLXZpc2liaWxpdHlcIj5cblx0XHRcdFx0XHRcdDxhIHYtc2hvdz1cImhhc05leHQgJiYgIWNsZWFyVmlld1wiXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwibmV4dFwiXG5cdFx0XHRcdFx0XHRcdDpjbGFzcz1cIntcblx0XHRcdFx0XHRcdFx0XHRpbnZpc2libGU6IGNsZWFyVmlldyB8fCAhaGFzTmV4dFxuXHRcdFx0XHRcdFx0XHR9XCJcblx0XHRcdFx0XHRcdFx0QGNsaWNrPVwibmV4dFwiPlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaWNvbiBpY29uLW5leHRcIj5cblx0XHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImhpZGRlbi12aXN1YWxseVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0e3sgdCgnTmV4dCcpIH19XG5cdFx0XHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDwvYT5cblx0XHRcdFx0XHQ8L3RyYW5zaXRpb24+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC90cmFuc2l0aW9uPlxuXHRcdDwvZGl2PlxuXHQ8L3RyYW5zaXRpb24+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IEhhbW1lciBmcm9tICdoYW1tZXJqcydcbmltcG9ydCBBY3Rpb25zIGZyb20gJy4uL0FjdGlvbnMnXG5pbXBvcnQgQWN0aW9uQnV0dG9uIGZyb20gJy4uL0FjdGlvbkJ1dHRvbidcbmltcG9ydCBsMTBuIGZyb20gJy4uLy4uL21peGlucy9sMTBuJ1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uLy4uL2wxMG4nXG5pbXBvcnQgVG9vbHRpcCBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL1Rvb2x0aXAnXG5pbXBvcnQgVGltZXIgZnJvbSAnLi4vLi4vdXRpbHMvVGltZXInXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ01vZGFsJyxcblxuXHRjb21wb25lbnRzOiB7XG5cdFx0QWN0aW9ucyxcblx0XHRBY3Rpb25CdXR0b24sXG5cdH0sXG5cblx0ZGlyZWN0aXZlczoge1xuXHRcdHRvb2x0aXA6IFRvb2x0aXAsXG5cdH0sXG5cblx0bWl4aW5zOiBbbDEwbl0sXG5cblx0cHJvcHM6IHtcblx0XHQvKipcblx0XHQgKiBUaXRsZSB0byBiZSBzaG93biB3aXRoIHRoZSBtb2RhbFxuXHRcdCAqL1xuXHRcdHRpdGxlOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIERlY2xhcmUgaWYgYSBwcmV2aW91cyBzbGlkZSBpcyBhdmFpbGFibGVcblx0XHQgKi9cblx0XHRoYXNQcmV2aW91czoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogRGVjbGFyZSBpZiBhIG5leHQgc2xpZGUgaXMgYXZhaWxhYmxlXG5cdFx0ICovXG5cdFx0aGFzTmV4dDoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogRGVjbGFyZSBpZiBoaWRpbmcgdGhlIG1vZGFsIHNob3VsZCBiZSBhbmltYXRlZFxuXHRcdCAqL1xuXHRcdG91dFRyYW5zaXRpb246IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIERlY2xhcmUgaWYgdGhlIHNsaWRlc2hvdyBmdW5jdGlvbmFsaXR5IHNob3VsZCBiZSBlbmFibGVkXG5cdFx0ICovXG5cdFx0ZW5hYmxlU2xpZGVzaG93OiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblx0XHRjbGVhclZpZXdEZWxheToge1xuXHRcdFx0dHlwZTogTnVtYmVyLFxuXHRcdFx0ZGVmYXVsdDogNTAwMCxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIERlY2xhcmUgdGhlIHNsaWRlIGludGVydmFsXG5cdFx0ICovXG5cdFx0c2xpZGVzaG93RGVsYXk6IHtcblx0XHRcdHR5cGU6IE51bWJlcixcblx0XHRcdGRlZmF1bHQ6IDMwMDAsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBBbGxvdyB0byBwYXVzZSBhbiBvbmdvaW5nIHNsaWRlc2hvd1xuXHRcdCAqL1xuXHRcdHNsaWRlc2hvd1BhdXNlZDoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogRW5hYmxlIHN3aXBlIGJldHdlZW4gc2xpZGVzXG5cdFx0ICovXG5cdFx0ZW5hYmxlU3dpcGU6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiB0cnVlLFxuXHRcdH0sXG5cdFx0c3ByZWFkTmF2aWdhdGlvbjoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0c2l6ZToge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJ25vcm1hbCcsXG5cdFx0XHR2YWxpZGF0b3I6IHNpemUgPT4ge1xuXHRcdFx0XHRyZXR1cm4gWydub3JtYWwnLCAnbGFyZ2UnLCAnZnVsbCddLmluZGV4T2Yoc2l6ZSkgIT09IC0xXG5cdFx0XHR9LFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogRGVjbGFyZSBpZiB0aGUgbW9kYWwgY2FuIGJlIGNsb3NlZFxuXHRcdCAqL1xuXHRcdGNhbkNsb3NlOiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogdHJ1ZSxcblx0XHR9LFxuXHRcdC8qKiBNYWtlcyB0aGUgbW9kYWwgYmFja2Ryb3AgYmxhY2sgaWYgdHJ1ZSAgKi9cblx0XHRkYXJrOiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIFNlbGVjdG9yIGZvciB0aGUgbW9kYWwgY29udGFpbmVyXG5cdFx0ICovXG5cdFx0Y29udGFpbmVyOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnYm9keScsXG5cdFx0fSxcblx0fSxcblxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRtYzogbnVsbCxcblx0XHRcdHNob3dNb2RhbDogZmFsc2UsXG5cdFx0XHRjbGVhclZpZXc6IGZhbHNlLFxuXHRcdFx0Y2xlYXJWaWV3VGltZW91dDogbnVsbCxcblx0XHRcdHBsYXlpbmc6IGZhbHNlLFxuXHRcdFx0c2xpZGVzaG93VGltZW91dDogbnVsbCxcblx0XHR9XG5cdH0sXG5cblx0Y29tcHV0ZWQ6IHtcblx0XHRtb2RhbFRyYW5zaXRpb25OYW1lKCkge1xuXHRcdFx0cmV0dXJuIGBtb2RhbC0ke3RoaXMub3V0VHJhbnNpdGlvbiA/ICdvdXQnIDogJ2luJ31gXG5cdFx0fSxcblx0XHRwbGF5UGF1c2VUaXRsZSgpIHtcblx0XHRcdHJldHVybiB0aGlzLnBsYXlpbmcgPyB0KCdQYXVzZSBzbGlkZXNob3cnKSA6IHQoJ1N0YXJ0IHNsaWRlc2hvdycpXG5cdFx0fSxcblx0fSxcblxuXHR3YXRjaDoge1xuXHRcdC8qKlxuXHRcdCAqIEhhbmRsZSBwbGF5L3BhdXNlIG9mIGFuIG9uZ29pbmcgc2xpZGVzaG93XG5cdFx0ICogQHBhcmFtIHtib29sZWFufSBwYXVzZWQgaXMgdGhlIHBsYXllciBwYXVzZWRcblx0XHQgKi9cblx0XHRzbGlkZXNob3dQYXVzZWQocGF1c2VkKSB7XG5cdFx0XHRpZiAodGhpcy5zbGlkZXNob3dUaW1lb3V0KSB7XG5cdFx0XHRcdGlmIChwYXVzZWQpIHtcblx0XHRcdFx0XHR0aGlzLnNsaWRlc2hvd1RpbWVvdXQucGF1c2UoKVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMuc2xpZGVzaG93VGltZW91dC5zdGFydCgpXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHR9LFxuXG5cdGJlZm9yZU1vdW50KCkge1xuXHRcdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5oYW5kbGVLZXlkb3duKVxuXHR9LFxuXHRiZWZvcmVEZXN0cm95KCkge1xuXHRcdHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5oYW5kbGVLZXlkb3duKVxuXHRcdHRoaXMubWMub2ZmKCdzd2lwZWxlZnQgc3dpcGVyaWdodCcpXG5cdFx0dGhpcy5tYy5kZXN0cm95KClcblx0fSxcblx0bW91bnRlZCgpIHtcblx0XHR0aGlzLnNob3dNb2RhbCA9IHRydWVcblxuXHRcdC8vIGluaXQgY2xlYXIgdmlld1xuXHRcdHRoaXMuaGFuZGxlTW91c2VNb3ZlKClcblxuXHRcdHRoaXMubWMgPSBuZXcgSGFtbWVyKHRoaXMuJHJlZnMubWFzaylcblx0XHR0aGlzLm1jLm9uKCdzd2lwZWxlZnQgc3dpcGVyaWdodCcsIGUgPT4ge1xuXHRcdFx0dGhpcy5oYW5kbGVTd2lwZShlKVxuXHRcdH0pXG5cblx0XHRpZiAodGhpcy5jb250YWluZXIgPT09ICdib2R5Jykge1xuXHRcdFx0Ly8gZm9yY2UgbW91bnQgdGhlIGNvbXBvbmVudCB0byBib2R5XG5cdFx0XHRkb2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZSh0aGlzLiRlbCwgZG9jdW1lbnQuYm9keS5sYXN0Q2hpbGQpXG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5jb250YWluZXIpXG5cdFx0XHRjb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy4kZWwpXG5cdFx0fVxuXG5cdH0sXG5cdGRlc3Ryb3llZCgpIHtcblx0XHR0aGlzLiRlbC5yZW1vdmUoKVxuXHR9LFxuXG5cdG1ldGhvZHM6IHtcblx0XHQvLyBFdmVudHMgZW1pdHRlcnNcblx0XHRwcmV2aW91cyhkYXRhKSB7XG5cdFx0XHQvLyBkbyBub3Qgc2VuZCB0aGUgZXZlbnQgaWYgbm90aGluZyBpcyBhdmFpbGFibGVcblx0XHRcdGlmICh0aGlzLmhhc1ByZXZpb3VzKSB7XG5cdFx0XHRcdC8vIGlmIGRhdGEgaXMgc2V0LCB0aGVuIGl0J3MgYSB1c2VyIG1vdXNlIGV2ZW50XG5cdFx0XHRcdC8vIGFuZCBub3QgdGhlIHNsaWRlc2hvdyBoYW5kbGVyLCB0aGVyZWZvcmVcblx0XHRcdFx0Ly8gd2UgcmVzZXQgdGhlIHRpbWVyXG5cdFx0XHRcdGlmIChkYXRhKSB7XG5cdFx0XHRcdFx0dGhpcy5yZXNldFNsaWRlc2hvdygpXG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy4kZW1pdCgncHJldmlvdXMnLCBkYXRhKVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0bmV4dChkYXRhKSB7XG5cdFx0XHQvLyBkbyBub3Qgc2VuZCB0aGUgZXZlbnQgaWYgbm90aGluZyBpcyBhdmFpbGFibGVcblx0XHRcdGlmICh0aGlzLmhhc05leHQpIHtcblx0XHRcdFx0Ly8gaWYgZGF0YSBpcyBzZXQsIHRoZW4gaXQncyBhIG1vdXNlIGV2ZW50XG5cdFx0XHRcdC8vIGFuZCBub3QgdGhlIHNsaWRlc2hvdyBoYW5kbGVyLCB0aGVyZWZvcmVcblx0XHRcdFx0Ly8gd2UgcmVzZXQgdGhlIHRpbWVyXG5cdFx0XHRcdGlmIChkYXRhKSB7XG5cdFx0XHRcdFx0dGhpcy5yZXNldFNsaWRlc2hvdygpXG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy4kZW1pdCgnbmV4dCcsIGRhdGEpXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRjbG9zZShkYXRhKSB7XG5cdFx0XHQvLyBkbyBub3QgZmlyZSBldmVudCBpZiBmb3JiaWRkZW5cblx0XHRcdGlmICh0aGlzLmNhbkNsb3NlKSB7XG5cdFx0XHRcdHRoaXMuc2hvd01vZGFsID0gZmFsc2VcblxuXHRcdFx0XHQvLyBkZWxheSBjbG9zaW5nIGZvciBhbmltYXRpb25cblx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdFx0LyoqXG5cdFx0XHRcdFx0ICogRW1pdHRlZCB3aGVuIHRoZSBjbG9zaW5nIGFuaW1hdGlvbiBpcyBmaW5pc2hlZFxuXHRcdFx0XHRcdCAqL1xuXHRcdFx0XHRcdHRoaXMuJGVtaXQoJ2Nsb3NlJywgZGF0YSlcblx0XHRcdFx0fSwgMzAwKVxuXHRcdFx0fVxuXHRcdH0sXG5cblx0XHQvLyBLZXkgSGFuZGxlcnNcblx0XHRoYW5kbGVLZXlkb3duKGUpIHtcblx0XHRcdHN3aXRjaCAoZS5rZXlDb2RlKSB7XG5cdFx0XHRjYXNlIDM3OiAvLyBsZWZ0IGFycm93XG5cdFx0XHRcdHRoaXMucHJldmlvdXMoZSlcblx0XHRcdFx0YnJlYWtcblx0XHRcdGNhc2UgMTM6IC8vIGVudGVyIGtleVxuXHRcdFx0Y2FzZSAzOTogLy8gcmlndGggYXJyb3dcblx0XHRcdFx0dGhpcy5uZXh0KGUpXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHRjYXNlIDI3OiAvLyBlc2NhcGUga2V5XG5cdFx0XHRcdHRoaXMuY2xvc2UoZSlcblx0XHRcdFx0YnJlYWtcblx0XHRcdH1cblx0XHR9LFxuXHRcdGhhbmRsZVN3aXBlKGUpIHtcblx0XHRcdGlmICh0aGlzLmVuYWJsZVN3aXBlKSB7XG5cdFx0XHRcdGlmIChlLnR5cGUgPT09ICdzd2lwZWxlZnQnKSB7XG5cdFx0XHRcdFx0Ly8gc3dpcGluZyB0byBsZWZ0IHRvIGdvIHRvIHRoZSBuZXh0IGl0ZW1cblx0XHRcdFx0XHR0aGlzLm5leHQoZSlcblx0XHRcdFx0fSBlbHNlIGlmIChlLnR5cGUgPT09ICdzd2lwZXJpZ2h0Jykge1xuXHRcdFx0XHRcdC8vIHN3aXBpbmcgdG8gcmlnaHQgdG8gZ28gYmFjayB0byB0aGUgcHJldmlvdXMgaXRlbVxuXHRcdFx0XHRcdHRoaXMucHJldmlvdXMoZSlcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0aGFuZGxlTW91c2VNb3ZlKCkge1xuXHRcdFx0aWYgKHRoaXMuY2xlYXJWaWV3RGVsYXkgPiAwKSB7XG5cdFx0XHRcdHRoaXMuY2xlYXJWaWV3ID0gZmFsc2Vcblx0XHRcdFx0Y2xlYXJUaW1lb3V0KHRoaXMuY2xlYXJWaWV3VGltZW91dClcblx0XHRcdFx0dGhpcy5jbGVhclZpZXdUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5jbGVhclZpZXcgPSB0cnVlXG5cdFx0XHRcdH0sIHRoaXMuY2xlYXJWaWV3RGVsYXkpXG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIFRvZ2dsZSB0aGUgc2xpZGVzaG93IHN0YXRlXG5cdFx0ICovXG5cdFx0dG9nZ2xlUGxheVBhdXNlKCkge1xuXHRcdFx0dGhpcy5wbGF5aW5nID0gIXRoaXMucGxheWluZ1xuXHRcdFx0aWYgKHRoaXMucGxheWluZykge1xuXHRcdFx0XHR0aGlzLmhhbmRsZVNsaWRlc2hvdygpXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLmNsZWFyU2xpZGVzaG93VGltZW91dCgpXG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIFJlc2V0IHRoZSBzbGlkZXNob3cgdGltZXIgYW5kIGtlZXAgZ29pbmcgaWYgaXQgd2FzIG9uXG5cdFx0ICovXG5cdFx0cmVzZXRTbGlkZXNob3coKSB7XG5cdFx0XHR0aGlzLnBsYXlpbmcgPSAhdGhpcy5wbGF5aW5nXG5cdFx0XHR0aGlzLmNsZWFyU2xpZGVzaG93VGltZW91dCgpXG5cdFx0XHR0aGlzLiRuZXh0VGljayhmdW5jdGlvbigpIHtcblx0XHRcdFx0dGhpcy50b2dnbGVQbGF5UGF1c2UoKVxuXHRcdFx0fSlcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogSGFuZGxlIHRoZSBzbGlkZXNob3cgdGltZXIgYW5kIG5leHQgZXZlbnRcblx0XHQgKi9cblx0XHRoYW5kbGVTbGlkZXNob3coKSB7XG5cdFx0XHR0aGlzLnBsYXlpbmcgPSB0cnVlXG5cdFx0XHRpZiAodGhpcy5oYXNOZXh0KSB7XG5cdFx0XHRcdHRoaXMuc2xpZGVzaG93VGltZW91dCA9IG5ldyBUaW1lcigoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5uZXh0KClcblx0XHRcdFx0XHR0aGlzLmhhbmRsZVNsaWRlc2hvdygpXG5cdFx0XHRcdH0sIHRoaXMuc2xpZGVzaG93RGVsYXkpXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLnBsYXlpbmcgPSBmYWxzZVxuXHRcdFx0XHR0aGlzLmNsZWFyU2xpZGVzaG93VGltZW91dCgpXG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIENsZWFyIHNsaWRlc2hvd1RpbWVvdXQgaWYgb25nb2luZ1xuXHRcdCAqL1xuXHRcdGNsZWFyU2xpZGVzaG93VGltZW91dCgpIHtcblx0XHRcdGlmICh0aGlzLnNsaWRlc2hvd1RpbWVvdXQpIHtcblx0XHRcdFx0dGhpcy5zbGlkZXNob3dUaW1lb3V0LmNsZWFyKClcblx0XHRcdH1cblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbkBpbXBvcnQgJy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlJztcbiRoZWFkZXItc2l6ZTogNTBweDtcblxuLm1vZGFsLW1hc2sge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHotaW5kZXg6IDk5OTg7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjUpO1xuXHQmLS1kYXJrIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC45Mik7XG5cdH1cbn1cblxuLm1vZGFsLWhlYWRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMTAwMDE7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdGxlZnQ6IDA7XG5cdC8vIHByZXZlbnQgdnVlIHNob3cgdG8gdXNlIGRpc3BsYXk6bm9uZSBhbmQgcmVzZXRpbmdcblx0Ly8gdGhlIGNpcmNsZSBhbmltYXRpb24gbG9vcFxuXHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAkaGVhZGVyLXNpemU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXMsXG5cdFx0dmlzaWJpbGl0eSAyNTBtcztcblxuXHQvLyByZXBsYWNlIGRpc3BsYXkgYnkgdmlzaWJpbGl0eVxuXHQmLmludmlzaWJsZVtzdHlsZSo9J2Rpc3BsYXk6bm9uZSddLFxuXHQmLmludmlzaWJsZVtzdHlsZSo9J2Rpc3BsYXk6IG5vbmUnXSB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG5cblx0Lm1vZGFsLXRpdGxlIHtcblx0XHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAwICN7JGNsaWNrYWJsZS1hcmVhICogM30gMCAxMnB4OyAvLyBtYXhpbXVtIGFjdGlvbnMgaXMgM1xuXHRcdHRyYW5zaXRpb246IHBhZGRpbmcgZWFzZSAxMDBtcztcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGZvbnQtc2l6ZTogJGljb24tbWFyZ2luO1xuXHR9XG5cblx0Ly8gT24gd2lkZXIgc2NyZWVucyB0aGUgdGl0bGUgY2FuIGJlIGNlbnRlcmVkXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlLzIpIHtcblx0XHQubW9kYWwtdGl0bGUge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAjeyRjbGlja2FibGUtYXJlYSAqIDN9OyAvLyBtYXhpbXVtIGFjdGlvbnMgaXMgM1xuXHRcdH1cblx0fVxuXG5cdC5pY29ucy1tZW51IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cblx0XHQuaWNvbi1jbG9zZSB7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0bWFyZ2luOiAoJGhlYWRlci1zaXplIC0gJGNsaWNrYWJsZS1hcmVhKSAvIDI7XG5cdFx0XHQvLyBub3QgdXNpbmcgJGljb24tbWFyZ2luIHNpbmNlIHdlIGhhdmUgYSBjdXN0b20gZm9udCBzaXplXG5cdFx0XHQvLyBhbmQgYWxpZ25lbWVudCBzZWVtcyBvZGRcblx0XHRcdHBhZGRpbmc6IDEwcHggMTFweDtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0XHRcdGZvbnQtc2l6ZTogMjNweDtcblxuXHRcdFx0QGluY2x1ZGUgaWNvbmZvbnQoJ2Nsb3NlJyk7XG5cdFx0fVxuXG5cdFx0LnBsYXktcGF1c2Uge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0d2lkdGg6ICRoZWFkZXItc2l6ZTtcblx0XHRcdGhlaWdodDogJGhlYWRlci1zaXplO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHQuaWNvbi1wbGF5LFxuXHRcdFx0XHQuaWNvbi1wYXVzZSB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAkY2xpY2thYmxlLWFyZWEgLyAyO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRpY29uLWZvY3VzLWJnO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuaWNvbi1wbGF5LFxuXHRcdFx0Lmljb24tcGF1c2Uge1xuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHR3aWR0aDogJGNsaWNrYWJsZS1hcmVhO1xuXHRcdFx0XHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcblx0XHRcdFx0bWFyZ2luOiAoJGhlYWRlci1zaXplIC0gJGNsaWNrYWJsZS1hcmVhKSAvIDI7XG5cdFx0XHRcdG9wYWNpdHk6IC43O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHR9XG5cdFx0XHQuaWNvbi1wbGF5IHtcblx0XHRcdFx0Ly8gYmV0dGVyIHZpc3VhbFxuXHRcdFx0XHRwYWRkaW5nOiAxMXB4IDEzcHg7XG5cdFx0XHRcdEBpbmNsdWRlIGljb25mb250KCdwbGF5Jyk7XG5cdFx0XHR9XG5cdFx0XHQuaWNvbi1wYXVzZSB7XG5cdFx0XHRcdHBhZGRpbmc6IDEycHg7XG5cdFx0XHRcdC8vICEgYWxpZ24gd2l0aCBjaXJjbGVcblx0XHRcdFx0Zm9udC1zaXplOiAxOS41cHg7XG5cdFx0XHRcdEBpbmNsdWRlIGljb25mb250KCdwYXVzZScpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5oZWFkZXItYWN0aW9ucyB7XG5cdFx0XHRtYXJnaW46ICgkaGVhZGVyLXNpemUgLSAkY2xpY2thYmxlLWFyZWEpIC8gMjtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHR9XG5cblx0XHQuYWN0aW9uLWl0ZW0tLXNpbmdsZSB7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0d2lkdGg6ICRjbGlja2FibGUtYXJlYTtcblx0XHRcdGhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAyMnB4O1xuXHRcdH1cblxuXHRcdCY6OnYtZGVlcCAuYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGUge1xuXHRcdFx0cGFkZGluZzogMTNweCAxMXB4O1xuXHRcdFx0Ly8gZm9yY2Ugd2hpdGUgaW5zdGVhZCBvZiBkZWZhdWx0IG1haW4gdGV4dFxuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHQvLyAyMnB4IGlzIGEgc29tZWhvdyBiZXR0ZXIgbG9va2luZyBmb3IgdGhlIGljb24tbW9yZSBpY29uXG5cdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0fVxuXG5cdH1cbn1cblxuLm1vZGFsLXdyYXBwZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblxuXHQvKiBOYXZpZ2F0aW9uIGJ1dHRvbnMgKi9cblx0LnByZXYsXG5cdC5uZXh0IHtcblx0XHR6LWluZGV4OiAxMDAwMDtcblx0XHQvLyBpZ25vcmUgZGlzcGxheTogbm9uZVxuXHRcdGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdHdpZHRoOiAxNSU7XG5cdFx0bWluLXdpZHRoOiA2MHB4O1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zLFxuXHRcdFx0dmlzaWJpbGl0eSAyNTBtcztcblxuXHRcdC8vIHdlIHdhbnQgdG8ga2VlcCB0aGUgZWxlbWVudHMgb24gcGFnZVxuXHRcdC8vIGV2ZW4gaWYgaGlkZGVuIHRvIGF2b2lkIGhhdmluZyBhIHVuYmFsYW5jZWRcblx0XHQvLyBjZW50ZXJlZCBjb250ZW50XG5cdFx0Ly8gcmVwbGFjZSBkaXNwbGF5IGJ5IHZpc2liaWxpdHlcblx0XHQmLmludmlzaWJsZVtzdHlsZSo9J2Rpc3BsYXk6bm9uZSddLFxuXHRcdCYuaW52aXNpYmxlW3N0eWxlKj0nZGlzcGxheTogbm9uZSddIHtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR9XG5cdH1cblxuXHQvLyBidXR0b25zL2ljb25zXG5cdC5pY29uLW5leHQsXG5cdC5pY29uLXByZXZpb3VzIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XG5cdFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XG5cdFx0cGFkZGluZzogMTJweCAxMXB4O1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRib3JkZXItcmFkaXVzOiAkY2xpY2thYmxlLWFyZWEgLyAyO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHR9XG5cdC5pY29uLXByZXZpb3VzIHtcblx0XHRAaW5jbHVkZSBpY29uZm9udCgnYXJyb3ctbGVmdCcpO1xuXHR9XG5cdC5pY29uLW5leHQge1xuXHRcdEBpbmNsdWRlIGljb25mb250KCdhcnJvdy1yaWdodCcpO1xuXHR9XG5cblx0LyogQ29udGVudCAqL1xuXHQubW9kYWwtY29udGFpbmVyIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2U7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcblx0XHRib3gtc2hhZG93OiAwIDAgNDBweCByZ2JhKDAsIDAsIDAsIC4yKTtcblx0fVxuXHQmOm5vdCgmLS1sYXJnZSk6bm90KCYtLWZ1bGwpIC5tb2RhbC1jb250YWluZXIge1xuXHRcdG1heC13aWR0aDogOTAwcHg7XG5cdFx0bWF4LWhlaWdodDogODAlO1xuXHR9XG5cblx0Ly8gU2l6aW5nXG5cdCYtLWZ1bGwge1xuXHRcdC5tb2RhbC1jb250YWluZXIge1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LWhlaWdodDogMTAwJTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0fVxuXHR9XG5cdCYtLWZ1bGwsXG5cdCYtLXNwcmVhZC1uYXZpZ2F0aW9uIHtcblx0XHQucHJldixcblx0XHQubmV4dCB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR3aWR0aDogMTAlO1xuXHRcdH1cblx0XHQucHJldiB7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdH1cblx0XHQubmV4dCB7XG5cdFx0XHRyaWdodDogMDtcblx0XHR9XG5cdH1cblx0Ji0tbGFyZ2Uge1xuXHRcdC5tb2RhbC1jb250YWluZXIge1xuXHRcdFx0bWF4LXdpZHRoOiA4NSU7XG5cdFx0XHRtYXgtaGVpZ2h0OiA5MCU7XG5cdFx0fVxuXHRcdC5wcmV2LFxuXHRcdC5uZXh0IHtcblx0XHRcdHdpZHRoOiAxMCU7XG5cdFx0XHRtaW4td2lkdGg6ICRjbGlja2FibGUtYXJlYTtcblx0XHR9XG5cdH1cbn1cblxuLyogVFJBTlNJVElPTlMgKi9cbi5mYWRlLWVudGVyLWFjdGl2ZSxcbi5mYWRlLWxlYXZlLWFjdGl2ZSB7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXM7XG59XG5cbi5mYWRlLWVudGVyLFxuLmZhZGUtbGVhdmUtdG8ge1xuXHRvcGFjaXR5OiAwO1xufVxuXG4uZmFkZS12aXNpYmlsaXR5LWVudGVyLFxuLmZhZGUtdmlzaWJpbGl0eS1sZWF2ZS10byB7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0b3BhY2l0eTogMDtcbn1cblxuLm1vZGFsLWluLWVudGVyLWFjdGl2ZSxcbi5tb2RhbC1pbi1sZWF2ZS1hY3RpdmUsXG4ubW9kYWwtb3V0LWVudGVyLWFjdGl2ZSxcbi5tb2RhbC1vdXQtbGVhdmUtYWN0aXZlIHtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcztcbn1cblxuLm1vZGFsLWluLWVudGVyLFxuLm1vZGFsLWluLWxlYXZlLXRvLFxuLm1vZGFsLW91dC1lbnRlcixcbi5tb2RhbC1vdXQtbGVhdmUtdG8ge1xuXHRvcGFjaXR5OiAwO1xufVxuXG4ubW9kYWwtaW4tZW50ZXIgLm1vZGFsLWNvbnRhaW5lcixcbi5tb2RhbC1pbi1sZWF2ZS10byAubW9kYWwtY29udGFpbmVyIHtcblx0dHJhbnNmb3JtOiBzY2FsZSguOSk7XG59XG5cbi5tb2RhbC1vdXQtZW50ZXIgLm1vZGFsLWNvbnRhaW5lcixcbi5tb2RhbC1vdXQtbGVhdmUtdG8gLm1vZGFsLWNvbnRhaW5lciB7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLy8gYW5pbWF0ZWQgY2lyY2xlXG4kcmFkaXVzOiAxNTtcbiRwaTogMy4xNDE1OTI2NTM1ODk3OTtcblxuLm1vZGFsLW1hc2sgLnBsYXktcGF1c2Uge1xuXHQucHJvZ3Jlc3MtcmluZyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdFx0LnByb2dyZXNzLXJpbmdfX2NpcmNsZSB7XG5cdFx0XHR0cmFuc2l0aW9uOiAxMDBtcyBzdHJva2UtZGFzaG9mZnNldDtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IC8vIGF4aXMgY29tcGVuc2F0aW9uXG5cdFx0XHRhbmltYXRpb246IHByb2dyZXNzcmluZyBsaW5lYXIgM3MgaW5maW5pdGU7XG5cblx0XHRcdHN0cm9rZS1saW5lY2FwOiByb3VuZDtcblx0XHRcdHN0cm9rZS1kYXNob2Zmc2V0OiAkcmFkaXVzICogMiAqICRwaTsgLy8gcmFkaXVzICogMiAqIFBJXG5cdFx0XHRzdHJva2UtZGFzaGFycmF5OiAkcmFkaXVzICogMiAqICRwaTsgLy8gcmFkaXVzICogMiAqIFBJXG5cdFx0fVxuXHR9XG5cdCYtLXBhdXNlZCB7XG5cdFx0Lmljb24tcGF1c2Uge1xuXHRcdFx0YW5pbWF0aW9uOiBicmVhdGggMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSBpbmZpbml0ZTtcblx0XHR9XG5cdFx0LnByb2dyZXNzLXJpbmdfX2NpcmNsZSB7XG5cdFx0XHRhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG5cbi8vIGtleWZyYW1lcyBnZXQgc2NvcGVkIHRvbyBhbmQgYnJlYWsgdGhlIGFuaW1hdGlvbiBuYW1lLCB3ZSBuZWVkIHRoZW0gdW5zY29wZWRcbkBrZXlmcmFtZXMgcHJvZ3Jlc3NyaW5nIHtcblx0ZnJvbSB7XG5cdFx0c3Ryb2tlLWRhc2hvZmZzZXQ6ICRyYWRpdXMgKiAyICogJHBpOyAvLyByYWRpdXMgKiAyICogUElcblx0fVxuXHR0byB7XG5cdFx0c3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBicmVhdGgge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHQ1MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG48L3N0eWxlPlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48dGVtcGxhdGU+XG5cdDxkaXYgY2xhc3M9XCJuYW1lLXBhcnRzXCIgOnRpdGxlPVwibmFtZVwiPlxuXHRcdDxIaWdobGlnaHRcblx0XHRcdGNsYXNzPVwibmFtZS1wYXJ0c19fZmlyc3RcIlxuXHRcdFx0OnRleHQ9XCJwYXJ0MVwiXG5cdFx0XHQ6c2VhcmNoPVwic2VhcmNoXCJcblx0XHRcdDpoaWdobGlnaHQ9XCJoaWdobGlnaHQxXCIgLz5cblx0XHQ8SGlnaGxpZ2h0XG5cdFx0XHR2LWlmPVwicGFydDJcIlxuXHRcdFx0Y2xhc3M9XCJuYW1lLXBhcnRzX19sYXN0XCJcblx0XHRcdDp0ZXh0PVwicGFydDJcIlxuXHRcdFx0OnNlYXJjaD1cInNlYXJjaFwiXG5cdFx0XHQ6aGlnaGxpZ2h0PVwiaGlnaGxpZ2h0MlwiIC8+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cbjxzY3JpcHQ+XG5pbXBvcnQgSGlnaGxpZ2h0IGZyb20gJy4uL0hpZ2hsaWdodCdcbmltcG9ydCBGaW5kUmFuZ2VzIGZyb20gJy4uLy4uL3V0aWxzL0ZpbmRSYW5nZXMnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0VsbGlwc2lzZWRPcHRpb24nLFxuXG5cdGNvbXBvbmVudHM6IHtcblx0XHRIaWdobGlnaHQsXG5cdH0sXG5cblx0cHJvcHM6IHtcblx0XHRvcHRpb246IHtcblx0XHRcdHR5cGU6IFtTdHJpbmcsIE9iamVjdF0sXG5cdFx0XHRyZXF1aXJlZDogdHJ1ZSxcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdH0sXG5cdFx0bGFiZWw6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdH0sXG5cdFx0c2VhcmNoOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXHRcdG5hbWU6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdH0sXG5cdH0sXG5cblx0Y29tcHV0ZWQ6IHtcblx0XHRuZWVkc1RydW5jYXRlKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMubmFtZSAmJiB0aGlzLm5hbWUubGVuZ3RoID49IDEwXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBJbmRleCBhdCB3aGljaCB0byBzcGxpdCB0aGUgbmFtZSBpZiBpdCBpcyBsb25nZXIgdGhhbiAxMCBjaGFyYWN0ZXJzLlxuXHRcdCAqXG5cdFx0ICogQHJldHVybnMge0ludGVnZXJ9IFRoZSBwb3NpdGlvbiBhdCB3aGljaCB0byBzcGxpdFxuXHRcdCAqL1xuXHRcdHNwbGl0KCkge1xuXHRcdFx0Ly8gbGVhdmUgbWF4aW11bSAxMCBsZXR0ZXJzXG5cdFx0XHRyZXR1cm4gdGhpcy5uYW1lLmxlbmd0aCAtIE1hdGgubWluKE1hdGguZmxvb3IodGhpcy5uYW1lLmxlbmd0aCAvIDIpLCAxMClcblx0XHR9LFxuXHRcdHBhcnQxKCkge1xuXHRcdFx0aWYgKHRoaXMubmVlZHNUcnVuY2F0ZSkge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5uYW1lLnN1YnN0cigwLCB0aGlzLnNwbGl0KVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHRoaXMubmFtZVxuXHRcdH0sXG5cdFx0cGFydDIoKSB7XG5cdFx0XHRpZiAodGhpcy5uZWVkc1RydW5jYXRlKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLm5hbWUuc3Vic3RyKHRoaXMuc3BsaXQpXG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gJydcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIFRoZSByYW5nZXMgdG8gaGlnaGxpZ2h0LiBTaW5jZSB3ZSBzcGxpdCB0aGUgc3RyaW5nIGZvciBlbGxpcHNpc2luZyxcblx0XHQgKiB0aGUgSGlnaGxpZ2h0IGNvbXBvbmVudCBjYW5ub3QgZmlndXJlIHRoaXMgb3V0IGl0c2VsZiBhbmQgbmVlZHMgdGhlIHJhbmdlcyBwcm92aWRlZC5cblx0XHQgKlxuXHRcdCAqIEByZXR1cm5zIHtBcnJheX0gVGhlIGFycmF5IHdpdGggdGhlIHJhbmdlcyB0byBoaWdobGlnaHRcblx0XHQgKi9cblx0XHRoaWdobGlnaHQxKCkge1xuXHRcdFx0aWYgKCF0aGlzLnNlYXJjaCkge1xuXHRcdFx0XHRyZXR1cm4gW11cblx0XHRcdH1cblx0XHRcdHJldHVybiBGaW5kUmFuZ2VzKHRoaXMubmFtZSwgdGhpcy5zZWFyY2gpXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBXZSBzaGlmdCB0aGUgcmFuZ2VzIGZvciB0aGUgc2Vjb25kIHBhcnQgYnkgdGhlIHBvc2l0aW9uIG9mIHRoZSBzcGxpdC5cblx0XHQgKiBSYW5nZXMgb3V0IG9mIHRoZSBzdHJpbmcgbGVuZ3RoIGFyZSBkaXNjYXJkZWQgYnkgdGhlIEhpZ2hsaWdodCBjb21wb25lbnQsXG5cdFx0ICogc28gd2UgZG9uJ3QgbmVlZCB0byB0YWtlIGNhcmUgb2YgdGhpcyBoZXJlLlxuXHRcdCAqXG5cdFx0ICogQHJldHVybnMge0FycmF5fSBUaGUgYXJyYXkgd2l0aCB0aGUgcmFuZ2VzIHRvIGhpZ2hsaWdodFxuXHRcdCAqL1xuXHRcdGhpZ2hsaWdodDIoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5oaWdobGlnaHQxLm1hcChyYW5nZSA9PiB7XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0c3RhcnQ6IHJhbmdlLnN0YXJ0IC0gdGhpcy5zcGxpdCxcblx0XHRcdFx0XHRlbmQ6IHJhbmdlLmVuZCAtIHRoaXMuc3BsaXQsXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblx0fSxcbn1cbjwvc2NyaXB0PlxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuLm5hbWUtcGFydHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdCZfX2ZpcnN0IHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR9XG5cdCZfX2ZpcnN0LFxuXHQmX19sYXN0IHtcblx0XHQvLyBwcmV2ZW50IHdoaXRlc3BhY2UgZnJvbSBiZWluZyB0cmltbWVkXG5cdFx0d2hpdGUtc3BhY2U6IHByZTtcblx0XHRzdHJvbmcge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0fVxuXHR9XG59XG48L3N0eWxlPlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuPGRvY3M+XG4jIyBNdWx0aXNlbGVjdFxuV2UncmUgd3JhcHBpbmcgdGhlIGF3ZXNvbWUgdnVlLW11bHRpc2VsZWN0IGxpYnJhcnkgdG8gYWRkIG91ciBvd24gc3R5bGluZyBhbmQgZGVmYXVsdCBwcm9wcy9tZXRob2RzXG5Zb3UgY2FuIHVzZSBhbGwgdGhlIHByb3BlcnRpZXMgZnJvbSBodHRwczovL3Z1ZS1tdWx0aXNlbGVjdC5qcy5vcmcgdGhhdCBhcmUgbm90IGRlY2xhcmVkL292ZXJyaWRlZCBoZXJlLlxuXG4jIyMgU2ltcGxlIGV4YW1wbGVzXG5gYGB2dWVcbjx0ZW1wbGF0ZT5cblx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHQ8TXVsdGlzZWxlY3Qgdi1tb2RlbD1cInZhbHVlMVwiIDpvcHRpb25zPVwib3B0aW9uc1wiIC8+XG5cdFx0PE11bHRpc2VsZWN0IHYtbW9kZWw9XCJ2YWx1ZTJcIiA6b3B0aW9ucz1cIm9wdGlvbnNcIiA6bXVsdGlwbGU9XCJ0cnVlXCIgLz5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IE11bHRpc2VsZWN0IGZyb20gJy4uL2luZGV4J1xuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7IHZhbHVlMTogJzInLCB2YWx1ZTI6IFsnMiddLCBvcHRpb25zOiBbJzAnLCAnMScsICcyJywgJzMnLCAnNCddIH1cblx0fVxufVxuPC9zY3JpcHQ+XG5gYGBcblxuIyMjIFNpbXBsZSBleGFtcGxlIHdpdGggb2JqZWN0c1xuWW91IGNhbiBlaXRoZXIgdXNlIHRoZSBleGFjdCBvYmplY3Qgb3IgdGhlIHRyYWNrLWJ5IGtleSB0byBtYXRjaCBhZ2FpbnN0IHlvdXIgb3B0aW9uc1xuXG5gYGB2dWVcbjx0ZW1wbGF0ZT5cblx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHQ8TXVsdGlzZWxlY3Qgdi1tb2RlbD1cInZhbHVlMVwiIDpvcHRpb25zPVwib3B0aW9uc1wiIHRyYWNrLWJ5PVwiaWRcIiBsYWJlbD1cImxhYmVsXCIgLz5cblx0XHQ8cHJlPlNlbGVjdGVkIG9wdGlvbjoge3sgdmFsdWUxIH19PC9wcmU+XG5cdFx0PGJyIC8+XG5cdFx0PE11bHRpc2VsZWN0IHYtbW9kZWw9XCJ2YWx1ZTJcIiA6b3B0aW9ucz1cIm9wdGlvbnNcIiB0cmFjay1ieT1cImlkXCIgbGFiZWw9XCJsYWJlbFwiIC8+XG5cdFx0PHByZT5TZWxlY3RlZCBvcHRpb246IHt7IHZhbHVlMiB9fTwvcHJlPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgTXVsdGlzZWxlY3QgZnJvbSAnLi4vaW5kZXgnXG5jb25zdCBvcHRpb25zID0gW1xuXHR7IGlkOiAxLCBsYWJlbDogJ09wdGlvbiAxJyB9LFxuXHR7IGlkOiAyLCBsYWJlbDogJ09wdGlvbiAyJyB9LFxuXHR7IGlkOiAzLCBsYWJlbDogJ09wdGlvbiAzJyB9LFxuXHR7IGlkOiA0LCBsYWJlbDogJ09wdGlvbiA0JyB9XG5dXG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHZhbHVlMTogb3B0aW9uc1sxXSxcblx0XHRcdHZhbHVlMjogMixcblx0XHRcdG9wdGlvbnNcblx0XHR9XG5cdH1cbn1cbjwvc2NyaXB0PlxuYGBgXG5cbiMjIyBMaW1pdCB3aXRoIGF1dG9tYXRlZCB0b29sdGlwXG5gYGB2dWVcbjx0ZW1wbGF0ZT5cblx0PE11bHRpc2VsZWN0IHYtbW9kZWw9XCJ2YWx1ZVwiXG5cdFx0Om9wdGlvbnM9XCJvcHRpb25zXCIgOm11bHRpcGxlPVwidHJ1ZVwiXG5cdFx0OnRhZy13aWR0aD1cIjgwXCIgLz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgTXVsdGlzZWxlY3QgZnJvbSAnLi4vaW5kZXgnXG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHZhbHVlOiBbJ2Vpcm1vZCcsICdldCcsICdtYWduYScsICdpbnZpZHVudCcsICd0ZW1wb3InXSxcblx0XHRcdG9wdGlvbnM6IFsnQ29uc2V0ZXR1cicsICdzYWRpcHNjaW5nJywgJ2VsaXRyJywgJ3NlZCcsXG5cdFx0XHRcdCdkaWFtJywgJ25vbnVteScsICdlaXJtb2QnLCAndGVtcG9yJywgJ2ludmlkdW50Jyxcblx0XHRcdFx0J3V0JywgJ2xhYm9yZScsICdldCcsICdkb2xvcmUnLCAnbWFnbmEnLCAnYWxpcXV5YW0nLCAnZXJhdCddXG5cdFx0fVxuXHR9XG59XG48L3NjcmlwdD5cbmBgYFxuXG4jIyMgVXNlciBsYXlvdXRcbkJ5IHNwZWNpZnlpbmcgYDp1c2VyLXNlbGVjdD1cInRydWVcImAsIHlvdSBjYW4gYmVuZWZpdCBmcm9tIGEgZnVsbHkgZm9ybWF0dGVkIGxheW91dC5cblRoZSBzaW5nbGVMYWJlbCBzbG90IGhlcmUgaXMgb3B0aW9uYWwgb2YgY291cnNlIGFuZCBoZXJlIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzXG5UaGUgTGlzdEl0ZW1JY29uIHRpdGxlIHdpbGwgYmUgcHJvdmlkZWQgYnkgdGhlIG9wdGlvbiBrZXkgcmVmZXJpbmcgdG8gdGhlIGBsYWJlbGAgcHJvcC5cbkV4YW1wbGUgaGVyZTogYGRpc3BsYXlOYW1lYFxuXG4+ICoqTm90ZToqKiBBbnkgZXh0cmEgYmluZGluZyBmcm9tIHRoZSBvYmplY3Qgd2lsbCBiZSBhZGRlZCBhcyBhdHRyaWJ1dGUgKGAkYXR0cnNgKSBvbiB0aGUgTGlzdEl0ZW1JY29uIGNvbXBvbmVudCB1c2VkIGhlcmVcblxuYGBgdnVlXG48dGVtcGxhdGU+XG5cdDxNdWx0aXNlbGVjdCB2LW1vZGVsPVwidmFsdWVcIiA6b3B0aW9ucz1cImZvcm1hdHRlZE9wdGlvbnNcIlxuXHRcdGxhYmVsPVwiZGlzcGxheU5hbWVcIiB0cmFjay1ieT1cInVzZXJcIlxuXHRcdDp1c2VyLXNlbGVjdD1cInRydWVcIlxuXHRcdHN0eWxlPVwid2lkdGg6IDI1MHB4XCI+XG5cdFx0PHRlbXBsYXRlICNzaW5nbGVMYWJlbD1cInsgb3B0aW9uIH1cIj5cblx0XHRcdDxMaXN0SXRlbUljb24gdi1iaW5kPVwib3B0aW9uXCIgOnRpdGxlPVwib3B0aW9uLmRpc3BsYXlOYW1lXCIgOmF2YXRhci1zaXplPVwiMjRcIiA6bm8tbWFyZ2luPVwidHJ1ZVwiIC8+XG5cdFx0PC90ZW1wbGF0ZT5cblx0PC9NdWx0aXNlbGVjdD5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgTXVsdGlzZWxlY3QgZnJvbSAnLi4vaW5kZXgnXG5cbi8vIEJ1aWxkaW5nIGZha2UgZGF0YSBmb3IgdGhlIGRvY3NcbmNvbnN0IG9wdGlvbnMgPSBbJ2FkbWluJywgJ3VzZXIxJywgJ3VzZXIyJywgJ2d1ZXN0JywgJ2dyb3VwMSddXG5jb25zdCBmb3JtYXR0ZWRPcHRpb25zID0gb3B0aW9ucy5tYXAoaXRlbSA9PiB7XG5cdHJldHVybiB7XG5cdFx0dXNlcjogaXRlbSxcblx0XHRkaXNwbGF5TmFtZTogaXRlbSxcblx0XHRzdWJ0aXRsZTogYFRoaXMgaXMgdGhlICR7aXRlbS5zdGFydHNXaXRoKCdncm91cCcpID8gJ2dyb3VwJyA6ICd1c2VyJ30gJHtpdGVtfWAsXG5cdFx0aWNvbjogaXRlbS5zdGFydHNXaXRoKCdncm91cCcpID8gJ2ljb24tZ3JvdXAnIDogJ2ljb24tdXNlcicsXG5cdFx0aXNOb1VzZXI6IGl0ZW0uc3RhcnRzV2l0aCgnZ3JvdXAnKVxuXHR9XG59KVxuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHR2YWx1ZTogZm9ybWF0dGVkT3B0aW9uc1swXSxcblx0XHRcdFx0XHRmb3JtYXR0ZWRPcHRpb25zLFxuXHRcdFx0fVxuXHR9LFxufVxuPC9zY3JpcHQ+XG5gYGBcbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8IS0tXG5cdCMgVGhpcyBpcyB0aGUgb3JpZ2luYWwgTXVsdGlzZWxlY3QgIVxuXHQjIyB0YWctcGxhY2Vob2xkZXI9XCJjcmVhdGVcIlxuXHQtPiBIYWNrIHRvIGFsbG93IHVzIHRvIGRldGVjdCB3aGVuIGFuIG9wdGlvbiBuZWVkc1xuXHQtICB0byBiZSBjcmVhdGVkICh3aXRoIGNzcykgYW5kIGFwcGx5IHRoZSBwcm9wZXJcblx0LSAgc3R5bGluZyB0byB0aGlzIGVudHJ5LCBAc2VlIFtkYXRhLXNlbGVjdD0nY3JlYXRlJ11cblx0IyMgOmNsb3NlLW9uLXNlbGVjdD1cIiFtdWx0aXBsZVwiXG5cdC0+IElmIG11bHRpcGxlIGNob2ljZSBhbGxvd2VkLCBsZWF2ZSB0aGUgZHJvcGRvd25cblx0LSAgb3BlbiBhZnRlciBzZWxlY3Rcblx0IyMgdi1vbj1cIiRsaXN0ZW5lcnNcIiwgdi1iaW5kPVwiJGF0dHJzXCJcblx0LT4gRm9yd2FyZCBhbGwgdW5kZWNsYXJlZCBwcm9wcyB0byB0aGUgdnVlLW11bHRpc2VsZWN0IGNoaWxkXG5cdC0tPlxuXHQ8VnVlTXVsdGlzZWxlY3Rcblx0XHRyZWY9XCJWdWVNdWx0aXNlbGVjdFwiXG5cdFx0di1tb2RlbD1cImxvY2FsVmFsdWVcIlxuXHRcdHYtYmluZD1cIiRhdHRyc1wiXG5cdFx0OmNsYXNzPVwiW1xuXHRcdFx0e1xuXHRcdFx0XHQnaWNvbi1sb2FkaW5nLXNtYWxsJzogbG9hZGluZ1xuXHRcdFx0fSxcblx0XHRcdG11bHRpcGxlID8gJ211bHRpc2VsZWN0LS1tdWx0aXBsZSc6ICdtdWx0aXNlbGVjdC0tc2luZ2xlJ1xuXHRcdF1cIlxuXHRcdDpvcHRpb25zPVwib3B0aW9uc1wiXG5cdFx0OmxpbWl0PVwibWF4T3B0aW9uc1wiXG5cdFx0OmNsb3NlLW9uLXNlbGVjdD1cIiFtdWx0aXBsZVwiXG5cdFx0Om11bHRpcGxlPVwibXVsdGlwbGVcIlxuXHRcdDpsYWJlbD1cImxhYmVsXCJcblx0XHQ6dHJhY2stYnk9XCJ0cmFja0J5XCJcblx0XHR0YWctcGxhY2Vob2xkZXI9XCJjcmVhdGVcIlxuXHRcdHYtb249XCIkbGlzdGVuZXJzXCI+XG5cdFx0PCEtLSBUaGlzIGlzIHRoZSBzY29wZSB0byBmb3JtYXQgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMgaW4gdGhlIGRyb3Bkb3duXG5cdFx0XHRUd28gdGVtcGxhdGVzIHRvIGF2b2lkIHJlZ2lzdGVyaW5nIHRoZSBzbG90IHVubmVjZXNzYXJ5IC0tPlxuXHRcdDx0ZW1wbGF0ZSAjb3B0aW9uPVwic2NvcGVcIj5cblx0XHRcdDwhLS0gQXZhdGFyIGRpc3BsYXkgc2VsZWN0IHNsb3Qgb3ZlcnJpZGUuXG5cdFx0XHRcdFlvdSBDQU5OT1QgdXNlIHRoaXMgc2NvcGUsIHdlIHdpbGwgcmVwbGFjZSBpdCBieSB0aGlzIC0tPlxuXHRcdFx0PExpc3RJdGVtSWNvbiB2LWlmPVwidXNlclNlbGVjdCAmJiAhJHNjb3BlZFNsb3RzWydvcHRpb24nXVwiXG5cdFx0XHRcdHYtYmluZD1cInNjb3BlLm9wdGlvblwiXG5cdFx0XHRcdDp0aXRsZT1cInNjb3BlLm9wdGlvbltsYWJlbF1cIlxuXHRcdFx0XHQ6c2VhcmNoPVwic2NvcGUuc2VhcmNoXCIgLz5cblxuXHRcdFx0PCEtLSBFbGxpcHNpcyBpbiB0aGUgbWlkZGxlIGlmIG5vIG9wdGlvbiBzbG90XG5cdFx0XHRcdGlzIGRlZmluZWQgaW4gdGhlIHBhcmVudCAtLT5cblx0XHRcdDxFbGxpcHNpc2VkT3B0aW9uIHYtZWxzZS1pZj1cIiEkc2NvcGVkU2xvdHNbJ29wdGlvbiddXCJcblx0XHRcdFx0Om5hbWU9XCJnZXRPcHRpb25MYWJlbChzY29wZS5vcHRpb24pXCJcblx0XHRcdFx0Om9wdGlvbj1cInNjb3BlLm9wdGlvblwiXG5cdFx0XHRcdDpzZWFyY2g9XCJzY29wZS5zZWFyY2hcIlxuXHRcdFx0XHQ6bGFiZWw9XCJsYWJlbFwiIC8+XG5cblx0XHRcdDwhLS0gUGFzc2luZyB0aGUgc2luZ2xlTGFiZWwgc2xvdCAtLT5cblx0XHRcdDxzbG90IHYtZWxzZSBuYW1lPVwib3B0aW9uXCIgdi1iaW5kPVwic2NvcGVcIiAvPlxuXHRcdDwvdGVtcGxhdGU+XG5cblx0XHQ8IS0tIFJlZ2lzdGVyaW5nIHRoZSBsaW1pdCBzbG90IHRvIGdldCB0aGUgK3h4eCB0b29sdGlwLlxuXHRcdFx0WW91IENBTk5PVCB1c2UgdGhpcyBzY29wZSwgd2Ugd2lsbCByZXBsYWNlIGl0IGJ5IHRoaXMgLS0+XG5cdFx0PHRlbXBsYXRlIHYtaWY9XCJtdWx0aXBsZVwiICNsaW1pdD5cblx0XHRcdDxzcGFuIHYtdG9vbHRpcC5hdXRvPVwiZm9ybWF0TGltaXRUaXRsZSh2YWx1ZSlcIlxuXHRcdFx0XHRjbGFzcz1cIm11bHRpc2VsZWN0X19saW1pdFwiPlxuXHRcdFx0XHR7eyBsaW1pdFN0cmluZyB9fVxuXHRcdFx0PC9zcGFuPlxuXHRcdDwvdGVtcGxhdGU+XG5cblx0XHQ8IS0tIFBhc3NpbmcgdGhlIHNpbmdsZUxhYmVsIHNsb3QsIHRoaXMgaXMgdXNlZCB0byBmb3JtYXQgdGhlIHNlbGVjdGVkXG5cdFx0XHRvcHRpb24gb24gTk9OLW11bHRpcGxlIG11bHRpc2VsZWN0cyAtLT5cblx0XHQ8dGVtcGxhdGUgdi1mb3I9XCIoXywgc2xvdCkgb2YgJHNjb3BlZFNsb3RzXCIgI1tzbG90XT1cInNjb3BlXCI+XG5cdFx0XHQ8c2xvdCA6bmFtZT1cInNsb3RcIiB2LWJpbmQ9XCJzY29wZVwiIC8+XG5cdFx0PC90ZW1wbGF0ZT5cblxuXHRcdDxzcGFuIHNsb3Q9XCJub1Jlc3VsdFwiPnt7IHQoJ05vIHJlc3VsdHMnKSB9fTwvc3Bhbj5cblx0PC9WdWVNdWx0aXNlbGVjdD5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgVnVlTXVsdGlzZWxlY3QgZnJvbSAndnVlLW11bHRpc2VsZWN0J1xuXG5pbXBvcnQgRWxsaXBzaXNlZE9wdGlvbiBmcm9tICcuL0VsbGlwc2lzZWRPcHRpb24nXG5pbXBvcnQgbDEwbiBmcm9tICcuLi8uLi9taXhpbnMvbDEwbidcbmltcG9ydCBMaXN0SXRlbUljb24gZnJvbSAnLi4vTGlzdEl0ZW1JY29uJ1xuaW1wb3J0IFRvb2x0aXAgZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9Ub29sdGlwJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdNdWx0aXNlbGVjdCcsXG5cdGNvbXBvbmVudHM6IHtcblx0XHRFbGxpcHNpc2VkT3B0aW9uLFxuXHRcdExpc3RJdGVtSWNvbixcblx0XHRWdWVNdWx0aXNlbGVjdCxcblx0fSxcblx0ZGlyZWN0aXZlczoge1xuXHRcdHRvb2x0aXA6IFRvb2x0aXAsXG5cdH0sXG5cdG1peGluczogW2wxMG5dLFxuXHRpbmhlcml0QXR0cnM6IGZhbHNlLFxuXG5cdC8qKlxuXHQgKiBFdmVyeSBwcm9wIHRoYXQgaXMgZGVmaW5lZCBoZXJlIHdpbGwgYnJlYWsgdGhlIGF1dG9cblx0ICogZm9yd2FyZCB0byB0aGUgdnVlLW11bHRpc2VsZWN0IGNvbXBvbmVudFxuXHQgKiBZb3Ugd2lsbCBoYXZlIHRvIHNwZWNpZnkgaXQgYXMgYSBwcm9wIG9uIHRoZSB0ZW1wbGF0ZVxuXHQgKi9cblx0cHJvcHM6IHtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcblx0XHR2YWx1ZToge1xuXHRcdFx0ZGVmYXVsdCgpIHtcblx0XHRcdFx0cmV0dXJuIFtdXG5cdFx0XHR9LFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBBbGxvdyBtdWx0aXBsZSBzZWxlY3QgP1xuXHRcdCAqL1xuXHRcdG11bHRpcGxlOiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIExpbWl0IHRoZSBudW1iZXIgb2YgcmVzdWx0c1xuXHRcdCAqL1xuXHRcdGxpbWl0OiB7XG5cdFx0XHR0eXBlOiBOdW1iZXIsXG5cdFx0XHRkZWZhdWx0OiA5OTk5OSxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICoga2V5IHRvIHVzZSBhcyBsYWJlbCBvbiBvYmplY3Qgb3B0aW9uc1xuXHRcdCAqL1xuXHRcdGxhYmVsOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIGtleSB0byB1c2UgYXMgaWQgb24gb2JqZWN0IG9wdGlvbnNcblx0XHQgKi9cblx0XHR0cmFja0J5OiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogQXJyYXkgb2YgYXZhaWxhYmxlIG9wdGlvbnM6IE9iamVjdHMsIFN0cmluZ3Mgb3IgSW50ZWdlcnMuXG5cdFx0ICogSWYgYXJyYXkgb2Ygb2JqZWN0cywgdmlzaWJsZSBsYWJlbCB3aWxsIGRlZmF1bHQgdG8gb3B0aW9uLmxhYmVsLlxuXHRcdCAqIElmIGBsYWJhbGAgcHJvcCBpcyBwYXNzZWQsIGxhYmVsIHdpbGwgZXF1YWwgb3B0aW9uWydsYWJlbCddXG5cdFx0ICovXG5cdFx0b3B0aW9uczoge1xuXHRcdFx0dHlwZTogQXJyYXksXG5cdFx0XHRyZXF1aXJlZDogdHJ1ZSxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogRW5hYmxlIHRoZSBiaWcgdXNlciBzZWxlY3RvciB3LyBhdmF0YXJcblx0XHQgKiBNYWtlIHN1cmUgeW91ciBvYmplY3RzIGZpdCB0aGUgcmVxdWlyZW1lbnRzXG5cdFx0ICovXG5cdFx0dXNlclNlbGVjdDoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogT3ZlcnJpZGluZyB0aGUgZGVmYXVsdCBzbG90LiBPbmx5IHNob3dpbmcgYSBzcGluZXIuXG5cdFx0ICovXG5cdFx0bG9hZGluZzoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogRW5hYmxlIHRoZSBhdXRvbWF0aWMgbGltaXQgYW5kIHdpZHRoIGNhbGN1bGF0aW9uXG5cdFx0ICogT25seSB3b3JrcyBvbiBtdWx0aXBsZVxuXHRcdCAqL1xuXHRcdGF1dG9MaW1pdDoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IHRydWUsXG5cdFx0fSxcblx0XHQvKipcblx0XHQqIElmIGF1dG9MaW1pdCwgYWxsb3cgdG8gc3BlY2lmeSB0aGUgbWluLXdpZHRoIG9mIGV2ZXJ5XG5cdFx0KiBzZWxlY3RlZCBvcHRpb24gd2hlbiBjYWxjdWxhdGluZyB0aGUgbnVtYmVyIG9mIG9wdGlvbnNcblx0XHQqIHRvIHNob3cuIFRoaXMgbmVlZHMgdG8gYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLlxuXHRcdCovXG5cdFx0dGFnV2lkdGg6IHtcblx0XHRcdHR5cGU6IE51bWJlcixcblx0XHRcdGRlZmF1bHQ6IDE1MCxcblx0XHRcdHZhbGlkYXRvcjogKHZhbHVlKSA9PiB7XG5cdFx0XHRcdHJldHVybiB2YWx1ZSA+IDBcblx0XHRcdH0sXG5cdFx0fSxcblx0fSxcblxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRlbFdpZHRoOiAwLFxuXHRcdH1cblx0fSxcblx0Y29tcHV0ZWQ6IHtcblx0XHQvKipcblx0XHQgKiBDYWxjdWxhdGUgdGhlIG51bWJlciBvZiBvcHRpb25zIHRvIHNob3dcblx0XHQgKiBkZXBlbmRpbmcgb24gdGhlIHdpZHRoIG9mIHRoZSBzZWxlY3QuXG5cdFx0ICogT25seSB3b3JrcyBpZiBgYXV0b0xpbWl0YCBpcyBgdHJ1ZWBcblx0XHQgKiBAcmV0dXJucyB7bnVtYmVyfVxuXHRcdCAqL1xuXHRcdG1heE9wdGlvbnMoKSB7XG5cdFx0XHRpZiAodGhpcy5hdXRvTGltaXQgJiYgdGhpcy5lbFdpZHRoID4gMCAmJiB0aGlzLnRhZ1dpZHRoICE9PSAwKSB7XG5cdFx0XHRcdGNvbnN0IGxpbWl0ID0gTWF0aC5mbG9vcih0aGlzLmVsV2lkdGggLyB0aGlzLnRhZ1dpZHRoKVxuXHRcdFx0XHRyZXR1cm4gbGltaXQgPiAwID8gbGltaXQgOiAxXG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdGhpcy5saW1pdCA/IHRoaXMubGltaXQgOiA5OTk5XG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBNYWtlIHRoZSB0b29sdGlwIGxpbWl0IHN0cmluZyBmb3IgdGhlIGBhdXRvTGltaXRgXG5cdFx0ICogQHJldHVybnMge3N0cmluZ31cblx0XHQgKi9cblx0XHRsaW1pdFN0cmluZygpIHtcblx0XHRcdHJldHVybiBgKyR7dGhpcy52YWx1ZS5sZW5ndGggLSB0aGlzLm1heE9wdGlvbnN9YFxuXHRcdH0sXG5cblx0XHRsb2NhbFZhbHVlOiB7XG5cdFx0XHRnZXQoKSB7XG5cdFx0XHRcdGlmICh0aGlzLnRyYWNrQnkgJiYgdGhpcy5vcHRpb25zXG5cdFx0XHRcdFx0JiYgdHlwZW9mIHRoaXMudmFsdWUgIT09ICdvYmplY3QnXG5cdFx0XHRcdFx0JiYgdGhpcy5vcHRpb25zW3RoaXMudmFsdWVdKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMub3B0aW9uc1t0aGlzLnZhbHVlXVxuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB0aGlzLnZhbHVlXG5cdFx0XHR9LFxuXHRcdFx0c2V0KHZhbHVlKSB7XG5cdFx0XHRcdHRoaXMuJGVtaXQoJ3VwZGF0ZTp2YWx1ZScsIHZhbHVlKVxuXHRcdFx0XHR0aGlzLiRlbWl0KCdjaGFuZ2UnLCB2YWx1ZSlcblx0XHRcdH0sXG5cdFx0fSxcblx0fSxcblxuXHR3YXRjaDoge1xuXHRcdC8vIGVuc3VyZSB3ZSB1cGRhdGUgdGhlIHdpZHRoIHdoZW4gd2UgYWRkIG9yIHJlbW92ZSBkYXRhXG5cdFx0dmFsdWUoKSB7XG5cdFx0XHR0aGlzLnVwZGF0ZVdpZHRoKClcblx0XHR9LFxuXHR9LFxuXG5cdG1vdW50ZWQoKSB7XG5cdFx0dGhpcy51cGRhdGVXaWR0aCgpXG5cdFx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMudXBkYXRlV2lkdGgpXG5cdH0sXG5cdGJlZm9yZURlc3Ryb3koKSB7XG5cdFx0d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMudXBkYXRlV2lkdGgpXG5cdH0sXG5cblx0bWV0aG9kczoge1xuXHRcdC8qKlxuXHRcdCAqIFJldHVybnMgdGhlIG9wdGlvbiBsYWJlbFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtTdHJpbmd9IG9wdGlvbiBUaGUgc2VsZWN0ZWQgb3B0aW9uXG5cdFx0ICogQHJldHVybnMge3N0cmluZ31cblx0XHQgKi9cblx0XHRnZXRPcHRpb25MYWJlbChvcHRpb24pIHtcblx0XHRcdHJldHVybiBTdHJpbmcodGhpcy4kcmVmcy5WdWVNdWx0aXNlbGVjdD8uZ2V0T3B0aW9uTGFiZWwob3B0aW9uKSlcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIEZvcm1hdCBhcnJheSBvZiBncm91cHMgb2JqZWN0cyB0byBhIHN0cmluZ1xuXHRcdCAqIGZvciB0aGUgbGltaXQgcG9wdXAgdXNpbmcgdGhlIGxhYmVsIHByb3Bcblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7YXJyYXl9IG9wdGlvbnMgVGhlIHNlbGVjdGVkIG9wdGlvbnNcblx0XHQgKiBAcmV0dXJucyB7c3RyaW5nfVxuXHRcdCAqL1xuXHRcdGZvcm1hdExpbWl0VGl0bGUob3B0aW9ucykge1xuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkob3B0aW9ucykgJiYgb3B0aW9ucy5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdGxldCBzZWxlY3Rpb24gPSBvcHRpb25zXG5cdFx0XHRcdGlmICh0eXBlb2Ygb3B0aW9uc1swXSA9PT0gJ29iamVjdCcpIHtcblx0XHRcdFx0XHRzZWxlY3Rpb24gPSBvcHRpb25zLm1hcChvcHRpb24gPT4gb3B0aW9uW3RoaXMubGFiZWxdKVxuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBzZWxlY3Rpb24uc2xpY2UodGhpcy5tYXhPcHRpb25zKS5qb2luKCcsICcpXG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gJydcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogVXBkYXRlIHRoZSBjb21wb25lbnQgd2lkdGggZGF0YVxuXHRcdCAqL1xuXHRcdHVwZGF0ZVdpZHRoKCkge1xuXHRcdFx0Ly8gd2lkdGggb2YgdGhlIHRhZ3Mgd3JhcHBlciBtaW51cyB0aGUgcGFkZGluZ1xuXHRcdFx0aWYgKHRoaXMuJGVsICYmIHRoaXMuJGVsLnF1ZXJ5U2VsZWN0b3IoJy5tdWx0aXNlbGVjdF9fdGFncy13cmFwJykpIHtcblx0XHRcdFx0dGhpcy5lbFdpZHRoID0gdGhpcy4kZWwucXVlcnlTZWxlY3RvcignLm11bHRpc2VsZWN0X190YWdzLXdyYXAnKS5vZmZzZXRXaWR0aCAtIDEwXG5cdFx0XHR9XG5cdFx0fSxcblx0fSxcbn1cbjwvc2NyaXB0PlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEp1bGl1cyBIw6RydGwgPGp1c0BiaXRncmlkLm5ldD5cbiAgLVxuICAtIEBhdXRob3IgSnVsaXVzIEjDpHJ0bCA8anVzQGJpdGdyaWQubmV0PlxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48ZG9jcz5cbiMjIFNpbmdsZSB0YWcgc2VsZWN0b3JcblxuYGBgdnVlXG48dGVtcGxhdGU+XG5cdDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG5cdFx0PE11bHRpc2VsZWN0VGFncyB2LW1vZGVsPVwidmFsdWVcIiA6bXVsdGlwbGU9XCJmYWxzZVwiIC8+XG5cdFx0e3sgdmFsdWUgfX1cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHR2YWx1ZTogMVxuXHRcdH1cblx0fVxufVxuPC9zY3JpcHQ+XG5gYGBcblxuIyMgTXVsdGlwbGUgdGFnIHNlbGVjdG9yXG5gYGB2dWVcbjx0ZW1wbGF0ZT5cblx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHQ8TXVsdGlzZWxlY3RUYWdzIHYtbW9kZWw9XCJ2YWx1ZVwiIDptdWx0aXBsZT1cInRydWVcIiAvPlxuXHRcdHt7IHZhbHVlIH19XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0dmFsdWU6IFsxLCAyXVxuXHRcdH1cblx0fVxufVxuPC9zY3JpcHQ+XG5gYGBcbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8TXVsdGlzZWxlY3QgOnZhbHVlPVwiaW5wdXRWYWx1ZVwiXG5cdFx0Om9wdGlvbnM9XCJ0YWdzXCJcblx0XHQ6b3B0aW9ucy1saW1pdD1cIjVcIlxuXHRcdDpwbGFjZWhvbGRlcj1cImxhYmVsXCJcblx0XHR0cmFjay1ieT1cImlkXCJcblx0XHQ6Y3VzdG9tLWxhYmVsPVwidGFnTGFiZWxcIlxuXHRcdDptdWx0aXBsZT1cIm11bHRpcGxlXCJcblx0XHQ6Y2xvc2Utb24tc2VsZWN0PVwibXVsdGlwbGVcIlxuXHRcdDp0YWctd2lkdGg9XCI2MFwiXG5cdFx0OmRpc2FibGVkPVwiZGlzYWJsZWRcIlxuXHRcdEBpbnB1dD1cInVwZGF0ZVwiPlxuXHRcdDxzcGFuIHNsb3Q9XCJub1Jlc3VsdFwiPnt7IHQoJ05vIHJlc3VsdHMnKSB9fTwvc3Bhbj5cblx0XHQ8dGVtcGxhdGUgI29wdGlvbj1cInNjb3BlXCI+XG5cdFx0XHR7eyB0YWdMYWJlbChzY29wZS5vcHRpb24pIH19XG5cdFx0PC90ZW1wbGF0ZT5cblx0PC9tdWx0aXNlbGVjdD5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgbDEwbiBmcm9tICcuLi8uLi9taXhpbnMvbDEwbidcbmltcG9ydCBNdWx0aXNlbGVjdCBmcm9tICcuLi9NdWx0aXNlbGVjdCdcbmltcG9ydCB7IHNlYXJjaFRhZ3MgfSBmcm9tICcuL2FwaSdcbmltcG9ydCB7IHQgfSBmcm9tICcuLi8uLi9sMTBuJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdNdWx0aXNlbGVjdFRhZ3MnLFxuXHRjb21wb25lbnRzOiB7XG5cdFx0TXVsdGlzZWxlY3QsXG5cdH0sXG5cdG1peGluczogW2wxMG5dLFxuXHRwcm9wczoge1xuXHRcdGxhYmVsOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiB0KCdTZWxlY3QgYSB0YWcnKSxcblx0XHR9LFxuXHRcdHZhbHVlOiB7XG5cdFx0XHR0eXBlOiBbTnVtYmVyLCBBcnJheV0sXG5cdFx0XHRyZXF1aXJlZDogdHJ1ZSxcblx0XHR9LFxuXHRcdGRpc2FibGVkOiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblx0XHRtdWx0aXBsZToge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IHRydWUsXG5cdFx0fSxcblx0fSxcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0dGFnczogW10sXG5cdFx0fVxuXHR9LFxuXHRjb21wdXRlZDoge1xuXHRcdGlucHV0VmFsdWUoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXRWYWx1ZU9iamVjdCgpXG5cdFx0fSxcblx0fSxcblx0YXN5bmMgYmVmb3JlQ3JlYXRlKCkge1xuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCByZXN1bHQgPSBhd2FpdCBzZWFyY2hUYWdzKClcblx0XHRcdHRoaXMudGFncyA9IHJlc3VsdFxuXHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRjb25zb2xlLmVycm9yKCdMb2FkaW5nIHN5c3RlbXRhZ3MgZmFpbGVkJywgZXJyb3IpXG5cdFx0fVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0Z2V0VmFsdWVPYmplY3QoKSB7XG5cdFx0XHRpZiAodGhpcy50YWdzLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRyZXR1cm4gW11cblx0XHRcdH1cblx0XHRcdGlmICh0aGlzLm11bHRpcGxlKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLnZhbHVlXG5cdFx0XHRcdFx0LmZpbHRlcih0YWcgPT4gdGFnICE9PSAnJylcblx0XHRcdFx0XHQubWFwKGlkID0+IHRoaXMudGFncy5maW5kKHRhZzIgPT4gdGFnMi5pZCA9PT0gaWQpKVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIHRoaXMudGFncy5maW5kKHRhZyA9PiB0YWcuaWQgPT09IHRoaXMudmFsdWUpXG5cdFx0XHR9XG5cdFx0fSxcblx0XHR1cGRhdGUodmFsdWUpIHtcblx0XHRcdGlmICh0aGlzLm11bHRpcGxlKSB7XG5cdFx0XHRcdC8qKlxuXHRcdFx0XHQgKiBFbWl0dGVkIG9uIGlucHV0IGV2ZW50cyBvZiB0aGUgbXVsdGlzZWxlY3QgZmllbGRcblx0XHRcdFx0ICogQHR5cGUge251bWJlcnxudW1iZXJbXX1cblx0XHRcdFx0ICovXG5cdFx0XHRcdHRoaXMuJGVtaXQoJ2lucHV0JywgdmFsdWUubWFwKChlbGVtZW50KSA9PiBlbGVtZW50LmlkKSlcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0XHRcdHRoaXMuJGVtaXQoJ2lucHV0JywgbnVsbClcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLiRlbWl0KCdpbnB1dCcsIHZhbHVlLmlkKVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBAcGFyYW0ge09iamVjdH0gdGFnIGRlc3RydWN0dXJpbmcgb2JqZWN0XG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IHRhZy5kaXNwbGF5TmFtZSB0aGUgdGFnIGRpc3BsYXkgbmFtZVxuXHRcdCAqIEBwYXJhbSB7Ym9vbH0gdGFnLnVzZXJWaXNpYmxlIGlzIHRoZSB0YWcgdmlzaWJsZVxuXHRcdCAqIEBwYXJhbSB7Ym9vbH0gdGFnLnVzZXJBc3NpZ25hYmxlIGlzIHRoZSB0YWcgcmVzdHJpY3RlZFxuXHRcdCAqIEByZXR1cm5zIHtzdHJpbmd9XG5cdFx0ICovXG5cdFx0dGFnTGFiZWwoeyBkaXNwbGF5TmFtZSwgdXNlclZpc2libGUsIHVzZXJBc3NpZ25hYmxlIH0pIHtcblx0XHRcdGlmICh1c2VyVmlzaWJsZSA9PT0gZmFsc2UpIHtcblx0XHRcdFx0cmV0dXJuIHQoJ3t0YWd9IChpbnZpc2libGUpJywgeyB0YWc6IGRpc3BsYXlOYW1lIH0pXG5cdFx0XHR9XG5cdFx0XHRpZiAodXNlckFzc2lnbmFibGUgPT09IGZhbHNlKSB7XG5cdFx0XHRcdHJldHVybiB0KCd7dGFnfSAocmVzdHJpY3RlZCknLCB7IHRhZzogZGlzcGxheU5hbWUgfSlcblx0XHRcdH1cblx0XHRcdHJldHVybiBkaXNwbGF5TmFtZVxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cbiIsIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxuICAtXG4gIC0gQGF1dGhvciBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuLS0+XG5cbjxkb2NzPlxuXG4jIyMgR2VuZXJhbCBkZXNjcmlwdGlvblxuXG5UaGlzIGNvbXBvbmVudCBpcyBqdXN0IGEgd3JhcHBlciBmb3IgdGhlIHYtY29tcG9uZW50IHBsdWdpbiBieSBBa3J5dW0sXG5wbGVhc2UgcmVmZXIgdG8gdGhpcyBkb2N1bWVudGF0aW9uIGZvciBjdXN0b21pemF0aW9uOlxuaHR0cHM6Ly9naXRodWIuY29tL0Frcnl1bS92LXRvb2x0aXBcblxuVGhpcyBjb21wb25lbnRzIGhhcyB0d28gc2xvdHM6XG4qICd0cmlnZ2VyJyB3aGljaCBjYW4gYmUgYW55IGh0bWwgZWxlbWVudCBhbmQgaXQgd2lsbCB0cmlnZ2VyIHRoZSBwb3BvdmVyXG50aGlzIHNsb3QgaXMgb3B0aW9uYWwgc2luY2UgeW91IGNhbiB0b2dnbGUgdGhlIHBvcG92ZXIgYWxzbyBieSB1cGRhdGluZyB0aGVcbm9wZW4gcHJvcCBvbiB0aGlzIGNvbXBvbmVudDtcblxuKiBhIGRlZmF1bHQgc2xvdCB0aGF0IGlzIGZvciB0aGUgY29udGVudCBvZiB0aGUgcG9wb3Zlci5cblxuIyMjIEV4YW1wbGVzXG5cbldpdGggYSBgPGJ1dHRvbj5gIGFzIGEgdHJpZ2dlcjpcbmBgYHZ1ZVxuPHRlbXBsYXRlPlxuXHQ8UG9wb3Zlcj5cblx0XHQ8YnV0dG9uIHNsb3Q9XCJ0cmlnZ2VyXCI+IEkgYW0gdGhlIHRyaWdnZXIgPC9idXR0b24+XG5cdFx0PHRlbXBsYXRlPlxuXHRcdDxoMj50aGlzIGlzIHNvbWUgY29udGVudDwvaDI+XG5cdFx0PC90ZW1wbGF0ZT5cblx0PC9Qb3BvdmVyPlxuPC90ZW1wbGF0ZT5cbmBgYFxuPC9kb2NzPlxuXG48dGVtcGxhdGU+XG5cdDxWUG9wb3ZlclxuXHRcdHJlZj1cInBvcG92ZXJcIlxuXHRcdHYtYmluZD1cIiRhdHRyc1wiXG5cdFx0cG9wb3Zlci1iYXNlLWNsYXNzPVwicG9wb3ZlclwiXG5cdFx0cG9wb3Zlci13cmFwcGVyLWNsYXNzPVwicG9wb3Zlcl9fd3JhcHBlclwiXG5cdFx0cG9wb3Zlci1hcnJvdy1jbGFzcz1cInBvcG92ZXJfX2Fycm93XCJcblx0XHRwb3BvdmVyLWlubmVyLWNsYXNzPVwicG9wb3Zlcl9faW5uZXJcIlxuXHRcdHYtb249XCIkbGlzdGVuZXJzXCI+XG5cdFx0PCEtLSBUaGlzIHdpbGwgYmUgdGhlIHBvcG92ZXIgdGFyZ2V0IChmb3IgdGhlIGV2ZW50cyBhbmQgcG9zaXRpb24pIC0tPlxuXHRcdDxzbG90IG5hbWU9XCJ0cmlnZ2VyXCIgLz5cblx0XHQ8IS0tIFRoaXMgd2lsbCBiZSB0aGUgY29udGVudCBvZiB0aGUgcG9wb3ZlciAtLT5cblx0XHQ8dGVtcGxhdGUgc2xvdD1cInBvcG92ZXJcIj5cblx0XHRcdDxzbG90IC8+XG5cdFx0PC90ZW1wbGF0ZT5cblx0PC9WUG9wb3Zlcj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgeyBWUG9wb3ZlciB9IGZyb20gJ3YtdG9vbHRpcCdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnUG9wb3ZlcicsXG5cdGNvbXBvbmVudHM6IHtcblx0XHRWUG9wb3Zlcixcblx0fSxcblxuXHRtb3VudGVkKCkge1xuXHRcdHRoaXMuJHdhdGNoKFxuXHRcdFx0KCkgPT4ge1xuXHRcdFx0XHQvLyByZXF1aXJlZCBiZWNhdXNlIHYtdG9vbHRpcCBkb2Vzbid0IHByb3ZpZGUgZXZlbnRzXG5cdFx0XHRcdC8vIGFuZCBAc2hvdyBpcyB0b28gZWFybHlcblx0XHRcdFx0Ly8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9Ba3J5dW0vdi10b29sdGlwL2lzc3Vlcy82NjFcblx0XHRcdFx0cmV0dXJuIHRoaXMuJHJlZnMucG9wb3Zlci5pc09wZW5cblx0XHRcdH0sXG5cdFx0XHQodmFsKSA9PiB7XG5cdFx0XHRcdGlmICh2YWwpIHtcblx0XHRcdFx0XHQvKipcblx0XHRcdFx0XHQgKiBUcmlnZ2VyZWQgYWZ0ZXIgdGhlIHRvb2x0aXAgd2FzIHZpc3VhbGx5IGRpc3BsYXllZC5cblx0XHRcdFx0XHQgKlxuXHRcdFx0XHRcdCAqIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gdGhlICdzaG93JyBhbmQgJ2FwcGx5LXNob3cnIHdoaWNoXG5cdFx0XHRcdFx0ICogcnVuIGVhcmxpZXIgdGhhbiB0aGlzIHdoZXJlIHRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IHRoZVxuXHRcdFx0XHRcdCAqIHRvb2x0aXAgaXMgYWxyZWFkeSB2aXNpYmxlIGFuZCBpbiB0aGUgRE9NLlxuXHRcdFx0XHRcdCAqL1xuXHRcdFx0XHRcdHRoaXMuJGVtaXQoJ2FmdGVyLXNob3cnKVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdC8qKlxuXHRcdFx0XHRcdCAqIFRyaWdnZXJlZCBhZnRlciB0aGUgdG9vbHRpcCB3YXMgdmlzdWFsbHkgaGlkZGVuLlxuXHRcdFx0XHRcdCAqL1xuXHRcdFx0XHRcdHRoaXMuJGVtaXQoJ2FmdGVyLWhpZGUnKVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0KVxuXHR9LFxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiPlxuJGFycm93LXdpZHRoOiAxMHB4O1xuXG4ucG9wb3ZlciB7XG5cdHotaW5kZXg6IDEwMDAwMDtcblx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuXHRmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMXB4IDEwcHggdmFyKC0tY29sb3ItYm94LXNoYWRvdykpO1xuXG5cdCZfX2lubmVyIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XG5cdH1cblxuXHQmX19hcnJvdyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0d2lkdGg6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdG1hcmdpbjogJGFycm93LXdpZHRoO1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xuXHR9XG5cblx0Jlt4LXBsYWNlbWVudF49J3RvcCddIHtcblx0XHRtYXJnaW4tYm90dG9tOiAkYXJyb3ctd2lkdGg7XG5cblx0XHQucG9wb3Zlcl9fYXJyb3cge1xuXHRcdFx0Ym90dG9tOiAtJGFycm93LXdpZHRoO1xuXHRcdFx0bGVmdDogY2FsYyg1MCUgLSAkYXJyb3ctd2lkdGgpO1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRib3JkZXItd2lkdGg6ICRhcnJvdy13aWR0aCAkYXJyb3ctd2lkdGggMCAkYXJyb3ctd2lkdGg7XG5cdFx0XHRib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0Jlt4LXBsYWNlbWVudF49J2JvdHRvbSddIHtcblx0XHRtYXJnaW4tdG9wOiAkYXJyb3ctd2lkdGg7XG5cblx0XHQucG9wb3Zlcl9fYXJyb3cge1xuXHRcdFx0dG9wOiAtJGFycm93LXdpZHRoO1xuXHRcdFx0bGVmdDogY2FsYyg1MCUgLSAkYXJyb3ctd2lkdGgpO1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRib3JkZXItd2lkdGg6IDAgJGFycm93LXdpZHRoICRhcnJvdy13aWR0aCAkYXJyb3ctd2lkdGg7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0Jlt4LXBsYWNlbWVudF49J3JpZ2h0J10ge1xuXHRcdG1hcmdpbi1sZWZ0OiAkYXJyb3ctd2lkdGg7XG5cblx0XHQucG9wb3Zlcl9fYXJyb3cge1xuXHRcdFx0dG9wOiBjYWxjKDUwJSAtICRhcnJvdy13aWR0aCk7XG5cdFx0XHRsZWZ0OiAtJGFycm93LXdpZHRoO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRib3JkZXItd2lkdGg6ICRhcnJvdy13aWR0aCAkYXJyb3ctd2lkdGggJGFycm93LXdpZHRoIDA7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdCZbeC1wbGFjZW1lbnRePSdsZWZ0J10ge1xuXHRcdG1hcmdpbi1yaWdodDogJGFycm93LXdpZHRoO1xuXG5cdFx0LnBvcG92ZXJfX2Fycm93IHtcblx0XHRcdHRvcDogY2FsYyg1MCUgLSAkYXJyb3ctd2lkdGgpO1xuXHRcdFx0cmlnaHQ6IC0kYXJyb3ctd2lkdGg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdGJvcmRlci13aWR0aDogJGFycm93LXdpZHRoIDAgJGFycm93LXdpZHRoICRhcnJvdy13aWR0aDtcblx0XHRcdGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdFx0XHRib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdCZbYXJpYS1oaWRkZW49J3RydWUnXSB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uLXF1aWNrKSwgdmlzaWJpbGl0eSB2YXIoLS1hbmltYXRpb24tcXVpY2spO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmW2FyaWEtaGlkZGVuPSdmYWxzZSddIHtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uLXF1aWNrKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbjwvc3R5bGU+XG4iLCI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjxkb2NzPlxuXHRUaGlzIGNvbXBvbmVudCBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIHRoZSBbQWN0aW9uc10oIy9Db21wb25lbnRzP2lkPWFjdGlvbnMtMSkgY29tcG9uZW50IGluc3RlYWQuXG48L2RvY3M+XG5cbjx0ZW1wbGF0ZT5cblx0PHVsIGNsYXNzPVwicG9wb3Zlcl9fbWVudVwiPlxuXHRcdDxQb3BvdmVyTWVudUl0ZW0gdi1mb3I9XCIoaXRlbSwga2V5KSBpbiBtZW51XCIgOmtleT1cImtleVwiIDppdGVtPVwiaXRlbVwiIC8+XG5cdDwvdWw+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IFBvcG92ZXJNZW51SXRlbSBmcm9tICcuL1BvcG92ZXJNZW51SXRlbSdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnUG9wb3Zlck1lbnUnLFxuXHRjb21wb25lbnRzOiB7XG5cdFx0UG9wb3Zlck1lbnVJdGVtLFxuXHR9LFxuXHRwcm9wczoge1xuXHRcdG1lbnU6IHtcblx0XHRcdHR5cGU6IEFycmF5LFxuXHRcdFx0ZGVmYXVsdDogKCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gW3tcblx0XHRcdFx0XHRocmVmOiAnaHR0cHM6Ly9uZXh0Y2xvdWQuY29tJyxcblx0XHRcdFx0XHRpY29uOiAnaWNvbi1saW5rcycsXG5cdFx0XHRcdFx0dGV4dDogJ05leHRjbG91ZCcsXG5cdFx0XHRcdH1dXG5cdFx0XHR9LFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblx0fSxcbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG51bCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG48L3N0eWxlPlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48dGVtcGxhdGU+XG5cdDxsaSBjbGFzcz1cInBvcG92ZXJfX21lbnVpdGVtXCI+XG5cdFx0PCEtLSBJZiBpdGVtLmhyZWYgaXMgc2V0LCBhIGxpbmsgd2lsbCBiZSBkaXJlY3RseSB1c2VkIC0tPlxuXHRcdDxhIHYtaWY9XCJpdGVtLmhyZWZcIlxuXHRcdFx0OmhyZWY9XCIoaXRlbS5ocmVmKSA/IGl0ZW0uaHJlZiA6ICcjJyBcIlxuXHRcdFx0OnRhcmdldD1cIihpdGVtLnRhcmdldCkgPyBpdGVtLnRhcmdldCA6ICcnIFwiXG5cdFx0XHQ6ZG93bmxvYWQ9XCJpdGVtLmRvd25sb2FkXCJcblx0XHRcdGNsYXNzPVwiZm9jdXNhYmxlXCJcblx0XHRcdHJlbD1cIm5vcmVmZXJyZXIgbm9vcGVuZXJcIlxuXHRcdFx0QGNsaWNrPVwiYWN0aW9uXCI+XG5cdFx0XHQ8c3BhbiB2LWlmPVwiIWljb25Jc1VybFwiIDpjbGFzcz1cIml0ZW0uaWNvblwiIC8+XG5cdFx0XHQ8aW1nIHYtZWxzZSA6c3JjPVwiaXRlbS5pY29uXCI+XG5cdFx0XHQ8cCB2LWlmPVwiaXRlbS50ZXh0ICYmIGl0ZW0ubG9uZ3RleHRcIj5cblx0XHRcdFx0PHN0cm9uZyBjbGFzcz1cIm1lbnVpdGVtLXRleHRcIj5cblx0XHRcdFx0XHR7eyBpdGVtLnRleHQgfX1cblx0XHRcdFx0PC9zdHJvbmc+PGJyPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cIm1lbnVpdGVtLXRleHQtZGV0YWlsXCI+XG5cdFx0XHRcdFx0e3sgaXRlbS5sb25ndGV4dCB9fVxuXHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHQ8L3A+XG5cdFx0XHQ8c3BhbiB2LWVsc2UtaWY9XCJpdGVtLnRleHRcIj5cblx0XHRcdFx0e3sgaXRlbS50ZXh0IH19XG5cdFx0XHQ8L3NwYW4+XG5cdFx0XHQ8cCB2LWVsc2UtaWY9XCJpdGVtLmxvbmd0ZXh0XCI+XG5cdFx0XHRcdHt7IGl0ZW0ubG9uZ3RleHQgfX1cblx0XHRcdDwvcD5cblx0XHQ8L2E+XG5cblx0XHQ8IS0tIElmIGl0ZW0uaW5wdXQgaXMgc2V0IGluc3RlYWQsIGFuIHB1dCB3aWxsIGJlIHVzZWQgLS0+XG5cdFx0PHNwYW4gdi1lbHNlLWlmPVwiaXRlbS5pbnB1dFwiIGNsYXNzPVwibWVudWl0ZW1cIiA6Y2xhc3M9XCJ7YWN0aXZlOiBpdGVtLmFjdGl2ZX1cIj5cblx0XHRcdDwhLS0gZG9lcyBub3Qgc2hvdyBpZiBpbnB1dCBpcyBjaGVja2JveCAtLT5cblx0XHRcdDxzcGFuIHYtaWY9XCJpdGVtLmlucHV0ICE9PSAnY2hlY2tib3gnXCIgOmNsYXNzPVwiaXRlbS5pY29uXCIgLz5cblxuXHRcdFx0PCEtLSBvbmx5IHNob3dzIGlmIGlucHV0IGlzIHRleHQgLS0+XG5cdFx0XHQ8Zm9ybSB2LWlmPVwiaXRlbS5pbnB1dCA9PT0gJ3RleHQnXCJcblx0XHRcdFx0OmNsYXNzPVwiaXRlbS5pbnB1dFwiXG5cdFx0XHRcdEBzdWJtaXQucHJldmVudD1cIml0ZW0uYWN0aW9uXCI+XG5cdFx0XHRcdDxpbnB1dCA6dHlwZT1cIml0ZW0uaW5wdXRcIlxuXHRcdFx0XHRcdDp2YWx1ZT1cIml0ZW0udmFsdWVcIlxuXHRcdFx0XHRcdDpwbGFjZWhvbGRlcj1cIml0ZW0udGV4dFwiXG5cdFx0XHRcdFx0cmVxdWlyZWQ+XG5cdFx0XHRcdDxpbnB1dCB0eXBlPVwic3VibWl0XCIgdmFsdWU9XCJcIiBjbGFzcz1cImljb24tY29uZmlybVwiPlxuXHRcdFx0PC9mb3JtPlxuXG5cdFx0XHQ8IS0tIGNoZWNrYm94IC0tPlxuXHRcdFx0PHRlbXBsYXRlIHYtZWxzZT5cblx0XHRcdFx0PCEtLSBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgLS0+XG5cdFx0XHRcdDxpbnB1dCA6aWQ9XCJrZXlcIiB2LW1vZGVsPVwiaXRlbS5tb2RlbFwiXG5cdFx0XHRcdFx0OnR5cGU9XCJpdGVtLmlucHV0XCJcblx0XHRcdFx0XHQ6Y2xhc3M9XCJpdGVtLmlucHV0XCJcblx0XHRcdFx0XHRAY2hhbmdlPVwiaXRlbS5hY3Rpb25cIj5cblx0XHRcdFx0PGxhYmVsIDpmb3I9XCJrZXlcIiBAY2xpY2suc3RvcC5wcmV2ZW50PVwiaXRlbS5hY3Rpb25cIj5cblx0XHRcdFx0XHR7eyBpdGVtLnRleHQgfX1cblx0XHRcdFx0PC9sYWJlbD5cblx0XHRcdDwvdGVtcGxhdGU+XG5cdFx0PC9zcGFuPlxuXG5cdFx0PCEtLSBJZiBpdGVtLmFjdGlvbiBpcyBzZXQgaW5zdGVhZCwgYSBidXR0b24gd2lsbCBiZSB1c2VkIC0tPlxuXHRcdDxidXR0b24gdi1lbHNlLWlmPVwiaXRlbS5hY3Rpb25cIlxuXHRcdFx0Y2xhc3M9XCJtZW51aXRlbSBmb2N1c2FibGVcIlxuXHRcdFx0OmNsYXNzPVwie2FjdGl2ZTogaXRlbS5hY3RpdmV9XCJcblx0XHRcdDpkaXNhYmxlZD1cIml0ZW0uZGlzYWJsZWRcIlxuXHRcdFx0QGNsaWNrLnN0b3AucHJldmVudD1cIml0ZW0uYWN0aW9uXCI+XG5cdFx0XHQ8c3BhbiA6Y2xhc3M9XCJpdGVtLmljb25cIiAvPlxuXHRcdFx0PHAgdi1pZj1cIml0ZW0udGV4dCAmJiBpdGVtLmxvbmd0ZXh0XCI+XG5cdFx0XHRcdDxzdHJvbmcgY2xhc3M9XCJtZW51aXRlbS10ZXh0XCI+XG5cdFx0XHRcdFx0e3sgaXRlbS50ZXh0IH19XG5cdFx0XHRcdDwvc3Ryb25nPjxicj5cblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJtZW51aXRlbS10ZXh0LWRldGFpbFwiPlxuXHRcdFx0XHRcdHt7IGl0ZW0ubG9uZ3RleHQgfX1cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0PC9wPlxuXHRcdFx0PHNwYW4gdi1lbHNlLWlmPVwiaXRlbS50ZXh0XCI+XG5cdFx0XHRcdHt7IGl0ZW0udGV4dCB9fVxuXHRcdFx0PC9zcGFuPlxuXHRcdFx0PHAgdi1lbHNlLWlmPVwiaXRlbS5sb25ndGV4dFwiPlxuXHRcdFx0XHR7eyBpdGVtLmxvbmd0ZXh0IH19XG5cdFx0XHQ8L3A+XG5cdFx0PC9idXR0b24+XG5cblx0XHQ8IS0tIElmIGl0ZW0ubG9uZ3RleHQgaXMgc2V0IEFORCB0aGUgaXRlbSBkb2VzIG5vdCBoYXZlIGFuIGFjdGlvbiAtLT5cblx0XHQ8c3BhbiB2LWVsc2UgY2xhc3M9XCJtZW51aXRlbVwiIDpjbGFzcz1cInthY3RpdmU6IGl0ZW0uYWN0aXZlfVwiPlxuXHRcdFx0PHNwYW4gOmNsYXNzPVwiaXRlbS5pY29uXCIgLz5cblx0XHRcdDxwIHYtaWY9XCJpdGVtLnRleHQgJiYgaXRlbS5sb25ndGV4dFwiPlxuXHRcdFx0XHQ8c3Ryb25nIGNsYXNzPVwibWVudWl0ZW0tdGV4dFwiPlxuXHRcdFx0XHRcdHt7IGl0ZW0udGV4dCB9fVxuXHRcdFx0XHQ8L3N0cm9uZz48YnI+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwibWVudWl0ZW0tdGV4dC1kZXRhaWxcIj5cblx0XHRcdFx0XHR7eyBpdGVtLmxvbmd0ZXh0IH19XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdDwvcD5cblx0XHRcdDxzcGFuIHYtZWxzZS1pZj1cIml0ZW0udGV4dFwiPlxuXHRcdFx0XHR7eyBpdGVtLnRleHQgfX1cblx0XHRcdDwvc3Bhbj5cblx0XHRcdDxwIHYtZWxzZS1pZj1cIml0ZW0ubG9uZ3RleHRcIj5cblx0XHRcdFx0e3sgaXRlbS5sb25ndGV4dCB9fVxuXHRcdFx0PC9wPlxuXHRcdDwvc3Bhbj5cblx0PC9saT5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdQb3BvdmVyTWVudUl0ZW0nLFxuXHRwcm9wczoge1xuXHRcdGl0ZW06IHtcblx0XHRcdHR5cGU6IE9iamVjdCxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdFx0ZGVmYXVsdDogKCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdGtleTogJ25leHRjbG91ZC1saW5rJyxcblx0XHRcdFx0XHRocmVmOiAnaHR0cHM6Ly9uZXh0Y2xvdWQuY29tJyxcblx0XHRcdFx0XHRpY29uOiAnaWNvbi1saW5rcycsXG5cdFx0XHRcdFx0dGV4dDogJ05leHRjbG91ZCcsXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHQvLyBjaGVjayB0aGUgaW5wdXQgdHlwZXNcblx0XHRcdC8vIFRPRE86IGFkZCBtb3JlIHZhbGlkYXRpb24gb2YgdHlwZXNcblx0XHRcdHZhbGlkYXRvcjogaXRlbSA9PiB7XG5cdFx0XHRcdC8vIFRPRE86IHN1cHBvcnQgcmFkaW9cblx0XHRcdFx0aWYgKGl0ZW0uaW5wdXQpIHtcblx0XHRcdFx0XHRyZXR1cm4gWyd0ZXh0JywgJ2NoZWNrYm94J10uaW5kZXhPZihpdGVtLmlucHV0KSAhPT0gLTFcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdHJ1ZVxuXHRcdFx0fSxcblx0XHR9LFxuXHR9LFxuXHRjb21wdXRlZDoge1xuXHRcdC8vIHJhbmRvbSBrZXkgZm9yIGlucHV0cyBiaW5kaW5nIGlmIG5vdCBwcm92aWRlZFxuXHRcdGtleSgpIHtcblx0XHRcdHJldHVybiB0aGlzLml0ZW0ua2V5XG5cdFx0XHRcdD8gdGhpcy5pdGVtLmtleVxuXHRcdFx0XHQ6IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDE2ICogMTAwMDAwMCkudG9TdHJpbmcoMTYpXG5cdFx0fSxcblx0XHRpY29uSXNVcmwoKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmV3XG5cdFx0XHRcdG5ldyBVUkwodGhpcy5pdGVtLmljb24pXG5cdFx0XHRcdHJldHVybiB0cnVlXG5cdFx0XHR9IGNhdGNoIChfKSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZVxuXHRcdFx0fVxuXHRcdH0sXG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHQvLyBhbGxvdyB1cyB0byB1c2UgYm90aCBsaW5rIGFuZCBhbiBhY3Rpb24gb24gYGFgXG5cdFx0Ly8gd2Ugc3RpbGwgbmVlZCB0byBtYWtlIHN1cmUgaXRlbS5hY3Rpb24gZXhpc3RzXG5cdFx0YWN0aW9uKGV2ZW50KSB7XG5cdFx0XHRpZiAodGhpcy5pdGVtLmFjdGlvbikge1xuXHRcdFx0XHR0aGlzLml0ZW0uYWN0aW9uKGV2ZW50KVxuXHRcdFx0fVxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cblxuPHN0eWxlIHNjb3BlZD5cblx0YnV0dG9uLm1lbnVpdGVtIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0YnV0dG9uLm1lbnVpdGVtICoge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXG5cdGJ1dHRvbi5tZW51aXRlbTpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR9XG5cblx0YnV0dG9uLm1lbnVpdGVtOmRpc2FibGVkICoge1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxuXG5cdC5tZW51aXRlbS5hY3RpdmUge1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDJweCAwIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdH1cbjwvc3R5bGU+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbmxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleDogMCAwIGF1dG87XG5cblx0Ji5oaWRkZW4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQ+IGJ1dHRvbixcblx0PiBhLFxuXHQ+IC5tZW51aXRlbSB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7IC8vIG90aGVyd2lzZSBTYWZhcmkgd2lsbCBjdXQgdGhlIGJvcmRlci1yYWRpdXMgYXJlYVxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcblxuXHRcdC8vIFRPRE8gc3BsaXQgaW50byBpbmRpdmlkdWFsIGNvbXBvbmVudHMgZm9yIHJlYWRhYmlsaXR5XG5cdFx0c3BhbltjbGFzc149J2ljb24tJ10sXG5cdFx0c3BhbltjbGFzcyo9JyBpY29uLSddLFxuXHRcdCZbY2xhc3NePSdpY29uLSddLFxuXHRcdCZbY2xhc3MqPScgaWNvbi0nXSB7XG5cdFx0XHRtaW4td2lkdGg6IDA7IC8qIE92ZXJ3cml0ZSBpY29ucyovXG5cdFx0XHRtaW4taGVpZ2h0OiAwO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogI3skaWNvbi1tYXJnaW59IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZTtcblx0XHR9XG5cblx0XHRzcGFuW2NsYXNzXj0naWNvbi0nXSxcblx0XHRzcGFuW2NsYXNzKj0nIGljb24tJ10ge1xuXHRcdFx0LyogS2VlcCBwYWRkaW5nIHRvIGRlZmluZSB0aGUgd2lkdGggdG9cblx0XHRcdFx0YXNzdXJlIGNvcnJlY3QgcG9zaXRpb24gb2YgYSBwb3NzaWJsZSB0ZXh0ICovXG5cdFx0XHRwYWRkaW5nOiAjeyRjbGlja2FibGUtYXJlYSAvIDJ9IDAgI3skY2xpY2thYmxlLWFyZWEgLyAyfSAkY2xpY2thYmxlLWFyZWE7XG5cdFx0fVxuXG5cdFx0Ly8gSWYgbm8gaWNvbnMgc2V0LCBmb3JjZSBsZWZ0IG1hcmdpbiB0byBhbGlnblxuXHRcdCY6bm90KFtjbGFzc149J2ljb24tJ10pOm5vdChbY2xhc3MqPSdpY29uLSddKSB7XG5cdFx0XHQ+IHNwYW4sXG5cdFx0XHQ+IGlucHV0LFxuXHRcdFx0PiBmb3JtIHtcblx0XHRcdFx0Jjpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogJGNsaWNrYWJsZS1hcmVhO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JltjbGFzc149J2ljb24tJ10sXG5cdFx0JltjbGFzcyo9JyBpY29uLSddIHtcblx0XHRcdHBhZGRpbmc6IDAgJGljb24tbWFyZ2luIDAgJGNsaWNrYWJsZS1hcmVhO1xuXHRcdH1cblxuXHRcdCY6bm90KDpkaXNhYmxlZCk6aG92ZXIsXG5cdFx0Jjpub3QoOmRpc2FibGVkKTpmb2N1cyxcblx0XHQmOm5vdCg6ZGlzYWJsZWQpLmFjdGl2ZSB7XG5cdFx0XHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0LyogcHJldmVudCAuYWN0aW9uIGNsYXNzIHRvIGJyZWFrIHRoZSBkZXNpZ24gKi9cblx0XHQmLmFjdGlvbiB7XG5cdFx0XHRwYWRkaW5nOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0PiBzcGFuIHtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0fVxuXG5cdFx0Ly8gbG9uZyB0ZXh0IGFyZWFcblx0XHQ+IHAge1xuXHRcdFx0d2lkdGg6IDE1MHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNmVtO1xuXHRcdFx0cGFkZGluZzogOHB4IDA7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG5cdFx0XHQvLyBpbiBjYXNlIHRoZXJlIGFyZSBubyBzcGFjZXMgbGlrZSBsb25nIGVtYWlsIGFkZHJlc3Nlc1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdH1cblxuXHRcdC8vIFRPRE86IGRvIHdlIHJlYWxseSBzdXBwb3J0cyBpdD9cblx0XHQ+IHNlbGVjdCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRtYXJnaW4tbGVmdDogNnB4O1xuXHRcdH1cblxuXHRcdC8qIEFkZCBwYWRkaW5nIGlmIGNvbnRhaW5zIGljb24rdGV4dCAqL1xuXHRcdCY6bm90KDplbXB0eSkge1xuXHRcdFx0cGFkZGluZy1yaWdodDogJGljb24tbWFyZ2luICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0LyogREVQUkVDQVRFRCEgb2xkIGltZyBpbiBwb3BvdmVyIGZhbGxiYWNrXG5cdFx0XHQqIFRPRE86IHRvIHJlbW92ZSAqL1xuXHRcdD4gaW1nIHtcblx0XHRcdHdpZHRoOiAkaWNvbi1zaXplO1xuXHRcdFx0cGFkZGluZzogJGljb24tbWFyZ2luO1xuXHRcdH1cblxuXHRcdC8qIGNoZWNrYm94L3JhZGlvIGZpeGVzICovXG5cdFx0PiBpbnB1dC5yYWRpbyArIGxhYmVsLFxuXHRcdD4gaW5wdXQuY2hlY2tib3ggKyBsYWJlbCB7XG5cdFx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdFx0PiBpbnB1dC5jaGVja2JveCArIGxhYmVsOjpiZWZvcmUge1xuXHRcdFx0bWFyZ2luOiAtMnB4IDEzcHggMDtcblx0XHR9XG5cdFx0PiBpbnB1dC5yYWRpbyArIGxhYmVsOjpiZWZvcmUge1xuXHRcdFx0bWFyZ2luOiAtMnB4IDEycHggMDtcblx0XHR9XG5cdFx0PiBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9aW1hZ2VdKSB7XG5cdFx0XHR3aWR0aDogMTUwcHg7XG5cdFx0fVxuXG5cdFx0Ly8gRm9ybXMgJiB0ZXh0IGlucHV0c1xuXHRcdGZvcm0ge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdFx0LyogcHV0IGEgc21hbGwgc3BhY2UgYmV0d2VlbiB0ZXh0IGFuZCBmb3JtXG5cdFx0XHRcdGlmIHRoZXJlIGlzIGFuIGVsZW1lbnQgYmVmb3JlICovXG5cdFx0XHQmOm5vdCg6Zmlyc3QtY2hpbGQpICB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8qIG5vIG1hcmdpbiBpZiBoaWRkZW4gc3BhbiBiZWZvcmUgKi9cblx0XHQ+IHNwYW4uaGlkZGVuICsgZm9ybSxcblx0XHQ+IHNwYW5bc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSArIGZvcm0ge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0fVxuXHRcdC8qIElucHV0cyBpbnNpZGUgcG9wb3ZlciBzdXBwb3J0cyB0ZXh0LCBzdWJtaXQgJiByZXNldCAqL1xuXHRcdGlucHV0IHtcblx0XHRcdG1pbi13aWR0aDogJGNsaWNrYWJsZS1hcmVhO1xuXHRcdFx0bWF4LWhlaWdodDogI3skY2xpY2thYmxlLWFyZWEgLSA0cHh9OyAvKiB0d2ljZSB0aGUgZWxlbWVudCBtYXJnaW4teSAqL1xuXHRcdFx0bWFyZ2luOiAycHggMDtcblx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdFx0Ly8gc3BhY2UgYmV0d2VlbiBpbmxpbmUgaW5wdXRzXG5cdFx0XHQmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBUT0RPOiBkbyB0aGF0IGluIGpzLCBzaG91bGQgYmUgY2xlYW5lclxuXHQvKiBjc3MgaGFjaywgb25seSBmaXJzdCBub3QgaGlkZGVuICovXG5cdCY6bm90KC5oaWRkZW4pOm5vdChbc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSkge1xuXHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHQ+IGJ1dHRvbiwgPiBhLCA+IC5tZW51aXRlbSB7XG5cdFx0XHRcdD4gZm9ybSwgPiBpbnB1dCB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogJGljb24tbWFyZ2luIC0gMnB4OyAvLyBtaW51cyB0aGUgaW5wdXQgbWFyZ2luXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0PiBidXR0b24sID4gYSwgPiAubWVudWl0ZW0ge1xuXHRcdFx0XHQ+IGZvcm0sID4gaW5wdXQge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206ICRpY29uLW1hcmdpbiAtIDJweDsgLy8gbWludXMgdGhlIGlucHV0IG1hcmdpblxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdD4gYnV0dG9uIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHNwYW4ge1xuXHRcdFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcblx0XHR9XG5cdH1cbn1cbjwvc3R5bGU+XG4iLCI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMjAgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4tLT5cblxuPHRlbXBsYXRlPlxuXHQ8ZGl2IGNsYXNzPVwiYXV0b2NvbXBsZXRlLXJlc3VsdFwiPlxuXHRcdDwhLS0gQXZhdGFyIG9yIGljb24gLS0+XG5cdFx0PGRpdiA6Y2xhc3M9XCJbaWNvbiwgYGF1dG9jb21wbGV0ZS1yZXN1bHRfX2ljb24tLSR7YXZhdGFyVXJsID8gJ3dpdGgtYXZhdGFyJyA6ICcnfWBdXCJcblx0XHRcdDpzdHlsZT1cImF2YXRhclVybCA/IHsgYmFja2dyb3VuZEltYWdlOiBgdXJsKCR7YXZhdGFyVXJsfSlgIH0gOiBudWxsIFwiXG5cdFx0XHRjbGFzcz1cImF1dG9jb21wbGV0ZS1yZXN1bHRfX2ljb25cIj5cblx0XHRcdDxkaXYgdi1pZj1cImhhdmVTdGF0dXNcIlxuXHRcdFx0XHQ6Y2xhc3M9XCJbYGF1dG9jb21wbGV0ZS1yZXN1bHRfX3N0YXR1cy0tJHtzdGF0dXMgJiYgc3RhdHVzLmljb24gPyAnaWNvbicgOiBzdGF0dXMuc3RhdHVzfWBdXCJcblx0XHRcdFx0Y2xhc3M9XCJhdXRvY29tcGxldGUtcmVzdWx0X19zdGF0dXNcIj5cblx0XHRcdFx0e3sgc3RhdHVzICYmIHN0YXR1cy5pY29uIHx8ICcnIH19XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblxuXHRcdDwhLS0gVGl0bGUgYW5kIHN1YnRpdGxlIC0tPlxuXHRcdDxzcGFuIGNsYXNzPVwiYXV0b2NvbXBsZXRlLXJlc3VsdF9fY29udGVudFwiPlxuXHRcdFx0PHNwYW4gY2xhc3M9XCJhdXRvY29tcGxldGUtcmVzdWx0X190aXRsZVwiPlxuXHRcdFx0XHR7eyBsYWJlbCB9fVxuXHRcdFx0PC9zcGFuPlxuXHRcdFx0PHNwYW4gdi1pZj1cInN1YmxpbmVcIiBjbGFzcz1cImF1dG9jb21wbGV0ZS1yZXN1bHRfX3N1YmxpbmVcIj5cblx0XHRcdFx0e3sgc3VibGluZSB9fVxuXHRcdFx0PC9zcGFuPlxuXHRcdDwvc3Bhbj5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IHsgZ2VuZXJhdGVVcmwgfSBmcm9tICdAbmV4dGNsb3VkL3JvdXRlcidcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnQXV0b0NvbXBsZXRlUmVzdWx0JyxcblxuXHRwcm9wczoge1xuXHRcdGxhYmVsOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRyZXF1aXJlZDogdHJ1ZSxcblx0XHR9LFxuXHRcdHN1YmxpbmU6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6IG51bGwsXG5cdFx0fSxcblx0XHRpZDoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogbnVsbCxcblx0XHR9LFxuXHRcdGljb246IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdFx0c291cmNlOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRyZXF1aXJlZDogdHJ1ZSxcblx0XHR9LFxuXHRcdHN0YXR1czoge1xuXHRcdFx0dHlwZTogW09iamVjdCwgQXJyYXldLFxuXHRcdFx0ZGVmYXVsdDogKCkgPT4gKHt9KSxcblx0XHR9LFxuXHR9LFxuXHRjb21wdXRlZDoge1xuXHRcdGF2YXRhclVybCgpIHtcblx0XHRcdHJldHVybiB0aGlzLmlkICYmIHRoaXMuc291cmNlID09PSAndXNlcnMnXG5cdFx0XHRcdD8gdGhpcy5nZXRBdmF0YXJVcmwodGhpcy5pZCwgNDQpXG5cdFx0XHRcdDogbnVsbFxuXHRcdH0sXG5cdFx0aGF2ZVN0YXR1cygpIHtcblx0XHRcdHJldHVybiB0aGlzLnN0YXR1cz8uaWNvbiB8fCB0aGlzLnN0YXR1cz8uc3RhdHVzXG5cdFx0fSxcblx0fSxcblxuXHRtZXRob2RzOiB7XG5cdFx0Z2V0QXZhdGFyVXJsKHVzZXIsIHNpemUpIHtcblx0XHRcdHJldHVybiBnZW5lcmF0ZVVybCgnL2F2YXRhci97dXNlcn0ve3NpemV9Jywge1xuXHRcdFx0XHR1c2VyLFxuXHRcdFx0XHRzaXplLFxuXHRcdFx0fSlcblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbkBpbXBvcnQgJy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlJztcbiRhdXRvY29tcGxldGUtcGFkZGluZzogMTBweDtcblxuLmF1dG9jb21wbGV0ZS1yZXN1bHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcblx0cGFkZGluZzogJGF1dG9jb21wbGV0ZS1wYWRkaW5nO1xuXG5cdC5oaWdobGlnaHQgJiB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG5cdFx0JiwgKiB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0Jl9faWNvbiB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGZsZXg6IDAgMCAkY2xpY2thYmxlLWFyZWE7XG5cdFx0d2lkdGg6ICRjbGlja2FibGUtYXJlYTtcblx0XHRtaW4td2lkdGg6ICRjbGlja2FibGUtYXJlYTtcblx0XHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcblx0XHRib3JkZXItcmFkaXVzOiAkY2xpY2thYmxlLWFyZWE7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrZXIpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogJGNsaWNrYWJsZS1hcmVhIC0gMiAqICRhdXRvY29tcGxldGUtcGFkZGluZztcblx0XHQmLS13aXRoLWF2YXRhciB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0fVxuXHR9XG5cblx0Jl9fc3RhdHVzIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IC00cHg7XG5cdFx0Ym90dG9tOiAtNHB4O1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0d2lkdGg6IDE4cHg7XG5cdFx0aGVpZ2h0OiAxOHB4O1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1kZWZhdWx0LWZvbnQtc2l6ZSk7XG5cdFx0bGluZS1oZWlnaHQ6IDE1cHg7XG5cdFx0Ji0tb25saW5lIHtcblx0XHRcdGNvbG9yOiAjNDliMzgyO1xuXG5cdFx0XHRAaW5jbHVkZSBpY29uZm9udCgndXNlci1zdGF0dXMtb25saW5lJyk7XG5cdFx0fVxuXHRcdCYtLWRuZCB7XG5cdFx0XHRjb2xvcjogI2VkNDg0Yztcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cblx0XHRcdEBpbmNsdWRlIGljb25mb250KCd1c2VyLXN0YXR1cy1kbmQnKTtcblx0XHR9XG5cdFx0Ji0tYXdheSB7XG5cdFx0XHRjb2xvcjogI2Y0YTMzMTtcblxuXHRcdFx0QGluY2x1ZGUgaWNvbmZvbnQoJ3VzZXItc3RhdHVzLWF3YXknKTtcblx0XHR9XG5cdFx0Ji0tb2ZmbGluZSxcblx0XHQmLS1pY29uIHtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0fVxuXG5cdCZfX2NvbnRlbnQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleDogMSAxIDEwMCU7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRtaW4td2lkdGg6IDA7XG5cdFx0cGFkZGluZy1sZWZ0OiAkYXV0b2NvbXBsZXRlLXBhZGRpbmc7XG5cdH1cblxuXHQmX190aXRsZSxcblx0Jl9fc3VibGluZSB7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR9XG5cblx0Jl9fc3VibGluZSB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XG5cdH1cbn1cblxuPC9zdHlsZT5cbiIsIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICAtXG4gIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbi0tPlxuXG48dGVtcGxhdGU+XG5cdDxzcGFuIDpjbGFzcz1cInsnbWVudGlvbi1idWJibGUtLXByaW1hcnknOiBwcmltYXJ5fVwiXG5cdFx0Y2xhc3M9XCJtZW50aW9uLWJ1YmJsZVwiXG5cdFx0Y29udGVudGVkaXRhYmxlPVwiZmFsc2VcIj5cblx0XHQ8c3BhbiBjbGFzcz1cIm1lbnRpb24tYnViYmxlX193cmFwcGVyXCI+XG5cdFx0XHQ8c3BhbiBjbGFzcz1cIm1lbnRpb24tYnViYmxlX19jb250ZW50XCI+XG5cdFx0XHRcdDwhLS0gQXZhdGFyIG9yIGljb24gLS0+XG5cdFx0XHRcdDxzcGFuIDpjbGFzcz1cIltpY29uLCBgbWVudGlvbi1idWJibGVfX2ljb24tLSR7YXZhdGFyVXJsID8gJ3dpdGgtYXZhdGFyJyA6ICcnfWBdXCJcblx0XHRcdFx0XHQ6c3R5bGU9XCJhdmF0YXJVcmwgPyB7IGJhY2tncm91bmRJbWFnZTogYHVybCgke2F2YXRhclVybH0pYCB9IDogbnVsbFwiXG5cdFx0XHRcdFx0Y2xhc3M9XCJtZW50aW9uLWJ1YmJsZV9faWNvblwiIC8+XG5cblx0XHRcdFx0PCEtLSBUaXRsZSAtLT5cblx0XHRcdFx0PHNwYW4gcm9sZT1cImhlYWRpbmdcIiBjbGFzcz1cIm1lbnRpb24tYnViYmxlX190aXRsZVwiIDp0aXRsZT1cImxhYmVsXCIgLz5cblx0XHRcdDwvc3Bhbj5cblxuXHRcdFx0PCEtLSBTZWxlY3RhYmxlIHRleHQgZm9yIGNvcHkvcGFzdGUgLS0+XG5cdFx0XHQ8c3BhbiByb2xlPVwibm9uZVwiIGNsYXNzPVwibWVudGlvbi1idWJibGVfX3NlbGVjdFwiPnt7IG1lbnRpb25UZXh0IH19PC9zcGFuPlxuXHRcdDwvc3Bhbj5cblx0PC9zcGFuPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCB7IGdlbmVyYXRlVXJsIH0gZnJvbSAnQG5leHRjbG91ZC9yb3V0ZXInXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ01lbnRpb25CdWJibGUnLFxuXG5cdHByb3BzOiB7XG5cdFx0aWQ6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdFx0bGFiZWw6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdFx0aWNvbjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblx0XHRzb3VyY2U6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdFx0cHJpbWFyeToge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdH0sXG5cdGNvbXB1dGVkOiB7XG5cdFx0YXZhdGFyVXJsKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuaWQgJiYgdGhpcy5zb3VyY2UgPT09ICd1c2Vycydcblx0XHRcdFx0PyB0aGlzLmdldEF2YXRhclVybCh0aGlzLmlkLCA0NClcblx0XHRcdFx0OiBudWxsXG5cdFx0fSxcblx0XHRtZW50aW9uVGV4dCgpIHtcblx0XHRcdHJldHVybiB0aGlzLmlkLmluZGV4T2YoJyAnKSA9PT0gLTFcblx0XHRcdFx0PyBgQCR7dGhpcy5pZH1gXG5cdFx0XHRcdDogYEBcIiR7dGhpcy5pZH1cImBcblx0XHR9LFxuXHR9LFxuXG5cdG1ldGhvZHM6IHtcblx0XHRnZXRBdmF0YXJVcmwodXNlciwgc2l6ZSkge1xuXHRcdFx0cmV0dXJuIGdlbmVyYXRlVXJsKCcvYXZhdGFyL3t1c2VyfS97c2l6ZX0nLCB7XG5cdFx0XHRcdHVzZXIsXG5cdFx0XHRcdHNpemUsXG5cdFx0XHR9KVxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuJGJ1YmJsZS1oZWlnaHQ6IDIwcHg7XG4kYnViYmxlLW1heC13aWR0aDogMTUwcHg7XG4kYnViYmxlLXBhZGRpbmc6IDJweDtcbiRidWJibGUtYXZhdGFyLXNpemU6ICRidWJibGUtaGVpZ2h0IC0gMiAqICRidWJibGUtcGFkZGluZztcblxuLm1lbnRpb24tYnViYmxlIHtcblx0Ji0tcHJpbWFyeSAmX19jb250ZW50IHtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xuXHR9XG5cblx0Jl9fd3JhcHBlciB7XG5cdFx0bWF4LXdpZHRoOiAkYnViYmxlLW1heC13aWR0aDtcblx0XHQvLyBBbGlnbiB3aXRoIHRleHRcblx0XHRoZWlnaHQ6ICRidWJibGUtaGVpZ2h0IC0gJGJ1YmJsZS1wYWRkaW5nO1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6ICRidWJibGUtaGVpZ2h0IDtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRidWJibGUtcGFkZGluZyAqIDM7XG5cdFx0cGFkZGluZy1sZWZ0OiAkYnViYmxlLXBhZGRpbmc7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJ1YmJsZS1oZWlnaHQgLyAyO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7XG5cdH1cblxuXHQmX19pY29uIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6ICRidWJibGUtYXZhdGFyLXNpemU7XG5cdFx0aGVpZ2h0OiAkYnViYmxlLWF2YXRhci1zaXplO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRidWJibGUtYXZhdGFyLXNpemUgLyAyO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6ICRidWJibGUtYXZhdGFyLXNpemUgLSAyICogJGJ1YmJsZS1wYWRkaW5nO1xuXG5cdFx0Ji0td2l0aC1hdmF0YXIge1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1hcmdpbi1sZWZ0OiAkYnViYmxlLXBhZGRpbmc7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHQvLyBQdXQgbGFiZWwgaW4gOjpiZWZvcmUgc28gaXQgaXMgbm90IHNlbGVjdGFibGVcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogYXR0cih0aXRsZSk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gSGlkZSB0aGUgbWVudGlvbiBpZCBzbyBpdCBpcyBzZWxlY3RhYmxlXG5cdCZfX3NlbGVjdCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IC0xO1xuXHRcdGxlZnQ6IC0xMDAwcHg7XG5cdH1cbn1cblxuPC9zdHlsZT5cbiIsIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICAtXG4gIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbi0tPlxuXG48ZG9jcz5cblxuIyMjIEdlbmVyYWwgZGVzY3JpcHRpb25cblxuVGhpcyBjb21wb25lbnQgZGlzcGxheXMgY29udGVudGVkaXRhYmxlIGRpdiB3aXRoIGF1dG9tYXRlZCBAIGF1dG9jb21wbGV0aW9uIFthdF0uXG5cbiMjIyBFeGFtcGxlc1xuXG5gYGB2dWVcbjx0ZW1wbGF0ZT5cblx0PGRpdj5cblx0XHQ8UmljaENvbnRlbnRlZGl0YWJsZVxuXHRcdFx0di1tb2RlbD1cIm1lc3NhZ2VcIlxuXHRcdFx0OmF1dG8tY29tcGxldGU9XCJhdXRvQ29tcGxldGVcIlxuXHRcdFx0Om1heGxlbmd0aD1cIjEwMFwiXG5cdFx0XHQ6dXNlci1kYXRhPVwidXNlckRhdGFcIlxuXHRcdFx0cGxhY2Vob2xkZXI9XCJUcnkgbWVudGlvbmluZyB0aGUgdXNlciBUZXN0MDFcIlxuXHRcdFx0QHN1Ym1pdD1cIm9uU3VibWl0XCIgLz5cblx0XHQ8YnI+XG5cblx0XHQ8UmljaENvbnRlbnRlZGl0YWJsZVxuXHRcdFx0di1tb2RlbD1cIm1lc3NhZ2VcIlxuXHRcdFx0OmF1dG8tY29tcGxldGU9XCJhdXRvQ29tcGxldGVcIlxuXHRcdFx0Om1heGxlbmd0aD1cIjQwMFwiXG5cdFx0XHQ6bXVsdGlsaW5lPVwidHJ1ZVwiXG5cdFx0XHQ6dXNlci1kYXRhPVwidXNlckRhdGFcIlxuXHRcdFx0cGxhY2Vob2xkZXI9XCJUcnkgbWVudGlvbmluZyB0aGUgdXNlciBUZXN0MDFcIlxuXHRcdFx0QHN1Ym1pdD1cIm9uU3VibWl0XCIgLz5cblx0XHQ8YnI+XG5cdFx0PGJyPlxuXHRcdHt7IEpTT04uc3RyaW5naWZ5KG1lc3NhZ2UpIH19XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdG1lc3NhZ2U6ICdMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldC4nLFxuXG5cdFx0XHQvLyBZb3UgbmVlZCB0byBwcm92aWRlIHRoaXMgZm9yIHRoZSBpbmxpbmVcblx0XHRcdC8vIG1lbnRpb24gdG8gdW5kZXJzdGFuZCB3aGF0IHRvIGRpc3BsYXkgb3Igbm90LlxuXHRcdFx0dXNlckRhdGE6IHtcblx0XHRcdFx0VGVzdDAxOiB7XG5cdFx0XHRcdFx0aWNvbjogJ2ljb24tdXNlcicsXG5cdFx0XHRcdFx0aWQ6ICdUZXN0MDEnLFxuXHRcdFx0XHRcdGxhYmVsOiAnVGVzdDAxJyxcblx0XHRcdFx0XHRzb3VyY2U6ICd1c2VycycsXG5cdFx0XHRcdFx0cHJpbWFyeTogdHJ1ZSxcblx0XHRcdFx0fSxcblx0XHRcdFx0VGVzdDAyOiB7XG5cdFx0XHRcdFx0aWNvbjogJ2ljb24tdXNlcicsXG5cdFx0XHRcdFx0aWQ6ICdUZXN0MDInLFxuXHRcdFx0XHRcdGxhYmVsOiAnVGVzdDAyJyxcblx0XHRcdFx0XHRzb3VyY2U6ICd1c2VycycsXG5cdFx0XHRcdFx0c3RhdHVzOiB7XG5cdFx0XHRcdFx0XHRjbGVhckF0OiBudWxsLFxuXHRcdFx0XHRcdFx0aWNvbjogJ/CfjqEnLFxuXHRcdFx0XHRcdFx0bWVzc2FnZTogJ1Zpc2l0aW5nIExvbmRvbicsXG5cdFx0XHRcdFx0XHRzdGF0dXM6ICdhd2F5Jyxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHN1YmxpbmU6ICdWaXNpdGluZyBMb25kb24nLFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0LyoqXG5cdFx0KiBEbyB5b3VyIG93biBxdWVyeSB0byB0aGUgYXV0b2NvbXBsZXRpb24gYXBpLlxuXHRcdCogVGhlIHJldHVybmVkIGRhdGEgYmVsbG93IGlzIGEgZmFrZSBkYXRhIGV4YW1wbGUuXG5cdFx0KiBUaGUgY2FsbGJhY2sgZXhwZWN0cyB0aGUgc2FtZSBmb3JtYXQgcmV0dXJuZWQgYnkgdGhlIGNvcmUvYXV0b2NvbXBsZXRlL2dldCBvY3MgYXBpIGVuZHBvaW50IVxuXHRcdCogQHNlZSB1c2VyRGF0YSBleGFtcGxlIGFib3ZlXG5cdFx0KlxuXHRcdCogQHBhcmFtIHtzdHJpbmd9IHNlYXJjaCB0aGUgcXVlcnlcblx0XHQqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrIHRoZSBjYWxsYmFjayB0byBwcm9jZXNzIHRoZSByZXN1bHRzIHdpdGhcblx0XHQqL1xuXHRcdGF1dG9Db21wbGV0ZShzZWFyY2gsIGNhbGxiYWNrKSB7XG5cdFx0XHRjYWxsYmFjayhPYmplY3QudmFsdWVzKHRoaXMudXNlckRhdGEpKVxuXHRcdH0sXG5cdFx0b25TdWJtaXQoKSB7XG5cdFx0XHRhbGVydCh0aGlzLm1lc3NhZ2UpXG5cdFx0fVxuXHR9XG59XG48L3NjcmlwdD5cbmBgYFxuXG48L2RvY3M+XG5cbjx0ZW1wbGF0ZT5cblx0PGRpdiByZWY9XCJjb250ZW50ZWRpdGFibGVcIlxuXHRcdHYtdG9vbHRpcD1cInRvb2x0aXBcIlxuXHRcdDpjbGFzcz1cIntcblx0XHRcdCdyaWNoLWNvbnRlbnRlZGl0YWJsZV9faW5wdXQtLWVtcHR5JzogaXNFbXB0eVZhbHVlLFxuXHRcdFx0J3JpY2gtY29udGVudGVkaXRhYmxlX19pbnB1dC0tbXVsdGlsaW5lJzogbXVsdGlsaW5lLFxuXHRcdFx0J3JpY2gtY29udGVudGVkaXRhYmxlX19pbnB1dC0tb3ZlcmZsb3cnOiBpc092ZXJNYXhsZW5ndGgsXG5cdFx0fVwiXG5cdFx0OmNvbnRlbnRlZGl0YWJsZT1cImNvbnRlbnRlZGl0YWJsZVwiXG5cdFx0OnBsYWNlaG9sZGVyPVwicGxhY2Vob2xkZXJcIlxuXHRcdGFyaWEtbXVsdGlsaW5lPVwidHJ1ZVwiXG5cdFx0Y2xhc3M9XCJyaWNoLWNvbnRlbnRlZGl0YWJsZV9faW5wdXRcIlxuXHRcdHJvbGU9XCJ0ZXh0Ym94XCJcblx0XHRAaW5wdXQ9XCJvbklucHV0XCJcblx0XHR2LW9uPVwiJGxpc3RlbmVyc1wiXG5cdFx0QGtleWRvd24uZGVsZXRlPVwib25EZWxldGVcIlxuXHRcdEBrZXlkb3duLmVudGVyLmV4YWN0PVwib25FbnRlclwiXG5cdFx0QGtleWRvd24uY3RybC5lbnRlci5leGFjdC5zdG9wLnByZXZlbnQ9XCJvbkN0cmxFbnRlclwiXG5cdFx0QHBhc3RlPVwib25QYXN0ZVwiIC8+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IFRyaWJ1dGUgZnJvbSAndHJpYnV0ZWpzL2Rpc3QvdHJpYnV0ZS5lc20nXG5pbXBvcnQgZGVib3VuY2UgZnJvbSAnZGVib3VuY2UnXG5pbXBvcnQgc3RyaW5nTGVuZ3RoIGZyb20gJ3N0cmluZy1sZW5ndGgnXG5cbmltcG9ydCB7IHQgfSBmcm9tICcuLi8uLi9sMTBuLmpzJ1xuaW1wb3J0IEF1dG9Db21wbGV0ZVJlc3VsdCBmcm9tICcuL0F1dG9Db21wbGV0ZVJlc3VsdCdcbmltcG9ydCByaWNoRWRpdG9yIGZyb20gJy4uLy4uL21peGlucy9yaWNoRWRpdG9yL2luZGV4J1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdSaWNoQ29udGVudGVkaXRhYmxlJyxcblxuXHRtaXhpbnM6IFtyaWNoRWRpdG9yXSxcblxuXHRwcm9wczoge1xuXHRcdHZhbHVlOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdFx0cGxhY2Vob2xkZXI6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6IHQoJ1dyaXRlIG1lc3NhZ2UsIEAgdG8gbWVudGlvbiBzb21lb25lIOKApicpLFxuXHRcdH0sXG5cdFx0YXV0b0NvbXBsZXRlOiB7XG5cdFx0XHR0eXBlOiBGdW5jdGlvbixcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdFx0bWVudUNvbnRhaW5lcjoge1xuXHRcdFx0dHlwZTogRWxlbWVudCxcblx0XHRcdGRlZmF1bHQ6ICgpID0+IGRvY3VtZW50LmJvZHksXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIE1ha2UgdGhlIGNvbnRlbnRlZGl0YWJsZSBsb29rcyBsaWtlIGEgdGV4dGFyZWEgb3Igbm90LlxuXHRcdCAqIERlZmF1bHQgbG9va3MgbGlrZSBhIHNpbmdsZS1saW5lIGlucHV0LlxuXHRcdCAqIFRoaXMgYWxzbyBoYW5kbGUgdGhlIGRlZmF1bHQgZW50ZXIvc2hpZnQrZW50ZXIgYmVoYXZpb3VyLlxuXHRcdCAqIGlmIG11bHRpbGluZSwgZW50ZXIgPSBuZXdsaW5lOyBvdGhlcndpc2UgZW50ZXIgPSBzdWJtaXRcblx0XHQgKiBzaGlmdCtlbnRlciBhbHdheXMgYWRkIGEgbmV3IGxpbmUuIGN0cmwrZW50ZXIgYWx3YXlzIHN1Ym1pdHNcblx0XHQgKi9cblx0XHRtdWx0aWxpbmU6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogSXMgdGhlIGNvbnRlbnQgZWRpdGFibGUgP1xuXHRcdCAqL1xuXHRcdGNvbnRlbnRlZGl0YWJsZToge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IHRydWUsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIE1heCBhbGxvd2VkIGxlbmd0aFxuXHRcdCAqL1xuXHRcdG1heGxlbmd0aDoge1xuXHRcdFx0dHlwZTogTnVtYmVyLFxuXHRcdFx0ZGVmYXVsdDogbnVsbCxcblx0XHR9LFxuXHR9LFxuXG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHRyaWJ1dGU6IG51bGwsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdGZpbGxBdHRyOiAnaWQnLFxuXHRcdFx0XHQvLyBTZWFyY2ggYWdhaW5zdCBpZCBhbmQgbGFiZWwgKGRpc3BsYXkgbmFtZSlcblx0XHRcdFx0bG9va3VwOiByZXN1bHQgPT4gYCR7cmVzdWx0LmlkfSAke3Jlc3VsdC5sYWJlbH1gLFxuXHRcdFx0XHQvLyBXaGVyZSB0byBpbmplY3QgdGhlIG1lbnUgcG9wdXBcblx0XHRcdFx0bWVudUNvbnRhaW5lcjogdGhpcy5tZW51Q29udGFpbmVyLFxuXHRcdFx0XHQvLyBQb3B1cCBtZW50aW9uIGF1dG9jb21wbGV0aW9uIHRlbXBsYXRlc1xuXHRcdFx0XHRtZW51SXRlbVRlbXBsYXRlOiBpdGVtID0+IHRoaXMucmVuZGVyQ29tcG9uZW50SHRtbChpdGVtLm9yaWdpbmFsLCBBdXRvQ29tcGxldGVSZXN1bHQpLFxuXHRcdFx0XHQvLyBIaWRlIGlmIG5vIHJlc3VsdHNcblx0XHRcdFx0bm9NYXRjaFRlbXBsYXRlOiAoKSA9PiAnPHNwYW4gY2xhc3M9XCJoaWRkZW5cIj48L3NwYW4+Jyxcblx0XHRcdFx0Ly8gSW5uZXIgZGlzcGxheSBvZiBtZW50aW9uc1xuXHRcdFx0XHRzZWxlY3RUZW1wbGF0ZTogaXRlbSA9PiB0aGlzLmdlblNlbGVjdFRlbXBsYXRlKGl0ZW0/Lm9yaWdpbmFsPy5pZCksXG5cdFx0XHRcdC8vIEF1dG9jb21wbGV0aW9uIHJlc3VsdHNcblx0XHRcdFx0dmFsdWVzOiB0aGlzLmRlYm91bmNlZEF1dG9Db21wbGV0ZSxcblx0XHRcdH0sXG5cblx0XHRcdC8vIFJlcHJlc2VudCB0aGUgcmF3IHVudHJpbW1lZCB0ZXh0IG9mIHRoZSBjb250ZW50ZWRpdGFibGVcblx0XHRcdC8vIHNlcnZlcyBubyBvdGhlciBwdXJwb3NlIHRoYW4gdG8gY2hlY2sgd2hldGhlciB0aGVcblx0XHRcdC8vIGNvbnRlbnQgaXMgZW1wdHkgb3Igbm90XG5cdFx0XHRsb2NhbFZhbHVlOiB0aGlzLnZhbHVlLFxuXHRcdH1cblx0fSxcblxuXHRjb21wdXRlZDoge1xuXHRcdC8qKlxuXHRcdCAqIElzIHRoZSBjdXJyZW50IHRyaW1tZWQgdmFsdWUgZW1wdHk/XG5cdFx0ICogQHJldHVybnMge2Jvb2xlYW59XG5cdFx0ICovXG5cdFx0aXNFbXB0eVZhbHVlKCkge1xuXHRcdFx0cmV0dXJuICF0aGlzLmxvY2FsVmFsdWVcblx0XHRcdFx0fHwgKHRoaXMubG9jYWxWYWx1ZSAmJiB0aGlzLmxvY2FsVmFsdWUudHJpbSgpID09PSAnJylcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogSXMgdGhpcyBGaXJlZm94PyDwn5mEXG5cdFx0ICogQHJldHVybnMge2Jvb2xlYW59XG5cdFx0ICovXG5cdFx0aXNGRigpIHtcblx0XHRcdHJldHVybiAhIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2ZpcmVmb3gvaSlcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogSXMgdGhlIGN1cnJlbnQgdmFsdWUgb3ZlciBtYXhsZW5ndGg/XG5cdFx0ICogQHJldHVybnMge2Jvb2xlYW59XG5cdFx0ICovXG5cdFx0aXNPdmVyTWF4bGVuZ3RoKCkge1xuXHRcdFx0aWYgKHRoaXMuaXNFbXB0eVZhbHVlIHx8ICF0aGlzLm1heGxlbmd0aCkge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2Vcblx0XHRcdH1cblx0XHRcdHJldHVybiBzdHJpbmdMZW5ndGgodGhpcy5sb2NhbFZhbHVlKSA+IHRoaXMubWF4bGVuZ3RoXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIFRvb2x0aXAgdG8gc2hvdyBpZiBjaGFyYWN0ZXJzIGNvdW50IGlzIG92ZXIgbGltaXRcblx0XHQgKiBAcmV0dXJucyB7c3RyaW5nfVxuXHRcdCAqL1xuXHRcdHRvb2x0aXAoKSB7XG5cdFx0XHRpZiAoIXRoaXMuaXNPdmVyTWF4bGVuZ3RoKSB7XG5cdFx0XHRcdHJldHVybiBudWxsXG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRjb250ZW50OiB0KCdNZXNzYWdlIGxpbWl0IG9mIHtjb3VudH0gY2hhcmFjdGVycyByZWFjaGVkJywgeyBjb3VudDogdGhpcy5tYXhsZW5ndGggfSksXG5cdFx0XHRcdHNob3c6IHRydWUsXG5cdFx0XHRcdHRyaWdnZXI6ICdtYW51YWwnLFxuXHRcdFx0fVxuXHRcdH0sXG5cdH0sXG5cblx0d2F0Y2g6IHtcblx0XHQvKipcblx0XHQgKiBJZiB0aGUgcGFyZW50IHZhbHVlIGNoYW5nZSwgd2UgY29tcGFyZSB0aGUgcGxhaW4gdGV4dCByZW5kZXJpbmdcblx0XHQgKiBJZiBpdCdzIGRpZmZlcmVudCwgd2UgcmVuZGVyIGV2ZXJ5dGhpbmcgYW5kIHVwZGF0ZSB0aGUgbWFpbiBjb250ZW50XG5cdFx0ICovXG5cdFx0dmFsdWUoKSB7XG5cdFx0XHRjb25zdCBodG1sID0gdGhpcy4kcmVmcy5jb250ZW50ZWRpdGFibGUuaW5uZXJIVE1MXG5cdFx0XHQvLyBDb21wYXJlIHRyaW1tZWQgdmVyc2lvbnMgdG8gYmUgc2FmZVxuXHRcdFx0aWYgKHRoaXMudmFsdWUudHJpbSgpICE9PSB0aGlzLnBhcnNlQ29udGVudChodG1sKS50cmltKCkpIHtcblx0XHRcdFx0dGhpcy51cGRhdGVDb250ZW50KHRoaXMudmFsdWUpXG5cdFx0XHR9XG5cdFx0fSxcblx0fSxcblxuXHRtb3VudGVkKCkge1xuXHRcdHRoaXMudHJpYnV0ZSA9IG5ldyBUcmlidXRlKHRoaXMub3B0aW9ucylcblx0XHR0aGlzLnRyaWJ1dGUuYXR0YWNoKHRoaXMuJGVsKVxuXG5cdFx0Ly8gVXBkYXRlIGRlZmF1bHQgdmFsdWVcblx0XHR0aGlzLnVwZGF0ZUNvbnRlbnQodGhpcy52YWx1ZSlcblxuXHRcdC8vIFJlbW92ZXMgdGhlIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgYXQgZmlyc3QgbG9hZCBpZiB0aGUgcHJvcCBpc1xuXHRcdC8vIHNldCB0byBmYWxzZS5cblx0XHR0aGlzLiRyZWZzLmNvbnRlbnRlZGl0YWJsZS5jb250ZW50RWRpdGFibGUgPSB0aGlzLmNvbnRlbnRlZGl0YWJsZVxuXHR9LFxuXHRiZWZvcmVEZXN0cm95KCkge1xuXHRcdGlmICh0aGlzLnRyaWJ1dGUpIHtcblx0XHRcdHRoaXMudHJpYnV0ZS5kZXRhY2godGhpcy4kZWwpXG5cdFx0fVxuXHR9LFxuXG5cdG1ldGhvZHM6IHtcblx0XHQvKipcblx0XHQgKiBSZS1lbWl0IHRoZSBpbnB1dCBldmVudCB0byB0aGUgcGFyZW50XG5cdFx0ICogQHBhcmFtIHtFdmVudH0gZXZlbnQgdGhlIGlucHV0IGV2ZW50XG5cdFx0ICovXG5cdFx0b25JbnB1dChldmVudCkge1xuXHRcdFx0dGhpcy51cGRhdGVWYWx1ZShldmVudC50YXJnZXQuaW5uZXJIVE1MKVxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBXaGVuIHBhc3RpbmcsIHNhbml0aXplIHRoZSBjb250ZW50LCBleHRyYWN0IHRleHRcblx0XHQgKiBhbmQgcmVuZGVyIGl0IGFnYWluXG5cdFx0ICogQHBhcmFtIHtFdmVudH0gZXZlbnQgdGhlIHBhc3RlIGV2ZW50XG5cdFx0ICogQGVtaXRzIHtFdmVudH0gcGFzdGUgdGhlIG9yaWdpbmFsIHBhc3RlIGV2ZW50XG5cdFx0ICovXG5cdFx0b25QYXN0ZShldmVudCkge1xuXHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKVxuXHRcdFx0Y29uc3QgY2xpcGJvYXJkRGF0YSA9IGV2ZW50LmNsaXBib2FyZERhdGFcblxuXHRcdFx0LyoqIFRoZSBvcmlnaW5hbCBwYXN0ZSBldmVudCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgncGFzdGUnLCBldmVudClcblxuXHRcdFx0Ly8gSWYgd2UgaGF2ZSBhIGZpbGUgb3IgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgdGV4dCwgaWdub3JlXG5cdFx0XHRpZiAoY2xpcGJvYXJkRGF0YS5maWxlcy5sZW5ndGggIT09IDBcblx0XHRcdFx0fHwgIU9iamVjdC52YWx1ZXMoY2xpcGJvYXJkRGF0YS5pdGVtcykuZmluZChpdGVtID0+IGl0ZW0/LnR5cGUuc3RhcnRzV2l0aCgndGV4dCcpKSkge1xuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgaHRtbCA9IGNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dCcpXG5cdFx0XHRjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKClcblxuXHRcdFx0Ly8gSWYgbm8gc2VsZWN0aW9uLCByZXBsYWNlIHRoZSB3aG9sZSBkYXRhXG5cdFx0XHRpZiAoIXNlbGVjdGlvbi5yYW5nZUNvdW50KSB7XG5cdFx0XHRcdHRoaXMudXBkYXRlVmFsdWUoaHRtbClcblx0XHRcdH1cblxuXHRcdFx0Ly8gR2VuZXJhdGUgdGV4dCBhbmQgaW5zZXJ0XG5cdFx0XHRjb25zdCB0ZXh0ID0gdGhpcy5wYXJzZUNvbnRlbnQoaHRtbClcblx0XHRcdGNvbnN0IHJhbmdlID0gc2VsZWN0aW9uLmdldFJhbmdlQXQoMClcblx0XHRcdHNlbGVjdGlvbi5kZWxldGVGcm9tRG9jdW1lbnQoKVxuXHRcdFx0cmFuZ2UuaW5zZXJ0Tm9kZShkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0KSlcblxuXHRcdFx0Ly8gUHV0IGN1cnNvciBhdCB0aGUgZW5kIG9mIHRoZSBzZWxlY3Rpb25cblx0XHRcdGNvbnN0IG5ld1JhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKVxuXHRcdFx0bmV3UmFuZ2Uuc2V0U3RhcnQoZXZlbnQudGFyZ2V0LCByYW5nZS5lbmRPZmZzZXQpXG5cdFx0XHRuZXdSYW5nZS5jb2xsYXBzZSh0cnVlKVxuXHRcdFx0c2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpXG5cdFx0XHRzZWxlY3Rpb24uYWRkUmFuZ2UobmV3UmFuZ2UpXG5cblx0XHRcdC8vIFByb3BhZ2F0ZSBkYXRhXG5cdFx0XHR0aGlzLnVwZGF0ZVZhbHVlKGV2ZW50LnRhcmdldC5pbm5lckhUTUwpXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIFVwZGF0ZSB0aGUgdmFsdWUgdGV4dCBmcm9tIHRoZSBwcm92aWRlZCBodG1sXG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IGh0bWxPclRleHQgdGhlIGh0bWwgY29udGVudCAob3IgcmF3IHRleHQgd2l0aCBAbWVudGlvbnMpXG5cdFx0ICovXG5cdFx0dXBkYXRlVmFsdWUoaHRtbE9yVGV4dCkge1xuXHRcdFx0Y29uc3QgdGV4dCA9IHRoaXMucGFyc2VDb250ZW50KGh0bWxPclRleHQpXG5cdFx0XHR0aGlzLmxvY2FsVmFsdWUgPSB0ZXh0XG5cdFx0XHR0aGlzLiRlbWl0KCdpbnB1dCcsIHRleHQpXG5cdFx0XHR0aGlzLiRlbWl0KCd1cGRhdGU6dmFsdWUnLCB0ZXh0KVxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBVcGRhdGUgY29udGVudCBhbmQgbG9jYWwgdmFsdWVcblx0XHQgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgdGhlIG1lc3NhZ2UgdmFsdWVcblx0XHQgKi9cblx0XHR1cGRhdGVDb250ZW50KHZhbHVlKSB7XG5cdFx0XHRjb25zdCByZW5kZXJlZENvbnRlbnQgPSB0aGlzLnJlbmRlckNvbnRlbnQodmFsdWUpXG5cdFx0XHR0aGlzLiRyZWZzLmNvbnRlbnRlZGl0YWJsZS5pbm5lckhUTUwgPSByZW5kZXJlZENvbnRlbnRcblx0XHRcdHRoaXMubG9jYWxWYWx1ZSA9IHZhbHVlXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEJlY2F1c2UgRkYgaGF2ZSBhIGRlY2FkZSBvbGQgYnVnIHByZXZlbnRpbmcgY29udGVudGVkaXRhYmxlPWZhbHNlXG5cdFx0ICogdG8gcHJvcGVybHkgYmUgZGVsZXRlZCBvbiBiYWNrc3BhY2UsIHdlIGhhdmUgdG8gaGFjayDwn5GAXG5cdFx0ICogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzU5MzgzMzk0LzM4ODU4Nzhcblx0XHQgKiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMzA1NzQ2MjJcblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IHRoZSBkZWxldGUga2V5ZG93biBldmVudFxuXHRcdCAqL1xuXHRcdG9uRGVsZXRlKGV2ZW50KSB7XG5cdFx0XHRpZiAoIXRoaXMuaXNGRiB8fCAhd2luZG93LmdldFNlbGVjdGlvbikge1xuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblxuXHRcdFx0Ly8gZml4IGJhY2tzcGFjZSBidWcgaW4gRkZcblx0XHRcdC8vIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTQ0NVxuXHRcdFx0Y29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpXG5cdFx0XHRjb25zdCBub2RlID0gZXZlbnQudGFyZ2V0XG5cdFx0XHRpZiAoIXNlbGVjdGlvbi5pc0NvbGxhcHNlZCB8fCAhc2VsZWN0aW9uLnJhbmdlQ291bnQpIHtcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGN1clJhbmdlID0gc2VsZWN0aW9uLmdldFJhbmdlQXQoc2VsZWN0aW9uLnJhbmdlQ291bnQgLSAxKVxuXHRcdFx0aWYgKGN1clJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm5vZGVUeXBlID09PSAzICYmIGN1clJhbmdlLnN0YXJ0T2Zmc2V0ID4gMCkge1xuXHRcdFx0XHQvLyB3ZSBhcmUgaW4gY2hpbGQgc2VsZWN0aW9uLiBUaGUgY2hhcmFjdGVycyBvZiB0aGUgdGV4dCBub2RlIGlzIGJlaW5nIGRlbGV0ZWRcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKVxuXHRcdFx0aWYgKHNlbGVjdGlvbi5hbmNob3JOb2RlICE9PSBub2RlKSB7XG5cdFx0XHRcdC8vIHNlbGVjdGlvbiBpcyBpbiBjaGFyYWN0ZXIgbW9kZS4gZXhwYW5kIGl0IHRvIHRoZSB3aG9sZSBlZGl0YWJsZSBmaWVsZFxuXHRcdFx0XHRyYW5nZS5zZWxlY3ROb2RlQ29udGVudHMobm9kZSlcblx0XHRcdFx0cmFuZ2Uuc2V0RW5kQmVmb3JlKHNlbGVjdGlvbi5hbmNob3JOb2RlKVxuXHRcdFx0fSBlbHNlIGlmIChzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0ID4gMCkge1xuXHRcdFx0XHRyYW5nZS5zZXRFbmQobm9kZSwgc2VsZWN0aW9uLmFuY2hvck9mZnNldClcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8vIHJlYWNoZWQgdGhlIGJlZ2lubmluZyBvZiBlZGl0YWJsZSBmaWVsZFxuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblx0XHRcdHJhbmdlLnNldFN0YXJ0KG5vZGUsIHJhbmdlLmVuZE9mZnNldCAtIDEpXG5cblx0XHRcdGNvbnN0IHByZXZpb3VzTm9kZSA9IHJhbmdlLmNsb25lQ29udGVudHMoKS5sYXN0Q2hpbGRcblx0XHRcdGlmIChwcmV2aW91c05vZGUgJiYgcHJldmlvdXNOb2RlLmNvbnRlbnRFZGl0YWJsZSA9PT0gJ2ZhbHNlJykge1xuXHRcdFx0XHQvLyB0aGlzIGlzIHNvbWUgcmljaCBjb250ZW50LCBlLmcuIHNtaWxlLiBXZSBzaG91bGQgaGVscCB0aGUgdXNlciB0byBkZWxldGUgaXRcblx0XHRcdFx0cmFuZ2UuZGVsZXRlQ29udGVudHMoKVxuXHRcdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpXG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEVudGVyIGtleSBwcmVzc2VkLiBTdWJtaXRzIGlmIG5vdCBtdWx0aWxpbmVcblx0XHQgKiBAcGFyYW0ge0V2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuXHRcdCAqL1xuXHRcdG9uRW50ZXIoZXZlbnQpIHtcblx0XHRcdC8vIFByZXZlbnQgc3VibWl0dGluZyBpZiBhdXRvY29tcGxldGlvbiBtZW51XG5cdFx0XHQvLyBpcyBvcGVuZWQgb3IgbGVuZ3RoIGlzIG92ZXIgbWF4bGVuZ3RoXG5cdFx0XHRpZiAodGhpcy5tdWx0aWxpbmUgfHwgdGhpcy5pc092ZXJNYXhsZW5ndGggfHwgdGhpcy50cmlidXRlLmlzQWN0aXZlKSB7XG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpXG5cdFx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuXHRcdFx0dGhpcy4kZW1pdCgnc3VibWl0JywgZXZlbnQpXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBDdHJsICsgRW50ZXIga2V5IHByZXNzZWRcblx0XHQgKiBAcGFyYW0ge0V2ZW50fSBldmVudCB0aGUga2V5ZG93biBldmVudFxuXHRcdCAqL1xuXHRcdG9uQ3RybEVudGVyKGV2ZW50KSB7XG5cdFx0XHRpZiAodGhpcy5pc092ZXJNYXhsZW5ndGgpIHtcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cdFx0XHR0aGlzLiRlbWl0KCdzdWJtaXQnLCBldmVudClcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogRGVib3VuY2UgdGhlIGF1dG9jb21wbGV0ZSBmdW5jdGlvblxuXHRcdCAqL1xuXHRcdGRlYm91bmNlZEF1dG9Db21wbGV0ZTogZGVib3VuY2UoYXN5bmMgZnVuY3Rpb24oc2VhcmNoLCBjYWxsYmFjaykge1xuXHRcdFx0dGhpcy5hdXRvQ29tcGxldGUoc2VhcmNoLCBjYWxsYmFjaylcblx0XHR9LCAxMDApLFxuXHR9LFxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbi8vIFN0YW5kYWxvbmUgc3R5bGluZywgaW5kZXBlbmRlbnQgZnJvbSBzZXJ2ZXJcbi5yaWNoLWNvbnRlbnRlZGl0YWJsZV9faW5wdXQge1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHR3aWR0aDogYXV0bztcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiA2cHg7XG5cdGN1cnNvcjogdGV4dDtcblx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0b3V0bGluZTogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFjZSk7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0bWluLWhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xuXHRtYXgtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWEgKiA1LjU7XG5cblx0Ly8gQ2Fubm90IHVzZSA6ZW1wdHkgYmVjYXVzZSBvZiBmaXJlZm94IGJ1ZyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEzMzAzXG5cdCYtLWVtcHR5OmJlZm9yZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGNvbnRlbnQ6IGF0dHIocGxhY2Vob2xkZXIpO1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW1heGNvbnRyYXN0KTtcblx0fVxuXG5cdCZbY29udGVudGVkaXRhYmxlPSdmYWxzZSddIHtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0b3BhY2l0eTogLjU7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrZXIpO1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7XG5cdH1cblxuXHQmLS1tdWx0aWxpbmUge1xuXHRcdG1pbi1oZWlnaHQ6ICRjbGlja2FibGUtYXJlYSAqIDM7XG5cdFx0Ly8gTm8gbWF4IGZvciBtdXRpbGluZVxuXHRcdG1heC1oZWlnaHQ6IG5vbmU7XG5cdH1cbn1cblxuPC9zdHlsZT5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCI+XG5AaW1wb3J0ICcuLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZSc7XG5cbi50cmlidXRlLWNvbnRhaW5lciB7XG5cdHotaW5kZXg6IDkwMDA7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRtaW4td2lkdGg6IDI1MHB4O1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHQvLyBTaG93IG1heGltdW0gNCBlbnRyaWVzIGFuZCBhIGhhbGYgdG8gc2hvdyBzY3JvbGxcblx0Ly8gNDRweCArIDEwcHggcGFkZGluZ1xuXHRtYXgtaGVpZ2h0OiAoJGNsaWNrYWJsZS1hcmVhICsgMjBweCkgKiA0LjU7XG5cdC8vIFNwYWNlIGl0IG91dCBhIGJpdCBmcm9tIHRoZSB0ZXh0XG5cdG1hcmdpbjogNXB4IDA7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcblx0Ym94LXNoYWRvdzogMCAxcHggNXB4IHZhcigtLWNvbG9yLWJveC1zaGFkb3cpO1xufVxuXG48L3N0eWxlPlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEp1bGl1cyBIw6RydGwgPGp1c0BiaXRncmlkLm5ldD5cbiAgLVxuICAtIEBhdXRob3IgSnVsaXVzIEjDpHJ0bCA8anVzQGJpdGdyaWQubmV0PlxuICAtIEBhdXRob3IgR3JldGEgRG9jaSA8Z3JldGFkb2NpQGdtYWlsLmNvbT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICAtXG4gIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAgLVxuICAtLT5cblxuPGRvY3M+XG4jIyMgR2VuZXJhbCBkZXNjcmlwdGlvblxuXG5UaGlzIGNvbXBvbmVudCBpcyB0byBiZSB1c2VkIGluIHRoZSBzZXR0aW5ncyBzZWN0aW9uIG9mIG5leHRjbG91ZC5cblxuIyMjIEV4YW1wbGVzXG5cbmBgYHZ1ZVxuPHRlbXBsYXRlPlxuXHQ8U2V0dGluZ3NTZWN0aW9uXG5cdFx0dGl0bGU9XCJUd28tRmFjdG9yIEF1dGhlbnRpY2F0aW9uXCJcblx0XHRkZXNjcmlwdGlvbj1cIlR3by1mYWN0b3IgYXV0aGVudGljYXRpb24gY2FuIGJlIGVuZm9yY2VkIGZvciBhbGwgdXNlcnMgYW5kIHNwZWNpZmljIGdyb3Vwcy5cIlxuXHRcdGRvYy11cmw9XCJodHRwczovL2RvY3MubmV4dGNsb3VkLmNvbS9zZXJ2ZXIvMTkvZ28ucGhwP3RvPWFkbWluLTJmYVwiPlxuXHRcdFlvdXIgc2V0dGluZ3MgaGVyZVxuXHQ8L1NldHRpbmdzU2VjdGlvbj5cbjwvdGVtcGxhdGU+XG5gYGBcbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8ZGl2IGNsYXNzPVwic2V0dGluZ3Mtc2VjdGlvblwiPlxuXHRcdDxoMiBjbGFzcz1cInNldHRpbmdzLXNlY3Rpb25fX3RpdGxlXCI+XG5cdFx0XHR7eyB0aXRsZSB9fVxuXHRcdFx0PGEgdi1pZj1cImhhc0RvY1VybFwiXG5cdFx0XHRcdDpocmVmPVwiZG9jVXJsXCJcblx0XHRcdFx0Y2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uX19pbmZvXCJcblx0XHRcdFx0cm9sZT1cIlwiXG5cdFx0XHRcdDp0aXRsZT1cImRvY1RpdGxlVHJhbnNsYXRlZFwiIC8+XG5cdFx0PC9oMj5cblx0XHQ8cCB2LWlmPVwiaGFzRGVzY3JpcHRpb25cIlxuXHRcdFx0Y2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uX19kZXNjXCI+XG5cdFx0XHR7eyBkZXNjcmlwdGlvbiB9fVxuXHRcdDwvcD5cblx0XHQ8c2xvdCAvPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgeyB0IH0gZnJvbSAnLi4vLi4vbDEwbidcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnU2V0dGluZ3NTZWN0aW9uJyxcblx0Y29tcG9uZW50czoge1xuXG5cdH0sXG5cblx0cHJvcHM6IHtcblx0XHR0aXRsZToge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblx0XHRkZXNjcmlwdGlvbjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblx0XHRkb2NVcmw6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdH0sXG5cdH0sXG5cblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0ZG9jVGl0bGVUcmFuc2xhdGVkOiB0KCdFeHRlcm5hbCBkb2N1bWVudGF0aW9uIGZvciB7dGl0bGV9Jywge1xuXHRcdFx0XHR0aXRsZTogdGhpcy50aXRsZSxcblx0XHRcdH0pLFxuXHRcdH1cblx0fSxcblxuXHRjb21wdXRlZDoge1xuXHRcdGhhc0Rlc2NyaXB0aW9uKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZGVzY3JpcHRpb24ubGVuZ3RoID4gMFxuXHRcdH0sXG5cdFx0aGFzRG9jVXJsKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZG9jVXJsLmxlbmd0aCA+IDBcblx0XHR9LFxuXHR9LFxufVxuXG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuQGltcG9ydCAnLi4vLi4vZm9udHMvc2Nzcy9pY29uZm9udC12dWUnO1xuXG4uc2V0dGluZ3Mtc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiBhdXRvO1xuXHRwYWRkaW5nOiAzMHB4O1xuXG5cdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cblxuXHQmX19pbmZvIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0d2lkdGg6ICRjbGlja2FibGUtYXJlYTtcblx0XHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcblx0XHQvLyBtYWtlIHN1cmUgdG8gcHJvcGVybHkgYWxpZ24gdGhlIGljb24gd2l0aCB0aGUgdGV4dFxuXHRcdG1hcmdpbjogLSRpY29uLW1hcmdpbjtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XG5cdFx0Zm9udC1zaXplOiAkaWNvbi1zaXplO1xuXG5cdFx0QGluY2x1ZGUgaWNvbmZvbnQoJ2luZm8nKTtcblxuXHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XG5cdFx0fVxuXHR9XG5cblx0Jl9fZGVzYyB7XG5cdFx0bWFyZ2luLXRvcDogLTAuMmVtO1xuXHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0XHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XG5cdH1cbn1cblxuPC9zdHlsZT5cbiIsIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb25hcyBTdWx6ZXIgPGpvbmFzQHZpb2xvbmNlbGxvLmNoPlxuICAtXG4gIC0gQGF1dGhvciBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxuICAtIEBhdXRob3IgSm9uYXMgU3VsemVyIDxqb25hc0B2aW9sb25jZWxsby5jaD5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICAtXG4gIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbi0tPlxuXG48ZG9jcz5cblxuIyMjIEdlbmVyYWwgZGVzY3JpcHRpb25cblxuVGhpcyBjb21wb25lbnQgZGlzcGxheXMgYSB1c2VyIHRvZ2V0aGVyIHdpdGggYSBzbWFsbCBhdmF0YXIgaW4gYSBncmV5IGJ1YmJsZS5cbkl0J3MgcG9zc2libGUgdG8gdXNlIGFuIGFjdHVhbCB1c2VyJ3MgYXZhdGFyLCBqdXN0IGFuIGltYWdlL2ljb24gYXMgYSB1cmwgb3IgYW4gaWNvbi1jbGFzcyxcbnRvIGxpbmsgdGhlIGJ1YmJsZSB0byBlLmcuIGEgdXNlcnMgcHJvZmlsZVxuYW5kIHRvIHNob3cgYSBwb3BvdmVyIG9uIGhvdmVyIHdpdGggZS5nLiB0aGUgZnVsbCB1c2VyIG5hbWUgaGFuZGxlIC8gZW1haWwgYWRkcmVzcyBvciBzb21ldGhpbmcgZWxzZS5cblxuVGhpcyBjb21wb25lbnQgaGFzIHRoZSBmb2xsb3dpbmcgc2xvdDpcbiogYSBkZWZhdWx0IHNsb3Qgd2hpY2ggaXMgZm9yIHRoZSBjb250ZW50IG9mIHRoZSBwb3BvdmVyICh0aGlzIGlzIHBhc3NlZCB0byB0aGUgcG9wb3ZlciBjb21wb25lbnQgZGlyZWN0bHkpLlxuXG4jIyMgRXhhbXBsZXNcblxuYGBgdnVlXG48cD5cblx0U29tZSB0ZXh0IGJlZm9yZSA8VXNlckJ1YmJsZSB1c2VyPVwiYWRtaW5cIiBkaXNwbGF5LW5hbWU9XCJBZG1pbiBFeGFtcGxlXCIgOnVybD1cIicvdGVzdCdcIj5AYWRtaW5AZm9yZWlnbi1ob3N0LmNvbTwvVXNlckJ1YmJsZT4gYW5kIGFmdGVyIHRoZSBidWJibGUuXG5cdDxVc2VyQnViYmxlIGF2YXRhci1pbWFnZT1cImljb24tZ3JvdXBcIiBkaXNwbGF5LW5hbWU9XCJ0ZXN0IGdyb3VwIHh5elwiIDpwcmltYXJ5PVwidHJ1ZVwiPkhleSB0aGVyZSE8L1VzZXJCdWJibGU+XG48L3A+XG5gYGBcblxuIyMjIEV4YW1wbGUgd2l0aCB0aXRsZSBzbG90XG5cbmBgYHZ1ZVxuPHRlbXBsYXRlPlxuPFVzZXJCdWJibGVcblx0Om1hcmdpbj1cIjRcIlxuXHQ6c2l6ZT1cIjMwXCJcblx0ZGlzcGxheS1uYW1lPVwiQWRtaW5pc3RyYXRvclwiXG5cdHVzZXI9XCJhZG1pblwiPlxuXHQ8dGVtcGxhdGUgI3RpdGxlPlxuXHRcdDxhIGhyZWY9XCIjXCJcblx0XHRcdHRpdGxlPVwiUmVtb3ZlIHVzZXJcIlxuXHRcdFx0Y2xhc3M9XCJpY29uLWNsb3NlXCJcblx0XHRcdEBjbGljaz1cImFsZXJ0XCIgLz5cblx0PC90ZW1wbGF0ZT5cbjwvVXNlckJ1YmJsZT5cbjwvdGVtcGxhdGU+XG5cbjxzdHlsZT5cbi5pY29uLWNsb3NlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogMTAwJTtcbn1cbjwvc3R5bGU+XG5gYGBcblxuPC9kb2NzPlxuPHRlbXBsYXRlPlxuXHQ8UG9wb3ZlciA6aXM9XCJpc1BvcG92ZXJDb21wb25lbnRcIlxuXHRcdHRyaWdnZXI9XCJob3ZlciBmb2N1c1wiXG5cdFx0Om9wZW49XCJvcGVuXCJcblx0XHRjbGFzcz1cInVzZXItYnViYmxlX193cmFwcGVyXCJcblx0XHRAdXBkYXRlOm9wZW49XCJvbk9wZW5DaGFuZ2VcIj5cblx0XHQ8IS0tIE1haW4gdXNlcmJ1YmJsZSBzdHJ1Y3R1cmUgLS0+XG5cdFx0PGRpdiBzbG90PVwidHJpZ2dlclwiXG5cdFx0XHR2LWJpbmQ9XCJpc0xpbmtDb21wb25lbnRcIlxuXHRcdFx0Y2xhc3M9XCJ1c2VyLWJ1YmJsZV9fY29udGVudFwiXG5cdFx0XHQ6c3R5bGU9XCJzdHlsZXMuY29udGVudFwiXG5cdFx0XHQ6Y2xhc3M9XCJwcmltYXJ5ID8gJ3VzZXItYnViYmxlX19jb250ZW50LS1wcmltYXJ5JyA6ICcnXCJcblx0XHRcdEBjbGljaz1cIm9uQ2xpY2tcIj5cblx0XHRcdDwhLS0gQXZhdGFyIC0tPlxuXHRcdFx0PEF2YXRhciA6dXJsPVwiaXNDdXN0b21BdmF0YXIgJiYgaXNBdmF0YXJVcmwgPyBhdmF0YXJJbWFnZSA6IHVuZGVmaW5lZFwiXG5cdFx0XHRcdDppY29uLWNsYXNzPVwiaXNDdXN0b21BdmF0YXIgJiYgIWlzQXZhdGFyVXJsID8gYXZhdGFySW1hZ2UgOiB1bmRlZmluZWRcIlxuXHRcdFx0XHQ6dXNlcj1cInVzZXJcIlxuXHRcdFx0XHQ6ZGlzcGxheS1uYW1lPVwiZGlzcGxheU5hbWVcIlxuXHRcdFx0XHQ6c2l6ZT1cInNpemUgLSAobWFyZ2luICogMilcIlxuXHRcdFx0XHQ6c3R5bGU9XCJzdHlsZXMuYXZhdGFyXCJcblx0XHRcdFx0OmRpc2FibGUtdG9vbHRpcD1cInRydWVcIlxuXHRcdFx0XHQ6ZGlzYWJsZS1tZW51PVwidHJ1ZVwiXG5cdFx0XHRcdHYtYmluZD1cIiRwcm9wc1wiXG5cdFx0XHRcdGNsYXNzPVwidXNlci1idWJibGVfX2F2YXRhclwiIC8+XG5cblx0XHRcdDwhLS0gVGl0bGUgLS0+XG5cdFx0XHQ8c3BhbiBjbGFzcz1cInVzZXItYnViYmxlX190aXRsZVwiPlxuXHRcdFx0XHR7eyBkaXNwbGF5TmFtZSB8fCB1c2VyIH19XG5cdFx0XHQ8L3NwYW4+XG5cblx0XHRcdDwhLS0gQHNsb3QgT3B0aW9uYWwgc2xvdCBqdXN0IGFmdGVyIHRoZSB0aXRsZSAtLT5cblx0XHRcdDxzcGFuIHYtaWY9XCIkc2xvdHMudGl0bGVcIiBjbGFzcz1cInVzZXItYnViYmxlX19zZWNvbmRhcnlcIj5cblx0XHRcdFx0PHNsb3QgbmFtZT1cInRpdGxlXCIgLz5cblx0XHRcdDwvc3Bhbj5cblx0XHQ8L2Rpdj5cblxuXHRcdDwhLS0gQHNsb3QgTWFpbiBQb3BvdmVyIGNvbnRlbnQgb24gdXNlcmJ1YmJsZSBob3Zlci9mb2N1cyAtLT5cblx0XHQ8c2xvdCAvPlxuXHQ8L1BvcG92ZXI+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IFBvcG92ZXIgZnJvbSAnLi4vUG9wb3ZlcidcbmltcG9ydCBBdmF0YXIgZnJvbSAnLi4vQXZhdGFyJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdVc2VyQnViYmxlJyxcblx0Y29tcG9uZW50czoge1xuXHRcdFBvcG92ZXIsXG5cdFx0QXZhdGFyLFxuXHR9LFxuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIE92ZXJyaWRlIGdlbmVyYXRlZCBhdmF0YXIsIGNhbiBiZSBhbiB1cmwgb3IgYW4gaWNvbiBjbGFzc1xuXHRcdCAqL1xuXHRcdGF2YXRhckltYWdlOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiB1bmRlZmluZWQsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBQcm92aWRlIHRoZSB1c2VyIGlkIGlmIHRoaXMgaXMgYSB1c2VyXG5cdFx0ICovXG5cdFx0dXNlcjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogdW5kZWZpbmVkLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogRGlzcGxheWVkIGxhYmVsXG5cdFx0ICovXG5cdFx0ZGlzcGxheU5hbWU6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogV2hldGhlciBvciBub3QgdG8gZGlzcGxheSB0aGUgdXNlci1zdGF0dXNcblx0XHQgKi9cblx0XHRzaG93VXNlclN0YXR1czoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogRGVmaW5lIHRoZSB3aG9sZSBidWJibGUgYXMgYSBsaW5rXG5cdFx0ICovXG5cdFx0dXJsOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiB1bmRlZmluZWQsXG5cdFx0XHR2YWxpZGF0b3I6IHVybCA9PiB7XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0dXJsID0gbmV3IFVSTCh1cmwpXG5cdFx0XHRcdFx0cmV0dXJuICEhdXJsXG5cdFx0XHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBEZWZhdWx0IHBvcG92ZXIgc3RhdGUuIFJlcXVpcmVzIHRoZSBVc2VyQnViYmxlXG5cdFx0ICogdG8gaGF2ZSBzb21lIGNvbnRlbnQgdG8gcmVuZGVyIGluc2lkZSB0aGUgcG9wb3ZlclxuXHRcdCAqL1xuXHRcdG9wZW46IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIFVzZSB0aGUgcHJpbWFyeSBjb2xvdXJcblx0XHQgKi9cblx0XHRwcmltYXJ5OiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBUaGlzIGlzIHRoZSBoZWlnaHQgb2YgdGhlIGNvbXBvbmVudFxuXHRcdCAqL1xuXHRcdHNpemU6IHtcblx0XHRcdHR5cGU6IE51bWJlcixcblx0XHRcdGRlZmF1bHQ6IDIwLFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogVGhpcyBpcyB0aGUgbWFyZ2luIG9mIHRoZSBhdmF0YXIgKHNpemUgLSBtYXJnaW4gPSBhdmF0YXIgc2l6ZSlcblx0XHQgKi9cblx0XHRtYXJnaW46IHtcblx0XHRcdHR5cGU6IE51bWJlcixcblx0XHRcdGRlZmF1bHQ6IDIsXG5cdFx0fSxcblx0fSxcblx0Y29tcHV0ZWQ6IHtcblx0XHQvKipcblx0XHQgKiBJZiB1c2VyYnViYmxlIGlzIGVtcHR5LCBsZXQncyBOT1Rcblx0XHQgKiB1c2UgdGhlIFBvcG92ZXIgY29tcG9uZW50XG5cdFx0ICogQHJldHVybnMge3N0cmluZ30gJ1BvcG92ZXInIG9yICdkaXYnXG5cdFx0ICovXG5cdFx0aXNQb3BvdmVyQ29tcG9uZW50KCkge1xuXHRcdFx0cmV0dXJuICF0aGlzLnBvcG92ZXJFbXB0eVxuXHRcdFx0XHQ/ICdQb3BvdmVyJ1xuXHRcdFx0XHQ6ICdkaXYnXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIElzIHRoZSBwcm92aWRlZCBhdmF0YXIgdXJsIHZhbGlkIG9yIG5vdFxuXHRcdCAqIEByZXR1cm5zIHtib29sZWFufVxuXHRcdCAqL1xuXHRcdGlzQXZhdGFyVXJsKCkge1xuXHRcdFx0aWYgKCF0aGlzLmF2YXRhckltYWdlKSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZVxuXHRcdFx0fVxuXG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCB1cmwgPSBuZXcgVVJMKHRoaXMuYXZhdGFySW1hZ2UpXG5cdFx0XHRcdHJldHVybiAhIXVybFxuXHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0XHR9XG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBEbyB3ZSBoYXZlIGEgY3VzdG9tIGF2YXRhciBvciBub3Rcblx0XHQgKiBAcmV0dXJucyB7Ym9vbGVhbn1cblx0XHQgKi9cblx0XHRpc0N1c3RvbUF2YXRhcigpIHtcblx0XHRcdHJldHVybiAhIXRoaXMuYXZhdGFySW1hZ2Vcblx0XHR9LFxuXG5cdFx0aXNMaW5rQ29tcG9uZW50KCkge1xuXHRcdFx0aWYgKHRoaXMudXJsICYmIHRoaXMudXJsLnRyaW0oKSAhPT0gJycpIHtcblx0XHRcdFx0cmV0dXJuIHsgaXM6ICdhJywgaHJlZjogdGhpcy51cmwgfVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHsgaXM6ICdkaXYnIH1cblx0XHR9LFxuXG5cdFx0cG9wb3ZlckVtcHR5KCkge1xuXHRcdFx0aWYgKCdkZWZhdWx0JyBpbiB0aGlzLiRzbG90cykge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2Vcblx0XHRcdH1cblx0XHRcdHJldHVybiB0cnVlXG5cdFx0fSxcblxuXHRcdHN0eWxlcygpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdGNvbnRlbnQ6IHtcblx0XHRcdFx0XHRoZWlnaHQ6IHRoaXMuc2l6ZSArICdweCcsXG5cdFx0XHRcdFx0bGluZUhlaWdodDogdGhpcy5zaXplICsgJ3B4Jyxcblx0XHRcdFx0XHRib3JkZXJSYWRpdXM6IHRoaXMuc2l6ZSAvIDIgKyAncHgnLFxuXHRcdFx0XHR9LFxuXHRcdFx0XHRhdmF0YXI6IHtcblx0XHRcdFx0XHRtYXJnaW5MZWZ0OiB0aGlzLm1hcmdpbiArICdweCcsXG5cdFx0XHRcdH0sXG5cdFx0XHR9XG5cdFx0fSxcblx0fSxcblx0bWV0aG9kczoge1xuXHRcdG9uT3BlbkNoYW5nZShzdGF0ZSkge1xuXHRcdFx0dGhpcy4kZW1pdCgndXBkYXRlOm9wZW4nLCBzdGF0ZSlcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIENhdGNoIGFuZCBmb3J3YXJkIGNsaWNrIGV2ZW50IHRvIHBhcmVudFxuXHRcdCAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IHRoZSBjbGljayBldmVudFxuXHRcdCAqL1xuXHRcdG9uQ2xpY2soZXZlbnQpIHtcblx0XHRcdHRoaXMuJGVtaXQoJ2NsaWNrJywgZXZlbnQpXG5cdFx0fSxcblx0fSxcbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4udXNlci1idWJibGUge1xuXHQmX193cmFwcGVyIHtcblx0XHQvLyBhbGlnbiBpbmxpbmUgd2l0aCB0ZXh0XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0Ly8gc2hyaW5rIGFuZCBhbGxvdyBncm93IHRvIGZpdFxuXHRcdG1pbi13aWR0aDogMDtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrKTtcblxuXHRcdCYtLXByaW1hcnkge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xuXHRcdH1cblxuXHRcdD4gOmxhc3QtY2hpbGQge1xuXHRcdFx0Ly8gYm9yZGVyIHJhZGl1cyBsZWZ0IHBhZGRpbmdcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDhweDtcblx0XHR9XG5cdH1cblxuXHQmX19hdmF0YXIge1xuXHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdH1cblxuXHQmX190aXRsZSxcblx0Jl9fc2Vjb25kYXJ5IHtcblx0XHQvLyBwcm9wZXIgc3BhY2luZyBiZXR3ZWVuIGF2YXRhciwgdGl0bGUgJiBzbG90XG5cdFx0cGFkZGluZzogMDtcblx0XHRwYWRkaW5nLWxlZnQ6IDRweDtcblx0fVxufVxuXG48L3N0eWxlPlxuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2dldFVybC5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5lb3RcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYud29mZlwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi50dGZcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYuc3ZnXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpO1xcbiAgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpIGZvcm1hdChcXFwiZW1iZWRkZWQtb3BlbnR5cGVcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyArIFwiKSBmb3JtYXQoXFxcIndvZmZcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMl9fXyArIFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX18gKyBcIikgZm9ybWF0KFxcXCJzdmdcXFwiKTtcXG4gIC8qIExlZ2FjeSBpT1MgKi8gfVxcblxcbi5pY29uIHtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cXG4gIC5pY29uLmFycm93LWxlZnQtZG91YmxlOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiBXFxcIjsgfVxcbiAgLmljb24uYXJyb3ctbGVmdDpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oglxcXCI7IH1cXG4gIC5pY29uLmFycm93LXJpZ2h0LWRvdWJsZTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6og1xcXCI7IH1cXG4gIC5pY29uLmFycm93LXJpZ2h0OmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiEXFxcIjsgfVxcbiAgLmljb24uYnJlYWRjcnVtYjpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ohVxcXCI7IH1cXG4gIC5pY29uLmNoZWNrbWFyazpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ohlxcXCI7IH1cXG4gIC5pY29uLmNsb3NlOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiHXFxcIjsgfVxcbiAgLmljb24uY29uZmlybTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oiFxcXCI7IH1cXG4gIC5pY29uLmluZm86YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIlcXFwiOyB9XFxuICAuaWNvbi5tZW51OmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiKXFxcIjsgfVxcbiAgLmljb24ubW9yZTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oi1xcXCI7IH1cXG4gIC5pY29uLnBhdXNlOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiMXFxcIjsgfVxcbiAgLmljb24ucGxheTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojVxcXCI7IH1cXG4gIC5pY29uLnRyaWFuZ2xlLXM6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI5cXFwiOyB9XFxuICAuaWNvbi51c2VyLXN0YXR1cy1hd2F5OmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiPXFxcIjsgfVxcbiAgLmljb24udXNlci1zdGF0dXMtZG5kOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiQXFxcIjsgfVxcbiAgLmljb24udXNlci1zdGF0dXMtaW52aXNpYmxlOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiRXFxcIjsgfVxcbiAgLmljb24udXNlci1zdGF0dXMtb25saW5lOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiSXFxcIjsgfVxcblxcbi5teC1pY29uLWxlZnQ6YmVmb3JlLFxcbi5teC1pY29uLXJpZ2h0OmJlZm9yZSxcXG4ubXgtaWNvbi1kb3VibGUtbGVmdDpiZWZvcmUsXFxuLm14LWljb24tZG91YmxlLXJpZ2h0OmJlZm9yZSxcXG4ubXgtaWNvbi1kb3VibGUtbGVmdDphZnRlcixcXG4ubXgtaWNvbi1kb3VibGUtcmlnaHQ6YWZ0ZXIge1xcbiAgY29udGVudDogJyc7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB0b3A6IC0xcHg7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMTBweDtcXG4gIGhlaWdodDogMTBweDtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XFxuICBib3JkZXItd2lkdGg6IDJweCAwIDAgMnB4O1xcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGUoMC43KTsgfVxcblxcbi5teC1pY29uLWRvdWJsZS1sZWZ0OmFmdGVyIHtcXG4gIGxlZnQ6IC00cHg7IH1cXG5cXG4ubXgtaWNvbi1kb3VibGUtcmlnaHQ6YmVmb3JlIHtcXG4gIGxlZnQ6IDRweDsgfVxcblxcbi5teC1pY29uLXJpZ2h0OmJlZm9yZSxcXG4ubXgtaWNvbi1kb3VibGUtcmlnaHQ6YmVmb3JlLFxcbi5teC1pY29uLWRvdWJsZS1yaWdodDphZnRlciB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHNjYWxlKDAuNyk7IH1cXG5cXG4ubXgtYnRuIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICBsaW5lLWhlaWdodDogMTtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICBwYWRkaW5nOiA3cHggMTVweDtcXG4gIG1hcmdpbjogMDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgb3V0bGluZTogbm9uZTtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcXG4gIGNvbG9yOiAjNzM4NzljO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxcbiAgLm14LWJ0bjpob3ZlciB7XFxuICAgIGJvcmRlci1jb2xvcjogIzEyODRlNztcXG4gICAgY29sb3I6ICMxMjg0ZTc7IH1cXG5cXG4ubXgtYnRuLXRleHQge1xcbiAgYm9yZGVyOiAwO1xcbiAgcGFkZGluZzogMCA0cHg7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cXG5cXG4ubXgtc2Nyb2xsYmFyIHtcXG4gIGhlaWdodDogMTAwJTsgfVxcbiAgLm14LXNjcm9sbGJhcjpob3ZlciAubXgtc2Nyb2xsYmFyLXRyYWNrIHtcXG4gICAgb3BhY2l0eTogMTsgfVxcblxcbi5teC1zY3JvbGxiYXItd3JhcCB7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdy14OiBoaWRkZW47XFxuICBvdmVyZmxvdy15OiBhdXRvOyB9XFxuXFxuLm14LXNjcm9sbGJhci10cmFjayB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDJweDtcXG4gIHJpZ2h0OiAycHg7XFxuICBib3R0b206IDJweDtcXG4gIHdpZHRoOiA2cHg7XFxuICB6LWluZGV4OiAxO1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbiAgb3BhY2l0eTogMDtcXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNHMgZWFzZS1vdXQ7IH1cXG4gIC5teC1zY3JvbGxiYXItdHJhY2sgLm14LXNjcm9sbGJhci10aHVtYiB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogMDtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE0NCwgMTQ3LCAxNTMsIDAuMyk7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zczsgfVxcblxcbi5teC16b29tLWluLWRvd24tZW50ZXItYWN0aXZlLFxcbi5teC16b29tLWluLWRvd24tbGVhdmUtYWN0aXZlIHtcXG4gIG9wYWNpdHk6IDE7XFxuICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSwgb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IH1cXG5cXG4ubXgtem9vbS1pbi1kb3duLWVudGVyLFxcbi5teC16b29tLWluLWRvd24tbGVhdmUtdG8ge1xcbiAgb3BhY2l0eTogMDtcXG4gIHRyYW5zZm9ybTogc2NhbGVZKDApOyB9XFxuXFxuLm14LWRhdGVwaWNrZXIge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDIxMHB4OyB9XFxuICAubXgtZGF0ZXBpY2tlciBzdmcge1xcbiAgICB3aWR0aDogMWVtO1xcbiAgICBoZWlnaHQ6IDFlbTtcXG4gICAgdmVydGljYWwtYWxpZ246IC0wLjE1ZW07XFxuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxcblxcbi5teC1kYXRlcGlja2VyLXJhbmdlIHtcXG4gIHdpZHRoOiAzMjBweDsgfVxcblxcbi5teC1kYXRlcGlja2VyLWlubGluZSB7XFxuICB3aWR0aDogYXV0bzsgfVxcblxcbi5teC1pbnB1dC13cmFwcGVyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxcbiAgLm14LWlucHV0LXdyYXBwZXIgLm14LWljb24tY2xlYXIge1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAubXgtaW5wdXQtd3JhcHBlcjpob3ZlciAubXgtaWNvbi1jbGVhciB7XFxuICAgIGRpc3BsYXk6IGJsb2NrOyB9XFxuICAubXgtaW5wdXQtd3JhcHBlcjpob3ZlciAubXgtaWNvbi1jbGVhciArIC5teC1pY29uLWNhbGVuZGFyIHtcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcblxcbi5teC1pbnB1dCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDM0cHg7XFxuICBwYWRkaW5nOiA2cHggMzBweDtcXG4gIHBhZGRpbmctbGVmdDogMTBweDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XFxuICBjb2xvcjogIzU1NTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpOyB9XFxuICAubXgtaW5wdXQ6aG92ZXIsIC5teC1pbnB1dDpmb2N1cyB7XFxuICAgIGJvcmRlci1jb2xvcjogIzQwOWFmZjsgfVxcbiAgLm14LWlucHV0OmRpc2FibGVkLCAubXgtaW5wdXQuZGlzYWJsZWQge1xcbiAgICBjb2xvcjogI2NjYztcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcXG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjO1xcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XFxuICAubXgtaW5wdXQ6Zm9jdXMge1xcbiAgICBvdXRsaW5lOiBub25lOyB9XFxuICAubXgtaW5wdXQ6Oi1tcy1jbGVhciB7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG5cXG4ubXgtaWNvbi1jYWxlbmRhcixcXG4ubXgtaWNvbi1jbGVhciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDUwJTtcXG4gIHJpZ2h0OiA4cHg7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XFxuICBmb250LXNpemU6IDE2cHg7XFxuICBsaW5lLWhlaWdodDogMTtcXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XFxuXFxuLm14LWljb24tY2xlYXIge1xcbiAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAubXgtaWNvbi1jbGVhcjpob3ZlciB7XFxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7IH1cXG5cXG4ubXgtZGF0ZXBpY2tlci1tYWluIHtcXG4gIGZvbnQ6IDE0cHgvMS41ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdNaWNyb3NvZnQgWWFoZWknLCBzYW5zLXNlcmlmO1xcbiAgY29sb3I6ICM3Mzg3OWM7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2U4ZThlODsgfVxcblxcbi5teC1kYXRlcGlja2VyLXBvcHVwIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIG1hcmdpbi10b3A6IDFweDtcXG4gIG1hcmdpbi1ib3R0b206IDFweDtcXG4gIGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE3NSk7XFxuICB6LWluZGV4OiAyMDAxOyB9XFxuXFxuLm14LWRhdGVwaWNrZXItc2lkZWJhciB7XFxuICBmbG9hdDogbGVmdDtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICB3aWR0aDogMTAwcHg7XFxuICBwYWRkaW5nOiA2cHg7XFxuICBvdmVyZmxvdzogYXV0bzsgfVxcblxcbi5teC1kYXRlcGlja2VyLXNpZGViYXIgKyAubXgtZGF0ZXBpY2tlci1jb250ZW50IHtcXG4gIG1hcmdpbi1sZWZ0OiAxMDBweDtcXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U4ZThlODsgfVxcblxcbi5teC1kYXRlcGlja2VyLWJvZHkge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cXG5cXG4ubXgtYnRuLXNob3J0Y3V0IHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcGFkZGluZzogMCA2cHg7XFxuICBsaW5lLWhlaWdodDogMjRweDsgfVxcblxcbi5teC1yYW5nZS13cmFwcGVyIHtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NTBweCkge1xcbiAgICAubXgtcmFuZ2Utd3JhcHBlciB7XFxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XFxuXFxuLm14LWRhdGVwaWNrZXItaGVhZGVyIHtcXG4gIHBhZGRpbmc6IDZweCA4cHg7XFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlODsgfVxcblxcbi5teC1kYXRlcGlja2VyLWZvb3RlciB7XFxuICBwYWRkaW5nOiA2cHggOHB4O1xcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XFxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U4ZThlODsgfVxcblxcbi5teC1jYWxlbmRhciB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgd2lkdGg6IDI0OHB4O1xcbiAgcGFkZGluZzogNnB4IDEycHg7IH1cXG4gIC5teC1jYWxlbmRhciArIC5teC1jYWxlbmRhciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U4ZThlODsgfVxcblxcbi5teC1jYWxlbmRhci1oZWFkZXIsIC5teC10aW1lLWhlYWRlciB7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgaGVpZ2h0OiAzNHB4O1xcbiAgbGluZS1oZWlnaHQ6IDM0cHg7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuXFxuLm14LWJ0bi1pY29uLWxlZnQsXFxuLm14LWJ0bi1pY29uLWRvdWJsZS1sZWZ0IHtcXG4gIGZsb2F0OiBsZWZ0OyB9XFxuXFxuLm14LWJ0bi1pY29uLXJpZ2h0LFxcbi5teC1idG4taWNvbi1kb3VibGUtcmlnaHQge1xcbiAgZmxvYXQ6IHJpZ2h0OyB9XFxuXFxuLm14LWNhbGVuZGFyLWhlYWRlci1sYWJlbCB7XFxuICBmb250LXNpemU6IDE0cHg7IH1cXG5cXG4ubXgtY2FsZW5kYXItZGVjYWRlLXNlcGFyYXRvciB7XFxuICBtYXJnaW46IDAgMnB4OyB9XFxuICAubXgtY2FsZW5kYXItZGVjYWRlLXNlcGFyYXRvcjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd+JzsgfVxcblxcbi5teC1jYWxlbmRhci1jb250ZW50IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGhlaWdodDogMjI0cHg7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuICAubXgtY2FsZW5kYXItY29udGVudCAuY2VsbCB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbiAgICAubXgtY2FsZW5kYXItY29udGVudCAuY2VsbDpob3ZlciB7XFxuICAgICAgY29sb3I6ICM3Mzg3OWM7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjlmZTsgfVxcbiAgICAubXgtY2FsZW5kYXItY29udGVudCAuY2VsbC5hY3RpdmUge1xcbiAgICAgIGNvbG9yOiAjZmZmO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjg0ZTc7IH1cXG4gICAgLm14LWNhbGVuZGFyLWNvbnRlbnQgLmNlbGwuaW4tcmFuZ2UsIC5teC1jYWxlbmRhci1jb250ZW50IC5jZWxsLmhvdmVyLWluLXJhbmdlIHtcXG4gICAgICBjb2xvcjogIzczODc5YztcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJlZGZiOyB9XFxuICAgIC5teC1jYWxlbmRhci1jb250ZW50IC5jZWxsLmRpc2FibGVkIHtcXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xcbiAgICAgIGNvbG9yOiAjY2NjO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cXG5cXG4ubXgtY2FsZW5kYXItd2Vlay1tb2RlIC5teC1kYXRlLXJvdyB7XFxuICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4gIC5teC1jYWxlbmRhci13ZWVrLW1vZGUgLm14LWRhdGUtcm93OmhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjlmZTsgfVxcbiAgLm14LWNhbGVuZGFyLXdlZWstbW9kZSAubXgtZGF0ZS1yb3cubXgtYWN0aXZlLXdlZWsge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJlZGZiOyB9XFxuICAubXgtY2FsZW5kYXItd2Vlay1tb2RlIC5teC1kYXRlLXJvdyAuY2VsbDpob3ZlciB7XFxuICAgIGNvbG9yOiBpbmhlcml0O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbiAgLm14LWNhbGVuZGFyLXdlZWstbW9kZSAubXgtZGF0ZS1yb3cgLmNlbGwuYWN0aXZlIHtcXG4gICAgY29sb3I6IGluaGVyaXQ7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuXFxuLm14LXdlZWstbnVtYmVyIHtcXG4gIG9wYWNpdHk6IDAuNTsgfVxcblxcbi5teC10YWJsZSB7XFxuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcXG4gIGJvcmRlci1zcGFjaW5nOiAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgLm14LXRhYmxlIHRoIHtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxcbiAgLm14LXRhYmxlIHRkIHtcXG4gICAgcGFkZGluZzogMDsgfVxcblxcbi5teC10YWJsZS1kYXRlIHRkLFxcbi5teC10YWJsZS1kYXRlIHRoIHtcXG4gIGhlaWdodDogMzJweDtcXG4gIGZvbnQtc2l6ZTogMTJweDsgfVxcblxcbi5teC10YWJsZS1kYXRlIC50b2RheSB7XFxuICBjb2xvcjogIzJhOTBlOTsgfVxcblxcbi5teC10YWJsZS1kYXRlIC5jZWxsLm5vdC1jdXJyZW50LW1vbnRoIHtcXG4gIGNvbG9yOiAjY2NjO1xcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxcblxcbi5teC10aW1lIHtcXG4gIGZsZXg6IDE7XFxuICB3aWR0aDogMjI0cHg7XFxuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XFxuICAubXgtdGltZSArIC5teC10aW1lIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZThlOGU4OyB9XFxuXFxuLm14LWNhbGVuZGFyLXRpbWUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlOyB9XFxuXFxuLm14LXRpbWUtaGVhZGVyIHtcXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4OyB9XFxuXFxuLm14LXRpbWUtY29udGVudCB7XFxuICBoZWlnaHQ6IDIyNHB4O1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4ubXgtdGltZS1jb2x1bW5zIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogMTAwJTtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG5cXG4ubXgtdGltZS1jb2x1bW4ge1xcbiAgZmxleDogMTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U4ZThlODtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxcbiAgLm14LXRpbWUtY29sdW1uOmZpcnN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gIC5teC10aW1lLWNvbHVtbiAubXgtdGltZS1saXN0IHtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XFxuICAgIC5teC10aW1lLWNvbHVtbiAubXgtdGltZS1saXN0OjphZnRlciB7XFxuICAgICAgY29udGVudDogJyc7XFxuICAgICAgZGlzcGxheTogYmxvY2s7XFxuICAgICAgaGVpZ2h0OiAxOTJweDsgfVxcbiAgLm14LXRpbWUtY29sdW1uIC5teC10aW1lLWl0ZW0ge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIGZvbnQtc2l6ZTogMTJweDtcXG4gICAgaGVpZ2h0OiAzMnB4O1xcbiAgICBsaW5lLWhlaWdodDogMzJweDsgfVxcbiAgICAubXgtdGltZS1jb2x1bW4gLm14LXRpbWUtaXRlbTpob3ZlciB7XFxuICAgICAgY29sb3I6ICM3Mzg3OWM7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjlmZTsgfVxcbiAgICAubXgtdGltZS1jb2x1bW4gLm14LXRpbWUtaXRlbS5hY3RpdmUge1xcbiAgICAgIGNvbG9yOiAjMTI4NGU3O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cXG4gICAgLm14LXRpbWUtY29sdW1uIC5teC10aW1lLWl0ZW0uZGlzYWJsZWQge1xcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxuICAgICAgY29sb3I6ICNjY2M7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxcblxcbi5teC10aW1lLW9wdGlvbiB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBwYWRkaW5nOiA4cHggMTBweDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XFxuICAubXgtdGltZS1vcHRpb246aG92ZXIge1xcbiAgICBjb2xvcjogIzczODc5YztcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjlmZTsgfVxcbiAgLm14LXRpbWUtb3B0aW9uLmFjdGl2ZSB7XFxuICAgIGNvbG9yOiAjMTI4NGU3O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxcbiAgLm14LXRpbWUtb3B0aW9uLmRpc2FibGVkIHtcXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG4gICAgY29sb3I6ICNjY2M7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cXG5cXG4ubXgtZGF0ZXBpY2tlcltkYXRhLXYtODRjNDYxZl0ge1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG4gIC8qIElOUFVUIENPTlRBSU5FUiAqLyB9XFxuICAubXgtZGF0ZXBpY2tlcltkYXRhLXYtODRjNDYxZl0gc3ZnIHtcXG4gICAgZmlsbDogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTsgfVxcbiAgLm14LWRhdGVwaWNrZXJbZGF0YS12LTg0YzQ2MWZdIC5teC1pbnB1dC13cmFwcGVyIC5teC1pbnB1dCB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94OyB9XFxuICAubXgtZGF0ZXBpY2tlcltkYXRhLXYtODRjNDYxZl0gLm14LWlucHV0LXdyYXBwZXI6ZGlzYWJsZWQsIC5teC1kYXRlcGlja2VyW2RhdGEtdi04NGM0NjFmXSAubXgtaW5wdXQtd3JhcHBlci5kaXNhYmxlZCB7XFxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxuICAgIG9wYWNpdHk6IDAuNzsgfVxcbiAgLm14LWRhdGVwaWNrZXJbZGF0YS12LTg0YzQ2MWZdIC5teC1pbnB1dC13cmFwcGVyIC5teC1pY29uLWNhbGVuZGFyLFxcbiAgLm14LWRhdGVwaWNrZXJbZGF0YS12LTg0YzQ2MWZdIC5teC1pbnB1dC13cmFwcGVyIC5teC1pY29uLWNsZWFyIHtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7IH1cXG5cXG4ubXgtZGF0ZXBpY2tlci1tYWluIHtcXG4gIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYWNlKSAhaW1wb3J0YW50O1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbiAgLm14LWRhdGVwaWNrZXItbWFpbiBzdmcge1xcbiAgICBmaWxsOiB2YXIoLS1jb2xvci1tYWluLXRleHQpOyB9XFxuICAubXgtZGF0ZXBpY2tlci1tYWluLm14LWRhdGVwaWNrZXItcG9wdXAge1xcbiAgICB6LWluZGV4OiAyMDAwO1xcbiAgICBib3gtc2hhZG93OiBub25lOyB9XFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4ubXgtZGF0ZXBpY2tlci1wb3B1cCAubXgtZGF0ZXBpY2tlci1zaWRlYmFyICsgLm14LWRhdGVwaWNrZXItY29udGVudCB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XFxuICAubXgtZGF0ZXBpY2tlci1tYWluLnNob3ctd2Vlay1udW1iZXIgLm14LWNhbGVuZGFyIHtcXG4gICAgd2lkdGg6IDI2NnB4OyB9XFxuICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1kYXRlcGlja2VyLWhlYWRlciB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XFxuICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1kYXRlcGlja2VyLWZvb3RlciB7XFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XFxuICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhciB7XFxuICAgIHdpZHRoOiAyMzRweDtcXG4gICAgcGFkZGluZzogNXB4OyB9XFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LWNhbGVuZGFyLm14LWNhbGVuZGFyLXdlZWstbW9kZSB7XFxuICAgICAgd2lkdGg6IDI2NnB4OyB9XFxuICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lICsgLm14LXRpbWUsXFxuICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhciArIC5teC1jYWxlbmRhciB7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxcbiAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtcmFuZ2Utd3JhcHBlciB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtcmFuZ2Utd3JhcHBlciAubXgtY2FsZW5kYXItY29udGVudCAubXgtdGFibGUtZGF0ZSAuY2VsbC5hY3RpdmUge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzKTsgfVxcbiAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1yYW5nZS13cmFwcGVyIC5teC1jYWxlbmRhci1jb250ZW50IC5teC10YWJsZS1kYXRlIC5jZWxsLmluLXJhbmdlICsgLmNlbGwuYWN0aXZlIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDA7IH1cXG4gIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlIHRoZWFkID4gdHIgPiB0aCB7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgICAgIG9wYWNpdHk6IDAuNTtcXG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodGVyKTsgfVxcbiAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10YWJsZSB0cjpmb2N1cyxcXG4gICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUgdHI6aG92ZXIsXFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlIHRyOmFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUgLmNlbGwge1xcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluLW91dDtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7IH1cXG4gICAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10YWJsZSAuY2VsbCA+ICoge1xcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUgLmNlbGwudG9kYXkge1xcbiAgICAgICAgb3BhY2l0eTogMTtcXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cXG4gICAgICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlIC5jZWxsLnRvZGF5OmhvdmVyLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10YWJsZSAuY2VsbC50b2RheTpmb2N1cyB7XFxuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpOyB9XFxuICAgICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUgLmNlbGwuaW4tcmFuZ2UsIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlIC5jZWxsLmRpc2FibGVkIHtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XFxuICAgICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUgLmNlbGwuaW4tcmFuZ2Uge1xcbiAgICAgICAgb3BhY2l0eTogMC43OyB9XFxuICAgICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUgLmNlbGwubm90LWN1cnJlbnQtbW9udGgge1xcbiAgICAgICAgb3BhY2l0eTogMC41O1xcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7IH1cXG4gICAgICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlIC5jZWxsLm5vdC1jdXJyZW50LW1vbnRoOmhvdmVyLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10YWJsZSAuY2VsbC5ub3QtY3VycmVudC1tb250aDpmb2N1cyB7XFxuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cXG4gICAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10YWJsZSAuY2VsbDpob3ZlciwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUgLmNlbGw6Zm9jdXMsIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlIC5jZWxsLmFjdGl2ZWQsIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlIC5jZWxsLmFjdGl2ZSwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUgLmNlbGwuaW4tcmFuZ2Uge1xcbiAgICAgICAgb3BhY2l0eTogMTtcXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XFxuICAgICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUgLmNlbGwuZGlzYWJsZWQge1xcbiAgICAgICAgb3BhY2l0eTogMC41O1xcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrZXIpOyB9XFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlIC5teC13ZWVrLW51bWJlciB7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICBib3JkZXItcmFkaXVzOiA1MHB4OyB9XFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlIHNwYW4ubXgtd2Vlay1udW1iZXIsXFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlIGxpLm14LXdlZWstbnVtYmVyLFxcbiAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10YWJsZSBzcGFuLmNlbGwsXFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlIGxpLmNlbGwge1xcbiAgICAgIG1pbi1oZWlnaHQ6IDMycHg7IH1cXG4gICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUubXgtdGFibGUtZGF0ZSB0aGVhZCxcXG4gICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUubXgtdGFibGUtZGF0ZSB0Ym9keSwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUubXgtdGFibGUteWVhciwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUubXgtdGFibGUtbW9udGgge1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxcbiAgICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlLm14LXRhYmxlLWRhdGUgdGhlYWQgdHIsXFxuICAgICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUubXgtdGFibGUtZGF0ZSB0Ym9keSB0ciwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUubXgtdGFibGUteWVhciB0ciwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUubXgtdGFibGUtbW9udGggdHIge1xcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgZmxleDogMSAxIDMycHg7XFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMycHg7IH1cXG4gICAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10YWJsZS5teC10YWJsZS1kYXRlIHRoZWFkIHRoLFxcbiAgICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlLm14LXRhYmxlLWRhdGUgdGhlYWQgdGQsXFxuICAgICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUubXgtdGFibGUtZGF0ZSB0Ym9keSB0aCxcXG4gICAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10YWJsZS5teC10YWJsZS1kYXRlIHRib2R5IHRkLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10YWJsZS5teC10YWJsZS15ZWFyIHRoLFxcbiAgICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlLm14LXRhYmxlLXllYXIgdGQsIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlLm14LXRhYmxlLW1vbnRoIHRoLFxcbiAgICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRhYmxlLm14LXRhYmxlLW1vbnRoIHRkIHtcXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAgZmxleDogMCAxIDMyJTtcXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICAgICAgbWluLXdpZHRoOiAzMnB4O1xcbiAgICAgICAgaGVpZ2h0OiA5NSU7XFxuICAgICAgICBtaW4taGVpZ2h0OiAzMnB4O1xcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMDBtcyBlYXNlLWluLW91dDsgfVxcbiAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10YWJsZS5teC10YWJsZS15ZWFyIHRyIHRoLFxcbiAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10YWJsZS5teC10YWJsZS15ZWFyIHRyIHRkIHtcXG4gICAgICBmbGV4LWJhc2lzOiA0OCU7IH1cXG4gICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUubXgtdGFibGUtZGF0ZSB0ciB0aCxcXG4gICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGFibGUubXgtdGFibGUtZGF0ZSB0ciB0ZCB7XFxuICAgICAgZmxleC1iYXNpczogMzJweDsgfVxcbiAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtYnRuIHtcXG4gICAgbWluLXdpZHRoOiAzMnB4O1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIG1hcmdpbjogMCBhdXRvO1xcbiAgICBwYWRkaW5nOiA3cHggMTBweDtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICAgIG9wYWNpdHk6IDAuNTtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XFxuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LWJ0bjpob3ZlciwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtYnRuOmZvY3VzIHtcXG4gICAgICBvcGFjaXR5OiAxO1xcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTsgfVxcbiAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtY2FsZW5kYXItaGVhZGVyLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lLWhlYWRlciB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBoZWlnaHQ6IDQ0cHg7XFxuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxcbiAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhci1oZWFkZXIgYnV0dG9uLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lLWhlYWRlciBidXR0b24ge1xcbiAgICAgIG1pbi13aWR0aDogMzJweDtcXG4gICAgICBtaW4taGVpZ2h0OiAzMnB4O1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgICBvcGFjaXR5OiAwLjc7XFxuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMzJweDtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDsgfVxcbiAgICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LWNhbGVuZGFyLWhlYWRlciBidXR0b246aG92ZXIsIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRpbWUtaGVhZGVyIGJ1dHRvbjpob3ZlciwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtY2FsZW5kYXItaGVhZGVyIGJ1dHRvbjpmb2N1cywgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGltZS1oZWFkZXIgYnV0dG9uOmZvY3VzIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7XFxuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTsgfVxcbiAgICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LWNhbGVuZGFyLWhlYWRlciBidXR0b24ubXgtYnRuLWljb24tZG91YmxlLWxlZnQsIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRpbWUtaGVhZGVyIGJ1dHRvbi5teC1idG4taWNvbi1kb3VibGUtbGVmdCwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtY2FsZW5kYXItaGVhZGVyIGJ1dHRvbi5teC1idG4taWNvbi1sZWZ0LCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lLWhlYWRlciBidXR0b24ubXgtYnRuLWljb24tbGVmdCwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtY2FsZW5kYXItaGVhZGVyIGJ1dHRvbi5teC1idG4taWNvbi1yaWdodCwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGltZS1oZWFkZXIgYnV0dG9uLm14LWJ0bi1pY29uLXJpZ2h0LCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhci1oZWFkZXIgYnV0dG9uLm14LWJ0bi1pY29uLWRvdWJsZS1yaWdodCwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGltZS1oZWFkZXIgYnV0dG9uLm14LWJ0bi1pY29uLWRvdWJsZS1yaWdodCB7XFxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgICAgICB3aWR0aDogMzJweDtcXG4gICAgICAgIHBhZGRpbmc6IDA7IH1cXG4gICAgICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LWNhbGVuZGFyLWhlYWRlciBidXR0b24ubXgtYnRuLWljb24tZG91YmxlLWxlZnQ6YmVmb3JlLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lLWhlYWRlciBidXR0b24ubXgtYnRuLWljb24tZG91YmxlLWxlZnQ6YmVmb3JlLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhci1oZWFkZXIgYnV0dG9uLm14LWJ0bi1pY29uLWxlZnQ6YmVmb3JlLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lLWhlYWRlciBidXR0b24ubXgtYnRuLWljb24tbGVmdDpiZWZvcmUsIC5teC1kYXRlcGlja2VyLW1haW4gLm14LWNhbGVuZGFyLWhlYWRlciBidXR0b24ubXgtYnRuLWljb24tcmlnaHQ6YmVmb3JlLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lLWhlYWRlciBidXR0b24ubXgtYnRuLWljb24tcmlnaHQ6YmVmb3JlLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhci1oZWFkZXIgYnV0dG9uLm14LWJ0bi1pY29uLWRvdWJsZS1yaWdodDpiZWZvcmUsIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRpbWUtaGVhZGVyIGJ1dHRvbi5teC1idG4taWNvbi1kb3VibGUtcmlnaHQ6YmVmb3JlIHtcXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxcbiAgICAgICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtY2FsZW5kYXItaGVhZGVyIGJ1dHRvbi5teC1idG4taWNvbi1kb3VibGUtbGVmdCA+IGksIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRpbWUtaGVhZGVyIGJ1dHRvbi5teC1idG4taWNvbi1kb3VibGUtbGVmdCA+IGksIC5teC1kYXRlcGlja2VyLW1haW4gLm14LWNhbGVuZGFyLWhlYWRlciBidXR0b24ubXgtYnRuLWljb24tbGVmdCA+IGksIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRpbWUtaGVhZGVyIGJ1dHRvbi5teC1idG4taWNvbi1sZWZ0ID4gaSwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtY2FsZW5kYXItaGVhZGVyIGJ1dHRvbi5teC1idG4taWNvbi1yaWdodCA+IGksIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRpbWUtaGVhZGVyIGJ1dHRvbi5teC1idG4taWNvbi1yaWdodCA+IGksIC5teC1kYXRlcGlja2VyLW1haW4gLm14LWNhbGVuZGFyLWhlYWRlciBidXR0b24ubXgtYnRuLWljb24tZG91YmxlLXJpZ2h0ID4gaSwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGltZS1oZWFkZXIgYnV0dG9uLm14LWJ0bi1pY29uLWRvdWJsZS1yaWdodCA+IGkge1xcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LWNhbGVuZGFyLWhlYWRlciAubXgtY2FsZW5kYXItaGVhZGVyLWxhYmVsLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lLWhlYWRlciAubXgtY2FsZW5kYXItaGVhZGVyLWxhYmVsIHtcXG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LWNhbGVuZGFyLWhlYWRlciAubXgtYnRuLWljb24tZG91YmxlLWxlZnQ6YmVmb3JlLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lLWhlYWRlciAubXgtYnRuLWljb24tZG91YmxlLWxlZnQ6YmVmb3JlIHtcXG4gICAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICBjb250ZW50OiBcXFwi7qiBXFxcIjsgfVxcbiAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhci1oZWFkZXIgLm14LWJ0bi1pY29uLWxlZnQ6YmVmb3JlLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lLWhlYWRlciAubXgtYnRuLWljb24tbGVmdDpiZWZvcmUge1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGNvbnRlbnQ6IFxcXCLuqIJcXFwiOyB9XFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LWNhbGVuZGFyLWhlYWRlciAubXgtYnRuLWljb24tcmlnaHQ6YmVmb3JlLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lLWhlYWRlciAubXgtYnRuLWljb24tcmlnaHQ6YmVmb3JlIHtcXG4gICAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICBjb250ZW50OiBcXFwi7qiEXFxcIjsgfVxcbiAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhci1oZWFkZXIgLm14LWJ0bi1pY29uLWRvdWJsZS1yaWdodDpiZWZvcmUsIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRpbWUtaGVhZGVyIC5teC1idG4taWNvbi1kb3VibGUtcmlnaHQ6YmVmb3JlIHtcXG4gICAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICBjb250ZW50OiBcXFwi7qiDXFxcIjsgfVxcbiAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhci1oZWFkZXIgYnV0dG9uLm14LWJ0bi1pY29uLXJpZ2h0LCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lLWhlYWRlciBidXR0b24ubXgtYnRuLWljb24tcmlnaHQge1xcbiAgICAgIG9yZGVyOiAyOyB9XFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LWNhbGVuZGFyLWhlYWRlciBidXR0b24ubXgtYnRuLWljb24tZG91YmxlLXJpZ2h0LCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lLWhlYWRlciBidXR0b24ubXgtYnRuLWljb24tZG91YmxlLXJpZ2h0IHtcXG4gICAgICBvcmRlcjogMzsgfVxcbiAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtY2FsZW5kYXItd2Vlay1tb2RlIC5teC1kYXRlLXJvdyAubXgtd2Vlay1udW1iZXIge1xcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxcbiAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtY2FsZW5kYXItd2Vlay1tb2RlIC5teC1kYXRlLXJvdzpob3ZlciwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtY2FsZW5kYXItd2Vlay1tb2RlIC5teC1kYXRlLXJvdy5teC1hY3RpdmUtd2VlayB7XFxuICAgIG9wYWNpdHk6IDE7XFxuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7IH1cXG4gICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtY2FsZW5kYXItd2Vlay1tb2RlIC5teC1kYXRlLXJvdzpob3ZlciB0ZCwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtY2FsZW5kYXItd2Vlay1tb2RlIC5teC1kYXRlLXJvdy5teC1hY3RpdmUtd2VlayB0ZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gICAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhci13ZWVrLW1vZGUgLm14LWRhdGUtcm93OmhvdmVyIHRkLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhci13ZWVrLW1vZGUgLm14LWRhdGUtcm93OmhvdmVyIHRkOmhvdmVyLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhci13ZWVrLW1vZGUgLm14LWRhdGUtcm93OmhvdmVyIHRkOmZvY3VzLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhci13ZWVrLW1vZGUgLm14LWRhdGUtcm93Lm14LWFjdGl2ZS13ZWVrIHRkLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhci13ZWVrLW1vZGUgLm14LWRhdGUtcm93Lm14LWFjdGl2ZS13ZWVrIHRkOmhvdmVyLCAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhci13ZWVrLW1vZGUgLm14LWRhdGUtcm93Lm14LWFjdGl2ZS13ZWVrIHRkOmZvY3VzIHtcXG4gICAgICAgIGNvbG9yOiBpbmhlcml0OyB9XFxuICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC1jYWxlbmRhci13ZWVrLW1vZGUgLm14LWRhdGUtcm93Lm14LWFjdGl2ZS13ZWVrIHtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7IH1cXG4gICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtY2FsZW5kYXItd2Vlay1tb2RlIC5teC1kYXRlLXJvdy5teC1hY3RpdmUtd2VlayB0ZCB7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cXG4gIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRpbWUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpOyB9XFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRpbWUgLm14LXRpbWUtaGVhZGVyIHtcXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTsgfVxcbiAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lIC5teC10aW1lLWNvbHVtbiB7XFxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRpbWUgLm14LXRpbWUtb3B0aW9uLmFjdGl2ZSwgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGltZSAubXgtdGltZS1vcHRpb246aG92ZXIsXFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRpbWUgLm14LXRpbWUtaXRlbS5hY3RpdmUsXFxuICAgIC5teC1kYXRlcGlja2VyLW1haW4gLm14LXRpbWUgLm14LXRpbWUtaXRlbTpob3ZlciB7XFxuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTsgfVxcbiAgICAubXgtZGF0ZXBpY2tlci1tYWluIC5teC10aW1lIC5teC10aW1lLW9wdGlvbi5kaXNhYmxlZCxcXG4gICAgLm14LWRhdGVwaWNrZXItbWFpbiAubXgtdGltZSAubXgtdGltZS1pdGVtLmRpc2FibGVkIHtcXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xcbiAgICAgIG9wYWNpdHk6IDAuNTtcXG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpOyB9XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vaW5kZXguc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZS5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlMi1kYXRlcGlja2VyL3Njc3MvaWNvbi5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlMi1kYXRlcGlja2VyL3Njc3MvYnRuLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUyLWRhdGVwaWNrZXIvc2Nzcy92YXIuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZTItZGF0ZXBpY2tlci9zY3NzL3Njcm9sbGJhci5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlMi1kYXRlcGlja2VyL3Njc3MvYW5pbWF0aW9uLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUyLWRhdGVwaWNrZXIvc2Nzcy9pbmRleC5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUVzRUE7RUFDQyxtQ0FBbUM7RUFDbkMsNENBQXVDO0VBQUUscUJBQUE7RUFDekMsbVBBR21EO0VBQUUsZUFBQSxFQUFnQjs7QUFNdEU7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCLEVBQUE7RUFGbEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE1R2UsRUFBTztFQXFHNUI7SUFNTSxtQ0FBbUM7SUFDbkMsWUEzR1EsRUFBTztFQW9HckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUExR2dCLEVBQU87RUFtRzdCO0lBTU0sbUNBQW1DO0lBQ25DLFlBekdTLEVBQU87RUFrR3RCO0lBTU0sbUNBQW1DO0lBQ25DLFlBeEdRLEVBQU87RUFpR3JCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdkdPLEVBQU87RUFnR3BCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdEdHLEVBQU87RUErRmhCO0lBTU0sbUNBQW1DO0lBQ25DLFlBckdLLEVBQU87RUE4RmxCO0lBTU0sbUNBQW1DO0lBQ25DLFlBcEdFLEVBQU87RUE2RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFuR0UsRUFBTztFQTRGZjtJQU1NLG1DQUFtQztJQUNuQyxZQWxHRSxFQUFPO0VBMkZmO0lBTU0sbUNBQW1DO0lB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O01BQ2xCLGdCQUFnQjtNQUNoQixZQWhGYSxFQUFPO0lGa0N4QjtNRTJDSSxtQ0FqRm1CO01Ba0ZuQixrQkFBa0I7TUFDbEIsZ0JBQWdCO01BQ2hCLFlBakZvQixFQUFPO0lGbUMvQjtNQXlTRyxRQUFRLEVBQUE7SUF6U1g7TUE2U0csUUFBUSxFQUFBO0VBN1NYO0lBc1RJLGlCQUFpQixFQUFBO0VBdFRyQjtJQTBUSSxVQ3JUWTtJRHNUWixtQkFBbUI7SUFDbkIsOENBQThDLEVBQUE7SUE1VGxEO01BOFRLLDZCQUE2QixFQUFBO01BOVRsQztRQWdVTSxjQUFjLEVBQUE7RUFoVXBCO0lBcVVJLGdDQUFnQztJQUNoQyw4Q0FBOEMsRUFBQTtJQXRVbEQ7TUF5VUssWUNyVWM7TURzVWQsbUJBQW1CLEVBQUE7RUExVXhCO0lBa1ZFLDhDQUE4QyxFQUFBO0lBbFZoRDtNQXNWRyx1QkFBdUI7TUFDdkIsNENBQTRDLEVBQUE7SUF2Vi9DO01BMlZHLDBDQUEwQyxFQUFBO0lBM1Y3Qzs7O01Ba1dJLGdDQUFnQztNQUNoQyw4Q0FBOEMsRUFBQTtJQW5XbEQ7O01BdVdJLG1CQUFtQjtNQUNuQixZQ3JXaUI7TURzV2pCLDZCQUE2QjtNQUM3Qiw4Q0FBOEMsRUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuJGNlbGxfaGVpZ2h0OiAzMnB4O1xcblxcbi8vIGltcG9ydCB0aGUgaWNvbnMgZm9udCBzY3NzXFxuQGltcG9ydCAnLi4vLi4vZm9udHMvc2Nzcy9pY29uZm9udC12dWUnO1xcbkBpbXBvcnQgJ352dWUyLWRhdGVwaWNrZXIvc2Nzcy9pbmRleC5zY3NzJztcXG5cXG4ubXgtZGF0ZXBpY2tlcltkYXRhLXYtI3skc2NvcGVfdmVyc2lvbn1dIHtcXG5cXHR1c2VyLXNlbGVjdDogbm9uZTtcXG5cXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXG5cXHRzdmcge1xcblxcdFxcdGZpbGw6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuXFx0fVxcblxcblxcdC8qIElOUFVUIENPTlRBSU5FUiAqL1xcblxcdC5teC1pbnB1dC13cmFwcGVyIHtcXG5cXHRcXHQvLyBpbnB1dFxcblxcdFxcdC5teC1pbnB1dCB7XFxuXFx0XFx0XFx0d2lkdGg6IDEwMCU7XFxuXFx0XFx0XFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcblxcdFxcdFxcdGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XFxuXFx0XFx0fVxcblxcblxcdFxcdCY6ZGlzYWJsZWQsXFxuXFx0XFx0Ji5kaXNhYmxlZCB7XFxuXFx0XFx0XFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFx0XFx0fVxcblxcblxcdFxcdC5teC1pY29uLWNhbGVuZGFyLFxcblxcdFxcdC5teC1pY29uLWNsZWFyIHtcXG5cXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodGVyKTtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cXG4vLyBEYXRlcGlja2VyIHBvcHVwIHdyYXBwZXJcXG4ubXgtZGF0ZXBpY2tlci1tYWluIHtcXG5cXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xcblxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuXFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFjZSkgIWltcG9ydGFudDtcXG5cXHRsaW5lLWhlaWdodDogMS41O1xcblxcblxcdHN2ZyB7XFxuXFx0XFx0ZmlsbDogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHR9XFxuXFxuXFx0Ji5teC1kYXRlcGlja2VyLXBvcHVwIHtcXG5cXHRcXHR6LWluZGV4OiAyMDAwO1xcblxcdFxcdGJveC1zaGFkb3c6IG5vbmU7XFxuXFxuXFx0XFx0Lm14LWRhdGVwaWNrZXItc2lkZWJhciArIC5teC1kYXRlcGlja2VyLWNvbnRlbnQge1xcblxcdFxcdFxcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcXG5cXHRcXHR9XFxuXFx0fVxcblxcdFxcblxcdCYuc2hvdy13ZWVrLW51bWJlciAubXgtY2FsZW5kYXIge1xcblxcdFxcdHdpZHRoOiAkY2VsbF9oZWlnaHQgKiA4ICArIDIgKiA1cHg7IC8vIHdlZWsgbnVtYmVyICsgNyBkYXlzICsgcGFkZGluZ1xcblxcdH1cXG5cXG5cXHQubXgtZGF0ZXBpY2tlci1oZWFkZXIge1xcblxcdFxcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xcblxcdH1cXG5cXG5cXHQubXgtZGF0ZXBpY2tlci1mb290ZXIge1xcblxcdFxcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xcblxcdH1cXG5cXG5cXHQvLyBkZWZhdWx0IHBvcHVwIHN0eWxlc1xcblxcdC5teC1jYWxlbmRhciB7XFxuXFx0XFx0d2lkdGg6ICRjZWxsX2hlaWdodCAqIDcgICsgMiAqIDVweDsgLy8gNyBkYXlzICsgcGFkZGluZ1xcblxcdFxcdHBhZGRpbmc6IDVweDtcXG5cXHRcXHQmLm14LWNhbGVuZGFyLXdlZWstbW9kZSB7XFxuXFx0XFx0XFx0d2lkdGg6ICRjZWxsX2hlaWdodCAqIDggICsgMiAqIDVweDsgLy8gd2VlayBudW1iZXIgKyA3IGRheXMgKyBwYWRkaW5nXFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQubXgtdGltZSArIC5teC10aW1lLFxcblxcdC5teC1jYWxlbmRhciArIC5teC1jYWxlbmRhciB7XFxuXFx0XFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xcblxcdH1cXG5cXG5cXHQubXgtcmFuZ2Utd3JhcHBlciB7XFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcblxcdFxcdC8vIGZpcnN0IGFjdGl2ZSBjZWxsLCByYW5nZSBzdHlsZSBvbiBkYXkgcGlja2VyIHBhbmVsIG9ubHlcXG5cXHRcXHQubXgtY2FsZW5kYXItY29udGVudCAubXgtdGFibGUtZGF0ZSAuY2VsbCB7XFxuXFx0XFx0XFx0Ji5hY3RpdmUge1xcblxcdFxcdFxcdFxcdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzKTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0XFx0Ly8gc2Vjb25kIHNlbGVjdGVkIGNlbGxcXG5cXHRcXHRcXHQmLmluLXJhbmdlICsgLmNlbGwuYWN0aXZlIHtcXG5cXHRcXHRcXHRcXHRib3JkZXItcmFkaXVzOiAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDA7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Ly8gVmFyaW91cyBwYW5lbHNcXG5cXHQubXgtdGFibGUge1xcblxcdFxcdHRleHQtYWxpZ246IGNlbnRlcjtcXG5cXG5cXHRcXHR0aGVhZCA+IHRyID4gdGgge1xcblxcdFxcdFxcdHRleHQtYWxpZ246IGNlbnRlcjtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9kaXNhYmxlZDtcXG5cXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodGVyKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ly8gT3ZlcnJpZGUgdGFibGUgcnVsZSBmcm9tIHNlcnZlclxcblxcdFxcdHRyOmZvY3VzLFxcblxcdFxcdHRyOmhvdmVyLFxcblxcdFxcdHRyOmFjdGl2ZSB7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIHJlZ3VsYXIgY2VsbCBzdHlsZVxcblxcdFxcdC5jZWxsIHtcXG5cXHRcXHRcXHR0cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZS1pbi1vdXQ7XFxuXFx0XFx0XFx0dGV4dC1hbGlnbjogY2VudGVyO1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHRcXHRcXHRib3JkZXItcmFkaXVzOiA1MHB4O1xcblxcblxcdFxcdFxcdC8vIGZvcmNlIHBvaW50ZXIgb24gYWxsIGNvbnRlbnRcXG5cXHRcXHRcXHQ+ICoge1xcblxcdFxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRcXHR9XFxuXFxuXFx0XFx0XFx0Ly8gU2VsZWN0ZWQgYW5kIG1vdXNlIGV2ZW50XFxuXFx0XFx0XFx0Ji50b2RheSB7XFxuXFx0XFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcXG5cXHRcXHRcXHRcXHRmb250LXdlaWdodDogYm9sZDtcXG5cXHRcXHRcXHRcXHQmOmhvdmVyLFxcblxcdFxcdFxcdFxcdCY6Zm9jdXMge1xcblxcdFxcdFxcdFxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFx0XFx0XFx0Ji5pbi1yYW5nZSxcXG5cXHRcXHRcXHQmLmRpc2FibGVkIHtcXG5cXHRcXHRcXHRcXHRib3JkZXItcmFkaXVzOiAwO1xcblxcdFxcdFxcdFxcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuXFx0XFx0XFx0fVxcblxcdFxcdFxcdCYuaW4tcmFuZ2Uge1xcblxcdFxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0XFx0Ji5ub3QtY3VycmVudC1tb250aCB7XFxuXFx0XFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZGlzYWJsZWQ7XFxuXFx0XFx0XFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XFxuXFx0XFx0XFx0XFx0Jjpob3ZlcixcXG5cXHRcXHRcXHRcXHQmOmZvY3VzIHtcXG5cXHRcXHRcXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFxuXFx0XFx0XFx0Ly8gaG92ZXItL2ZvY3VzIGFmdGVyIHRoZSBvdGhlciBydWxlc1xcblxcdFxcdFxcdCY6aG92ZXIsXFxuXFx0XFx0XFx0Jjpmb2N1cyxcXG5cXHRcXHRcXHQmLmFjdGl2ZWQsXFxuXFx0XFx0XFx0Ji5hY3RpdmUsXFxuXFx0XFx0XFx0Ji5pbi1yYW5nZSB7XFxuXFx0XFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcXG5cXHRcXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcblxcdFxcdFxcdFxcdGZvbnQtd2VpZ2h0OiBib2xkO1xcblxcdFxcdFxcdH1cXG5cXHRcXHRcXHQmLmRpc2FibGVkIHtcXG5cXHRcXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9kaXNhYmxlZDtcXG5cXHRcXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodGVyKTtcXG5cXHRcXHRcXHRcXHRib3JkZXItcmFkaXVzOiAwO1xcblxcdFxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcblxcdFxcdC5teC13ZWVrLW51bWJlciB7XFxuXFx0XFx0XFx0dGV4dC1hbGlnbjogY2VudGVyO1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHRcXHRcXHRib3JkZXItcmFkaXVzOiA1MHB4O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvLyBjZWxsIHRoYXQgYXJlIG5vdCBpbiBhIHRhYmxlXFxuXFx0XFx0c3Bhbi5teC13ZWVrLW51bWJlcixcXG5cXHRcXHRsaS5teC13ZWVrLW51bWJlcixcXG5cXHRcXHRzcGFuLmNlbGwsXFxuXFx0XFx0bGkuY2VsbCB7XFxuXFx0XFx0XFx0bWluLWhlaWdodDogJGNlbGxfaGVpZ2h0O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvLyBTdGFuZGFyZCBncmlkL2ZsZXggbGF5b3V0IGZvciBkYXkvbW9udGgveWVhciBwYW5lbHNcXG5cXHRcXHQmLm14LXRhYmxlLWRhdGUgdGhlYWQsXFxuXFx0XFx0Ji5teC10YWJsZS1kYXRlIHRib2R5LFxcblxcdFxcdCYubXgtdGFibGUteWVhcixcXG5cXHRcXHQmLm14LXRhYmxlLW1vbnRoIHtcXG5cXHRcXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdFxcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuXFx0XFx0XFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XFxuXFx0XFx0XFx0dHIge1xcblxcdFxcdFxcdFxcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xcblxcdFxcdFxcdFxcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuXFx0XFx0XFx0XFx0ZmxleDogMSAxICRjZWxsX2hlaWdodDtcXG5cXHRcXHRcXHRcXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcXG5cXHRcXHRcXHRcXHRtaW4taGVpZ2h0OiAkY2VsbF9oZWlnaHQ7XFxuXFx0XFx0XFx0fVxcblxcdFxcdFxcdC8vIERlZmF1bHQgY2VsbCBzdHlsZVxcblxcdFxcdFxcdHRoLFxcblxcdFxcdFxcdHRkIHtcXG5cXHRcXHRcXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdFxcdFxcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuXFx0XFx0XFx0XFx0Ly8gMyByb3dzIHdpdGggYSBsaXR0bGUgc3BhY2luZ1xcblxcdFxcdFxcdFxcdGZsZXg6IDAgMSAzMiU7XFxuXFx0XFx0XFx0XFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuXFx0XFx0XFx0XFx0bWluLXdpZHRoOiAkY2VsbF9oZWlnaHQ7XFxuXFx0XFx0XFx0XFx0Ly8gc3BhY2luZyBiZXR3ZWVuIHJvd3NcXG5cXHRcXHRcXHRcXHRoZWlnaHQ6IDk1JTtcXG5cXHRcXHRcXHRcXHRtaW4taGVpZ2h0OiAkY2VsbF9oZWlnaHQ7XFxuXFx0XFx0XFx0XFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMDBtcyBlYXNlLWluLW91dDtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdFxcdCYubXgtdGFibGUteWVhciB7XFxuXFx0XFx0XFx0dHIgdGgsXFxuXFx0XFx0XFx0dHIgdGQge1xcblxcdFxcdFxcdFxcdC8vIG9ubHkgdHdvIHJvd3MgaW4geWVhciBwYW5lbFxcblxcdFxcdFxcdFxcdGZsZXgtYmFzaXM6IDQ4JTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdFxcdCYubXgtdGFibGUtZGF0ZSB7XFxuXFx0XFx0XFx0dHIgdGgsXFxuXFx0XFx0XFx0dHIgdGQge1xcblxcdFxcdFxcdFxcdC8vIG9ubHkgdHdvIHJvd3MgaW4geWVhciBwYW5lbFxcblxcdFxcdFxcdFxcdGZsZXgtYmFzaXM6ICRjZWxsX2hlaWdodDtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQvLyBkZWZhdWx0IGJ1dHRvbnM6IGhlYWRlci4uLlxcblxcdC5teC1idG4ge1xcblxcdFxcdG1pbi13aWR0aDogJGNlbGxfaGVpZ2h0O1xcblxcdFxcdGhlaWdodDogJGNlbGxfaGVpZ2h0O1xcblxcdFxcdG1hcmdpbjogMCBhdXRvOyAvLyBjZW50ZXIgYWxzbyBzaW5nbGUgZWxlbWVudFxcblxcdFxcdHBhZGRpbmc6IDdweCAxMHB4O1xcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuXFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZGlzYWJsZWQ7XFxuXFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogJGNlbGxfaGVpZ2h0O1xcblxcdFxcdGxpbmUtaGVpZ2h0OiAkY2VsbF9oZWlnaHQgLSAxMnB4OyAvLyBwYWRkaW5nIG1pbnVzIDJweCBmb3IgYmV0dGVyIHZpc3VhbFxcblxcdFxcdC8vIE1vdXNlIGZlZWRiYWNrXFxuXFx0XFx0Jjpob3ZlcixcXG5cXHRcXHQmOmZvY3VzIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcblxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdC8vIEhlYWRlciwgYXJyb3dzLCB5ZWFycywgbW9udGhzXFxuXFx0Lm14LWNhbGVuZGFyLWhlYWRlciB7XFxuXFx0XFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XFxuXFx0XFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXHRcXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuXFx0XFx0d2lkdGg6IDEwMCU7XFxuXFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0bWFyZ2luLWJvdHRvbTogNHB4O1xcblxcblxcdFxcdGJ1dHRvbiB7XFxuXFx0XFx0XFx0bWluLXdpZHRoOiAkY2VsbF9oZWlnaHQ7XFxuXFx0XFx0XFx0bWluLWhlaWdodDogJGNlbGxfaGVpZ2h0O1xcblxcdFxcdFxcdG1hcmdpbjogMDtcXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0dGV4dC1hbGlnbjogY2VudGVyO1xcblxcdFxcdFxcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFx0XFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuXFx0XFx0XFx0Ym9yZGVyLXJhZGl1czogJGNlbGxfaGVpZ2h0O1xcblxcdFxcdFxcdGxpbmUtaGVpZ2h0OiAkY2VsbF9oZWlnaHQgLSAxMnB4OyAvLyBwYWRkaW5nIG1pbnVzIDJweCBmb3IgYmV0dGVyIHZpc3VhbFxcblxcblxcdFxcdFxcdC8vIE1vdXNlIGZlZWRiYWNrXFxuXFx0XFx0XFx0Jjpob3ZlcixcXG5cXHRcXHRcXHQmOmZvY3VzIHtcXG5cXHRcXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdFxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcblxcdFxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTtcXG5cXHRcXHRcXHR9XFxuXFxuXFx0XFx0XFx0Ly8gSGVhZGVyIGFycm93c1xcblxcdFxcdFxcdCYubXgtYnRuLWljb24tZG91YmxlLWxlZnQsXFxuXFx0XFx0XFx0Ji5teC1idG4taWNvbi1sZWZ0LFxcblxcdFxcdFxcdCYubXgtYnRuLWljb24tcmlnaHQsXFxuXFx0XFx0XFx0Ji5teC1idG4taWNvbi1kb3VibGUtcmlnaHQge1xcblxcdFxcdFxcdFxcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuXFx0XFx0XFx0XFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuXFx0XFx0XFx0XFx0d2lkdGg6ICRjZWxsX2hlaWdodDtcXG5cXHRcXHRcXHRcXHRwYWRkaW5nOiAwOyAvLyBsZWF2ZSB0aGUgY2VudGVyaW5nIHRvIGZsZXhcXG5cXG5cXHRcXHRcXHRcXHQvLyBmb250IGljb25zXFxuXFx0XFx0XFx0XFx0JjpiZWZvcmUge1xcblxcdFxcdFxcdFxcdFxcdGRpc3BsYXk6IGJsb2NrO1xcblxcdFxcdFxcdFxcdFxcdGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcXG5cXHRcXHRcXHRcXHR9XFxuXFxuXFx0XFx0XFx0XFx0Ly8gSGlkZSBvcmlnaW5hbCBpY29uc1xcblxcdFxcdFxcdFxcdD4gaSB7XFxuXFx0XFx0XFx0XFx0XFx0ZGlzcGxheTogbm9uZTtcXG5cXHRcXHRcXHRcXHR9XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXG5cXHRcXHQubXgtY2FsZW5kYXItaGVhZGVyLWxhYmVsIHtcXG5cXHRcXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQubXgtYnRuLWljb24tZG91YmxlLWxlZnQge1xcblxcdFxcdFxcdEBpbmNsdWRlIGljb25mb250KCdhcnJvdy1sZWZ0LWRvdWJsZScpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQubXgtYnRuLWljb24tbGVmdCB7XFxuXFx0XFx0XFx0QGluY2x1ZGUgaWNvbmZvbnQoJ2Fycm93LWxlZnQnKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Lm14LWJ0bi1pY29uLXJpZ2h0IHtcXG5cXHRcXHRcXHRAaW5jbHVkZSBpY29uZm9udCgnYXJyb3ctcmlnaHQnKTtcXG5cXHRcXHRcXHQvLyBhcnJvd3MgYXJlIGFsbCBiZWZvcmUgbW9udGggYW5kIHllYXJcXG5cXHRcXHRcXHQvLyBzZW5kIHRoZW0gdG8gdGhlIGVuZCBvZiB0aGUgcm93XFxuXFx0XFx0XFx0Ly9vcmRlcjogMztcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Lm14LWJ0bi1pY29uLWRvdWJsZS1yaWdodCB7XFxuXFx0XFx0XFx0QGluY2x1ZGUgaWNvbmZvbnQoJ2Fycm93LXJpZ2h0LWRvdWJsZScpO1xcblxcdFxcdFxcdC8vIGFycm93cyBhcmUgYWxsIGJlZm9yZSBtb250aCBhbmQgeWVhclxcblxcdFxcdFxcdC8vIHNlbmQgdGhlbSB0byB0aGUgZW5kIG9mIHRoZSByb3dcXG5cXHRcXHRcXHQvL29yZGVyOiA0O1xcblxcdFxcdH1cXG5cXG5cXHRcXHRidXR0b24ubXgtYnRuLWljb24tcmlnaHQge1xcblxcdFxcdFxcdG9yZGVyOiAyO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRidXR0b24ubXgtYnRuLWljb24tZG91YmxlLXJpZ2h0IHtcXG5cXHRcXHRcXHRvcmRlcjogMztcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdC8vIFdlZWsgcGFuZWxcXG5cXHQubXgtY2FsZW5kYXItd2Vlay1tb2RlIHtcXG5cXHRcXHQvLyBtb3ZlIGZvY3VzIG9uIHJvdyBhbmQgbm90IG9uIGNlbGxcXG5cXHRcXHQubXgtZGF0ZS1yb3cge1xcblxcdFxcdFxcdC5teC13ZWVrLW51bWJlciB7XFxuXFx0XFx0XFx0XFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XFxuXFx0XFx0XFx0fVxcblxcdFxcdFxcdCY6aG92ZXIsXFxuXFx0XFx0XFx0Ji5teC1hY3RpdmUtd2VlayB7XFxuXFx0XFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHRcXHRcXHRib3JkZXItcmFkaXVzOiA1MHB4O1xcblxcdFxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7XFxuXFx0XFx0XFx0XFx0dGQge1xcblxcdFxcdFxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdFxcdFxcdFxcdFxcdCYsICY6aG92ZXIsICY6Zm9jdXMge1xcblxcdFxcdFxcdFxcdFxcdFxcdGNvbG9yOiBpbmhlcml0O1xcblxcdFxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHRcXHR9XFxuXFx0XFx0XFx0fVxcblxcdFxcdFxcdCYubXgtYWN0aXZlLXdlZWsge1xcblxcdFxcdFxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xcblxcdFxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxuXFx0XFx0XFx0XFx0Ly8gUmVtb3ZlIGNlbGwgZmVlZGJhY2sgb24gc2VsZWN0ZWQgcm93c1xcblxcdFxcdFxcdFxcdHRkIHtcXG5cXHRcXHRcXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFx0XFx0XFx0XFx0XFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcXG5cXHRcXHRcXHRcXHR9XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Ly8gVGltZSBwYW5lbFxcblxcdC5teC10aW1lIHtcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcblxcblxcdFxcdC5teC10aW1lLWhlYWRlciB7XFxuXFx0XFx0XFx0Ly8gb25seSBvbmUgYnV0dG9uLCBjZW50ZXIgaXRcXG5cXHRcXHRcXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG5cXHRcXHRcXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Lm14LXRpbWUtY29sdW1uIHtcXG5cXHRcXHRcXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XFxuXFx0XFx0fVxcblxcblxcdFxcdC5teC10aW1lLW9wdGlvbixcXG5cXHRcXHQubXgtdGltZS1pdGVtIHtcXG5cXHRcXHRcXHQmLmFjdGl2ZSxcXG5cXHRcXHRcXHQmOmhvdmVyIHtcXG5cXHRcXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcXG5cXHRcXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcblxcdFxcdFxcdH1cXG5cXG5cXHRcXHRcXHQmLmRpc2FibGVkIHtcXG5cXHRcXHRcXHRcXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xcblxcdFxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Rpc2FibGVkO1xcblxcdFxcdFxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcblxcdFxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXHR9XFxufVxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIixcIiRfX2ljb25mb250X19kYXRhOiBtYXAtbWVyZ2UoaWYoZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cygnX19pY29uZm9udF9fZGF0YScpLCAkX19pY29uZm9udF9fZGF0YSwgKCkpLCAoXFxuXFx0XFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjogKFxcblxcdFxcdFxcXCJhcnJvdy1sZWZ0LWRvdWJsZVxcXCI6IFxcXCJcXFxcZWEwMVxcXCIsXFxuXFx0XFx0XFxcImFycm93LWxlZnRcXFwiOiBcXFwiXFxcXGVhMDJcXFwiLFxcblxcdFxcdFxcXCJhcnJvdy1yaWdodC1kb3VibGVcXFwiOiBcXFwiXFxcXGVhMDNcXFwiLFxcblxcdFxcdFxcXCJhcnJvdy1yaWdodFxcXCI6IFxcXCJcXFxcZWEwNFxcXCIsXFxuXFx0XFx0XFxcImJyZWFkY3J1bWJcXFwiOiBcXFwiXFxcXGVhMDVcXFwiLFxcblxcdFxcdFxcXCJjaGVja21hcmtcXFwiOiBcXFwiXFxcXGVhMDZcXFwiLFxcblxcdFxcdFxcXCJjbG9zZVxcXCI6IFxcXCJcXFxcZWEwN1xcXCIsXFxuXFx0XFx0XFxcImNvbmZpcm1cXFwiOiBcXFwiXFxcXGVhMDhcXFwiLFxcblxcdFxcdFxcXCJpbmZvXFxcIjogXFxcIlxcXFxlYTA5XFxcIixcXG5cXHRcXHRcXFwibWVudVxcXCI6IFxcXCJcXFxcZWEwYVxcXCIsXFxuXFx0XFx0XFxcIm1vcmVcXFwiOiBcXFwiXFxcXGVhMGJcXFwiLFxcblxcdFxcdFxcXCJwYXVzZVxcXCI6IFxcXCJcXFxcZWEwY1xcXCIsXFxuXFx0XFx0XFxcInBsYXlcXFwiOiBcXFwiXFxcXGVhMGRcXFwiLFxcblxcdFxcdFxcXCJ0cmlhbmdsZS1zXFxcIjogXFxcIlxcXFxlYTBlXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtYXdheVxcXCI6IFxcXCJcXFxcZWEwZlxcXCIsXFxuXFx0XFx0XFxcInVzZXItc3RhdHVzLWRuZFxcXCI6IFxcXCJcXFxcZWExMFxcXCIsXFxuXFx0XFx0XFxcInVzZXItc3RhdHVzLWludmlzaWJsZVxcXCI6IFxcXCJcXFxcZWExMVxcXCIsXFxuXFx0XFx0XFxcInVzZXItc3RhdHVzLW9ubGluZVxcXCI6IFxcXCJcXFxcZWExMlxcXCJcXG5cXHQpXFxuKSk7XFxuXFxuXFxuJGNyZWF0ZS1mb250LWZhY2U6IHRydWUgIWRlZmF1bHQ7IC8vIHNob3VsZCB0aGUgQGZvbnQtZmFjZSB0YWcgZ2V0IGNyZWF0ZWQ/XFxuXFxuLy8gc2hvdWxkIHRoZXJlIGJlIGEgY3VzdG9tIGNsYXNzIGZvciBlYWNoIGljb24/IHdpbGwgYmUgLmZpbGVuYW1lXFxuJGNyZWF0ZS1pY29uLWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7IFxcblxcbi8vIHdoYXQgaXMgdGhlIGNvbW1vbiBjbGFzcyBuYW1lIHRoYXQgaWNvbnMgc2hhcmU/IGluIHRoaXMgY2FzZSBpY29ucyBuZWVkIHRvIGhhdmUgLmljb24uZmlsZW5hbWUgaW4gdGhlaXIgY2xhc3Nlc1xcbi8vIHRoaXMgcmVxdWlyZXMgeW91IHRvIGhhdmUgMiBjbGFzc2VzIG9uIGVhY2ggaWNvbiBodG1sIGVsZW1lbnQsIGJ1dCByZWR1Y2VkIHJlZGVjbGFyYXRpb24gb2YgdGhlIGZvbnQgZmFtaWx5XFxuLy8gZm9yIGVhY2ggaWNvblxcbiRpY29uLWNvbW1vbi1jbGFzczogJ2ljb24nICFkZWZhdWx0O1xcblxcbi8vIGlmIHlvdSB3aGlzaCB0byBwcmVmaXggeW91ciBmaWxlbmFtZXMsIGhlcmUgeW91IGNhbiBkbyBzby5cXG4vLyBpZiB0aGlzIHN0cmluZyBzdGF5cyBlbXB0eSwgeW91ciBjbGFzc2VzIHdpbGwgdXNlIHRoZSBmaWxlbmFtZSwgZm9yIGV4YW1wbGVcXG4vLyBhbiBpY29uIGNhbGxlZCBzdGFyLnN2ZyB3aWxsIHJlc3VsdCBpbiBhIGNsYXNzIGNhbGxlZCAuc3Rhclxcbi8vIGlmIHlvdSB1c2UgdGhlIHByZWZpeCB0byBiZSAnaWNvbi0nIGl0IHdvdWxkIHJlc3VsdCBpbiAuaWNvbi1zdGFyXFxuJGljb24tcHJlZml4OiAnJyAhZGVmYXVsdDsgXFxuXFxuLy8gaGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgY29ycmVjdCBmb250IGdyb3VwXFxuQGZ1bmN0aW9uIGljb25mb250LWdyb3VwKCRncm91cDogbnVsbCkge1xcbiAgQGlmIChudWxsID09ICRncm91cCkge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgQGlmIChmYWxzZSA9PSBtYXAtaGFzLWtleSgkX19pY29uZm9udF9fZGF0YSwgJGdyb3VwKSkge1xcbiAgICBAd2FybiAnVW5kZWZpbmVkIEljb25mb250IEZhbWlseSEnO1xcbiAgICBAcmV0dXJuICgpO1xcbiAgfVxcbiAgQHJldHVybiBtYXAtZ2V0KCRfX2ljb25mb250X19kYXRhLCAkZ3JvdXApO1xcbn1cXG5cXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGljb24gb2YgYSBncm91cFxcbkBmdW5jdGlvbiBpY29uZm9udC1pdGVtKCRuYW1lKSB7XFxuICAkc2xhc2g6IHN0ci1pbmRleCgkbmFtZSwgJy8nKTtcXG4gICRncm91cDogbnVsbDtcXG4gIEBpZiAoJHNsYXNoKSB7XFxuICAgICRncm91cDogc3RyLXNsaWNlKCRuYW1lLCAwLCAkc2xhc2ggLSAxKTtcXG4gICAgJG5hbWU6IHN0ci1zbGljZSgkbmFtZSwgJHNsYXNoICsgMSk7XFxuICB9IEBlbHNlIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gICRncm91cDogaWNvbmZvbnQtZ3JvdXAoJGdyb3VwKTtcXG4gIEBpZiAoZmFsc2UgPT0gbWFwLWhhcy1rZXkoJGdyb3VwLCAkbmFtZSkpIHtcXG4gICAgQHdhcm4gJ1VuZGVmaW5lZCBJY29uZm9udCBHbHlwaCEnO1xcbiAgICBAcmV0dXJuICcnO1xcbiAgfVxcbiAgQHJldHVybiBtYXAtZ2V0KCRncm91cCwgJG5hbWUpO1xcbn1cXG5cXG4vLyBjb21wbGV0ZSBtaXhpbmcgdG8gaW5jbHVkZSB0aGUgaWNvblxcbi8vIHVzYWdlOlxcbi8vIC5teV9pY29ueyBAaW5jbHVkZSBpY29uZm9udCgnc3RhcicpIH1cXG5AbWl4aW4gaWNvbmZvbnQoJGljb24pIHtcXG4gICRzbGFzaDogc3RyLWluZGV4KCRpY29uLCAnLycpO1xcbiAgJGdyb3VwOiBudWxsO1xcbiAgQGlmICgkc2xhc2gpIHtcXG4gICAgJGdyb3VwOiBzdHItc2xpY2UoJGljb24sIDAsICRzbGFzaCAtIDEpO1xcbiAgfSBAZWxzZSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICAmOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiAkZ3JvdXA7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgY29udGVudDogaWNvbmZvbnQtaXRlbSgkaWNvbik7XFxuICB9XFxufVxcblxcbi8vIGNyZWF0ZXMgdGhlIGZvbnQgZmFjZSB0YWcgaWYgdGhlIHZhcmlhYmxlIGlzIHNldCB0byB0cnVlIChkZWZhdWx0KVxcbkBpZiAkY3JlYXRlLWZvbnQtZmFjZSA9PSB0cnVlIHtcXG4gIEBmb250LWZhY2Uge1xcbiAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgIHNyYzogdXJsKCcuLi9pY29uZm9udC12dWUtODRjNDYxZi5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xcbiAgIHNyYzogdXJsKCcuLi9pY29uZm9udC12dWUtODRjNDYxZi5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXFxuICAgICAgdXJsKCcuLi9pY29uZm9udC12dWUtODRjNDYxZi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIFByZXR0eSBNb2Rlcm4gQnJvd3NlcnMgKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLnR0ZicpICBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXFxuICAgICAgdXJsKCcuLi9pY29uZm9udC12dWUtODRjNDYxZi5zdmcnKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXFxuICB9XFxufVxcblxcbi8vIGNyZWF0ZXMgaWNvbiBjbGFzc2VzIGZvciBlYWNoIGluZGl2aWR1YWwgbG9hZGVkIHN2ZyAoZGVmYXVsdClcXG5AaWYgJGNyZWF0ZS1pY29uLWNsYXNzZXMgPT0gdHJ1ZSB7XFxuICAuI3skaWNvbi1jb21tb24tY2xhc3N9IHtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcblxcbiAgICBAZWFjaCAkaWNvbiwgJGNvbnRlbnQgaW4gbWFwLWdldCgkX19pY29uZm9udF9fZGF0YSwgXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIikge1xcbiAgICAgICYuI3skaWNvbi1wcmVmaXh9I3skaWNvbn06YmVmb3JlIHtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICAgICAgY29udGVudDogaWNvbmZvbnQtaXRlbShcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWYvI3skaWNvbn1cXFwiKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXCIsXCJAaW1wb3J0ICcuL3Zhci5zY3NzJztcXG5cXG4uI3skbmFtZXNwYWNlfS1pY29uLWxlZnQ6YmVmb3JlLFxcbi4jeyRuYW1lc3BhY2V9LWljb24tcmlnaHQ6YmVmb3JlLFxcbi4jeyRuYW1lc3BhY2V9LWljb24tZG91YmxlLWxlZnQ6YmVmb3JlLFxcbi4jeyRuYW1lc3BhY2V9LWljb24tZG91YmxlLXJpZ2h0OmJlZm9yZSxcXG4uI3skbmFtZXNwYWNlfS1pY29uLWRvdWJsZS1sZWZ0OmFmdGVyLFxcbi4jeyRuYW1lc3BhY2V9LWljb24tZG91YmxlLXJpZ2h0OmFmdGVyIHtcXG4gIGNvbnRlbnQ6ICcnO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgdG9wOiAtMXB4O1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDEwcHg7XFxuICBoZWlnaHQ6IDEwcHg7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xcbiAgYm9yZGVyLXdpZHRoOiAycHggMCAwIDJweDtcXG4gIGJvcmRlci1yYWRpdXM6IDFweDtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNyk7XFxufVxcblxcbi4jeyRuYW1lc3BhY2V9LWljb24tZG91YmxlLWxlZnQ6YWZ0ZXIge1xcbiAgbGVmdDogLTRweDtcXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0taWNvbi1kb3VibGUtcmlnaHQ6YmVmb3JlIHtcXG4gIGxlZnQ6IDRweDtcXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0taWNvbi1yaWdodDpiZWZvcmUsXFxuLiN7JG5hbWVzcGFjZX0taWNvbi1kb3VibGUtcmlnaHQ6YmVmb3JlLFxcbi4jeyRuYW1lc3BhY2V9LWljb24tZG91YmxlLXJpZ2h0OmFmdGVyIHtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgc2NhbGUoMC43KTtcXG59XFxuXCIsXCJAaW1wb3J0ICcuL3Zhci5zY3NzJztcXG5cXG4uI3skbmFtZXNwYWNlfS1idG4ge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gIGxpbmUtaGVpZ2h0OiAxO1xcbiAgZm9udC1zaXplOiAxNHB4O1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gIHBhZGRpbmc6IDdweCAxNXB4O1xcbiAgbWFyZ2luOiAwO1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBvdXRsaW5lOiBub25lO1xcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbiAgY29sb3I6ICRkZWZhdWx0LWNvbG9yO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICY6aG92ZXIge1xcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XFxuICB9XFxufVxcblxcbi4jeyRuYW1lc3BhY2V9LWJ0bi10ZXh0IHtcXG4gIGJvcmRlcjogMDtcXG4gIHBhZGRpbmc6IDAgNHB4O1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xcbn1cXG5cIixcIiRuYW1lc3BhY2U6ICdteCcgIWRlZmF1bHQ7XFxuXFxuJGRlZmF1bHQtY29sb3I6ICM3Mzg3OWMgIWRlZmF1bHQ7XFxuJHByaW1hcnktY29sb3I6ICMxMjg0ZTcgIWRlZmF1bHQ7XFxuXFxuJHRvZGF5LWNvbG9yOiBtaXgoI2ZmZiwgJHByaW1hcnktY29sb3IsIDEwJSkgIWRlZmF1bHQ7XFxuXFxuJHBvcHVwLXotaW5kZXg6IDIwMDEgIWRlZmF1bHQ7XFxuXFxuJGlucHV0LWJvcmRlci1jb2xvcjogI2NjYyAhZGVmYXVsdDtcXG4kaW5wdXQtY29sb3I6ICM1NTUgIWRlZmF1bHQ7XFxuJGlucHV0LWhvdmVyLWJvcmRlci1jb2xvcjogIzQwOWFmZiAhZGVmYXVsdDtcXG5cXG4kZGlzYWJsZWQtY29sb3I6ICNjY2MgIWRlZmF1bHQ7XFxuJGRpc2FibGVkLWJhY2tncm91bmQtY29sb3I6ICNmM2YzZjMgIWRlZmF1bHQ7XFxuXFxuJGJvcmRlci1jb2xvcjogI2U4ZThlOCAhZGVmYXVsdDtcXG5cXG4kY2FsZW5kYXItYWN0aXZlLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xcbiRjYWxlbmRhci1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XFxuXFxuJGNhbGVuZGFyLWhvdmVyLWNvbG9yOiAkZGVmYXVsdC1jb2xvciAhZGVmYXVsdDtcXG4kY2FsZW5kYXItaG92ZXItYmFja2dyb3VuZC1jb2xvcjogbWl4KCNmZmYsICRjYWxlbmRhci1hY3RpdmUtYmFja2dyb3VuZC1jb2xvciwgOTUlKSAhZGVmYXVsdDtcXG5cXG4kY2FsZW5kYXItaW4tcmFuZ2UtY29sb3I6ICRkZWZhdWx0LWNvbG9yICFkZWZhdWx0O1xcbiRjYWxlbmRhci1pbi1yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yOiBtaXgoI2ZmZiwgJGNhbGVuZGFyLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yLCA4NSUpICFkZWZhdWx0O1xcblxcbiR0aW1lLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XFxuJHRpbWUtYWN0aXZlLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xcblxcbiR0aW1lLWhvdmVyLWNvbG9yOiAkZGVmYXVsdC1jb2xvciAhZGVmYXVsdDtcXG4kdGltZS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiBtaXgoI2ZmZiwgJGNhbGVuZGFyLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yLCA5NSUpICFkZWZhdWx0O1xcblxcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiA0cHggIWRlZmF1bHQ7XFxuJHNpZGViYXItbWFyZ2luLWxlZnQ6IDEwMHB4ICFkZWZhdWx0O1xcblwiLFwiQGltcG9ydCAnLi92YXIuc2Nzcyc7XFxuXFxuLiN7JG5hbWVzcGFjZX0tc2Nyb2xsYmFyIHtcXG4gIGhlaWdodDogMTAwJTtcXG4gICY6aG92ZXIge1xcbiAgICAuI3skbmFtZXNwYWNlfS1zY3JvbGxiYXItdHJhY2sge1xcbiAgICAgIG9wYWNpdHk6IDE7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0tc2Nyb2xsYmFyLXdyYXAge1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0tc2Nyb2xsYmFyLXRyYWNrIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMnB4O1xcbiAgcmlnaHQ6IDJweDtcXG4gIGJvdHRvbTogMnB4O1xcbiAgd2lkdGg6IDZweDtcXG4gIHotaW5kZXg6IDE7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxuICBvcGFjaXR5OiAwO1xcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI0cyBlYXNlLW91dDtcXG4gIC4jeyRuYW1lc3BhY2V9LXNjcm9sbGJhci10aHVtYiB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogMDtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE0NCwgMTQ3LCAxNTMsIDAuMyk7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcXG4gIH1cXG59XFxuXCIsXCJAaW1wb3J0ICcuL3Zhci5zY3NzJztcXG5cXG4uI3skbmFtZXNwYWNlfS16b29tLWluLWRvd24tZW50ZXItYWN0aXZlLFxcbi4jeyRuYW1lc3BhY2V9LXpvb20taW4tZG93bi1sZWF2ZS1hY3RpdmUge1xcbiAgb3BhY2l0eTogMTtcXG4gIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpLFxcbiAgICBvcGFjaXR5IDAuM3MgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0tem9vbS1pbi1kb3duLWVudGVyLFxcbi4jeyRuYW1lc3BhY2V9LXpvb20taW4tZG93bi1sZWF2ZS10byB7XFxuICBvcGFjaXR5OiAwO1xcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XFxufVxcblwiLFwiQGltcG9ydCAnLi92YXIuc2Nzcyc7XFxuQGltcG9ydCAnLi9pY29uLnNjc3MnO1xcbkBpbXBvcnQgJy4vYnRuLnNjc3MnO1xcbkBpbXBvcnQgJy4vc2Nyb2xsYmFyLnNjc3MnO1xcbkBpbXBvcnQgJy4vYW5pbWF0aW9uLnNjc3MnO1xcblxcbi4jeyRuYW1lc3BhY2V9LWRhdGVwaWNrZXIge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDIxMHB4O1xcbiAgc3ZnIHtcXG4gICAgd2lkdGg6IDFlbTtcXG4gICAgaGVpZ2h0OiAxZW07XFxuICAgIHZlcnRpY2FsLWFsaWduOiAtMC4xNWVtO1xcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICB9XFxufVxcblxcbi4jeyRuYW1lc3BhY2V9LWRhdGVwaWNrZXItcmFuZ2Uge1xcbiAgd2lkdGg6IDMyMHB4O1xcbn1cXG5cXG4uI3skbmFtZXNwYWNlfS1kYXRlcGlja2VyLWlubGluZSB7XFxuICB3aWR0aDogYXV0bztcXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0taW5wdXQtd3JhcHBlciB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAuI3skbmFtZXNwYWNlfS1pY29uLWNsZWFyIHtcXG4gICAgZGlzcGxheTogbm9uZTtcXG4gIH1cXG4gICY6aG92ZXIge1xcbiAgICAuI3skbmFtZXNwYWNlfS1pY29uLWNsZWFyIHtcXG4gICAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgfVxcbiAgICAuI3skbmFtZXNwYWNlfS1pY29uLWNsZWFyICsgLiN7JG5hbWVzcGFjZX0taWNvbi1jYWxlbmRhciB7XFxuICAgICAgZGlzcGxheTogbm9uZTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4uI3skbmFtZXNwYWNlfS1pbnB1dCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDM0cHg7XFxuICBwYWRkaW5nOiA2cHggMzBweDtcXG4gIHBhZGRpbmctbGVmdDogMTBweDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XFxuICBjb2xvcjogJGlucHV0LWNvbG9yO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XFxuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcXG5cXG4gICY6aG92ZXIsXFxuICAmOmZvY3VzIHtcXG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtaG92ZXItYm9yZGVyLWNvbG9yO1xcbiAgfVxcbiAgJjpkaXNhYmxlZCxcXG4gICYuZGlzYWJsZWQge1xcbiAgICBjb2xvcjogJGRpc2FibGVkLWNvbG9yO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcjtcXG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xcbiAgfVxcbiAgJjpmb2N1cyB7XFxuICAgIG91dGxpbmU6IG5vbmU7XFxuICB9XFxuICAmOjotbXMtY2xlYXIge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbiAgfVxcbn1cXG5cXG4uI3skbmFtZXNwYWNlfS1pY29uLWNhbGVuZGFyLFxcbi4jeyRuYW1lc3BhY2V9LWljb24tY2xlYXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiA1MCU7XFxuICByaWdodDogOHB4O1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xcbiAgZm9udC1zaXplOiAxNnB4O1xcbiAgbGluZS1oZWlnaHQ6IDE7XFxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0taWNvbi1jbGVhciB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICAmOmhvdmVyIHtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcXG4gIH1cXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0tZGF0ZXBpY2tlci1tYWluIHtcXG4gIGZvbnQ6IDE0cHgvMS41ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsICdNaWNyb3NvZnQgWWFoZWknLCBzYW5zLXNlcmlmO1xcbiAgY29sb3I6ICRkZWZhdWx0LWNvbG9yO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XFxufVxcblxcbi4jeyRuYW1lc3BhY2V9LWRhdGVwaWNrZXItcG9wdXAge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgbWFyZ2luLXRvcDogMXB4O1xcbiAgbWFyZ2luLWJvdHRvbTogMXB4O1xcbiAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcXG4gIHotaW5kZXg6ICRwb3B1cC16LWluZGV4O1xcbn1cXG5cXG4uI3skbmFtZXNwYWNlfS1kYXRlcGlja2VyLXNpZGViYXIge1xcbiAgZmxvYXQ6IGxlZnQ7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgd2lkdGg6ICRzaWRlYmFyLW1hcmdpbi1sZWZ0O1xcbiAgcGFkZGluZzogNnB4O1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxufVxcblxcbi4jeyRuYW1lc3BhY2V9LWRhdGVwaWNrZXItc2lkZWJhciArIC4jeyRuYW1lc3BhY2V9LWRhdGVwaWNrZXItY29udGVudCB7XFxuICBtYXJnaW4tbGVmdDogJHNpZGViYXItbWFyZ2luLWxlZnQ7XFxuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XFxufVxcblxcbi4jeyRuYW1lc3BhY2V9LWRhdGVwaWNrZXItYm9keSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0tYnRuLXNob3J0Y3V0IHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcGFkZGluZzogMCA2cHg7XFxuICBsaW5lLWhlaWdodDogMjRweDtcXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0tcmFuZ2Utd3JhcHBlciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc1MHB4KSB7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICB9XFxufVxcblxcbi4jeyRuYW1lc3BhY2V9LWRhdGVwaWNrZXItaGVhZGVyIHtcXG4gIHBhZGRpbmc6IDZweCA4cHg7XFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0tZGF0ZXBpY2tlci1mb290ZXIge1xcbiAgcGFkZGluZzogNnB4IDhweDtcXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XFxufVxcblxcbi4jeyRuYW1lc3BhY2V9LWNhbGVuZGFyIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICB3aWR0aDogMjQ4cHg7XFxuICBwYWRkaW5nOiA2cHggMTJweDtcXG4gICYgKyAmIHtcXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xcbiAgfVxcbn1cXG5cXG4uI3skbmFtZXNwYWNlfS1jYWxlbmRhci1oZWFkZXIge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gIGhlaWdodDogMzRweDtcXG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0tYnRuLWljb24tbGVmdCxcXG4uI3skbmFtZXNwYWNlfS1idG4taWNvbi1kb3VibGUtbGVmdCB7XFxuICBmbG9hdDogbGVmdDtcXG59XFxuLiN7JG5hbWVzcGFjZX0tYnRuLWljb24tcmlnaHQsXFxuLiN7JG5hbWVzcGFjZX0tYnRuLWljb24tZG91YmxlLXJpZ2h0IHtcXG4gIGZsb2F0OiByaWdodDtcXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0tY2FsZW5kYXItaGVhZGVyLWxhYmVsIHtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0tY2FsZW5kYXItZGVjYWRlLXNlcGFyYXRvciB7XFxuICBtYXJnaW46IDAgMnB4O1xcbiAgJjphZnRlciB7XFxuICAgIGNvbnRlbnQ6ICd+JztcXG4gIH1cXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0tY2FsZW5kYXItY29udGVudCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBoZWlnaHQ6IDIyNHB4O1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gIC5jZWxsIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAmOmhvdmVyIHtcXG4gICAgICBjb2xvcjogJGNhbGVuZGFyLWhvdmVyLWNvbG9yO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxlbmRhci1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yO1xcbiAgICB9XFxuICAgICYuYWN0aXZlIHtcXG4gICAgICBjb2xvcjogJGNhbGVuZGFyLWFjdGl2ZS1jb2xvcjtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsZW5kYXItYWN0aXZlLWJhY2tncm91bmQtY29sb3I7XFxuICAgIH1cXG4gICAgJi5pbi1yYW5nZSxcXG4gICAgJi5ob3Zlci1pbi1yYW5nZSB7XFxuICAgICAgY29sb3I6ICRjYWxlbmRhci1pbi1yYW5nZS1jb2xvcjtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsZW5kYXItaW4tcmFuZ2UtYmFja2dyb3VuZC1jb2xvcjtcXG4gICAgfVxcbiAgICAmLmRpc2FibGVkIHtcXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xcbiAgICAgIGNvbG9yOiAkZGlzYWJsZWQtY29sb3I7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLWJhY2tncm91bmQtY29sb3I7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0tY2FsZW5kYXItd2Vlay1tb2RlIHtcXG4gIC4jeyRuYW1lc3BhY2V9LWRhdGUtcm93IHtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAmOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsZW5kYXItaG92ZXItYmFja2dyb3VuZC1jb2xvcjtcXG4gICAgfVxcbiAgICAmLiN7JG5hbWVzcGFjZX0tYWN0aXZlLXdlZWsge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxlbmRhci1pbi1yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yO1xcbiAgICB9XFxuICAgIC5jZWxsIHtcXG4gICAgICAmOmhvdmVyIHtcXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgfVxcbiAgICAgICYuYWN0aXZlIHtcXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbi4jeyRuYW1lc3BhY2V9LXdlZWstbnVtYmVyIHtcXG4gIG9wYWNpdHk6IDAuNTtcXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0tdGFibGUge1xcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcXG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XFxuICBib3JkZXItc3BhY2luZzogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICB0aCB7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICB9XFxuICB0ZCB7XFxuICAgIHBhZGRpbmc6IDA7XFxuICB9XFxufVxcblxcbi4jeyRuYW1lc3BhY2V9LXRhYmxlLWRhdGUge1xcbiAgdGQsXFxuICB0aCB7XFxuICAgIGhlaWdodDogMzJweDtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgfVxcblxcbiAgLnRvZGF5IHtcXG4gICAgY29sb3I6ICR0b2RheS1jb2xvcjtcXG4gIH1cXG4gIC5jZWxsLm5vdC1jdXJyZW50LW1vbnRoIHtcXG4gICAgY29sb3I6ICNjY2M7XFxuICAgIGJhY2tncm91bmQ6IG5vbmU7IC8vIGNvdmVyIHRoZSBpbi1yYW5nZSBzdHlsZVxcbiAgfVxcbn1cXG5cXG4uI3skbmFtZXNwYWNlfS10aW1lIHtcXG4gIGZsZXg6IDE7XFxuICB3aWR0aDogMjI0cHg7XFxuICBiYWNrZ3JvdW5kOiAjZmZmO1xcbiAgJiArICYge1xcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XFxuICB9XFxufVxcbi4jeyRuYW1lc3BhY2V9LWNhbGVuZGFyLXRpbWUge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgbGVmdDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbn1cXG4uI3skbmFtZXNwYWNlfS10aW1lLWhlYWRlciB7XFxuICBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9LWNhbGVuZGFyLWhlYWRlcjtcXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xcbn1cXG5cXG4uI3skbmFtZXNwYWNlfS10aW1lLWNvbnRlbnQge1xcbiAgaGVpZ2h0OiAyMjRweDtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG5cXG4uI3skbmFtZXNwYWNlfS10aW1lLWNvbHVtbnMge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLiN7JG5hbWVzcGFjZX0tdGltZS1jb2x1bW4ge1xcbiAgZmxleDogMTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG5cXG4gICY6Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItbGVmdDogMDtcXG4gIH1cXG4gIC4jeyRuYW1lc3BhY2V9LXRpbWUtbGlzdCB7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcXG4gICAgJjo6YWZ0ZXIge1xcbiAgICAgIGNvbnRlbnQ6ICcnO1xcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICAgIGhlaWdodDogMzIgKiA2cHg7XFxuICAgIH1cXG4gIH1cXG4gIC4jeyRuYW1lc3BhY2V9LXRpbWUtaXRlbSB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgZm9udC1zaXplOiAxMnB4O1xcbiAgICBoZWlnaHQ6IDMycHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xcbiAgICAmOmhvdmVyIHtcXG4gICAgICBjb2xvcjogJHRpbWUtaG92ZXItY29sb3I7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRpbWUtaG92ZXItYmFja2dyb3VuZC1jb2xvcjtcXG4gICAgfVxcbiAgICAmLmFjdGl2ZSB7XFxuICAgICAgY29sb3I6ICR0aW1lLWFjdGl2ZS1jb2xvcjtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGltZS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjtcXG4gICAgICBmb250LXdlaWdodDogNzAwO1xcbiAgICB9XFxuICAgICYuZGlzYWJsZWQge1xcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxuICAgICAgY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcjtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4uI3skbmFtZXNwYWNlfS10aW1lLW9wdGlvbiB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBwYWRkaW5nOiA4cHggMTBweDtcXG4gIGZvbnQtc2l6ZTogMTRweDtcXG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xcbiAgJjpob3ZlciB7XFxuICAgIGNvbG9yOiAkdGltZS1ob3Zlci1jb2xvcjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRpbWUtaG92ZXItYmFja2dyb3VuZC1jb2xvcjtcXG4gIH1cXG4gICYuYWN0aXZlIHtcXG4gICAgY29sb3I6ICR0aW1lLWFjdGl2ZS1jb2xvcjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRpbWUtYWN0aXZlLWJhY2tncm91bmQtY29sb3I7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICB9XFxuICAmLmRpc2FibGVkIHtcXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG4gICAgY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLWJhY2tncm91bmQtY29sb3I7XFxuICB9XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuLm11bHRpc2VsZWN0W2RhdGEtdi04NGM0NjFmXSB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAvKiBvdmVycmlkZSB0aGlzIHJ1bGUgd2l0aCB5b3VyIHdpZHRoIHN0eWxpbmcgaWYgeW91IG5lZWQgKi9cXG4gIG1pbi13aWR0aDogMTYwcHg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcbiAgLyogRm9yY2Ugc2luZ2xlIG11bHRpc2VsZWN0IHZhbHVlIHRvIGJlIHNob3duIHdoZW4gbm90IGFjdGl2ZSAqL1xcbiAgLyogcmVzdWx0cyB3cmFwcGVyICovXFxuICAvKiBBQk9WRSBkaXNwbGF5ICovXFxuICAvKiBJY29uIGJlZm9yZSBvcHRpb24gc2VsZWN0ICovXFxuICAvKiBObyBuZWVkIGZvciBhbiBpY29uIGhlcmUgKi9cXG4gIC8qIE1vdXNlIGZlZWRiYWNrICovIH1cXG4gIC5tdWx0aXNlbGVjdFtkYXRhLXYtODRjNDYxZl06bm90KC5tdWx0aXNlbGVjdC0tYWN0aXZlKSAubXVsdGlzZWxlY3RfX3NpbmdsZSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICB6LWluZGV4OiAyICFpbXBvcnRhbnQ7IH1cXG4gIC5tdWx0aXNlbGVjdFtkYXRhLXYtODRjNDYxZl0ubXVsdGlzZWxlY3QtLWFjdGl2ZSB7XFxuICAgIC8qIE9wZW5lZDogZm9yY2UgZGlzcGxheSB0aGUgaW5wdXQgKi9cXG4gICAgLyogbXVsdGlzZWxlY3RfX2xpbWl0IGhpZGRlbiBpZiBhY3RpdmUgKi8gfVxcbiAgICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdLm11bHRpc2VsZWN0LS1hY3RpdmUgaW5wdXQubXVsdGlzZWxlY3RfX2lucHV0IHtcXG4gICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XFxuICAgICAgY3Vyc29yOiB0ZXh0ICFpbXBvcnRhbnQ7XFxuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cykgMCAwO1xcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cXG4gICAgLm11bHRpc2VsZWN0W2RhdGEtdi04NGM0NjFmXS5tdWx0aXNlbGVjdC0tYWN0aXZlIC5tdWx0aXNlbGVjdF9fbGltaXQge1xcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gIC5tdWx0aXNlbGVjdFtkYXRhLXYtODRjNDYxZl0ubXVsdGlzZWxlY3QtLWFjdGl2ZS5tdWx0aXNlbGVjdC0tYWJvdmUgaW5wdXQubXVsdGlzZWxlY3RfX2lucHV0IHtcXG4gICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpOyB9XFxuICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdLm11bHRpc2VsZWN0LS1kaXNhYmxlZCxcXG4gIC5tdWx0aXNlbGVjdFtkYXRhLXYtODRjNDYxZl0ubXVsdGlzZWxlY3QtLWRpc2FibGVkIC5tdWx0aXNlbGVjdF9fc2luZ2xlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrKSAhaW1wb3J0YW50OyB9XFxuICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdLmljb24tbG9hZGluZy1zbWFsbDo6YWZ0ZXIge1xcbiAgICBsZWZ0OiAxMDAlO1xcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7IH1cXG4gIC5tdWx0aXNlbGVjdFtkYXRhLXYtODRjNDYxZl0gLm11bHRpc2VsZWN0X190YWdzIHtcXG4gICAgLyogc3BhY2UgYmV0d2VlbiB0YWdzIGFuZCBsaW1pdCB0YWcgKi9cXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXJrKTtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcXG4gICAgbWluLWhlaWdodDogMzRweDtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgICAvKiB0YWcgd3JhcHBlciAqL1xcbiAgICAvKiBTaW5nbGUgc2VsZWN0IGRlZmF1bHQgdmFsdWVcXG5cXHRcXHRvciBkZWZhdWx0IHBsYWNlaG9sZGVyIGlmIHNlYXJjaCBkaXNhYmxlZCovXFxuICAgIC8qIGRpc3BsYXllZCB0ZXh0IGlmIHRhZyBsaW1pdCByZWFjaGVkICovXFxuICAgIC8qIGRlZmF1bHQgbXVsdGlzZWxlY3QgaW5wdXQgZm9yIHNlYXJjaCBhbmQgcGxhY2Vob2xkZXIgKi8gfVxcbiAgICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdIC5tdWx0aXNlbGVjdF9fdGFncyAubXVsdGlzZWxlY3RfX3RhZ3Mtd3JhcCB7XFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICAgIG1heC13aWR0aDogMTAwJTtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgICAgcGFkZGluZzogM3B4IDVweDtcXG4gICAgICBmbGV4OiAxIDE7XFxuICAgICAgZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgLyogbm8gdGFncyBvciBzaW1wbGUgc2VsZWN0PyBTaG93IGlucHV0IGRpcmVjdGx5XFxuXFx0XFx0XFx0aW5wdXQgaXMgdXNlZCB0byBkaXNwbGF5IHNpbmdsZSB2YWx1ZSAqL1xcbiAgICAgIC8qIHNlbGVjdGVkIHRhZyAqLyB9XFxuICAgICAgLm11bHRpc2VsZWN0W2RhdGEtdi04NGM0NjFmXSAubXVsdGlzZWxlY3RfX3RhZ3MgLm11bHRpc2VsZWN0X190YWdzLXdyYXA6ZW1wdHkgfiBpbnB1dC5tdWx0aXNlbGVjdF9faW5wdXQge1xcbiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcXG4gICAgICAgIC8qIGhpZGUgZGVmYXVsdCBlbXB0eSB0ZXh0IGxpa2UgLm11bHRpc2VsZWN0X19wbGFjZWhvbGRlcixcXG5cXHRcXHRcXHRcXHRhbmQgc2hvdyBpbnB1dCBpbnN0ZWFkLiBJdCBsb29rcyBiZXR0ZXIgd2l0aG91dCBhIHRyYW5zaXRpb24gYmV0d2VlblxcblxcdFxcdFxcdFxcdGEgc3BhbiBhbmQgdGhlIGlucHV0IHRoYXQgaGF2ZSBkaWZmZXJlbnQgc3R5bGluZyAqLyB9XFxuICAgICAgICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdIC5tdWx0aXNlbGVjdF9fdGFncyAubXVsdGlzZWxlY3RfX3RhZ3Mtd3JhcDplbXB0eSB+IGlucHV0Lm11bHRpc2VsZWN0X19pbnB1dCArIHNwYW46bm90KC5tdWx0aXNlbGVjdF9fc2luZ2xlKSB7XFxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gICAgICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdIC5tdWx0aXNlbGVjdF9fdGFncyAubXVsdGlzZWxlY3RfX3RhZ3Mtd3JhcCAubXVsdGlzZWxlY3RfX3RhZyB7XFxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICAgIHBhZGRpbmc6IDFweCA1cHg7XFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XFxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XFxuICAgICAgICAvKiByZXF1aXJlIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHdpZHRoXFxuXFx0XFx0XFx0XFx0YW5kIGZvcmNlIHRoZSB0YWcgdG8gc2hyaW5nIHByb3Blcmx5ICovXFxuICAgICAgICBtaW4td2lkdGg6IDA7XFxuICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xcbiAgICAgICAgbWF4LXdpZHRoOiAtbW96LWZpdC1jb250ZW50O1xcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xcbiAgICAgICAgLyogY3NzIGhhY2ssIGRldGVjdCBpZiBtb3JlIHRoYW4gdHdvIHRhZ3NcXG5cXHRcXHRcXHRcXHRpZiBzbywgZmxleC1iYXNpcyBpcyBzZXQgdG8gaGFsZiAqL1xcbiAgICAgICAgLyogZWxsaXBzaXMgdGhlIGdyb3VwcyB0byBiZSBzdXJlXFxuXFx0XFx0XFx0XFx0d2UgZGlzcGxheSBhdCBsZWFzdCB0d28gb2YgdGhlbSAqLyB9XFxuICAgICAgICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdIC5tdWx0aXNlbGVjdF9fdGFncyAubXVsdGlzZWxlY3RfX3RhZ3Mtd3JhcCAubXVsdGlzZWxlY3RfX3RhZzpvbmx5LWNoaWxkIHtcXG4gICAgICAgICAgZmxleDogMCAxIGF1dG87IH1cXG4gICAgICAgIC5tdWx0aXNlbGVjdFtkYXRhLXYtODRjNDYxZl0gLm11bHRpc2VsZWN0X190YWdzIC5tdWx0aXNlbGVjdF9fdGFncy13cmFwIC5tdWx0aXNlbGVjdF9fdGFnOm5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxcbiAgICAgICAgLm11bHRpc2VsZWN0W2RhdGEtdi04NGM0NjFmXSAubXVsdGlzZWxlY3RfX3RhZ3MgLm11bHRpc2VsZWN0X190YWdzLXdyYXAgLm11bHRpc2VsZWN0X190YWcgPiBzcGFuIHtcXG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cXG4gICAgLm11bHRpc2VsZWN0W2RhdGEtdi04NGM0NjFmXSAubXVsdGlzZWxlY3RfX3RhZ3MgLm11bHRpc2VsZWN0X19zaW5nbGUsXFxuICAgIC5tdWx0aXNlbGVjdFtkYXRhLXYtODRjNDYxZl0gLm11bHRpc2VsZWN0X190YWdzIC5tdWx0aXNlbGVjdF9fcGxhY2Vob2xkZXIge1xcbiAgICAgIHBhZGRpbmc6IDdweCA2cHg7XFxuICAgICAgZmxleDogMCAwIDEwMCU7XFxuICAgICAgei1pbmRleDogMTtcXG4gICAgICAvKiBhYm92ZSBpbnB1dCAqL1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XFxuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuICAgICAgLm11bHRpc2VsZWN0W2RhdGEtdi04NGM0NjFmXSAubXVsdGlzZWxlY3RfX3RhZ3MgLm11bHRpc2VsZWN0X19zaW5nbGUsIC5tdWx0aXNlbGVjdFtkYXRhLXYtODRjNDYxZl0gLm11bHRpc2VsZWN0X190YWdzIC5tdWx0aXNlbGVjdF9fc2luZ2xlICosXFxuICAgICAgLm11bHRpc2VsZWN0W2RhdGEtdi04NGM0NjFmXSAubXVsdGlzZWxlY3RfX3RhZ3MgLm11bHRpc2VsZWN0X19wbGFjZWhvbGRlcixcXG4gICAgICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdIC5tdWx0aXNlbGVjdF9fdGFncyAubXVsdGlzZWxlY3RfX3BsYWNlaG9sZGVyICoge1xcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgIC5tdWx0aXNlbGVjdFtkYXRhLXYtODRjNDYxZl0gLm11bHRpc2VsZWN0X190YWdzIC5tdWx0aXNlbGVjdF9fc3Ryb25nLFxcbiAgICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdIC5tdWx0aXNlbGVjdF9fdGFncyAubXVsdGlzZWxlY3RfX2xpbWl0IHtcXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcXG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodGVyKTtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcXG4gICAgICAvKiBhYm92ZSB0aGUgaW5wdXQgKi9cXG4gICAgICB6LWluZGV4OiA1OyB9XFxuICAgIC5tdWx0aXNlbGVjdFtkYXRhLXYtODRjNDYxZl0gLm11bHRpc2VsZWN0X190YWdzIGlucHV0Lm11bHRpc2VsZWN0X19pbnB1dCB7XFxuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgb3BhY2l0eTogMDtcXG4gICAgICAvKiBsZXQncyBsZWF2ZSBpdCBvbiB0b3Agb2YgdGFncyBidXQgaGlkZSBpdCAqL1xcbiAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xcbiAgICAgIGJvcmRlcjogbm9uZTtcXG4gICAgICAvKiBvdmVycmlkZSBoaWRlIHRvIGZvcmNlIHNob3cgdGhlIHBsYWNlaG9sZGVyICovXFxuICAgICAgLyogb25seSB3aGVuIG5vdCBhY3RpdmUgKi9cXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgLyogb3ZlcnJpZGUgaW5saW5lIHN0eWxpbmcgb2YgdGhlIGxpYiAqL1xcbiAgICAgIHBhZGRpbmc6IDdweCA2cHggIWltcG9ydGFudDtcXG4gICAgICBkaXNwbGF5OiBub25lOyB9XFxuICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdIC5tdWx0aXNlbGVjdF9fY29udGVudC13cmFwcGVyIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgbWFyZ2luLXRvcDogLTFweDtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcbiAgICB6LWluZGV4OiA1MDtcXG4gICAgbWF4LWhlaWdodDogMjUwcHg7XFxuICAgIG92ZXJmbG93LXk6IGF1dG87XFxuICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKTsgfVxcbiAgICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdIC5tdWx0aXNlbGVjdF9fY29udGVudC13cmFwcGVyIC5tdWx0aXNlbGVjdF9fY29udGVudCB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgcGFkZGluZzogMDsgfVxcbiAgICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdIC5tdWx0aXNlbGVjdF9fY29udGVudC13cmFwcGVyIGxpIHtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuICAgICAgLm11bHRpc2VsZWN0W2RhdGEtdi04NGM0NjFmXSAubXVsdGlzZWxlY3RfX2NvbnRlbnQtd3JhcHBlciBsaSxcXG4gICAgICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdIC5tdWx0aXNlbGVjdF9fY29udGVudC13cmFwcGVyIGxpIHNwYW4ge1xcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuICAgICAgLm11bHRpc2VsZWN0W2RhdGEtdi04NGM0NjFmXSAubXVsdGlzZWxlY3RfX2NvbnRlbnQtd3JhcHBlciBsaSA+IHNwYW4ge1xcbiAgICAgICAgcGFkZGluZzogOHB4O1xcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICAgIG1pbi1oZWlnaHQ6IDFlbTtcXG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcXG4gICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0ZXIpO1xcbiAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICAvKiBzZWxlY3RlZCBjaGVja21hcmsgaWNvbiAqLyB9XFxuICAgICAgICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdIC5tdWx0aXNlbGVjdF9fY29udGVudC13cmFwcGVyIGxpID4gc3Bhbjo6YmVmb3JlIHtcXG4gICAgICAgICAgY29udGVudDogJyAnO1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XFxuICAgICAgICAgIG1pbi13aWR0aDogMTZweDtcXG4gICAgICAgICAgbWluLWhlaWdodDogMTZweDtcXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XFxuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XFxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxcbiAgICAgICAgLm11bHRpc2VsZWN0W2RhdGEtdi04NGM0NjFmXSAubXVsdGlzZWxlY3RfX2NvbnRlbnQtd3JhcHBlciBsaSA+IHNwYW4ubXVsdGlzZWxlY3RfX29wdGlvbi0tZGlzYWJsZWQge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmspO1xcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7IH1cXG4gICAgICAgIC5tdWx0aXNlbGVjdFtkYXRhLXYtODRjNDYxZl0gLm11bHRpc2VsZWN0X19jb250ZW50LXdyYXBwZXIgbGkgPiBzcGFuLm11bHRpc2VsZWN0X19vcHRpb24tLWhpZ2hsaWdodCB7XFxuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmspOyB9XFxuICAgICAgICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdIC5tdWx0aXNlbGVjdF9fY29udGVudC13cmFwcGVyIGxpID4gc3Bhbjpub3QoLm11bHRpc2VsZWN0X19vcHRpb24tLWRpc2FibGVkKTpob3Zlcjo6YmVmb3JlIHtcXG4gICAgICAgICAgb3BhY2l0eTogLjM7IH1cXG4gICAgICAgIC5tdWx0aXNlbGVjdFtkYXRhLXYtODRjNDYxZl0gLm11bHRpc2VsZWN0X19jb250ZW50LXdyYXBwZXIgbGkgPiBzcGFuLm11bHRpc2VsZWN0X19vcHRpb24tLXNlbGVjdGVkOjpiZWZvcmUsIC5tdWx0aXNlbGVjdFtkYXRhLXYtODRjNDYxZl0gLm11bHRpc2VsZWN0X19jb250ZW50LXdyYXBwZXIgbGkgPiBzcGFuOm5vdCgubXVsdGlzZWxlY3RfX29wdGlvbi0tZGlzYWJsZWQpOmhvdmVyOjpiZWZvcmUge1xcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XFxuICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdLm11bHRpc2VsZWN0LS1hYm92ZSAubXVsdGlzZWxlY3RfX2NvbnRlbnQtd3JhcHBlciB7XFxuICAgIGJvdHRvbTogMTAwJTtcXG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDsgfVxcbiAgLm11bHRpc2VsZWN0W2RhdGEtdi04NGM0NjFmXS5tdWx0aXNlbGVjdC0tbXVsdGlwbGUgLm11bHRpc2VsZWN0X190YWdzIHtcXG4gICAgZmxleC13cmFwOiB3cmFwOyB9XFxuICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdLm11bHRpc2VsZWN0LS1tdWx0aXBsZSAubXVsdGlzZWxlY3RfX2NvbnRlbnQtd3JhcHBlciBsaSA+IHNwYW4ge1xcbiAgICAvKiBhZGQgdGhlIHByb3AgdGFnLXBsYWNlaG9sZGVyPVxcXCJjcmVhdGVcXFwiIHRvIGFkZCB0aGUgK1xcblxcdFxcdFxcdGljb24gb24gdG9wIG9mIGFuIHVua25vd24tYW5kLXJlYWR5LXRvLWJlLWNyZWF0ZWQgZW50cnkgKi8gfVxcbiAgICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdLm11bHRpc2VsZWN0LS1tdWx0aXBsZSAubXVsdGlzZWxlY3RfX2NvbnRlbnQtd3JhcHBlciBsaSA+IHNwYW46OmJlZm9yZSB7XFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taWNvbi1jaGVja21hcmstMDAwKTsgfVxcbiAgICAubXVsdGlzZWxlY3RbZGF0YS12LTg0YzQ2MWZdLm11bHRpc2VsZWN0LS1tdWx0aXBsZSAubXVsdGlzZWxlY3RfX2NvbnRlbnQtd3JhcHBlciBsaSA+IHNwYW5bZGF0YS1zZWxlY3Q9J2NyZWF0ZSddOjpiZWZvcmUge1xcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWljb24tYWRkLTAwMCk7XFxuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxcbiAgLm11bHRpc2VsZWN0W2RhdGEtdi04NGM0NjFmXS5tdWx0aXNlbGVjdC0tc2luZ2xlIC5tdWx0aXNlbGVjdF9fY29udGVudC13cmFwcGVyIGxpID4gc3Bhbjo6YmVmb3JlIHtcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbiAgLm11bHRpc2VsZWN0W2RhdGEtdi04NGM0NjFmXTpob3ZlciAubXVsdGlzZWxlY3RfX3BsYWNlaG9sZGVyLFxcbiAgLm11bHRpc2VsZWN0W2RhdGEtdi04NGM0NjFmXSBpbnB1dC5tdWx0aXNlbGVjdF9faW5wdXQgLm11bHRpc2VsZWN0X19wbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpOyB9XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vaW5kZXguc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUFqQkY7RUFDQyxTQUFTO0VBQ1QscUJBQXFCO0VBQ3JCLHFCQUFxQjtFQUNyQiwyREFBQTtFQUNBLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsOENBQThDO0VBRTlDLCtEQUFBO0VBa0tBLG9CQUFBO0VBMEVBLGtCQUFBO0VBTUEsOEJBQUE7RUF1QkEsNkJBQUE7RUFLQSxtQkFBQSxFQUFvQjtFQXZSckI7SUFXRSxXQUFXO0lBQ1gscUJBQXFCLEVBQUE7RUFadkI7SUFrQkUsb0NBQUE7SUFTQSx3Q0FBQSxFQUF5QztJQTNCM0M7TUFvQkcscUJBQWlDO01BQ2pDLHVCQUF1QjtNQUV2Qiw0REFBNEQ7TUFDNUQseUJBQXlCLEVBQUE7SUF4QjVCO01BNkJHLGFBQWEsRUFBQTtFQTdCaEI7SUFvQ0csNERBQTRELEVBQUE7RUFwQy9EOztJ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RHRDckI7VUFzT0ssNkJBQTZCO1VBQzdCLDhDQUE4QyxFQUFBO1FBdk9uRDtVQTBPSyxXQUFXLEVBQUE7UUExT2hCO1VBK09NLG1CQUFtQixFQUFBO0VBL096QjtJQXVQRSxZQUFZO0lBQ1osbUJBQW1CLEVBQUE7RUF4UHJCO0lBK1BHLGVBQWUsRUFBQTtFQS9QbEI7SUF1UUc7NERBekN5RCxFQTBDQztJQXhRN0Q7TUFvUUksMkNBQTJDLEVBQUE7SUFwUS9DO01BMlFLLHFDQUFxQztNQUNyQyxtQkFBbUIsRUFBQTtFQTVReEI7SUFvUkUsYUFBYSxFQUFBO0VBcFJmOztJQTJSRyw2QkFBNkIsRUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuLy8gc2NvcGluZyBpcyBub3Qgd29ya2luZyBpbnNpZGUgdGhlIE11bHRpc2VsZWN0LnZ1ZSBjb21wb25lbnRcXG4vLyBhcyB0aGUgbmVzdGVkIHByb3BlcnRpZXMgYXJlIG5vdCBpbnNpZGUgaXRcXG4vLyBUaGVyZWZvcmUgd2UgbmVlZCB0byB1c2UgYW4gZXh0ZXJuYWwgc2NvcGluZ1xcbi5tdWx0aXNlbGVjdFtkYXRhLXYtI3skc2NvcGVfdmVyc2lvbn1dIHtcXG5cXHRtYXJnaW46IDA7XFxuXFx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xcblxcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG5cXHQvKiBvdmVycmlkZSB0aGlzIHJ1bGUgd2l0aCB5b3VyIHdpZHRoIHN0eWxpbmcgaWYgeW91IG5lZWQgKi9cXG5cXHRtaW4td2lkdGg6IDE2MHB4O1xcblxcdHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcblxcblxcdC8qIEZvcmNlIHNpbmdsZSBtdWx0aXNlbGVjdCB2YWx1ZSB0byBiZSBzaG93biB3aGVuIG5vdCBhY3RpdmUgKi9cXG5cXHQmOm5vdCgubXVsdGlzZWxlY3QtLWFjdGl2ZSkgLm11bHRpc2VsZWN0X19zaW5nbGUge1xcblxcdFxcdHdpZHRoOiAxMDAlO1xcblxcdFxcdHotaW5kZXg6IDIgIWltcG9ydGFudDtcXG5cXHR9XFxuXFxuXFx0Ly8gYWN0aXZlIHN0YXRlLCBmb3JjZSB0aGUgaW5wdXQgdG8gYmUgc2hvd24sIHdlIGRvbid0IHdhbnRcXG5cXHQvLyB0aGUgcGxhY2Vob2xkZXIgb3IgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBvcHRpb25zXFxuXFx0Ji5tdWx0aXNlbGVjdC0tYWN0aXZlIHtcXG5cXHRcXHQvKiBPcGVuZWQ6IGZvcmNlIGRpc3BsYXkgdGhlIGlucHV0ICovXFxuXFx0XFx0aW5wdXQubXVsdGlzZWxlY3RfX2lucHV0IHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsICFpbXBvcnRhbnQ7XFxuXFx0XFx0XFx0Y3Vyc29yOiB0ZXh0ICFpbXBvcnRhbnQ7XFxuXFx0XFx0XFx0Ly8gcmVtb3ZlIGJvcmRlciByYWRpdXMgb24gYm90dG9tIG9wZW5pbmdcXG5cXHRcXHRcXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDA7XFxuXFx0XFx0XFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0LyogbXVsdGlzZWxlY3RfX2xpbWl0IGhpZGRlbiBpZiBhY3RpdmUgKi9cXG5cXHRcXHQubXVsdGlzZWxlY3RfX2xpbWl0IHtcXG5cXHRcXHRcXHRkaXNwbGF5OiBub25lO1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Ly8gUmVtb3ZlIHJhZGl1cyBvbiB0b3Agb3BlbmluZ1xcblxcdCYubXVsdGlzZWxlY3QtLWFjdGl2ZS5tdWx0aXNlbGVjdC0tYWJvdmUge1xcblxcdFxcdGlucHV0Lm11bHRpc2VsZWN0X19pbnB1dCB7XFxuXFx0XFx0XFx0Ym9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpO1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Ly8gZGlzYWJsZWQgc3RhdGUgYmFja2dyb3VuZFxcblxcdCYubXVsdGlzZWxlY3QtLWRpc2FibGVkLFxcblxcdCYubXVsdGlzZWxlY3QtLWRpc2FibGVkIC5tdWx0aXNlbGVjdF9fc2luZ2xlIHtcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmspICFpbXBvcnRhbnQ7XFxuXFx0fVxcblxcblxcdC8vIGxvYWRpbmcgc3RhdGVcXG5cXHQmLmljb24tbG9hZGluZy1zbWFsbDo6YWZ0ZXIge1xcblxcdFxcdGxlZnQ6IDEwMCU7XFxuXFx0XFx0bWFyZ2luLWxlZnQ6IC0yNHB4O1xcblxcdH1cXG5cXG5cXHQvLyBtdWx0aXBsZSBzZWxlY3RlZCBvcHRpb25zIGRpc3BsYXlcXG5cXHQubXVsdGlzZWxlY3RfX3RhZ3Mge1xcblxcdFxcdC8qIHNwYWNlIGJldHdlZW4gdGFncyBhbmQgbGltaXQgdGFnICovXFxuXFx0XFx0JHNwYWNlLWJldHdlZW46IDVweDtcXG5cXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdGZsZXgtd3JhcDogbm93cmFwO1xcblxcdFxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0XFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRwb3NpdGlvbjogcmVsYXRpdmU7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogM3B4O1xcblxcdFxcdG1pbi1oZWlnaHQ6IDM0cHg7XFxuXFx0XFx0aGVpZ2h0OiAxMDAlO1xcblxcblxcdFxcdC8qIHRhZyB3cmFwcGVyICovXFxuXFx0XFx0Lm11bHRpc2VsZWN0X190YWdzLXdyYXAge1xcblxcdFxcdFxcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuXFx0XFx0XFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XFxuXFx0XFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRcXHRtYXgtd2lkdGg6IDEwMCU7XFxuXFx0XFx0XFx0cG9zaXRpb246IHJlbGF0aXZlO1xcblxcdFxcdFxcdHBhZGRpbmc6IDNweCAkc3BhY2UtYmV0d2VlbjtcXG5cXHRcXHRcXHRmbGV4OiAxIDE7XFxuXFx0XFx0XFx0ZmxleC13cmFwOiBub3dyYXA7XFxuXFx0XFx0XFx0Lyogbm8gdGFncyBvciBzaW1wbGUgc2VsZWN0PyBTaG93IGlucHV0IGRpcmVjdGx5XFxuXFx0XFx0XFx0aW5wdXQgaXMgdXNlZCB0byBkaXNwbGF5IHNpbmdsZSB2YWx1ZSAqL1xcblxcdFxcdFxcdCY6ZW1wdHkgfiBpbnB1dC5tdWx0aXNlbGVjdF9faW5wdXQge1xcblxcdFxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGwgIWltcG9ydGFudDtcXG5cXHRcXHRcXHRcXHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xcblxcdFxcdFxcdFxcdC8qIGhpZGUgZGVmYXVsdCBlbXB0eSB0ZXh0IGxpa2UgLm11bHRpc2VsZWN0X19wbGFjZWhvbGRlcixcXG5cXHRcXHRcXHRcXHRhbmQgc2hvdyBpbnB1dCBpbnN0ZWFkLiBJdCBsb29rcyBiZXR0ZXIgd2l0aG91dCBhIHRyYW5zaXRpb24gYmV0d2VlblxcblxcdFxcdFxcdFxcdGEgc3BhbiBhbmQgdGhlIGlucHV0IHRoYXQgaGF2ZSBkaWZmZXJlbnQgc3R5bGluZyAqL1xcblxcdFxcdFxcdFxcdCsgc3Bhbjpub3QoLm11bHRpc2VsZWN0X19zaW5nbGUpIHtcXG5cXHRcXHRcXHRcXHRcXHRkaXNwbGF5OiBub25lO1xcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFx0XFx0XFx0Lyogc2VsZWN0ZWQgdGFnICovXFxuXFx0XFx0XFx0Lm11bHRpc2VsZWN0X190YWcge1xcblxcdFxcdFxcdFxcdGxpbmUtaGVpZ2h0OiAyMHB4O1xcblxcdFxcdFxcdFxcdHBhZGRpbmc6IDFweCA1cHg7XFxuXFx0XFx0XFx0XFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG5cXHRcXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRcXHRcXHRcXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XFxuXFx0XFx0XFx0XFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XFxuXFx0XFx0XFx0XFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXHRcXHRcXHRcXHRib3JkZXItcmFkaXVzOiAzcHg7XFxuXFx0XFx0XFx0XFx0LyogcmVxdWlyZSB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCB3aWR0aFxcblxcdFxcdFxcdFxcdGFuZCBmb3JjZSB0aGUgdGFnIHRvIHNocmluZyBwcm9wZXJseSAqL1xcblxcdFxcdFxcdFxcdG1pbi13aWR0aDogMDtcXG5cXHRcXHRcXHRcXHRtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xcblxcdFxcdFxcdFxcdG1heC13aWR0aDogLW1vei1maXQtY29udGVudDtcXG5cXHRcXHRcXHRcXHRtYXJnaW4tYm90dG9tOiAzcHg7XFxuXFx0XFx0XFx0XFx0LyogY3NzIGhhY2ssIGRldGVjdCBpZiBtb3JlIHRoYW4gdHdvIHRhZ3NcXG5cXHRcXHRcXHRcXHRpZiBzbywgZmxleC1iYXNpcyBpcyBzZXQgdG8gaGFsZiAqL1xcblxcdFxcdFxcdFxcdCY6b25seS1jaGlsZCB7XFxuXFx0XFx0XFx0XFx0XFx0ZmxleDogMCAxIGF1dG87XFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdFxcdCY6bm90KDpsYXN0LWNoaWxkKSB7XFxuXFx0XFx0XFx0XFx0XFx0bWFyZ2luLXJpZ2h0OiAkc3BhY2UtYmV0d2VlbjtcXG5cXHRcXHRcXHRcXHR9XFxuXFx0XFx0XFx0XFx0LyogZWxsaXBzaXMgdGhlIGdyb3VwcyB0byBiZSBzdXJlXFxuXFx0XFx0XFx0XFx0d2UgZGlzcGxheSBhdCBsZWFzdCB0d28gb2YgdGhlbSAqL1xcblxcdFxcdFxcdFxcdD4gc3BhbiB7XFxuXFx0XFx0XFx0XFx0XFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHRcXHRcXHRcXHRcXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG5cXHRcXHRcXHRcXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcblxcdFxcdC8qIFNpbmdsZSBzZWxlY3QgZGVmYXVsdCB2YWx1ZVxcblxcdFxcdG9yIGRlZmF1bHQgcGxhY2Vob2xkZXIgaWYgc2VhcmNoIGRpc2FibGVkKi9cXG5cXHRcXHQubXVsdGlzZWxlY3RfX3NpbmdsZSxcXG5cXHRcXHQubXVsdGlzZWxlY3RfX3BsYWNlaG9sZGVyIHtcXG5cXHRcXHRcXHRwYWRkaW5nOiA3cHggNnB4OyAvLyBsaWtlIHRoZSBpbnB1dFxcblxcdFxcdFxcdGZsZXg6IDAgMCAxMDAlO1xcblxcdFxcdFxcdHotaW5kZXg6IDE7IC8qIGFib3ZlIGlucHV0ICovXFxuXFx0XFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG5cXHRcXHRcXHRsaW5lLWhlaWdodDogMThweDsgLy8gMzJweCAtIDIqNnB4IChwYWRkaW5nKSAtIDIqMXB4IChib3JkZXIpXFxuXFx0XFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7IC8vIGxpa2UgdGhlIGlucHV0XFxuXFx0XFx0XFx0Ly8gQWxpZ24gY29udGVudCBhbmQgbWFrZSB0aGUgZmxvdyBzbW9vdGhlclxcblxcdFxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0XFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXG5cXHRcXHRcXHQvLyBBbnl0aGluZyBpbnNpZGUgd2lsbCB0cmlnZ2VyIHRoZSBzZWxlY3Qgb3BlbmluZ1xcblxcdFxcdFxcdCYsICoge1xcblxcdFxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdFxcdC8qIGRpc3BsYXllZCB0ZXh0IGlmIHRhZyBsaW1pdCByZWFjaGVkICovXFxuXFx0XFx0Lm11bHRpc2VsZWN0X19zdHJvbmcsXFxuXFx0XFx0Lm11bHRpc2VsZWN0X19saW1pdCB7XFxuXFx0XFx0XFx0bGluZS1oZWlnaHQ6IDIwcHg7XFxuXFx0XFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XFxuXFx0XFx0XFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XFxuXFx0XFx0XFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFx0XFx0XFx0bWFyZ2luLXJpZ2h0OiAkc3BhY2UtYmV0d2VlbjtcXG5cXHRcXHRcXHQvKiBhYm92ZSB0aGUgaW5wdXQgKi9cXG5cXHRcXHRcXHR6LWluZGV4OiA1O1xcblxcdFxcdH1cXG5cXHRcXHQvKiBkZWZhdWx0IG11bHRpc2VsZWN0IGlucHV0IGZvciBzZWFyY2ggYW5kIHBsYWNlaG9sZGVyICovXFxuXFx0XFx0aW5wdXQubXVsdGlzZWxlY3RfX2lucHV0IHtcXG5cXHRcXHRcXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xcblxcdFxcdFxcdHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xcblxcdFxcdFxcdG1hcmdpbjogMDtcXG5cXHRcXHRcXHRvcGFjaXR5OiAwO1xcblxcdFxcdFxcdC8qIGxldCdzIGxlYXZlIGl0IG9uIHRvcCBvZiB0YWdzIGJ1dCBoaWRlIGl0ICovXFxuXFx0XFx0XFx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XFxuXFx0XFx0XFx0Ym9yZGVyOiBub25lO1xcblxcdFxcdFxcdC8qIG92ZXJyaWRlIGhpZGUgdG8gZm9yY2Ugc2hvdyB0aGUgcGxhY2Vob2xkZXIgKi9cXG5cXHRcXHRcXHQvKiBvbmx5IHdoZW4gbm90IGFjdGl2ZSAqL1xcblxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRcXHQvKiBvdmVycmlkZSBpbmxpbmUgc3R5bGluZyBvZiB0aGUgbGliICovXFxuXFx0XFx0XFx0cGFkZGluZzogN3B4IDZweCAhaW1wb3J0YW50O1xcblxcdFxcdFxcdGRpc3BsYXk6IG5vbmU7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQvKiByZXN1bHRzIHdyYXBwZXIgKi9cXG5cXHQubXVsdGlzZWxlY3RfX2NvbnRlbnQtd3JhcHBlciB7XFxuXFx0XFx0cG9zaXRpb246IGFic29sdXRlO1xcblxcdFxcdHdpZHRoOiAxMDAlO1xcblxcdFxcdG1hcmdpbi10b3A6IC0xcHg7XFxuXFx0XFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xcblxcdFxcdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuXFx0XFx0ei1pbmRleDogNTA7XFxuXFx0XFx0bWF4LWhlaWdodDogMjUwcHg7XFxuXFx0XFx0b3ZlcmZsb3cteTogYXV0bztcXG5cXHRcXHRib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cyk7XFxuXFx0XFx0Lm11bHRpc2VsZWN0X19jb250ZW50IHtcXG5cXHRcXHRcXHR3aWR0aDogMTAwJTtcXG5cXHRcXHRcXHRwYWRkaW5nOiAwO1xcblxcdFxcdH1cXG5cXHRcXHRsaSB7XFxuXFx0XFx0XFx0cG9zaXRpb246IHJlbGF0aXZlO1xcblxcdFxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0XFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHRcXHQmLFxcblxcdFxcdFxcdHNwYW4ge1xcblxcdFxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0XFx0PiBzcGFuIHtcXG5cXHRcXHRcXHRcXHRwYWRkaW5nOiA4cHg7XFxuXFx0XFx0XFx0XFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHRcXHRcXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdFxcdFxcdFxcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcblxcdFxcdFxcdFxcdG1hcmdpbjogMDtcXG5cXHRcXHRcXHRcXHRoZWlnaHQ6IGF1dG87XFxuXFx0XFx0XFx0XFx0bWluLWhlaWdodDogMWVtO1xcblxcdFxcdFxcdFxcdC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcXG5cXHRcXHRcXHRcXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcblxcdFxcdFxcdFxcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuXFx0XFx0XFx0XFx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xcblxcdFxcdFxcdFxcdHVzZXItc2VsZWN0OiBub25lO1xcblxcdFxcdFxcdFxcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xcblxcdFxcdFxcdFxcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuXFx0XFx0XFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0XFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XFxuXFx0XFx0XFx0XFx0d2lkdGg6IDEwMCU7XFxuXFx0XFx0XFx0XFx0Lyogc2VsZWN0ZWQgY2hlY2ttYXJrIGljb24gKi9cXG5cXHRcXHRcXHRcXHQmOjpiZWZvcmUge1xcblxcdFxcdFxcdFxcdFxcdGNvbnRlbnQ6ICcgJztcXG5cXHRcXHRcXHRcXHRcXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcblxcdFxcdFxcdFxcdFxcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcXG5cXHRcXHRcXHRcXHRcXHRtaW4td2lkdGg6IDE2cHg7XFxuXFx0XFx0XFx0XFx0XFx0bWluLWhlaWdodDogMTZweDtcXG5cXHRcXHRcXHRcXHRcXHRkaXNwbGF5OiBibG9jaztcXG5cXHRcXHRcXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9kaXNhYmxlZDtcXG5cXHRcXHRcXHRcXHRcXHRtYXJnaW4tcmlnaHQ6IDVweDtcXG5cXHRcXHRcXHRcXHRcXHR2aXNpYmlsaXR5OiBoaWRkZW47XFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdFxcdCYubXVsdGlzZWxlY3RfX29wdGlvbi0tZGlzYWJsZWQge1xcblxcdFxcdFxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7XFxuXFx0XFx0XFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZGlzYWJsZWQ7XFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdFxcdCYubXVsdGlzZWxlY3RfX29wdGlvbi0taGlnaGxpZ2h0IHtcXG5cXHRcXHRcXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRcXHRcXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmspO1xcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHRcXHQmOm5vdCgubXVsdGlzZWxlY3RfX29wdGlvbi0tZGlzYWJsZWQpOmhvdmVyOjpiZWZvcmUge1xcblxcdFxcdFxcdFxcdFxcdG9wYWNpdHk6IC4zO1xcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHRcXHQmLm11bHRpc2VsZWN0X19vcHRpb24tLXNlbGVjdGVkLFxcblxcdFxcdFxcdFxcdCY6bm90KC5tdWx0aXNlbGVjdF9fb3B0aW9uLS1kaXNhYmxlZCk6aG92ZXIge1xcblxcdFxcdFxcdFxcdFxcdCY6OmJlZm9yZSB7XFxuXFx0XFx0XFx0XFx0XFx0XFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcXG5cXHRcXHRcXHRcXHRcXHR9XFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFx0fVxcblxcdC8qIEFCT1ZFIGRpc3BsYXkgKi9cXG5cXHQmLm11bHRpc2VsZWN0LS1hYm92ZSAubXVsdGlzZWxlY3RfX2NvbnRlbnQtd3JhcHBlciB7XFxuXFx0XFx0Ym90dG9tOiAxMDAlO1xcblxcdFxcdG1hcmdpbi1ib3R0b206IC0xcHg7XFxuXFx0fVxcblxcblxcdC8qIEljb24gYmVmb3JlIG9wdGlvbiBzZWxlY3QgKi9cXG5cXHQmLm11bHRpc2VsZWN0LS1tdWx0aXBsZSB7XFxuXFx0XFx0Ly8gcHVzaCB0aGUgaW5wdXQgYWZ0ZXIgdGhlIHRhZyBsaXN0XFxuXFx0XFx0Lm11bHRpc2VsZWN0X190YWdzIHtcXG5cXHRcXHRcXHRmbGV4LXdyYXA6IHdyYXA7XFxuXFx0XFx0fVxcblxcblxcdFxcdC5tdWx0aXNlbGVjdF9fY29udGVudC13cmFwcGVyIGxpID4gc3BhbiB7XFxuXFx0XFx0XFx0Jjo6YmVmb3JlIHtcXG5cXHRcXHRcXHRcXHRiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pY29uLWNoZWNrbWFyay0wMDApO1xcblxcdFxcdFxcdH1cXG5cXG5cXHRcXHRcXHQvKiBhZGQgdGhlIHByb3AgdGFnLXBsYWNlaG9sZGVyPVxcXCJjcmVhdGVcXFwiIHRvIGFkZCB0aGUgK1xcblxcdFxcdFxcdGljb24gb24gdG9wIG9mIGFuIHVua25vd24tYW5kLXJlYWR5LXRvLWJlLWNyZWF0ZWQgZW50cnkgKi9cXG5cXHRcXHRcXHQmW2RhdGEtc2VsZWN0PSdjcmVhdGUnXSB7XFxuXFx0XFx0XFx0XFx0Jjo6YmVmb3JlIHtcXG5cXHRcXHRcXHRcXHRcXHRiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pY29uLWFkZC0wMDApO1xcblxcdFxcdFxcdFxcdFxcdHZpc2liaWxpdHk6IHZpc2libGU7XFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdC8qIE5vIG5lZWQgZm9yIGFuIGljb24gaGVyZSAqL1xcblxcdCYubXVsdGlzZWxlY3QtLXNpbmdsZSAubXVsdGlzZWxlY3RfX2NvbnRlbnQtd3JhcHBlciBsaSA+IHNwYW46OmJlZm9yZSB7XFxuXFx0XFx0ZGlzcGxheTogbm9uZTtcXG5cXHR9XFxuXFxuXFx0LyogTW91c2UgZmVlZGJhY2sgKi9cXG5cXHQmOmhvdmVyLFxcblxcdGlucHV0Lm11bHRpc2VsZWN0X19pbnB1dCB7XFxuXFx0XFx0Lm11bHRpc2VsZWN0X19wbGFjZWhvbGRlciB7XFxuXFx0XFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuLyoqXFxuKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxNiwgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTYsIFJvYmluIEFwcGVsbWFuIDxyb2JpbkBpY2V3aW5kLm5sPlxcbiogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTYsIEphbi1DaHJpc3RvcGggQm9yY2hhcmR0IDxoZXlAamFuY2JvcmNoYXJkdC5uZXQ+XFxuKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxNiwgRXJpayBQZWxsaWtrYSA8ZXJpa0BwZWxsaWtrYS5vcmc+XFxuKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxNSwgVmluY2VudCBQZXRyeSA8cHZpbmNlODFAb3duY2xvdWQuY29tPlxcbipcXG4qIEJvb3RzdHJhcCB2My4zLjUgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKVxcbiogQ29weXJpZ2h0IDIwMTEtMjAxNSBUd2l0dGVyLCBJbmMuXFxuKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxcbiovXFxuLnZ1ZS10b29sdGlwW2RhdGEtdi04NGM0NjFmXSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB6LWluZGV4OiAxMDAwMDA7XFxuICByaWdodDogYXV0bztcXG4gIGxlZnQ6IGF1dG87XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIG1hcmdpbjogMDtcXG4gIC8qIGRlZmF1bHQgdG8gdG9wICovXFxuICBtYXJnaW4tdG9wOiAtM3B4O1xcbiAgcGFkZGluZzogMTBweCAwO1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xcbiAgb3BhY2l0eTogMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XFxuICBsaW5lLWJyZWFrOiBhdXRvO1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDFweCAxMHB4IHZhcigtLWNvbG9yLWJveC1zaGFkb3cpKTsgfVxcbiAgLnZ1ZS10b29sdGlwW2RhdGEtdi04NGM0NjFmXVt4LXBsYWNlbWVudF49J3RvcCddIC50b29sdGlwLWFycm93IHtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBtYXJnaW4tdG9wOiAwO1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICBib3JkZXItd2lkdGg6IDEwcHggMTBweCAwIDEwcHg7XFxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gIC52dWUtdG9vbHRpcFtkYXRhLXYtODRjNDYxZl1beC1wbGFjZW1lbnRePSdib3R0b20nXSAudG9vbHRpcC1hcnJvdyB7XFxuICAgIHRvcDogMDtcXG4gICAgbWFyZ2luLXRvcDogMDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgYm9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xcbiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuICAudnVlLXRvb2x0aXBbZGF0YS12LTg0YzQ2MWZdW3gtcGxhY2VtZW50Xj0ncmlnaHQnXSAudG9vbHRpcC1hcnJvdyB7XFxuICAgIHJpZ2h0OiAxMDAlO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBib3JkZXItd2lkdGg6IDEwcHggMTBweCAxMHB4IDA7XFxuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuICAudnVlLXRvb2x0aXBbZGF0YS12LTg0YzQ2MWZdW3gtcGxhY2VtZW50Xj0nbGVmdCddIC50b29sdGlwLWFycm93IHtcXG4gICAgbGVmdDogMTAwJTtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgYm9yZGVyLXdpZHRoOiAxMHB4IDAgMTBweCAxMHB4O1xcbiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4gIC52dWUtdG9vbHRpcFtkYXRhLXYtODRjNDYxZl1bYXJpYS1oaWRkZW49J3RydWUnXSB7XFxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzLCB2aXNpYmlsaXR5IC4xNXM7XFxuICAgIG9wYWNpdHk6IDA7IH1cXG4gIC52dWUtdG9vbHRpcFtkYXRhLXYtODRjNDYxZl1bYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXM7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG4gIC52dWUtdG9vbHRpcFtkYXRhLXYtODRjNDYxZl0gLnRvb2x0aXAtaW5uZXIge1xcbiAgICBtYXgtd2lkdGg6IDM1MHB4O1xcbiAgICBwYWRkaW5nOiA1cHggOHB4O1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTsgfVxcbiAgLnZ1ZS10b29sdGlwW2RhdGEtdi04NGM0NjFmXSAudG9vbHRpcC1hcnJvdyB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgei1pbmRleDogMTtcXG4gICAgd2lkdGg6IDA7XFxuICAgIGhlaWdodDogMDtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7IH1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9pbmRleC5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBQXBCRjs7Ozs7Ozs7OztDQStCQztBQWpCRDtFQUNDLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsV0FBVztFQUNYLFVBQVU7RUFDVixjQUFjO0VBQ2QsU0FBUztFQUNULG1CQUFBO0VBQ0EsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLFVBQVU7RUFDVixnQkFBZ0I7RUFFaEIsZ0JBQWdCO0VBQ2hCLHVEQUF1RCxFQUFBO0VBaEJ4RDtJQXFCRyxTQUFTO0lBQ1QsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQiw4QkExQmU7SUEyQmYsK0JBQStCO0lBQy9CLGdDQUFnQztJQUNoQyw4QkFBOEIsRUFBQTtFQTNCakM7SUFrQ0csTUFBTTtJQUNOLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsOEJBdkNlO0lBd0NmLDZCQUE2QjtJQUM3QiwrQkFBK0I7SUFDL0IsOEJBQThCLEVBQUE7RUF4Q2pDO0lBK0NHLFdBQVc7SUFDWCxlQUFlO0lBQ2YsY0FBYztJQUNkLDhCQUFzRDtJQUN0RCw2QkFBNkI7SUFDN0IsZ0NBQWdDO0lBQ2hDLDhCQUE4QixFQUFBO0VBckRqQztJQTRERyxVQUFVO0lBQ1YsZUFBZTtJQUNmLGNBQWM7SUFDZCw4QkFqRWU7SUFrRWYsNkJBQTZCO0lBQzdCLCtCQUErQjtJQUMvQixnQ0FBZ0MsRUFBQTtFQWxFbkM7SUF3RUUsa0JBQWtCO0lBQ2xCLHlDQUF5QztJQUN6QyxVQUFVLEVBQUE7RUExRVo7SUE2RUUsbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4QixVQUFVLEVBQUE7RUEvRVo7SUFvRkUsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsNkJBQTZCO0lBQzdCLG1DQUFtQztJQUNuQyw4Q0FBOEMsRUFBQTtFQXpGaEQ7SUE4RkUsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixRQUFRO0lBQ1IsU0FBUztJQUNULFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsMENBQTBDLEVBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcbi8qKlxcbiogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTYsIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4qIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE2LCBSb2JpbiBBcHBlbG1hbiA8cm9iaW5AaWNld2luZC5ubD5cXG4qIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE2LCBKYW4tQ2hyaXN0b3BoIEJvcmNoYXJkdCA8aGV5QGphbmNib3JjaGFyZHQubmV0PlxcbiogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTYsIEVyaWsgUGVsbGlra2EgPGVyaWtAcGVsbGlra2Eub3JnPlxcbiogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTUsIFZpbmNlbnQgUGV0cnkgPHB2aW5jZTgxQG93bmNsb3VkLmNvbT5cXG4qXFxuKiBCb290c3RyYXAgdjMuMy41IChodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbSlcXG4qIENvcHlyaWdodCAyMDExLTIwMTUgVHdpdHRlciwgSW5jLlxcbiogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcXG4qL1xcblxcbiRhcnJvdy13aWR0aDogMTBweDtcXG5cXG4udnVlLXRvb2x0aXBbZGF0YS12LSN7JHNjb3BlX3ZlcnNpb259XSB7XFxuXFx0cG9zaXRpb246IGFic29sdXRlO1xcblxcdHotaW5kZXg6IDEwMDAwMDtcXG5cXHRyaWdodDogYXV0bztcXG5cXHRsZWZ0OiBhdXRvO1xcblxcdGRpc3BsYXk6IGJsb2NrO1xcblxcdG1hcmdpbjogMDtcXG5cXHQvKiBkZWZhdWx0IHRvIHRvcCAqL1xcblxcdG1hcmdpbi10b3A6IC0zcHg7XFxuXFx0cGFkZGluZzogMTBweCAwO1xcblxcdHRleHQtYWxpZ246IGxlZnQ7XFxuXFx0dGV4dC1hbGlnbjogc3RhcnQ7XFxuXFx0b3BhY2l0eTogMDtcXG5cXHRsaW5lLWhlaWdodDogMS42O1xcblxcblxcdGxpbmUtYnJlYWs6IGF1dG87XFxuXFx0ZmlsdGVyOiBkcm9wLXNoYWRvdygwIDFweCAxMHB4IHZhcigtLWNvbG9yLWJveC1zaGFkb3cpKTtcXG5cXG5cXHQvLyBUT1BcXG5cXHQmW3gtcGxhY2VtZW50Xj0ndG9wJ10ge1xcblxcdFxcdC50b29sdGlwLWFycm93IHtcXG5cXHRcXHRcXHRib3R0b206IDA7XFxuXFx0XFx0XFx0bWFyZ2luLXRvcDogMDtcXG5cXHRcXHRcXHRtYXJnaW4tYm90dG9tOiAwO1xcblxcdFxcdFxcdGJvcmRlci13aWR0aDogJGFycm93LXdpZHRoICRhcnJvdy13aWR0aCAwICRhcnJvdy13aWR0aDtcXG5cXHRcXHRcXHRib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdFxcdFxcdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdFxcdFxcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdC8vIEJPVFRPTVxcblxcdCZbeC1wbGFjZW1lbnRePSdib3R0b20nXSB7XFxuXFx0XFx0LnRvb2x0aXAtYXJyb3cge1xcblxcdFxcdFxcdHRvcDogMDtcXG5cXHRcXHRcXHRtYXJnaW4tdG9wOiAwO1xcblxcdFxcdFxcdG1hcmdpbi1ib3R0b206IDA7XFxuXFx0XFx0XFx0Ym9yZGVyLXdpZHRoOiAwICRhcnJvdy13aWR0aCAkYXJyb3ctd2lkdGggJGFycm93LXdpZHRoO1xcblxcdFxcdFxcdGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdFxcdFxcdGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0XFx0Ym9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Ly8gUklHSFRcXG5cXHQmW3gtcGxhY2VtZW50Xj0ncmlnaHQnXSB7XFxuXFx0XFx0LnRvb2x0aXAtYXJyb3cge1xcblxcdFxcdFxcdHJpZ2h0OiAxMDAlO1xcblxcdFxcdFxcdG1hcmdpbi1yaWdodDogMDtcXG5cXHRcXHRcXHRtYXJnaW4tbGVmdDogMDtcXG5cXHRcXHRcXHRib3JkZXItd2lkdGg6ICRhcnJvdy13aWR0aCAkYXJyb3ctd2lkdGggJGFycm93LXdpZHRoIDA7XFxuXFx0XFx0XFx0Ym9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0XFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0XFx0Ym9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Ly8gTEVGVFxcblxcdCZbeC1wbGFjZW1lbnRePSdsZWZ0J10ge1xcblxcdFxcdC50b29sdGlwLWFycm93IHtcXG5cXHRcXHRcXHRsZWZ0OiAxMDAlO1xcblxcdFxcdFxcdG1hcmdpbi1yaWdodDogMDtcXG5cXHRcXHRcXHRtYXJnaW4tbGVmdDogMDtcXG5cXHRcXHRcXHRib3JkZXItd2lkdGg6ICRhcnJvdy13aWR0aCAwICRhcnJvdy13aWR0aCAkYXJyb3ctd2lkdGg7XFxuXFx0XFx0XFx0Ym9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0XFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHRcXHRib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdC8vIEhJRERFTiAvIFNIT1dOXFxuXFx0JlthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcXG5cXHRcXHR2aXNpYmlsaXR5OiBoaWRkZW47XFxuXFx0XFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzLCB2aXNpYmlsaXR5IC4xNXM7XFxuXFx0XFx0b3BhY2l0eTogMDtcXG5cXHR9XFxuXFx0JlthcmlhLWhpZGRlbj0nZmFsc2UnXSB7XFxuXFx0XFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcXG5cXHRcXHR0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXM7XFxuXFx0XFx0b3BhY2l0eTogMTtcXG5cXHR9XFxuXFxuXFx0Ly8gQ09OVEVOVFxcblxcdC50b29sdGlwLWlubmVyIHtcXG5cXHRcXHRtYXgtd2lkdGg6IDM1MHB4O1xcblxcdFxcdHBhZGRpbmc6IDVweCA4cHg7XFxuXFx0XFx0dGV4dC1hbGlnbjogY2VudGVyO1xcblxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcblxcdFxcdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xcblxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuXFx0fVxcblxcblxcdC8vIEFSUk9XXFxuXFx0LnRvb2x0aXAtYXJyb3cge1xcblxcdFxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHRcXHR6LWluZGV4OiAxO1xcblxcdFxcdHdpZHRoOiAwO1xcblxcdFxcdGhlaWdodDogMDtcXG5cXHRcXHRtYXJnaW46IDA7XFxuXFx0XFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcXG5cXHRcXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuXFx0fVxcbn1cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKiBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxubGkuYWN0aXZlW2RhdGEtdi0yZTkyOWI0Zl0ge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XFxufVxcbi5hY3Rpb24tLWRpc2FibGVkW2RhdGEtdi0yZTkyOWI0Zl0ge1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICBvcGFjaXR5OiAwLjU7XFxufVxcbi5hY3Rpb24tLWRpc2FibGVkW2RhdGEtdi0yZTkyOWI0Zl06aG92ZXIsIC5hY3Rpb24tLWRpc2FibGVkW2RhdGEtdi0yZTkyOWI0Zl06Zm9jdXMge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIG9wYWNpdHk6IDAuNTtcXG59XFxuLmFjdGlvbi0tZGlzYWJsZWQgKltkYXRhLXYtMmU5MjliNGZdIHtcXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xcbn1cXG4uYWN0aW9uLWJ1dHRvbltkYXRhLXYtMmU5MjliNGZdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG4gIHBhZGRpbmctcmlnaHQ6IDE0cHg7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgb3BhY2l0eTogMC43O1xcbiAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuICBib3JkZXI6IDA7XFxuICBib3JkZXItcmFkaXVzOiAwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3gtc2hhZG93OiBub25lO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc2l6ZTogdmFyKC0tZGVmYXVsdC1mb250LXNpemUpO1xcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XFxufVxcbi5hY3Rpb24tYnV0dG9uW2RhdGEtdi0yZTkyOWI0Zl06aG92ZXIsIC5hY3Rpb24tYnV0dG9uW2RhdGEtdi0yZTkyOWI0Zl06Zm9jdXMge1xcbiAgICBvcGFjaXR5OiAxO1xcbn1cXG4uYWN0aW9uLWJ1dHRvbiA+IHNwYW5bZGF0YS12LTJlOTI5YjRmXSB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG59XFxuLmFjdGlvbi1idXR0b25fX2ljb25bZGF0YS12LTJlOTI5YjRmXSB7XFxuICAgIHdpZHRoOiA0NHB4O1xcbiAgICBoZWlnaHQ6IDQ0cHg7XFxuICAgIG9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE0cHggY2VudGVyO1xcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHg7XFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxufVxcbi5hY3Rpb24tYnV0dG9uIC5tYXRlcmlhbC1kZXNpZ24taWNvbltkYXRhLXYtMmU5MjliNGZdIHtcXG4gICAgd2lkdGg6IDQ0cHg7XFxuICAgIGhlaWdodDogNDRweDtcXG4gICAgb3BhY2l0eTogMTtcXG59XFxuLmFjdGlvbi1idXR0b24gLm1hdGVyaWFsLWRlc2lnbi1pY29uIC5tYXRlcmlhbC1kZXNpZ24taWNvbl9fc3ZnW2RhdGEtdi0yZTkyOWI0Zl0ge1xcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxufVxcbi5hY3Rpb24tYnV0dG9uIHBbZGF0YS12LTJlOTI5YjRmXSB7XFxuICAgIG1heC13aWR0aDogMjIwcHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcXG4gICAgcGFkZGluZzogMTAuOHB4IDA7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxufVxcbi5hY3Rpb24tYnV0dG9uX19sb25ndGV4dFtkYXRhLXYtMmU5MjliNGZdIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XFxufVxcbi5hY3Rpb24tYnV0dG9uX190aXRsZVtkYXRhLXYtMmU5MjliNGZdIHtcXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQWN0aW9uQnV0dG9uLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvYWN0aW9uLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBRXJCRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VGMkNFO0FFbkJEO0VBRUUsK0NBQStDO0FBQUE7QUFNakQ7RUFDQyxvQkFBb0I7RUFDcEIsWURRbUI7QUFBQTtBQ1ZwQjtJQUlFLGVBQWU7SUFDZixZREtrQjtBQUFBO0FDVnBCO0lBUUUscUJBQXFCO0FBQUE7QUFPdkI7RUFDQyxhQUFhO0VBQ2IsdUJBQXVCO0VBRXZCLFdBQVc7RUFDWCxZQUFZO0VBQ1osU0FBUztFQUNULFVBQVU7RUFDVixtQkR0QjhDO0VDd0I5QyxlQUFlO0VBQ2YsbUJBQW1CO0VBRW5CLFlEakJpQjtFQ2tCakIsNkJBQTZCO0VBQzdCLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsNkJBQTZCO0VBQzdCLGdCQUFnQjtFQUVoQixtQkFBbUI7RUFDbkIsbUNBQW1DO0VBQ25DLGlCRDVDbUI7QUFBQTtBQ3NCcEI7SUEwQkUsVUQ3QmE7QUFBQTtBQ0dmO0lBOEJFLGVBQWU7SUFDZixtQkFBbUI7QUFBQTtBQUdwQjtJQUNDLFdEekRrQjtJQzBEbEIsWUQxRGtCO0lDMkRsQixVRHhDYTtJQ3lDYixnQ0FBd0M7SUFDeEMscUJEekRhO0lDMERiLDRCQUE0QjtBQUFBO0FBeEM5QjtJQTRDRSxXRGxFa0I7SUNtRWxCLFlEbkVrQjtJQ29FbEIsVURqRGE7QUFBQTtBQ0dmO01BaURHLHNCQUFzQjtBQUFBO0FBakR6QjtJQXVERSxnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBR2xCLGlCQUE4QztJQUU5QyxlQUFlO0lBQ2YsZ0JBQWdCO0lBR2hCLGdCQUFnQjtJQUNoQix1QkFBdUI7QUFBQTtBQUd4QjtJQUNDLGVBQWU7SUFFZixxQkFBcUI7QUFBQTtBQUd0QjtJQUNDLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YscUJBQXFCO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbkBpbXBvcnQgJy4uLy4uL2Fzc2V0cy9hY3Rpb24nO1xcbkBpbmNsdWRlIGFjdGlvbi1hY3RpdmU7XFxuQGluY2x1ZGUgYWN0aW9uLS1kaXNhYmxlZDtcXG5AaW5jbHVkZSBhY3Rpb24taXRlbSgnYnV0dG9uJyk7XFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICogQGF1dGhvciBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbkBtaXhpbiBhY3Rpb24tYWN0aXZlIHtcXG5cXHRsaSB7XFxuXFx0XFx0Ji5hY3RpdmUge1xcblxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xcblxcdFxcdH1cXG5cXHR9XFxufVxcblxcbkBtaXhpbiBhY3Rpb24tLWRpc2FibGVkIHtcXG5cXHQuYWN0aW9uLS1kaXNhYmxlZCB7XFxuXFx0XFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XFxuXFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZGlzYWJsZWQ7XFxuXFx0XFx0Jjpob3ZlciwgJjpmb2N1cyB7XFxuXFx0XFx0XFx0Y3Vyc29yOiBkZWZhdWx0O1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Rpc2FibGVkO1xcblxcdFxcdH1cXG5cXHRcXHQmICoge1xcblxcdFxcdFxcdG9wYWNpdHk6IDEgIWltcG9ydGFudDtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cXG5cXG5AbWl4aW4gYWN0aW9uLWl0ZW0oJG5hbWUpIHtcXG5cXHQuYWN0aW9uLSN7JG5hbWV9IHtcXG5cXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcblxcblxcdFxcdHdpZHRoOiAxMDAlO1xcblxcdFxcdGhlaWdodDogYXV0bztcXG5cXHRcXHRtYXJnaW46IDA7XFxuXFx0XFx0cGFkZGluZzogMDtcXG5cXHRcXHRwYWRkaW5nLXJpZ2h0OiAkaWNvbi1tYXJnaW47XFxuXFxuXFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFxuXFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfbm9ybWFsO1xcblxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcblxcdFxcdGJvcmRlcjogMDtcXG5cXHRcXHRib3JkZXItcmFkaXVzOiAwOyAvLyBvdGhlcndpc2UgU2FmYXJpIHdpbGwgY3V0IHRoZSBib3JkZXItcmFkaXVzIGFyZWFcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHRib3gtc2hhZG93OiBub25lO1xcblxcblxcdFxcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuXFx0XFx0Zm9udC1zaXplOiB2YXIoLS1kZWZhdWx0LWZvbnQtc2l6ZSk7XFxuXFx0XFx0bGluZS1oZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXG5cXHRcXHQmOmhvdmVyLFxcblxcdFxcdCY6Zm9jdXMge1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XFxuXFx0XFx0fVxcblxcblxcdFxcdCYgPiBzcGFuIHtcXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Jl9faWNvbiB7XFxuXFx0XFx0XFx0d2lkdGg6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdFxcdGJhY2tncm91bmQtcG9zaXRpb246ICRpY29uLW1hcmdpbiBjZW50ZXI7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1zaXplOiAkaWNvbi1zaXplO1xcblxcdFxcdFxcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuXFx0XFx0fVxcblxcblxcdFxcdC5tYXRlcmlhbC1kZXNpZ24taWNvbiB7XFxuXFx0XFx0XFx0d2lkdGg6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcblxcdFxcdFxcdC5tYXRlcmlhbC1kZXNpZ24taWNvbl9fc3ZnIHtcXG5cXHRcXHRcXHRcXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ly8gbG9uZyB0ZXh0IGFyZWFcXG5cXHRcXHRwIHtcXG5cXHRcXHRcXHRtYXgtd2lkdGg6IDIyMHB4O1xcblxcdFxcdFxcdGxpbmUtaGVpZ2h0OiAxLjZlbTtcXG5cXG5cXHRcXHRcXHQvLyAxNHB4IGFyZSBjdXJyZW50bHkgMWVtIGxpbmUtaGVpZ2h0LiBNaXhpbmcgdW5pdHMgYXMgJzQ0cHggLSAxLjZlbScgZG9lcyBub3Qgd29yay5cXG5cXHRcXHRcXHRwYWRkaW5nOiAjeygkY2xpY2thYmxlLWFyZWEgLSAxLjYqMTRweCkgLyAyfSAwO1xcblxcblxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRcXHR0ZXh0LWFsaWduOiBsZWZ0O1xcblxcblxcdFxcdFxcdC8vIGluIGNhc2UgdGhlcmUgYXJlIG5vIHNwYWNlcyBsaWtlIGxvbmcgZW1haWwgYWRkcmVzc2VzXFxuXFx0XFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRcXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Jl9fbG9uZ3RleHQge1xcblxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRcXHQvLyBhbGxvdyB0aGUgdXNlIG9mIGBcXFxcbmBcXG5cXHRcXHRcXHR3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XFxuXFx0XFx0fVxcblxcblxcdFxcdCZfX3RpdGxlIHtcXG5cXHRcXHRcXHRmb250LXdlaWdodDogYm9sZDtcXG5cXHRcXHRcXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG5cXHRcXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdFxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0XFx0bWF4LXdpZHRoOiAxMDAlO1xcblxcdFxcdFxcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5saS5hY3RpdmVbZGF0YS12LTc0Y2YxZDZmXSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcXG59XFxuLmFjdGlvbi0tZGlzYWJsZWRbZGF0YS12LTc0Y2YxZDZmXSB7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIG9wYWNpdHk6IDAuNTtcXG59XFxuLmFjdGlvbi0tZGlzYWJsZWRbZGF0YS12LTc0Y2YxZDZmXTpob3ZlciwgLmFjdGlvbi0tZGlzYWJsZWRbZGF0YS12LTc0Y2YxZDZmXTpmb2N1cyB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgb3BhY2l0eTogMC41O1xcbn1cXG4uYWN0aW9uLS1kaXNhYmxlZCAqW2RhdGEtdi03NGNmMWQ2Zl0ge1xcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XFxufVxcbi5hY3Rpb24tY2hlY2tib3hbZGF0YS12LTc0Y2YxZDZmXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuICBib3JkZXI6IDA7XFxuICBib3JkZXItcmFkaXVzOiAwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3gtc2hhZG93OiBub25lO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xcbiAgLyogY2hlY2tib3gvcmFkaW8gZml4ZXMgKi9cXG59XFxuLmFjdGlvbi1jaGVja2JveF9fY2hlY2tib3hbZGF0YS12LTc0Y2YxZDZmXSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiBhdXRvO1xcbiAgICBsZWZ0OiAtMTAwMDBweDtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgd2lkdGg6IDFweDtcXG4gICAgaGVpZ2h0OiAxcHg7XFxufVxcbi5hY3Rpb24tY2hlY2tib3hfX2NoZWNrYm94OmZvY3VzICsgLmFjdGlvbi1jaGVja2JveF9fbGFiZWxbZGF0YS12LTc0Y2YxZDZmXSB7XFxuICAgICAgb3BhY2l0eTogMTtcXG59XFxuLmFjdGlvbi1jaGVja2JveF9fbGFiZWxbZGF0YS12LTc0Y2YxZDZmXSB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0cHggIWltcG9ydGFudDtcXG4gICAgb3BhY2l0eTogMC43O1xcbn1cXG4uYWN0aW9uLWNoZWNrYm94X19sYWJlbFtkYXRhLXYtNzRjZjFkNmZdOjpiZWZvcmUge1xcbiAgICAgIG1hcmdpbjogMCAxNHB4IDAgIWltcG9ydGFudDtcXG59XFxuLmFjdGlvbi1jaGVja2JveC0tZGlzYWJsZWRbZGF0YS12LTc0Y2YxZDZmXSxcXG4gIC5hY3Rpb24tY2hlY2tib3gtLWRpc2FibGVkIC5hY3Rpb24tY2hlY2tib3hfX2xhYmVsW2RhdGEtdi03NGNmMWQ2Zl0ge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcbi5hY3Rpb24tY2hlY2tib3g6bm90KC5hY3Rpb24tY2hlY2tib3gtLWRpc2FibGVkKTpob3ZlciAuYWN0aW9uLWNoZWNrYm94X19sYWJlbFtkYXRhLXYtNzRjZjFkNmZdLCAuYWN0aW9uLWNoZWNrYm94Om5vdCguYWN0aW9uLWNoZWNrYm94LS1kaXNhYmxlZCk6Zm9jdXMgLmFjdGlvbi1jaGVja2JveF9fbGFiZWxbZGF0YS12LTc0Y2YxZDZmXSB7XFxuICAgIG9wYWNpdHk6IDE7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL0FjdGlvbkNoZWNrYm94LnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvYWN0aW9uLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBRXJCRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VGMkNFO0FFbkJEO0VBRUUsK0NBQStDO0FBQUE7QUFNakQ7RUFDQyxvQkFBb0I7RUFDcEIsWURRbUI7QUFBQTtBQ1ZwQjtJQUlFLGVBQWU7SUFDZixZREtrQjtBQUFBO0FDVnBCO0lBUUUscUJBQXFCO0FBQUE7QUZpSHhCO0VBQ0MsYUFBYTtFQUNiLHVCQUF1QjtFQUV2QixXQUFXO0VBQ1gsWUFBWTtFQUNaLFNBQVM7RUFDVCxVQUFVO0VBRVYsZUFBZTtFQUNmLG1CQUFtQjtFQUVuQiw2QkFBNkI7RUFDN0IsU0FBUztFQUNULGdCQUFnQjtFQUNoQiw2QkFBNkI7RUFDN0IsZ0JBQWdCO0VBRWhCLG1CQUFtQjtFQUNuQixpQkNuSm9CO0VEcUpwQix5QkFBQTtBQUEwQjtBQUMxQjtJQUNDLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsY0FBYztJQUVkLGdCQUFnQjtJQUVoQixVQUFVO0lBQ1YsV0FBVztBQUFBO0FBUlg7TUFVQyxVQzdJYTtBQUFBO0FEaUpmO0lBQ0MsYUFBYTtJQUNiLG1CQUFtQjtJQUVuQixXQUFXO0lBQ1gscUJBQXFCO0lBQ3JCLDhCQUFzQztJQUV0QyxZQzFKaUI7QUFBQTtBRGtKakI7TUFZQywyQkFBMkI7QUFBQTtBQUk1Qjs7SUFHQyxlQUFlO0FBQUE7QUF2RGxCO0lBOERHLFVDM0thO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbkBpbXBvcnQgJy4uLy4uL2Fzc2V0cy9hY3Rpb24nO1xcbkBpbmNsdWRlIGFjdGlvbi1hY3RpdmU7XFxuQGluY2x1ZGUgYWN0aW9uLS1kaXNhYmxlZDtcXG5cXG4uYWN0aW9uLWNoZWNrYm94IHtcXG5cXHRkaXNwbGF5OiBmbGV4O1xcblxcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcblxcblxcdHdpZHRoOiAxMDAlO1xcblxcdGhlaWdodDogYXV0bztcXG5cXHRtYXJnaW46IDA7XFxuXFx0cGFkZGluZzogMDtcXG5cXG5cXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXG5cXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRib3JkZXI6IDA7XFxuXFx0Ym9yZGVyLXJhZGl1czogMDsgLy8gb3RoZXJ3aXNlIFNhZmFyaSB3aWxsIGN1dCB0aGUgYm9yZGVyLXJhZGl1cyBhcmVhXFxuXFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0Ym94LXNoYWRvdzogbm9uZTtcXG5cXG5cXHRmb250LXdlaWdodDogbm9ybWFsO1xcblxcdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFxuXFx0LyogY2hlY2tib3gvcmFkaW8gZml4ZXMgKi9cXG5cXHQmX19jaGVja2JveCB7XFxuXFx0XFx0cG9zaXRpb246IGFic29sdXRlO1xcblxcdFxcdHRvcDogYXV0bztcXG5cXHRcXHRsZWZ0OiAtMTAwMDBweDtcXG5cXG5cXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcblxcdFxcdHdpZHRoOiAxcHg7XFxuXFx0XFx0aGVpZ2h0OiAxcHg7XFxuXFx0XFx0Jjpmb2N1cyArIC5hY3Rpb24tY2hlY2tib3hfX2xhYmVsIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Jl9fbGFiZWwge1xcblxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0YWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gYWxpZ24gY2hlY2tib3ggdG8gdGV4dFxcblxcblxcdFxcdHdpZHRoOiAxMDAlO1xcblxcdFxcdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcXG5cXHRcXHRwYWRkaW5nLXJpZ2h0OiAkaWNvbi1tYXJnaW4gIWltcG9ydGFudDtcXG5cXG5cXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFx0XFx0Ly8gY2hlY2tib3gtd2lkdGggaXMgMTJweCwgYm9yZGVyIGlzIDJcXG5cXHRcXHQvLyAoNDQgLSAxNCAtIDIpIC8gMiA9IDE0XFxuXFx0XFx0Jjo6YmVmb3JlIHtcXG5cXHRcXHRcXHRtYXJnaW46IDAgMTRweCAwICFpbXBvcnRhbnQ7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQmLS1kaXNhYmxlZCB7XFxuXFx0XFx0JixcXG5cXHRcXHQuYWN0aW9uLWNoZWNrYm94X19sYWJlbCB7XFxuXFx0XFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Jjpub3QoLmFjdGlvbi1jaGVja2JveC0tZGlzYWJsZWQpOmhvdmVyLFxcblxcdCY6bm90KC5hY3Rpb24tY2hlY2tib3gtLWRpc2FibGVkKTpmb2N1cyB7XFxuXFx0XFx0LmFjdGlvbi1jaGVja2JveF9fbGFiZWwge1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICogQGF1dGhvciBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbkBtaXhpbiBhY3Rpb24tYWN0aXZlIHtcXG5cXHRsaSB7XFxuXFx0XFx0Ji5hY3RpdmUge1xcblxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xcblxcdFxcdH1cXG5cXHR9XFxufVxcblxcbkBtaXhpbiBhY3Rpb24tLWRpc2FibGVkIHtcXG5cXHQuYWN0aW9uLS1kaXNhYmxlZCB7XFxuXFx0XFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XFxuXFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZGlzYWJsZWQ7XFxuXFx0XFx0Jjpob3ZlciwgJjpmb2N1cyB7XFxuXFx0XFx0XFx0Y3Vyc29yOiBkZWZhdWx0O1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Rpc2FibGVkO1xcblxcdFxcdH1cXG5cXHRcXHQmICoge1xcblxcdFxcdFxcdG9wYWNpdHk6IDEgIWltcG9ydGFudDtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cXG5cXG5AbWl4aW4gYWN0aW9uLWl0ZW0oJG5hbWUpIHtcXG5cXHQuYWN0aW9uLSN7JG5hbWV9IHtcXG5cXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcblxcblxcdFxcdHdpZHRoOiAxMDAlO1xcblxcdFxcdGhlaWdodDogYXV0bztcXG5cXHRcXHRtYXJnaW46IDA7XFxuXFx0XFx0cGFkZGluZzogMDtcXG5cXHRcXHRwYWRkaW5nLXJpZ2h0OiAkaWNvbi1tYXJnaW47XFxuXFxuXFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFxuXFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfbm9ybWFsO1xcblxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcblxcdFxcdGJvcmRlcjogMDtcXG5cXHRcXHRib3JkZXItcmFkaXVzOiAwOyAvLyBvdGhlcndpc2UgU2FmYXJpIHdpbGwgY3V0IHRoZSBib3JkZXItcmFkaXVzIGFyZWFcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHRib3gtc2hhZG93OiBub25lO1xcblxcblxcdFxcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuXFx0XFx0Zm9udC1zaXplOiB2YXIoLS1kZWZhdWx0LWZvbnQtc2l6ZSk7XFxuXFx0XFx0bGluZS1oZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXG5cXHRcXHQmOmhvdmVyLFxcblxcdFxcdCY6Zm9jdXMge1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XFxuXFx0XFx0fVxcblxcblxcdFxcdCYgPiBzcGFuIHtcXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Jl9faWNvbiB7XFxuXFx0XFx0XFx0d2lkdGg6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdFxcdGJhY2tncm91bmQtcG9zaXRpb246ICRpY29uLW1hcmdpbiBjZW50ZXI7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1zaXplOiAkaWNvbi1zaXplO1xcblxcdFxcdFxcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuXFx0XFx0fVxcblxcblxcdFxcdC5tYXRlcmlhbC1kZXNpZ24taWNvbiB7XFxuXFx0XFx0XFx0d2lkdGg6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcblxcdFxcdFxcdC5tYXRlcmlhbC1kZXNpZ24taWNvbl9fc3ZnIHtcXG5cXHRcXHRcXHRcXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ly8gbG9uZyB0ZXh0IGFyZWFcXG5cXHRcXHRwIHtcXG5cXHRcXHRcXHRtYXgtd2lkdGg6IDIyMHB4O1xcblxcdFxcdFxcdGxpbmUtaGVpZ2h0OiAxLjZlbTtcXG5cXG5cXHRcXHRcXHQvLyAxNHB4IGFyZSBjdXJyZW50bHkgMWVtIGxpbmUtaGVpZ2h0LiBNaXhpbmcgdW5pdHMgYXMgJzQ0cHggLSAxLjZlbScgZG9lcyBub3Qgd29yay5cXG5cXHRcXHRcXHRwYWRkaW5nOiAjeygkY2xpY2thYmxlLWFyZWEgLSAxLjYqMTRweCkgLyAyfSAwO1xcblxcblxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRcXHR0ZXh0LWFsaWduOiBsZWZ0O1xcblxcblxcdFxcdFxcdC8vIGluIGNhc2UgdGhlcmUgYXJlIG5vIHNwYWNlcyBsaWtlIGxvbmcgZW1haWwgYWRkcmVzc2VzXFxuXFx0XFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRcXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Jl9fbG9uZ3RleHQge1xcblxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRcXHQvLyBhbGxvdyB0aGUgdXNlIG9mIGBcXFxcbmBcXG5cXHRcXHRcXHR3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XFxuXFx0XFx0fVxcblxcblxcdFxcdCZfX3RpdGxlIHtcXG5cXHRcXHRcXHRmb250LXdlaWdodDogYm9sZDtcXG5cXHRcXHRcXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG5cXHRcXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdFxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0XFx0bWF4LXdpZHRoOiAxMDAlO1xcblxcdFxcdFxcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2dldFVybC5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5lb3RcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYud29mZlwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi50dGZcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYuc3ZnXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpO1xcbiAgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpIGZvcm1hdChcXFwiZW1iZWRkZWQtb3BlbnR5cGVcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyArIFwiKSBmb3JtYXQoXFxcIndvZmZcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMl9fXyArIFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX18gKyBcIikgZm9ybWF0KFxcXCJzdmdcXFwiKTtcXG4gIC8qIExlZ2FjeSBpT1MgKi9cXG59XFxuLmljb25bZGF0YS12LTVlMDBlYTM5XSB7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxuICBmb250LXdlaWdodDogNDAwO1xcbn1cXG4uaWNvbi5hcnJvdy1sZWZ0LWRvdWJsZVtkYXRhLXYtNWUwMGVhMzldOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiBXFxcIjtcXG59XFxuLmljb24uYXJyb3ctbGVmdFtkYXRhLXYtNWUwMGVhMzldOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiCXFxcIjtcXG59XFxuLmljb24uYXJyb3ctcmlnaHQtZG91YmxlW2RhdGEtdi01ZTAwZWEzOV06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqINcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1yaWdodFtkYXRhLXYtNWUwMGVhMzldOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiEXFxcIjtcXG59XFxuLmljb24uYnJlYWRjcnVtYltkYXRhLXYtNWUwMGVhMzldOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiFXFxcIjtcXG59XFxuLmljb24uY2hlY2ttYXJrW2RhdGEtdi01ZTAwZWEzOV06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIZcXFwiO1xcbn1cXG4uaWNvbi5jbG9zZVtkYXRhLXYtNWUwMGVhMzldOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiHXFxcIjtcXG59XFxuLmljb24uY29uZmlybVtkYXRhLXYtNWUwMGVhMzldOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiIXFxcIjtcXG59XFxuLmljb24uaW5mb1tkYXRhLXYtNWUwMGVhMzldOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiJXFxcIjtcXG59XFxuLmljb24ubWVudVtkYXRhLXYtNWUwMGVhMzldOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiKXFxcIjtcXG59XFxuLmljb24ubW9yZVtkYXRhLXYtNWUwMGVhMzldOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiLXFxcIjtcXG59XFxuLmljb24ucGF1c2VbZGF0YS12LTVlMDBlYTM5XTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojFxcXCI7XFxufVxcbi5pY29uLnBsYXlbZGF0YS12LTVlMDBlYTM5XTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojVxcXCI7XFxufVxcbi5pY29uLnRyaWFuZ2xlLXNbZGF0YS12LTVlMDBlYTM5XTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojlxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWF3YXlbZGF0YS12LTVlMDBlYTM5XTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oj1xcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWRuZFtkYXRhLXYtNWUwMGVhMzldOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiQXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtaW52aXNpYmxlW2RhdGEtdi01ZTAwZWEzOV06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJFcXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1vbmxpbmVbZGF0YS12LTVlMDBlYTM5XTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oklxcXCI7XFxufVxcblxcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbi8qKlxcbiAqIGNvbG9yLXRleHQtbGlnaHRlclxcdFxcdG5vcm1hbCBzdGF0ZVxcbiAqIGNvbG9yLXRleHQtbGlnaHRlclxcdFxcdGFjdGl2ZSBzdGF0ZVxcbiAqIGNvbG9yLXRleHQtbWF4Y29udHJhc3QgXFx0ZGlzYWJsZWQgc3RhdGVcXG4gKi9cXG4vKiBEZWZhdWx0IGdsb2JhbCB2YWx1ZXMgKi9cXG5idXR0b25bZGF0YS12LTVlMDBlYTM5XSxcXG5pbnB1dFtkYXRhLXYtNWUwMGVhMzldOm5vdChbdHlwZT0ncmFuZ2UnXSksXFxudGV4dGFyZWFbZGF0YS12LTVlMDBlYTM5XSB7XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiA3cHggNnB4O1xcbiAgY3Vyc29yOiB0ZXh0O1xcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XFxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcXG4gIG91dGxpbmU6IG5vbmU7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcbiAgZm9udC1zaXplOiAxM3B4O1xcbiAgLyogUHJpbWFyeSBhY3Rpb24gYnV0dG9uLCB1c2Ugc3BhcmluZ2x5ICovXFxufVxcbmJ1dHRvbltkYXRhLXYtNWUwMGVhMzldOm5vdCg6ZGlzYWJsZWQpOm5vdCgucHJpbWFyeSk6aG92ZXIsIGJ1dHRvbltkYXRhLXYtNWUwMGVhMzldOm5vdCg6ZGlzYWJsZWQpOm5vdCgucHJpbWFyeSk6Zm9jdXMsIGJ1dHRvbjpub3QoOmRpc2FibGVkKTpub3QoLnByaW1hcnkpLmFjdGl2ZVtkYXRhLXYtNWUwMGVhMzldLFxcbiAgaW5wdXRbZGF0YS12LTVlMDBlYTM5XTpub3QoW3R5cGU9J3JhbmdlJ10pOm5vdCg6ZGlzYWJsZWQpOm5vdCgucHJpbWFyeSk6aG92ZXIsXFxuICBpbnB1dFtkYXRhLXYtNWUwMGVhMzldOm5vdChbdHlwZT0ncmFuZ2UnXSk6bm90KDpkaXNhYmxlZCk6bm90KC5wcmltYXJ5KTpmb2N1cyxcXG4gIGlucHV0Om5vdChbdHlwZT0ncmFuZ2UnXSk6bm90KDpkaXNhYmxlZCk6bm90KC5wcmltYXJ5KS5hY3RpdmVbZGF0YS12LTVlMDBlYTM5XSxcXG4gIHRleHRhcmVhW2RhdGEtdi01ZTAwZWEzOV06bm90KDpkaXNhYmxlZCk6bm90KC5wcmltYXJ5KTpob3ZlcixcXG4gIHRleHRhcmVhW2RhdGEtdi01ZTAwZWEzOV06bm90KDpkaXNhYmxlZCk6bm90KC5wcmltYXJ5KTpmb2N1cyxcXG4gIHRleHRhcmVhOm5vdCg6ZGlzYWJsZWQpOm5vdCgucHJpbWFyeSkuYWN0aXZlW2RhdGEtdi01ZTAwZWEzOV0ge1xcbiAgICAvKiBhY3RpdmUgY2xhc3MgdXNlZCBmb3IgbXVsdGlzZWxlY3QgKi9cXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcbiAgICBvdXRsaW5lOiBub25lO1xcbn1cXG5idXR0b25bZGF0YS12LTVlMDBlYTM5XTpub3QoOmRpc2FibGVkKTpub3QoLnByaW1hcnkpOmFjdGl2ZSxcXG4gIGlucHV0W2RhdGEtdi01ZTAwZWEzOV06bm90KFt0eXBlPSdyYW5nZSddKTpub3QoOmRpc2FibGVkKTpub3QoLnByaW1hcnkpOmFjdGl2ZSxcXG4gIHRleHRhcmVhW2RhdGEtdi01ZTAwZWEzOV06bm90KDpkaXNhYmxlZCk6bm90KC5wcmltYXJ5KTphY3RpdmUge1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7XFxuICAgIG91dGxpbmU6IG5vbmU7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxufVxcbmJ1dHRvbltkYXRhLXYtNWUwMGVhMzldOmRpc2FibGVkLFxcbiAgaW5wdXRbZGF0YS12LTVlMDBlYTM5XTpub3QoW3R5cGU9J3JhbmdlJ10pOmRpc2FibGVkLFxcbiAgdGV4dGFyZWFbZGF0YS12LTVlMDBlYTM5XTpkaXNhYmxlZCB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgb3BhY2l0eTogMC41O1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tYXhjb250cmFzdCk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7XFxufVxcbmJ1dHRvbltkYXRhLXYtNWUwMGVhMzldOnJlcXVpcmVkLFxcbiAgaW5wdXRbZGF0YS12LTVlMDBlYTM5XTpub3QoW3R5cGU9J3JhbmdlJ10pOnJlcXVpcmVkLFxcbiAgdGV4dGFyZWFbZGF0YS12LTVlMDBlYTM5XTpyZXF1aXJlZCB7XFxuICAgIGJveC1zaGFkb3c6IG5vbmU7XFxufVxcbmJ1dHRvbltkYXRhLXYtNWUwMGVhMzldOmludmFsaWQsXFxuICBpbnB1dFtkYXRhLXYtNWUwMGVhMzldOm5vdChbdHlwZT0ncmFuZ2UnXSk6aW52YWxpZCxcXG4gIHRleHRhcmVhW2RhdGEtdi01ZTAwZWEzOV06aW52YWxpZCB7XFxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XFxufVxcbmJ1dHRvbi5wcmltYXJ5W2RhdGEtdi01ZTAwZWEzOV0sXFxuICBpbnB1dDpub3QoW3R5cGU9J3JhbmdlJ10pLnByaW1hcnlbZGF0YS12LTVlMDBlYTM5XSxcXG4gIHRleHRhcmVhLnByaW1hcnlbZGF0YS12LTVlMDBlYTM5XSB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCk7XFxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcXG59XFxuYnV0dG9uLnByaW1hcnlbZGF0YS12LTVlMDBlYTM5XTpub3QoOmRpc2FibGVkKTpob3ZlciwgYnV0dG9uLnByaW1hcnlbZGF0YS12LTVlMDBlYTM5XTpub3QoOmRpc2FibGVkKTpmb2N1cywgYnV0dG9uLnByaW1hcnlbZGF0YS12LTVlMDBlYTM5XTpub3QoOmRpc2FibGVkKTphY3RpdmUsXFxuICAgIGlucHV0Om5vdChbdHlwZT0ncmFuZ2UnXSkucHJpbWFyeVtkYXRhLXYtNWUwMGVhMzldOm5vdCg6ZGlzYWJsZWQpOmhvdmVyLFxcbiAgICBpbnB1dDpub3QoW3R5cGU9J3JhbmdlJ10pLnByaW1hcnlbZGF0YS12LTVlMDBlYTM5XTpub3QoOmRpc2FibGVkKTpmb2N1cyxcXG4gICAgaW5wdXQ6bm90KFt0eXBlPSdyYW5nZSddKS5wcmltYXJ5W2RhdGEtdi01ZTAwZWEzOV06bm90KDpkaXNhYmxlZCk6YWN0aXZlLFxcbiAgICB0ZXh0YXJlYS5wcmltYXJ5W2RhdGEtdi01ZTAwZWEzOV06bm90KDpkaXNhYmxlZCk6aG92ZXIsXFxuICAgIHRleHRhcmVhLnByaW1hcnlbZGF0YS12LTVlMDBlYTM5XTpub3QoOmRpc2FibGVkKTpmb2N1cyxcXG4gICAgdGV4dGFyZWEucHJpbWFyeVtkYXRhLXYtNWUwMGVhMzldOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQtbGlnaHQpO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudC1saWdodCk7XFxufVxcbmJ1dHRvbi5wcmltYXJ5W2RhdGEtdi01ZTAwZWEzOV06bm90KDpkaXNhYmxlZCk6YWN0aXZlLFxcbiAgICBpbnB1dDpub3QoW3R5cGU9J3JhbmdlJ10pLnByaW1hcnlbZGF0YS12LTVlMDBlYTM5XTpub3QoOmRpc2FibGVkKTphY3RpdmUsXFxuICAgIHRleHRhcmVhLnByaW1hcnlbZGF0YS12LTVlMDBlYTM5XTpub3QoOmRpc2FibGVkKTphY3RpdmUge1xcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQtZGFyayk7XFxufVxcbmJ1dHRvbi5wcmltYXJ5W2RhdGEtdi01ZTAwZWEzOV06ZGlzYWJsZWQsXFxuICAgIGlucHV0Om5vdChbdHlwZT0ncmFuZ2UnXSkucHJpbWFyeVtkYXRhLXYtNWUwMGVhMzldOmRpc2FibGVkLFxcbiAgICB0ZXh0YXJlYS5wcmltYXJ5W2RhdGEtdi01ZTAwZWEzOV06ZGlzYWJsZWQge1xcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0LWRhcmspO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxufVxcblxcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5saS5hY3RpdmVbZGF0YS12LTVlMDBlYTM5XSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcXG59XFxuLmFjdGlvbi0tZGlzYWJsZWRbZGF0YS12LTVlMDBlYTM5XSB7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIG9wYWNpdHk6IDAuNTtcXG59XFxuLmFjdGlvbi0tZGlzYWJsZWRbZGF0YS12LTVlMDBlYTM5XTpob3ZlciwgLmFjdGlvbi0tZGlzYWJsZWRbZGF0YS12LTVlMDBlYTM5XTpmb2N1cyB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgb3BhY2l0eTogMC41O1xcbn1cXG4uYWN0aW9uLS1kaXNhYmxlZCAqW2RhdGEtdi01ZTAwZWEzOV0ge1xcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XFxufVxcbi5hY3Rpb24taW5wdXRbZGF0YS12LTVlMDBlYTM5XSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuICBib3JkZXI6IDA7XFxuICBib3JkZXItcmFkaXVzOiAwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3gtc2hhZG93OiBub25lO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIC8qIElucHV0cyBpbnNpZGUgcG9wb3ZlciBzdXBwb3J0cyB0ZXh0LCBzdWJtaXQgJiByZXNldCAqL1xcbn1cXG4uYWN0aW9uLWlucHV0W2RhdGEtdi01ZTAwZWEzOV06bm90KC5hY3Rpb24taW5wdXQtLXBpY2tlcikge1xcbiAgICBvcGFjaXR5OiAwLjc7XFxufVxcbi5hY3Rpb24taW5wdXRbZGF0YS12LTVlMDBlYTM5XTpub3QoLmFjdGlvbi1pbnB1dC0tcGlja2VyKTpob3ZlciwgLmFjdGlvbi1pbnB1dFtkYXRhLXYtNWUwMGVhMzldOm5vdCguYWN0aW9uLWlucHV0LS1waWNrZXIpOmZvY3VzIHtcXG4gICAgICBvcGFjaXR5OiAxO1xcbn1cXG4uYWN0aW9uLWlucHV0LS1waWNrZXIgLmFjdGlvbi1pbnB1dF9faWNvbltkYXRhLXYtNWUwMGVhMzldIHtcXG4gICAgb3BhY2l0eTogMC43O1xcbn1cXG4uYWN0aW9uLWlucHV0LS1waWNrZXI6aG92ZXIgLmFjdGlvbi1pbnB1dF9faWNvbltkYXRhLXYtNWUwMGVhMzldLFxcbiAgLmFjdGlvbi1pbnB1dC0tcGlja2VyOmZvY3VzIC5hY3Rpb24taW5wdXRfX2ljb25bZGF0YS12LTVlMDBlYTM5XSB7XFxuICAgIG9wYWNpdHk6IDE7XFxufVxcbi5hY3Rpb24taW5wdXQgPiBzcGFuW2RhdGEtdi01ZTAwZWEzOV0ge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxufVxcbi5hY3Rpb24taW5wdXRfX2ljb25bZGF0YS12LTVlMDBlYTM5XSB7XFxuICAgIG1pbi13aWR0aDogMDtcXG4gICAgLyogT3ZlcndyaXRlIGljb25zKi9cXG4gICAgbWluLWhlaWdodDogMDtcXG4gICAgLyogS2VlcCBwYWRkaW5nIHRvIGRlZmluZSB0aGUgd2lkdGggdG9cXG5cXHRcXHRcXHRhc3N1cmUgY29ycmVjdCBwb3NpdGlvbiBvZiBhIHBvc3NpYmxlIHRleHQgKi9cXG4gICAgcGFkZGluZzogMjJweCAwIDIycHggNDRweDtcXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTRweCBjZW50ZXI7XFxuICAgIGJhY2tncm91bmQtc2l6ZTogMTZweDtcXG59XFxuLmFjdGlvbi1pbnB1dF9fZm9ybVtkYXRhLXYtNWUwMGVhMzldIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIG1hcmdpbjogNHB4IDA7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0cHg7XFxufVxcbi5hY3Rpb24taW5wdXRfX3N1Ym1pdFtkYXRhLXYtNWUwMGVhMzldIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICBsZWZ0OiAtMTAwMDBweDtcXG4gICAgdG9wOiBhdXRvO1xcbiAgICB3aWR0aDogMXB4O1xcbiAgICBoZWlnaHQ6IDFweDtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuLmFjdGlvbi1pbnB1dF9fbGFiZWxbZGF0YS12LTVlMDBlYTM5XSB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICB3aWR0aDogMzZweDtcXG4gICAgaGVpZ2h0OiAzNnB4O1xcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICBtYXJnaW46IDAgMCAwIC04cHg7XFxuICAgIHBhZGRpbmc6IDdweCA2cHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgb3BhY2l0eTogMTtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXJrKTtcXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDA7XFxuICAgIC8qIEF2b2lkIGJhY2tncm91bmQgdW5kZXIgYm9yZGVyICovXFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XFxuICAgIGZvbnQtc2l6ZTogMTZweDtcXG59XFxuLmFjdGlvbi1pbnB1dF9fbGFiZWxbZGF0YS12LTVlMDBlYTM5XTpiZWZvcmUge1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGNvbnRlbnQ6IFxcXCLuqIhcXFwiO1xcbn1cXG4uYWN0aW9uLWlucHV0X19pbnB1dFtkYXRhLXYtNWUwMGVhMzldIHtcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIG1pbi13aWR0aDogMTMycHg7XFxuICAgIG1pbi1oZWlnaHQ6IDM2cHg7XFxuICAgIC8qIHR3aWNlIHRoZSBlbGVtZW50IG1hcmdpbi15ICovXFxuICAgIG1heC1oZWlnaHQ6IDM2cHg7XFxuICAgIC8qIHR3aWNlIHRoZSBlbGVtZW50IG1hcmdpbi15ICovXFxuICAgIG1hcmdpbjogMDtcXG4gICAgLyogb25seSBzaG93IGNvbmZpcm0gYm9yZGVycyBpZiBpbnB1dCBpcyBub3QgZm9jdXNlZCAqL1xcbn1cXG4uYWN0aW9uLWlucHV0X19pbnB1dFtkYXRhLXYtNWUwMGVhMzldOmRpc2FibGVkIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcbi5hY3Rpb24taW5wdXRfX2lucHV0Om5vdCg6YWN0aXZlKTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKTppbnZhbGlkICsgLmFjdGlvbi1pbnB1dF9fbGFiZWxbZGF0YS12LTVlMDBlYTM5XSB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XFxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG4uYWN0aW9uLWlucHV0X19pbnB1dDpub3QoOmFjdGl2ZSk6bm90KDpob3Zlcik6bm90KDpmb2N1cyk6bm90KDpkaXNhYmxlZCkgKyAuYWN0aW9uLWlucHV0X19sYWJlbFtkYXRhLXYtNWUwMGVhMzldOmFjdGl2ZSwgLmFjdGlvbi1pbnB1dF9faW5wdXQ6bm90KDphY3RpdmUpOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpOm5vdCg6ZGlzYWJsZWQpICsgLmFjdGlvbi1pbnB1dF9fbGFiZWxbZGF0YS12LTVlMDBlYTM5XTpob3ZlciwgLmFjdGlvbi1pbnB1dF9faW5wdXQ6bm90KDphY3RpdmUpOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpOm5vdCg6ZGlzYWJsZWQpICsgLmFjdGlvbi1pbnB1dF9fbGFiZWxbZGF0YS12LTVlMDBlYTM5XTpmb2N1cyB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xcbn1cXG4uYWN0aW9uLWlucHV0X19pbnB1dDphY3RpdmU6bm90KDpkaXNhYmxlZCkgKyAuYWN0aW9uLWlucHV0X19sYWJlbFtkYXRhLXYtNWUwMGVhMzldLCAuYWN0aW9uLWlucHV0X19pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSArIC5hY3Rpb24taW5wdXRfX2xhYmVsW2RhdGEtdi01ZTAwZWEzOV0sIC5hY3Rpb24taW5wdXRfX2lucHV0OmZvY3VzOm5vdCg6ZGlzYWJsZWQpICsgLmFjdGlvbi1pbnB1dF9fbGFiZWxbZGF0YS12LTVlMDBlYTM5XSB7XFxuICAgICAgLyogYWJvdmUgcHJldmlvdXMgaW5wdXQgKi9cXG4gICAgICB6LWluZGV4OiAyO1xcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxufVxcbi5hY3Rpb24taW5wdXRfX3BpY2tlcltkYXRhLXYtNWUwMGVhMzldIC5teC1pbnB1dCB7XFxuICAgIG1hcmdpbjogMDtcXG59XFxuLmFjdGlvbi1pbnB1dF9fbXVsdGlbZGF0YS12LTVlMDBlYTM5XSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbn1cXG5saTpsYXN0LWNoaWxkID4gLmFjdGlvbi1pbnB1dFtkYXRhLXYtNWUwMGVhMzldIHtcXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XFxufVxcbmxpOmZpcnN0LWNoaWxkID4gLmFjdGlvbi1pbnB1dFtkYXRhLXYtNWUwMGVhMzldIHtcXG4gIG1hcmdpbi10b3A6IDEwcHg7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL0FjdGlvbklucHV0LnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZS5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvaW5wdXRzLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy9hY3Rpb24uc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FFc0VBO0VBQ0MsbUNBQW1DO0VBQ25DLDRDQUF1QztFQUFFLHFCQUFBO0VBQ3pDLG1QQUdtRDtFQUFFLGVBQUE7QUFBZ0I7QUFNdEU7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQUE7QUFGbEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE1R2U7QUFBTztBQXFHNUI7SUFNTSxtQ0FBbUM7SUFDbkMsWUEzR1E7QUFBTztBQW9HckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUExR2dCO0FBQU87QUFtRzdCO0lBTU0sbUNBQW1DO0lBQ25DLFlBekdTO0FBQU87QUFrR3RCO0lBTU0sbUNBQW1DO0lBQ25DLFlBeEdRO0FBQU87QUFpR3JCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdkdPO0FBQU87QUFnR3BCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdEdHO0FBQU87QUErRmhCO0lBTU0sbUNBQW1DO0lBQ25DLFlBckdLO0FBQU87QUE4RmxCO0lBTU0sbUNBQW1DO0lBQ25DLFlBcEdFO0FBQU87QUE2RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFuR0U7QUFBTztBQTRGZjtJQU1NLG1DQUFtQztJQUNuQyxZQWxHRTtBQUFPO0FBMkZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBakdHO0FBQU87QUEwRmhCO0lBTU0sbUNBQW1DO0lBQ25DLFlBaEdFO0FBQU87QUF5RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUEvRlE7QUFBTztBQXdGckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE5RmM7QUFBTztBQXVGM0I7SUFNTSxtQ0FBbUM7SUFDbkMsWUE3RmE7QUFBTztBQXNGMUI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE1Rm1CO0FBQU87QUFxRmhDO0lBTU0sbUNBQW1DO0lBQ25DLFlBM0ZnQjtBQUFPOztBQ25CL0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VIMkdF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VUFBVTtNQUVWLDBDQUEwQztNQUMxQyw4QkFBOEI7QUFBQTtBQUtoQztJQUVDLFNBQVM7QUFBQTtBQUlYO0lBQ0MsV0FBVztBQUFBO0FBT2I7RUFDQyxtQkFBMkM7QUFBQTtBQUk1QztFQUNDLGdCQUF3QztBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5AaW1wb3J0ICcuLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZSc7XFxuQGltcG9ydCAnLi4vLi4vYXNzZXRzL2lucHV0cyc7XFxuQGltcG9ydCAnLi4vLi4vYXNzZXRzL2FjdGlvbic7XFxuQGluY2x1ZGUgYWN0aW9uLWFjdGl2ZTtcXG5AaW5jbHVkZSBhY3Rpb24tLWRpc2FibGVkO1xcblxcbiRpbnB1dC1tYXJnaW46IDRweDtcXG5cXG4uYWN0aW9uLWlucHV0IHtcXG5cXHRkaXNwbGF5OiBmbGV4O1xcblxcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcblxcblxcdHdpZHRoOiAxMDAlO1xcblxcdGhlaWdodDogYXV0bztcXG5cXHRtYXJnaW46IDA7XFxuXFx0cGFkZGluZzogMDtcXG5cXG5cXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXG5cXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRib3JkZXI6IDA7XFxuXFx0Ym9yZGVyLXJhZGl1czogMDsgLy8gb3RoZXJ3aXNlIFNhZmFyaSB3aWxsIGN1dCB0aGUgYm9yZGVyLXJhZGl1cyBhcmVhXFxuXFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0Ym94LXNoYWRvdzogbm9uZTtcXG5cXG5cXHRmb250LXdlaWdodDogbm9ybWFsO1xcblxcblxcdC8vIGRvIG5vdCBjaGFuZ2UgdGhlIG9wYWNpdHkgb2YgdGhlIGRhdGVwaWNrZXJcXG5cXHQmOm5vdCguYWN0aW9uLWlucHV0LS1waWNrZXIpIHtcXG5cXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFx0XFx0Jjpob3ZlcixcXG5cXHRcXHQmOmZvY3VzIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Ly8gb25seSBjaGFuZ2UgZm9yIHRoZSBpY29uIHRoZW5cXG5cXHQmLS1waWNrZXIge1xcblxcdFxcdC5hY3Rpb24taW5wdXRfX2ljb24ge1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHRcXHR9XFxuXFx0XFx0Jjpob3ZlciAuYWN0aW9uLWlucHV0X19pY29uLFxcblxcdFxcdCY6Zm9jdXMgLmFjdGlvbi1pbnB1dF9faWNvbiB7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdCYgPiBzcGFuIHtcXG5cXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHR9XFxuXFxuXFx0Jl9faWNvbiB7XFxuXFx0XFx0bWluLXdpZHRoOiAwOyAvKiBPdmVyd3JpdGUgaWNvbnMqL1xcblxcdFxcdG1pbi1oZWlnaHQ6IDA7XFxuXFx0XFx0LyogS2VlcCBwYWRkaW5nIHRvIGRlZmluZSB0aGUgd2lkdGggdG9cXG5cXHRcXHRcXHRhc3N1cmUgY29ycmVjdCBwb3NpdGlvbiBvZiBhIHBvc3NpYmxlIHRleHQgKi9cXG5cXHRcXHRwYWRkaW5nOiAjeyRjbGlja2FibGUtYXJlYSAvIDJ9IDAgI3skY2xpY2thYmxlLWFyZWEgLyAyfSAkY2xpY2thYmxlLWFyZWE7XFxuXFxuXFx0XFx0YmFja2dyb3VuZC1wb3NpdGlvbjogI3skaWNvbi1tYXJnaW59IGNlbnRlcjtcXG5cXHRcXHRiYWNrZ3JvdW5kLXNpemU6ICRpY29uLXNpemU7XFxuXFx0fVxcblxcblxcdC8vIEZvcm1zICYgdGV4dCBpbnB1dHNcXG5cXHQmX19mb3JtIHtcXG5cXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuXFx0XFx0ZmxleDogMSAxIGF1dG87XFxuXFxuXFx0XFx0bWFyZ2luOiAkaW5wdXQtbWFyZ2luIDA7XFxuXFx0XFx0cGFkZGluZy1yaWdodDogJGljb24tbWFyZ2luO1xcblxcdH1cXG5cXG5cXHQmX19zdWJtaXQge1xcblxcdFxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHRcXHRsZWZ0OiAtMTAwMDBweDtcXG5cXHRcXHR0b3A6IGF1dG87XFxuXFx0XFx0d2lkdGg6IDFweDtcXG5cXHRcXHRoZWlnaHQ6IDFweDtcXG5cXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdH1cXG5cXG5cXHQmX19sYWJlbCB7XFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRhbGlnbi1pdGVtczogY2VudGVyO1xcblxcdFxcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xcblxcblxcdFxcdHdpZHRoOiAjeyRjbGlja2FibGUtYXJlYSAtICRpbnB1dC1tYXJnaW4gKiAyfTtcXG5cXHRcXHRoZWlnaHQ6ICN7JGNsaWNrYWJsZS1hcmVhIC0gJGlucHV0LW1hcmdpbiAqIDJ9O1xcblxcdFxcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuXFx0XFx0bWFyZ2luOiAwIDAgMCAtOHB4O1xcblxcdFxcdHBhZGRpbmc6IDdweCA2cHg7XFxuXFxuXFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XFxuXFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XFxuXFx0XFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xcblxcdFxcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHRib3JkZXItcmFkaXVzOiAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDA7XFxuXFx0XFx0LyogQXZvaWQgYmFja2dyb3VuZCB1bmRlciBib3JkZXIgKi9cXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcblxcdFxcdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XFxuXFxuXFx0XFx0Zm9udC1zaXplOiAkaWNvbi1zaXplO1xcblxcblxcdFxcdEBpbmNsdWRlIGljb25mb250KCdjb25maXJtJyk7XFxuXFx0fVxcblxcblxcdC8qIElucHV0cyBpbnNpZGUgcG9wb3ZlciBzdXBwb3J0cyB0ZXh0LCBzdWJtaXQgJiByZXNldCAqL1xcblxcdCZfX2lucHV0IHtcXG5cXHRcXHRmbGV4OiAxIDEgYXV0bztcXG5cXG5cXHRcXHRtaW4td2lkdGg6ICRjbGlja2FibGUtYXJlYSAqIDM7XFxuXFx0XFx0bWluLWhlaWdodDogI3skY2xpY2thYmxlLWFyZWEgLSAkaW5wdXQtbWFyZ2luICogMn07IC8qIHR3aWNlIHRoZSBlbGVtZW50IG1hcmdpbi15ICovXFxuXFx0XFx0bWF4LWhlaWdodDogI3skY2xpY2thYmxlLWFyZWEgLSAkaW5wdXQtbWFyZ2luICogMn07IC8qIHR3aWNlIHRoZSBlbGVtZW50IG1hcmdpbi15ICovXFxuXFx0XFx0bWFyZ2luOiAwO1xcblxcblxcdFxcdC8vIGlmIGRpc2FibGVkLCBjaGFuZ2UgY3Vyc29yXFxuXFx0XFx0JjpkaXNhYmxlZCB7XFxuXFx0XFx0XFx0Y3Vyc29yOiBkZWZhdWx0O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvKiBvbmx5IHNob3cgY29uZmlybSBib3JkZXJzIGlmIGlucHV0IGlzIG5vdCBmb2N1c2VkICovXFxuXFx0XFx0Jjpub3QoOmFjdGl2ZSk6bm90KDpob3Zlcik6bm90KDpmb2N1cykge1xcblxcdFxcdFxcdCY6aW52YWxpZCB7XFxuXFx0XFx0XFx0XFx0JiArIC5hY3Rpb24taW5wdXRfX2xhYmVsIHtcXG5cXHRcXHRcXHRcXHRcXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcXG5cXHRcXHRcXHRcXHRcXHRib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdH1cXG5cXHRcXHRcXHQmOm5vdCg6ZGlzYWJsZWQpICsgLmFjdGlvbi1pbnB1dF9fbGFiZWwge1xcblxcdFxcdFxcdFxcdCY6YWN0aXZlLFxcblxcdFxcdFxcdFxcdCY6aG92ZXIsXFxuXFx0XFx0XFx0XFx0Jjpmb2N1cyB7XFxuXFx0XFx0XFx0XFx0XFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcblxcdFxcdFxcdFxcdFxcdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdFxcdCY6YWN0aXZlLFxcblxcdFxcdCY6aG92ZXIsXFxuXFx0XFx0Jjpmb2N1cyB7XFxuXFx0XFx0XFx0Jjpub3QoOmRpc2FibGVkKSArIC5hY3Rpb24taW5wdXRfX2xhYmVsIHtcXG5cXHRcXHRcXHRcXHQvKiBhYm92ZSBwcmV2aW91cyBpbnB1dCAqL1xcblxcdFxcdFxcdFxcdHotaW5kZXg6IDI7XFxuXFxuXFx0XFx0XFx0XFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcblxcdFxcdFxcdFxcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQmX19waWNrZXI6OnYtZGVlcCB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcXG5cXHRcXHQubXgtaW5wdXQge1xcblxcdFxcdFxcdG1hcmdpbjogMDtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdCZfX211bHRpIHtcXG5cXHRcXHR3aWR0aDogMTAwJTtcXG5cXHR9XFxufVxcblxcbi8vIGlmIGEgZm9ybSBpcyB0aGUgbGFzdCBvZiB0aGUgbGlzdFxcbi8vIGFkZCB0aGUgc2FtZSBib3R0b21NYXJnaW4gYXMgdGhlIHJpZ2h0IHBhZGRpbmdcXG4vLyBmb3IgdmlzdWFsIGJhbGFuY2VcXG5saTpsYXN0LWNoaWxkID4gLmFjdGlvbi1pbnB1dCB7XFxuXFx0bWFyZ2luLWJvdHRvbTogJGljb24tbWFyZ2luIC0gJGlucHV0LW1hcmdpbjtcXG59XFxuXFxuLy8gc2FtZSBmb3IgZmlyc3QgaXRlbVxcbmxpOmZpcnN0LWNoaWxkID4gLmFjdGlvbi1pbnB1dCB7XFxuXFx0bWFyZ2luLXRvcDogJGljb24tbWFyZ2luIC0gJGlucHV0LW1hcmdpbjtcXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiLFwiJF9faWNvbmZvbnRfX2RhdGE6IG1hcC1tZXJnZShpZihnbG9iYWxfdmFyaWFibGVfZXhpc3RzKCdfX2ljb25mb250X19kYXRhJyksICRfX2ljb25mb250X19kYXRhLCAoKSksIChcXG5cXHRcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiOiAoXFxuXFx0XFx0XFxcImFycm93LWxlZnQtZG91YmxlXFxcIjogXFxcIlxcXFxlYTAxXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctbGVmdFxcXCI6IFxcXCJcXFxcZWEwMlxcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0LWRvdWJsZVxcXCI6IFxcXCJcXFxcZWEwM1xcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0XFxcIjogXFxcIlxcXFxlYTA0XFxcIixcXG5cXHRcXHRcXFwiYnJlYWRjcnVtYlxcXCI6IFxcXCJcXFxcZWEwNVxcXCIsXFxuXFx0XFx0XFxcImNoZWNrbWFya1xcXCI6IFxcXCJcXFxcZWEwNlxcXCIsXFxuXFx0XFx0XFxcImNsb3NlXFxcIjogXFxcIlxcXFxlYTA3XFxcIixcXG5cXHRcXHRcXFwiY29uZmlybVxcXCI6IFxcXCJcXFxcZWEwOFxcXCIsXFxuXFx0XFx0XFxcImluZm9cXFwiOiBcXFwiXFxcXGVhMDlcXFwiLFxcblxcdFxcdFxcXCJtZW51XFxcIjogXFxcIlxcXFxlYTBhXFxcIixcXG5cXHRcXHRcXFwibW9yZVxcXCI6IFxcXCJcXFxcZWEwYlxcXCIsXFxuXFx0XFx0XFxcInBhdXNlXFxcIjogXFxcIlxcXFxlYTBjXFxcIixcXG5cXHRcXHRcXFwicGxheVxcXCI6IFxcXCJcXFxcZWEwZFxcXCIsXFxuXFx0XFx0XFxcInRyaWFuZ2xlLXNcXFwiOiBcXFwiXFxcXGVhMGVcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1hd2F5XFxcIjogXFxcIlxcXFxlYTBmXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtZG5kXFxcIjogXFxcIlxcXFxlYTEwXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtaW52aXNpYmxlXFxcIjogXFxcIlxcXFxlYTExXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtb25saW5lXFxcIjogXFxcIlxcXFxlYTEyXFxcIlxcblxcdClcXG4pKTtcXG5cXG5cXG4kY3JlYXRlLWZvbnQtZmFjZTogdHJ1ZSAhZGVmYXVsdDsgLy8gc2hvdWxkIHRoZSBAZm9udC1mYWNlIHRhZyBnZXQgY3JlYXRlZD9cXG5cXG4vLyBzaG91bGQgdGhlcmUgYmUgYSBjdXN0b20gY2xhc3MgZm9yIGVhY2ggaWNvbj8gd2lsbCBiZSAuZmlsZW5hbWVcXG4kY3JlYXRlLWljb24tY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDsgXFxuXFxuLy8gd2hhdCBpcyB0aGUgY29tbW9uIGNsYXNzIG5hbWUgdGhhdCBpY29ucyBzaGFyZT8gaW4gdGhpcyBjYXNlIGljb25zIG5lZWQgdG8gaGF2ZSAuaWNvbi5maWxlbmFtZSBpbiB0aGVpciBjbGFzc2VzXFxuLy8gdGhpcyByZXF1aXJlcyB5b3UgdG8gaGF2ZSAyIGNsYXNzZXMgb24gZWFjaCBpY29uIGh0bWwgZWxlbWVudCwgYnV0IHJlZHVjZWQgcmVkZWNsYXJhdGlvbiBvZiB0aGUgZm9udCBmYW1pbHlcXG4vLyBmb3IgZWFjaCBpY29uXFxuJGljb24tY29tbW9uLWNsYXNzOiAnaWNvbicgIWRlZmF1bHQ7XFxuXFxuLy8gaWYgeW91IHdoaXNoIHRvIHByZWZpeCB5b3VyIGZpbGVuYW1lcywgaGVyZSB5b3UgY2FuIGRvIHNvLlxcbi8vIGlmIHRoaXMgc3RyaW5nIHN0YXlzIGVtcHR5LCB5b3VyIGNsYXNzZXMgd2lsbCB1c2UgdGhlIGZpbGVuYW1lLCBmb3IgZXhhbXBsZVxcbi8vIGFuIGljb24gY2FsbGVkIHN0YXIuc3ZnIHdpbGwgcmVzdWx0IGluIGEgY2xhc3MgY2FsbGVkIC5zdGFyXFxuLy8gaWYgeW91IHVzZSB0aGUgcHJlZml4IHRvIGJlICdpY29uLScgaXQgd291bGQgcmVzdWx0IGluIC5pY29uLXN0YXJcXG4kaWNvbi1wcmVmaXg6ICcnICFkZWZhdWx0OyBcXG5cXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvbnQgZ3JvdXBcXG5AZnVuY3Rpb24gaWNvbmZvbnQtZ3JvdXAoJGdyb3VwOiBudWxsKSB7XFxuICBAaWYgKG51bGwgPT0gJGdyb3VwKSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICBAaWYgKGZhbHNlID09IG1hcC1oYXMta2V5KCRfX2ljb25mb250X19kYXRhLCAkZ3JvdXApKSB7XFxuICAgIEB3YXJuICdVbmRlZmluZWQgSWNvbmZvbnQgRmFtaWx5ISc7XFxuICAgIEByZXR1cm4gKCk7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJF9faWNvbmZvbnRfX2RhdGEsICRncm91cCk7XFxufVxcblxcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3QgaWNvbiBvZiBhIGdyb3VwXFxuQGZ1bmN0aW9uIGljb25mb250LWl0ZW0oJG5hbWUpIHtcXG4gICRzbGFzaDogc3RyLWluZGV4KCRuYW1lLCAnLycpO1xcbiAgJGdyb3VwOiBudWxsO1xcbiAgQGlmICgkc2xhc2gpIHtcXG4gICAgJGdyb3VwOiBzdHItc2xpY2UoJG5hbWUsIDAsICRzbGFzaCAtIDEpO1xcbiAgICAkbmFtZTogc3RyLXNsaWNlKCRuYW1lLCAkc2xhc2ggKyAxKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgJGdyb3VwOiBpY29uZm9udC1ncm91cCgkZ3JvdXApO1xcbiAgQGlmIChmYWxzZSA9PSBtYXAtaGFzLWtleSgkZ3JvdXAsICRuYW1lKSkge1xcbiAgICBAd2FybiAnVW5kZWZpbmVkIEljb25mb250IEdseXBoISc7XFxuICAgIEByZXR1cm4gJyc7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJGdyb3VwLCAkbmFtZSk7XFxufVxcblxcbi8vIGNvbXBsZXRlIG1peGluZyB0byBpbmNsdWRlIHRoZSBpY29uXFxuLy8gdXNhZ2U6XFxuLy8gLm15X2ljb257IEBpbmNsdWRlIGljb25mb250KCdzdGFyJykgfVxcbkBtaXhpbiBpY29uZm9udCgkaWNvbikge1xcbiAgJHNsYXNoOiBzdHItaW5kZXgoJGljb24sICcvJyk7XFxuICAkZ3JvdXA6IG51bGw7XFxuICBAaWYgKCRzbGFzaCkge1xcbiAgICAkZ3JvdXA6IHN0ci1zbGljZSgkaWNvbiwgMCwgJHNsYXNoIC0gMSk7XFxuICB9IEBlbHNlIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gICY6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6ICRncm91cDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKCRpY29uKTtcXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyB0aGUgZm9udCBmYWNlIHRhZyBpZiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIHRydWUgKGRlZmF1bHQpXFxuQGlmICRjcmVhdGUtZm9udC1mYWNlID09IHRydWUge1xcbiAgQGZvbnQtZmFjZSB7XFxuICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2ZycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyBpY29uIGNsYXNzZXMgZm9yIGVhY2ggaW5kaXZpZHVhbCBsb2FkZWQgc3ZnIChkZWZhdWx0KVxcbkBpZiAkY3JlYXRlLWljb24tY2xhc3NlcyA9PSB0cnVlIHtcXG4gIC4jeyRpY29uLWNvbW1vbi1jbGFzc30ge1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuXFxuICAgIEBlYWNoICRpY29uLCAkY29udGVudCBpbiBtYXAtZ2V0KCRfX2ljb25mb250X19kYXRhLCBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiKSB7XFxuICAgICAgJi4jeyRpY29uLXByZWZpeH0jeyRpY29ufTpiZWZvcmUge1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKFxcXCJpY29uZm9udC12dWUtODRjNDYxZi8jeyRpY29ufVxcXCIpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8qKlxcbiAqIGNvbG9yLXRleHQtbGlnaHRlclxcdFxcdG5vcm1hbCBzdGF0ZVxcbiAqIGNvbG9yLXRleHQtbGlnaHRlclxcdFxcdGFjdGl2ZSBzdGF0ZVxcbiAqIGNvbG9yLXRleHQtbWF4Y29udHJhc3QgXFx0ZGlzYWJsZWQgc3RhdGVcXG4gKi9cXG5cXG4vKiBEZWZhdWx0IGdsb2JhbCB2YWx1ZXMgKi9cXG5idXR0b24sXFxuaW5wdXQ6bm90KFt0eXBlPSdyYW5nZSddKSxcXG50ZXh0YXJlYSB7XFxuXFx0bWFyZ2luOiAwO1xcblxcdHBhZGRpbmc6IDdweCA2cHg7XFxuXFxuXFx0Y3Vyc29yOiB0ZXh0O1xcblxcblxcdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0ZXIpO1xcblxcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXJrKTtcXG5cXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcXG5cXHRvdXRsaW5lOiBub25lO1xcblxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuXFxuXFx0Zm9udC1zaXplOiAxM3B4O1xcblxcblxcdCY6bm90KDpkaXNhYmxlZCk6bm90KC5wcmltYXJ5KSB7XFxuXFx0XFx0Jjpob3ZlcixcXG5cXHRcXHQmOmZvY3VzLFxcblxcdFxcdCYuYWN0aXZlIHtcXG5cXHRcXHRcXHQvKiBhY3RpdmUgY2xhc3MgdXNlZCBmb3IgbXVsdGlzZWxlY3QgKi9cXG5cXHRcXHRcXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxuXFx0XFx0XFx0b3V0bGluZTogbm9uZTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0JjphY3RpdmUge1xcblxcdFxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTtcXG5cXHRcXHRcXHRvdXRsaW5lOiBub25lO1xcblxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQmOmRpc2FibGVkIHtcXG5cXHRcXHRjdXJzb3I6IGRlZmF1bHQ7XFxuXFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZGlzYWJsZWQ7XFxuXFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbWF4Y29udHJhc3QpO1xcblxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7XFxuXFx0fVxcblxcblxcdCY6cmVxdWlyZWQge1xcblxcdFxcdGJveC1zaGFkb3c6IG5vbmU7XFxuXFx0fVxcblxcblxcdCY6aW52YWxpZCB7XFxuXFx0XFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XFxuXFx0XFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xcblxcdH1cXG5cXG5cXHQvKiBQcmltYXJ5IGFjdGlvbiBidXR0b24sIHVzZSBzcGFyaW5nbHkgKi9cXG5cXHQmLnByaW1hcnkge1xcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcXG5cXHRcXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcXG5cXG5cXHRcXHQmOm5vdCg6ZGlzYWJsZWQpIHtcXG5cXHRcXHRcXHQmOmhvdmVyLFxcblxcdFxcdFxcdCY6Zm9jdXMsXFxuXFx0XFx0XFx0JjphY3RpdmUge1xcblxcdFxcdFxcdFxcdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50LWxpZ2h0KTtcXG5cXHRcXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQtbGlnaHQpO1xcblxcdFxcdFxcdH1cXG5cXHRcXHRcXHQmOmFjdGl2ZSB7XFxuXFx0XFx0XFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dC1kYXJrKTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcblxcdFxcdCY6ZGlzYWJsZWQge1xcblxcdFxcdFxcdGN1cnNvcjogZGVmYXVsdDtcXG5cXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0LWRhcmspO1xcblxcdFxcdFxcdC8vIG9wYWNpdHkgaXMgYWxyZWFkeSBkZWZpbmVkIHRvIC41IGlmIGRpc2FibGVkXFxuXFx0XFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG5AbWl4aW4gYWN0aW9uLWFjdGl2ZSB7XFxuXFx0bGkge1xcblxcdFxcdCYuYWN0aXZlIHtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cXG5AbWl4aW4gYWN0aW9uLS1kaXNhYmxlZCB7XFxuXFx0LmFjdGlvbi0tZGlzYWJsZWQge1xcblxcdFxcdHBvaW50ZXItZXZlbnRzOiBub25lO1xcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Rpc2FibGVkO1xcblxcdFxcdCY6aG92ZXIsICY6Zm9jdXMge1xcblxcdFxcdFxcdGN1cnNvcjogZGVmYXVsdDtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9kaXNhYmxlZDtcXG5cXHRcXHR9XFxuXFx0XFx0JiAqIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXFxuXFxuQG1peGluIGFjdGlvbi1pdGVtKCRuYW1lKSB7XFxuXFx0LmFjdGlvbi0jeyRuYW1lfSB7XFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG5cXG5cXHRcXHR3aWR0aDogMTAwJTtcXG5cXHRcXHRoZWlnaHQ6IGF1dG87XFxuXFx0XFx0bWFyZ2luOiAwO1xcblxcdFxcdHBhZGRpbmc6IDA7XFxuXFx0XFx0cGFkZGluZy1yaWdodDogJGljb24tbWFyZ2luO1xcblxcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRcXHRib3JkZXI6IDA7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogMDsgLy8gb3RoZXJ3aXNlIFNhZmFyaSB3aWxsIGN1dCB0aGUgYm9yZGVyLXJhZGl1cyBhcmVhXFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0Ym94LXNoYWRvdzogbm9uZTtcXG5cXG5cXHRcXHRmb250LXdlaWdodDogbm9ybWFsO1xcblxcdFxcdGZvbnQtc2l6ZTogdmFyKC0tZGVmYXVsdC1mb250LXNpemUpO1xcblxcdFxcdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFxuXFx0XFx0Jjpob3ZlcixcXG5cXHRcXHQmOmZvY3VzIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmID4gc3BhbiB7XFxuXFx0XFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0fVxcblxcblxcdFxcdCZfX2ljb24ge1xcblxcdFxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaWNvbi1tYXJnaW4gY2VudGVyO1xcblxcdFxcdFxcdGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZTtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQubWF0ZXJpYWwtZGVzaWduLWljb24ge1xcblxcdFxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXG5cXHRcXHRcXHQubWF0ZXJpYWwtZGVzaWduLWljb25fX3N2ZyB7XFxuXFx0XFx0XFx0XFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIGxvbmcgdGV4dCBhcmVhXFxuXFx0XFx0cCB7XFxuXFx0XFx0XFx0bWF4LXdpZHRoOiAyMjBweDtcXG5cXHRcXHRcXHRsaW5lLWhlaWdodDogMS42ZW07XFxuXFxuXFx0XFx0XFx0Ly8gMTRweCBhcmUgY3VycmVudGx5IDFlbSBsaW5lLWhlaWdodC4gTWl4aW5nIHVuaXRzIGFzICc0NHB4IC0gMS42ZW0nIGRvZXMgbm90IHdvcmsuXFxuXFx0XFx0XFx0cGFkZGluZzogI3soJGNsaWNrYWJsZS1hcmVhIC0gMS42KjE0cHgpIC8gMn0gMDtcXG5cXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0dGV4dC1hbGlnbjogbGVmdDtcXG5cXG5cXHRcXHRcXHQvLyBpbiBjYXNlIHRoZXJlIGFyZSBubyBzcGFjZXMgbGlrZSBsb25nIGVtYWlsIGFkZHJlc3Nlc1xcblxcdFxcdFxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0XFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0fVxcblxcblxcdFxcdCZfX2xvbmd0ZXh0IHtcXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0Ly8gYWxsb3cgdGhlIHVzZSBvZiBgXFxcXG5gXFxuXFx0XFx0XFx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmX190aXRsZSB7XFxuXFx0XFx0XFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XFxuXFx0XFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdFxcdFxcdG1heC13aWR0aDogMTAwJTtcXG5cXHRcXHRcXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKiBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxubGkuYWN0aXZlW2RhdGEtdi03Yjg1YjgwZl0ge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XFxufVxcbi5hY3Rpb24tbGlua1tkYXRhLXYtN2I4NWI4MGZdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBhdXRvO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG4gIHBhZGRpbmctcmlnaHQ6IDE0cHg7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgb3BhY2l0eTogMC43O1xcbiAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuICBib3JkZXI6IDA7XFxuICBib3JkZXItcmFkaXVzOiAwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3gtc2hhZG93OiBub25lO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc2l6ZTogdmFyKC0tZGVmYXVsdC1mb250LXNpemUpO1xcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XFxufVxcbi5hY3Rpb24tbGlua1tkYXRhLXYtN2I4NWI4MGZdOmhvdmVyLCAuYWN0aW9uLWxpbmtbZGF0YS12LTdiODViODBmXTpmb2N1cyB7XFxuICAgIG9wYWNpdHk6IDE7XFxufVxcbi5hY3Rpb24tbGluayA+IHNwYW5bZGF0YS12LTdiODViODBmXSB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG59XFxuLmFjdGlvbi1saW5rX19pY29uW2RhdGEtdi03Yjg1YjgwZl0ge1xcbiAgICB3aWR0aDogNDRweDtcXG4gICAgaGVpZ2h0OiA0NHB4O1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNHB4IGNlbnRlcjtcXG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbn1cXG4uYWN0aW9uLWxpbmsgLm1hdGVyaWFsLWRlc2lnbi1pY29uW2RhdGEtdi03Yjg1YjgwZl0ge1xcbiAgICB3aWR0aDogNDRweDtcXG4gICAgaGVpZ2h0OiA0NHB4O1xcbiAgICBvcGFjaXR5OiAxO1xcbn1cXG4uYWN0aW9uLWxpbmsgLm1hdGVyaWFsLWRlc2lnbi1pY29uIC5tYXRlcmlhbC1kZXNpZ24taWNvbl9fc3ZnW2RhdGEtdi03Yjg1YjgwZl0ge1xcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxufVxcbi5hY3Rpb24tbGluayBwW2RhdGEtdi03Yjg1YjgwZl0ge1xcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xcbiAgICBsaW5lLWhlaWdodDogMS42ZW07XFxuICAgIHBhZGRpbmc6IDEwLjhweCAwO1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIHRleHQtYWxpZ246IGxlZnQ7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbn1cXG4uYWN0aW9uLWxpbmtfX2xvbmd0ZXh0W2RhdGEtdi03Yjg1YjgwZl0ge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcXG59XFxuLmFjdGlvbi1saW5rX190aXRsZVtkYXRhLXYtN2I4NWI4MGZdIHtcXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQWN0aW9uTGluay52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL2FjdGlvbi5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUVyQkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRjJDRTtBRW5CRDtFQUVFLCtDQUErQztBQUFBO0FBcUJqRDtFQUNDLGFBQWE7RUFDYix1QkFBdUI7RUFFdkIsV0FBVztFQUNYLFlBQVk7RUFDWixTQUFTO0VBQ1QsVUFBVTtFQUNWLG1CRHRCOEM7RUN3QjlDLGVBQWU7RUFDZixtQkFBbUI7RUFFbkIsWURqQmlCO0VDa0JqQiw2QkFBNkI7RUFDN0IsU0FBUztFQUNULGdCQUFnQjtFQUNoQiw2QkFBNkI7RUFDN0IsZ0JBQWdCO0VBRWhCLG1CQUFtQjtFQUNuQixtQ0FBbUM7RUFDbkMsaUJENUNtQjtBQUFBO0FDc0JwQjtJQTBCRSxVRDdCYTtBQUFBO0FDR2Y7SUE4QkUsZUFBZTtJQUNmLG1CQUFtQjtBQUFBO0FBR3BCO0lBQ0MsV0R6RGtCO0lDMERsQixZRDFEa0I7SUMyRGxCLFVEeENhO0lDeUNiLGdDQUF3QztJQUN4QyxxQkR6RGE7SUMwRGIsNEJBQTRCO0FBQUE7QUF4QzlCO0lBNENFLFdEbEVrQjtJQ21FbEIsWURuRWtCO0lDb0VsQixVRGpEYTtBQUFBO0FDR2Y7TUFpREcsc0JBQXNCO0FBQUE7QUFqRHpCO0lBdURFLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFHbEIsaUJBQThDO0lBRTlDLGVBQWU7SUFDZixnQkFBZ0I7SUFHaEIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtBQUFBO0FBR3hCO0lBQ0MsZUFBZTtJQUVmLHFCQUFxQjtBQUFBO0FBR3RCO0lBQ0MsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixxQkFBcUI7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuQGltcG9ydCAnLi4vLi4vYXNzZXRzL2FjdGlvbic7XFxuQGluY2x1ZGUgYWN0aW9uLWFjdGl2ZTtcXG5AaW5jbHVkZSBhY3Rpb24taXRlbSgnbGluaycpO1xcblxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG5AbWl4aW4gYWN0aW9uLWFjdGl2ZSB7XFxuXFx0bGkge1xcblxcdFxcdCYuYWN0aXZlIHtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cXG5AbWl4aW4gYWN0aW9uLS1kaXNhYmxlZCB7XFxuXFx0LmFjdGlvbi0tZGlzYWJsZWQge1xcblxcdFxcdHBvaW50ZXItZXZlbnRzOiBub25lO1xcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Rpc2FibGVkO1xcblxcdFxcdCY6aG92ZXIsICY6Zm9jdXMge1xcblxcdFxcdFxcdGN1cnNvcjogZGVmYXVsdDtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9kaXNhYmxlZDtcXG5cXHRcXHR9XFxuXFx0XFx0JiAqIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXFxuXFxuQG1peGluIGFjdGlvbi1pdGVtKCRuYW1lKSB7XFxuXFx0LmFjdGlvbi0jeyRuYW1lfSB7XFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG5cXG5cXHRcXHR3aWR0aDogMTAwJTtcXG5cXHRcXHRoZWlnaHQ6IGF1dG87XFxuXFx0XFx0bWFyZ2luOiAwO1xcblxcdFxcdHBhZGRpbmc6IDA7XFxuXFx0XFx0cGFkZGluZy1yaWdodDogJGljb24tbWFyZ2luO1xcblxcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRcXHRib3JkZXI6IDA7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogMDsgLy8gb3RoZXJ3aXNlIFNhZmFyaSB3aWxsIGN1dCB0aGUgYm9yZGVyLXJhZGl1cyBhcmVhXFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0Ym94LXNoYWRvdzogbm9uZTtcXG5cXG5cXHRcXHRmb250LXdlaWdodDogbm9ybWFsO1xcblxcdFxcdGZvbnQtc2l6ZTogdmFyKC0tZGVmYXVsdC1mb250LXNpemUpO1xcblxcdFxcdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFxuXFx0XFx0Jjpob3ZlcixcXG5cXHRcXHQmOmZvY3VzIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmID4gc3BhbiB7XFxuXFx0XFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0fVxcblxcblxcdFxcdCZfX2ljb24ge1xcblxcdFxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaWNvbi1tYXJnaW4gY2VudGVyO1xcblxcdFxcdFxcdGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZTtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQubWF0ZXJpYWwtZGVzaWduLWljb24ge1xcblxcdFxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXG5cXHRcXHRcXHQubWF0ZXJpYWwtZGVzaWduLWljb25fX3N2ZyB7XFxuXFx0XFx0XFx0XFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIGxvbmcgdGV4dCBhcmVhXFxuXFx0XFx0cCB7XFxuXFx0XFx0XFx0bWF4LXdpZHRoOiAyMjBweDtcXG5cXHRcXHRcXHRsaW5lLWhlaWdodDogMS42ZW07XFxuXFxuXFx0XFx0XFx0Ly8gMTRweCBhcmUgY3VycmVudGx5IDFlbSBsaW5lLWhlaWdodC4gTWl4aW5nIHVuaXRzIGFzICc0NHB4IC0gMS42ZW0nIGRvZXMgbm90IHdvcmsuXFxuXFx0XFx0XFx0cGFkZGluZzogI3soJGNsaWNrYWJsZS1hcmVhIC0gMS42KjE0cHgpIC8gMn0gMDtcXG5cXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0dGV4dC1hbGlnbjogbGVmdDtcXG5cXG5cXHRcXHRcXHQvLyBpbiBjYXNlIHRoZXJlIGFyZSBubyBzcGFjZXMgbGlrZSBsb25nIGVtYWlsIGFkZHJlc3Nlc1xcblxcdFxcdFxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0XFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0fVxcblxcblxcdFxcdCZfX2xvbmd0ZXh0IHtcXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0Ly8gYWxsb3cgdGhlIHVzZSBvZiBgXFxcXG5gXFxuXFx0XFx0XFx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmX190aXRsZSB7XFxuXFx0XFx0XFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XFxuXFx0XFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdFxcdFxcdG1heC13aWR0aDogMTAwJTtcXG5cXHRcXHRcXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKiBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxubGkuYWN0aXZlW2RhdGEtdi0wMzFiM2ZjYV0ge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XFxufVxcbi5hY3Rpb24tLWRpc2FibGVkW2RhdGEtdi0wMzFiM2ZjYV0ge1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICBvcGFjaXR5OiAwLjU7XFxufVxcbi5hY3Rpb24tLWRpc2FibGVkW2RhdGEtdi0wMzFiM2ZjYV06aG92ZXIsIC5hY3Rpb24tLWRpc2FibGVkW2RhdGEtdi0wMzFiM2ZjYV06Zm9jdXMge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIG9wYWNpdHk6IDAuNTtcXG59XFxuLmFjdGlvbi0tZGlzYWJsZWQgKltkYXRhLXYtMDMxYjNmY2FdIHtcXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xcbn1cXG4uYWN0aW9uLXJhZGlvW2RhdGEtdi0wMzFiM2ZjYV0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcbiAgYm9yZGVyOiAwO1xcbiAgYm9yZGVyLXJhZGl1czogMDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBsaW5lLWhlaWdodDogNDRweDtcXG4gIC8qIGNoZWNrYm94L3JhZGlvIGZpeGVzICovXFxufVxcbi5hY3Rpb24tcmFkaW9fX3JhZGlvW2RhdGEtdi0wMzFiM2ZjYV0ge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRvcDogYXV0bztcXG4gICAgbGVmdDogLTEwMDAwcHg7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIHdpZHRoOiAxcHg7XFxuICAgIGhlaWdodDogMXB4O1xcbn1cXG4uYWN0aW9uLXJhZGlvX19yYWRpbzpmb2N1cyArIC5hY3Rpb24tcmFkaW9fX2xhYmVsW2RhdGEtdi0wMzFiM2ZjYV0ge1xcbiAgICAgIG9wYWNpdHk6IDE7XFxufVxcbi5hY3Rpb24tcmFkaW9fX2xhYmVsW2RhdGEtdi0wMzFiM2ZjYV0ge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNHB4ICFpbXBvcnRhbnQ7XFxuICAgIG9wYWNpdHk6IDAuNztcXG59XFxuLmFjdGlvbi1yYWRpb19fbGFiZWxbZGF0YS12LTAzMWIzZmNhXTo6YmVmb3JlIHtcXG4gICAgICBtYXJnaW46IDAgMTRweCAwICFpbXBvcnRhbnQ7XFxufVxcbi5hY3Rpb24tcmFkaW8tLWRpc2FibGVkW2RhdGEtdi0wMzFiM2ZjYV0sXFxuICAuYWN0aW9uLXJhZGlvLS1kaXNhYmxlZCAuYWN0aW9uLXJhZGlvX19sYWJlbFtkYXRhLXYtMDMxYjNmY2FdIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4uYWN0aW9uLXJhZGlvOm5vdCguYWN0aW9uLXJhZGlvLS1kaXNhYmxlZCk6aG92ZXIgLmFjdGlvbi1yYWRpb19fbGFiZWxbZGF0YS12LTAzMWIzZmNhXSwgLmFjdGlvbi1yYWRpbzpub3QoLmFjdGlvbi1yYWRpby0tZGlzYWJsZWQpOmZvY3VzIC5hY3Rpb24tcmFkaW9fX2xhYmVsW2RhdGEtdi0wMzFiM2ZjYV0ge1xcbiAgICBvcGFjaXR5OiAxO1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9BY3Rpb25SYWRpby52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL2FjdGlvbi5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUVyQkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRjJDRTtBRW5CRDtFQUVFLCtDQUErQztBQUFBO0FBTWpEO0VBQ0Msb0JBQW9CO0VBQ3BCLFlEUW1CO0FBQUE7QUNWcEI7SUFJRSxlQUFlO0lBQ2YsWURLa0I7QUFBQTtBQ1ZwQjtJQVFFLHFCQUFxQjtBQUFBO0FGZ0h4QjtFQUNDLGFBQWE7RUFDYix1QkFBdUI7RUFFdkIsV0FBVztFQUNYLFlBQVk7RUFDWixTQUFTO0VBQ1QsVUFBVTtFQUVWLGVBQWU7RUFDZixtQkFBbUI7RUFFbkIsNkJBQTZCO0VBQzdCLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsNkJBQTZCO0VBQzdCLGdCQUFnQjtFQUVoQixtQkFBbUI7RUFDbkIsaUJDbEpvQjtFRG9KcEIseUJBQUE7QUFBMEI7QUFDMUI7SUFDQyxrQkFBa0I7SUFDbEIsU0FBUztJQUNULGNBQWM7SUFFZCxnQkFBZ0I7SUFFaEIsVUFBVTtJQUNWLFdBQVc7QUFBQTtBQVJYO01BVUMsVUM1SWE7QUFBQTtBRGdKZjtJQUNDLGFBQWE7SUFDYixtQkFBbUI7SUFFbkIsV0FBVztJQUNYLHFCQUFxQjtJQUNyQiw4QkFBc0M7SUFFdEMsWUN6SmlCO0FBQUE7QURpSmpCO01BWUMsMkJBQTJCO0FBQUE7QUFJNUI7O0lBR0MsZUFBZTtBQUFBO0FBdkRsQjtJQThERyxVQzFLYTtBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5AaW1wb3J0ICcuLi8uLi9hc3NldHMvYWN0aW9uJztcXG5AaW5jbHVkZSBhY3Rpb24tYWN0aXZlO1xcbkBpbmNsdWRlIGFjdGlvbi0tZGlzYWJsZWQ7XFxuXFxuLmFjdGlvbi1yYWRpbyB7XFxuXFx0ZGlzcGxheTogZmxleDtcXG5cXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG5cXG5cXHR3aWR0aDogMTAwJTtcXG5cXHRoZWlnaHQ6IGF1dG87XFxuXFx0bWFyZ2luOiAwO1xcblxcdHBhZGRpbmc6IDA7XFxuXFxuXFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFxuXFx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuXFx0Ym9yZGVyOiAwO1xcblxcdGJvcmRlci1yYWRpdXM6IDA7IC8vIG90aGVyd2lzZSBTYWZhcmkgd2lsbCBjdXQgdGhlIGJvcmRlci1yYWRpdXMgYXJlYVxcblxcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdGJveC1zaGFkb3c6IG5vbmU7XFxuXFxuXFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcXG5cXHRsaW5lLWhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcblxcdC8qIGNoZWNrYm94L3JhZGlvIGZpeGVzICovXFxuXFx0Jl9fcmFkaW8ge1xcblxcdFxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHRcXHR0b3A6IGF1dG87XFxuXFx0XFx0bGVmdDogLTEwMDAwcHg7XFxuXFxuXFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXG5cXHRcXHR3aWR0aDogMXB4O1xcblxcdFxcdGhlaWdodDogMXB4O1xcblxcdFxcdCY6Zm9jdXMgKyAuYWN0aW9uLXJhZGlvX19sYWJlbCB7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdCZfX2xhYmVsIHtcXG5cXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIGFsaWduIHJhZGlvIHRvIHRleHRcXG5cXG5cXHRcXHR3aWR0aDogMTAwJTtcXG5cXHRcXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XFxuXFx0XFx0cGFkZGluZy1yaWdodDogJGljb24tbWFyZ2luICFpbXBvcnRhbnQ7XFxuXFxuXFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfbm9ybWFsO1xcblxcdFxcdC8vIHJhZGlvLXdpZHRoIGlzIDEycHgsIGJvcmRlciBpcyAyXFxuXFx0XFx0Ly8gKDQ0IC0gMTQgLSAyKSAvIDIgPSAxNFxcblxcdFxcdCY6OmJlZm9yZSB7XFxuXFx0XFx0XFx0bWFyZ2luOiAwIDE0cHggMCAhaW1wb3J0YW50O1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Ji0tZGlzYWJsZWQge1xcblxcdFxcdCYsXFxuXFx0XFx0LmFjdGlvbi1yYWRpb19fbGFiZWwge1xcblxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdCY6bm90KC5hY3Rpb24tcmFkaW8tLWRpc2FibGVkKTpob3ZlcixcXG5cXHQmOm5vdCguYWN0aW9uLXJhZGlvLS1kaXNhYmxlZCk6Zm9jdXMge1xcblxcdFxcdC5hY3Rpb24tcmFkaW9fX2xhYmVsIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdH1cXG5cXHR9XFxufVxcblxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG5AbWl4aW4gYWN0aW9uLWFjdGl2ZSB7XFxuXFx0bGkge1xcblxcdFxcdCYuYWN0aXZlIHtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cXG5AbWl4aW4gYWN0aW9uLS1kaXNhYmxlZCB7XFxuXFx0LmFjdGlvbi0tZGlzYWJsZWQge1xcblxcdFxcdHBvaW50ZXItZXZlbnRzOiBub25lO1xcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Rpc2FibGVkO1xcblxcdFxcdCY6aG92ZXIsICY6Zm9jdXMge1xcblxcdFxcdFxcdGN1cnNvcjogZGVmYXVsdDtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9kaXNhYmxlZDtcXG5cXHRcXHR9XFxuXFx0XFx0JiAqIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXFxuXFxuQG1peGluIGFjdGlvbi1pdGVtKCRuYW1lKSB7XFxuXFx0LmFjdGlvbi0jeyRuYW1lfSB7XFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG5cXG5cXHRcXHR3aWR0aDogMTAwJTtcXG5cXHRcXHRoZWlnaHQ6IGF1dG87XFxuXFx0XFx0bWFyZ2luOiAwO1xcblxcdFxcdHBhZGRpbmc6IDA7XFxuXFx0XFx0cGFkZGluZy1yaWdodDogJGljb24tbWFyZ2luO1xcblxcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRcXHRib3JkZXI6IDA7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogMDsgLy8gb3RoZXJ3aXNlIFNhZmFyaSB3aWxsIGN1dCB0aGUgYm9yZGVyLXJhZGl1cyBhcmVhXFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0Ym94LXNoYWRvdzogbm9uZTtcXG5cXG5cXHRcXHRmb250LXdlaWdodDogbm9ybWFsO1xcblxcdFxcdGZvbnQtc2l6ZTogdmFyKC0tZGVmYXVsdC1mb250LXNpemUpO1xcblxcdFxcdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFxuXFx0XFx0Jjpob3ZlcixcXG5cXHRcXHQmOmZvY3VzIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmID4gc3BhbiB7XFxuXFx0XFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0fVxcblxcblxcdFxcdCZfX2ljb24ge1xcblxcdFxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaWNvbi1tYXJnaW4gY2VudGVyO1xcblxcdFxcdFxcdGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZTtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQubWF0ZXJpYWwtZGVzaWduLWljb24ge1xcblxcdFxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXG5cXHRcXHRcXHQubWF0ZXJpYWwtZGVzaWduLWljb25fX3N2ZyB7XFxuXFx0XFx0XFx0XFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIGxvbmcgdGV4dCBhcmVhXFxuXFx0XFx0cCB7XFxuXFx0XFx0XFx0bWF4LXdpZHRoOiAyMjBweDtcXG5cXHRcXHRcXHRsaW5lLWhlaWdodDogMS42ZW07XFxuXFxuXFx0XFx0XFx0Ly8gMTRweCBhcmUgY3VycmVudGx5IDFlbSBsaW5lLWhlaWdodC4gTWl4aW5nIHVuaXRzIGFzICc0NHB4IC0gMS42ZW0nIGRvZXMgbm90IHdvcmsuXFxuXFx0XFx0XFx0cGFkZGluZzogI3soJGNsaWNrYWJsZS1hcmVhIC0gMS42KjE0cHgpIC8gMn0gMDtcXG5cXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0dGV4dC1hbGlnbjogbGVmdDtcXG5cXG5cXHRcXHRcXHQvLyBpbiBjYXNlIHRoZXJlIGFyZSBubyBzcGFjZXMgbGlrZSBsb25nIGVtYWlsIGFkZHJlc3Nlc1xcblxcdFxcdFxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0XFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0fVxcblxcblxcdFxcdCZfX2xvbmd0ZXh0IHtcXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0Ly8gYWxsb3cgdGhlIHVzZSBvZiBgXFxcXG5gXFxuXFx0XFx0XFx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmX190aXRsZSB7XFxuXFx0XFx0XFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XFxuXFx0XFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdFxcdFxcdG1heC13aWR0aDogMTAwJTtcXG5cXHRcXHRcXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKiBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxubGkuYWN0aXZlW2RhdGEtdi0zYTZmZWVhMl0ge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XFxufVxcbi5hY3Rpb24tcm91dGVyW2RhdGEtdi0zYTZmZWVhMl0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbiAgcGFkZGluZy1yaWdodDogMTRweDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBvcGFjaXR5OiAwLjc7XFxuICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG4gIGJvcmRlcjogMDtcXG4gIGJvcmRlci1yYWRpdXM6IDA7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zaXplOiB2YXIoLS1kZWZhdWx0LWZvbnQtc2l6ZSk7XFxuICBsaW5lLWhlaWdodDogNDRweDtcXG59XFxuLmFjdGlvbi1yb3V0ZXJbZGF0YS12LTNhNmZlZWEyXTpob3ZlciwgLmFjdGlvbi1yb3V0ZXJbZGF0YS12LTNhNmZlZWEyXTpmb2N1cyB7XFxuICAgIG9wYWNpdHk6IDE7XFxufVxcbi5hY3Rpb24tcm91dGVyID4gc3BhbltkYXRhLXYtM2E2ZmVlYTJdIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbn1cXG4uYWN0aW9uLXJvdXRlcl9faWNvbltkYXRhLXYtM2E2ZmVlYTJdIHtcXG4gICAgd2lkdGg6IDQ0cHg7XFxuICAgIGhlaWdodDogNDRweDtcXG4gICAgb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTRweCBjZW50ZXI7XFxuICAgIGJhY2tncm91bmQtc2l6ZTogMTZweDtcXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG59XFxuLmFjdGlvbi1yb3V0ZXIgLm1hdGVyaWFsLWRlc2lnbi1pY29uW2RhdGEtdi0zYTZmZWVhMl0ge1xcbiAgICB3aWR0aDogNDRweDtcXG4gICAgaGVpZ2h0OiA0NHB4O1xcbiAgICBvcGFjaXR5OiAxO1xcbn1cXG4uYWN0aW9uLXJvdXRlciAubWF0ZXJpYWwtZGVzaWduLWljb24gLm1hdGVyaWFsLWRlc2lnbi1pY29uX19zdmdbZGF0YS12LTNhNmZlZWEyXSB7XFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG59XFxuLmFjdGlvbi1yb3V0ZXIgcFtkYXRhLXYtM2E2ZmVlYTJdIHtcXG4gICAgbWF4LXdpZHRoOiAyMjBweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xcbiAgICBwYWRkaW5nOiAxMC44cHggMDtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG59XFxuLmFjdGlvbi1yb3V0ZXJfX2xvbmd0ZXh0W2RhdGEtdi0zYTZmZWVhMl0ge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcXG59XFxuLmFjdGlvbi1yb3V0ZXJfX3RpdGxlW2RhdGEtdi0zYTZmZWVhMl0ge1xcbiAgICBmb250LXdlaWdodDogYm9sZDtcXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICAgIG1heC13aWR0aDogMTAwJTtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uYWN0aW9uLS1kaXNhYmxlZFtkYXRhLXYtM2E2ZmVlYTJdIHtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgb3BhY2l0eTogMC41O1xcbn1cXG4uYWN0aW9uLS1kaXNhYmxlZFtkYXRhLXYtM2E2ZmVlYTJdOmhvdmVyLCAuYWN0aW9uLS1kaXNhYmxlZFtkYXRhLXYtM2E2ZmVlYTJdOmZvY3VzIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBvcGFjaXR5OiAwLjU7XFxufVxcbi5hY3Rpb24tLWRpc2FibGVkICpbZGF0YS12LTNhNmZlZWEyXSB7XFxuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQWN0aW9uUm91dGVyLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvYWN0aW9uLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBRXJCRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VGMkNFO0FFbkJEO0VBRUUsK0NBQStDO0FBQUE7QUFxQmpEO0VBQ0MsYUFBYTtFQUNiLHVCQUF1QjtFQUV2QixXQUFXO0VBQ1gsWUFBWTtFQUNaLFNBQVM7RUFDVCxVQUFVO0VBQ1YsbUJEdEI4QztFQ3dCOUMsZUFBZTtFQUNmLG1CQUFtQjtFQUVuQixZRGpCaUI7RUNrQmpCLDZCQUE2QjtFQUM3QixTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLDZCQUE2QjtFQUM3QixnQkFBZ0I7RUFFaEIsbUJBQW1CO0VBQ25CLG1DQUFtQztFQUNuQyxpQkQ1Q21CO0FBQUE7QUNzQnBCO0lBMEJFLFVEN0JhO0FBQUE7QUNHZjtJQThCRSxlQUFlO0lBQ2YsbUJBQW1CO0FBQUE7QUFHcEI7SUFDQyxXRHpEa0I7SUMwRGxCLFlEMURrQjtJQzJEbEIsVUR4Q2E7SUN5Q2IsZ0NBQXdDO0lBQ3hDLHFCRHpEYTtJQzBEYiw0QkFBNEI7QUFBQTtBQXhDOUI7SUE0Q0UsV0RsRWtCO0lDbUVsQixZRG5Fa0I7SUNvRWxCLFVEakRhO0FBQUE7QUNHZjtNQWlERyxzQkFBc0I7QUFBQTtBQWpEekI7SUF1REUsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUdsQixpQkFBOEM7SUFFOUMsZUFBZTtJQUNmLGdCQUFnQjtJQUdoQixnQkFBZ0I7SUFDaEIsdUJBQXVCO0FBQUE7QUFHeEI7SUFDQyxlQUFlO0lBRWYscUJBQXFCO0FBQUE7QUFHdEI7SUFDQyxpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLHFCQUFxQjtBQUFBO0FBaEd2QjtFQUNDLG9CQUFvQjtFQUNwQixZRFFtQjtBQUFBO0FDVnBCO0lBSUUsZUFBZTtJQUNmLFlES2tCO0FBQUE7QUNWcEI7SUFRRSxxQkFBcUI7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuQGltcG9ydCAnLi4vLi4vYXNzZXRzL2FjdGlvbic7XFxuQGluY2x1ZGUgYWN0aW9uLWFjdGl2ZTtcXG5AaW5jbHVkZSBhY3Rpb24taXRlbSgncm91dGVyJyk7XFxuQGluY2x1ZGUgYWN0aW9uLS1kaXNhYmxlZDtcXG5cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKiBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuQG1peGluIGFjdGlvbi1hY3RpdmUge1xcblxcdGxpIHtcXG5cXHRcXHQmLmFjdGl2ZSB7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXFxuQG1peGluIGFjdGlvbi0tZGlzYWJsZWQge1xcblxcdC5hY3Rpb24tLWRpc2FibGVkIHtcXG5cXHRcXHRwb2ludGVyLWV2ZW50czogbm9uZTtcXG5cXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9kaXNhYmxlZDtcXG5cXHRcXHQmOmhvdmVyLCAmOmZvY3VzIHtcXG5cXHRcXHRcXHRjdXJzb3I6IGRlZmF1bHQ7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZGlzYWJsZWQ7XFxuXFx0XFx0fVxcblxcdFxcdCYgKiB7XFxuXFx0XFx0XFx0b3BhY2l0eTogMSAhaW1wb3J0YW50O1xcblxcdFxcdH1cXG5cXHR9XFxufVxcblxcblxcbkBtaXhpbiBhY3Rpb24taXRlbSgkbmFtZSkge1xcblxcdC5hY3Rpb24tI3skbmFtZX0ge1xcblxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XFxuXFxuXFx0XFx0d2lkdGg6IDEwMCU7XFxuXFx0XFx0aGVpZ2h0OiBhdXRvO1xcblxcdFxcdG1hcmdpbjogMDtcXG5cXHRcXHRwYWRkaW5nOiAwO1xcblxcdFxcdHBhZGRpbmctcmlnaHQ6ICRpY29uLW1hcmdpbjtcXG5cXG5cXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXG5cXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuXFx0XFx0Ym9yZGVyOiAwO1xcblxcdFxcdGJvcmRlci1yYWRpdXM6IDA7IC8vIG90aGVyd2lzZSBTYWZhcmkgd2lsbCBjdXQgdGhlIGJvcmRlci1yYWRpdXMgYXJlYVxcblxcdFxcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdFxcdGJveC1zaGFkb3c6IG5vbmU7XFxuXFxuXFx0XFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcXG5cXHRcXHRmb250LXNpemU6IHZhcigtLWRlZmF1bHQtZm9udC1zaXplKTtcXG5cXHRcXHRsaW5lLWhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcblxcdFxcdCY6aG92ZXIsXFxuXFx0XFx0Jjpmb2N1cyB7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0JiA+IHNwYW4ge1xcblxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmX19pY29uIHtcXG5cXHRcXHRcXHR3aWR0aDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdGhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1wb3NpdGlvbjogJGljb24tbWFyZ2luIGNlbnRlcjtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXNpemU6ICRpY29uLXNpemU7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Lm1hdGVyaWFsLWRlc2lnbi1pY29uIHtcXG5cXHRcXHRcXHR3aWR0aDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdGhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XFxuXFxuXFx0XFx0XFx0Lm1hdGVyaWFsLWRlc2lnbi1pY29uX19zdmcge1xcblxcdFxcdFxcdFxcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXG5cXHRcXHQvLyBsb25nIHRleHQgYXJlYVxcblxcdFxcdHAge1xcblxcdFxcdFxcdG1heC13aWR0aDogMjIwcHg7XFxuXFx0XFx0XFx0bGluZS1oZWlnaHQ6IDEuNmVtO1xcblxcblxcdFxcdFxcdC8vIDE0cHggYXJlIGN1cnJlbnRseSAxZW0gbGluZS1oZWlnaHQuIE1peGluZyB1bml0cyBhcyAnNDRweCAtIDEuNmVtJyBkb2VzIG5vdCB3b3JrLlxcblxcdFxcdFxcdHBhZGRpbmc6ICN7KCRjbGlja2FibGUtYXJlYSAtIDEuNioxNHB4KSAvIDJ9IDA7XFxuXFxuXFx0XFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdFxcdHRleHQtYWxpZ246IGxlZnQ7XFxuXFxuXFx0XFx0XFx0Ly8gaW4gY2FzZSB0aGVyZSBhcmUgbm8gc3BhY2VzIGxpa2UgbG9uZyBlbWFpbCBhZGRyZXNzZXNcXG5cXHRcXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdFxcdFxcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmX19sb25ndGV4dCB7XFxuXFx0XFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdFxcdC8vIGFsbG93IHRoZSB1c2Ugb2YgYFxcXFxuYFxcblxcdFxcdFxcdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Jl9fdGl0bGUge1xcblxcdFxcdFxcdGZvbnQtd2VpZ2h0OiBib2xkO1xcblxcdFxcdFxcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcblxcdFxcdFxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0XFx0XFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHRcXHRcXHRtYXgtd2lkdGg6IDEwMCU7XFxuXFx0XFx0XFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xcblxcdFxcdH1cXG5cXHR9XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuLmFjdGlvbi1zZXBhcmF0b3JbZGF0YS12LTY0YWMzYTIyXSB7XFxuICBoZWlnaHQ6IDA7XFxuICBtYXJnaW46IDVweCAxMHB4IDVweCAxNXB4O1xcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXJrKTtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQWN0aW9uU2VwYXJhdG9yLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUFnQkY7RUFDQyxTQUFTO0VBQ1QseUJBQXlCO0VBQ3pCLGlEQUFpRDtFQUNqRCxlQUFlO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbi5hY3Rpb24tc2VwYXJhdG9yIHtcXG5cXHRoZWlnaHQ6IDA7XFxuXFx0bWFyZ2luOiA1cHggMTBweCA1cHggMTVweDtcXG5cXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xcblxcdGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICogQGF1dGhvciBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbmxpLmFjdGl2ZVtkYXRhLXYtNjg1NDdhMmZdIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xcbn1cXG4uYWN0aW9uLXRleHRbZGF0YS12LTY4NTQ3YTJmXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNHB4O1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIG9wYWNpdHk6IDAuNztcXG4gIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcbiAgYm9yZGVyOiAwO1xcbiAgYm9yZGVyLXJhZGl1czogMDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXNpemU6IHZhcigtLWRlZmF1bHQtZm9udC1zaXplKTtcXG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xcbn1cXG4uYWN0aW9uLXRleHRbZGF0YS12LTY4NTQ3YTJmXTpob3ZlciwgLmFjdGlvbi10ZXh0W2RhdGEtdi02ODU0N2EyZl06Zm9jdXMge1xcbiAgICBvcGFjaXR5OiAxO1xcbn1cXG4uYWN0aW9uLXRleHQgPiBzcGFuW2RhdGEtdi02ODU0N2EyZl0ge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxufVxcbi5hY3Rpb24tdGV4dF9faWNvbltkYXRhLXYtNjg1NDdhMmZdIHtcXG4gICAgd2lkdGg6IDQ0cHg7XFxuICAgIGhlaWdodDogNDRweDtcXG4gICAgb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTRweCBjZW50ZXI7XFxuICAgIGJhY2tncm91bmQtc2l6ZTogMTZweDtcXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG59XFxuLmFjdGlvbi10ZXh0IC5tYXRlcmlhbC1kZXNpZ24taWNvbltkYXRhLXYtNjg1NDdhMmZdIHtcXG4gICAgd2lkdGg6IDQ0cHg7XFxuICAgIGhlaWdodDogNDRweDtcXG4gICAgb3BhY2l0eTogMTtcXG59XFxuLmFjdGlvbi10ZXh0IC5tYXRlcmlhbC1kZXNpZ24taWNvbiAubWF0ZXJpYWwtZGVzaWduLWljb25fX3N2Z1tkYXRhLXYtNjg1NDdhMmZdIHtcXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbn1cXG4uYWN0aW9uLXRleHQgcFtkYXRhLXYtNjg1NDdhMmZdIHtcXG4gICAgbWF4LXdpZHRoOiAyMjBweDtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xcbiAgICBwYWRkaW5nOiAxMC44cHggMDtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG59XFxuLmFjdGlvbi10ZXh0X19sb25ndGV4dFtkYXRhLXYtNjg1NDdhMmZdIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XFxufVxcbi5hY3Rpb24tdGV4dF9fdGl0bGVbZGF0YS12LTY4NTQ3YTJmXSB7XFxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5hY3Rpb24tLWRpc2FibGVkW2RhdGEtdi02ODU0N2EyZl0ge1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICBvcGFjaXR5OiAwLjU7XFxufVxcbi5hY3Rpb24tLWRpc2FibGVkW2RhdGEtdi02ODU0N2EyZl06aG92ZXIsIC5hY3Rpb24tLWRpc2FibGVkW2RhdGEtdi02ODU0N2EyZl06Zm9jdXMge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIG9wYWNpdHk6IDAuNTtcXG59XFxuLmFjdGlvbi0tZGlzYWJsZWQgKltkYXRhLXYtNjg1NDdhMmZdIHtcXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xcbn1cXG4uYWN0aW9uLXRleHRbZGF0YS12LTY4NTQ3YTJmXSxcXG4uYWN0aW9uLXRleHQgc3BhbltkYXRhLXYtNjg1NDdhMmZdIHtcXG4gIGN1cnNvcjogZGVmYXVsdDtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQWN0aW9uVGV4dC52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL2FjdGlvbi5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUVyQkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRjJDRTtBRW5CRDtFQUVFLCtDQUErQztBQUFBO0FBcUJqRDtFQUNDLGFBQWE7RUFDYix1QkFBdUI7RUFFdkIsV0FBVztFQUNYLFlBQVk7RUFDWixTQUFTO0VBQ1QsVUFBVTtFQUNWLG1CRHRCOEM7RUN3QjlDLGVBQWU7RUFDZixtQkFBbUI7RUFFbkIsWURqQmlCO0VDa0JqQiw2QkFBNkI7RUFDN0IsU0FBUztFQUNULGdCQUFnQjtFQUNoQiw2QkFBNkI7RUFDN0IsZ0JBQWdCO0VBRWhCLG1CQUFtQjtFQUNuQixtQ0FBbUM7RUFDbkMsaUJENUNtQjtBQUFBO0FDc0JwQjtJQTBCRSxVRDdCYTtBQUFBO0FDR2Y7SUE4QkUsZUFBZTtJQUNmLG1CQUFtQjtBQUFBO0FBR3BCO0lBQ0MsV0R6RGtCO0lDMERsQixZRDFEa0I7SUMyRGxCLFVEeENhO0lDeUNiLGdDQUF3QztJQUN4QyxxQkR6RGE7SUMwRGIsNEJBQTRCO0FBQUE7QUF4QzlCO0lBNENFLFdEbEVrQjtJQ21FbEIsWURuRWtCO0lDb0VsQixVRGpEYTtBQUFBO0FDR2Y7TUFpREcsc0JBQXNCO0FBQUE7QUFqRHpCO0lBdURFLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFHbEIsaUJBQThDO0lBRTlDLGVBQWU7SUFDZixnQkFBZ0I7SUFHaEIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtBQUFBO0FBR3hCO0lBQ0MsZUFBZTtJQUVmLHFCQUFxQjtBQUFBO0FBR3RCO0lBQ0MsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixxQkFBcUI7QUFBQTtBQWhHdkI7RUFDQyxvQkFBb0I7RUFDcEIsWURRbUI7QUFBQTtBQ1ZwQjtJQUlFLGVBQWU7SUFDZixZREtrQjtBQUFBO0FDVnBCO0lBUUUscUJBQXFCO0FBQUE7QUZ5Q3hCOztFQUdFLGVBQWU7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuQGltcG9ydCAnLi4vLi4vYXNzZXRzL2FjdGlvbic7XFxuQGluY2x1ZGUgYWN0aW9uLWFjdGl2ZTtcXG5AaW5jbHVkZSBhY3Rpb24taXRlbSgndGV4dCcpO1xcbkBpbmNsdWRlIGFjdGlvbi0tZGlzYWJsZWQ7XFxuXFxuLmFjdGlvbi10ZXh0IHtcXG5cXHQmLFxcblxcdHNwYW4ge1xcblxcdFxcdGN1cnNvcjogZGVmYXVsdDtcXG5cXHR9XFxufVxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG5AbWl4aW4gYWN0aW9uLWFjdGl2ZSB7XFxuXFx0bGkge1xcblxcdFxcdCYuYWN0aXZlIHtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cXG5AbWl4aW4gYWN0aW9uLS1kaXNhYmxlZCB7XFxuXFx0LmFjdGlvbi0tZGlzYWJsZWQge1xcblxcdFxcdHBvaW50ZXItZXZlbnRzOiBub25lO1xcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Rpc2FibGVkO1xcblxcdFxcdCY6aG92ZXIsICY6Zm9jdXMge1xcblxcdFxcdFxcdGN1cnNvcjogZGVmYXVsdDtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9kaXNhYmxlZDtcXG5cXHRcXHR9XFxuXFx0XFx0JiAqIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXFxuXFxuQG1peGluIGFjdGlvbi1pdGVtKCRuYW1lKSB7XFxuXFx0LmFjdGlvbi0jeyRuYW1lfSB7XFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG5cXG5cXHRcXHR3aWR0aDogMTAwJTtcXG5cXHRcXHRoZWlnaHQ6IGF1dG87XFxuXFx0XFx0bWFyZ2luOiAwO1xcblxcdFxcdHBhZGRpbmc6IDA7XFxuXFx0XFx0cGFkZGluZy1yaWdodDogJGljb24tbWFyZ2luO1xcblxcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRcXHRib3JkZXI6IDA7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogMDsgLy8gb3RoZXJ3aXNlIFNhZmFyaSB3aWxsIGN1dCB0aGUgYm9yZGVyLXJhZGl1cyBhcmVhXFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0Ym94LXNoYWRvdzogbm9uZTtcXG5cXG5cXHRcXHRmb250LXdlaWdodDogbm9ybWFsO1xcblxcdFxcdGZvbnQtc2l6ZTogdmFyKC0tZGVmYXVsdC1mb250LXNpemUpO1xcblxcdFxcdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFxuXFx0XFx0Jjpob3ZlcixcXG5cXHRcXHQmOmZvY3VzIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmID4gc3BhbiB7XFxuXFx0XFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0fVxcblxcblxcdFxcdCZfX2ljb24ge1xcblxcdFxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaWNvbi1tYXJnaW4gY2VudGVyO1xcblxcdFxcdFxcdGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZTtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQubWF0ZXJpYWwtZGVzaWduLWljb24ge1xcblxcdFxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXG5cXHRcXHRcXHQubWF0ZXJpYWwtZGVzaWduLWljb25fX3N2ZyB7XFxuXFx0XFx0XFx0XFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIGxvbmcgdGV4dCBhcmVhXFxuXFx0XFx0cCB7XFxuXFx0XFx0XFx0bWF4LXdpZHRoOiAyMjBweDtcXG5cXHRcXHRcXHRsaW5lLWhlaWdodDogMS42ZW07XFxuXFxuXFx0XFx0XFx0Ly8gMTRweCBhcmUgY3VycmVudGx5IDFlbSBsaW5lLWhlaWdodC4gTWl4aW5nIHVuaXRzIGFzICc0NHB4IC0gMS42ZW0nIGRvZXMgbm90IHdvcmsuXFxuXFx0XFx0XFx0cGFkZGluZzogI3soJGNsaWNrYWJsZS1hcmVhIC0gMS42KjE0cHgpIC8gMn0gMDtcXG5cXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0dGV4dC1hbGlnbjogbGVmdDtcXG5cXG5cXHRcXHRcXHQvLyBpbiBjYXNlIHRoZXJlIGFyZSBubyBzcGFjZXMgbGlrZSBsb25nIGVtYWlsIGFkZHJlc3Nlc1xcblxcdFxcdFxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0XFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0fVxcblxcblxcdFxcdCZfX2xvbmd0ZXh0IHtcXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0Ly8gYWxsb3cgdGhlIHVzZSBvZiBgXFxcXG5gXFxuXFx0XFx0XFx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmX190aXRsZSB7XFxuXFx0XFx0XFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XFxuXFx0XFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdFxcdFxcdG1heC13aWR0aDogMTAwJTtcXG5cXHRcXHRcXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9nZXRVcmwuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMF9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYuZW90XCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzFfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmZcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2Z1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8xX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMl9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzJfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8zX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gIHNyYzogdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyArIFwiKTtcXG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cXG4gIHNyYzogdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyArIFwiKSBmb3JtYXQoXFxcImVtYmVkZGVkLW9wZW50eXBlXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gKyBcIikgZm9ybWF0KFxcXCJ3b2ZmXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzJfX18gKyBcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpLCB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8zX19fICsgXCIpIGZvcm1hdChcXFwic3ZnXFxcIik7XFxuICAvKiBMZWdhY3kgaU9TICovXFxufVxcbi5pY29uW2RhdGEtdi02Mzc3YjBhMl0ge1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG59XFxuLmljb24uYXJyb3ctbGVmdC1kb3VibGVbZGF0YS12LTYzNzdiMGEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ogVxcXCI7XFxufVxcbi5pY29uLmFycm93LWxlZnRbZGF0YS12LTYzNzdiMGEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oglxcXCI7XFxufVxcbi5pY29uLmFycm93LXJpZ2h0LWRvdWJsZVtkYXRhLXYtNjM3N2IwYTJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiDXFxcIjtcXG59XFxuLmljb24uYXJyb3ctcmlnaHRbZGF0YS12LTYzNzdiMGEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ohFxcXCI7XFxufVxcbi5pY29uLmJyZWFkY3J1bWJbZGF0YS12LTYzNzdiMGEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ohVxcXCI7XFxufVxcbi5pY29uLmNoZWNrbWFya1tkYXRhLXYtNjM3N2IwYTJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiGXFxcIjtcXG59XFxuLmljb24uY2xvc2VbZGF0YS12LTYzNzdiMGEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oh1xcXCI7XFxufVxcbi5pY29uLmNvbmZpcm1bZGF0YS12LTYzNzdiMGEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oiFxcXCI7XFxufVxcbi5pY29uLmluZm9bZGF0YS12LTYzNzdiMGEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oiVxcXCI7XFxufVxcbi5pY29uLm1lbnVbZGF0YS12LTYzNzdiMGEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oilxcXCI7XFxufVxcbi5pY29uLm1vcmVbZGF0YS12LTYzNzdiMGEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oi1xcXCI7XFxufVxcbi5pY29uLnBhdXNlW2RhdGEtdi02Mzc3YjBhMl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIxcXFwiO1xcbn1cXG4uaWNvbi5wbGF5W2RhdGEtdi02Mzc3YjBhMl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI1cXFwiO1xcbn1cXG4uaWNvbi50cmlhbmdsZS1zW2RhdGEtdi02Mzc3YjBhMl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI5cXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1hd2F5W2RhdGEtdi02Mzc3YjBhMl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI9cXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1kbmRbZGF0YS12LTYzNzdiMGEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6okFxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWludmlzaWJsZVtkYXRhLXYtNjM3N2IwYTJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiRXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtb25saW5lW2RhdGEtdi02Mzc3YjBhMl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJJcXFwiO1xcbn1cXG5cXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG4vKipcXG4gKiBjb2xvci10ZXh0LWxpZ2h0ZXJcXHRcXHRub3JtYWwgc3RhdGVcXG4gKiBjb2xvci10ZXh0LWxpZ2h0ZXJcXHRcXHRhY3RpdmUgc3RhdGVcXG4gKiBjb2xvci10ZXh0LW1heGNvbnRyYXN0IFxcdGRpc2FibGVkIHN0YXRlXFxuICovXFxuLyogRGVmYXVsdCBnbG9iYWwgdmFsdWVzICovXFxuYnV0dG9uW2RhdGEtdi02Mzc3YjBhMl0sXFxuaW5wdXRbZGF0YS12LTYzNzdiMGEyXTpub3QoW3R5cGU9J3JhbmdlJ10pLFxcbnRleHRhcmVhW2RhdGEtdi02Mzc3YjBhMl0ge1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogN3B4IDZweDtcXG4gIGN1cnNvcjogdGV4dDtcXG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0ZXIpO1xcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XFxuICBvdXRsaW5lOiBub25lO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG4gIGZvbnQtc2l6ZTogMTNweDtcXG4gIC8qIFByaW1hcnkgYWN0aW9uIGJ1dHRvbiwgdXNlIHNwYXJpbmdseSAqL1xcbn1cXG5idXR0b25bZGF0YS12LTYzNzdiMGEyXTpub3QoOmRpc2FibGVkKTpub3QoLnByaW1hcnkpOmhvdmVyLCBidXR0b25bZGF0YS12LTYzNzdiMGEyXTpub3QoOmRpc2FibGVkKTpub3QoLnByaW1hcnkpOmZvY3VzLCBidXR0b246bm90KDpkaXNhYmxlZCk6bm90KC5wcmltYXJ5KS5hY3RpdmVbZGF0YS12LTYzNzdiMGEyXSxcXG4gIGlucHV0W2RhdGEtdi02Mzc3YjBhMl06bm90KFt0eXBlPSdyYW5nZSddKTpub3QoOmRpc2FibGVkKTpub3QoLnByaW1hcnkpOmhvdmVyLFxcbiAgaW5wdXRbZGF0YS12LTYzNzdiMGEyXTpub3QoW3R5cGU9J3JhbmdlJ10pOm5vdCg6ZGlzYWJsZWQpOm5vdCgucHJpbWFyeSk6Zm9jdXMsXFxuICBpbnB1dDpub3QoW3R5cGU9J3JhbmdlJ10pOm5vdCg6ZGlzYWJsZWQpOm5vdCgucHJpbWFyeSkuYWN0aXZlW2RhdGEtdi02Mzc3YjBhMl0sXFxuICB0ZXh0YXJlYVtkYXRhLXYtNjM3N2IwYTJdOm5vdCg6ZGlzYWJsZWQpOm5vdCgucHJpbWFyeSk6aG92ZXIsXFxuICB0ZXh0YXJlYVtkYXRhLXYtNjM3N2IwYTJdOm5vdCg6ZGlzYWJsZWQpOm5vdCgucHJpbWFyeSk6Zm9jdXMsXFxuICB0ZXh0YXJlYTpub3QoOmRpc2FibGVkKTpub3QoLnByaW1hcnkpLmFjdGl2ZVtkYXRhLXYtNjM3N2IwYTJdIHtcXG4gICAgLyogYWN0aXZlIGNsYXNzIHVzZWQgZm9yIG11bHRpc2VsZWN0ICovXFxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcXG4gICAgb3V0bGluZTogbm9uZTtcXG59XFxuYnV0dG9uW2RhdGEtdi02Mzc3YjBhMl06bm90KDpkaXNhYmxlZCk6bm90KC5wcmltYXJ5KTphY3RpdmUsXFxuICBpbnB1dFtkYXRhLXYtNjM3N2IwYTJdOm5vdChbdHlwZT0ncmFuZ2UnXSk6bm90KDpkaXNhYmxlZCk6bm90KC5wcmltYXJ5KTphY3RpdmUsXFxuICB0ZXh0YXJlYVtkYXRhLXYtNjM3N2IwYTJdOm5vdCg6ZGlzYWJsZWQpOm5vdCgucHJpbWFyeSk6YWN0aXZlIHtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHQpO1xcbiAgICBvdXRsaW5lOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcbn1cXG5idXR0b25bZGF0YS12LTYzNzdiMGEyXTpkaXNhYmxlZCxcXG4gIGlucHV0W2RhdGEtdi02Mzc3YjBhMl06bm90KFt0eXBlPSdyYW5nZSddKTpkaXNhYmxlZCxcXG4gIHRleHRhcmVhW2RhdGEtdi02Mzc3YjBhMl06ZGlzYWJsZWQge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIG9wYWNpdHk6IDAuNTtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbWF4Y29udHJhc3QpO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmspO1xcbn1cXG5idXR0b25bZGF0YS12LTYzNzdiMGEyXTpyZXF1aXJlZCxcXG4gIGlucHV0W2RhdGEtdi02Mzc3YjBhMl06bm90KFt0eXBlPSdyYW5nZSddKTpyZXF1aXJlZCxcXG4gIHRleHRhcmVhW2RhdGEtdi02Mzc3YjBhMl06cmVxdWlyZWQge1xcbiAgICBib3gtc2hhZG93OiBub25lO1xcbn1cXG5idXR0b25bZGF0YS12LTYzNzdiMGEyXTppbnZhbGlkLFxcbiAgaW5wdXRbZGF0YS12LTYzNzdiMGEyXTpub3QoW3R5cGU9J3JhbmdlJ10pOmludmFsaWQsXFxuICB0ZXh0YXJlYVtkYXRhLXYtNjM3N2IwYTJdOmludmFsaWQge1xcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG5idXR0b24ucHJpbWFyeVtkYXRhLXYtNjM3N2IwYTJdLFxcbiAgaW5wdXQ6bm90KFt0eXBlPSdyYW5nZSddKS5wcmltYXJ5W2RhdGEtdi02Mzc3YjBhMl0sXFxuICB0ZXh0YXJlYS5wcmltYXJ5W2RhdGEtdi02Mzc3YjBhMl0ge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxufVxcbmJ1dHRvbi5wcmltYXJ5W2RhdGEtdi02Mzc3YjBhMl06bm90KDpkaXNhYmxlZCk6aG92ZXIsIGJ1dHRvbi5wcmltYXJ5W2RhdGEtdi02Mzc3YjBhMl06bm90KDpkaXNhYmxlZCk6Zm9jdXMsIGJ1dHRvbi5wcmltYXJ5W2RhdGEtdi02Mzc3YjBhMl06bm90KDpkaXNhYmxlZCk6YWN0aXZlLFxcbiAgICBpbnB1dDpub3QoW3R5cGU9J3JhbmdlJ10pLnByaW1hcnlbZGF0YS12LTYzNzdiMGEyXTpub3QoOmRpc2FibGVkKTpob3ZlcixcXG4gICAgaW5wdXQ6bm90KFt0eXBlPSdyYW5nZSddKS5wcmltYXJ5W2RhdGEtdi02Mzc3YjBhMl06bm90KDpkaXNhYmxlZCk6Zm9jdXMsXFxuICAgIGlucHV0Om5vdChbdHlwZT0ncmFuZ2UnXSkucHJpbWFyeVtkYXRhLXYtNjM3N2IwYTJdOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSxcXG4gICAgdGV4dGFyZWEucHJpbWFyeVtkYXRhLXYtNjM3N2IwYTJdOm5vdCg6ZGlzYWJsZWQpOmhvdmVyLFxcbiAgICB0ZXh0YXJlYS5wcmltYXJ5W2RhdGEtdi02Mzc3YjBhMl06bm90KDpkaXNhYmxlZCk6Zm9jdXMsXFxuICAgIHRleHRhcmVhLnByaW1hcnlbZGF0YS12LTYzNzdiMGEyXTpub3QoOmRpc2FibGVkKTphY3RpdmUge1xcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50LWxpZ2h0KTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQtbGlnaHQpO1xcbn1cXG5idXR0b24ucHJpbWFyeVtkYXRhLXYtNjM3N2IwYTJdOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSxcXG4gICAgaW5wdXQ6bm90KFt0eXBlPSdyYW5nZSddKS5wcmltYXJ5W2RhdGEtdi02Mzc3YjBhMl06bm90KDpkaXNhYmxlZCk6YWN0aXZlLFxcbiAgICB0ZXh0YXJlYS5wcmltYXJ5W2RhdGEtdi02Mzc3YjBhMl06bm90KDpkaXNhYmxlZCk6YWN0aXZlIHtcXG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0LWRhcmspO1xcbn1cXG5idXR0b24ucHJpbWFyeVtkYXRhLXYtNjM3N2IwYTJdOmRpc2FibGVkLFxcbiAgICBpbnB1dDpub3QoW3R5cGU9J3JhbmdlJ10pLnByaW1hcnlbZGF0YS12LTYzNzdiMGEyXTpkaXNhYmxlZCxcXG4gICAgdGV4dGFyZWEucHJpbWFyeVtkYXRhLXYtNjM3N2IwYTJdOmRpc2FibGVkIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dC1kYXJrKTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcbn1cXG5cXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKiBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxubGkuYWN0aXZlW2RhdGEtdi02Mzc3YjBhMl0ge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XFxufVxcbi5hY3Rpb24tLWRpc2FibGVkW2RhdGEtdi02Mzc3YjBhMl0ge1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICBvcGFjaXR5OiAwLjU7XFxufVxcbi5hY3Rpb24tLWRpc2FibGVkW2RhdGEtdi02Mzc3YjBhMl06aG92ZXIsIC5hY3Rpb24tLWRpc2FibGVkW2RhdGEtdi02Mzc3YjBhMl06Zm9jdXMge1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIG9wYWNpdHk6IDAuNTtcXG59XFxuLmFjdGlvbi0tZGlzYWJsZWQgKltkYXRhLXYtNjM3N2IwYTJdIHtcXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xcbn1cXG4uYWN0aW9uLXRleHQtZWRpdGFibGVbZGF0YS12LTYzNzdiMGEyXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgb3BhY2l0eTogMC43O1xcbiAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuICBib3JkZXI6IDA7XFxuICBib3JkZXItcmFkaXVzOiAwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3gtc2hhZG93OiBub25lO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xcbiAgLyogSW5wdXRzIGluc2lkZSBwb3BvdmVyIHN1cHBvcnRzIHRleHQsIHN1Ym1pdCAmIHJlc2V0ICovXFxufVxcbi5hY3Rpb24tdGV4dC1lZGl0YWJsZVtkYXRhLXYtNjM3N2IwYTJdOmhvdmVyLCAuYWN0aW9uLXRleHQtZWRpdGFibGVbZGF0YS12LTYzNzdiMGEyXTpmb2N1cyB7XFxuICAgIG9wYWNpdHk6IDE7XFxufVxcbi5hY3Rpb24tdGV4dC1lZGl0YWJsZSA+IHNwYW5bZGF0YS12LTYzNzdiMGEyXSB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG59XFxuLmFjdGlvbi10ZXh0LWVkaXRhYmxlX19pY29uW2RhdGEtdi02Mzc3YjBhMl0ge1xcbiAgICBtaW4td2lkdGg6IDA7XFxuICAgIC8qIE92ZXJ3cml0ZSBpY29ucyovXFxuICAgIG1pbi1oZWlnaHQ6IDA7XFxuICAgIC8qIEtlZXAgcGFkZGluZyB0byBkZWZpbmUgdGhlIHdpZHRoIHRvXFxuXFx0XFx0XFx0YXNzdXJlIGNvcnJlY3QgcG9zaXRpb24gb2YgYSBwb3NzaWJsZSB0ZXh0ICovXFxuICAgIHBhZGRpbmc6IDIycHggMCAyMnB4IDQ0cHg7XFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE0cHggY2VudGVyO1xcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHg7XFxufVxcbi5hY3Rpb24tdGV4dC1lZGl0YWJsZV9fZm9ybVtkYXRhLXYtNjM3N2IwYTJdIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgbWFyZ2luOiA0cHggMDtcXG4gICAgcGFkZGluZy1yaWdodDogMTRweDtcXG59XFxuLmFjdGlvbi10ZXh0LWVkaXRhYmxlX19zdWJtaXRbZGF0YS12LTYzNzdiMGEyXSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgbGVmdDogLTEwMDAwcHg7XFxuICAgIHRvcDogYXV0bztcXG4gICAgd2lkdGg6IDFweDtcXG4gICAgaGVpZ2h0OiAxcHg7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxufVxcbi5hY3Rpb24tdGV4dC1lZGl0YWJsZV9fbGFiZWxbZGF0YS12LTYzNzdiMGEyXSB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHJpZ2h0OiAxNXB4O1xcbiAgICBib3R0b206IDFweDtcXG4gICAgd2lkdGg6IDM2cHg7XFxuICAgIGhlaWdodDogMzZweDtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBwYWRkaW5nOiA3cHggNnB4O1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIG9wYWNpdHk6IDE7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0ZXIpO1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gICAgLyogQXZvaWQgYmFja2dyb3VuZCB1bmRlciBib3JkZXIgKi9cXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcXG4gICAgZm9udC1zaXplOiAxNnB4O1xcbn1cXG4uYWN0aW9uLXRleHQtZWRpdGFibGVfX2xhYmVsW2RhdGEtdi02Mzc3YjBhMl06YmVmb3JlIHtcXG4gICAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICBjb250ZW50OiBcXFwi7qiIXFxcIjtcXG59XFxuLmFjdGlvbi10ZXh0LWVkaXRhYmxlX190ZXh0YXJlYVtkYXRhLXYtNjM3N2IwYTJdIHtcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XFxuICAgIC8qIHR3aWNlIHRoZSBlbGVtZW50IG1hcmdpbi15ICovXFxuICAgIG1heC1oZWlnaHQ6IDEyNHB4O1xcbiAgICAvKiB0d2ljZSB0aGUgZWxlbWVudCBtYXJnaW4teSAqL1xcbiAgICBtaW4td2lkdGg6IDE3NnB4O1xcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIC8qIG9ubHkgc2hvdyBjb25maXJtIGJvcmRlcnMgaWYgaW5wdXQgaXMgbm90IGZvY3VzZWQgKi9cXG59XFxuLmFjdGlvbi10ZXh0LWVkaXRhYmxlX190ZXh0YXJlYVtkYXRhLXYtNjM3N2IwYTJdOmRpc2FibGVkIHtcXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxufVxcbi5hY3Rpb24tdGV4dC1lZGl0YWJsZV9fdGV4dGFyZWE6bm90KDphY3RpdmUpOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpOmludmFsaWQgKyAuYWN0aW9uLXRleHQtZWRpdGFibGVfX2xhYmVsW2RhdGEtdi02Mzc3YjBhMl0ge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcXG59XFxuLmFjdGlvbi10ZXh0LWVkaXRhYmxlX190ZXh0YXJlYTpub3QoOmFjdGl2ZSk6bm90KDpob3Zlcik6bm90KDpmb2N1cyk6bm90KDpkaXNhYmxlZCkgKyAuYWN0aW9uLXRleHQtZWRpdGFibGVfX2xhYmVsW2RhdGEtdi02Mzc3YjBhMl06YWN0aXZlLCAuYWN0aW9uLXRleHQtZWRpdGFibGVfX3RleHRhcmVhOm5vdCg6YWN0aXZlKTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKTpub3QoOmRpc2FibGVkKSArIC5hY3Rpb24tdGV4dC1lZGl0YWJsZV9fbGFiZWxbZGF0YS12LTYzNzdiMGEyXTpob3ZlciwgLmFjdGlvbi10ZXh0LWVkaXRhYmxlX190ZXh0YXJlYTpub3QoOmFjdGl2ZSk6bm90KDpob3Zlcik6bm90KDpmb2N1cyk6bm90KDpkaXNhYmxlZCkgKyAuYWN0aW9uLXRleHQtZWRpdGFibGVfX2xhYmVsW2RhdGEtdi02Mzc3YjBhMl06Zm9jdXMge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCk7XFxufVxcbi5hY3Rpb24tdGV4dC1lZGl0YWJsZV9fdGV4dGFyZWE6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpICsgLmFjdGlvbi10ZXh0LWVkaXRhYmxlX19sYWJlbFtkYXRhLXYtNjM3N2IwYTJdLCAuYWN0aW9uLXRleHQtZWRpdGFibGVfX3RleHRhcmVhOmhvdmVyOm5vdCg6ZGlzYWJsZWQpICsgLmFjdGlvbi10ZXh0LWVkaXRhYmxlX19sYWJlbFtkYXRhLXYtNjM3N2IwYTJdLCAuYWN0aW9uLXRleHQtZWRpdGFibGVfX3RleHRhcmVhOmZvY3VzOm5vdCg6ZGlzYWJsZWQpICsgLmFjdGlvbi10ZXh0LWVkaXRhYmxlX19sYWJlbFtkYXRhLXYtNjM3N2IwYTJdIHtcXG4gICAgICAvKiBhYm92ZSBwcmV2aW91cyBpbnB1dCAqL1xcbiAgICAgIHotaW5kZXg6IDI7XFxuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG59XFxubGk6bGFzdC1jaGlsZCA+IC5hY3Rpb24tdGV4dC1lZGl0YWJsZVtkYXRhLXYtNjM3N2IwYTJdIHtcXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XFxufVxcbmxpOmZpcnN0LWNoaWxkID4gLmFjdGlvbi10ZXh0LWVkaXRhYmxlW2RhdGEtdi02Mzc3YjBhMl0ge1xcbiAgbWFyZ2luLXRvcDogMTBweDtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQWN0aW9uVGV4dEVkaXRhYmxlLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZS5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvaW5wdXRzLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy9hY3Rpb24uc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FFc0VBO0VBQ0MsbUNBQW1DO0VBQ25DLDRDQUF1QztFQUFFLHFCQUFBO0VBQ3pDLG1QQUdtRDtFQUFFLGVBQUE7QUFBZ0I7QUFNdEU7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQUE7QUFGbEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE1R2U7QUFBTztBQXFHNUI7SUFNTSxtQ0FBbUM7SUFDbkMsWUEzR1E7QUFBTztBQW9HckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUExR2dCO0FBQU87QUFtRzdCO0lBTU0sbUNBQW1DO0lBQ25DLFlBekdTO0FBQU87QUFrR3RCO0lBTU0sbUNBQW1DO0lBQ25DLFlBeEdRO0FBQU87QUFpR3JCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdkdPO0FBQU87QUFnR3BCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdEdHO0FBQU87QUErRmhCO0lBTU0sbUNBQW1DO0lBQ25DLFlBckdLO0FBQU87QUE4RmxCO0lBTU0sbUNBQW1DO0lBQ25DLFlBcEdFO0FBQU87QUE2RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFuR0U7QUFBTztBQTRGZjtJQU1NLG1DQUFtQztJQUNuQyxZQWxHRTtBQUFPO0FBMkZmO0lBTU0sbUNBQW1DO0lBQ25DLFlB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QUFBTztBRmdQbkI7SUFDQyxjQUFjO0lBRWQsZ0JBQVk7SUFBNEMsK0JBQUE7SUFDeEQsaUJBQVk7SUFBNEMsK0JBQUE7SUFFeEQsZ0JBQThCO0lBQzlCLHNCQUFzQjtJQUN0QixTQUFTO0lBT1Qsc0RBQUE7QUFBdUQ7QUFmdkQ7TUFZQyxlQUFlO0FBQUE7QUFaaEI7TUFtQkcsb0NBQW9DO0FBQUE7QUFuQnZDO01BMEJHLDhDQUE4QztNQUM5QyxnQ0FBZ0M7QUFBQTtBQTNCbkM7TUFtQ0UseUJBQUE7TUFDQSxVQUFVO01BRVYsMENBQTBDO01BQzFDLDhCQUE4QjtBQUFBO0FBU2xDO0VBQ0MsbUJBQTJDO0FBQUE7QUFJNUM7RUFDQyxnQkFBd0M7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuQGltcG9ydCAnLi4vLi4vZm9udHMvc2Nzcy9pY29uZm9udC12dWUnO1xcbkBpbXBvcnQgJy4uLy4uL2Fzc2V0cy9pbnB1dHMnO1xcbkBpbXBvcnQgJy4uLy4uL2Fzc2V0cy9hY3Rpb24nO1xcbkBpbmNsdWRlIGFjdGlvbi1hY3RpdmU7XFxuQGluY2x1ZGUgYWN0aW9uLS1kaXNhYmxlZDtcXG5cXG4kaW5wdXQtbWFyZ2luOiA0cHg7XFxuXFxuLmFjdGlvbi10ZXh0LWVkaXRhYmxlIHtcXG5cXHRkaXNwbGF5OiBmbGV4O1xcblxcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcblxcblxcdHdpZHRoOiAxMDAlO1xcblxcdGhlaWdodDogYXV0bztcXG5cXHRtYXJnaW46IDA7XFxuXFx0cGFkZGluZzogMDtcXG5cXG5cXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXG5cXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuXFx0Ym9yZGVyOiAwO1xcblxcdGJvcmRlci1yYWRpdXM6IDA7IC8vIG90aGVyd2lzZSBTYWZhcmkgd2lsbCBjdXQgdGhlIGJvcmRlci1yYWRpdXMgYXJlYVxcblxcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdGJveC1zaGFkb3c6IG5vbmU7XFxuXFxuXFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcXG5cXHRsaW5lLWhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcblxcdCY6aG92ZXIsXFxuXFx0Jjpmb2N1cyB7XFxuXFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHR9XFxuXFxuXFx0JiA+IHNwYW4ge1xcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdH1cXG5cXG5cXHQmX19pY29uIHtcXG5cXHRcXHRtaW4td2lkdGg6IDA7IC8qIE92ZXJ3cml0ZSBpY29ucyovXFxuXFx0XFx0bWluLWhlaWdodDogMDtcXG5cXHRcXHQvKiBLZWVwIHBhZGRpbmcgdG8gZGVmaW5lIHRoZSB3aWR0aCB0b1xcblxcdFxcdFxcdGFzc3VyZSBjb3JyZWN0IHBvc2l0aW9uIG9mIGEgcG9zc2libGUgdGV4dCAqL1xcblxcdFxcdHBhZGRpbmc6ICN7JGNsaWNrYWJsZS1hcmVhIC8gMn0gMCAjeyRjbGlja2FibGUtYXJlYSAvIDJ9ICRjbGlja2FibGUtYXJlYTtcXG5cXG5cXHRcXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAjeyRpY29uLW1hcmdpbn0gY2VudGVyO1xcblxcdFxcdGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZTtcXG5cXHR9XFxuXFxuXFx0Ly8gRm9ybXMgJiB0ZXh0IGlucHV0c1xcblxcdCZfX2Zvcm0ge1xcblxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0ZmxleDogMSAxIGF1dG87XFxuXFx0XFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG5cXG5cXHRcXHRwb3NpdGlvbjogcmVsYXRpdmU7XFxuXFx0XFx0bWFyZ2luOiAkaW5wdXQtbWFyZ2luIDA7XFxuXFx0XFx0cGFkZGluZy1yaWdodDogJGljb24tbWFyZ2luO1xcblxcdH1cXG5cXG5cXHQmX19zdWJtaXQge1xcblxcdFxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHRcXHRsZWZ0OiAtMTAwMDBweDtcXG5cXHRcXHR0b3A6IGF1dG87XFxuXFx0XFx0d2lkdGg6IDFweDtcXG5cXHRcXHRoZWlnaHQ6IDFweDtcXG5cXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdH1cXG5cXG5cXHQmX19sYWJlbCB7XFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRhbGlnbi1pdGVtczogY2VudGVyO1xcblxcdFxcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xcblxcblxcdFxcdC8vIGJvdHRvbS1yaWdodCBjb3JuZXJcXG5cXHRcXHRwb3NpdGlvbjogYWJzb2x1dGU7XFxuXFx0XFx0cmlnaHQ6ICRpY29uLW1hcmdpbiArIDE7XFxuXFx0XFx0Ym90dG9tOiAxcHg7XFxuXFx0XFx0d2lkdGg6ICN7JGNsaWNrYWJsZS1hcmVhIC0gJGlucHV0LW1hcmdpbiAqIDJ9O1xcblxcdFxcdGhlaWdodDogI3skY2xpY2thYmxlLWFyZWEgLSAkaW5wdXQtbWFyZ2luICogMn07XFxuXFx0XFx0bWFyZ2luOiAwO1xcblxcdFxcdHBhZGRpbmc6IDdweCA2cHg7XFxuXFxuXFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XFxuXFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XFxuXFx0XFx0Ym9yZGVyOiAwO1xcblxcdFxcdGJvcmRlci1yYWRpdXM6IDUwJTtcXG5cXHRcXHQvKiBBdm9pZCBiYWNrZ3JvdW5kIHVuZGVyIGJvcmRlciAqL1xcblxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuXFx0XFx0YmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcXG5cXG5cXHRcXHRmb250LXNpemU6ICRpY29uLXNpemU7XFxuXFxuXFx0XFx0QGluY2x1ZGUgaWNvbmZvbnQoJ2NvbmZpcm0nKTtcXG5cXHR9XFxuXFxuXFx0LyogSW5wdXRzIGluc2lkZSBwb3BvdmVyIHN1cHBvcnRzIHRleHQsIHN1Ym1pdCAmIHJlc2V0ICovXFxuXFx0Jl9fdGV4dGFyZWEge1xcblxcdFxcdGZsZXg6IDEgMSBhdXRvO1xcblxcblxcdFxcdG1pbi1oZWlnaHQ6ICN7JGNsaWNrYWJsZS1hcmVhICogMiAtICRpbnB1dC1tYXJnaW4gKiAyfTsgLyogdHdpY2UgdGhlIGVsZW1lbnQgbWFyZ2luLXkgKi9cXG5cXHRcXHRtYXgtaGVpZ2h0OiAjeyRjbGlja2FibGUtYXJlYSAqIDMgLSAkaW5wdXQtbWFyZ2luICogMn07IC8qIHR3aWNlIHRoZSBlbGVtZW50IG1hcmdpbi15ICovXFxuXFx0XFx0Ly8gYmxvY2sgd2lkdGggd2lkZW5pbmdcXG5cXHRcXHRtaW4td2lkdGg6ICRjbGlja2FibGUtYXJlYSAqIDQ7XFxuXFx0XFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcXG5cXHRcXHRtYXJnaW46IDA7XFxuXFxuXFx0XFx0Ly8gaWYgZGlzYWJsZWQsIGNoYW5nZSBjdXJzb3JcXG5cXHRcXHQmOmRpc2FibGVkIHtcXG5cXHRcXHRcXHRjdXJzb3I6IGRlZmF1bHQ7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8qIG9ubHkgc2hvdyBjb25maXJtIGJvcmRlcnMgaWYgaW5wdXQgaXMgbm90IGZvY3VzZWQgKi9cXG5cXHRcXHQmOm5vdCg6YWN0aXZlKTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSB7XFxuXFx0XFx0XFx0JjppbnZhbGlkIHtcXG5cXHRcXHRcXHRcXHQmICsgLmFjdGlvbi10ZXh0LWVkaXRhYmxlX19sYWJlbCB7XFxuXFx0XFx0XFx0XFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFx0XFx0XFx0Jjpub3QoOmRpc2FibGVkKSArIC5hY3Rpb24tdGV4dC1lZGl0YWJsZV9fbGFiZWwge1xcblxcdFxcdFxcdFxcdCY6YWN0aXZlLFxcblxcdFxcdFxcdFxcdCY6aG92ZXIsXFxuXFx0XFx0XFx0XFx0Jjpmb2N1cyB7XFxuXFx0XFx0XFx0XFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcXG5cXHRcXHRcXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcXG5cXHRcXHRcXHRcXHR9XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXHRcXHQmOmFjdGl2ZSxcXG5cXHRcXHQmOmhvdmVyLFxcblxcdFxcdCY6Zm9jdXMge1xcblxcdFxcdFxcdCY6bm90KDpkaXNhYmxlZCkgKyAuYWN0aW9uLXRleHQtZWRpdGFibGVfX2xhYmVsIHtcXG5cXHRcXHRcXHRcXHQvKiBhYm92ZSBwcmV2aW91cyBpbnB1dCAqL1xcblxcdFxcdFxcdFxcdHotaW5kZXg6IDI7XFxuXFxuXFx0XFx0XFx0XFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcblxcdFxcdFxcdFxcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXFxuLy8gaWYgYSBmb3JtIGlzIHRoZSBsYXN0IG9mIHRoZSBsaXN0XFxuLy8gYWRkIHRoZSBzYW1lIGJvdHRvbU1hcmdpbiBhcyB0aGUgcmlnaHQgcGFkZGluZ1xcbi8vIGZvciB2aXN1YWwgYmFsYW5jZVxcbmxpOmxhc3QtY2hpbGQgPiAuYWN0aW9uLXRleHQtZWRpdGFibGUge1xcblxcdG1hcmdpbi1ib3R0b206ICRpY29uLW1hcmdpbiAtICRpbnB1dC1tYXJnaW47XFxufVxcblxcbi8vIHNhbWUgZm9yIGZpcnN0IGl0ZW1cXG5saTpmaXJzdC1jaGlsZCA+IC5hY3Rpb24tdGV4dC1lZGl0YWJsZSB7XFxuXFx0bWFyZ2luLXRvcDogJGljb24tbWFyZ2luIC0gJGlucHV0LW1hcmdpbjtcXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiLFwiJF9faWNvbmZvbnRfX2RhdGE6IG1hcC1tZXJnZShpZihnbG9iYWxfdmFyaWFibGVfZXhpc3RzKCdfX2ljb25mb250X19kYXRhJyksICRfX2ljb25mb250X19kYXRhLCAoKSksIChcXG5cXHRcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiOiAoXFxuXFx0XFx0XFxcImFycm93LWxlZnQtZG91YmxlXFxcIjogXFxcIlxcXFxlYTAxXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctbGVmdFxcXCI6IFxcXCJcXFxcZWEwMlxcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0LWRvdWJsZVxcXCI6IFxcXCJcXFxcZWEwM1xcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0XFxcIjogXFxcIlxcXFxlYTA0XFxcIixcXG5cXHRcXHRcXFwiYnJlYWRjcnVtYlxcXCI6IFxcXCJcXFxcZWEwNVxcXCIsXFxuXFx0XFx0XFxcImNoZWNrbWFya1xcXCI6IFxcXCJcXFxcZWEwNlxcXCIsXFxuXFx0XFx0XFxcImNsb3NlXFxcIjogXFxcIlxcXFxlYTA3XFxcIixcXG5cXHRcXHRcXFwiY29uZmlybVxcXCI6IFxcXCJcXFxcZWEwOFxcXCIsXFxuXFx0XFx0XFxcImluZm9cXFwiOiBcXFwiXFxcXGVhMDlcXFwiLFxcblxcdFxcdFxcXCJtZW51XFxcIjogXFxcIlxcXFxlYTBhXFxcIixcXG5cXHRcXHRcXFwibW9yZVxcXCI6IFxcXCJcXFxcZWEwYlxcXCIsXFxuXFx0XFx0XFxcInBhdXNlXFxcIjogXFxcIlxcXFxlYTBjXFxcIixcXG5cXHRcXHRcXFwicGxheVxcXCI6IFxcXCJcXFxcZWEwZFxcXCIsXFxuXFx0XFx0XFxcInRyaWFuZ2xlLXNcXFwiOiBcXFwiXFxcXGVhMGVcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1hd2F5XFxcIjogXFxcIlxcXFxlYTBmXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtZG5kXFxcIjogXFxcIlxcXFxlYTEwXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtaW52aXNpYmxlXFxcIjogXFxcIlxcXFxlYTExXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtb25saW5lXFxcIjogXFxcIlxcXFxlYTEyXFxcIlxcblxcdClcXG4pKTtcXG5cXG5cXG4kY3JlYXRlLWZvbnQtZmFjZTogdHJ1ZSAhZGVmYXVsdDsgLy8gc2hvdWxkIHRoZSBAZm9udC1mYWNlIHRhZyBnZXQgY3JlYXRlZD9cXG5cXG4vLyBzaG91bGQgdGhlcmUgYmUgYSBjdXN0b20gY2xhc3MgZm9yIGVhY2ggaWNvbj8gd2lsbCBiZSAuZmlsZW5hbWVcXG4kY3JlYXRlLWljb24tY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDsgXFxuXFxuLy8gd2hhdCBpcyB0aGUgY29tbW9uIGNsYXNzIG5hbWUgdGhhdCBpY29ucyBzaGFyZT8gaW4gdGhpcyBjYXNlIGljb25zIG5lZWQgdG8gaGF2ZSAuaWNvbi5maWxlbmFtZSBpbiB0aGVpciBjbGFzc2VzXFxuLy8gdGhpcyByZXF1aXJlcyB5b3UgdG8gaGF2ZSAyIGNsYXNzZXMgb24gZWFjaCBpY29uIGh0bWwgZWxlbWVudCwgYnV0IHJlZHVjZWQgcmVkZWNsYXJhdGlvbiBvZiB0aGUgZm9udCBmYW1pbHlcXG4vLyBmb3IgZWFjaCBpY29uXFxuJGljb24tY29tbW9uLWNsYXNzOiAnaWNvbicgIWRlZmF1bHQ7XFxuXFxuLy8gaWYgeW91IHdoaXNoIHRvIHByZWZpeCB5b3VyIGZpbGVuYW1lcywgaGVyZSB5b3UgY2FuIGRvIHNvLlxcbi8vIGlmIHRoaXMgc3RyaW5nIHN0YXlzIGVtcHR5LCB5b3VyIGNsYXNzZXMgd2lsbCB1c2UgdGhlIGZpbGVuYW1lLCBmb3IgZXhhbXBsZVxcbi8vIGFuIGljb24gY2FsbGVkIHN0YXIuc3ZnIHdpbGwgcmVzdWx0IGluIGEgY2xhc3MgY2FsbGVkIC5zdGFyXFxuLy8gaWYgeW91IHVzZSB0aGUgcHJlZml4IHRvIGJlICdpY29uLScgaXQgd291bGQgcmVzdWx0IGluIC5pY29uLXN0YXJcXG4kaWNvbi1wcmVmaXg6ICcnICFkZWZhdWx0OyBcXG5cXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvbnQgZ3JvdXBcXG5AZnVuY3Rpb24gaWNvbmZvbnQtZ3JvdXAoJGdyb3VwOiBudWxsKSB7XFxuICBAaWYgKG51bGwgPT0gJGdyb3VwKSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICBAaWYgKGZhbHNlID09IG1hcC1oYXMta2V5KCRfX2ljb25mb250X19kYXRhLCAkZ3JvdXApKSB7XFxuICAgIEB3YXJuICdVbmRlZmluZWQgSWNvbmZvbnQgRmFtaWx5ISc7XFxuICAgIEByZXR1cm4gKCk7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJF9faWNvbmZvbnRfX2RhdGEsICRncm91cCk7XFxufVxcblxcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3QgaWNvbiBvZiBhIGdyb3VwXFxuQGZ1bmN0aW9uIGljb25mb250LWl0ZW0oJG5hbWUpIHtcXG4gICRzbGFzaDogc3RyLWluZGV4KCRuYW1lLCAnLycpO1xcbiAgJGdyb3VwOiBudWxsO1xcbiAgQGlmICgkc2xhc2gpIHtcXG4gICAgJGdyb3VwOiBzdHItc2xpY2UoJG5hbWUsIDAsICRzbGFzaCAtIDEpO1xcbiAgICAkbmFtZTogc3RyLXNsaWNlKCRuYW1lLCAkc2xhc2ggKyAxKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgJGdyb3VwOiBpY29uZm9udC1ncm91cCgkZ3JvdXApO1xcbiAgQGlmIChmYWxzZSA9PSBtYXAtaGFzLWtleSgkZ3JvdXAsICRuYW1lKSkge1xcbiAgICBAd2FybiAnVW5kZWZpbmVkIEljb25mb250IEdseXBoISc7XFxuICAgIEByZXR1cm4gJyc7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJGdyb3VwLCAkbmFtZSk7XFxufVxcblxcbi8vIGNvbXBsZXRlIG1peGluZyB0byBpbmNsdWRlIHRoZSBpY29uXFxuLy8gdXNhZ2U6XFxuLy8gLm15X2ljb257IEBpbmNsdWRlIGljb25mb250KCdzdGFyJykgfVxcbkBtaXhpbiBpY29uZm9udCgkaWNvbikge1xcbiAgJHNsYXNoOiBzdHItaW5kZXgoJGljb24sICcvJyk7XFxuICAkZ3JvdXA6IG51bGw7XFxuICBAaWYgKCRzbGFzaCkge1xcbiAgICAkZ3JvdXA6IHN0ci1zbGljZSgkaWNvbiwgMCwgJHNsYXNoIC0gMSk7XFxuICB9IEBlbHNlIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gICY6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6ICRncm91cDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKCRpY29uKTtcXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyB0aGUgZm9udCBmYWNlIHRhZyBpZiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIHRydWUgKGRlZmF1bHQpXFxuQGlmICRjcmVhdGUtZm9udC1mYWNlID09IHRydWUge1xcbiAgQGZvbnQtZmFjZSB7XFxuICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2ZycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyBpY29uIGNsYXNzZXMgZm9yIGVhY2ggaW5kaXZpZHVhbCBsb2FkZWQgc3ZnIChkZWZhdWx0KVxcbkBpZiAkY3JlYXRlLWljb24tY2xhc3NlcyA9PSB0cnVlIHtcXG4gIC4jeyRpY29uLWNvbW1vbi1jbGFzc30ge1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuXFxuICAgIEBlYWNoICRpY29uLCAkY29udGVudCBpbiBtYXAtZ2V0KCRfX2ljb25mb250X19kYXRhLCBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiKSB7XFxuICAgICAgJi4jeyRpY29uLXByZWZpeH0jeyRpY29ufTpiZWZvcmUge1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKFxcXCJpY29uZm9udC12dWUtODRjNDYxZi8jeyRpY29ufVxcXCIpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8qKlxcbiAqIGNvbG9yLXRleHQtbGlnaHRlclxcdFxcdG5vcm1hbCBzdGF0ZVxcbiAqIGNvbG9yLXRleHQtbGlnaHRlclxcdFxcdGFjdGl2ZSBzdGF0ZVxcbiAqIGNvbG9yLXRleHQtbWF4Y29udHJhc3QgXFx0ZGlzYWJsZWQgc3RhdGVcXG4gKi9cXG5cXG4vKiBEZWZhdWx0IGdsb2JhbCB2YWx1ZXMgKi9cXG5idXR0b24sXFxuaW5wdXQ6bm90KFt0eXBlPSdyYW5nZSddKSxcXG50ZXh0YXJlYSB7XFxuXFx0bWFyZ2luOiAwO1xcblxcdHBhZGRpbmc6IDdweCA2cHg7XFxuXFxuXFx0Y3Vyc29yOiB0ZXh0O1xcblxcblxcdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0ZXIpO1xcblxcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXJrKTtcXG5cXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcXG5cXHRvdXRsaW5lOiBub25lO1xcblxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuXFxuXFx0Zm9udC1zaXplOiAxM3B4O1xcblxcblxcdCY6bm90KDpkaXNhYmxlZCk6bm90KC5wcmltYXJ5KSB7XFxuXFx0XFx0Jjpob3ZlcixcXG5cXHRcXHQmOmZvY3VzLFxcblxcdFxcdCYuYWN0aXZlIHtcXG5cXHRcXHRcXHQvKiBhY3RpdmUgY2xhc3MgdXNlZCBmb3IgbXVsdGlzZWxlY3QgKi9cXG5cXHRcXHRcXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxuXFx0XFx0XFx0b3V0bGluZTogbm9uZTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0JjphY3RpdmUge1xcblxcdFxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTtcXG5cXHRcXHRcXHRvdXRsaW5lOiBub25lO1xcblxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQmOmRpc2FibGVkIHtcXG5cXHRcXHRjdXJzb3I6IGRlZmF1bHQ7XFxuXFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZGlzYWJsZWQ7XFxuXFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbWF4Y29udHJhc3QpO1xcblxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7XFxuXFx0fVxcblxcblxcdCY6cmVxdWlyZWQge1xcblxcdFxcdGJveC1zaGFkb3c6IG5vbmU7XFxuXFx0fVxcblxcblxcdCY6aW52YWxpZCB7XFxuXFx0XFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XFxuXFx0XFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xcblxcdH1cXG5cXG5cXHQvKiBQcmltYXJ5IGFjdGlvbiBidXR0b24sIHVzZSBzcGFyaW5nbHkgKi9cXG5cXHQmLnByaW1hcnkge1xcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcXG5cXHRcXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcXG5cXG5cXHRcXHQmOm5vdCg6ZGlzYWJsZWQpIHtcXG5cXHRcXHRcXHQmOmhvdmVyLFxcblxcdFxcdFxcdCY6Zm9jdXMsXFxuXFx0XFx0XFx0JjphY3RpdmUge1xcblxcdFxcdFxcdFxcdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50LWxpZ2h0KTtcXG5cXHRcXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQtbGlnaHQpO1xcblxcdFxcdFxcdH1cXG5cXHRcXHRcXHQmOmFjdGl2ZSB7XFxuXFx0XFx0XFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dC1kYXJrKTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcblxcdFxcdCY6ZGlzYWJsZWQge1xcblxcdFxcdFxcdGN1cnNvcjogZGVmYXVsdDtcXG5cXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0LWRhcmspO1xcblxcdFxcdFxcdC8vIG9wYWNpdHkgaXMgYWxyZWFkeSBkZWZpbmVkIHRvIC41IGlmIGRpc2FibGVkXFxuXFx0XFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG5AbWl4aW4gYWN0aW9uLWFjdGl2ZSB7XFxuXFx0bGkge1xcblxcdFxcdCYuYWN0aXZlIHtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cXG5AbWl4aW4gYWN0aW9uLS1kaXNhYmxlZCB7XFxuXFx0LmFjdGlvbi0tZGlzYWJsZWQge1xcblxcdFxcdHBvaW50ZXItZXZlbnRzOiBub25lO1xcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Rpc2FibGVkO1xcblxcdFxcdCY6aG92ZXIsICY6Zm9jdXMge1xcblxcdFxcdFxcdGN1cnNvcjogZGVmYXVsdDtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9kaXNhYmxlZDtcXG5cXHRcXHR9XFxuXFx0XFx0JiAqIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXFxuXFxuQG1peGluIGFjdGlvbi1pdGVtKCRuYW1lKSB7XFxuXFx0LmFjdGlvbi0jeyRuYW1lfSB7XFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG5cXG5cXHRcXHR3aWR0aDogMTAwJTtcXG5cXHRcXHRoZWlnaHQ6IGF1dG87XFxuXFx0XFx0bWFyZ2luOiAwO1xcblxcdFxcdHBhZGRpbmc6IDA7XFxuXFx0XFx0cGFkZGluZy1yaWdodDogJGljb24tbWFyZ2luO1xcblxcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRcXHRib3JkZXI6IDA7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogMDsgLy8gb3RoZXJ3aXNlIFNhZmFyaSB3aWxsIGN1dCB0aGUgYm9yZGVyLXJhZGl1cyBhcmVhXFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0Ym94LXNoYWRvdzogbm9uZTtcXG5cXG5cXHRcXHRmb250LXdlaWdodDogbm9ybWFsO1xcblxcdFxcdGZvbnQtc2l6ZTogdmFyKC0tZGVmYXVsdC1mb250LXNpemUpO1xcblxcdFxcdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFxuXFx0XFx0Jjpob3ZlcixcXG5cXHRcXHQmOmZvY3VzIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmID4gc3BhbiB7XFxuXFx0XFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0fVxcblxcblxcdFxcdCZfX2ljb24ge1xcblxcdFxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaWNvbi1tYXJnaW4gY2VudGVyO1xcblxcdFxcdFxcdGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZTtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQubWF0ZXJpYWwtZGVzaWduLWljb24ge1xcblxcdFxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXG5cXHRcXHRcXHQubWF0ZXJpYWwtZGVzaWduLWljb25fX3N2ZyB7XFxuXFx0XFx0XFx0XFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIGxvbmcgdGV4dCBhcmVhXFxuXFx0XFx0cCB7XFxuXFx0XFx0XFx0bWF4LXdpZHRoOiAyMjBweDtcXG5cXHRcXHRcXHRsaW5lLWhlaWdodDogMS42ZW07XFxuXFxuXFx0XFx0XFx0Ly8gMTRweCBhcmUgY3VycmVudGx5IDFlbSBsaW5lLWhlaWdodC4gTWl4aW5nIHVuaXRzIGFzICc0NHB4IC0gMS42ZW0nIGRvZXMgbm90IHdvcmsuXFxuXFx0XFx0XFx0cGFkZGluZzogI3soJGNsaWNrYWJsZS1hcmVhIC0gMS42KjE0cHgpIC8gMn0gMDtcXG5cXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0dGV4dC1hbGlnbjogbGVmdDtcXG5cXG5cXHRcXHRcXHQvLyBpbiBjYXNlIHRoZXJlIGFyZSBubyBzcGFjZXMgbGlrZSBsb25nIGVtYWlsIGFkZHJlc3Nlc1xcblxcdFxcdFxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0XFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0fVxcblxcblxcdFxcdCZfX2xvbmd0ZXh0IHtcXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0Ly8gYWxsb3cgdGhlIHVzZSBvZiBgXFxcXG5gXFxuXFx0XFx0XFx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmX190aXRsZSB7XFxuXFx0XFx0XFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XFxuXFx0XFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdFxcdFxcdG1heC13aWR0aDogMTAwJTtcXG5cXHRcXHRcXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9nZXRVcmwuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMF9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYuZW90XCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzFfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmZcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2Z1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8xX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMl9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzJfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8zX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gIHNyYzogdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyArIFwiKTtcXG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cXG4gIHNyYzogdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyArIFwiKSBmb3JtYXQoXFxcImVtYmVkZGVkLW9wZW50eXBlXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gKyBcIikgZm9ybWF0KFxcXCJ3b2ZmXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzJfX18gKyBcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpLCB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8zX19fICsgXCIpIGZvcm1hdChcXFwic3ZnXFxcIik7XFxuICAvKiBMZWdhY3kgaU9TICovXFxufVxcbi5pY29uW2RhdGEtdi00ZjQ1ODY0Yl0ge1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG59XFxuLmljb24uYXJyb3ctbGVmdC1kb3VibGVbZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ogVxcXCI7XFxufVxcbi5pY29uLmFycm93LWxlZnRbZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oglxcXCI7XFxufVxcbi5pY29uLmFycm93LXJpZ2h0LWRvdWJsZVtkYXRhLXYtNGY0NTg2NGJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiDXFxcIjtcXG59XFxuLmljb24uYXJyb3ctcmlnaHRbZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ohFxcXCI7XFxufVxcbi5pY29uLmJyZWFkY3J1bWJbZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ohVxcXCI7XFxufVxcbi5pY29uLmNoZWNrbWFya1tkYXRhLXYtNGY0NTg2NGJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiGXFxcIjtcXG59XFxuLmljb24uY2xvc2VbZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oh1xcXCI7XFxufVxcbi5pY29uLmNvbmZpcm1bZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oiFxcXCI7XFxufVxcbi5pY29uLmluZm9bZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oiVxcXCI7XFxufVxcbi5pY29uLm1lbnVbZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oilxcXCI7XFxufVxcbi5pY29uLm1vcmVbZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oi1xcXCI7XFxufVxcbi5pY29uLnBhdXNlW2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIxcXFwiO1xcbn1cXG4uaWNvbi5wbGF5W2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI1cXFwiO1xcbn1cXG4uaWNvbi50cmlhbmdsZS1zW2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI5cXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1hd2F5W2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI9cXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1kbmRbZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6okFxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWludmlzaWJsZVtkYXRhLXYtNGY0NTg2NGJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiRXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtb25saW5lW2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJJcXFwiO1xcbn1cXG4uYWN0aW9uLWl0ZW1bZGF0YS12LTRmNDU4NjRiXSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5hY3Rpb24taXRlbS0tc2luZ2xlW2RhdGEtdi00ZjQ1ODY0Yl06aG92ZXIsIC5hY3Rpb24taXRlbS0tc2luZ2xlW2RhdGEtdi00ZjQ1ODY0Yl06Zm9jdXMsIC5hY3Rpb24taXRlbS0tc2luZ2xlW2RhdGEtdi00ZjQ1ODY0Yl06YWN0aXZlLCAuYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGVbZGF0YS12LTRmNDU4NjRiXTpob3ZlciwgLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlW2RhdGEtdi00ZjQ1ODY0Yl06Zm9jdXMsIC5hY3Rpb24taXRlbV9fbWVudXRvZ2dsZVtkYXRhLXYtNGY0NTg2NGJdOmFjdGl2ZSB7XFxuICAgIG9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI3LCAxMjcsIDEyNywgMC4yNSk7XFxufVxcbi5hY3Rpb24taXRlbV9fbWVudXRvZ2dsZVtkYXRhLXYtNGY0NTg2NGJdOmRpc2FibGVkLCAuYWN0aW9uLWl0ZW0tLXNpbmdsZVtkYXRhLXYtNGY0NTg2NGJdOmRpc2FibGVkIHtcXG4gICAgb3BhY2l0eTogLjMgIWltcG9ydGFudDtcXG59XFxuLmFjdGlvbi1pdGVtLmFjdGlvbi1pdGVtLS1vcGVuIC5hY3Rpb24taXRlbV9fbWVudXRvZ2dsZVtkYXRhLXYtNGY0NTg2NGJdIHtcXG4gICAgb3BhY2l0eTogMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjcsIDEyNywgMTI3LCAwLjI1KTtcXG59XFxuLmFjdGlvbi1pdGVtLS1zaW5nbGVbZGF0YS12LTRmNDU4NjRiXSwgLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlW2RhdGEtdi00ZjQ1ODY0Yl0ge1xcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICB3aWR0aDogYXV0bztcXG4gICAgbWluLXdpZHRoOiA0NHB4O1xcbiAgICBoZWlnaHQ6IDQ0cHg7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMTRweDtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICBib3JkZXI6IG5vbmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDIycHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG4uYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGVbZGF0YS12LTRmNDU4NjRiXSB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICBvcGFjaXR5OiAwLjc7XFxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgICBsaW5lLWhlaWdodDogMTZweDtcXG59XFxuLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlW2RhdGEtdi00ZjQ1ODY0Yl0gc3BhbiB7XFxuICAgICAgd2lkdGg6IDE2cHg7XFxuICAgICAgaGVpZ2h0OiAxNnB4O1xcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xcbn1cXG4uYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGVbZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICAgIGNvbnRlbnQ6ICcnO1xcbn1cXG4uYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGUtLWRlZmF1bHQtaWNvbltkYXRhLXYtNGY0NTg2NGJdOmJlZm9yZSB7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgY29udGVudDogXFxcIu6oi1xcXCI7XFxufVxcbi5hY3Rpb24taXRlbV9fbWVudXRvZ2dsZS0tZGVmYXVsdC1pY29uW2RhdGEtdi00ZjQ1ODY0Yl06OmJlZm9yZSB7XFxuICAgICAgZm9udC1zaXplOiAxNnB4O1xcbn1cXG4uYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGUtLXdpdGgtdGl0bGVbZGF0YS12LTRmNDU4NjRiXSB7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICAgIHBhZGRpbmctbGVmdDogNDRweDtcXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICAgIG9wYWNpdHk6IDE7XFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7XFxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTRweCBjZW50ZXI7XFxuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xcbn1cXG4uYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGUtLXdpdGgtdGl0bGVbZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICAgICAgdG9wOiAxNHB4O1xcbiAgICAgICAgbGVmdDogMTRweDtcXG59XFxuLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlLS1wcmltYXJ5W2RhdGEtdi00ZjQ1ODY0Yl0ge1xcbiAgICAgIG9wYWNpdHk6IDE7XFxuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCk7XFxuICAgICAgYm9yZGVyOiBub25lO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxufVxcbi5hY3Rpb24taXRlbS0tb3BlbiAuYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGUtLXByaW1hcnlbZGF0YS12LTRmNDU4NjRiXSwgLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlLS1wcmltYXJ5W2RhdGEtdi00ZjQ1ODY0Yl06aG92ZXIsIC5hY3Rpb24taXRlbV9fbWVudXRvZ2dsZS0tcHJpbWFyeVtkYXRhLXYtNGY0NTg2NGJdOmZvY3VzLCAuYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGUtLXByaW1hcnlbZGF0YS12LTRmNDU4NjRiXTphY3RpdmUge1xcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCkgIWltcG9ydGFudDtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudC1saWdodCkgIWltcG9ydGFudDtcXG59XFxuLmFjdGlvbi1pdGVtLS1zaW5nbGVbZGF0YS12LTRmNDU4NjRiXSB7XFxuICAgIG9wYWNpdHk6IDAuNztcXG59XFxuLmFjdGlvbi1pdGVtLS1zaW5nbGVbZGF0YS12LTRmNDU4NjRiXTpob3ZlciwgLmFjdGlvbi1pdGVtLS1zaW5nbGVbZGF0YS12LTRmNDU4NjRiXTpmb2N1cywgLmFjdGlvbi1pdGVtLS1zaW5nbGVbZGF0YS12LTRmNDU4NjRiXTphY3RpdmUge1xcbiAgICAgIG9wYWNpdHk6IDE7XFxufVxcbi5hY3Rpb24taXRlbS0tc2luZ2xlID4gW2hpZGRlbl1bZGF0YS12LTRmNDU4NjRiXSB7XFxuICAgICAgZGlzcGxheTogbm9uZTtcXG59XFxuLmllIC5hY3Rpb24taXRlbV9fbWVudVtkYXRhLXYtNGY0NTg2NGJdLFxcbi5pZSAuYWN0aW9uLWl0ZW1fX21lbnUgLmFjdGlvbi1pdGVtX19tZW51X2Fycm93W2RhdGEtdi00ZjQ1ODY0Yl0sXFxuLmVkZ2UgLmFjdGlvbi1pdGVtX19tZW51W2RhdGEtdi00ZjQ1ODY0Yl0sXFxuLmVkZ2UgLmFjdGlvbi1pdGVtX19tZW51IC5hY3Rpb24taXRlbV9fbWVudV9hcnJvd1tkYXRhLXYtNGY0NTg2NGJdIHtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL0FjdGlvbnMudnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBRXNFQTtFQUNDLG1DQUFtQztFQUNuQyw0Q0FBdUM7RUFBRSxxQkFBQTtFQUN6QyxtUEFHbUQ7RUFBRSxlQUFBO0FBQWdCO0FBTXRFO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQjtBQUFBO0FBRmxCO0lBTU0sbUNBQW1DO0lBQ25DLFlBNUdlO0FBQU87QUFxRzVCO0lBTU0sbUNBQW1DO0lBQ25DLFlBM0dRO0FBQU87QUFvR3JCO0lBTU0sbUNBQW1DO0lBQ25DLFlBMUdnQjtBQUFPO0FBbUc3QjtJQU1NLG1DQUFtQztJQUNuQyxZQXpHUztBQUFPO0FBa0d0QjtJQU1NLG1DQUFtQztJQUNuQyxZQXhHUTtBQUFPO0FBaUdyQjtJQU1NLG1DQUFtQztJQUNuQyxZQXZHTztBQUFPO0FBZ0dwQjtJQU1NLG1DQUFtQztJQUNuQyxZQXRHRztBQUFPO0FBK0ZoQjtJQU1NLG1DQUFtQztJQUNuQyxZQXJHSztBQUFPO0FBOEZsQjtJQU1NLG1DQUFtQztJQUNuQyxZQXBHRTtBQUFPO0FBNkZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBbkdFO0FBQU87QUE0RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFsR0U7QUFBTztBQTJGZjtJQU1NLG1DQUFtQztJQUNuQyxZQWpHRztBQUFPO0FBMEZoQjtJQU1NLG1DQUFtQztJQUNuQyxZQWhHRTtBQUFPO0FBeUZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBL0ZRO0FBQU87QUF3RnJCO0lBTU0sbUNBQW1DO0lBQ25DLFlBOUZjO0FBQU87QUF1RjNCO0lBTU0sbUNBQW1DO0lBQ25DLFlBN0ZhO0FBQU87QUFzRjFCO0lBTU0sbUNBQW1DO0lBQ25DLFlBNUZtQjtBQUFPO0FBcUZoQztJQU1NLG1DQUFtQztJQUNuQyxZQTNGZ0I7QUFBTztBRjZuQi9CO0VBQ0Msa0JBQWtCO0VBQ2xCLHFCQUFxQjtBQUFBO0FBSXJCO0lBTUMsVUNobkJjO0lEa25CZCwyQ0MxbkJzQztBQUFBO0FEOG5CdkM7SUFFQyxzQkFBc0I7QUFBQTtBQXBCeEI7SUF3QkUsVUM1bkJjO0lENm5CZCwyQ0N6bkJnRDtBQUFBO0FENm5CakQ7SUFFQyxzQkFBc0I7SUFDdEIsV0FBVztJQUNYLGVDeHBCbUI7SUR5cEJuQixZQ3pwQm1CO0lEMHBCbkIsU0FBUztJQUNULGFDbnBCOEM7SURvcEI5QyxlQUFlO0lBQ2YsWUFBWTtJQUNaLG1CQUFrQztJQUNsQyw2QkFBNkI7QUFBQTtBQUk5QjtJQUVDLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFlDdHBCaUI7SUR1cEJqQixpQkFBaUI7SUFDakIsaUJDdHFCYztBQUFBO0FEK3BCZDtNQVdDLFdDMXFCYTtNRDJxQmIsWUMzcUJhO01ENHFCYixpQkM1cUJhO0FBQUE7QUQrcEJkO01BaUJDLFdBQVc7QUFBQTtBQUdYO01FOW5CQyxtQ0FqRm1CO01Ba0ZuQixrQkFBa0I7TUFDbEIsZ0JBQWdCO01BQ2hCLFlBekVNO0FBQU87QUZvc0JkO01BR0MsZUN0ckJZO0FBQUE7QUQwckJkO01BQ0Msa0JBQWtCO01BQ2xCLGtCQ2hzQmtCO01EaXNCbEIsbUJBQW1CO01BQ25CLFVDL3FCYTtNRGdyQmIsMENBQTBDO01BRTFDLDhDQUE4QztNQUM5QyxnQ0FBd0M7TUFDeEMsa0JBQWtCO0FBQUE7QUFUbEI7UUFZQyxrQkFBa0I7UUFDbEIsU0Nuc0I0QztRRG9zQjVDLFVDcHNCNEM7QUFBQTtBRHdzQjlDO01BQ0MsVUM5ckJhO01EK3JCYixnQ0FBZ0M7TUFDaEMsWUFBWTtNQUNaLDhDQUE4QztBQUFBO0FBQzlDO1FBSUMsMkNBQTJDO1FBQzNDLCtEQUErRDtBQUFBO0FBS2xFO0lBQ0MsWUM5c0JpQjtBQUFBO0FENnNCakI7TUFLQyxVQ2p0QmE7QUFBQTtBRDRzQmQ7TUFTQyxhQUFhO0FBQUE7QUFLaEI7Ozs7RUFJRSxxQ0FBcUM7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuQGltcG9ydCAnLi4vLi4vZm9udHMvc2Nzcy9pY29uZm9udC12dWUnO1xcblxcbi5hY3Rpb24taXRlbSB7XFxuXFx0cG9zaXRpb246IHJlbGF0aXZlO1xcblxcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG5cXG5cXHQvLyBwdXQgYSBncmV5IHJvdW5kIGJhY2tncm91bmQgd2hlbiBtZW51IGlzIG9wZW5lZFxcblxcdC8vIG9yIGhvdmVyLWZvY3VzZWRcXG5cXHQmLS1zaW5nbGU6aG92ZXIsXFxuXFx0Ji0tc2luZ2xlOmZvY3VzLFxcblxcdCYtLXNpbmdsZTphY3RpdmUsXFxuXFx0Jl9fbWVudXRvZ2dsZTpob3ZlcixcXG5cXHQmX19tZW51dG9nZ2xlOmZvY3VzLFxcblxcdCZfX21lbnV0b2dnbGU6YWN0aXZlIHtcXG5cXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdC8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcblxcdFxcdGJhY2tncm91bmQtY29sb3I6ICRpY29uLWZvY3VzLWJnO1xcblxcdH1cXG5cXG5cXHQvLyBUT0RPOiBoYW5kbGUgdGhpcyBpbiB0aGUgZnV0dXJlIGJ1dHRvbiBjb21wb25lbnRcXG5cXHQmX19tZW51dG9nZ2xlOmRpc2FibGVkLFxcblxcdCYtLXNpbmdsZTpkaXNhYmxlZCB7XFxuXFx0XFx0b3BhY2l0eTogLjMgIWltcG9ydGFudDtcXG5cXHR9XFxuXFxuXFx0Ji5hY3Rpb24taXRlbS0tb3BlbiAuYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGUge1xcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyO1xcblxcdH1cXG5cXG5cXHQvLyBpY29uc1xcblxcdCYtLXNpbmdsZSxcXG5cXHQmX19tZW51dG9nZ2xlIHtcXG5cXHRcXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xcblxcdFxcdHdpZHRoOiBhdXRvO1xcblxcdFxcdG1pbi13aWR0aDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdGhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdG1hcmdpbjogMDtcXG5cXHRcXHRwYWRkaW5nOiAkaWNvbi1tYXJnaW47XFxuXFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdGJvcmRlcjogbm9uZTtcXG5cXHRcXHRib3JkZXItcmFkaXVzOiAkY2xpY2thYmxlLWFyZWEgLyAyO1xcblxcdFxcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdH1cXG5cXG5cXHQvLyBpY29uLW1vcmVcXG5cXHQmX19tZW51dG9nZ2xlIHtcXG5cXHRcXHQvLyBhbGlnbiBtZW51IGljb24gaW4gY2VudGVyXFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRhbGlnbi1pdGVtczogY2VudGVyO1xcblxcdFxcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHRcXHRmb250LXdlaWdodDogYm9sZDtcXG5cXHRcXHRsaW5lLWhlaWdodDogJGljb24tc2l6ZTtcXG5cXG5cXHRcXHQvLyBpbWFnZSBzbG90XFxuXFx0XFx0L2RlZXAvIHNwYW4ge1xcblxcdFxcdFxcdHdpZHRoOiAkaWNvbi1zaXplO1xcblxcdFxcdFxcdGhlaWdodDogJGljb24tc2l6ZTtcXG5cXHRcXHRcXHRsaW5lLWhlaWdodDogJGljb24tc2l6ZTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0JjpiZWZvcmUge1xcblxcdFxcdFxcdGNvbnRlbnQ6ICcnO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmLS1kZWZhdWx0LWljb24ge1xcblxcdFxcdFxcdEBpbmNsdWRlIGljb25mb250KCdtb3JlJyk7XFxuXFx0XFx0XFx0Jjo6YmVmb3JlIHtcXG5cXHRcXHRcXHRcXHRmb250LXNpemU6ICRpY29uLXNpemU7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXG5cXHRcXHQmLS13aXRoLXRpdGxlIHtcXG5cXHRcXHRcXHRwb3NpdGlvbjogcmVsYXRpdmU7XFxuXFx0XFx0XFx0cGFkZGluZy1sZWZ0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdFxcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXJrKTtcXG5cXHRcXHRcXHQvLyB3aXRoIGEgdGl0bGUsIHdlIG5lZWQgdG8gZGlzcGxheSB0aGlzIGFzIGEgcmVhbCBidXR0b25cXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmspO1xcblxcdFxcdFxcdGJhY2tncm91bmQtcG9zaXRpb246ICRpY29uLW1hcmdpbiBjZW50ZXI7XFxuXFx0XFx0XFx0Zm9udC1zaXplOiBpbmhlcml0O1xcblxcdFxcdFxcdC8vIG5vbi1iYWNrZ3JvdW5kIGljb24gY2xhc3NcXG5cXHRcXHRcXHQmOmJlZm9yZSB7XFxuXFx0XFx0XFx0XFx0cG9zaXRpb246IGFic29sdXRlO1xcblxcdFxcdFxcdFxcdHRvcDogJGljb24tbWFyZ2luO1xcblxcdFxcdFxcdFxcdGxlZnQ6ICRpY29uLW1hcmdpbjtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcblxcdFxcdCYtLXByaW1hcnkge1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XFxuXFx0XFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCk7XFxuXFx0XFx0XFx0Ym9yZGVyOiBub25lO1xcblxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxuXFx0XFx0XFx0LmFjdGlvbi1pdGVtLS1vcGVuICYsXFxuXFx0XFx0XFx0Jjpob3ZlcixcXG5cXHRcXHRcXHQmOmZvY3VzLFxcblxcdFxcdFxcdCY6YWN0aXZlIHtcXG5cXHRcXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KSAhaW1wb3J0YW50O1xcblxcdFxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudC1saWdodCkgIWltcG9ydGFudDtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQmLS1zaW5nbGUge1xcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHRcXHQmOmhvdmVyLFxcblxcdFxcdCY6Zm9jdXMsXFxuXFx0XFx0JjphY3RpdmUge1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XFxuXFx0XFx0fVxcblxcdFxcdC8vIGhpZGUgYW55dGhpbmcgdGhlIHNsb3QgaXMgZGlzcGxheWluZ1xcblxcdFxcdCYgPiBbaGlkZGVuXSB7XFxuXFx0XFx0XFx0ZGlzcGxheTogbm9uZTtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cXG4uaWUsXFxuLmVkZ2Uge1xcblxcdC5hY3Rpb24taXRlbV9fbWVudSxcXG5cXHQuYWN0aW9uLWl0ZW1fX21lbnUgLmFjdGlvbi1pdGVtX19tZW51X2Fycm93IHtcXG5cXHRcXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xcblxcdH1cXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiLFwiJF9faWNvbmZvbnRfX2RhdGE6IG1hcC1tZXJnZShpZihnbG9iYWxfdmFyaWFibGVfZXhpc3RzKCdfX2ljb25mb250X19kYXRhJyksICRfX2ljb25mb250X19kYXRhLCAoKSksIChcXG5cXHRcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiOiAoXFxuXFx0XFx0XFxcImFycm93LWxlZnQtZG91YmxlXFxcIjogXFxcIlxcXFxlYTAxXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctbGVmdFxcXCI6IFxcXCJcXFxcZWEwMlxcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0LWRvdWJsZVxcXCI6IFxcXCJcXFxcZWEwM1xcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0XFxcIjogXFxcIlxcXFxlYTA0XFxcIixcXG5cXHRcXHRcXFwiYnJlYWRjcnVtYlxcXCI6IFxcXCJcXFxcZWEwNVxcXCIsXFxuXFx0XFx0XFxcImNoZWNrbWFya1xcXCI6IFxcXCJcXFxcZWEwNlxcXCIsXFxuXFx0XFx0XFxcImNsb3NlXFxcIjogXFxcIlxcXFxlYTA3XFxcIixcXG5cXHRcXHRcXFwiY29uZmlybVxcXCI6IFxcXCJcXFxcZWEwOFxcXCIsXFxuXFx0XFx0XFxcImluZm9cXFwiOiBcXFwiXFxcXGVhMDlcXFwiLFxcblxcdFxcdFxcXCJtZW51XFxcIjogXFxcIlxcXFxlYTBhXFxcIixcXG5cXHRcXHRcXFwibW9yZVxcXCI6IFxcXCJcXFxcZWEwYlxcXCIsXFxuXFx0XFx0XFxcInBhdXNlXFxcIjogXFxcIlxcXFxlYTBjXFxcIixcXG5cXHRcXHRcXFwicGxheVxcXCI6IFxcXCJcXFxcZWEwZFxcXCIsXFxuXFx0XFx0XFxcInRyaWFuZ2xlLXNcXFwiOiBcXFwiXFxcXGVhMGVcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1hd2F5XFxcIjogXFxcIlxcXFxlYTBmXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtZG5kXFxcIjogXFxcIlxcXFxlYTEwXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtaW52aXNpYmxlXFxcIjogXFxcIlxcXFxlYTExXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtb25saW5lXFxcIjogXFxcIlxcXFxlYTEyXFxcIlxcblxcdClcXG4pKTtcXG5cXG5cXG4kY3JlYXRlLWZvbnQtZmFjZTogdHJ1ZSAhZGVmYXVsdDsgLy8gc2hvdWxkIHRoZSBAZm9udC1mYWNlIHRhZyBnZXQgY3JlYXRlZD9cXG5cXG4vLyBzaG91bGQgdGhlcmUgYmUgYSBjdXN0b20gY2xhc3MgZm9yIGVhY2ggaWNvbj8gd2lsbCBiZSAuZmlsZW5hbWVcXG4kY3JlYXRlLWljb24tY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDsgXFxuXFxuLy8gd2hhdCBpcyB0aGUgY29tbW9uIGNsYXNzIG5hbWUgdGhhdCBpY29ucyBzaGFyZT8gaW4gdGhpcyBjYXNlIGljb25zIG5lZWQgdG8gaGF2ZSAuaWNvbi5maWxlbmFtZSBpbiB0aGVpciBjbGFzc2VzXFxuLy8gdGhpcyByZXF1aXJlcyB5b3UgdG8gaGF2ZSAyIGNsYXNzZXMgb24gZWFjaCBpY29uIGh0bWwgZWxlbWVudCwgYnV0IHJlZHVjZWQgcmVkZWNsYXJhdGlvbiBvZiB0aGUgZm9udCBmYW1pbHlcXG4vLyBmb3IgZWFjaCBpY29uXFxuJGljb24tY29tbW9uLWNsYXNzOiAnaWNvbicgIWRlZmF1bHQ7XFxuXFxuLy8gaWYgeW91IHdoaXNoIHRvIHByZWZpeCB5b3VyIGZpbGVuYW1lcywgaGVyZSB5b3UgY2FuIGRvIHNvLlxcbi8vIGlmIHRoaXMgc3RyaW5nIHN0YXlzIGVtcHR5LCB5b3VyIGNsYXNzZXMgd2lsbCB1c2UgdGhlIGZpbGVuYW1lLCBmb3IgZXhhbXBsZVxcbi8vIGFuIGljb24gY2FsbGVkIHN0YXIuc3ZnIHdpbGwgcmVzdWx0IGluIGEgY2xhc3MgY2FsbGVkIC5zdGFyXFxuLy8gaWYgeW91IHVzZSB0aGUgcHJlZml4IHRvIGJlICdpY29uLScgaXQgd291bGQgcmVzdWx0IGluIC5pY29uLXN0YXJcXG4kaWNvbi1wcmVmaXg6ICcnICFkZWZhdWx0OyBcXG5cXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvbnQgZ3JvdXBcXG5AZnVuY3Rpb24gaWNvbmZvbnQtZ3JvdXAoJGdyb3VwOiBudWxsKSB7XFxuICBAaWYgKG51bGwgPT0gJGdyb3VwKSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICBAaWYgKGZhbHNlID09IG1hcC1oYXMta2V5KCRfX2ljb25mb250X19kYXRhLCAkZ3JvdXApKSB7XFxuICAgIEB3YXJuICdVbmRlZmluZWQgSWNvbmZvbnQgRmFtaWx5ISc7XFxuICAgIEByZXR1cm4gKCk7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJF9faWNvbmZvbnRfX2RhdGEsICRncm91cCk7XFxufVxcblxcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3QgaWNvbiBvZiBhIGdyb3VwXFxuQGZ1bmN0aW9uIGljb25mb250LWl0ZW0oJG5hbWUpIHtcXG4gICRzbGFzaDogc3RyLWluZGV4KCRuYW1lLCAnLycpO1xcbiAgJGdyb3VwOiBudWxsO1xcbiAgQGlmICgkc2xhc2gpIHtcXG4gICAgJGdyb3VwOiBzdHItc2xpY2UoJG5hbWUsIDAsICRzbGFzaCAtIDEpO1xcbiAgICAkbmFtZTogc3RyLXNsaWNlKCRuYW1lLCAkc2xhc2ggKyAxKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgJGdyb3VwOiBpY29uZm9udC1ncm91cCgkZ3JvdXApO1xcbiAgQGlmIChmYWxzZSA9PSBtYXAtaGFzLWtleSgkZ3JvdXAsICRuYW1lKSkge1xcbiAgICBAd2FybiAnVW5kZWZpbmVkIEljb25mb250IEdseXBoISc7XFxuICAgIEByZXR1cm4gJyc7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJGdyb3VwLCAkbmFtZSk7XFxufVxcblxcbi8vIGNvbXBsZXRlIG1peGluZyB0byBpbmNsdWRlIHRoZSBpY29uXFxuLy8gdXNhZ2U6XFxuLy8gLm15X2ljb257IEBpbmNsdWRlIGljb25mb250KCdzdGFyJykgfVxcbkBtaXhpbiBpY29uZm9udCgkaWNvbikge1xcbiAgJHNsYXNoOiBzdHItaW5kZXgoJGljb24sICcvJyk7XFxuICAkZ3JvdXA6IG51bGw7XFxuICBAaWYgKCRzbGFzaCkge1xcbiAgICAkZ3JvdXA6IHN0ci1zbGljZSgkaWNvbiwgMCwgJHNsYXNoIC0gMSk7XFxuICB9IEBlbHNlIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gICY6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6ICRncm91cDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKCRpY29uKTtcXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyB0aGUgZm9udCBmYWNlIHRhZyBpZiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIHRydWUgKGRlZmF1bHQpXFxuQGlmICRjcmVhdGUtZm9udC1mYWNlID09IHRydWUge1xcbiAgQGZvbnQtZmFjZSB7XFxuICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2ZycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyBpY29uIGNsYXNzZXMgZm9yIGVhY2ggaW5kaXZpZHVhbCBsb2FkZWQgc3ZnIChkZWZhdWx0KVxcbkBpZiAkY3JlYXRlLWljb24tY2xhc3NlcyA9PSB0cnVlIHtcXG4gIC4jeyRpY29uLWNvbW1vbi1jbGFzc30ge1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuXFxuICAgIEBlYWNoICRpY29uLCAkY29udGVudCBpbiBtYXAtZ2V0KCRfX2ljb25mb250X19kYXRhLCBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiKSB7XFxuICAgICAgJi4jeyRpY29uLXByZWZpeH0jeyRpY29ufTpiZWZvcmUge1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKFxcXCJpY29uZm9udC12dWUtODRjNDYxZi8jeyRpY29ufVxcXCIpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbi5hcHAtY29udGVudFtkYXRhLXYtNzE3NThiMGZdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHotaW5kZXg6IDEwMDA7XFxuICBmbGV4LWJhc2lzOiAxMDB2dztcXG4gIG1pbi13aWR0aDogMDtcXG4gIG1pbi1oZWlnaHQ6IDEwMCU7XFxuICBtYXJnaW46IDAgIWltcG9ydGFudDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL0FwcENvbnRlbnQudnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBQTZERjtFQUNDLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWixnQkFBZ0I7RUFFaEIsb0JBQW9CO0VBQ3BCLDhDQUE4QztBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG4uYXBwLWNvbnRlbnQge1xcblxcdHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXHR6LWluZGV4OiAxMDAwO1xcblxcdGZsZXgtYmFzaXM6IDEwMHZ3O1xcblxcdG1pbi13aWR0aDogMDtcXG5cXHRtaW4taGVpZ2h0OiAxMDAlO1xcblxcdC8vIE92ZXJyaWRpbmcgc2VydmVyIHN0eWxlcyBUT0RPOiBjbGVhbnVwIVxcblxcdG1hcmdpbjogMCAhaW1wb3J0YW50O1xcblxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxufVxcblxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbi5hcHAtbmF2aWdhdGlvbltkYXRhLXYtZDM5MDhjMGFdIHtcXG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XFxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tYW5pbWF0aW9uLXF1aWNrKSwgbWFyZ2luIHZhcigtLWFuaW1hdGlvbi1xdWljayk7XFxuICB3aWR0aDogMzAwcHg7XFxuICBwb3NpdGlvbjogc3RpY2t5O1xcbiAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xcbiAgdG9wOiA1MHB4O1xcbiAgbGVmdDogMDtcXG4gIHotaW5kZXg6IDE4MDA7XFxuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA1MHB4KTtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGZsZXgtZ3JvdzogMDtcXG4gIGZsZXgtc2hyaW5rOiAwO1xcbn1cXG4uYXBwLW5hdmlnYXRpb24tLWNsb3NlW2RhdGEtdi1kMzkwOGMwYV0ge1xcbiAgICBtYXJnaW4tbGVmdDogLTMwMHB4O1xcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xcbn1cXG4uYXBwLW5hdmlnYXRpb24gdWxbZGF0YS12LWQzOTA4YzBhXSwgLmFwcC1uYXZpZ2F0aW9uX19saXN0W2RhdGEtdi1kMzkwOGMwYV0ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGhlaWdodDogMTAwJTtcXG4gICAgd2lkdGg6IGluaGVyaXQ7XFxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcXG4gICAgb3ZlcmZsb3cteTogYXV0bztcXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcXG4uYXBwLW5hdmlnYXRpb25bZGF0YS12LWQzOTA4YzBhXTpub3QoLmFwcC1uYXZpZ2F0aW9uLS1jbG9zZSkge1xcbiAgICBtYXJnaW4tbGVmdDogLTMwMHB4O1xcbn1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQXBwTmF2aWdhdGlvbi52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FBd0hGO0VBQ0Msc0JBQXNCO0VBQ3RCLDJFQUEyRTtFQUMzRSxZQzNGdUI7RUQ0RnZCLGdCQUFnQjtFQUNoQix3QkFBd0I7RUFDeEIsU0MvRm1CO0VEZ0duQixPQUFPO0VBRVAsYUFBYTtFQUNiLDBCQUF1QztFQUN2QyxzQkFBc0I7RUFDdEIsOENBQThDO0VBQzlDLHlCQUF5QjtFQUN6QixzQkFBc0I7RUFDdEIscUJBQXFCO0VBQ3JCLGlCQUFpQjtFQUNqQiwyQ0FBMkM7RUFDM0MsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixZQUFZO0VBQ1osY0FBYztBQUFBO0FBRWQ7SUFDQyxtQkNoSHNCO0lEaUh0Qiw0QkFBNEI7QUFBQTtBQXpCOUI7SUErQkUsa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIsYUFBYTtJQUNiLHNCQUFzQjtBQUFBO0FBS3hCO0FBQ0M7SUFDQyxtQkNySXNCO0FBQUE7QURzSXRCXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG4uYXBwLW5hdmlnYXRpb24ge1xcblxcdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XFxuXFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbi1xdWljayksIG1hcmdpbiB2YXIoLS1hbmltYXRpb24tcXVpY2spO1xcblxcdHdpZHRoOiAkbmF2aWdhdGlvbi13aWR0aDtcXG5cXHRwb3NpdGlvbjogc3RpY2t5O1xcblxcdHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcXG5cXHR0b3A6ICRoZWFkZXItaGVpZ2h0O1xcblxcdGxlZnQ6IDA7XFxuXFx0Ly8gQWJvdmUgYXBwY29udGVudFxcblxcdHotaW5kZXg6IDE4MDA7XFxuXFx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skaGVhZGVyLWhlaWdodH0pO1xcblxcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuXFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG5cXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcblxcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuXFx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xcblxcdHVzZXItc2VsZWN0OiBub25lO1xcblxcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XFxuXFx0ZGlzcGxheTogZmxleDtcXG5cXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcblxcdGZsZXgtZ3JvdzogMDtcXG5cXHRmbGV4LXNocmluazogMDtcXG5cXG5cXHQmLS1jbG9zZSB7XFxuXFx0XFx0bWFyZ2luLWxlZnQ6IC0gJG5hdmlnYXRpb24td2lkdGg7XFxuXFx0XFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcXG5cXHR9XFxuXFxuXFx0Ly9saXN0IG9mIG5hdmlnYXRpb24gaXRlbXNcXG5cXHR1bCxcXG5cXHQmX19saXN0IHtcXG5cXHRcXHRwb3NpdGlvbjogcmVsYXRpdmU7XFxuXFx0XFx0aGVpZ2h0OiAxMDAlO1xcblxcdFxcdHdpZHRoOiBpbmhlcml0O1xcblxcdFxcdG92ZXJmbG93LXg6IGhpZGRlbjtcXG5cXHRcXHRvdmVyZmxvdy15OiBhdXRvO1xcblxcdFxcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcblxcdH1cXG59XFxuXFxuLy8gV2hlbiBvbiBtb2JpbGUsIHdlIG1ha2UgdGhlIG5hdmlnYXRpb24gc2xpZGUgb3ZlciB0aGUgYXBwY29udGVudFxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XFxuXFx0LmFwcC1uYXZpZ2F0aW9uOm5vdCguYXBwLW5hdmlnYXRpb24tLWNsb3NlKSB7XFxuXFx0XFx0bWFyZ2luLWxlZnQ6IC0gJG5hdmlnYXRpb24td2lkdGg7XFxuXFx0fVxcbn1cXG5cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG4uYXBwLW5hdmlnYXRpb24tY2FwdGlvbltkYXRhLXYtNmVlNjU4MjJdIHtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbWF4Y29udHJhc3QpO1xcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XFxuICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgb3BhY2l0eTogMC43O1xcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xcbiAgb3JkZXI6IDE7XFxuICBmbGV4LXNocmluazogMDtcXG59XFxuLmFwcC1uYXZpZ2F0aW9uLWNhcHRpb25bZGF0YS12LTZlZTY1ODIyXTpub3QoOmZpcnN0LWNoaWxkKSB7XFxuICBtYXJnaW4tdG9wOiAyMnB4O1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FBQUY7RUFDQyxpQkFBaUI7RUFDakIsb0NBQW9DO0VBQ3BDLGlCQ0NvQjtFREFwQixrQkNBb0I7RURDcEIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLDJCQUEyQjtFQUMzQixRQUFRO0VBQ1IsY0FBYztBQUFBO0FBSWY7RUFDQyxnQkFBK0I7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuLmFwcC1uYXZpZ2F0aW9uLWNhcHRpb24ge1xcblxcdGZvbnQtd2VpZ2h0OiBib2xkO1xcblxcdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW1heGNvbnRyYXN0KTtcXG5cXHRsaW5lLWhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdHBhZGRpbmctbGVmdDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG5cXHRvcGFjaXR5OiAwLjc7XFxuXFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xcblxcdG9yZGVyOiAxO1xcblxcdGZsZXgtc2hyaW5rOiAwO1xcbn1cXG5cXG4vLyBleHRyYSB0b3Agc3BhY2UgaWYgaXQncyBub3QgdGhlIGZpcnN0IGl0ZW0gb24gdGhlIGxpc3RcXG4uYXBwLW5hdmlnYXRpb24tY2FwdGlvbjpub3QoOmZpcnN0LWNoaWxkKSB7XFxuXFx0bWFyZ2luLXRvcDogJGNsaWNrYWJsZS1hcmVhIC8gMjtcXG59XFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuLmFwcC1uYXZpZ2F0aW9uLWVudHJ5X19jb3VudGVyW2RhdGEtdi0yMzFkN2RhZl0ge1xcbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLWRlZmF1bHQtZm9udC1zaXplKSAqIC44KTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB3aWR0aDogZml0LWNvbnRlbnQ7XFxuICBtYXgtd2lkdGg6IDQ0cHg7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIGxpbmUtaGVpZ2h0OiAxZW07XFxuICBwYWRkaW5nOiA0cHggOHB4O1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTtcXG59XFxuLmFwcC1uYXZpZ2F0aW9uLWVudHJ5X19jb3VudGVyLS1oaWdobGlnaHRlZFtkYXRhLXYtMjMxZDdkYWZdIHtcXG4gICAgcGFkZGluZzogNHB4IDZweDtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9BcHBOYXZpZ2F0aW9uQ291bnRlci52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FBMENGO0VBQ0MsOENBQThDO0VBQzlDLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsZUMxQ29CO0VEMkNwQixrQkFBa0I7RUFDbEIsdUJBQXVCO0VBQ3ZCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsd0NBQXdDO0VBQ3hDLGdEQUFnRDtBQUFBO0FBRWhEO0lBQ0MsZ0JBQWdCO0lBQ2hCLGdDQUFnQztJQUNoQyxzQ0FBc0M7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuLmFwcC1uYXZpZ2F0aW9uLWVudHJ5X19jb3VudGVyIHtcXG5cXHRmb250LXNpemU6IGNhbGModmFyKC0tZGVmYXVsdC1mb250LXNpemUpICogLjgpO1xcblxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0d2lkdGg6IGZpdC1jb250ZW50O1xcblxcdG1heC13aWR0aDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdHRleHQtYWxpZ246IGNlbnRlcjtcXG5cXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG5cXHRsaW5lLWhlaWdodDogMWVtO1xcblxcdHBhZGRpbmc6IDRweCA4cHg7XFxuXFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcXG5cXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmtlcik7XFxuXFxuXFx0Ji0taGlnaGxpZ2h0ZWQge1xcblxcdFxcdHBhZGRpbmc6IDRweCA2cHg7XFxuXFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCk7XFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XFxuXFx0fVxcbn1cXG5cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG4uYXBwLW5hdmlnYXRpb24tZW50cnlfX2ljb24tYnVsbGV0W2RhdGEtdi0xNTg5YTgxZV0ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBwYWRkaW5nOiAxNXB4O1xcbn1cXG4uYXBwLW5hdmlnYXRpb24tZW50cnlfX2ljb24tYnVsbGV0IGRpdltkYXRhLXYtMTU4OWE4MWVdIHtcXG4gICAgd2lkdGg6IDE0cHg7XFxuICAgIGhlaWdodDogMTRweDtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEwMG1zIGVhc2UtaW4tb3V0O1xcbiAgICBib3JkZXI6IG5vbmU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQXBwTmF2aWdhdGlvbkljb25CdWxsZXQudnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBQTRERjtFQUNDLGNBQWM7RUFFZCxhQUEyQjtBQUFBO0FBSDVCO0lBS0UsV0FBdUI7SUFDdkIsWUFBd0I7SUFDeEIsZUFBZTtJQUNmLHdDQUF3QztJQUN4QyxZQUFZO0lBQ1osa0JBQWtCO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9faWNvbi1idWxsZXQge1xcblxcdGRpc3BsYXk6IGJsb2NrO1xcblxcdC8vIHRoZXJlIGlzIDIgbWFyZ2luc1xcblxcdHBhZGRpbmc6ICRpY29uLW1hcmdpbiArIDFweDtcXG5cXHRkaXYge1xcblxcdFxcdHdpZHRoOiAkaWNvbi1zaXplIC0gMnB4O1xcblxcdFxcdGhlaWdodDogJGljb24tc2l6ZSAtIDJweDtcXG5cXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMDBtcyBlYXNlLWluLW91dDtcXG5cXHRcXHRib3JkZXI6IG5vbmU7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogNTAlO1xcblxcdH1cXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvZ2V0VXJsLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdFwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi53b2ZmXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzJfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLnR0ZlwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8zX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5zdmdcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzFfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzJfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8zX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICBzcmM6IHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gKyBcIik7XFxuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICBzcmM6IHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gKyBcIikgZm9ybWF0KFxcXCJlbWJlZGRlZC1vcGVudHlwZVxcXCIpLCB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8xX19fICsgXCIpIGZvcm1hdChcXFwid29mZlxcXCIpLCB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fICsgXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyArIFwiKSBmb3JtYXQoXFxcInN2Z1xcXCIpO1xcbiAgLyogTGVnYWN5IGlPUyAqL1xcbn1cXG4uaWNvbltkYXRhLXYtM2M0YWNmYjNdIHtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxufVxcbi5pY29uLmFycm93LWxlZnQtZG91YmxlW2RhdGEtdi0zYzRhY2ZiM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIFcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1sZWZ0W2RhdGEtdi0zYzRhY2ZiM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIJcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1yaWdodC1kb3VibGVbZGF0YS12LTNjNGFjZmIzXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6og1xcXCI7XFxufVxcbi5pY29uLmFycm93LXJpZ2h0W2RhdGEtdi0zYzRhY2ZiM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIRcXFwiO1xcbn1cXG4uaWNvbi5icmVhZGNydW1iW2RhdGEtdi0zYzRhY2ZiM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIVcXFwiO1xcbn1cXG4uaWNvbi5jaGVja21hcmtbZGF0YS12LTNjNGFjZmIzXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ohlxcXCI7XFxufVxcbi5pY29uLmNsb3NlW2RhdGEtdi0zYzRhY2ZiM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIdcXFwiO1xcbn1cXG4uaWNvbi5jb25maXJtW2RhdGEtdi0zYzRhY2ZiM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIhcXFwiO1xcbn1cXG4uaWNvbi5pbmZvW2RhdGEtdi0zYzRhY2ZiM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIlcXFwiO1xcbn1cXG4uaWNvbi5tZW51W2RhdGEtdi0zYzRhY2ZiM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIpcXFwiO1xcbn1cXG4uaWNvbi5tb3JlW2RhdGEtdi0zYzRhY2ZiM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqItcXFwiO1xcbn1cXG4uaWNvbi5wYXVzZVtkYXRhLXYtM2M0YWNmYjNdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiMXFxcIjtcXG59XFxuLmljb24ucGxheVtkYXRhLXYtM2M0YWNmYjNdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiNXFxcIjtcXG59XFxuLmljb24udHJpYW5nbGUtc1tkYXRhLXYtM2M0YWNmYjNdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiOXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtYXdheVtkYXRhLXYtM2M0YWNmYjNdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiPXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtZG5kW2RhdGEtdi0zYzRhY2ZiM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJBcXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1pbnZpc2libGVbZGF0YS12LTNjNGFjZmIzXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6okVxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLW9ubGluZVtkYXRhLXYtM2M0YWNmYjNdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiSXFxcIjtcXG59XFxuLmljb24tY29sbGFwc2VbZGF0YS12LTNjNGFjZmIzXSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB6LWluZGV4OiAxMDU7XFxuICB3aWR0aDogNDRweDtcXG4gIGhlaWdodDogNDRweDtcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbi1xdWljaykgZWFzZS1pbi1vdXQ7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XFxuICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG4gIGJvcmRlcjogbm9uZTtcXG4gIGJvcmRlci1yYWRpdXM6IDA7XFxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxuICBmb250LXNpemU6IDE4cHg7XFxufVxcbi5pY29uLWNvbGxhcHNlW2RhdGEtdi0zYzRhY2ZiM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgY29udGVudDogXFxcIu6ojlxcXCI7XFxufVxcbi5pY29uLWNvbGxhcHNlW2RhdGEtdi0zYzRhY2ZiM106aG92ZXIge1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XFxufVxcbi5pY29uLWNvbGxhcHNlLS1yb3RhdGVkW2RhdGEtdi0zYzRhY2ZiM10ge1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG59XFxuLmljb24tY29sbGFwc2UtLXJvdGF0ZWRbZGF0YS12LTNjNGFjZmIzXTpob3ZlciB7XFxuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9BcHBOYXZpZ2F0aW9uSWNvbkNvbGxhcHNpYmxlLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZS5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUVzRUE7RUFDQyxtQ0FBbUM7RUFDbkMsNENBQXVDO0VBQUUscUJBQUE7RUFDekMsbVBBR21EO0VBQUUsZUFBQTtBQUFnQjtBQU10RTtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7QUFBQTtBQUZsQjtJQU1NLG1DQUFtQztJQUNuQyxZQTVHZTtBQUFPO0FBcUc1QjtJQU1NLG1DQUFtQztJQUNuQyxZQTNHUTtBQUFPO0FBb0dyQjtJQU1NLG1DQUFtQztJQUNuQyxZQTFHZ0I7QUFBTztBQW1HN0I7SUFNTSxtQ0FBbUM7SUFDbkMsWUF6R1M7QUFBTztBQWtHdEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUF4R1E7QUFBTztBQWlHckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUF2R087QUFBTztBQWdHcEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUF0R0c7QUFBTztBQStGaEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUFyR0s7QUFBTztBQThGbEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUFwR0U7QUFBTztBQTZGZjtJQU1NLG1DQUFtQztJQUNuQyxZQW5HRTtBQUFPO0FBNEZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBbEdFO0FBQU87QUEyRmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFqR0c7QUFBTztBQTBGaEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUFoR0U7QUFBTztBQXlGZjtJQU1NLG1DQUFtQztJQUNuQyxZQS9GUTtBQUFPO0FBd0ZyQjtJQU1NLG1DQUFtQztJQUNuQyxZQTlGYztBQUFPO0FBdUYzQjtJQU1NLG1DQUFtQztJQUNuQyxZQTdGYTtBQUFPO0FBc0YxQjtJQU1NLG1DQUFtQztJQUNuQyxZQTVGbUI7QUFBTztBQXFGaEM7SUFNTSxtQ0FBbUM7SUFDbkMsWUEzRmdCO0FBQU87QUZtQy9CO0VBQ0Msa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixXQUFXO0VBQ1gsWUFBWTtFQUNaLFNBQVM7RUFDVCxVQUFVO0VBQ1Ysc0RBQXNEO0VBQ3RELGlDQUFpQztFQUNqQyw2QkFBNkI7RUFDN0IseUJBQXlCO0VBQ3pCLDZCQUE2QjtFQUM3QixZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLHdCQUF3QjtFQUN4Qiw2QkFBNkI7RUFDN0IsZ0JBQWdCO0VBQ2hCLGVBQWU7QUFBQTtBQWpCaEI7SUU0QkksbUNBakZtQjtJQWtGbkIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixZQXRFWTtBQUFPO0FGdUN2QjtJQXNCRSwyQkFBMkI7QUFBQTtBQUU1QjtJQUNDLCtCQUErQjtJQUMvQiwyQkFBMkI7SUFDM0IsdUJBQXVCO0lBQ3ZCLDZCQUE2QjtBQUFBO0FBSjdCO01BTUMsMkJBQTJCO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbkBpbXBvcnQgJy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlJztcXG5cXG4uaWNvbi1jb2xsYXBzZSB7XFxuXFx0cG9zaXRpb246IGFic29sdXRlO1xcblxcdHotaW5kZXg6IDEwNTsgLy8gYWJvdmUgYSwgdW5kZXIgYnV0dG9uXFxuXFx0d2lkdGg6IDQ0cHg7XFxuXFx0aGVpZ2h0OiA0NHB4O1xcblxcdG1hcmdpbjogMDtcXG5cXHRwYWRkaW5nOiAwO1xcblxcdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uLXF1aWNrKSBlYXNlLWluLW91dDtcXG5cXHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XFxuXFx0LW1zLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XFxuXFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcXG5cXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRib3JkZXI6IG5vbmU7XFxuXFx0Ym9yZGVyLXJhZGl1czogMDtcXG5cXHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XFxuXFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0Ym94LXNoYWRvdzogbm9uZTtcXG5cXHRmb250LXNpemU6IDE4cHg7XFxuXFxuXFx0QGluY2x1ZGUgaWNvbmZvbnQoJ3RyaWFuZ2xlLXMnKTtcXG5cXG5cXHQmOmhvdmVye1xcblxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcXG5cXHR9XFxuXFx0Ji0tcm90YXRlZCB7XFxuXFx0XFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG5cXHRcXHQtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuXFx0XFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxuXFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuXFx0XFx0Jjpob3ZlcntcXG5cXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiLFwiJF9faWNvbmZvbnRfX2RhdGE6IG1hcC1tZXJnZShpZihnbG9iYWxfdmFyaWFibGVfZXhpc3RzKCdfX2ljb25mb250X19kYXRhJyksICRfX2ljb25mb250X19kYXRhLCAoKSksIChcXG5cXHRcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiOiAoXFxuXFx0XFx0XFxcImFycm93LWxlZnQtZG91YmxlXFxcIjogXFxcIlxcXFxlYTAxXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctbGVmdFxcXCI6IFxcXCJcXFxcZWEwMlxcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0LWRvdWJsZVxcXCI6IFxcXCJcXFxcZWEwM1xcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0XFxcIjogXFxcIlxcXFxlYTA0XFxcIixcXG5cXHRcXHRcXFwiYnJlYWRjcnVtYlxcXCI6IFxcXCJcXFxcZWEwNVxcXCIsXFxuXFx0XFx0XFxcImNoZWNrbWFya1xcXCI6IFxcXCJcXFxcZWEwNlxcXCIsXFxuXFx0XFx0XFxcImNsb3NlXFxcIjogXFxcIlxcXFxlYTA3XFxcIixcXG5cXHRcXHRcXFwiY29uZmlybVxcXCI6IFxcXCJcXFxcZWEwOFxcXCIsXFxuXFx0XFx0XFxcImluZm9cXFwiOiBcXFwiXFxcXGVhMDlcXFwiLFxcblxcdFxcdFxcXCJtZW51XFxcIjogXFxcIlxcXFxlYTBhXFxcIixcXG5cXHRcXHRcXFwibW9yZVxcXCI6IFxcXCJcXFxcZWEwYlxcXCIsXFxuXFx0XFx0XFxcInBhdXNlXFxcIjogXFxcIlxcXFxlYTBjXFxcIixcXG5cXHRcXHRcXFwicGxheVxcXCI6IFxcXCJcXFxcZWEwZFxcXCIsXFxuXFx0XFx0XFxcInRyaWFuZ2xlLXNcXFwiOiBcXFwiXFxcXGVhMGVcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1hd2F5XFxcIjogXFxcIlxcXFxlYTBmXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtZG5kXFxcIjogXFxcIlxcXFxlYTEwXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtaW52aXNpYmxlXFxcIjogXFxcIlxcXFxlYTExXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtb25saW5lXFxcIjogXFxcIlxcXFxlYTEyXFxcIlxcblxcdClcXG4pKTtcXG5cXG5cXG4kY3JlYXRlLWZvbnQtZmFjZTogdHJ1ZSAhZGVmYXVsdDsgLy8gc2hvdWxkIHRoZSBAZm9udC1mYWNlIHRhZyBnZXQgY3JlYXRlZD9cXG5cXG4vLyBzaG91bGQgdGhlcmUgYmUgYSBjdXN0b20gY2xhc3MgZm9yIGVhY2ggaWNvbj8gd2lsbCBiZSAuZmlsZW5hbWVcXG4kY3JlYXRlLWljb24tY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDsgXFxuXFxuLy8gd2hhdCBpcyB0aGUgY29tbW9uIGNsYXNzIG5hbWUgdGhhdCBpY29ucyBzaGFyZT8gaW4gdGhpcyBjYXNlIGljb25zIG5lZWQgdG8gaGF2ZSAuaWNvbi5maWxlbmFtZSBpbiB0aGVpciBjbGFzc2VzXFxuLy8gdGhpcyByZXF1aXJlcyB5b3UgdG8gaGF2ZSAyIGNsYXNzZXMgb24gZWFjaCBpY29uIGh0bWwgZWxlbWVudCwgYnV0IHJlZHVjZWQgcmVkZWNsYXJhdGlvbiBvZiB0aGUgZm9udCBmYW1pbHlcXG4vLyBmb3IgZWFjaCBpY29uXFxuJGljb24tY29tbW9uLWNsYXNzOiAnaWNvbicgIWRlZmF1bHQ7XFxuXFxuLy8gaWYgeW91IHdoaXNoIHRvIHByZWZpeCB5b3VyIGZpbGVuYW1lcywgaGVyZSB5b3UgY2FuIGRvIHNvLlxcbi8vIGlmIHRoaXMgc3RyaW5nIHN0YXlzIGVtcHR5LCB5b3VyIGNsYXNzZXMgd2lsbCB1c2UgdGhlIGZpbGVuYW1lLCBmb3IgZXhhbXBsZVxcbi8vIGFuIGljb24gY2FsbGVkIHN0YXIuc3ZnIHdpbGwgcmVzdWx0IGluIGEgY2xhc3MgY2FsbGVkIC5zdGFyXFxuLy8gaWYgeW91IHVzZSB0aGUgcHJlZml4IHRvIGJlICdpY29uLScgaXQgd291bGQgcmVzdWx0IGluIC5pY29uLXN0YXJcXG4kaWNvbi1wcmVmaXg6ICcnICFkZWZhdWx0OyBcXG5cXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvbnQgZ3JvdXBcXG5AZnVuY3Rpb24gaWNvbmZvbnQtZ3JvdXAoJGdyb3VwOiBudWxsKSB7XFxuICBAaWYgKG51bGwgPT0gJGdyb3VwKSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICBAaWYgKGZhbHNlID09IG1hcC1oYXMta2V5KCRfX2ljb25mb250X19kYXRhLCAkZ3JvdXApKSB7XFxuICAgIEB3YXJuICdVbmRlZmluZWQgSWNvbmZvbnQgRmFtaWx5ISc7XFxuICAgIEByZXR1cm4gKCk7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJF9faWNvbmZvbnRfX2RhdGEsICRncm91cCk7XFxufVxcblxcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3QgaWNvbiBvZiBhIGdyb3VwXFxuQGZ1bmN0aW9uIGljb25mb250LWl0ZW0oJG5hbWUpIHtcXG4gICRzbGFzaDogc3RyLWluZGV4KCRuYW1lLCAnLycpO1xcbiAgJGdyb3VwOiBudWxsO1xcbiAgQGlmICgkc2xhc2gpIHtcXG4gICAgJGdyb3VwOiBzdHItc2xpY2UoJG5hbWUsIDAsICRzbGFzaCAtIDEpO1xcbiAgICAkbmFtZTogc3RyLXNsaWNlKCRuYW1lLCAkc2xhc2ggKyAxKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgJGdyb3VwOiBpY29uZm9udC1ncm91cCgkZ3JvdXApO1xcbiAgQGlmIChmYWxzZSA9PSBtYXAtaGFzLWtleSgkZ3JvdXAsICRuYW1lKSkge1xcbiAgICBAd2FybiAnVW5kZWZpbmVkIEljb25mb250IEdseXBoISc7XFxuICAgIEByZXR1cm4gJyc7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJGdyb3VwLCAkbmFtZSk7XFxufVxcblxcbi8vIGNvbXBsZXRlIG1peGluZyB0byBpbmNsdWRlIHRoZSBpY29uXFxuLy8gdXNhZ2U6XFxuLy8gLm15X2ljb257IEBpbmNsdWRlIGljb25mb250KCdzdGFyJykgfVxcbkBtaXhpbiBpY29uZm9udCgkaWNvbikge1xcbiAgJHNsYXNoOiBzdHItaW5kZXgoJGljb24sICcvJyk7XFxuICAkZ3JvdXA6IG51bGw7XFxuICBAaWYgKCRzbGFzaCkge1xcbiAgICAkZ3JvdXA6IHN0ci1zbGljZSgkaWNvbiwgMCwgJHNsYXNoIC0gMSk7XFxuICB9IEBlbHNlIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gICY6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6ICRncm91cDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKCRpY29uKTtcXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyB0aGUgZm9udCBmYWNlIHRhZyBpZiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIHRydWUgKGRlZmF1bHQpXFxuQGlmICRjcmVhdGUtZm9udC1mYWNlID09IHRydWUge1xcbiAgQGZvbnQtZmFjZSB7XFxuICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2ZycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyBpY29uIGNsYXNzZXMgZm9yIGVhY2ggaW5kaXZpZHVhbCBsb2FkZWQgc3ZnIChkZWZhdWx0KVxcbkBpZiAkY3JlYXRlLWljb24tY2xhc3NlcyA9PSB0cnVlIHtcXG4gIC4jeyRpY29uLWNvbW1vbi1jbGFzc30ge1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuXFxuICAgIEBlYWNoICRpY29uLCAkY29udGVudCBpbiBtYXAtZ2V0KCRfX2ljb25mb250X19kYXRhLCBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiKSB7XFxuICAgICAgJi4jeyRpY29uLXByZWZpeH0jeyRpY29ufTpiZWZvcmUge1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKFxcXCJpY29uZm9udC12dWUtODRjNDYxZi8jeyRpY29ufVxcXCIpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2dldFVybC5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5lb3RcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYud29mZlwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi50dGZcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYuc3ZnXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpO1xcbiAgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpIGZvcm1hdChcXFwiZW1iZWRkZWQtb3BlbnR5cGVcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyArIFwiKSBmb3JtYXQoXFxcIndvZmZcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMl9fXyArIFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX18gKyBcIikgZm9ybWF0KFxcXCJzdmdcXFwiKTtcXG4gIC8qIExlZ2FjeSBpT1MgKi9cXG59XFxuLmljb24ge1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG59XFxuLmljb24uYXJyb3ctbGVmdC1kb3VibGU6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIFcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1sZWZ0OmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiCXFxcIjtcXG59XFxuLmljb24uYXJyb3ctcmlnaHQtZG91YmxlOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiDXFxcIjtcXG59XFxuLmljb24uYXJyb3ctcmlnaHQ6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIRcXFwiO1xcbn1cXG4uaWNvbi5icmVhZGNydW1iOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiFXFxcIjtcXG59XFxuLmljb24uY2hlY2ttYXJrOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiGXFxcIjtcXG59XFxuLmljb24uY2xvc2U6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIdcXFwiO1xcbn1cXG4uaWNvbi5jb25maXJtOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiIXFxcIjtcXG59XFxuLmljb24uaW5mbzpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oiVxcXCI7XFxufVxcbi5pY29uLm1lbnU6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIpcXFwiO1xcbn1cXG4uaWNvbi5tb3JlOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiLXFxcIjtcXG59XFxuLmljb24ucGF1c2U6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIxcXFwiO1xcbn1cXG4uaWNvbi5wbGF5OmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiNXFxcIjtcXG59XFxuLmljb24udHJpYW5nbGUtczpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojlxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWF3YXk6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI9cXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1kbmQ6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJBcXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1pbnZpc2libGU6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJFcXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1vbmxpbmU6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJJcXFwiO1xcbn1cXG4uYXBwLW5hdmlnYXRpb24tZW50cnkge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtc2hyaW5rOiAwO1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbiAgb3JkZXI6IDE7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgd2lkdGg6IDEwMCU7XFxuICBtaW4taGVpZ2h0OiA0NHB4O1xcbiAgcGFkZGluZy1yaWdodDogNHB4O1xcbiAgLyogaGlkZSBkZWxldGlvbi9jb2xsYXBzZSBvZiBzdWJpdGVtcyAqL1xcbiAgLyogU2Vjb25kIGxldmVsIG5lc3RpbmcgZm9yIGxpc3RzICovXFxufVxcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeS5hY3RpdmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KSAhaW1wb3J0YW50O1xcbn1cXG4uYXBwLW5hdmlnYXRpb24tZW50cnk6Zm9jdXMtd2l0aGluLCAuYXBwLW5hdmlnYXRpb24tZW50cnk6aG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcXG59XFxuLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LmFjdGl2ZSAuYXBwLW5hdmlnYXRpb24tZW50cnlfX2NoaWxkcmVuLCAuYXBwLW5hdmlnYXRpb24tZW50cnk6Zm9jdXMtd2l0aGluIC5hcHAtbmF2aWdhdGlvbi1lbnRyeV9fY2hpbGRyZW4sIC5hcHAtbmF2aWdhdGlvbi1lbnRyeTpob3ZlciAuYXBwLW5hdmlnYXRpb24tZW50cnlfX2NoaWxkcmVuIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG59XFxuLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1kZWxldGVkID4gdWwsIC5hcHAtbmF2aWdhdGlvbi1lbnRyeS5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tY29sbGFwc2libGU6bm90KC5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tb3BlbmVkKSA+IHVsIHtcXG4gICAgZGlzcGxheTogbm9uZTtcXG59XFxuLmFwcC1uYXZpZ2F0aW9uLWVudHJ5Om5vdCguYXBwLW5hdmlnYXRpb24tZW50cnktLWVkaXRpbmcpIC5hcHAtbmF2aWdhdGlvbi1lbnRyeS1saW5rLCAuYXBwLW5hdmlnYXRpb24tZW50cnk6bm90KC5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tZWRpdGluZykgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LWRpdiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE0cHg7XFxufVxcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeSAuYXBwLW5hdmlnYXRpb24tZW50cnktbGluaywgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5IC5hcHAtbmF2aWdhdGlvbi1lbnRyeS1kaXYge1xcbiAgICB6LWluZGV4OiAxMDA7XFxuICAgIC8qIGFib3ZlIHRoZSBidWxsZXQgdG8gYWxsb3cgY2xpY2sqL1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICBmbGV4OiAxIDEgMDtcXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgbWluLWhlaWdodDogNDRweDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE0cHggY2VudGVyO1xcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDtcXG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XFxufVxcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeSAuYXBwLW5hdmlnYXRpb24tZW50cnktbGluayAuYXBwLW5hdmlnYXRpb24tZW50cnktaWNvbiwgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5IC5hcHAtbmF2aWdhdGlvbi1lbnRyeS1kaXYgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LWljb24ge1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICBmbGV4OiAwIDAgNDRweDtcXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgICB3aWR0aDogNDRweDtcXG4gICAgICBoZWlnaHQ6IDQ0cHg7XFxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE2cHg7XFxufVxcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeSAuYXBwLW5hdmlnYXRpb24tZW50cnktbGluayAuYXBwLW5hdmlnYXRpb24tZW50cnlfX3RpdGxlLCAuYXBwLW5hdmlnYXRpb24tZW50cnkgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LWRpdiAuYXBwLW5hdmlnYXRpb24tZW50cnlfX3RpdGxlIHtcXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICAgIG1heC13aWR0aDogMTAwJTtcXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xcbn1cXG4uYXBwLW5hdmlnYXRpb24tZW50cnkgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LWxpbmsgLmVkaXRpbmdDb250YWluZXIsIC5hcHAtbmF2aWdhdGlvbi1lbnRyeSAuYXBwLW5hdmlnYXRpb24tZW50cnktZGl2IC5lZGl0aW5nQ29udGFpbmVyIHtcXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDRweCk7XFxuICAgICAgbWFyZ2luOiBhdXRvO1xcbn1cXG4uYXBwLW5hdmlnYXRpb24tZW50cnkgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5X19jaGlsZHJlbiB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleDogMCAxIGF1dG87XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIHdpZHRoOiAxMDAlO1xcbn1cXG4uYXBwLW5hdmlnYXRpb24tZW50cnkgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5X19jaGlsZHJlbiAuYXBwLW5hdmlnYXRpb24tZW50cnkge1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XFxufVxcblxcbi8qIERlbGV0ZWQgZW50cmllcyAqL1xcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9fZGVsZXRlZCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGZsZXg6IDEgMSAwO1xcbiAgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XFxufVxcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9fZGVsZXRlZCAuYXBwLW5hdmlnYXRpb24tZW50cnlfX2RlbGV0ZWQtZGVzY3JpcHRpb24ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIGZsZXg6IDEgMSAwO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XFxufVxcblxcbi8qIE1ha2VzIHRoZSBpY29uIG9mIHRoZSBjb2xsYXBzaWJsZSBlbGVtZW50IGRpc2FwcGVhclxcbiogIFdoZW4gaG92ZXJpbmcgb24gdGhlIHJvb3QgZWxlbWVudCAqL1xcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tY29sbGFwc2libGUgLmljb24tY29sbGFwc2Uge1xcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xcbn1cXG4uYXBwLW5hdmlnYXRpb24tZW50cnktLWNvbGxhcHNpYmxlLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1uby1pY29uIGEgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LWljb24sIC5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tY29sbGFwc2libGU6aG92ZXIgYSAuYXBwLW5hdmlnYXRpb24tZW50cnktaWNvbiwgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1jb2xsYXBzaWJsZTpmb2N1cyBhIC5hcHAtbmF2aWdhdGlvbi1lbnRyeS1pY29uIHtcXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcXG59XFxuLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1jb2xsYXBzaWJsZS5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tbm8taWNvbiAuaWNvbi1jb2xsYXBzZSwgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1jb2xsYXBzaWJsZTpob3ZlciAuaWNvbi1jb2xsYXBzZSwgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1jb2xsYXBzaWJsZTpmb2N1cyAuaWNvbi1jb2xsYXBzZSB7XFxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xcbn1cXG4uYXBwLW5hdmlnYXRpb24tZW50cnktLWNvbGxhcHNpYmxlLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1uby1pY29uIC5hcHAtbmF2aWdhdGlvbi1lbnRyeV9fY2hpbGRyZW4gbGk6bm90KC5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tY29sbGFwc2libGUpIGEgOmZpcnN0LWNoaWxkLCAuYXBwLW5hdmlnYXRpb24tZW50cnktLWNvbGxhcHNpYmxlOmhvdmVyIC5hcHAtbmF2aWdhdGlvbi1lbnRyeV9fY2hpbGRyZW4gbGk6bm90KC5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tY29sbGFwc2libGUpIGEgOmZpcnN0LWNoaWxkLCAuYXBwLW5hdmlnYXRpb24tZW50cnktLWNvbGxhcHNpYmxlOmZvY3VzIC5hcHAtbmF2aWdhdGlvbi1lbnRyeV9fY2hpbGRyZW4gbGk6bm90KC5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tY29sbGFwc2libGUpIGEgOmZpcnN0LWNoaWxkIHtcXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XFxufVxcblxcbi8qIGNvdW50ZXIgYW5kIGFjdGlvbnMgKi9cXG4uYXBwLW5hdmlnYXRpb24tZW50cnlfX3V0aWxzIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgZmxleDogMCAxIGF1dG87XFxufVxcblxcbi8qIGNvdW50ZXIgKi9cXG4uYXBwLW5hdmlnYXRpb24tZW50cnlfX2NvdW50ZXItd3JhcHBlciB7XFxuICBtYXJnaW4tcmlnaHQ6IDJweDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgZmxleDogMCAxIGF1dG87XFxufVxcblxcbi8qIGVkaXRpbmcgc3RhdGUgKi9cXG4uYXBwLW5hdmlnYXRpb24tZW50cnktLWVkaXRpbmcgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LWVkaXQge1xcbiAgei1pbmRleDogMjUwO1xcbiAgb3BhY2l0eTogMTtcXG59XFxuXFxuLyogZGVsZXRlZCBzdGF0ZSAqL1xcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tZGVsZXRlZCAuYXBwLW5hdmlnYXRpb24tZW50cnktZGVsZXRlZCB7XFxuICB6LWluZGV4OiAyNTA7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XFxufVxcblxcbi8qIHBpbm5lZCBzdGF0ZSAqL1xcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tcGlubmVkIHtcXG4gIG9yZGVyOiAyO1xcbiAgbWFyZ2luLXRvcDogYXV0bztcXG59XFxuLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1waW5uZWQgfiAuYXBwLW5hdmlnYXRpb24tZW50cnktLXBpbm5lZCB7XFxuICAgIG1hcmdpbi10b3A6IDA7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL0FwcE5hdmlnYXRpb25JdGVtLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZS5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUVzRUE7RUFDQyxtQ0FBbUM7RUFDbkMsNENBQXVDO0VBQUUscUJBQUE7RUFDekMsbVBBR21EO0VBQUUsZUFBQTtBQUFnQjtBQU10RTtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7QUFBQTtBQUZsQjtJQU1NLG1DQUFtQztJQUNuQyxZQTVHZTtBQUFPO0FBcUc1QjtJQU1NLG1DQUFtQztJQUNuQyxZQTNHUTtBQUFPO0FBb0dyQjtJQU1NLG1DQUFtQztJQUNuQyxZQTFHZ0I7QUFBTztBQW1HN0I7SUFNTSxtQ0FBbUM7SUFDbkMsWUF6R1M7QUFBTztBQWtHdEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUF4R1E7QUFBTztBQWlHckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUF2R087QUFBTztBQWdHcEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUF0R0c7QUFBTztBQStGaEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUFyR0s7QUFBTztBQThGbEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUFwR0U7QUFBTztBQTZGZjtJQU1NLG1DQUFtQztJQUNuQyxZQW5HRTtBQUFPO0FBNEZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBbEdFO0FBQU87QUEyRmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFqR0c7QUFBTztBQTBGaEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUFoR0U7QUFBTztBQXlGZjtJQU1NLG1DQUFtQztJQUNuQyxZQS9GUTtBQUFPO0FBd0ZyQjtJQU1NLG1DQUFtQztJQUNuQyxZQTlGYztBQUFPO0FBdUYzQjtJQU1NLG1DQUFtQztJQUNuQyxZQTdGYTtBQUFPO0FBc0YxQjtJQU1NLG1DQUFtQztJQUNuQyxZQTVGbUI7QUFBTztBQXFGaEM7SUFNTSxtQ0FBbUM7SUFDbkMsWUEzRmdCO0FBQU87QUY0YS9CO0VBQ0Msa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixjQUFjO0VBQ2QsZUFBZTtFQUNmLFFBQVE7RUFDUixzQkFBc0I7RUFDdEIsV0FBVztFQUNYLGdCQzlhb0I7RUQrYXBCLGtCQUFrQjtFQW1CbEIsdUNBQUE7RUF1REEsbUNBQUE7QUFBb0M7QUFuRnJDO0lBY0UsdURBQXVEO0FBQUE7QUFkekQ7SUFrQkUsK0NBQStDO0FBQUE7QUFsQmpEO0lBd0JHLDhDQUE4QztBQUFBO0FBeEJqRDtJQWlDRyxhQUFhO0FBQUE7QUFqQ2hCO0lBdUNHLG1CQ3JjNkM7QUFBQTtBRDhaaEQ7SUE2Q0UsWUFBWTtJQUFFLG1DQUFBO0lBQ2QsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsc0JBQXNCO0lBQ3RCLGdCQ3hkbUI7SUR5ZG5CLFVBQVU7SUFDVixtQkFBbUI7SUFDbkIsNkJBQTZCO0lBQzdCLDRCQUE0QjtJQUM1QixnQ0FBd0M7SUFDeEMsMEJDMWRjO0lEMmRkLGlCQy9kbUI7QUFBQTtBRHNhckI7TUE0REcsYUFBYTtNQUNiLG1CQUFtQjtNQUNuQixjQ3Bla0I7TURxZWxCLHVCQUF1QjtNQUN2QixXQ3Rla0I7TUR1ZWxCLFlDdmVrQjtNRHdlbEIsMEJDcGVhO0FBQUE7QURrYWhCO01Bc0VHLGdCQUFnQjtNQUNoQixlQUFlO01BQ2YsbUJBQW1CO01BQ25CLHVCQUF1QjtNQUN2QixpQkFBaUI7QUFBQTtBQTFFcEI7TUE4RUcsd0JBQXNDO01BQ3RDLFlBQVk7QUFBQTtBQS9FZjtJQXFGRSxrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLGNBQWM7SUFDZCxzQkFBc0I7SUFDdEIsV0FBVztBQUFBO0FBekZiO01BNEZHLG9CQUFvQjtNQUNwQixlQUFlO01BQ2Ysa0JBQTRDO0FBQUE7O0FBSy9DLG9CQUFBO0FBQ0E7RUFDQyxvQkFBb0I7RUFDcEIsV0FBVztFQUNYLDZCQUF1RDtBQUFBO0FBSHhEO0lBS0Usa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixpQkNwaEJtQjtBQUFBOztBRHdoQnJCO3NDQTNZc0M7QUE2WXRDO0VBR0Usa0JBQWtCO0FBQUE7QUFIcEI7RUFTRyxrQkFBa0I7QUFBQTtBQVRyQjtFQWFHLG1CQUFtQjtBQUFBO0FBYnRCO0VBa0JHLG1CQUFtQjtBQUFBOztBQUt0Qix3QkFBQTtBQUNBO0VBQ0MsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixjQUFjO0FBQUE7O0FBR2YsWUFBQTtBQUNBO0VBRUMsaUJBQWlCO0VBQ2pCLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsY0FBYztBQUFBOztBQUlmLGtCQUFBO0FBQ0E7RUFFRSxZQUFZO0VBQ1osVUFBVTtBQUFBOztBQUlaLGtCQUFBO0FBQ0E7RUFFRSxZQUFZO0VBQ1osd0JBQXdCO0FBQUE7O0FBSTFCLGlCQUFBO0FBQ0E7RUFDQyxRQUFRO0VBQ1IsZ0JBQWdCO0FBQUE7QUFGakI7SUFLRSxhQUFhO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbkBpbXBvcnQgJy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlJztcXG5cXG4uYXBwLW5hdmlnYXRpb24tZW50cnkge1xcblxcdHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXHRkaXNwbGF5OiBmbGV4O1xcblxcdGZsZXgtc2hyaW5rOiAwO1xcblxcdGZsZXgtd3JhcDogd3JhcDtcXG5cXHRvcmRlcjogMTtcXG5cXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xcblxcdHdpZHRoOiAxMDAlO1xcblxcdG1pbi1oZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRwYWRkaW5nLXJpZ2h0OiA0cHg7XFxuXFxuXFx0Ly8gV2hlbiAuYWN0aXZlIGNsYXNzIGlzIGFwcGxpZWQsIGNoYW5nZSBjb2xvciBiYWNrZ3JvdW5kIG9mIGxpbmsgYW5kIHV0aWxzLiBUaGVcXG5cXHQvLyAhaW1wb3J0YW50IHByZXZlbnRzIHRoZSBmb2N1cyBzdGF0ZSB0byBvdmVycmlkZSB0aGUgYWN0aXZlIHN0YXRlLlxcblxcdCYuYWN0aXZlIHtcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KSAhaW1wb3J0YW50O1xcblxcdH1cXG5cXHQmOmZvY3VzLXdpdGhpbixcXG5cXHQmOmhvdmVyIHtcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcXG5cXHR9XFxuXFx0Ji5hY3RpdmUsXFxuXFx0Jjpmb2N1cy13aXRoaW4sXFxuXFx0Jjpob3ZlciB7XFxuXFx0XFx0LmFwcC1uYXZpZ2F0aW9uLWVudHJ5X19jaGlsZHJlbiB7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdC8qIGhpZGUgZGVsZXRpb24vY29sbGFwc2Ugb2Ygc3ViaXRlbXMgKi9cXG5cXHQmLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1kZWxldGVkLFxcblxcdCYuYXBwLW5hdmlnYXRpb24tZW50cnktLWNvbGxhcHNpYmxlOm5vdCguYXBwLW5hdmlnYXRpb24tZW50cnktLW9wZW5lZCkge1xcblxcdFxcdD4gdWwge1xcblxcdFxcdFxcdC8vIE5PIEFOSU1BVEUgYmVjYXVzZSBpZiBub3QgcmVhbGx5IGhpZGRlbiwgd2UgY2FuIHN0aWxsIHRhYiB0aHJvdWdoIGl0XFxuXFx0XFx0XFx0ZGlzcGxheTogbm9uZTtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdCY6bm90KC5hcHAtbmF2aWdhdGlvbi1lbnRyeS0tZWRpdGluZykge1xcblxcdFxcdC5hcHAtbmF2aWdhdGlvbi1lbnRyeS1saW5rLCAuYXBwLW5hdmlnYXRpb24tZW50cnktZGl2IHtcXG5cXHRcXHRcXHRwYWRkaW5nLXJpZ2h0OiAkaWNvbi1tYXJnaW47XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQvLyBNYWluIGVudHJ5IGxpbmtcXG5cXHQuYXBwLW5hdmlnYXRpb24tZW50cnktbGluaywgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LWRpdiB7XFxuXFx0XFx0ei1pbmRleDogMTAwOyAvKiBhYm92ZSB0aGUgYnVsbGV0IHRvIGFsbG93IGNsaWNrKi9cXG5cXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0XFx0ZmxleDogMSAxIDA7XFxuXFx0XFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcXG5cXHRcXHRtaW4taGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0cGFkZGluZzogMDtcXG5cXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcblxcdFxcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuXFx0XFx0YmFja2dyb3VuZC1wb3NpdGlvbjogJGljb24tbWFyZ2luIGNlbnRlcjtcXG5cXHRcXHRiYWNrZ3JvdW5kLXNpemU6ICRpY29uLXNpemUgJGljb24tc2l6ZTtcXG5cXHRcXHRsaW5lLWhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcblxcdFxcdC5hcHAtbmF2aWdhdGlvbi1lbnRyeS1pY29uIHtcXG5cXHRcXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdFxcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuXFx0XFx0XFx0ZmxleDogMCAwICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG5cXHRcXHRcXHR3aWR0aDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdGhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZSAkaWNvbi1zaXplO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQuYXBwLW5hdmlnYXRpb24tZW50cnlfX3RpdGxlIHtcXG5cXHRcXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdFxcdFxcdG1heC13aWR0aDogMTAwJTtcXG5cXHRcXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdFxcdFxcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcblxcdFxcdFxcdHBhZGRpbmctbGVmdDogNnB4O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQuZWRpdGluZ0NvbnRhaW5lciB7XFxuXFx0XFx0XFx0d2lkdGg6IGNhbGMoMTAwJSAtICN7JGNsaWNrYWJsZS1hcmVhfSk7XFxuXFx0XFx0XFx0bWFyZ2luOiBhdXRvO1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0LyogU2Vjb25kIGxldmVsIG5lc3RpbmcgZm9yIGxpc3RzICovXFxuXFx0LmFwcC1uYXZpZ2F0aW9uLWVudHJ5X19jaGlsZHJlbiB7XFxuXFx0XFx0cG9zaXRpb246IHJlbGF0aXZlO1xcblxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0ZmxleDogMCAxIGF1dG87XFxuXFx0XFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG5cXHRcXHR3aWR0aDogMTAwJTtcXG5cXG5cXHRcXHQuYXBwLW5hdmlnYXRpb24tZW50cnkge1xcblxcdFxcdFxcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xcblxcdFxcdFxcdGZsZXgtd3JhcDogd3JhcDtcXG5cXHRcXHRcXHRwYWRkaW5nLWxlZnQ6ICRjbGlja2FibGUtYXJlYSAtICRpY29uLW1hcmdpbjtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cXG4vKiBEZWxldGVkIGVudHJpZXMgKi9cXG4uYXBwLW5hdmlnYXRpb24tZW50cnlfX2RlbGV0ZWQge1xcblxcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xcblxcdGZsZXg6IDEgMSAwO1xcblxcdHBhZGRpbmctbGVmdDogJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tbWFyZ2luICFpbXBvcnRhbnQ7XFxuXFx0LmFwcC1uYXZpZ2F0aW9uLWVudHJ5X19kZWxldGVkLWRlc2NyaXB0aW9uIHtcXG5cXHRcXHRwb3NpdGlvbjogcmVsYXRpdmU7XFxuXFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRmbGV4OiAxIDEgMDtcXG5cXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdFxcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcblxcdFxcdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0fVxcbn1cXG5cXG4vKiBNYWtlcyB0aGUgaWNvbiBvZiB0aGUgY29sbGFwc2libGUgZWxlbWVudCBkaXNhcHBlYXJcXG4qICBXaGVuIGhvdmVyaW5nIG9uIHRoZSByb290IGVsZW1lbnQgKi9cXG4uYXBwLW5hdmlnYXRpb24tZW50cnktLWNvbGxhcHNpYmxlIHtcXG5cXHQvL3Nob3dzIHRoZSB0cmlhbmdsZSBidXR0b25cXG5cXHQuaWNvbi1jb2xsYXBzZSB7XFxuXFx0XFx0dmlzaWJpbGl0eTogaGlkZGVuO1xcblxcdH1cXG5cXHQmLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1uby1pY29uLFxcblxcdCY6aG92ZXIsICY6Zm9jdXMge1xcblxcdFxcdGEgLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LWljb24ge1xcblxcdFxcdFxcdC8vIGhpZGVzIHRoZSBpY29uXFxuXFx0XFx0XFx0dmlzaWJpbGl0eTogaGlkZGVuO1xcblxcdFxcdH1cXG5cXHRcXHQuaWNvbi1jb2xsYXBzZSB7XFxuXFx0XFx0XFx0Ly9zaG93cyB0aGUgdHJpYW5nbGUgYnV0dG9uXFxuXFx0XFx0XFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcXG5cXHRcXHR9XFxuXFx0XFx0Ly8gcHJldmVudCB0aGUgaWNvbiBvZiBjaGlsZHJlbiBlbGVtZW50cyBmcm9tIGJlaW5nIGhpZGRlblxcblxcdFxcdC8vIGJ5IHRoZSBwcmV2aW91cyBydWxlXFxuXFx0XFx0LmFwcC1uYXZpZ2F0aW9uLWVudHJ5X19jaGlsZHJlbiBsaTpub3QoLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1jb2xsYXBzaWJsZSkgYSA6Zmlyc3QtY2hpbGQge1xcblxcdFxcdFxcdHZpc2liaWxpdHk6IHZpc2libGU7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXFxuLyogY291bnRlciBhbmQgYWN0aW9ucyAqL1xcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9fdXRpbHMge1xcblxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXHRmbGV4OiAwIDEgYXV0bztcXG59XFxuXFxuLyogY291bnRlciAqL1xcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9fY291bnRlci13cmFwcGVyIHtcXG5cXHQvLyBBZGQgc2xpZ2h0bHkgbW9yZSBzcGFjZSB0byB0aGUgcmlnaHQgb2YgdGhlIGNvdW50ZXJcXG5cXHRtYXJnaW4tcmlnaHQ6IDJweDtcXG5cXHRkaXNwbGF5OiBmbGV4O1xcblxcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuXFx0ZmxleDogMCAxIGF1dG87XFxufVxcblxcbi8vIFNUQVRFU1xcbi8qIGVkaXRpbmcgc3RhdGUgKi9cXG4uYXBwLW5hdmlnYXRpb24tZW50cnktLWVkaXRpbmcge1xcblxcdC5hcHAtbmF2aWdhdGlvbi1lbnRyeS1lZGl0IHtcXG5cXHRcXHR6LWluZGV4OiAyNTA7XFxuXFx0XFx0b3BhY2l0eTogMTtcXG5cXHR9XFxufVxcblxcbi8qIGRlbGV0ZWQgc3RhdGUgKi9cXG4uYXBwLW5hdmlnYXRpb24tZW50cnktLWRlbGV0ZWQge1xcblxcdC5hcHAtbmF2aWdhdGlvbi1lbnRyeS1kZWxldGVkIHtcXG5cXHRcXHR6LWluZGV4OiAyNTA7XFxuXFx0XFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xcblxcdH1cXG59XFxuXFxuLyogcGlubmVkIHN0YXRlICovXFxuLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1waW5uZWQge1xcblxcdG9yZGVyOiAyO1xcblxcdG1hcmdpbi10b3A6IGF1dG87XFxuXFx0Ly8gb25seSBwdXQgYSBtYXJnaW5Ub3AgYXV0byB0byB0aGUgZmlyc3Qgb25lIVxcblxcdH4gLmFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1waW5uZWQge1xcblxcdFxcdG1hcmdpbi10b3A6IDA7XFxuXFx0fVxcbn1cXG5cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCIsXCIkX19pY29uZm9udF9fZGF0YTogbWFwLW1lcmdlKGlmKGdsb2JhbF92YXJpYWJsZV9leGlzdHMoJ19faWNvbmZvbnRfX2RhdGEnKSwgJF9faWNvbmZvbnRfX2RhdGEsICgpKSwgKFxcblxcdFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI6IChcXG5cXHRcXHRcXFwiYXJyb3ctbGVmdC1kb3VibGVcXFwiOiBcXFwiXFxcXGVhMDFcXFwiLFxcblxcdFxcdFxcXCJhcnJvdy1sZWZ0XFxcIjogXFxcIlxcXFxlYTAyXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctcmlnaHQtZG91YmxlXFxcIjogXFxcIlxcXFxlYTAzXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctcmlnaHRcXFwiOiBcXFwiXFxcXGVhMDRcXFwiLFxcblxcdFxcdFxcXCJicmVhZGNydW1iXFxcIjogXFxcIlxcXFxlYTA1XFxcIixcXG5cXHRcXHRcXFwiY2hlY2ttYXJrXFxcIjogXFxcIlxcXFxlYTA2XFxcIixcXG5cXHRcXHRcXFwiY2xvc2VcXFwiOiBcXFwiXFxcXGVhMDdcXFwiLFxcblxcdFxcdFxcXCJjb25maXJtXFxcIjogXFxcIlxcXFxlYTA4XFxcIixcXG5cXHRcXHRcXFwiaW5mb1xcXCI6IFxcXCJcXFxcZWEwOVxcXCIsXFxuXFx0XFx0XFxcIm1lbnVcXFwiOiBcXFwiXFxcXGVhMGFcXFwiLFxcblxcdFxcdFxcXCJtb3JlXFxcIjogXFxcIlxcXFxlYTBiXFxcIixcXG5cXHRcXHRcXFwicGF1c2VcXFwiOiBcXFwiXFxcXGVhMGNcXFwiLFxcblxcdFxcdFxcXCJwbGF5XFxcIjogXFxcIlxcXFxlYTBkXFxcIixcXG5cXHRcXHRcXFwidHJpYW5nbGUtc1xcXCI6IFxcXCJcXFxcZWEwZVxcXCIsXFxuXFx0XFx0XFxcInVzZXItc3RhdHVzLWF3YXlcXFwiOiBcXFwiXFxcXGVhMGZcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1kbmRcXFwiOiBcXFwiXFxcXGVhMTBcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1pbnZpc2libGVcXFwiOiBcXFwiXFxcXGVhMTFcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1vbmxpbmVcXFwiOiBcXFwiXFxcXGVhMTJcXFwiXFxuXFx0KVxcbikpO1xcblxcblxcbiRjcmVhdGUtZm9udC1mYWNlOiB0cnVlICFkZWZhdWx0OyAvLyBzaG91bGQgdGhlIEBmb250LWZhY2UgdGFnIGdldCBjcmVhdGVkP1xcblxcbi8vIHNob3VsZCB0aGVyZSBiZSBhIGN1c3RvbSBjbGFzcyBmb3IgZWFjaCBpY29uPyB3aWxsIGJlIC5maWxlbmFtZVxcbiRjcmVhdGUtaWNvbi1jbGFzc2VzOiB0cnVlICFkZWZhdWx0OyBcXG5cXG4vLyB3aGF0IGlzIHRoZSBjb21tb24gY2xhc3MgbmFtZSB0aGF0IGljb25zIHNoYXJlPyBpbiB0aGlzIGNhc2UgaWNvbnMgbmVlZCB0byBoYXZlIC5pY29uLmZpbGVuYW1lIGluIHRoZWlyIGNsYXNzZXNcXG4vLyB0aGlzIHJlcXVpcmVzIHlvdSB0byBoYXZlIDIgY2xhc3NlcyBvbiBlYWNoIGljb24gaHRtbCBlbGVtZW50LCBidXQgcmVkdWNlZCByZWRlY2xhcmF0aW9uIG9mIHRoZSBmb250IGZhbWlseVxcbi8vIGZvciBlYWNoIGljb25cXG4kaWNvbi1jb21tb24tY2xhc3M6ICdpY29uJyAhZGVmYXVsdDtcXG5cXG4vLyBpZiB5b3Ugd2hpc2ggdG8gcHJlZml4IHlvdXIgZmlsZW5hbWVzLCBoZXJlIHlvdSBjYW4gZG8gc28uXFxuLy8gaWYgdGhpcyBzdHJpbmcgc3RheXMgZW1wdHksIHlvdXIgY2xhc3NlcyB3aWxsIHVzZSB0aGUgZmlsZW5hbWUsIGZvciBleGFtcGxlXFxuLy8gYW4gaWNvbiBjYWxsZWQgc3Rhci5zdmcgd2lsbCByZXN1bHQgaW4gYSBjbGFzcyBjYWxsZWQgLnN0YXJcXG4vLyBpZiB5b3UgdXNlIHRoZSBwcmVmaXggdG8gYmUgJ2ljb24tJyBpdCB3b3VsZCByZXN1bHQgaW4gLmljb24tc3RhclxcbiRpY29uLXByZWZpeDogJycgIWRlZmF1bHQ7IFxcblxcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9udCBncm91cFxcbkBmdW5jdGlvbiBpY29uZm9udC1ncm91cCgkZ3JvdXA6IG51bGwpIHtcXG4gIEBpZiAobnVsbCA9PSAkZ3JvdXApIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gIEBpZiAoZmFsc2UgPT0gbWFwLWhhcy1rZXkoJF9faWNvbmZvbnRfX2RhdGEsICRncm91cCkpIHtcXG4gICAgQHdhcm4gJ1VuZGVmaW5lZCBJY29uZm9udCBGYW1pbHkhJztcXG4gICAgQHJldHVybiAoKTtcXG4gIH1cXG4gIEByZXR1cm4gbWFwLWdldCgkX19pY29uZm9udF9fZGF0YSwgJGdyb3VwKTtcXG59XFxuXFxuLy8gaGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgY29ycmVjdCBpY29uIG9mIGEgZ3JvdXBcXG5AZnVuY3Rpb24gaWNvbmZvbnQtaXRlbSgkbmFtZSkge1xcbiAgJHNsYXNoOiBzdHItaW5kZXgoJG5hbWUsICcvJyk7XFxuICAkZ3JvdXA6IG51bGw7XFxuICBAaWYgKCRzbGFzaCkge1xcbiAgICAkZ3JvdXA6IHN0ci1zbGljZSgkbmFtZSwgMCwgJHNsYXNoIC0gMSk7XFxuICAgICRuYW1lOiBzdHItc2xpY2UoJG5hbWUsICRzbGFzaCArIDEpO1xcbiAgfSBAZWxzZSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICAkZ3JvdXA6IGljb25mb250LWdyb3VwKCRncm91cCk7XFxuICBAaWYgKGZhbHNlID09IG1hcC1oYXMta2V5KCRncm91cCwgJG5hbWUpKSB7XFxuICAgIEB3YXJuICdVbmRlZmluZWQgSWNvbmZvbnQgR2x5cGghJztcXG4gICAgQHJldHVybiAnJztcXG4gIH1cXG4gIEByZXR1cm4gbWFwLWdldCgkZ3JvdXAsICRuYW1lKTtcXG59XFxuXFxuLy8gY29tcGxldGUgbWl4aW5nIHRvIGluY2x1ZGUgdGhlIGljb25cXG4vLyB1c2FnZTpcXG4vLyAubXlfaWNvbnsgQGluY2x1ZGUgaWNvbmZvbnQoJ3N0YXInKSB9XFxuQG1peGluIGljb25mb250KCRpY29uKSB7XFxuICAkc2xhc2g6IHN0ci1pbmRleCgkaWNvbiwgJy8nKTtcXG4gICRncm91cDogbnVsbDtcXG4gIEBpZiAoJHNsYXNoKSB7XFxuICAgICRncm91cDogc3RyLXNsaWNlKCRpY29uLCAwLCAkc2xhc2ggLSAxKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgJjpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogJGdyb3VwO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGNvbnRlbnQ6IGljb25mb250LWl0ZW0oJGljb24pO1xcbiAgfVxcbn1cXG5cXG4vLyBjcmVhdGVzIHRoZSBmb250IGZhY2UgdGFnIGlmIHRoZSB2YXJpYWJsZSBpcyBzZXQgdG8gdHJ1ZSAoZGVmYXVsdClcXG5AaWYgJGNyZWF0ZS1mb250LWZhY2UgPT0gdHJ1ZSB7XFxuICBAZm9udC1mYWNlIHtcXG4gICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICBzcmM6IHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cXG4gICBzcmM6IHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBQcmV0dHkgTW9kZXJuIEJyb3dzZXJzICovXFxuICAgICAgdXJsKCcuLi9pY29uZm9udC12dWUtODRjNDYxZi50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYuc3ZnJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xcbiAgfVxcbn1cXG5cXG4vLyBjcmVhdGVzIGljb24gY2xhc3NlcyBmb3IgZWFjaCBpbmRpdmlkdWFsIGxvYWRlZCBzdmcgKGRlZmF1bHQpXFxuQGlmICRjcmVhdGUtaWNvbi1jbGFzc2VzID09IHRydWUge1xcbiAgLiN7JGljb24tY29tbW9uLWNsYXNzfSB7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG5cXG4gICAgQGVhY2ggJGljb24sICRjb250ZW50IGluIG1hcC1nZXQoJF9faWNvbmZvbnRfX2RhdGEsIFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCIpIHtcXG4gICAgICAmLiN7JGljb24tcHJlZml4fSN7JGljb259OmJlZm9yZSB7XFxuICAgICAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgICAgIGNvbnRlbnQ6IGljb25mb250LWl0ZW0oXFxcImljb25mb250LXZ1ZS04NGM0NjFmLyN7JGljb259XFxcIik7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvZ2V0VXJsLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdFwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi53b2ZmXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzJfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLnR0ZlwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8zX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5zdmdcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzFfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzJfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8zX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICBzcmM6IHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gKyBcIik7XFxuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICBzcmM6IHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gKyBcIikgZm9ybWF0KFxcXCJlbWJlZGRlZC1vcGVudHlwZVxcXCIpLCB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8xX19fICsgXCIpIGZvcm1hdChcXFwid29mZlxcXCIpLCB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fICsgXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyArIFwiKSBmb3JtYXQoXFxcInN2Z1xcXCIpO1xcbiAgLyogTGVnYWN5IGlPUyAqL1xcbn1cXG4uaWNvbiB7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxuICBmb250LXdlaWdodDogNDAwO1xcbn1cXG4uaWNvbi5hcnJvdy1sZWZ0LWRvdWJsZTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ogVxcXCI7XFxufVxcbi5pY29uLmFycm93LWxlZnQ6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIJcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1yaWdodC1kb3VibGU6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqINcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1yaWdodDpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ohFxcXCI7XFxufVxcbi5pY29uLmJyZWFkY3J1bWI6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIVcXFwiO1xcbn1cXG4uaWNvbi5jaGVja21hcms6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIZcXFwiO1xcbn1cXG4uaWNvbi5jbG9zZTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oh1xcXCI7XFxufVxcbi5pY29uLmNvbmZpcm06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIhcXFwiO1xcbn1cXG4uaWNvbi5pbmZvOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiJXFxcIjtcXG59XFxuLmljb24ubWVudTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oilxcXCI7XFxufVxcbi5pY29uLm1vcmU6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqItcXFwiO1xcbn1cXG4uaWNvbi5wYXVzZTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojFxcXCI7XFxufVxcbi5pY29uLnBsYXk6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI1cXFwiO1xcbn1cXG4uaWNvbi50cmlhbmdsZS1zOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiOXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtYXdheTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oj1xcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWRuZDpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6okFxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWludmlzaWJsZTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6okVxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLW9ubGluZTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oklxcXCI7XFxufVxcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9faW5saW5lLWlucHV0LWNvbnRhaW5lciB7XFxuICBmbGV4OiAxIDAgMTAwJTtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4uYXBwLW5hdmlnYXRpb24tZW50cnlfX2lubGluZS1pbnB1dC1jb250YWluZXIgZm9ybSB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9faW5saW5lLWlucHV0LWNvbnRhaW5lciBmb3JtIC5hcHAtbmF2aWdhdGlvbi1lbnRyeV9faW5saW5lLWlucHV0IHtcXG4gICAgICBmbGV4OiAxIDEgMTAwJTtcXG4gICAgICBmb250LXNpemU6IDE0cHg7XFxufVxcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9faW5saW5lLWlucHV0LWNvbnRhaW5lciBmb3JtIGJ1dHRvbiB7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICAgIHdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XFxuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcXG4gICAgICBmb250LXNpemU6IDE2cHg7XFxufVxcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9faW5saW5lLWlucHV0LWNvbnRhaW5lciBmb3JtIGJ1dHRvbjo6YmVmb3JlIHtcXG4gICAgICAgIG9wYWNpdHk6IDAuNztcXG59XFxuLmFwcC1uYXZpZ2F0aW9uLWVudHJ5X19pbmxpbmUtaW5wdXQtY29udGFpbmVyIGZvcm0gYnV0dG9uOmhvdmVyOjpiZWZvcmUsIC5hcHAtbmF2aWdhdGlvbi1lbnRyeV9faW5saW5lLWlucHV0LWNvbnRhaW5lciBmb3JtIGJ1dHRvbjpmb2N1czo6YmVmb3JlIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7XFxufVxcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9faW5saW5lLWlucHV0LWNvbnRhaW5lciBmb3JtIGJ1dHRvbi5pY29uLWNvbmZpcm0ge1xcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XFxufVxcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9faW5saW5lLWlucHV0LWNvbnRhaW5lciBmb3JtIGJ1dHRvbi5pY29uLWNvbmZpcm06YmVmb3JlIHtcXG4gICAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgICAgY29udGVudDogXFxcIu6oiFxcXCI7XFxufVxcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9faW5saW5lLWlucHV0LWNvbnRhaW5lciBmb3JtIGJ1dHRvbi5pY29uLWNvbmZpcm06aG92ZXIge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDBweCAhaW1wb3J0YW50O1xcbn1cXG4uYXBwLW5hdmlnYXRpb24tZW50cnlfX2lubGluZS1pbnB1dC1jb250YWluZXIgZm9ybSBidXR0b24uaWNvbi1jbG9zZTpiZWZvcmUge1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgY29udGVudDogXFxcIu6oh1xcXCI7XFxufVxcbi5hcHAtbmF2aWdhdGlvbi1lbnRyeV9faW5saW5lLWlucHV0LWNvbnRhaW5lciBmb3JtIC5pY29uLWNsb3NlIHtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgYm9yZGVyOiBub25lO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9JbnB1dENvbmZpcm1DYW5jZWwudnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBRXNFQTtFQUNDLG1DQUFtQztFQUNuQyw0Q0FBdUM7RUFBRSxxQkFBQTtFQUN6QyxtUEFHbUQ7RUFBRSxlQUFBO0FBQWdCO0FBTXRFO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQjtBQUFBO0FBRmxCO0lBTU0sbUNBQW1DO0lBQ25DLFlBNUdlO0FBQU87QUFxRzVCO0lBTU0sbUNBQW1DO0lBQ25DLFlBM0dRO0FBQU87QUFvR3JCO0lBTU0sbUNBQW1DO0lBQ25DLFlBMUdnQjtBQUFPO0FBbUc3QjtJQU1NLG1DQUFtQztJQUNuQyxZQXpHUztBQUFPO0FBa0d0QjtJQU1NLG1DQUFtQztJQUNuQyxZQXhHUTtBQUFPO0FBaUdyQjtJQU1NLG1DQUFtQztJQUNuQyxZQXZHTztBQUFPO0FBZ0dwQjtJQU1NLG1DQUFtQztJQUNuQyxZQXRHRztBQUFPO0FBK0ZoQjtJQU1NLG1DQUFtQztJQUNuQyxZQXJHSztBQUFPO0FBOEZsQjtJQU1NLG1DQUFtQztJQUNuQyxZQXBHRTtBQUFPO0FBNkZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBbkdFO0FBQU87QUE0RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFsR0U7QUFBTztBQTJGZjtJQU1NLG1DQUFtQztJQUNuQyxZQWpHRztBQUFPO0FBMEZoQjtJQU1NLG1DQUFtQztJQUNuQyxZQWhHRTtBQUFPO0FBeUZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBL0ZRO0FBQU87QUF3RnJCO0lBTU0sbUNBQW1DO0lBQ25DLFlBOUZjO0FBQU87QUF1RjNCO0lBTU0sbUNBQW1DO0lBQ25DLFlBN0ZhO0FBQU87QUFzRjFCO0lBTU0sbUNBQW1DO0lBQ25DLFlBNUZtQjtBQUFPO0FBcUZoQztJQU1NLG1DQUFtQztJQUNuQyxZQTNGZ0I7QUFBTztBRmlFL0I7RUFDQyxjQUFjO0VBQ2QsV0FBVztBQUFBO0FBRlo7SUFJRSxhQUFhO0FBQUE7QUFKZjtNQU1HLGNBQWM7TUFDZCxlQUFlO0FBQUE7QUFQbEI7TUFZRyxhQUFhO01BQ2IsbUJBQW1CO01BQ25CLHVCQUF1QjtNQUN2QixzQkFBaUM7TUFDakMsNkJBQTZCO01BQzdCLGdCQUFnQjtNQUNoQixlQUFlO0FBQUE7QUFsQmxCO1FBc0JJLFlDL0RlO0FBQUE7QUR5Q25CO1FBMkJLLFVDbkVXO0FBQUE7QUR3Q2hCO1FBaUNJLGlCQUFpQjtBQUFBO0FBakNyQjtVRUZJLG1DQWpGbUI7VUFrRm5CLGtCQUFrQjtVQUNsQixnQkFBZ0I7VUFDaEIsWUE1RVM7QUFBTztBRjJFcEI7UUFvQ0ksMkVBQTJFO0FBQUE7QUFwQy9FO1FFRkksbUNBakZtQjtRQWtGbkIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixZQTdFTztBQUFPO0FGNEVsQjtNQTRDRyxTQUFTO01BQ1QsWUFBWTtNQUNaLDZCQUE2QjtBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5AaW1wb3J0ICcuLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZSc7XFxuXFxuLmFwcC1uYXZpZ2F0aW9uLWVudHJ5X19pbmxpbmUtaW5wdXQtY29udGFpbmVyIHtcXG5cXHRmbGV4OiAxIDAgMTAwJTtcXG5cXHR3aWR0aDogMTAwJTtcXG5cXHRmb3JtIHtcXG5cXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdC5hcHAtbmF2aWdhdGlvbi1lbnRyeV9faW5saW5lLWlucHV0IHtcXG5cXHRcXHRcXHRmbGV4OiAxIDEgMTAwJTtcXG5cXHRcXHRcXHRmb250LXNpemU6IDE0cHg7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIHN1Ym1pdCBhbmQgY2FuY2VsIGJ1dHRvbnNcXG5cXHRcXHRidXR0b24ge1xcblxcdFxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0XFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXHRcXHRcXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG5cXHRcXHRcXHR3aWR0aDogJGNsaWNrYWJsZS1hcmVhICFpbXBvcnRhbnQ7XFxuXFx0XFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuXFx0XFx0XFx0YmFja2dyb3VuZDogbm9uZTtcXG5cXHRcXHRcXHRmb250LXNpemU6IDE2cHg7XFxuXFxuXFx0XFx0XFx0Ly8gaWNvbiBob3Zlci9mb2N1cyBmZWVkYmFja1xcblxcdFxcdFxcdCY6OmJlZm9yZSB7XFxuXFx0XFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfbm9ybWFsO1xcblxcdFxcdFxcdH1cXG5cXHRcXHRcXHQmOmhvdmVyLFxcblxcdFxcdFxcdCY6Zm9jdXMge1xcblxcdFxcdFxcdFxcdCY6OmJlZm9yZSB7XFxuXFx0XFx0XFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHRcXHRcXHR9XFxuXFx0XFx0XFx0fVxcblxcblxcdFxcdFxcdCYuaWNvbi1jb25maXJtIHtcXG5cXHRcXHRcXHRcXHRAaW5jbHVkZSBpY29uZm9udCgnY29uZmlybScpO1xcblxcdFxcdFxcdFxcdGJvcmRlci1sZWZ0OiBub25lO1xcblxcdFxcdFxcdH1cXG5cXHRcXHRcXHQmLmljb24tY29uZmlybTpob3ZlciB7XFxuXFx0XFx0XFx0XFx0Ym9yZGVyLXJhZGl1czogMHB4IHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDBweCAhaW1wb3J0YW50O1xcblxcdFxcdFxcdH1cXG5cXG5cXHRcXHRcXHQmLmljb24tY2xvc2Uge1xcblxcdFxcdFxcdFxcdEBpbmNsdWRlIGljb25mb250KCdjbG9zZScpO1xcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFx0XFx0Lmljb24tY2xvc2Uge1xcblxcdFxcdFxcdG1hcmdpbjogMDtcXG5cXHRcXHRcXHRib3JkZXI6IG5vbmU7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiLFwiJF9faWNvbmZvbnRfX2RhdGE6IG1hcC1tZXJnZShpZihnbG9iYWxfdmFyaWFibGVfZXhpc3RzKCdfX2ljb25mb250X19kYXRhJyksICRfX2ljb25mb250X19kYXRhLCAoKSksIChcXG5cXHRcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiOiAoXFxuXFx0XFx0XFxcImFycm93LWxlZnQtZG91YmxlXFxcIjogXFxcIlxcXFxlYTAxXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctbGVmdFxcXCI6IFxcXCJcXFxcZWEwMlxcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0LWRvdWJsZVxcXCI6IFxcXCJcXFxcZWEwM1xcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0XFxcIjogXFxcIlxcXFxlYTA0XFxcIixcXG5cXHRcXHRcXFwiYnJlYWRjcnVtYlxcXCI6IFxcXCJcXFxcZWEwNVxcXCIsXFxuXFx0XFx0XFxcImNoZWNrbWFya1xcXCI6IFxcXCJcXFxcZWEwNlxcXCIsXFxuXFx0XFx0XFxcImNsb3NlXFxcIjogXFxcIlxcXFxlYTA3XFxcIixcXG5cXHRcXHRcXFwiY29uZmlybVxcXCI6IFxcXCJcXFxcZWEwOFxcXCIsXFxuXFx0XFx0XFxcImluZm9cXFwiOiBcXFwiXFxcXGVhMDlcXFwiLFxcblxcdFxcdFxcXCJtZW51XFxcIjogXFxcIlxcXFxlYTBhXFxcIixcXG5cXHRcXHRcXFwibW9yZVxcXCI6IFxcXCJcXFxcZWEwYlxcXCIsXFxuXFx0XFx0XFxcInBhdXNlXFxcIjogXFxcIlxcXFxlYTBjXFxcIixcXG5cXHRcXHRcXFwicGxheVxcXCI6IFxcXCJcXFxcZWEwZFxcXCIsXFxuXFx0XFx0XFxcInRyaWFuZ2xlLXNcXFwiOiBcXFwiXFxcXGVhMGVcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1hd2F5XFxcIjogXFxcIlxcXFxlYTBmXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtZG5kXFxcIjogXFxcIlxcXFxlYTEwXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtaW52aXNpYmxlXFxcIjogXFxcIlxcXFxlYTExXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtb25saW5lXFxcIjogXFxcIlxcXFxlYTEyXFxcIlxcblxcdClcXG4pKTtcXG5cXG5cXG4kY3JlYXRlLWZvbnQtZmFjZTogdHJ1ZSAhZGVmYXVsdDsgLy8gc2hvdWxkIHRoZSBAZm9udC1mYWNlIHRhZyBnZXQgY3JlYXRlZD9cXG5cXG4vLyBzaG91bGQgdGhlcmUgYmUgYSBjdXN0b20gY2xhc3MgZm9yIGVhY2ggaWNvbj8gd2lsbCBiZSAuZmlsZW5hbWVcXG4kY3JlYXRlLWljb24tY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDsgXFxuXFxuLy8gd2hhdCBpcyB0aGUgY29tbW9uIGNsYXNzIG5hbWUgdGhhdCBpY29ucyBzaGFyZT8gaW4gdGhpcyBjYXNlIGljb25zIG5lZWQgdG8gaGF2ZSAuaWNvbi5maWxlbmFtZSBpbiB0aGVpciBjbGFzc2VzXFxuLy8gdGhpcyByZXF1aXJlcyB5b3UgdG8gaGF2ZSAyIGNsYXNzZXMgb24gZWFjaCBpY29uIGh0bWwgZWxlbWVudCwgYnV0IHJlZHVjZWQgcmVkZWNsYXJhdGlvbiBvZiB0aGUgZm9udCBmYW1pbHlcXG4vLyBmb3IgZWFjaCBpY29uXFxuJGljb24tY29tbW9uLWNsYXNzOiAnaWNvbicgIWRlZmF1bHQ7XFxuXFxuLy8gaWYgeW91IHdoaXNoIHRvIHByZWZpeCB5b3VyIGZpbGVuYW1lcywgaGVyZSB5b3UgY2FuIGRvIHNvLlxcbi8vIGlmIHRoaXMgc3RyaW5nIHN0YXlzIGVtcHR5LCB5b3VyIGNsYXNzZXMgd2lsbCB1c2UgdGhlIGZpbGVuYW1lLCBmb3IgZXhhbXBsZVxcbi8vIGFuIGljb24gY2FsbGVkIHN0YXIuc3ZnIHdpbGwgcmVzdWx0IGluIGEgY2xhc3MgY2FsbGVkIC5zdGFyXFxuLy8gaWYgeW91IHVzZSB0aGUgcHJlZml4IHRvIGJlICdpY29uLScgaXQgd291bGQgcmVzdWx0IGluIC5pY29uLXN0YXJcXG4kaWNvbi1wcmVmaXg6ICcnICFkZWZhdWx0OyBcXG5cXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvbnQgZ3JvdXBcXG5AZnVuY3Rpb24gaWNvbmZvbnQtZ3JvdXAoJGdyb3VwOiBudWxsKSB7XFxuICBAaWYgKG51bGwgPT0gJGdyb3VwKSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICBAaWYgKGZhbHNlID09IG1hcC1oYXMta2V5KCRfX2ljb25mb250X19kYXRhLCAkZ3JvdXApKSB7XFxuICAgIEB3YXJuICdVbmRlZmluZWQgSWNvbmZvbnQgRmFtaWx5ISc7XFxuICAgIEByZXR1cm4gKCk7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJF9faWNvbmZvbnRfX2RhdGEsICRncm91cCk7XFxufVxcblxcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3QgaWNvbiBvZiBhIGdyb3VwXFxuQGZ1bmN0aW9uIGljb25mb250LWl0ZW0oJG5hbWUpIHtcXG4gICRzbGFzaDogc3RyLWluZGV4KCRuYW1lLCAnLycpO1xcbiAgJGdyb3VwOiBudWxsO1xcbiAgQGlmICgkc2xhc2gpIHtcXG4gICAgJGdyb3VwOiBzdHItc2xpY2UoJG5hbWUsIDAsICRzbGFzaCAtIDEpO1xcbiAgICAkbmFtZTogc3RyLXNsaWNlKCRuYW1lLCAkc2xhc2ggKyAxKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgJGdyb3VwOiBpY29uZm9udC1ncm91cCgkZ3JvdXApO1xcbiAgQGlmIChmYWxzZSA9PSBtYXAtaGFzLWtleSgkZ3JvdXAsICRuYW1lKSkge1xcbiAgICBAd2FybiAnVW5kZWZpbmVkIEljb25mb250IEdseXBoISc7XFxuICAgIEByZXR1cm4gJyc7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJGdyb3VwLCAkbmFtZSk7XFxufVxcblxcbi8vIGNvbXBsZXRlIG1peGluZyB0byBpbmNsdWRlIHRoZSBpY29uXFxuLy8gdXNhZ2U6XFxuLy8gLm15X2ljb257IEBpbmNsdWRlIGljb25mb250KCdzdGFyJykgfVxcbkBtaXhpbiBpY29uZm9udCgkaWNvbikge1xcbiAgJHNsYXNoOiBzdHItaW5kZXgoJGljb24sICcvJyk7XFxuICAkZ3JvdXA6IG51bGw7XFxuICBAaWYgKCRzbGFzaCkge1xcbiAgICAkZ3JvdXA6IHN0ci1zbGljZSgkaWNvbiwgMCwgJHNsYXNoIC0gMSk7XFxuICB9IEBlbHNlIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gICY6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6ICRncm91cDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKCRpY29uKTtcXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyB0aGUgZm9udCBmYWNlIHRhZyBpZiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIHRydWUgKGRlZmF1bHQpXFxuQGlmICRjcmVhdGUtZm9udC1mYWNlID09IHRydWUge1xcbiAgQGZvbnQtZmFjZSB7XFxuICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2ZycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyBpY29uIGNsYXNzZXMgZm9yIGVhY2ggaW5kaXZpZHVhbCBsb2FkZWQgc3ZnIChkZWZhdWx0KVxcbkBpZiAkY3JlYXRlLWljb24tY2xhc3NlcyA9PSB0cnVlIHtcXG4gIC4jeyRpY29uLWNvbW1vbi1jbGFzc30ge1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuXFxuICAgIEBlYWNoICRpY29uLCAkY29udGVudCBpbiBtYXAtZ2V0KCRfX2ljb25mb250X19kYXRhLCBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiKSB7XFxuICAgICAgJi4jeyRpY29uLXByZWZpeH0jeyRpY29ufTpiZWZvcmUge1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKFxcXCJpY29uZm9udC12dWUtODRjNDYxZi8jeyRpY29ufVxcXCIpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbi8qICdOZXcnIGJ1dHRvbiAqL1xcbi5hcHAtbmF2aWdhdGlvbi1uZXdbZGF0YS12LWNjNjM1M2EyXSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHBhZGRpbmc6IDEwcHg7XFxufVxcbi5hcHAtbmF2aWdhdGlvbi1uZXcgYnV0dG9uW2RhdGEtdi1jYzYzNTNhMl0ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBwYWRkaW5nOiAxMHB4O1xcbiAgICBwYWRkaW5nLWxlZnQ6IDM0cHg7XFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwcHggY2VudGVyO1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcbiAgICBtYXJnaW46IDA7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL0FwcE5hdmlnYXRpb25OZXcudnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBQXlDRixpQkFBQTtBQUNBO0VBQ0MsY0FBYztFQUNkLGFBQWE7QUFBQTtBQUZkO0lBSUUscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLGdDQUFnQztJQUNoQyxnQkFBZ0I7SUFDaEIsU0FBUztBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG4vKiAnTmV3JyBidXR0b24gKi9cXG4uYXBwLW5hdmlnYXRpb24tbmV3IHtcXG5cXHRkaXNwbGF5OiBibG9jaztcXG5cXHRwYWRkaW5nOiAxMHB4O1xcblxcdGJ1dHRvbiB7XFxuXFx0XFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xcblxcdFxcdHdpZHRoOiAxMDAlO1xcblxcdFxcdHBhZGRpbmc6IDEwcHg7XFxuXFx0XFx0cGFkZGluZy1sZWZ0OiAzNHB4O1xcblxcdFxcdGJhY2tncm91bmQtcG9zaXRpb246IDEwcHggY2VudGVyO1xcblxcdFxcdHRleHQtYWxpZ246IGxlZnQ7XFxuXFx0XFx0bWFyZ2luOiAwO1xcblxcdH1cXG59XFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuLmFwcC1uYXZpZ2F0aW9uLW5ldy1pdGVtX190aXRsZSB7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgcGFkZGluZy1sZWZ0OiA3cHg7XFxuICBmb250LXNpemU6IDE0cHg7XFxufVxcbi5uZXdJdGVtQ29udGFpbmVyIHtcXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0NHB4KTtcXG4gIG1hcmdpbjogYXV0bztcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQXBwTmF2aWdhdGlvbk5ld0l0ZW0udnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBQW1JRjtFQUNDLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixpQkFBaUI7RUFDakIsZUFBZTtBQUFBO0FBR2hCO0VBQ0Msd0JBQXNDO0VBQ3RDLFlBQVk7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuLmFwcC1uYXZpZ2F0aW9uLW5ldy1pdGVtX190aXRsZSB7XFxuXFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRtYXgtd2lkdGg6IDEwMCU7XFxuXFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG5cXHRwYWRkaW5nLWxlZnQ6IDdweDtcXG5cXHRmb250LXNpemU6IDE0cHg7XFxufVxcblxcbi5uZXdJdGVtQ29udGFpbmVyIHtcXG5cXHR3aWR0aDogY2FsYygxMDAlIC0gI3skY2xpY2thYmxlLWFyZWF9KTtcXG5cXHRtYXJnaW46IGF1dG87XFxufVxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbiNhcHAtc2V0dGluZ3MtY29udGVudFtkYXRhLXYtOWM5YzM5N2VdIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcGFkZGluZzogMTBweDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuICAvKiByZXN0cmljdCBoZWlnaHQgb2Ygc2V0dGluZ3MgYW5kIG1ha2Ugc2Nyb2xsYWJsZSAqL1xcbiAgbWF4LWhlaWdodDogMzAwcHg7XFxuICBvdmVyZmxvdy15OiBhdXRvO1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuLnNsaWRlLXVwLWxlYXZlLWFjdGl2ZVtkYXRhLXYtOWM5YzM5N2VdLFxcbi5zbGlkZS11cC1lbnRlci1hY3RpdmVbZGF0YS12LTljOWMzOTdlXSB7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1hbmltYXRpb24tc2xvdyk7XFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXgtaGVpZ2h0LCBwYWRkaW5nO1xcbiAgb3ZlcmZsb3cteTogaGlkZGVuICFpbXBvcnRhbnQ7XFxufVxcbi5zbGlkZS11cC1lbnRlcltkYXRhLXYtOWM5YzM5N2VdLFxcbi5zbGlkZS11cC1sZWF2ZS10b1tkYXRhLXYtOWM5YzM5N2VdIHtcXG4gIG1heC1oZWlnaHQ6IDAgIWltcG9ydGFudDtcXG4gIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MudnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBQTJERjtFQUNDLGNBQWM7RUFDZCxhQUFhO0VBQ2IsOENBQThDO0VBQzlDLG9EQUFBO0VBQ0EsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixzQkFBc0I7QUFBQTtBQUd2Qjs7RUFFQywwQ0FBMEM7RUFDMUMsd0NBQXdDO0VBQ3hDLDZCQUE2QjtBQUFBO0FBRzlCOztFQUVDLHdCQUF3QjtFQUN4QiwwQkFBMEI7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuI2FwcC1zZXR0aW5ncy1jb250ZW50IHtcXG5cXHRkaXNwbGF5OiBibG9jaztcXG5cXHRwYWRkaW5nOiAxMHB4O1xcblxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuXFx0LyogcmVzdHJpY3QgaGVpZ2h0IG9mIHNldHRpbmdzIGFuZCBtYWtlIHNjcm9sbGFibGUgKi9cXG5cXHRtYXgtaGVpZ2h0OiAzMDBweDtcXG5cXHRvdmVyZmxvdy15OiBhdXRvO1xcblxcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcblxcbi5zbGlkZS11cC1sZWF2ZS1hY3RpdmUsXFxuLnNsaWRlLXVwLWVudGVyLWFjdGl2ZSB7XFxuXFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tYW5pbWF0aW9uLXNsb3cpO1xcblxcdHRyYW5zaXRpb24tcHJvcGVydHk6IG1heC1oZWlnaHQsIHBhZGRpbmc7XFxuXFx0b3ZlcmZsb3cteTogaGlkZGVuICFpbXBvcnRhbnQ7XFxufVxcblxcbi5zbGlkZS11cC1lbnRlcixcXG4uc2xpZGUtdXAtbGVhdmUtdG8ge1xcblxcdG1heC1oZWlnaHQ6IDAgIWltcG9ydGFudDtcXG5cXHRwYWRkaW5nOiAwIDEwcHggIWltcG9ydGFudDtcXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvZ2V0VXJsLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdFwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi53b2ZmXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzJfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLnR0ZlwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8zX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5zdmdcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzFfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzJfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8zX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICBzcmM6IHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gKyBcIik7XFxuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICBzcmM6IHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gKyBcIikgZm9ybWF0KFxcXCJlbWJlZGRlZC1vcGVudHlwZVxcXCIpLCB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8xX19fICsgXCIpIGZvcm1hdChcXFwid29mZlxcXCIpLCB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fICsgXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyArIFwiKSBmb3JtYXQoXFxcInN2Z1xcXCIpO1xcbiAgLyogTGVnYWN5IGlPUyAqL1xcbn1cXG4uaWNvbltkYXRhLXYtMTdlYmVhZTNdIHtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxufVxcbi5pY29uLmFycm93LWxlZnQtZG91YmxlW2RhdGEtdi0xN2ViZWFlM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIFcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1sZWZ0W2RhdGEtdi0xN2ViZWFlM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIJcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1yaWdodC1kb3VibGVbZGF0YS12LTE3ZWJlYWUzXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6og1xcXCI7XFxufVxcbi5pY29uLmFycm93LXJpZ2h0W2RhdGEtdi0xN2ViZWFlM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIRcXFwiO1xcbn1cXG4uaWNvbi5icmVhZGNydW1iW2RhdGEtdi0xN2ViZWFlM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIVcXFwiO1xcbn1cXG4uaWNvbi5jaGVja21hcmtbZGF0YS12LTE3ZWJlYWUzXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ohlxcXCI7XFxufVxcbi5pY29uLmNsb3NlW2RhdGEtdi0xN2ViZWFlM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIdcXFwiO1xcbn1cXG4uaWNvbi5jb25maXJtW2RhdGEtdi0xN2ViZWFlM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIhcXFwiO1xcbn1cXG4uaWNvbi5pbmZvW2RhdGEtdi0xN2ViZWFlM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIlcXFwiO1xcbn1cXG4uaWNvbi5tZW51W2RhdGEtdi0xN2ViZWFlM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIpcXFwiO1xcbn1cXG4uaWNvbi5tb3JlW2RhdGEtdi0xN2ViZWFlM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqItcXFwiO1xcbn1cXG4uaWNvbi5wYXVzZVtkYXRhLXYtMTdlYmVhZTNdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiMXFxcIjtcXG59XFxuLmljb24ucGxheVtkYXRhLXYtMTdlYmVhZTNdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiNXFxcIjtcXG59XFxuLmljb24udHJpYW5nbGUtc1tkYXRhLXYtMTdlYmVhZTNdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiOXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtYXdheVtkYXRhLXYtMTdlYmVhZTNdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiPXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtZG5kW2RhdGEtdi0xN2ViZWFlM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJBcXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1pbnZpc2libGVbZGF0YS12LTE3ZWJlYWUzXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6okVxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLW9ubGluZVtkYXRhLXYtMTdlYmVhZTNdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiSXFxcIjtcXG59XFxuLmFwcC1uYXZpZ2F0aW9uLXRvZ2dsZVtkYXRhLXYtMTdlYmVhZTNdIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIHJpZ2h0OiAwO1xcbiAgbWFyZ2luLXJpZ2h0OiAtNDRweDtcXG4gIHdpZHRoOiA0NHB4O1xcbiAgaGVpZ2h0OiA0NHB4O1xcbiAgcGFkZGluZzogMTRweDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIG9wYWNpdHk6IDAuNjtcXG4gIGZvbnQtc2l6ZTogMTZweDtcXG4gIGxpbmUtaGVpZ2h0OiAxN3B4O1xcbn1cXG4uYXBwLW5hdmlnYXRpb24tdG9nZ2xlW2RhdGEtdi0xN2ViZWFlM106YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgY29udGVudDogXFxcIu6oilxcXCI7XFxufVxcbi5hcHAtbmF2aWdhdGlvbi10b2dnbGVbZGF0YS12LTE3ZWJlYWUzXTpob3ZlciwgLmFwcC1uYXZpZ2F0aW9uLXRvZ2dsZVtkYXRhLXYtMTdlYmVhZTNdOmZvY3VzIHtcXG4gICAgb3BhY2l0eTogMTtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQXBwTmF2aWdhdGlvblRvZ2dsZS52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vZm9udHMvc2Nzcy9pY29uZm9udC12dWUuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FFc0VBO0VBQ0MsbUNBQW1DO0VBQ25DLDRDQUF1QztFQUFFLHFCQUFBO0VBQ3pDLG1QQUdtRDtFQUFFLGVBQUE7QUFBZ0I7QUFNdEU7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQUE7QUFGbEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE1R2U7QUFBTztBQXFHNUI7SUFNTSxtQ0FBbUM7SUFDbkMsWUEzR1E7QUFBTztBQW9HckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUExR2dCO0FBQU87QUFtRzdCO0lBTU0sbUNBQW1DO0lBQ25DLFlBekdTO0FBQU87QUFrR3RCO0lBTU0sbUNBQW1DO0lBQ25DLFlBeEdRO0FBQU87QUFpR3JCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdkdPO0FBQU87QUFnR3BCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdEdHO0FBQU87QUErRmhCO0lBTU0sbUNBQW1DO0lBQ25DLFlBckdLO0FBQU87QUE4RmxCO0lBTU0sbUNBQW1DO0lBQ25DLFlBcEdFO0FBQU87QUE2RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFuR0U7QUFBTztBQTRGZjtJQU1NLG1DQUFtQztJQUNuQyxZQWxHRTtBQUFPO0FBMkZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBakdHO0FBQU87QUEwRmhCO0lBTU0sbUNBQW1DO0lBQ25DLFlBaEdFO0FBQU87QUF5RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUEvRlE7QUFBTztBQXdGckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE5RmM7QUFBTztBQXVGM0I7SUFNTSxtQ0FBbUM7SUFDbkMsWUE3RmE7QUFBTztBQXNGMUI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE1Rm1CO0FBQU87QUFxRmhDO0lBTU0sbUNBQW1DO0lBQ25DLFlBM0ZnQjtBQUFPO0FGcUMvQjtFQUNDLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLG1CQ25Db0I7RURvQ3BCLFdDcENvQjtFRHFDcEIsWUNyQ29CO0VEc0NwQixhQzlCK0M7RURnQy9DLGVBQWU7RUFDZixZQUFZO0VBRVosZUN2Q2U7RUR3Q2YsaUJBQWlCO0FBQUE7QUFibEI7SUUwQkksbUNBakZtQjtJQWtGbkIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixZQTFFTTtBQUFPO0FGNkNqQjtJQWtCRSxVQzlCYztBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5AaW1wb3J0ICcuLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZSc7XFxuXFxuLmFwcC1uYXZpZ2F0aW9uLXRvZ2dsZSB7XFxuXFx0cG9zaXRpb246IGFic29sdXRlO1xcblxcdHRvcDogMDtcXG5cXHRyaWdodDogMDtcXG5cXHRtYXJnaW4tcmlnaHQ6IC0gJGNsaWNrYWJsZS1hcmVhO1xcblxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0cGFkZGluZzogJGljb24tbWFyZ2luO1xcblxcblxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRvcGFjaXR5OiAwLjY7XFxuXFxuXFx0Zm9udC1zaXplOiAkaWNvbi1zaXplO1xcblxcdGxpbmUtaGVpZ2h0OiAxN3B4O1xcblxcdEBpbmNsdWRlIGljb25mb250KCdtZW51Jyk7XFxuXFxuXFx0Jjpob3ZlcixcXG5cXHQmOmZvY3VzIHtcXG5cXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdH1cXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiLFwiJF9faWNvbmZvbnRfX2RhdGE6IG1hcC1tZXJnZShpZihnbG9iYWxfdmFyaWFibGVfZXhpc3RzKCdfX2ljb25mb250X19kYXRhJyksICRfX2ljb25mb250X19kYXRhLCAoKSksIChcXG5cXHRcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiOiAoXFxuXFx0XFx0XFxcImFycm93LWxlZnQtZG91YmxlXFxcIjogXFxcIlxcXFxlYTAxXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctbGVmdFxcXCI6IFxcXCJcXFxcZWEwMlxcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0LWRvdWJsZVxcXCI6IFxcXCJcXFxcZWEwM1xcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0XFxcIjogXFxcIlxcXFxlYTA0XFxcIixcXG5cXHRcXHRcXFwiYnJlYWRjcnVtYlxcXCI6IFxcXCJcXFxcZWEwNVxcXCIsXFxuXFx0XFx0XFxcImNoZWNrbWFya1xcXCI6IFxcXCJcXFxcZWEwNlxcXCIsXFxuXFx0XFx0XFxcImNsb3NlXFxcIjogXFxcIlxcXFxlYTA3XFxcIixcXG5cXHRcXHRcXFwiY29uZmlybVxcXCI6IFxcXCJcXFxcZWEwOFxcXCIsXFxuXFx0XFx0XFxcImluZm9cXFwiOiBcXFwiXFxcXGVhMDlcXFwiLFxcblxcdFxcdFxcXCJtZW51XFxcIjogXFxcIlxcXFxlYTBhXFxcIixcXG5cXHRcXHRcXFwibW9yZVxcXCI6IFxcXCJcXFxcZWEwYlxcXCIsXFxuXFx0XFx0XFxcInBhdXNlXFxcIjogXFxcIlxcXFxlYTBjXFxcIixcXG5cXHRcXHRcXFwicGxheVxcXCI6IFxcXCJcXFxcZWEwZFxcXCIsXFxuXFx0XFx0XFxcInRyaWFuZ2xlLXNcXFwiOiBcXFwiXFxcXGVhMGVcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1hd2F5XFxcIjogXFxcIlxcXFxlYTBmXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtZG5kXFxcIjogXFxcIlxcXFxlYTEwXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtaW52aXNpYmxlXFxcIjogXFxcIlxcXFxlYTExXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtb25saW5lXFxcIjogXFxcIlxcXFxlYTEyXFxcIlxcblxcdClcXG4pKTtcXG5cXG5cXG4kY3JlYXRlLWZvbnQtZmFjZTogdHJ1ZSAhZGVmYXVsdDsgLy8gc2hvdWxkIHRoZSBAZm9udC1mYWNlIHRhZyBnZXQgY3JlYXRlZD9cXG5cXG4vLyBzaG91bGQgdGhlcmUgYmUgYSBjdXN0b20gY2xhc3MgZm9yIGVhY2ggaWNvbj8gd2lsbCBiZSAuZmlsZW5hbWVcXG4kY3JlYXRlLWljb24tY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDsgXFxuXFxuLy8gd2hhdCBpcyB0aGUgY29tbW9uIGNsYXNzIG5hbWUgdGhhdCBpY29ucyBzaGFyZT8gaW4gdGhpcyBjYXNlIGljb25zIG5lZWQgdG8gaGF2ZSAuaWNvbi5maWxlbmFtZSBpbiB0aGVpciBjbGFzc2VzXFxuLy8gdGhpcyByZXF1aXJlcyB5b3UgdG8gaGF2ZSAyIGNsYXNzZXMgb24gZWFjaCBpY29uIGh0bWwgZWxlbWVudCwgYnV0IHJlZHVjZWQgcmVkZWNsYXJhdGlvbiBvZiB0aGUgZm9udCBmYW1pbHlcXG4vLyBmb3IgZWFjaCBpY29uXFxuJGljb24tY29tbW9uLWNsYXNzOiAnaWNvbicgIWRlZmF1bHQ7XFxuXFxuLy8gaWYgeW91IHdoaXNoIHRvIHByZWZpeCB5b3VyIGZpbGVuYW1lcywgaGVyZSB5b3UgY2FuIGRvIHNvLlxcbi8vIGlmIHRoaXMgc3RyaW5nIHN0YXlzIGVtcHR5LCB5b3VyIGNsYXNzZXMgd2lsbCB1c2UgdGhlIGZpbGVuYW1lLCBmb3IgZXhhbXBsZVxcbi8vIGFuIGljb24gY2FsbGVkIHN0YXIuc3ZnIHdpbGwgcmVzdWx0IGluIGEgY2xhc3MgY2FsbGVkIC5zdGFyXFxuLy8gaWYgeW91IHVzZSB0aGUgcHJlZml4IHRvIGJlICdpY29uLScgaXQgd291bGQgcmVzdWx0IGluIC5pY29uLXN0YXJcXG4kaWNvbi1wcmVmaXg6ICcnICFkZWZhdWx0OyBcXG5cXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvbnQgZ3JvdXBcXG5AZnVuY3Rpb24gaWNvbmZvbnQtZ3JvdXAoJGdyb3VwOiBudWxsKSB7XFxuICBAaWYgKG51bGwgPT0gJGdyb3VwKSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICBAaWYgKGZhbHNlID09IG1hcC1oYXMta2V5KCRfX2ljb25mb250X19kYXRhLCAkZ3JvdXApKSB7XFxuICAgIEB3YXJuICdVbmRlZmluZWQgSWNvbmZvbnQgRmFtaWx5ISc7XFxuICAgIEByZXR1cm4gKCk7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJF9faWNvbmZvbnRfX2RhdGEsICRncm91cCk7XFxufVxcblxcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3QgaWNvbiBvZiBhIGdyb3VwXFxuQGZ1bmN0aW9uIGljb25mb250LWl0ZW0oJG5hbWUpIHtcXG4gICRzbGFzaDogc3RyLWluZGV4KCRuYW1lLCAnLycpO1xcbiAgJGdyb3VwOiBudWxsO1xcbiAgQGlmICgkc2xhc2gpIHtcXG4gICAgJGdyb3VwOiBzdHItc2xpY2UoJG5hbWUsIDAsICRzbGFzaCAtIDEpO1xcbiAgICAkbmFtZTogc3RyLXNsaWNlKCRuYW1lLCAkc2xhc2ggKyAxKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgJGdyb3VwOiBpY29uZm9udC1ncm91cCgkZ3JvdXApO1xcbiAgQGlmIChmYWxzZSA9PSBtYXAtaGFzLWtleSgkZ3JvdXAsICRuYW1lKSkge1xcbiAgICBAd2FybiAnVW5kZWZpbmVkIEljb25mb250IEdseXBoISc7XFxuICAgIEByZXR1cm4gJyc7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJGdyb3VwLCAkbmFtZSk7XFxufVxcblxcbi8vIGNvbXBsZXRlIG1peGluZyB0byBpbmNsdWRlIHRoZSBpY29uXFxuLy8gdXNhZ2U6XFxuLy8gLm15X2ljb257IEBpbmNsdWRlIGljb25mb250KCdzdGFyJykgfVxcbkBtaXhpbiBpY29uZm9udCgkaWNvbikge1xcbiAgJHNsYXNoOiBzdHItaW5kZXgoJGljb24sICcvJyk7XFxuICAkZ3JvdXA6IG51bGw7XFxuICBAaWYgKCRzbGFzaCkge1xcbiAgICAkZ3JvdXA6IHN0ci1zbGljZSgkaWNvbiwgMCwgJHNsYXNoIC0gMSk7XFxuICB9IEBlbHNlIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gICY6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6ICRncm91cDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKCRpY29uKTtcXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyB0aGUgZm9udCBmYWNlIHRhZyBpZiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIHRydWUgKGRlZmF1bHQpXFxuQGlmICRjcmVhdGUtZm9udC1mYWNlID09IHRydWUge1xcbiAgQGZvbnQtZmFjZSB7XFxuICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2ZycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyBpY29uIGNsYXNzZXMgZm9yIGVhY2ggaW5kaXZpZHVhbCBsb2FkZWQgc3ZnIChkZWZhdWx0KVxcbkBpZiAkY3JlYXRlLWljb24tY2xhc3NlcyA9PSB0cnVlIHtcXG4gIC4jeyRpY29uLWNvbW1vbi1jbGFzc30ge1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuXFxuICAgIEBlYWNoICRpY29uLCAkY29udGVudCBpbiBtYXAtZ2V0KCRfX2ljb25mb250X19kYXRhLCBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiKSB7XFxuICAgICAgJi4jeyRpY29uLXByZWZpeH0jeyRpY29ufTpiZWZvcmUge1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKFxcXCJpY29uZm9udC12dWUtODRjNDYxZi8jeyRpY29ufVxcXCIpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbltkYXRhLXYtMWQzYWJjYWVdIC5tb2RhbC13cmFwcGVyIC5tb2RhbC1jb250YWluZXIge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmFwcC1zZXR0aW5nc1tkYXRhLXYtMWQzYWJjYWVdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLmFwcC1zZXR0aW5nc19fbmF2aWdhdGlvbltkYXRhLXYtMWQzYWJjYWVdIHtcXG4gICAgbWluLXdpZHRoOiAyMDBweDtcXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xcbn1cXG4uYXBwLXNldHRpbmdzX19jb250ZW50W2RhdGEtdi0xZDNhYmNhZV0ge1xcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XFxuICAgIHBhZGRpbmc6IDI0cHg7XFxufVxcbi5uYXZpZ2F0aW9uLWxpc3RbZGF0YS12LTFkM2FiY2FlXSB7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdy15OiBhdXRvO1xcbn1cXG4ubmF2aWdhdGlvbi1saXN0X19saW5rW2RhdGEtdi0xZDNhYmNhZV0ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgZm9udC1zaXplOiAxNnB4O1xcbiAgICBoZWlnaHQ6IDQ0cHg7XFxuICAgIG1hcmdpbjogNHB4O1xcbiAgICBsaW5lLWhlaWdodDogNDRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgIHBhZGRpbmc6IDAgMjBweDtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlcjogbm9uZTtcXG59XFxuLm5hdmlnYXRpb24tbGlzdF9fbGlua1tkYXRhLXYtMWQzYWJjYWVdOmhvdmVyLCAubmF2aWdhdGlvbi1saXN0X19saW5rW2RhdGEtdi0xZDNhYmNhZV06Zm9jdXMge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xcbn1cXG4ubmF2aWdhdGlvbi1saXN0X19saW5rLS1hY3RpdmVbZGF0YS12LTFkM2FiY2FlXSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCkgIWltcG9ydGFudDtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQXBwU2V0dGluZ3NEaWFsb2cudnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBQXVRRjtFQUNDLGFBQWE7QUFBQTtBQUdkO0VBQ0MsYUFBYTtFQUNiLFdBQVc7QUFBQTtBQUNYO0lBQ0MsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUFBO0FBRW5CO0lBQ0MsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsYUFBYTtBQUFBO0FBSWY7RUFDQyxZQUFZO0VBQ1osZ0JBQWdCO0FBQUE7QUFDaEI7SUFDQyxjQUFjO0lBQ2QsZUFBZTtJQUNmLFlDNVJtQjtJRDZSbkIsV0FBVztJQUNYLGlCQzlSbUI7SUQrUm5CLHdDQUF3QztJQUN4QyxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGdCQUFnQjtJQUNoQiw2QkFBNkI7SUFDN0IsWUFBWTtBQUFBO0FBZFo7TUFpQkMsK0NBQStDO0FBQUE7QUFFaEQ7TUFDQyx1REFBdUQ7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuOjp2LWRlZXAgLm1vZGFsLXdyYXBwZXIgLm1vZGFsLWNvbnRhaW5lciB7XFxuXFx0ZGlzcGxheTogZmxleDtcXG59XFxuXFxuLmFwcC1zZXR0aW5ncyB7XFxuXFx0ZGlzcGxheTogZmxleDtcXG5cXHR3aWR0aDogMTAwJTtcXG5cXHQmX19uYXZpZ2F0aW9uIHtcXG5cXHRcXHRtaW4td2lkdGg6IDIwMHB4O1xcblxcdFxcdG1hcmdpbi1yaWdodDogMjBweDtcXG5cXHR9XFxuXFx0Jl9fY29udGVudCB7XFxuXFx0XFx0bWF4LXdpZHRoOiAxMDB2dztcXG5cXHRcXHRvdmVyZmxvdy15OiBhdXRvO1xcblxcdFxcdG92ZXJmbG93LXg6IGhpZGRlbjtcXG5cXHRcXHRwYWRkaW5nOiAyNHB4O1xcblxcdH1cXG59XFxuXFxuLm5hdmlnYXRpb24tbGlzdCB7XFxuXFx0aGVpZ2h0OiAxMDAlO1xcblxcdG92ZXJmbG93LXk6IGF1dG87XFxuXFx0Jl9fbGluayB7XFxuXFx0XFx0ZGlzcGxheTogYmxvY2s7XFxuXFx0XFx0Zm9udC1zaXplOiAxNnB4O1xcblxcdFxcdGhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdG1hcmdpbjogNHB4O1xcblxcdFxcdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcXG5cXHRcXHRmb250LXdlaWdodDogYm9sZDtcXG5cXHRcXHRwYWRkaW5nOiAwIDIwcHg7XFxuXFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHRib3JkZXI6IG5vbmU7XFxuXFx0XFx0Jjpob3ZlcixcXG5cXHRcXHQmOmZvY3VzIHtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcXG5cXHRcXHR9XFxuXFx0XFx0Ji0tYWN0aXZlIHtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KSAhaW1wb3J0YW50O1xcblxcdFxcdH1cXG5cXHR9XFxufVxcblxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbi5hcHAtc2V0dGluZ3Mtc2VjdGlvbltkYXRhLXYtYTFmYTU1MjJdIHtcXG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XFxufVxcbi5hcHAtc2V0dGluZ3Mtc2VjdGlvbl9fdGl0bGVbZGF0YS12LWExZmE1NTIyXSB7XFxuICAgIGZvbnQtc2l6ZTogMjBweDtcXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9BcHBTZXR0aW5nc1NlY3Rpb24udnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBQWlDRjtFQUNDLG1CQUFtQjtBQUFBO0FBQ25CO0lBQ0MsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLHVCQUF1QjtBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG4uYXBwLXNldHRpbmdzLXNlY3Rpb24ge1xcblxcdG1hcmdpbi1ib3R0b206IDgwcHg7XFxuXFx0Jl9fdGl0bGUge1xcblxcdFxcdGZvbnQtc2l6ZTogMjBweDtcXG5cXHRcXHRmb250LXdlaWdodDogYm9sZDtcXG5cXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0fVxcbn1cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG4vKlxcblxcdFNpZGViYXI6IHRvIGJlIHVzZWQgd2l0aGluICNjb250ZW50XFxuXFx0YXBwLWNvbnRlbnQgd2lsbCBiZSBzaHJpbmtlZCBwcm9wZXJseVxcbiovXFxuLmFwcC1zaWRlYmFyW2RhdGEtdi00YTJhNWYyZl0ge1xcbiAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xcbiAgcG9zaXRpb246IHN0aWNreTtcXG4gIHotaW5kZXg6IDE1MDA7XFxuICB0b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xcbiAgcmlnaHQ6IDA7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LXNocmluazogMDtcXG4gIHdpZHRoOiAyN3Z3O1xcbiAgbWluLXdpZHRoOiAzMDBweDtcXG4gIG1heC13aWR0aDogNTAwcHg7XFxuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSk7XFxuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcbn1cXG4uYXBwLXNpZGViYXIgLmFwcC1zaWRlYmFyLWhlYWRlciA+IC5hcHAtc2lkZWJhcl9fY2xvc2VbZGF0YS12LTRhMmE1ZjJmXSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgei1pbmRleDogMTAwO1xcbiAgICB0b3A6IDZweDtcXG4gICAgcmlnaHQ6IDZweDtcXG4gICAgd2lkdGg6IDQ0cHg7XFxuICAgIGhlaWdodDogNDRweDtcXG4gICAgb3BhY2l0eTogMC43O1xcbiAgICBib3JkZXItcmFkaXVzOiAyMnB4O1xcbn1cXG4uYXBwLXNpZGViYXIgLmFwcC1zaWRlYmFyLWhlYWRlciA+IC5hcHAtc2lkZWJhcl9fY2xvc2VbZGF0YS12LTRhMmE1ZjJmXTpob3ZlciwgLmFwcC1zaWRlYmFyIC5hcHAtc2lkZWJhci1oZWFkZXIgPiAuYXBwLXNpZGViYXJfX2Nsb3NlW2RhdGEtdi00YTJhNWYyZl06YWN0aXZlLCAuYXBwLXNpZGViYXIgLmFwcC1zaWRlYmFyLWhlYWRlciA+IC5hcHAtc2lkZWJhcl9fY2xvc2VbZGF0YS12LTRhMmE1ZjJmXTpmb2N1cyB7XFxuICAgICAgb3BhY2l0eTogMTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyNywgMTI3LCAxMjcsIDAuMjUpO1xcbn1cXG4uYXBwLXNpZGViYXIgLmFwcC1zaWRlYmFyLWhlYWRlci0tY29tcGFjdC5hcHAtc2lkZWJhci1oZWFkZXItLXdpdGgtZmlndXJlIC5hcHAtc2lkZWJhci1oZWFkZXJfX2luZm9bZGF0YS12LTRhMmE1ZjJmXSB7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxufVxcbi5hcHAtc2lkZWJhciAuYXBwLXNpZGViYXItaGVhZGVyLS1jb21wYWN0LmFwcC1zaWRlYmFyLWhlYWRlci0td2l0aC1maWd1cmUgLmFwcC1zaWRlYmFyLWhlYWRlcl9faW5mbyAuYXBwLXNpZGViYXItaGVhZGVyX19maWd1cmVbZGF0YS12LTRhMmE1ZjJmXSB7XFxuICAgICAgei1pbmRleDogMjtcXG4gICAgICB3aWR0aDogNzBweDtcXG4gICAgICBoZWlnaHQ6IDcwcHg7XFxuICAgICAgbWFyZ2luOiA5cHg7XFxuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xcbn1cXG4uYXBwLXNpZGViYXIgLmFwcC1zaWRlYmFyLWhlYWRlci0tY29tcGFjdC5hcHAtc2lkZWJhci1oZWFkZXItLXdpdGgtZmlndXJlIC5hcHAtc2lkZWJhci1oZWFkZXJfX2luZm8gLmFwcC1zaWRlYmFyLWhlYWRlcl9fZGVzY1tkYXRhLXYtNGEyYTVmMmZdIHtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XFxuICAgICAgZmxleDogMSAxIGF1dG87XFxuICAgICAgbWluLXdpZHRoOiAwO1xcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDk0cHg7XFxufVxcbi5hcHAtc2lkZWJhciAuYXBwLXNpZGViYXItaGVhZGVyLS1jb21wYWN0LmFwcC1zaWRlYmFyLWhlYWRlci0td2l0aC1maWd1cmUgLmFwcC1zaWRlYmFyLWhlYWRlcl9faW5mbyAuYXBwLXNpZGViYXItaGVhZGVyX19kZXNjLmFwcC1zaWRlYmFyLWhlYWRlcl9fZGVzYy0td2l0aG91dC1hY3Rpb25zW2RhdGEtdi00YTJhNWYyZl0ge1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcXG59XFxuLmFwcC1zaWRlYmFyIC5hcHAtc2lkZWJhci1oZWFkZXItLWNvbXBhY3QuYXBwLXNpZGViYXItaGVhZGVyLS13aXRoLWZpZ3VyZSAuYXBwLXNpZGViYXItaGVhZGVyX19pbmZvIC5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MgLmFwcC1zaWRlYmFyLWhlYWRlcl9fdGVydGlhcnktYWN0aW9uc1tkYXRhLXYtNGEyYTVmMmZdIHtcXG4gICAgICAgIHotaW5kZXg6IDM7XFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgICB0b3A6IDlweDtcXG4gICAgICAgIGxlZnQ6IC00NHB4O1xcbn1cXG4uYXBwLXNpZGViYXIgLmFwcC1zaWRlYmFyLWhlYWRlci0tY29tcGFjdC5hcHAtc2lkZWJhci1oZWFkZXItLXdpdGgtZmlndXJlIC5hcHAtc2lkZWJhci1oZWFkZXJfX2luZm8gLmFwcC1zaWRlYmFyLWhlYWRlcl9fZGVzYyAuYXBwLXNpZGViYXItaGVhZGVyX19tZW51W2RhdGEtdi00YTJhNWYyZl0ge1xcbiAgICAgICAgdG9wOiA2cHg7XFxuICAgICAgICByaWdodDogNTBweDtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbn1cXG4uYXBwLXNpZGViYXIgLmFwcC1zaWRlYmFyLWhlYWRlcjpub3QoLmFwcC1zaWRlYmFyLWhlYWRlci0td2l0aC1maWd1cmUpIC5hcHAtc2lkZWJhci1oZWFkZXJfX21lbnVbZGF0YS12LTRhMmE1ZjJmXSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiA2cHg7XFxuICAgIHJpZ2h0OiA1MHB4O1xcbn1cXG4uYXBwLXNpZGViYXIgLmFwcC1zaWRlYmFyLWhlYWRlcjpub3QoLmFwcC1zaWRlYmFyLWhlYWRlci0td2l0aC1maWd1cmUpIC5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2NbZGF0YS12LTRhMmE1ZjJmXSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDk0cHg7XFxufVxcbi5hcHAtc2lkZWJhciAuYXBwLXNpZGViYXItaGVhZGVyOm5vdCguYXBwLXNpZGViYXItaGVhZGVyLS13aXRoLWZpZ3VyZSkgLmFwcC1zaWRlYmFyLWhlYWRlcl9fZGVzYy5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MtLXdpdGhvdXQtYWN0aW9uc1tkYXRhLXYtNGEyYTVmMmZdIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xcbn1cXG4uYXBwLXNpZGViYXIgLmFwcC1zaWRlYmFyLWhlYWRlciAuYXBwLXNpZGViYXItaGVhZGVyX19pbmZvW2RhdGEtdi00YTJhNWYyZl0ge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbn1cXG4uYXBwLXNpZGViYXIgLmFwcC1zaWRlYmFyLWhlYWRlcl9fZmlndXJlW2RhdGEtdi00YTJhNWYyZl0ge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiAyNTBweDtcXG4gICAgbWF4LWhlaWdodDogMjUwcHg7XFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xcbn1cXG4uYXBwLXNpZGViYXIgLmFwcC1zaWRlYmFyLWhlYWRlcl9fZmlndXJlLS13aXRoLWFjdGlvbltkYXRhLXYtNGEyYTVmMmZdIHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcbi5hcHAtc2lkZWJhciAuYXBwLXNpZGViYXItaGVhZGVyX19kZXNjW2RhdGEtdi00YTJhNWYyZl0ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICBwYWRkaW5nOiAxOHB4IDZweCAxOHB4IDlweDtcXG59XFxuLmFwcC1zaWRlYmFyIC5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MtLXdpdGgtdGVydGlhcnktYWN0aW9uW2RhdGEtdi00YTJhNWYyZl0ge1xcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcXG59XFxuLmFwcC1zaWRlYmFyIC5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MtLWVkaXRhYmxlIC5hcHAtc2lkZWJhci1oZWFkZXJfX21haW50aXRsZS1mb3JtW2RhdGEtdi00YTJhNWYyZl0sXFxuICAgIC5hcHAtc2lkZWJhciAuYXBwLXNpZGViYXItaGVhZGVyX19kZXNjLS13aXRoLXN1YnRpdGxlLS1lZGl0YWJsZSAuYXBwLXNpZGViYXItaGVhZGVyX19tYWludGl0bGUtZm9ybVtkYXRhLXYtNGEyYTVmMmZdIHtcXG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xcbiAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XFxufVxcbi5hcHAtc2lkZWJhciAuYXBwLXNpZGViYXItaGVhZGVyX19kZXNjLS13aXRoLXN1YnRpdGxlLS1lZGl0YWJsZSAuYXBwLXNpZGViYXItaGVhZGVyX19zdWJ0aXRsZVtkYXRhLXYtNGEyYTVmMmZdIHtcXG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xcbn1cXG4uYXBwLXNpZGViYXIgLmFwcC1zaWRlYmFyLWhlYWRlcl9fZGVzYyAuYXBwLXNpZGViYXItaGVhZGVyX190ZXJ0aWFyeS1hY3Rpb25zW2RhdGEtdi00YTJhNWYyZl0ge1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgaGVpZ2h0OiA0NHB4O1xcbiAgICAgIHdpZHRoOiA0NHB4O1xcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xcbn1cXG4uYXBwLXNpZGViYXIgLmFwcC1zaWRlYmFyLWhlYWRlcl9fZGVzYyAuYXBwLXNpZGViYXItaGVhZGVyX190aXRsZS1jb250YWluZXJbZGF0YS12LTRhMmE1ZjJmXSB7XFxuICAgICAgZmxleDogMSAxIGF1dG87XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICAgIG1pbi13aWR0aDogMDtcXG59XFxuLmFwcC1zaWRlYmFyIC5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MgLmFwcC1zaWRlYmFyLWhlYWRlcl9fdGl0bGUtY29udGFpbmVyIC5hcHAtc2lkZWJhci1oZWFkZXJfX21haW50aXRsZVtkYXRhLXYtNGEyYTVmMmZdIHtcXG4gICAgICAgIHBhZGRpbmc6IDA7XFxuICAgICAgICBtaW4taGVpZ2h0OiAzMHB4O1xcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XFxufVxcbi5hcHAtc2lkZWJhciAuYXBwLXNpZGViYXItaGVhZGVyX19kZXNjIC5hcHAtc2lkZWJhci1oZWFkZXJfX3RpdGxlLWNvbnRhaW5lciAuYXBwLXNpZGViYXItaGVhZGVyX19tYWludGl0bGVbZGF0YS12LTRhMmE1ZjJmXSAubGlua2lmaWVkIHtcXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG59XFxuLmFwcC1zaWRlYmFyIC5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MgLmFwcC1zaWRlYmFyLWhlYWRlcl9fdGl0bGUtY29udGFpbmVyIC5hcHAtc2lkZWJhci1oZWFkZXJfX21haW50aXRsZVtkYXRhLXYtNGEyYTVmMmZdLFxcbiAgICAgIC5hcHAtc2lkZWJhciAuYXBwLXNpZGViYXItaGVhZGVyX19kZXNjIC5hcHAtc2lkZWJhci1oZWFkZXJfX3RpdGxlLWNvbnRhaW5lciAuYXBwLXNpZGViYXItaGVhZGVyX19zdWJ0aXRsZVtkYXRhLXYtNGEyYTVmMmZdIHtcXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgICAgICB3aWR0aDogMTAwJTtcXG4gICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG59XFxuLmFwcC1zaWRlYmFyIC5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MgLmFwcC1zaWRlYmFyLWhlYWRlcl9fdGl0bGUtY29udGFpbmVyIC5hcHAtc2lkZWJhci1oZWFkZXJfX3N1YnRpdGxlW2RhdGEtdi00YTJhNWYyZl0ge1xcbiAgICAgICAgcGFkZGluZzogMDtcXG4gICAgICAgIG9wYWNpdHk6IDAuNztcXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZGVmYXVsdC1mb250LXNpemUpO1xcbn1cXG4uYXBwLXNpZGViYXIgLmFwcC1zaWRlYmFyLWhlYWRlcl9fZGVzYyAuYXBwLXNpZGViYXItaGVhZGVyX190aXRsZS1jb250YWluZXIgLmFwcC1zaWRlYmFyLWhlYWRlcl9fbWFpbnRpdGxlLWZvcm1bZGF0YS12LTRhMmE1ZjJmXSB7XFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC03LjVweDtcXG59XFxuLmFwcC1zaWRlYmFyIC5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MgLmFwcC1zaWRlYmFyLWhlYWRlcl9fdGl0bGUtY29udGFpbmVyIC5hcHAtc2lkZWJhci1oZWFkZXJfX21haW50aXRsZS1mb3JtIC5pY29uLWNvbmZpcm1bZGF0YS12LTRhMmE1ZjJmXSB7XFxuICAgICAgICAgIG1hcmdpbjogMDtcXG59XFxuLmFwcC1zaWRlYmFyIC5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MgLmFwcC1zaWRlYmFyLWhlYWRlcl9fdGl0bGUtY29udGFpbmVyIC5hcHAtc2lkZWJhci1oZWFkZXJfX21haW50aXRsZS1mb3JtIGlucHV0LmFwcC1zaWRlYmFyLWhlYWRlcl9fbWFpbnRpdGxlLWlucHV0W2RhdGEtdi00YTJhNWYyZl0ge1xcbiAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgICBwYWRkaW5nOiA3cHg7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxufVxcbi5hcHAtc2lkZWJhciAuYXBwLXNpZGViYXItaGVhZGVyX19kZXNjIC5hcHAtc2lkZWJhci1oZWFkZXJfX3N0YXJbZGF0YS12LTRhMmE1ZjJmXSB7XFxuICAgICAgZGlzcGxheTogYmxvY2s7XFxuICAgICAgd2lkdGg6IDQ0cHg7XFxuICAgICAgaGVpZ2h0OiA0NHB4O1xcbiAgICAgIHBhZGRpbmc6IDE0cHg7XFxufVxcbi5hcHAtc2lkZWJhciAuYXBwLXNpZGViYXItaGVhZGVyX19kZXNjIC5hcHAtc2lkZWJhci1oZWFkZXJfX21lbnVbZGF0YS12LTRhMmE1ZjJmXSB7XFxuICAgICAgaGVpZ2h0OiA0NHB4O1xcbiAgICAgIHdpZHRoOiA0NHB4O1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIycHg7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjcsIDEyNywgMTI3LCAwLjI1KTtcXG59XFxuLmFwcC1zaWRlYmFyIC5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2NyaXB0aW9uW2RhdGEtdi00YTJhNWYyZl0ge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBtYXJnaW46IDAgMTBweDtcXG59XFxuLnNsaWRlLXJpZ2h0LWxlYXZlLWFjdGl2ZVtkYXRhLXYtNGEyYTVmMmZdLFxcbi5zbGlkZS1yaWdodC1lbnRlci1hY3RpdmVbZGF0YS12LTRhMmE1ZjJmXSB7XFxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1hbmltYXRpb24tcXVpY2spO1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbWF4LXdpZHRoLCBtaW4td2lkdGg7XFxufVxcbi5zbGlkZS1yaWdodC1lbnRlci10b1tkYXRhLXYtNGEyYTVmMmZdLFxcbi5zbGlkZS1yaWdodC1sZWF2ZVtkYXRhLXYtNGEyYTVmMmZdIHtcXG4gIG1pbi13aWR0aDogMzAwcHg7XFxuICBtYXgtd2lkdGg6IDUwMHB4O1xcbn1cXG4uc2xpZGUtcmlnaHQtZW50ZXJbZGF0YS12LTRhMmE1ZjJmXSxcXG4uc2xpZGUtcmlnaHQtbGVhdmUtdG9bZGF0YS12LTRhMmE1ZjJmXSB7XFxuICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcXG4gIG1heC13aWR0aDogMCAhaW1wb3J0YW50O1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9BcHBTaWRlYmFyLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7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O0VBQzNDLHlDQUF5QztBQUFBO0FBRzFDOztFQUVDLGdCQXZQd0I7RUF3UHhCLGdCQXZQd0I7QUFBQTtBQTBQekI7O0VBRUMsdUJBQXVCO0VBQ3ZCLHVCQUF1QjtBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG4kc2lkZWJhci1taW4td2lkdGg6IDMwMHB4O1xcbiRzaWRlYmFyLW1heC13aWR0aDogNTAwcHg7XFxuXFxuJGRlc2MtdmVydGljYWwtcGFkZGluZzogMThweDtcXG4kZGVzYy1pbnB1dC1wYWRkaW5nOiA3cHg7XFxuXFxuLy8gdGl0bGUgYW5kIHN1YnRpdGxlXFxuJGRlc2MtdGl0bGUtaGVpZ2h0OiAzMHB4O1xcbiRkZXNjLXN1YnRpdGxlLWhlaWdodDogMjJweDtcXG4kZGVzYy1oZWlnaHQ6ICRkZXNjLXRpdGxlLWhlaWdodCArICRkZXNjLXN1YnRpdGxlLWhlaWdodDtcXG5cXG4kdG9wLWJ1dHRvbnMtc3BhY2luZzogNnB4O1xcblxcbi8qXFxuXFx0U2lkZWJhcjogdG8gYmUgdXNlZCB3aXRoaW4gI2NvbnRlbnRcXG5cXHRhcHAtY29udGVudCB3aWxsIGJlIHNocmlua2VkIHByb3Blcmx5XFxuKi9cXG4uYXBwLXNpZGViYXIge1xcblxcdHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTsgLy8gU2FmYXJpIHN1cHBvcnRcXG5cXHRwb3NpdGlvbjogc3RpY2t5O1xcblxcdHotaW5kZXg6IDE1MDA7XFxuXFx0dG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcXG5cXHRyaWdodDogMDtcXG5cXHRkaXNwbGF5OiBmbGV4O1xcblxcdG92ZXJmbG93LXg6IGhpZGRlbjtcXG5cXHRvdmVyZmxvdy15OiBhdXRvO1xcblxcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuXFx0ZmxleC1zaHJpbms6IDA7XFxuXFx0d2lkdGg6IDI3dnc7XFxuXFx0bWluLXdpZHRoOiAkc2lkZWJhci1taW4td2lkdGg7XFxuXFx0bWF4LXdpZHRoOiAkc2lkZWJhci1tYXgtd2lkdGg7XFxuXFx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkpO1xcblxcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcXG5cXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcblxcdC5hcHAtc2lkZWJhci1oZWFkZXIge1xcblxcdFxcdD4gLmFwcC1zaWRlYmFyX19jbG9zZSB7XFxuXFx0XFx0XFx0cG9zaXRpb246IGFic29sdXRlO1xcblxcdFxcdFxcdHotaW5kZXg6IDEwMDtcXG5cXHRcXHRcXHR0b3A6ICR0b3AtYnV0dG9ucy1zcGFjaW5nO1xcblxcdFxcdFxcdHJpZ2h0OiAkdG9wLWJ1dHRvbnMtc3BhY2luZztcXG5cXHRcXHRcXHR3aWR0aDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdGhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHRcXHRcXHRib3JkZXItcmFkaXVzOiAkY2xpY2thYmxlLWFyZWEgLyAyO1xcblxcdFxcdFxcdCY6aG92ZXIsXFxuXFx0XFx0XFx0JjphY3RpdmUsXFxuXFx0XFx0XFx0Jjpmb2N1cyB7XFxuXFx0XFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aW9uLWJhY2tncm91bmQtaG92ZXI7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXG5cXHRcXHQvLyBDb21wYWN0IG1vZGUgb25seSBhZmZlY3RzIGEgc2lkZWJhciB3aXRoIGEgZmlndXJlXFxuXFx0XFx0Ji0tY29tcGFjdC5hcHAtc2lkZWJhci1oZWFkZXItLXdpdGgtZmlndXJlIHtcXG5cXHRcXHRcXHQuYXBwLXNpZGViYXItaGVhZGVyX19pbmZvIHtcXG5cXHRcXHRcXHRcXHRmbGV4LWRpcmVjdGlvbjogcm93O1xcblxcblxcdFxcdFxcdFxcdC5hcHAtc2lkZWJhci1oZWFkZXJfX2ZpZ3VyZSB7XFxuXFx0XFx0XFx0XFx0XFx0ei1pbmRleDogMjtcXG5cXHRcXHRcXHRcXHRcXHR3aWR0aDogJGRlc2MtaGVpZ2h0ICsgJGRlc2MtdmVydGljYWwtcGFkZGluZztcXG5cXHRcXHRcXHRcXHRcXHRoZWlnaHQ6ICRkZXNjLWhlaWdodCArICRkZXNjLXZlcnRpY2FsLXBhZGRpbmc7XFxuXFx0XFx0XFx0XFx0XFx0bWFyZ2luOiAkZGVzYy12ZXJ0aWNhbC1wYWRkaW5nIC8gMjtcXG5cXHRcXHRcXHRcXHRcXHRib3JkZXItcmFkaXVzOiAzcHg7XFxuXFx0XFx0XFx0XFx0XFx0ZmxleDogMCAwIGF1dG87XFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdFxcdC5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2Mge1xcblxcdFxcdFxcdFxcdFxcdHBhZGRpbmctbGVmdDogMDtcXG5cXHRcXHRcXHRcXHRcXHRmbGV4OiAxIDEgYXV0bztcXG5cXHRcXHRcXHRcXHRcXHRtaW4td2lkdGg6IDA7XFxuXFx0XFx0XFx0XFx0XFx0cGFkZGluZy1yaWdodDogMiAqICRjbGlja2FibGUtYXJlYSArICR0b3AtYnV0dG9ucy1zcGFjaW5nO1xcblxcblxcdFxcdFxcdFxcdFxcdCYuYXBwLXNpZGViYXItaGVhZGVyX19kZXNjLS13aXRob3V0LWFjdGlvbnMge1xcblxcdFxcdFxcdFxcdFxcdFxcdHBhZGRpbmctcmlnaHQ6ICN7JGNsaWNrYWJsZS1hcmVhICsgJHRvcC1idXR0b25zLXNwYWNpbmd9O1xcblxcdFxcdFxcdFxcdFxcdH1cXG5cXG5cXHRcXHRcXHRcXHRcXHQuYXBwLXNpZGViYXItaGVhZGVyX190ZXJ0aWFyeS1hY3Rpb25zIHtcXG5cXHRcXHRcXHRcXHRcXHRcXHR6LWluZGV4OiAzOyAvLyBhYm92ZSBzdGFyXFxuXFx0XFx0XFx0XFx0XFx0XFx0cG9zaXRpb246IGFic29sdXRlO1xcblxcdFxcdFxcdFxcdFxcdFxcdHRvcDogJGRlc2MtdmVydGljYWwtcGFkZGluZyAvIDI7XFxuXFx0XFx0XFx0XFx0XFx0XFx0bGVmdDogLTEgKiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdFxcdFxcdC5hcHAtc2lkZWJhci1oZWFkZXJfX21lbnUge1xcblxcdFxcdFxcdFxcdFxcdFxcdHRvcDogJHRvcC1idXR0b25zLXNwYWNpbmc7XFxuXFx0XFx0XFx0XFx0XFx0XFx0cmlnaHQ6ICRjbGlja2FibGUtYXJlYSArICR0b3AtYnV0dG9ucy1zcGFjaW5nOyAvLyBsZWZ0IG9mIHRoZSBjbG9zZSBidXR0b25cXG5cXHRcXHRcXHRcXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHRcXHRcXHRcXHRcXHRwb3NpdGlvbjogYWJzb2x1dGU7XFxuXFx0XFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIHNpZGViYXIgd2l0aG91dCBmaWd1cmVcXG5cXHRcXHQmOm5vdCguYXBwLXNpZGViYXItaGVhZGVyLS13aXRoLWZpZ3VyZSkge1xcblxcdFxcdFxcdC8vIGFsaWduIHRoZSBtZW51IHdpdGggdGhlIGNsb3NlIGJ1dHRvblxcblxcdFxcdFxcdC5hcHAtc2lkZWJhci1oZWFkZXJfX21lbnUge1xcblxcdFxcdFxcdFxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHRcXHRcXHRcXHR0b3A6ICR0b3AtYnV0dG9ucy1zcGFjaW5nO1xcblxcdFxcdFxcdFxcdHJpZ2h0OiAkdG9wLWJ1dHRvbnMtc3BhY2luZyArICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0XFx0Ly8gaW5jcmVhc2UgdGhlIHBhZGRpbmcgdG8gbm90IG92ZXJsYXAgdGhlIG1lbnVcXG5cXHRcXHRcXHQuYXBwLXNpZGViYXItaGVhZGVyX19kZXNjIHtcXG5cXHRcXHRcXHRcXHRwYWRkaW5nLXJpZ2h0OiAjeyRjbGlja2FibGUtYXJlYSAqIDIgKyAkdG9wLWJ1dHRvbnMtc3BhY2luZ307XFxuXFxuXFx0XFx0XFx0XFx0Ji5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MtLXdpdGhvdXQtYWN0aW9ucyB7XFxuXFx0XFx0XFx0XFx0XFx0cGFkZGluZy1yaWdodDogI3skY2xpY2thYmxlLWFyZWEgKyAkdG9wLWJ1dHRvbnMtc3BhY2luZ307XFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ly8gdGhlIGNvbnRhaW5lciB3aXRoIHRoZSBmaWd1cmUgYW5kIHRoZSBkZXNjcmlwdGlvblxcblxcdFxcdC5hcHAtc2lkZWJhci1oZWFkZXJfX2luZm8ge1xcblxcdFxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0XFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ly8gaGVhZGVyIGJhY2tncm91bmRcXG5cXHRcXHQmX19maWd1cmUge1xcblxcdFxcdFxcdHdpZHRoOiAxMDAlO1xcblxcdFxcdFxcdGhlaWdodDogMjUwcHg7XFxuXFx0XFx0XFx0bWF4LWhlaWdodDogMjUwcHg7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xcblxcdFxcdFxcdCYtLXdpdGgtYWN0aW9uIHtcXG5cXHRcXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXG5cXHRcXHQvLyBkZXNjcmlwdGlvblxcblxcdFxcdCZfX2Rlc2Mge1xcblxcdFxcdFxcdHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXHRcXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdFxcdGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuXFx0XFx0XFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuXFx0XFx0XFx0cGFkZGluZzogI3skZGVzYy12ZXJ0aWNhbC1wYWRkaW5nfSAjeyR0b3AtYnV0dG9ucy1zcGFjaW5nfSAjeyRkZXNjLXZlcnRpY2FsLXBhZGRpbmd9ICN7JGRlc2MtdmVydGljYWwtcGFkZGluZyAvIDJ9O1xcblxcblxcdFxcdFxcdC8vIGN1c3RvbSBvdmVycmlkZXNcXG5cXHRcXHRcXHQmLS13aXRoLXRlcnRpYXJ5LWFjdGlvbiB7XFxuXFx0XFx0XFx0XFx0cGFkZGluZy1sZWZ0OiAwO1xcblxcdFxcdFxcdH1cXG5cXG5cXHRcXHRcXHQmLS1lZGl0YWJsZSAuYXBwLXNpZGViYXItaGVhZGVyX19tYWludGl0bGUtZm9ybSxcXG5cXHRcXHRcXHQmLS13aXRoLXN1YnRpdGxlLS1lZGl0YWJsZSAuYXBwLXNpZGViYXItaGVhZGVyX19tYWludGl0bGUtZm9ybSB7XFxuXFx0XFx0XFx0XFx0bWFyZ2luLXRvcDogLTJweDtcXG5cXHRcXHRcXHRcXHRtYXJnaW4tYm90dG9tOiAtMnB4O1xcblxcdFxcdFxcdH1cXG5cXG5cXHRcXHRcXHQmLS13aXRoLXN1YnRpdGxlLS1lZGl0YWJsZSAuYXBwLXNpZGViYXItaGVhZGVyX19zdWJ0aXRsZSB7XFxuXFx0XFx0XFx0XFx0bWFyZ2luLXRvcDogLTJweDtcXG5cXHRcXHRcXHR9XFxuXFxuXFx0XFx0XFx0LmFwcC1zaWRlYmFyLWhlYWRlcl9fdGVydGlhcnktYWN0aW9ucyB7XFxuXFx0XFx0XFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRcXHRcXHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRcXHR3aWR0aDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdFxcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xcblxcdFxcdFxcdFxcdGZsZXg6IDAgMCBhdXRvO1xcblxcdFxcdFxcdH1cXG5cXG5cXHRcXHRcXHQvLyB0aXRsZXNcXG5cXHRcXHRcXHQuYXBwLXNpZGViYXItaGVhZGVyX190aXRsZS1jb250YWluZXIge1xcblxcdFxcdFxcdFxcdGZsZXg6IDEgMSBhdXRvO1xcblxcdFxcdFxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0XFx0XFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG5cXHRcXHRcXHRcXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG5cXHRcXHRcXHRcXHRtaW4td2lkdGg6IDA7XFxuXFxuXFx0XFx0XFx0XFx0Ly8gbWFpbiB0aXRsZVxcblxcdFxcdFxcdFxcdC5hcHAtc2lkZWJhci1oZWFkZXJfX21haW50aXRsZSB7XFxuXFx0XFx0XFx0XFx0XFx0cGFkZGluZzogMDtcXG5cXHRcXHRcXHRcXHRcXHRtaW4taGVpZ2h0OiAzMHB4O1xcblxcdFxcdFxcdFxcdFxcdGZvbnQtc2l6ZTogMjBweDtcXG5cXHRcXHRcXHRcXHRcXHRsaW5lLWhlaWdodDogJGRlc2MtdGl0bGUtaGVpZ2h0O1xcblxcblxcdFxcdFxcdFxcdFxcdC8vIE5lZWRzICdkZWVwJyBhcyB0aGUgbGluayBpcyBnZW5lcmF0ZWQgYnkgdGhlIGxpbmtpZnkgZGlyZWN0aXZlXFxuXFx0XFx0XFx0XFx0XFx0Jjo6di1kZWVwIC5saW5raWZpZWQge1xcblxcdFxcdFxcdFxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRcXHRcXHRcXHRcXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG5cXHRcXHRcXHRcXHRcXHR9XFxuXFx0XFx0XFx0XFx0fVxcblxcblxcdFxcdFxcdFxcdC5hcHAtc2lkZWJhci1oZWFkZXJfX21haW50aXRsZSxcXG5cXHRcXHRcXHRcXHQuYXBwLXNpZGViYXItaGVhZGVyX19zdWJ0aXRsZSB7XFxuXFx0XFx0XFx0XFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRcXHRcXHRcXHR3aWR0aDogMTAwJTtcXG5cXHRcXHRcXHRcXHRcXHRtYXJnaW46IDA7XFxuXFx0XFx0XFx0XFx0XFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHRcXHRcXHRcXHRcXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG5cXHRcXHRcXHRcXHR9XFxuXFxuXFx0XFx0XFx0XFx0Ly8gc3VidGl0bGVcXG5cXHRcXHRcXHRcXHQuYXBwLXNpZGViYXItaGVhZGVyX19zdWJ0aXRsZSB7XFxuXFx0XFx0XFx0XFx0XFx0cGFkZGluZzogMDtcXG5cXHRcXHRcXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFx0XFx0XFx0XFx0XFx0Zm9udC1zaXplOiB2YXIoLS1kZWZhdWx0LWZvbnQtc2l6ZSk7XFxuXFx0XFx0XFx0XFx0fVxcblxcblxcdFxcdFxcdFxcdC5hcHAtc2lkZWJhci1oZWFkZXJfX21haW50aXRsZS1mb3JtIHtcXG5cXHRcXHRcXHRcXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdFxcdFxcdFxcdG1hcmdpbi1sZWZ0OiAtNy41cHg7XFxuXFx0XFx0XFx0XFx0XFx0JiAuaWNvbi1jb25maXJtIHtcXG5cXHRcXHRcXHRcXHRcXHRcXHRtYXJnaW46IDA7XFxuXFx0XFx0XFx0XFx0XFx0fVxcblxcblxcdFxcdFxcdFxcdFxcdGlucHV0LmFwcC1zaWRlYmFyLWhlYWRlcl9fbWFpbnRpdGxlLWlucHV0IHtcXG5cXHRcXHRcXHRcXHRcXHRcXHRmbGV4OiAxIDEgYXV0bztcXG5cXHRcXHRcXHRcXHRcXHRcXHRtYXJnaW46IDA7XFxuXFx0XFx0XFx0XFx0XFx0XFx0cGFkZGluZzogJGRlc2MtaW5wdXQtcGFkZGluZztcXG5cXHRcXHRcXHRcXHRcXHRcXHRmb250LXNpemU6IDIwcHg7XFxuXFx0XFx0XFx0XFx0XFx0XFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XFxuXFx0XFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFxuXFx0XFx0XFx0Ly8gZmF2b3VyaXRlXFxuXFx0XFx0XFx0LmFwcC1zaWRlYmFyLWhlYWRlcl9fc3RhciB7XFxuXFx0XFx0XFx0XFx0ZGlzcGxheTogYmxvY2s7XFxuXFx0XFx0XFx0XFx0d2lkdGg6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRcXHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRcXHRwYWRkaW5nOiAkaWNvbi1tYXJnaW47XFxuXFx0XFx0XFx0fVxcblxcdFxcdFxcdC8vIG1haW4gbWVudVxcblxcdFxcdFxcdC5hcHAtc2lkZWJhci1oZWFkZXJfX21lbnUge1xcblxcdFxcdFxcdFxcdGhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0XFx0Ym9yZGVyLXJhZGl1czogJGNsaWNrYWJsZS1hcmVhIC8gMjtcXG5cXHRcXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aW9uLWJhY2tncm91bmQtaG92ZXI7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXG5cXHRcXHQvLyBzaWRlYmFyIGRlc2NyaXB0aW9uIHNsb3RcXG5cXHRcXHQmX19kZXNjcmlwdGlvbiB7XFxuXFx0XFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRcXHRhbGlnbi1pdGVtczogY2VudGVyO1xcblxcdFxcdFxcdG1hcmdpbjogMCAxMHB4O1xcblxcdFxcdH1cXG5cXHR9XFxufVxcblxcbi5zbGlkZS1yaWdodC1sZWF2ZS1hY3RpdmUsXFxuLnNsaWRlLXJpZ2h0LWVudGVyLWFjdGl2ZSB7XFxuXFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tYW5pbWF0aW9uLXF1aWNrKTtcXG5cXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXgtd2lkdGgsIG1pbi13aWR0aDtcXG59XFxuXFxuLnNsaWRlLXJpZ2h0LWVudGVyLXRvLFxcbi5zbGlkZS1yaWdodC1sZWF2ZSB7XFxuXFx0bWluLXdpZHRoOiAkc2lkZWJhci1taW4td2lkdGg7XFxuXFx0bWF4LXdpZHRoOiAkc2lkZWJhci1tYXgtd2lkdGg7XFxufVxcblxcbi5zbGlkZS1yaWdodC1lbnRlcixcXG4uc2xpZGUtcmlnaHQtbGVhdmUtdG8ge1xcblxcdG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xcblxcdG1heC13aWR0aDogMCAhaW1wb3J0YW50O1xcbn1cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG4uYXBwLXNpZGViYXItaGVhZGVyX19kZXNjcmlwdGlvbiBidXR0b24sIC5hcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2NyaXB0aW9uIC5idXR0b24sXFxuLmFwcC1zaWRlYmFyLWhlYWRlcl9fZGVzY3JpcHRpb24gaW5wdXRbdHlwZT0nYnV0dG9uJ10sXFxuLmFwcC1zaWRlYmFyLWhlYWRlcl9fZGVzY3JpcHRpb24gaW5wdXRbdHlwZT0nc3VibWl0J10sXFxuLmFwcC1zaWRlYmFyLWhlYWRlcl9fZGVzY3JpcHRpb24gaW5wdXRbdHlwZT0ncmVzZXQnXSB7XFxuICBwYWRkaW5nOiA2cHggMjJweDtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQXBwU2lkZWJhci52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FBK3ZCRjs7OztFQUtFLGlCQUFpQjtBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG4vLyAhIHNsb3RzIHNwZWNpZmljIGRlc2lnbnMsIGNhbm5vdCBiZSBzY29wZWRcXG4vLyBpZiBhbnkgYnV0dG9uIGluc2lkZSB0aGUgZGVzY3JpcHRpb24gc2xvdCwgaW5jcmVhc2UgdmlzdWFsIHBhZGRpbmdcXG4uYXBwLXNpZGViYXItaGVhZGVyX19kZXNjcmlwdGlvbiB7XFxuXFx0YnV0dG9uLCAuYnV0dG9uLFxcblxcdGlucHV0W3R5cGU9J2J1dHRvbiddLFxcblxcdGlucHV0W3R5cGU9J3N1Ym1pdCddLFxcblxcdGlucHV0W3R5cGU9J3Jlc2V0J10ge1xcblxcdFxcdHBhZGRpbmc6IDZweCAyMnB4O1xcblxcdH1cXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuLmFwcC1zaWRlYmFyLXRhYnNbZGF0YS12LTU3NzJlNDRkXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG1pbi1oZWlnaHQ6IDA7XFxuICBmbGV4OiAxIDEgMTAwJTtcXG59XFxuLmFwcC1zaWRlYmFyLXRhYnNfX25hdltkYXRhLXYtNTc3MmU0NGRdIHtcXG4gICAgbWFyZ2luLXRvcDogMTBweDtcXG59XFxuLmFwcC1zaWRlYmFyLXRhYnNfX25hdiB1bFtkYXRhLXYtNTc3MmU0NGRdIHtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcXG59XFxuLmFwcC1zaWRlYmFyLXRhYnNfX3RhYltkYXRhLXYtNTc3MmU0NGRdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIGZsZXg6IDEgMTtcXG4gICAgbWluLXdpZHRoOiAwO1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi5hcHAtc2lkZWJhci10YWJzX190YWIgYVtkYXRhLXYtNTc3MmU0NGRdIHtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgICAgZGlzcGxheTogYmxvY2s7XFxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgICBwYWRkaW5nOiAyNXB4IDVweCA1cHggNXB4O1xcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWFuaW1hdGlvbi1xdWljayksIG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uLXF1aWNrKSwgYm9yZGVyLWNvbG9yIHZhcigtLWFuaW1hdGlvbi1xdWljayk7XFxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICAgICAgb3BhY2l0eTogMC43O1xcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xcbn1cXG4uYXBwLXNpZGViYXItdGFic19fdGFiIGFbZGF0YS12LTU3NzJlNDRkXTpob3ZlciwgLmFwcC1zaWRlYmFyLXRhYnNfX3RhYiBhW2RhdGEtdi01NzcyZTQ0ZF06Zm9jdXMsIC5hcHAtc2lkZWJhci10YWJzX190YWIgYVtkYXRhLXYtNTc3MmU0NGRdOmFjdGl2ZSwgLmFwcC1zaWRlYmFyLXRhYnNfX3RhYiBhLmFjdGl2ZVtkYXRhLXYtNTc3MmU0NGRdIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7XFxufVxcbi5hcHAtc2lkZWJhci10YWJzX190YWIgYTpob3ZlciAuYXBwLXNpZGViYXItdGFic19fdGFiLWljb25bZGF0YS12LTU3NzJlNDRkXSwgLmFwcC1zaWRlYmFyLXRhYnNfX3RhYiBhOmZvY3VzIC5hcHAtc2lkZWJhci10YWJzX190YWItaWNvbltkYXRhLXYtNTc3MmU0NGRdLCAuYXBwLXNpZGViYXItdGFic19fdGFiIGE6YWN0aXZlIC5hcHAtc2lkZWJhci10YWJzX190YWItaWNvbltkYXRhLXYtNTc3MmU0NGRdLCAuYXBwLXNpZGViYXItdGFic19fdGFiIGEuYWN0aXZlIC5hcHAtc2lkZWJhci10YWJzX190YWItaWNvbltkYXRhLXYtNTc3MmU0NGRdIHtcXG4gICAgICAgICAgb3BhY2l0eTogMTtcXG59XFxuLmFwcC1zaWRlYmFyLXRhYnNfX3RhYiBhW2RhdGEtdi01NzcyZTQ0ZF06bm90KC5hY3RpdmUpOmhvdmVyLCAuYXBwLXNpZGViYXItdGFic19fdGFiIGFbZGF0YS12LTU3NzJlNDRkXTpub3QoLmFjdGl2ZSk6Zm9jdXMge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrZXIpO1xcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrZXIpO1xcbn1cXG4uYXBwLXNpZGViYXItdGFic19fdGFiIGEuYWN0aXZlW2RhdGEtdi01NzcyZTQ0ZF0ge1xcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHQpO1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7XFxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbn1cXG4uYXBwLXNpZGViYXItdGFic19fdGFiIGFbZGF0YS12LTU3NzJlNDRkXTpmb2N1cyB7XFxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcXG59XFxuLmFwcC1zaWRlYmFyLXRhYnNfX3RhYi1pY29uW2RhdGEtdi01NzcyZTQ0ZF0ge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRvcDogMDtcXG4gICAgbGVmdDogMDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogMjVweDtcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1hbmltYXRpb24tcXVpY2spO1xcbiAgICBvcGFjaXR5OiAwLjc7XFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA4cHg7XFxuICAgIGJhY2tncm91bmQtc2l6ZTogMTZweDtcXG59XFxuLmFwcC1zaWRlYmFyLXRhYnNfX2NvbnRlbnRbZGF0YS12LTU3NzJlNDRkXSB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgbWluLWhlaWdodDogMDtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbn1cXG4uYXBwLXNpZGViYXItdGFic19fY29udGVudC0tbXVsdGlwbGVbZGF0YS12LTU3NzJlNDRkXSA+IDpub3Qoc2VjdGlvbikge1xcbiAgICAgIGRpc3BsYXk6IG5vbmU7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL0FwcFNpZGViYXJUYWJzLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUFrUEY7RUFDQyxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLGFBQWE7RUFDYixjQUFjO0FBQUE7QUFFZDtJQUNDLGdCQUFnQjtBQUFBO0FBRGhCO01BR0MsYUFBYTtNQUNiLHdCQUF3QjtBQUFBO0FBRzFCO0lBQ0MsY0FBYztJQUNkLFNBQVM7SUFDVCxZQUFZO0lBQ1osa0JBQWtCO0FBQUE7QUFKbEI7TUFNQyxrQkFBa0I7TUFDbEIsY0FBYztNQUNkLGdCQUFnQjtNQUNoQix5QkFBeUI7TUFDekIsNkdBQTZHO01BQzdHLGtCQUFrQjtNQUNsQixtQkFBbUI7TUFDbkIsdUJBQXVCO01BQ3ZCLFlDdlBnQjtNRHdQaEIsNkJBQTZCO01BQzdCLDRDQUE0QztBQUFBO0FBaEI3QztRQXNCRSxVQzlQWTtBQUFBO0FEd09kO1VBd0JHLFVDaFFXO0FBQUE7QUR3T2Q7UUE2QkUsbURBQW1EO1FBQ25ELHlEQUF5RDtBQUFBO0FBOUIzRDtRQWlDRSw4QkFBOEI7UUFDOUIsNENBQTRDO1FBQzVDLGtEQUFrRDtRQUNsRCxpQkFBaUI7QUFBQTtBQXBDbkI7UUEwQ0UsaURBQWlEO1FBQ2pELHVEQUF1RDtBQUFBO0FBSzFEO0lBQ0Msa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFPO0lBQ1AsV0FBVztJQUNYLFlBQVk7SUFDWiwwQ0FBMEM7SUFDMUMsWUNoU2lCO0lEaVNqQiwrQkFBK0I7SUFDL0IscUJBQXFCO0FBQUE7QUFHdEI7SUFDQyxrQkFBa0I7SUFFbEIsYUFBYTtJQUNiLFlBQVk7QUFBQTtBQUdaO01BQ0MsYUFBYTtBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG4uYXBwLXNpZGViYXItdGFicyB7XFxuXFx0ZGlzcGxheTogZmxleDtcXG5cXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcblxcdG1pbi1oZWlnaHQ6IDA7XFxuXFx0ZmxleDogMSAxIDEwMCU7XFxuXFxuXFx0Jl9fbmF2IHtcXG5cXHRcXHRtYXJnaW4tdG9wOiAxMHB4O1xcblxcdFxcdHVsIHtcXG5cXHRcXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdFxcdGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcXG5cXHRcXHR9XFxuXFx0fVxcblxcdCZfX3RhYiB7XFxuXFx0XFx0ZGlzcGxheTogYmxvY2s7XFxuXFx0XFx0ZmxleDogMSAxO1xcblxcdFxcdG1pbi13aWR0aDogMDtcXG5cXHRcXHR0ZXh0LWFsaWduOiBjZW50ZXI7XFxuXFx0XFx0YSB7XFxuXFx0XFx0XFx0cG9zaXRpb246IHJlbGF0aXZlO1xcblxcdFxcdFxcdGRpc3BsYXk6IGJsb2NrO1xcblxcdFxcdFxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0XFx0XFx0cGFkZGluZzogMjVweCA1cHggNXB4IDVweDtcXG5cXHRcXHRcXHR0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1hbmltYXRpb24tcXVpY2spLCBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbi1xdWljayksIGJvcmRlci1jb2xvciB2YXIoLS1hbmltYXRpb24tcXVpY2spO1xcblxcdFxcdFxcdHRleHQtYWxpZ246IGNlbnRlcjtcXG5cXHRcXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdFxcdFxcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRcXHRcXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcXG5cXG5cXHRcXHRcXHQmOmhvdmVyLFxcblxcdFxcdFxcdCY6Zm9jdXMsXFxuXFx0XFx0XFx0JjphY3RpdmUsXFxuXFx0XFx0XFx0Ji5hY3RpdmUge1xcblxcdFxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XFxuXFx0XFx0XFx0XFx0LmFwcC1zaWRlYmFyLXRhYnNfX3RhYi1pY29uIHtcXG5cXHRcXHRcXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFx0XFx0XFx0Jjpub3QoLmFjdGl2ZSk6aG92ZXIsXFxuXFx0XFx0XFx0Jjpub3QoLmFjdGl2ZSk6Zm9jdXMge1xcblxcdFxcdFxcdFxcdGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTtcXG5cXHRcXHRcXHRcXHRib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmtlcik7XFxuXFx0XFx0XFx0fVxcblxcdFxcdFxcdCYuYWN0aXZlIHtcXG5cXHRcXHRcXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7XFxuXFx0XFx0XFx0XFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7XFxuXFx0XFx0XFx0XFx0Ym94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgdmFyKC0tY29sb3ItdGV4dC1saWdodCk7XFxuXFx0XFx0XFx0XFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XFxuXFx0XFx0XFx0fVxcblxcdFxcdFxcdC8vIGRpZmZlcmVudGlhdGUgdGhlIHR3byBmb3IgYWNjZXNzaWJpbGl0eSBwdXJwb3NlXFxuXFx0XFx0XFx0Ly8gbWFrZSBzdXJlIHRoZSB1c2VyIGtub3dzIHNoZSdzIGZvY3VzaW5nIHRoZSBuYXZpZ2F0aW9uXFxuXFx0XFx0XFx0Ly8gYW5kIGNhbiB1c2UgYXJyb3dzL2hvbWUvcGFnZXVwLi4uXFxuXFx0XFx0XFx0Jjpmb2N1cyB7XFxuXFx0XFx0XFx0XFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcXG5cXHRcXHRcXHRcXHRib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdCZfX3RhYi1pY29uIHtcXG5cXHRcXHRwb3NpdGlvbjogYWJzb2x1dGU7XFxuXFx0XFx0dG9wOiAwO1xcblxcdFxcdGxlZnQ6IDA7XFxuXFx0XFx0d2lkdGg6IDEwMCU7XFxuXFx0XFx0aGVpZ2h0OiAyNXB4O1xcblxcdFxcdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uLXF1aWNrKTtcXG5cXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFx0XFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDhweDtcXG5cXHRcXHRiYWNrZ3JvdW5kLXNpemU6IDE2cHg7XFxuXFx0fVxcblxcblxcdCZfX2NvbnRlbnQge1xcblxcdFxcdHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXHRcXHQvLyB0YWtlIGZ1bGwgYXZhaWxhYmxlIGhlaWdodFxcblxcdFxcdG1pbi1oZWlnaHQ6IDA7XFxuXFx0XFx0aGVpZ2h0OiAxMDAlO1xcblxcdFxcdC8vIGZvcmNlIHRoZSB1c2Ugb2YgdGhlIHRhYiBjb21wb25lbnQgaWYgbW9yZSB0aGFuIG9uZSB0YWJcXG5cXHRcXHQvLyB5b3UgY2FuIGp1c3QgcHV0IHJhdyBjb250ZW50IGlmIHlvdSBkb24ndCB1c2UgdGFic1xcblxcdFxcdCYtLW11bHRpcGxlID4gOm5vdChzZWN0aW9uKSB7XFxuXFx0XFx0XFx0ZGlzcGxheTogbm9uZTtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG4uYXBwLXNpZGViYXJfX3RhYltkYXRhLXYtZTVkYmZkNzZdIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxuICBwYWRkaW5nOiAxMHB4O1xcbiAgbWluLWhlaWdodDogMTAwJTtcXG4gIG1heC1oZWlnaHQ6IDEwMCU7XFxuICBvdmVyZmxvdzogYXV0bztcXG59XFxuLmFwcC1zaWRlYmFyX190YWJbZGF0YS12LWU1ZGJmZDc2XTpmb2N1cyB7XFxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XFxuICAgIGJveC1zaGFkb3c6IDAgMCAwLjJlbSB2YXIoLS1jb2xvci1wcmltYXJ5KTtcXG4gICAgb3V0bGluZTogMDtcXG59XFxuLmFwcC1zaWRlYmFyX190YWItLWFjdGl2ZVtkYXRhLXYtZTVkYmZkNzZdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL0FwcFNpZGViYXJUYWIudnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBQWlFRjtFQUNDLGFBQWE7RUFDYixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixjQUFjO0FBQUE7QUFMZjtJQVFFLGtDQUFrQztJQUNsQywwQ0FBMEM7SUFDMUMsVUFBVTtBQUFBO0FBR1g7SUFDQyxjQUFjO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbi5hcHAtc2lkZWJhcl9fdGFiIHtcXG5cXHRkaXNwbGF5OiBub25lO1xcblxcdHBhZGRpbmc6IDEwcHg7XFxuXFx0bWluLWhlaWdodDogMTAwJTsgLy8gZmlsbCBhdmFpbGFibGUgaGVpZ2h0XFxuXFx0bWF4LWhlaWdodDogMTAwJTsgLy8gc2Nyb2xsIGluc2lkZVxcblxcdG92ZXJmbG93OiBhdXRvO1xcblxcblxcdCY6Zm9jdXMge1xcblxcdFxcdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XFxuXFx0XFx0Ym94LXNoYWRvdzogMCAwIDAuMmVtIHZhcigtLWNvbG9yLXByaW1hcnkpO1xcblxcdFxcdG91dGxpbmU6IDA7XFxuXFx0fVxcblxcblxcdCYtLWFjdGl2ZSB7XFxuXFx0XFx0ZGlzcGxheTogYmxvY2s7XFxuXFx0fVxcbn1cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9nZXRVcmwuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMF9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYuZW90XCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzFfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmZcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2Z1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8xX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMl9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzJfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8zX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gIHNyYzogdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyArIFwiKTtcXG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cXG4gIHNyYzogdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyArIFwiKSBmb3JtYXQoXFxcImVtYmVkZGVkLW9wZW50eXBlXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gKyBcIikgZm9ybWF0KFxcXCJ3b2ZmXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzJfX18gKyBcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpLCB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8zX19fICsgXCIpIGZvcm1hdChcXFwic3ZnXFxcIik7XFxuICAvKiBMZWdhY3kgaU9TICovXFxufVxcbi5pY29uW2RhdGEtdi0xMDBlM2I2Zl0ge1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG59XFxuLmljb24uYXJyb3ctbGVmdC1kb3VibGVbZGF0YS12LTEwMGUzYjZmXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ogVxcXCI7XFxufVxcbi5pY29uLmFycm93LWxlZnRbZGF0YS12LTEwMGUzYjZmXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oglxcXCI7XFxufVxcbi5pY29uLmFycm93LXJpZ2h0LWRvdWJsZVtkYXRhLXYtMTAwZTNiNmZdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiDXFxcIjtcXG59XFxuLmljb24uYXJyb3ctcmlnaHRbZGF0YS12LTEwMGUzYjZmXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ohFxcXCI7XFxufVxcbi5pY29uLmJyZWFkY3J1bWJbZGF0YS12LTEwMGUzYjZmXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ohVxcXCI7XFxufVxcbi5pY29uLmNoZWNrbWFya1tkYXRhLXYtMTAwZTNiNmZdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiGXFxcIjtcXG59XFxuLmljb24uY2xvc2VbZGF0YS12LTEwMGUzYjZmXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oh1xcXCI7XFxufVxcbi5pY29uLmNvbmZpcm1bZGF0YS12LTEwMGUzYjZmXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oiFxcXCI7XFxufVxcbi5pY29uLmluZm9bZGF0YS12LTEwMGUzYjZmXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oiVxcXCI7XFxufVxcbi5pY29uLm1lbnVbZGF0YS12LTEwMGUzYjZmXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oilxcXCI7XFxufVxcbi5pY29uLm1vcmVbZGF0YS12LTEwMGUzYjZmXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oi1xcXCI7XFxufVxcbi5pY29uLnBhdXNlW2RhdGEtdi0xMDBlM2I2Zl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIxcXFwiO1xcbn1cXG4uaWNvbi5wbGF5W2RhdGEtdi0xMDBlM2I2Zl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI1cXFwiO1xcbn1cXG4uaWNvbi50cmlhbmdsZS1zW2RhdGEtdi0xMDBlM2I2Zl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI5cXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1hd2F5W2RhdGEtdi0xMDBlM2I2Zl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI9cXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1kbmRbZGF0YS12LTEwMGUzYjZmXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6okFxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWludmlzaWJsZVtkYXRhLXYtMTAwZTNiNmZdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiRXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtb25saW5lW2RhdGEtdi0xMDBlM2I2Zl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJJcXFwiO1xcbn1cXG4uYXZhdGFyZGl2W2RhdGEtdi0xMDBlM2I2Zl0ge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uYXZhdGFyZGl2LS11bmtub3duW2RhdGEtdi0xMDBlM2I2Zl0ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbWF4Y29udHJhc3QpO1xcbn1cXG4uYXZhdGFyZGl2W2RhdGEtdi0xMDBlM2I2Zl06bm90KC5hdmF0YXJkaXYtLXVua25vd24pIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4wNSkgaW5zZXQ7XFxufVxcbmJvZHkudGhlbWUtLWRhcmsgLmF2YXRhcmRpdltkYXRhLXYtMTAwZTNiNmZdOm5vdCguYXZhdGFyZGl2LS11bmtub3duKSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xcbn1cXG4uYXZhdGFyZGl2LS13aXRoLW1lbnVbZGF0YS12LTEwMGUzYjZmXSB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmF2YXRhcmRpdi0td2l0aC1tZW51W2RhdGEtdi0xMDBlM2I2Zl0gIC50cmlnZ2VyIHtcXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgdG9wOiAwO1xcbiAgICAgIGxlZnQ6IDA7XFxufVxcbi5hdmF0YXJkaXYtLXdpdGgtbWVudSAuaWNvbi1tb3JlW2RhdGEtdi0xMDBlM2I2Zl0ge1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIG9wYWNpdHk6IDA7XFxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcXG4gICAgICBmb250LXNpemU6IDE4cHg7XFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmF2YXRhcmRpdi0td2l0aC1tZW51IC5pY29uLW1vcmVbZGF0YS12LTEwMGUzYjZmXTpiZWZvcmUge1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgY29udGVudDogXFxcIu6oi1xcXCI7XFxufVxcbi5hdmF0YXJkaXYtLXdpdGgtbWVudSAuaWNvbi1tb3JlW2RhdGEtdi0xMDBlM2I2Zl06OmJlZm9yZSB7XFxuICAgICAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmF2YXRhcmRpdi0td2l0aC1tZW51OmZvY3VzIC5pY29uLW1vcmVbZGF0YS12LTEwMGUzYjZmXSwgLmF2YXRhcmRpdi0td2l0aC1tZW51OmhvdmVyIC5pY29uLW1vcmVbZGF0YS12LTEwMGUzYjZmXSB7XFxuICAgICAgb3BhY2l0eTogMTtcXG59XFxuLmF2YXRhcmRpdi0td2l0aC1tZW51OmZvY3VzIGltZ1tkYXRhLXYtMTAwZTNiNmZdLCAuYXZhdGFyZGl2LS13aXRoLW1lbnU6aG92ZXIgaW1nW2RhdGEtdi0xMDBlM2I2Zl0ge1xcbiAgICAgIG9wYWNpdHk6IDAuMztcXG59XFxuLmF2YXRhcmRpdi0td2l0aC1tZW51IC5pY29uLW1vcmVbZGF0YS12LTEwMGUzYjZmXSxcXG4gICAgLmF2YXRhcmRpdi0td2l0aC1tZW51IGltZ1tkYXRhLXYtMTAwZTNiNmZdIHtcXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbi1xdWljayk7XFxufVxcbi5hdmF0YXJkaXYgPiAudW5rbm93bltkYXRhLXYtMTAwZTNiNmZdIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDA7XFxuICAgIGxlZnQ6IDA7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG59XFxuLmF2YXRhcmRpdiBpbWdbZGF0YS12LTEwMGUzYjZmXSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xcbn1cXG4uYXZhdGFyZGl2IC5hdmF0YXJkaXZfX3N0YXR1c1tkYXRhLXYtMTAwZTNiNmZdIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDIycHg7XFxuICAgIGxlZnQ6IDIycHg7XFxuICAgIHdpZHRoOiAxMHB4O1xcbiAgICBoZWlnaHQ6IDEwcHg7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcXG4gICAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcXG59XFxuLmF2YXRhcmRpdiAuYXZhdGFyZGl2X19zdGF0dXMtLXBvc2l0aXZlW2RhdGEtdi0xMDBlM2I2Zl0ge1xcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcXG59XFxuLmF2YXRhcmRpdiAuYXZhdGFyZGl2X19zdGF0dXMtLW5lZ2F0aXZlW2RhdGEtdi0xMDBlM2I2Zl0ge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcXG59XFxuLmF2YXRhcmRpdiAuYXZhdGFyZGl2X19zdGF0dXMtLW5ldXRyYWxbZGF0YS12LTEwMGUzYjZmXSB7XFxuICAgICAgYm9yZGVyOiBub25lO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxufVxcbi5hdmF0YXJkaXYgLmF2YXRhcmRpdl9fc3RhdHVzLS1uZXV0cmFsIHN2Z1tkYXRhLXYtMTAwZTNiNmZdIHtcXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICAgIHRvcDogLTNweDtcXG4gICAgICAgIGxlZnQ6IC0ycHg7XFxufVxcbi5hdmF0YXJkaXYgLmF2YXRhcmRpdl9fc3RhdHVzLS1uZXV0cmFsIHN2ZyBwYXRoW2RhdGEtdi0xMDBlM2I2Zl0ge1xcbiAgICAgICAgICBmaWxsOiAjYWFhO1xcbn1cXG4uYXZhdGFyZGl2IC5hdmF0YXJkaXZfX3VzZXItc3RhdHVzW2RhdGEtdi0xMDBlM2I2Zl0ge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHJpZ2h0OiAtNHB4O1xcbiAgICBib3R0b206IC00cHg7XFxuICAgIGhlaWdodDogMThweDtcXG4gICAgd2lkdGg6IDE4cHg7XFxuICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xcbiAgICBmb250LXNpemU6IHZhcigtLWRlZmF1bHQtZm9udC1zaXplKTtcXG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xcbn1cXG4uYWNsaTpob3ZlciAuYXZhdGFyZGl2IC5hdmF0YXJkaXZfX3VzZXItc3RhdHVzW2RhdGEtdi0xMDBlM2I2Zl0ge1xcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XFxufVxcbi5hY2xpLmFjdGl2ZSAuYXZhdGFyZGl2IC5hdmF0YXJkaXZfX3VzZXItc3RhdHVzW2RhdGEtdi0xMDBlM2I2Zl0ge1xcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XFxufVxcbi5hdmF0YXJkaXYgLmF2YXRhcmRpdl9fdXNlci1zdGF0dXMtLW9ubGluZVtkYXRhLXYtMTAwZTNiNmZdIHtcXG4gICAgICBjb2xvcjogIzQ5YjM4MjtcXG59XFxuLmF2YXRhcmRpdiAuYXZhdGFyZGl2X191c2VyLXN0YXR1cy0tb25saW5lW2RhdGEtdi0xMDBlM2I2Zl06YmVmb3JlIHtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgIGNvbnRlbnQ6IFxcXCLuqJJcXFwiO1xcbn1cXG4uYXZhdGFyZGl2IC5hdmF0YXJkaXZfX3VzZXItc3RhdHVzLS1kbmRbZGF0YS12LTEwMGUzYjZmXSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcXG4gICAgICBjb2xvcjogI2VkNDg0YztcXG59XFxuLmF2YXRhcmRpdiAuYXZhdGFyZGl2X191c2VyLXN0YXR1cy0tZG5kW2RhdGEtdi0xMDBlM2I2Zl06YmVmb3JlIHtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgIGNvbnRlbnQ6IFxcXCLuqJBcXFwiO1xcbn1cXG4uYXZhdGFyZGl2IC5hdmF0YXJkaXZfX3VzZXItc3RhdHVzLS1hd2F5W2RhdGEtdi0xMDBlM2I2Zl0ge1xcbiAgICAgIGNvbG9yOiAjZjRhMzMxO1xcbn1cXG4uYXZhdGFyZGl2IC5hdmF0YXJkaXZfX3VzZXItc3RhdHVzLS1hd2F5W2RhdGEtdi0xMDBlM2I2Zl06YmVmb3JlIHtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgIGNvbnRlbnQ6IFxcXCLuqI9cXFwiO1xcbn1cXG4uYXZhdGFyZGl2IC5hdmF0YXJkaXZfX3VzZXItc3RhdHVzLS1pY29uW2RhdGEtdi0xMDBlM2I2Zl0ge1xcbiAgICAgIGJvcmRlcjogbm9uZTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG59XFxuLmF2YXRhcmRpdiAucG9wb3Zlcm1lbnUtd3JhcHBlcltkYXRhLXYtMTAwZTNiNmZdIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5hdmF0YXItY2xhc3MtaWNvbltkYXRhLXYtMTAwZTNiNmZdIHtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTtcXG4gIGhlaWdodDogMTAwJTtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQXZhdGFyLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZS5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUVzRUE7RUFDQyxtQ0FBbUM7RUFDbkMsNENBQXVDO0VBQUUscUJBQUE7RUFDekMsbVBBR21EO0VBQUUsZUFBQTtBQUFnQjtBQU10RTtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7QUFBQTtBQUZsQjtJQU1NLG1DQUFtQztJQUNuQyxZQTVHZTtBQUFPO0FBcUc1QjtJQU1NLG1DQUFtQztJQUNuQyxZQTNHUTtBQUFPO0FBb0dyQjtJQU1NLG1DQUFtQztJQUNuQyxZQTFHZ0I7QUFBTztBQW1HN0I7SUFNTSxtQ0FBbUM7SUFDbkMsWUF6R1M7QUFBTztBQWtHdEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUF4R1E7QUFBTztBQWlHckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUF2R087QUFBTztBQWdHcEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUF0R0c7QUFBTztBQStGaEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUFyR0s7QUFBTztBQThGbEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUFwR0U7QUFBTztBQTZGZjtJQU1NLG1DQUFtQztJQUNuQyxZQW5HRTtBQUFPO0FBNEZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBbEdFO0FBQU87QUEyRmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFqR0c7QUFBTztBQTBGaEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUFoR0U7QUFBTztBQXlGZjtJQU1NLG1DQUFtQztJQUNuQyxZQS9GUTtBQUFPO0FBd0ZyQjtJQU1NLG1DQUFtQztJQUNuQyxZQTlGYztBQUFPO0FBdUYzQjtJQU1NLG1DQUFtQztJQUNuQyxZQTdGYTtBQUFPO0FBc0YxQjtJQU1NLG1DQUFtQztJQUNuQyxZQTVGbUI7QUFBTztBQXFGaEM7SUFNTSxtQ0FBbUM7SUFDbkMsWUEzRmdCO0FBQU87QUZza0IvQjtFQUNDLGtCQUFrQjtFQUNsQixxQkFBcUI7QUFBQTtBQUVyQjtJQUNDLGtCQUFrQjtJQUNsQiwrQ0FBK0M7QUFBQTtBQU5qRDtJQVdFLGlDQUFpQztJQUtqQyw2Q0FBNkM7QUFBQTtBQUo3QztNQUVDLGlDQUFpQztBQUFBO0FBS25DO0lBQ0MsZUFBZTtBQUFBO0FBRGY7TUFHQyxrQkFBa0I7TUFDbEIsTUFBTTtNQUNOLE9BQU87QUFBQTtBQUxSO01BUUMsYUFBYTtNQUNiLGVBQWU7TUFDZixVQUFVO01BQ1YsZ0JBQWdCO01BQ2hCLGVBQWU7TUFDZixtQkFBbUI7TUFDbkIsdUJBQXVCO0FBQUE7QUFkeEI7UUUxaEJFLG1DQWpGbUI7UUFrRm5CLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsWUF6RU07QUFBTztBRmdtQmY7UUFrQkUsY0FBYztBQUFBO0FBbEJoQjtNQXdCRSxVQUFVO0FBQUE7QUF4Qlo7TUEyQkUsWUFBWTtBQUFBO0FBM0JkOztNQWdDQywwQ0FBMEM7QUFBQTtBQW5EN0M7SUF3REUsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFPO0lBQ1AsY0FBYztJQUNkLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLG1DQUFtQztBQUFBO0FBL0RyQztJQW9FRSxXQUFXO0lBQ1gsWUFBWTtJQUVaLGlCQUFpQjtBQUFBO0FBdkVuQjtJQTJFRSxrQkFBa0I7SUFDbEIsU0FBUztJQUNULFVBQVU7SUFDVixXQUFXO0lBQ1gsWUFBWTtJQUNaLDBDQUF5QztJQUN6Qyw0QkFBNEI7QUFBQTtBQWpGOUI7TUFtRkcsa0JBQWtCO01BQ2xCLHNDQUFzQztBQUFBO0FBcEZ6QztNQXVGRyxvQ0FBb0M7QUFBQTtBQXZGdkM7TUEwRkcsWUFBWTtNQUNaLHdDQUF3QztBQUFBO0FBM0YzQztRQTZGSSxrQkFBa0I7UUFDbEIsU0FBUztRQUNULFVBQVU7QUFBQTtBQS9GZDtVQWlHSyxVQUFVO0FBQUE7QUFqR2Y7SUF3R0Usa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsbUNBQW1DO0lBQ25DLDhDQUE4QztJQUM5Qyw4Q0FBOEM7SUFDOUMsa0JBQWtCO0FBQUE7QUFFbEI7TUFDQywyQ0FBMkM7TUFDM0MsK0NBQStDO0FBQUE7QUFFaEQ7TUFDQyx3Q0FBd0M7TUFDeEMsNENBQTRDO0FBQUE7QUF6SC9DO01BOEhHLGNBQWM7QUFBQTtBQTlIakI7UUV2Z0JJLG1DQWpGbUI7UUFrRm5CLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsWUFsRW9CO0FBQU87QUZza0IvQjtNQWtJRyx5QkFBeUI7TUFDekIsY0FBYztBQUFBO0FBbklqQjtRRXZnQkksbUNBakZtQjtRQWtGbkIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixZQXBFaUI7QUFBTztBRndrQjVCO01BdUlHLGNBQWM7QUFBQTtBQXZJakI7UUV2Z0JJLG1DQWpGbUI7UUFrRm5CLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsWUFyRWtCO0FBQU87QUZ5a0I3QjtNQTBJRyxZQUFZO01BQ1osNkJBQTZCO0FBQUE7QUEzSWhDO0lBZ0pFLGtCQUFrQjtJQUNsQixxQkFBcUI7QUFBQTtBQUl2QjtFQUNDLGtCQUFrQjtFQUNsQixnREFBZ0Q7RUFDaEQsWUFBWTtBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5AaW1wb3J0ICcuLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZSc7XFxuXFxuLmF2YXRhcmRpdiB7XFxuXFx0cG9zaXRpb246IHJlbGF0aXZlO1xcblxcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG5cXG5cXHQmLS11bmtub3duIHtcXG5cXHRcXHRwb3NpdGlvbjogcmVsYXRpdmU7XFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tYXhjb250cmFzdCk7XFxuXFx0fVxcblxcblxcdCY6bm90KCYtLXVua25vd24pIHtcXG5cXHRcXHQvLyBXaGl0ZSBiYWNrZ3JvdW5kIGZvciBhdmF0YXJzIHdpdGggdHJhbnNwYXJlbmN5XFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xcblxcdFxcdGJvZHkudGhlbWUtLWRhcmsgJiB7XFxuXFx0XFx0XFx0Ly8gQW5kIGJsYWNrIGJhY2tncm91bmQgaW4gZGFyayBtb2RlLCBhcyBpdCBzaGluZXMgdGhyb3VnaCBvbiBob3ZlciBvZiB0aGUgbWVudVxcblxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6ICMwMDAgIWltcG9ydGFudDtcXG5cXHRcXHR9XFxuXFx0XFx0Ym94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMDUpIGluc2V0O1xcblxcdH1cXG5cXG5cXHQmLS13aXRoLW1lbnUge1xcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHQ6OnYtZGVlcCAudHJpZ2dlciB7XFxuXFx0XFx0XFx0cG9zaXRpb246IGFic29sdXRlO1xcblxcdFxcdFxcdHRvcDogMDtcXG5cXHRcXHRcXHRsZWZ0OiAwO1xcblxcdFxcdH1cXG5cXHRcXHQuaWNvbi1tb3JlIHtcXG5cXHRcXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRcXHRvcGFjaXR5OiAwO1xcblxcdFxcdFxcdGJhY2tncm91bmQ6IG5vbmU7XFxuXFx0XFx0XFx0Zm9udC1zaXplOiAxOHB4O1xcblxcdFxcdFxcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuXFx0XFx0XFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuXFxuXFx0XFx0XFx0QGluY2x1ZGUgaWNvbmZvbnQoJ21vcmUnKTtcXG5cXHRcXHRcXHQmOjpiZWZvcmUge1xcblxcdFxcdFxcdFxcdGRpc3BsYXk6IGJsb2NrO1xcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFx0XFx0Jjpmb2N1cyxcXG5cXHRcXHQmOmhvdmVyIHtcXG5cXHRcXHRcXHQuaWNvbi1tb3JlIHtcXG5cXHRcXHRcXHRcXHRvcGFjaXR5OiAxO1xcblxcdFxcdFxcdH1cXG5cXHRcXHRcXHRpbWcge1xcblxcdFxcdFxcdFxcdG9wYWNpdHk6IDAuMztcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdFxcdC5pY29uLW1vcmUsXFxuXFx0XFx0aW1nIHtcXG5cXHRcXHRcXHR0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbi1xdWljayk7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQ+IC51bmtub3duIHtcXG5cXHRcXHRwb3NpdGlvbjogYWJzb2x1dGU7XFxuXFx0XFx0dG9wOiAwO1xcblxcdFxcdGxlZnQ6IDA7XFxuXFx0XFx0ZGlzcGxheTogYmxvY2s7XFxuXFx0XFx0d2lkdGg6IDEwMCU7XFxuXFx0XFx0dGV4dC1hbGlnbjogY2VudGVyO1xcblxcdFxcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuXFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuXFx0fVxcblxcblxcdGltZyB7XFxuXFx0XFx0Ly8gQ292ZXIgZW50aXJlIGFyZWFcXG5cXHRcXHR3aWR0aDogMTAwJTtcXG5cXHRcXHRoZWlnaHQ6IDEwMCU7XFxuXFx0XFx0Ly8gS2VlcCByYXRpb1xcblxcdFxcdG9iamVjdC1maXQ6IGNvdmVyO1xcblxcdH1cXG5cXG5cXHQuYXZhdGFyZGl2X19zdGF0dXMge1xcblxcdFxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHRcXHR0b3A6IDIycHg7XFxuXFx0XFx0bGVmdDogMjJweDtcXG5cXHRcXHR3aWR0aDogMTBweDtcXG5cXHRcXHRoZWlnaHQ6IDEwcHg7XFxuXFx0XFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XFxuXFx0XFx0YmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcXG5cXHRcXHQmLS1wb3NpdGl2ZSB7XFxuXFx0XFx0XFx0Ym9yZGVyLXJhZGl1czogNTAlO1xcblxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xcblxcdFxcdH1cXG5cXHRcXHQmLS1uZWdhdGl2ZSB7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xcblxcdFxcdH1cXG5cXHRcXHQmLS1uZXV0cmFsIHtcXG5cXHRcXHRcXHRib3JkZXI6IG5vbmU7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG5cXHRcXHRcXHRzdmcge1xcblxcdFxcdFxcdFxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHRcXHRcXHRcXHR0b3A6IC0zcHg7XFxuXFx0XFx0XFx0XFx0bGVmdDogLTJweDtcXG5cXHRcXHRcXHRcXHRwYXRoIHtcXG5cXHRcXHRcXHRcXHRcXHRmaWxsOiAjYWFhO1xcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQuYXZhdGFyZGl2X191c2VyLXN0YXR1cyB7XFxuXFx0XFx0cG9zaXRpb246IGFic29sdXRlO1xcblxcdFxcdHJpZ2h0OiAtNHB4O1xcblxcdFxcdGJvdHRvbTogLTRweDtcXG5cXHRcXHRoZWlnaHQ6IDE4cHg7XFxuXFx0XFx0d2lkdGg6IDE4cHg7XFxuXFx0XFx0bGluZS1oZWlnaHQ6IDE1cHg7XFxuXFx0XFx0Zm9udC1zaXplOiB2YXIoLS1kZWZhdWx0LWZvbnQtc2l6ZSk7XFxuXFx0XFx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcblxcdFxcdGJvcmRlci1yYWRpdXM6IDUwJTtcXG5cXG5cXHRcXHQuYWNsaTpob3ZlciAmIHtcXG5cXHRcXHRcXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xcblxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xcblxcdFxcdH1cXG5cXHRcXHQuYWNsaS5hY3RpdmUgJiB7XFxuXFx0XFx0XFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ji0tb25saW5le1xcblxcdFxcdFxcdEBpbmNsdWRlIGljb25mb250KCd1c2VyLXN0YXR1cy1vbmxpbmUnKTtcXG5cXHRcXHRcXHRjb2xvcjogIzQ5YjM4MjtcXG5cXHRcXHR9XFxuXFx0XFx0Ji0tZG5ke1xcblxcdFxcdFxcdEBpbmNsdWRlIGljb25mb250KCd1c2VyLXN0YXR1cy1kbmQnKTtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xcblxcdFxcdFxcdGNvbG9yOiAjZWQ0ODRjO1xcblxcdFxcdH1cXG5cXHRcXHQmLS1hd2F5e1xcblxcdFxcdFxcdEBpbmNsdWRlIGljb25mb250KCd1c2VyLXN0YXR1cy1hd2F5Jyk7XFxuXFx0XFx0XFx0Y29sb3I6ICNmNGEzMzE7XFxuXFx0XFx0fVxcblxcdFxcdCYtLWljb24ge1xcblxcdFxcdFxcdGJvcmRlcjogbm9uZTtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdC5wb3BvdmVybWVudS13cmFwcGVyIHtcXG5cXHRcXHRwb3NpdGlvbjogcmVsYXRpdmU7XFxuXFx0XFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xcblxcdH1cXG59XFxuXFxuLmF2YXRhci1jbGFzcy1pY29uIHtcXG5cXHRib3JkZXItcmFkaXVzOiA1MCU7XFxuXFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrZXIpO1xcblxcdGhlaWdodDogMTAwJTtcXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiLFwiJF9faWNvbmZvbnRfX2RhdGE6IG1hcC1tZXJnZShpZihnbG9iYWxfdmFyaWFibGVfZXhpc3RzKCdfX2ljb25mb250X19kYXRhJyksICRfX2ljb25mb250X19kYXRhLCAoKSksIChcXG5cXHRcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiOiAoXFxuXFx0XFx0XFxcImFycm93LWxlZnQtZG91YmxlXFxcIjogXFxcIlxcXFxlYTAxXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctbGVmdFxcXCI6IFxcXCJcXFxcZWEwMlxcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0LWRvdWJsZVxcXCI6IFxcXCJcXFxcZWEwM1xcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0XFxcIjogXFxcIlxcXFxlYTA0XFxcIixcXG5cXHRcXHRcXFwiYnJlYWRjcnVtYlxcXCI6IFxcXCJcXFxcZWEwNVxcXCIsXFxuXFx0XFx0XFxcImNoZWNrbWFya1xcXCI6IFxcXCJcXFxcZWEwNlxcXCIsXFxuXFx0XFx0XFxcImNsb3NlXFxcIjogXFxcIlxcXFxlYTA3XFxcIixcXG5cXHRcXHRcXFwiY29uZmlybVxcXCI6IFxcXCJcXFxcZWEwOFxcXCIsXFxuXFx0XFx0XFxcImluZm9cXFwiOiBcXFwiXFxcXGVhMDlcXFwiLFxcblxcdFxcdFxcXCJtZW51XFxcIjogXFxcIlxcXFxlYTBhXFxcIixcXG5cXHRcXHRcXFwibW9yZVxcXCI6IFxcXCJcXFxcZWEwYlxcXCIsXFxuXFx0XFx0XFxcInBhdXNlXFxcIjogXFxcIlxcXFxlYTBjXFxcIixcXG5cXHRcXHRcXFwicGxheVxcXCI6IFxcXCJcXFxcZWEwZFxcXCIsXFxuXFx0XFx0XFxcInRyaWFuZ2xlLXNcXFwiOiBcXFwiXFxcXGVhMGVcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1hd2F5XFxcIjogXFxcIlxcXFxlYTBmXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtZG5kXFxcIjogXFxcIlxcXFxlYTEwXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtaW52aXNpYmxlXFxcIjogXFxcIlxcXFxlYTExXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtb25saW5lXFxcIjogXFxcIlxcXFxlYTEyXFxcIlxcblxcdClcXG4pKTtcXG5cXG5cXG4kY3JlYXRlLWZvbnQtZmFjZTogdHJ1ZSAhZGVmYXVsdDsgLy8gc2hvdWxkIHRoZSBAZm9udC1mYWNlIHRhZyBnZXQgY3JlYXRlZD9cXG5cXG4vLyBzaG91bGQgdGhlcmUgYmUgYSBjdXN0b20gY2xhc3MgZm9yIGVhY2ggaWNvbj8gd2lsbCBiZSAuZmlsZW5hbWVcXG4kY3JlYXRlLWljb24tY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDsgXFxuXFxuLy8gd2hhdCBpcyB0aGUgY29tbW9uIGNsYXNzIG5hbWUgdGhhdCBpY29ucyBzaGFyZT8gaW4gdGhpcyBjYXNlIGljb25zIG5lZWQgdG8gaGF2ZSAuaWNvbi5maWxlbmFtZSBpbiB0aGVpciBjbGFzc2VzXFxuLy8gdGhpcyByZXF1aXJlcyB5b3UgdG8gaGF2ZSAyIGNsYXNzZXMgb24gZWFjaCBpY29uIGh0bWwgZWxlbWVudCwgYnV0IHJlZHVjZWQgcmVkZWNsYXJhdGlvbiBvZiB0aGUgZm9udCBmYW1pbHlcXG4vLyBmb3IgZWFjaCBpY29uXFxuJGljb24tY29tbW9uLWNsYXNzOiAnaWNvbicgIWRlZmF1bHQ7XFxuXFxuLy8gaWYgeW91IHdoaXNoIHRvIHByZWZpeCB5b3VyIGZpbGVuYW1lcywgaGVyZSB5b3UgY2FuIGRvIHNvLlxcbi8vIGlmIHRoaXMgc3RyaW5nIHN0YXlzIGVtcHR5LCB5b3VyIGNsYXNzZXMgd2lsbCB1c2UgdGhlIGZpbGVuYW1lLCBmb3IgZXhhbXBsZVxcbi8vIGFuIGljb24gY2FsbGVkIHN0YXIuc3ZnIHdpbGwgcmVzdWx0IGluIGEgY2xhc3MgY2FsbGVkIC5zdGFyXFxuLy8gaWYgeW91IHVzZSB0aGUgcHJlZml4IHRvIGJlICdpY29uLScgaXQgd291bGQgcmVzdWx0IGluIC5pY29uLXN0YXJcXG4kaWNvbi1wcmVmaXg6ICcnICFkZWZhdWx0OyBcXG5cXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvbnQgZ3JvdXBcXG5AZnVuY3Rpb24gaWNvbmZvbnQtZ3JvdXAoJGdyb3VwOiBudWxsKSB7XFxuICBAaWYgKG51bGwgPT0gJGdyb3VwKSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICBAaWYgKGZhbHNlID09IG1hcC1oYXMta2V5KCRfX2ljb25mb250X19kYXRhLCAkZ3JvdXApKSB7XFxuICAgIEB3YXJuICdVbmRlZmluZWQgSWNvbmZvbnQgRmFtaWx5ISc7XFxuICAgIEByZXR1cm4gKCk7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJF9faWNvbmZvbnRfX2RhdGEsICRncm91cCk7XFxufVxcblxcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3QgaWNvbiBvZiBhIGdyb3VwXFxuQGZ1bmN0aW9uIGljb25mb250LWl0ZW0oJG5hbWUpIHtcXG4gICRzbGFzaDogc3RyLWluZGV4KCRuYW1lLCAnLycpO1xcbiAgJGdyb3VwOiBudWxsO1xcbiAgQGlmICgkc2xhc2gpIHtcXG4gICAgJGdyb3VwOiBzdHItc2xpY2UoJG5hbWUsIDAsICRzbGFzaCAtIDEpO1xcbiAgICAkbmFtZTogc3RyLXNsaWNlKCRuYW1lLCAkc2xhc2ggKyAxKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgJGdyb3VwOiBpY29uZm9udC1ncm91cCgkZ3JvdXApO1xcbiAgQGlmIChmYWxzZSA9PSBtYXAtaGFzLWtleSgkZ3JvdXAsICRuYW1lKSkge1xcbiAgICBAd2FybiAnVW5kZWZpbmVkIEljb25mb250IEdseXBoISc7XFxuICAgIEByZXR1cm4gJyc7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJGdyb3VwLCAkbmFtZSk7XFxufVxcblxcbi8vIGNvbXBsZXRlIG1peGluZyB0byBpbmNsdWRlIHRoZSBpY29uXFxuLy8gdXNhZ2U6XFxuLy8gLm15X2ljb257IEBpbmNsdWRlIGljb25mb250KCdzdGFyJykgfVxcbkBtaXhpbiBpY29uZm9udCgkaWNvbikge1xcbiAgJHNsYXNoOiBzdHItaW5kZXgoJGljb24sICcvJyk7XFxuICAkZ3JvdXA6IG51bGw7XFxuICBAaWYgKCRzbGFzaCkge1xcbiAgICAkZ3JvdXA6IHN0ci1zbGljZSgkaWNvbiwgMCwgJHNsYXNoIC0gMSk7XFxuICB9IEBlbHNlIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gICY6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6ICRncm91cDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKCRpY29uKTtcXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyB0aGUgZm9udCBmYWNlIHRhZyBpZiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIHRydWUgKGRlZmF1bHQpXFxuQGlmICRjcmVhdGUtZm9udC1mYWNlID09IHRydWUge1xcbiAgQGZvbnQtZmFjZSB7XFxuICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2ZycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyBpY29uIGNsYXNzZXMgZm9yIGVhY2ggaW5kaXZpZHVhbCBsb2FkZWQgc3ZnIChkZWZhdWx0KVxcbkBpZiAkY3JlYXRlLWljb24tY2xhc3NlcyA9PSB0cnVlIHtcXG4gIC4jeyRpY29uLWNvbW1vbi1jbGFzc30ge1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuXFxuICAgIEBlYWNoICRpY29uLCAkY29udGVudCBpbiBtYXAtZ2V0KCRfX2ljb25mb250X19kYXRhLCBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiKSB7XFxuICAgICAgJi4jeyRpY29uLXByZWZpeH0jeyRpY29ufTpiZWZvcmUge1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKFxcXCJpY29uZm9udC12dWUtODRjNDYxZi8jeyRpY29ufVxcXCIpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2dldFVybC5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5lb3RcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYud29mZlwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi50dGZcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYuc3ZnXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpO1xcbiAgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpIGZvcm1hdChcXFwiZW1iZWRkZWQtb3BlbnR5cGVcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyArIFwiKSBmb3JtYXQoXFxcIndvZmZcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMl9fXyArIFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX18gKyBcIikgZm9ybWF0KFxcXCJzdmdcXFwiKTtcXG4gIC8qIExlZ2FjeSBpT1MgKi9cXG59XFxuLmljb25bZGF0YS12LTAzMjE2YmEyXSB7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxuICBmb250LXdlaWdodDogNDAwO1xcbn1cXG4uaWNvbi5hcnJvdy1sZWZ0LWRvdWJsZVtkYXRhLXYtMDMyMTZiYTJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiBXFxcIjtcXG59XFxuLmljb24uYXJyb3ctbGVmdFtkYXRhLXYtMDMyMTZiYTJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiCXFxcIjtcXG59XFxuLmljb24uYXJyb3ctcmlnaHQtZG91YmxlW2RhdGEtdi0wMzIxNmJhMl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqINcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1yaWdodFtkYXRhLXYtMDMyMTZiYTJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiEXFxcIjtcXG59XFxuLmljb24uYnJlYWRjcnVtYltkYXRhLXYtMDMyMTZiYTJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiFXFxcIjtcXG59XFxuLmljb24uY2hlY2ttYXJrW2RhdGEtdi0wMzIxNmJhMl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIZcXFwiO1xcbn1cXG4uaWNvbi5jbG9zZVtkYXRhLXYtMDMyMTZiYTJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiHXFxcIjtcXG59XFxuLmljb24uY29uZmlybVtkYXRhLXYtMDMyMTZiYTJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiIXFxcIjtcXG59XFxuLmljb24uaW5mb1tkYXRhLXYtMDMyMTZiYTJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiJXFxcIjtcXG59XFxuLmljb24ubWVudVtkYXRhLXYtMDMyMTZiYTJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiKXFxcIjtcXG59XFxuLmljb24ubW9yZVtkYXRhLXYtMDMyMTZiYTJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiLXFxcIjtcXG59XFxuLmljb24ucGF1c2VbZGF0YS12LTAzMjE2YmEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojFxcXCI7XFxufVxcbi5pY29uLnBsYXlbZGF0YS12LTAzMjE2YmEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojVxcXCI7XFxufVxcbi5pY29uLnRyaWFuZ2xlLXNbZGF0YS12LTAzMjE2YmEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojlxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWF3YXlbZGF0YS12LTAzMjE2YmEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oj1xcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWRuZFtkYXRhLXYtMDMyMTZiYTJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiQXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtaW52aXNpYmxlW2RhdGEtdi0wMzIxNmJhMl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJFcXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1vbmxpbmVbZGF0YS12LTAzMjE2YmEyXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oklxcXCI7XFxufVxcbi5jcnVtYltkYXRhLXYtMDMyMTZiYTJdIHtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGhlaWdodDogNDRweDtcXG4gIHBhZGRpbmc6IDA7XFxufVxcbi5jcnVtYltkYXRhLXYtMDMyMTZiYTJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIVcXFwiO1xcbn1cXG4uY3J1bWJbZGF0YS12LTAzMjE2YmEyXTpsYXN0LWNoaWxkIHtcXG4gICAgbWF4LXdpZHRoOiAyMTBweDtcXG59XFxuLmNydW1iOmxhc3QtY2hpbGQgYVtkYXRhLXYtMDMyMTZiYTJdIHtcXG4gICAgICBmbGV4LXNocmluazogMTtcXG59XFxuLmNydW1iW2RhdGEtdi0wMzIxNmJhMl06OmJlZm9yZSB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIG9yZGVyOiAxO1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xcbiAgICBmb250LXNpemU6IDI2cHg7XFxufVxcbi5jcnVtYi0taGlkZGVuW2RhdGEtdi0wMzIxNmJhMl0ge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbn1cXG4uY3J1bWItLXdpdGgtYWN0aW9uIGFbZGF0YS12LTAzMjE2YmEyXSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcXG59XFxuLmNydW1iID4gYVtkYXRhLXYtMDMyMTZiYTJdLCAuY3J1bWIgPiBzcGFuW2RhdGEtdi0wMzIxNmJhMl0ge1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbi5jcnVtYiBhW2RhdGEtdi0wMzIxNmJhMl0ge1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG59XFxuLmNydW1iIGEgPiBzcGFuW2RhdGEtdi0wMzIxNmJhMl0ge1xcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQnJlYWRjcnVtYi52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vZm9udHMvc2Nzcy9pY29uZm9udC12dWUuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FFc0VBO0VBQ0MsbUNBQW1DO0VBQ25DLDRDQUF1QztFQUFFLHFCQUFBO0VBQ3pDLG1QQUdtRDtFQUFFLGVBQUE7QUFBZ0I7QUFNdEU7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQUE7QUFGbEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE1R2U7QUFBTztBQXFHNUI7SUFNTSxtQ0FBbUM7SUFDbkMsWUEzR1E7QUFBTztBQW9HckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUExR2dCO0FBQU87QUFtRzdCO0lBTU0sbUNBQW1DO0lBQ25DLFlBekdTO0FBQU87QUFrR3RCO0lBTU0sbUNBQW1DO0lBQ25DLFlBeEdRO0FBQU87QUFpR3JCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdkdPO0FBQU87QUFnR3BCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdEdHO0FBQU87QUErRmhCO0lBTU0sbUNBQW1DO0lBQ25DLFlBckdLO0FBQU87QUE4RmxCO0lBTU0sbUNBQW1DO0lBQ25DLFlBcEdFO0FBQU87QUE2RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFuR0U7QUFBTztBQTRGZjtJQU1NLG1DQUFtQztJQUNuQyxZQWxHRTtBQUFPO0FBMkZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBakdHO0FBQU87QUEwRmhCO0lBTU0sbUNBQW1DO0lBQ25DLFlBaEdFO0FBQU87QUF5RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUEvRlE7QUFBTztBQXdGckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE5RmM7QUFBTztBQXVGM0I7SUFNTSxtQ0FBbUM7SUFDbkMsWUE3RmE7QUFBTztBQXNGMUI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE1Rm1CO0FBQU87QUFxRmhDO0lBTU0sbUNBQW1DO0lBQ25DLFlBM0ZnQjtBQUFPO0FGcU0vQjtFQUVDLHNCQUFzQjtFQUN0QixvQkFBb0I7RUFDcEIsWUNuTW9CO0VEb01wQixVQUFVO0FBQUE7QUFMWDtJRXRJSSxtQ0FqRm1CO0lBa0ZuQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLFlBL0VZO0FBQU87QUZrTnZCO0lBUUUsZ0JBQWdCO0FBQUE7QUFSbEI7TUFXRyxjQUFjO0FBQUE7QUFYakI7SUFnQkUsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixRQUFRO0lBQ1IsK0JBQStCO0lBQy9CLGVBQWU7QUFBQTtBQUdoQjtJQUNDLGFBQWE7QUFBQTtBQUdkO0lBQ0Msa0JBQWtCO0FBQUE7QUE1QnBCO0lBZ0NFLGVBQWU7QUFBQTtBQWhDakI7SUFvQ0UsbUJBQW1CO0lBQ25CLG9CQUFvQjtBQUFBO0FBckN0QjtNQXdDRyxnQkFBZ0I7TUFDaEIsdUJBQXVCO01BQ3ZCLG1CQUFtQjtBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5AaW1wb3J0ICcuLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZSc7XFxuXFxuLmNydW1iIHtcXG5cXHRAaW5jbHVkZSBpY29uZm9udCgnYnJlYWRjcnVtYicpO1xcblxcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuXFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XFxuXFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0cGFkZGluZzogMDtcXG5cXG5cXHQmOmxhc3QtY2hpbGQge1xcblxcdFxcdG1heC13aWR0aDogMjEwcHg7XFxuXFxuXFx0XFx0YSB7XFxuXFx0XFx0XFx0ZmxleC1zaHJpbms6IDE7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQmOjpiZWZvcmUge1xcblxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXHRcXHRvcmRlcjogMTtcXG5cXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xcblxcdFxcdGZvbnQtc2l6ZTogMjZweDtcXG5cXHR9XFxuXFxuXFx0Ji0taGlkZGVuIHtcXG5cXHRcXHRkaXNwbGF5OiBub25lO1xcblxcdH1cXG5cXG5cXHQmLS13aXRoLWFjdGlvbiBhIHtcXG5cXHRcXHRwYWRkaW5nLXJpZ2h0OiAycHg7XFxuXFx0fVxcblxcblxcdD4gYSwgPiBzcGFuIHtcXG5cXHRcXHRtYXgtd2lkdGg6IDEwMCU7XFxuXFx0fVxcblxcblxcdGEge1xcblxcdFxcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuXFx0XFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XFxuXFxuXFx0XFx0PiBzcGFuIHtcXG5cXHRcXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdFxcdFxcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcblxcdFxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiLFwiJF9faWNvbmZvbnRfX2RhdGE6IG1hcC1tZXJnZShpZihnbG9iYWxfdmFyaWFibGVfZXhpc3RzKCdfX2ljb25mb250X19kYXRhJyksICRfX2ljb25mb250X19kYXRhLCAoKSksIChcXG5cXHRcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiOiAoXFxuXFx0XFx0XFxcImFycm93LWxlZnQtZG91YmxlXFxcIjogXFxcIlxcXFxlYTAxXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctbGVmdFxcXCI6IFxcXCJcXFxcZWEwMlxcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0LWRvdWJsZVxcXCI6IFxcXCJcXFxcZWEwM1xcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0XFxcIjogXFxcIlxcXFxlYTA0XFxcIixcXG5cXHRcXHRcXFwiYnJlYWRjcnVtYlxcXCI6IFxcXCJcXFxcZWEwNVxcXCIsXFxuXFx0XFx0XFxcImNoZWNrbWFya1xcXCI6IFxcXCJcXFxcZWEwNlxcXCIsXFxuXFx0XFx0XFxcImNsb3NlXFxcIjogXFxcIlxcXFxlYTA3XFxcIixcXG5cXHRcXHRcXFwiY29uZmlybVxcXCI6IFxcXCJcXFxcZWEwOFxcXCIsXFxuXFx0XFx0XFxcImluZm9cXFwiOiBcXFwiXFxcXGVhMDlcXFwiLFxcblxcdFxcdFxcXCJtZW51XFxcIjogXFxcIlxcXFxlYTBhXFxcIixcXG5cXHRcXHRcXFwibW9yZVxcXCI6IFxcXCJcXFxcZWEwYlxcXCIsXFxuXFx0XFx0XFxcInBhdXNlXFxcIjogXFxcIlxcXFxlYTBjXFxcIixcXG5cXHRcXHRcXFwicGxheVxcXCI6IFxcXCJcXFxcZWEwZFxcXCIsXFxuXFx0XFx0XFxcInRyaWFuZ2xlLXNcXFwiOiBcXFwiXFxcXGVhMGVcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1hd2F5XFxcIjogXFxcIlxcXFxlYTBmXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtZG5kXFxcIjogXFxcIlxcXFxlYTEwXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtaW52aXNpYmxlXFxcIjogXFxcIlxcXFxlYTExXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtb25saW5lXFxcIjogXFxcIlxcXFxlYTEyXFxcIlxcblxcdClcXG4pKTtcXG5cXG5cXG4kY3JlYXRlLWZvbnQtZmFjZTogdHJ1ZSAhZGVmYXVsdDsgLy8gc2hvdWxkIHRoZSBAZm9udC1mYWNlIHRhZyBnZXQgY3JlYXRlZD9cXG5cXG4vLyBzaG91bGQgdGhlcmUgYmUgYSBjdXN0b20gY2xhc3MgZm9yIGVhY2ggaWNvbj8gd2lsbCBiZSAuZmlsZW5hbWVcXG4kY3JlYXRlLWljb24tY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDsgXFxuXFxuLy8gd2hhdCBpcyB0aGUgY29tbW9uIGNsYXNzIG5hbWUgdGhhdCBpY29ucyBzaGFyZT8gaW4gdGhpcyBjYXNlIGljb25zIG5lZWQgdG8gaGF2ZSAuaWNvbi5maWxlbmFtZSBpbiB0aGVpciBjbGFzc2VzXFxuLy8gdGhpcyByZXF1aXJlcyB5b3UgdG8gaGF2ZSAyIGNsYXNzZXMgb24gZWFjaCBpY29uIGh0bWwgZWxlbWVudCwgYnV0IHJlZHVjZWQgcmVkZWNsYXJhdGlvbiBvZiB0aGUgZm9udCBmYW1pbHlcXG4vLyBmb3IgZWFjaCBpY29uXFxuJGljb24tY29tbW9uLWNsYXNzOiAnaWNvbicgIWRlZmF1bHQ7XFxuXFxuLy8gaWYgeW91IHdoaXNoIHRvIHByZWZpeCB5b3VyIGZpbGVuYW1lcywgaGVyZSB5b3UgY2FuIGRvIHNvLlxcbi8vIGlmIHRoaXMgc3RyaW5nIHN0YXlzIGVtcHR5LCB5b3VyIGNsYXNzZXMgd2lsbCB1c2UgdGhlIGZpbGVuYW1lLCBmb3IgZXhhbXBsZVxcbi8vIGFuIGljb24gY2FsbGVkIHN0YXIuc3ZnIHdpbGwgcmVzdWx0IGluIGEgY2xhc3MgY2FsbGVkIC5zdGFyXFxuLy8gaWYgeW91IHVzZSB0aGUgcHJlZml4IHRvIGJlICdpY29uLScgaXQgd291bGQgcmVzdWx0IGluIC5pY29uLXN0YXJcXG4kaWNvbi1wcmVmaXg6ICcnICFkZWZhdWx0OyBcXG5cXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvbnQgZ3JvdXBcXG5AZnVuY3Rpb24gaWNvbmZvbnQtZ3JvdXAoJGdyb3VwOiBudWxsKSB7XFxuICBAaWYgKG51bGwgPT0gJGdyb3VwKSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICBAaWYgKGZhbHNlID09IG1hcC1oYXMta2V5KCRfX2ljb25mb250X19kYXRhLCAkZ3JvdXApKSB7XFxuICAgIEB3YXJuICdVbmRlZmluZWQgSWNvbmZvbnQgRmFtaWx5ISc7XFxuICAgIEByZXR1cm4gKCk7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJF9faWNvbmZvbnRfX2RhdGEsICRncm91cCk7XFxufVxcblxcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3QgaWNvbiBvZiBhIGdyb3VwXFxuQGZ1bmN0aW9uIGljb25mb250LWl0ZW0oJG5hbWUpIHtcXG4gICRzbGFzaDogc3RyLWluZGV4KCRuYW1lLCAnLycpO1xcbiAgJGdyb3VwOiBudWxsO1xcbiAgQGlmICgkc2xhc2gpIHtcXG4gICAgJGdyb3VwOiBzdHItc2xpY2UoJG5hbWUsIDAsICRzbGFzaCAtIDEpO1xcbiAgICAkbmFtZTogc3RyLXNsaWNlKCRuYW1lLCAkc2xhc2ggKyAxKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgJGdyb3VwOiBpY29uZm9udC1ncm91cCgkZ3JvdXApO1xcbiAgQGlmIChmYWxzZSA9PSBtYXAtaGFzLWtleSgkZ3JvdXAsICRuYW1lKSkge1xcbiAgICBAd2FybiAnVW5kZWZpbmVkIEljb25mb250IEdseXBoISc7XFxuICAgIEByZXR1cm4gJyc7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJGdyb3VwLCAkbmFtZSk7XFxufVxcblxcbi8vIGNvbXBsZXRlIG1peGluZyB0byBpbmNsdWRlIHRoZSBpY29uXFxuLy8gdXNhZ2U6XFxuLy8gLm15X2ljb257IEBpbmNsdWRlIGljb25mb250KCdzdGFyJykgfVxcbkBtaXhpbiBpY29uZm9udCgkaWNvbikge1xcbiAgJHNsYXNoOiBzdHItaW5kZXgoJGljb24sICcvJyk7XFxuICAkZ3JvdXA6IG51bGw7XFxuICBAaWYgKCRzbGFzaCkge1xcbiAgICAkZ3JvdXA6IHN0ci1zbGljZSgkaWNvbiwgMCwgJHNsYXNoIC0gMSk7XFxuICB9IEBlbHNlIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gICY6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6ICRncm91cDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKCRpY29uKTtcXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyB0aGUgZm9udCBmYWNlIHRhZyBpZiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIHRydWUgKGRlZmF1bHQpXFxuQGlmICRjcmVhdGUtZm9udC1mYWNlID09IHRydWUge1xcbiAgQGZvbnQtZmFjZSB7XFxuICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2ZycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyBpY29uIGNsYXNzZXMgZm9yIGVhY2ggaW5kaXZpZHVhbCBsb2FkZWQgc3ZnIChkZWZhdWx0KVxcbkBpZiAkY3JlYXRlLWljb24tY2xhc3NlcyA9PSB0cnVlIHtcXG4gIC4jeyRpY29uLWNvbW1vbi1jbGFzc30ge1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuXFxuICAgIEBlYWNoICRpY29uLCAkY29udGVudCBpbiBtYXAtZ2V0KCRfX2ljb25mb250X19kYXRhLCBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiKSB7XFxuICAgICAgJi4jeyRpY29uLXByZWZpeH0jeyRpY29ufTpiZWZvcmUge1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKFxcXCJpY29uZm9udC12dWUtODRjNDYxZi8jeyRpY29ufVxcXCIpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbi5icmVhZGNydW1iW2RhdGEtdi03NjUwZWY3MV0ge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBmbGV4LWdyb3c6IDE7XFxufVxcbi5icmVhZGNydW1iLS1jb2xsYXBzZWQgLmNydW1iW2RhdGEtdi03NjUwZWY3MV06bGFzdC1jaGlsZCB7XFxuICAgIG1pbi13aWR0aDogMTAwcHg7XFxuICAgIGZsZXgtc2hyaW5rOiAxO1xcbn1cXG4uYnJlYWRjcnVtYiAuY3J1bWItLWhvdmVyZWRbZGF0YS12LTc2NTBlZjcxXSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9CcmVhZGNydW1icy52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FBdWZGO0VBQ0MsV0FBVztFQUNYLFlBQVk7QUFBQTtBQUVaO0lBQ0MsZ0JBQWdCO0lBQ2hCLGNBQWM7QUFBQTtBQU5oQjtJQVVFLDRDQUE0QztBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG4uYnJlYWRjcnVtYiB7XFxuXFx0d2lkdGg6IDEwMCU7XFxuXFx0ZmxleC1ncm93OiAxO1xcblxcblxcdCYtLWNvbGxhcHNlZCAgLmNydW1iOmxhc3QtY2hpbGQge1xcblxcdFxcdG1pbi13aWR0aDogMTAwcHg7XFxuXFx0XFx0ZmxleC1zaHJpbms6IDE7XFxuXFx0fVxcblxcblxcdC5jcnVtYi0taG92ZXJlZHtcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcXG5cXHR9XFxufVxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2dldFVybC5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5lb3RcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYud29mZlwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi50dGZcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYuc3ZnXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpO1xcbiAgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpIGZvcm1hdChcXFwiZW1iZWRkZWQtb3BlbnR5cGVcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyArIFwiKSBmb3JtYXQoXFxcIndvZmZcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMl9fXyArIFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX18gKyBcIikgZm9ybWF0KFxcXCJzdmdcXFwiKTtcXG4gIC8qIExlZ2FjeSBpT1MgKi9cXG59XFxuLmljb25bZGF0YS12LWVlM2Y0MjFhXSB7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxuICBmb250LXdlaWdodDogNDAwO1xcbn1cXG4uaWNvbi5hcnJvdy1sZWZ0LWRvdWJsZVtkYXRhLXYtZWUzZjQyMWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiBXFxcIjtcXG59XFxuLmljb24uYXJyb3ctbGVmdFtkYXRhLXYtZWUzZjQyMWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiCXFxcIjtcXG59XFxuLmljb24uYXJyb3ctcmlnaHQtZG91YmxlW2RhdGEtdi1lZTNmNDIxYV06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqINcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1yaWdodFtkYXRhLXYtZWUzZjQyMWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiEXFxcIjtcXG59XFxuLmljb24uYnJlYWRjcnVtYltkYXRhLXYtZWUzZjQyMWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiFXFxcIjtcXG59XFxuLmljb24uY2hlY2ttYXJrW2RhdGEtdi1lZTNmNDIxYV06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIZcXFwiO1xcbn1cXG4uaWNvbi5jbG9zZVtkYXRhLXYtZWUzZjQyMWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiHXFxcIjtcXG59XFxuLmljb24uY29uZmlybVtkYXRhLXYtZWUzZjQyMWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiIXFxcIjtcXG59XFxuLmljb24uaW5mb1tkYXRhLXYtZWUzZjQyMWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiJXFxcIjtcXG59XFxuLmljb24ubWVudVtkYXRhLXYtZWUzZjQyMWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiKXFxcIjtcXG59XFxuLmljb24ubW9yZVtkYXRhLXYtZWUzZjQyMWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiLXFxcIjtcXG59XFxuLmljb24ucGF1c2VbZGF0YS12LWVlM2Y0MjFhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojFxcXCI7XFxufVxcbi5pY29uLnBsYXlbZGF0YS12LWVlM2Y0MjFhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojVxcXCI7XFxufVxcbi5pY29uLnRyaWFuZ2xlLXNbZGF0YS12LWVlM2Y0MjFhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojlxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWF3YXlbZGF0YS12LWVlM2Y0MjFhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oj1xcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWRuZFtkYXRhLXYtZWUzZjQyMWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiQXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtaW52aXNpYmxlW2RhdGEtdi1lZTNmNDIxYV06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJFcXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1vbmxpbmVbZGF0YS12LWVlM2Y0MjFhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oklxcXCI7XFxufVxcbi5jb2xvci1waWNrZXJbZGF0YS12LWVlM2Y0MjFhXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7XFxuICB3aWR0aDogMTc2cHg7XFxuICBwYWRkaW5nOiA0cHg7XFxuICBib3JkZXItcmFkaXVzOiAzcHg7XFxuICBoZWlnaHQ6IDE5NnB4O1xcbn1cXG4uY29sb3ItcGlja2VyLXNpbXBsZVtkYXRhLXYtZWUzZjQyMWFdIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgNDRweCk7XFxuICAgIGdyaWQtYXV0by1yb3dzOiA0NHB4O1xcbn1cXG4uY29sb3ItcGlja2VyLXNpbXBsZS1jb2xvci1jaXJjbGVbZGF0YS12LWVlM2Y0MjFhXSB7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICAgIHdpZHRoOiAzNHB4O1xcbiAgICAgIGhlaWdodDogMzRweDtcXG4gICAgICBtaW4taGVpZ2h0OiAzNHB4O1xcbiAgICAgIG1hcmdpbjogYXV0bztcXG4gICAgICBwYWRkaW5nOiAwO1xcbiAgICAgIGNvbG9yOiB3aGl0ZTtcXG4gICAgICBib3JkZXI6IG5vbmU7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMTdweDtcXG4gICAgICBmb250LXNpemU6IDE2cHg7XFxufVxcbi5jb2xvci1waWNrZXItc2ltcGxlLWNvbG9yLWNpcmNsZVtkYXRhLXYtZWUzZjQyMWFdOmhvdmVyIHtcXG4gICAgICAgIG9wYWNpdHk6IC42O1xcbn1cXG4uY29sb3ItcGlja2VyLXNpbXBsZS1jb2xvci1jaXJjbGUtLWFjdGl2ZVtkYXRhLXYtZWUzZjQyMWFdIHtcXG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcXG59XFxuLmNvbG9yLXBpY2tlci1zaW1wbGUtY29sb3ItY2lyY2xlLS1hY3RpdmVbZGF0YS12LWVlM2Y0MjFhXTpiZWZvcmUge1xcbiAgICAgICAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgICBjb250ZW50OiBcXFwi7qiGXFxcIjtcXG59XFxuLmNvbG9yLXBpY2tlci1hZHZhbmNlZFtkYXRhLXYtZWUzZjQyMWFdIHtcXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG4uY29sb3ItcGlja2VyLW5hdmlnYXRpb25bZGF0YS12LWVlM2Y0MjFhXSB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gICAgbWFyZ2luLXRvcDogMTBweDtcXG59XFxuLmNvbG9yLXBpY2tlci1uYXZpZ2F0aW9uLWJ1dHRvbltkYXRhLXYtZWUzZjQyMWFdIHtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgICBtaW4td2lkdGg6IDQ0cHg7XFxuICAgICAgaGVpZ2h0OiA0NHB4O1xcbiAgICAgIHBhZGRpbmc6IDE0cHg7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIGJvcmRlcjogbm9uZTtcXG4gICAgICBib3JkZXItcmFkaXVzOiAyMnB4O1xcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XFxuICAgICAganVzdGlmeS1zZWxmOiBmbGV4LWVuZDtcXG59XFxuLmNvbG9yLXBpY2tlci1uYXZpZ2F0aW9uLWJ1dHRvbltkYXRhLXYtZWUzZjQyMWFdOjpiZWZvcmUge1xcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xcbn1cXG4uY29sb3ItcGlja2VyLW5hdmlnYXRpb24tYnV0dG9uW2RhdGEtdi1lZTNmNDIxYV06aG92ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjcsIDEyNywgMTI3LCAwLjI1KTtcXG59XFxuLmNvbG9yLXBpY2tlci1uYXZpZ2F0aW9uLWJ1dHRvbi5iYWNrW2RhdGEtdi1lZTNmNDIxYV06YmVmb3JlIHtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgIGNvbnRlbnQ6IFxcXCLuqIJcXFwiO1xcbn1cXG4uY29sb3ItcGlja2VyLW5hdmlnYXRpb24tYnV0dG9uLmNvbmZpcm1bZGF0YS12LWVlM2Y0MjFhXSB7XFxuICAgICAgICBjb2xvcjogd2hpdGU7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcXG59XFxuLmNvbG9yLXBpY2tlci1uYXZpZ2F0aW9uLWJ1dHRvbi5jb25maXJtW2RhdGEtdi1lZTNmNDIxYV06aG92ZXIge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQtbGlnaHQpO1xcbn1cXG4uY29sb3ItcGlja2VyLW5hdmlnYXRpb24tYnV0dG9uLm1vcmUtc2V0dGluZ3NbZGF0YS12LWVlM2Y0MjFhXSB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcXG59XFxuLmNvbG9yLXBpY2tlci1uYXZpZ2F0aW9uLWJ1dHRvbi5tb3JlLXNldHRpbmdzW2RhdGEtdi1lZTNmNDIxYV06YmVmb3JlIHtcXG4gICAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgICAgY29udGVudDogXFxcIu6oi1xcXCI7XFxufVxcbltkYXRhLXYtZWUzZjQyMWFdIC52Yy1jaHJvbWUge1xcbiAgd2lkdGg6IDE3NnB4O1xcbiAgaGVpZ2h0OiAxMztcXG59XFxuW2RhdGEtdi1lZTNmNDIxYV0gLnZjLWNocm9tZS1jb2xvci13cmFwIHtcXG4gICAgd2lkdGg6IDMwcHg7XFxuICAgIGhlaWdodDogMzBweDtcXG59XFxuW2RhdGEtdi1lZTNmNDIxYV0gLnZjLWNocm9tZS1hY3RpdmUtY29sb3Ige1xcbiAgICB3aWR0aDogMzRweDtcXG4gICAgaGVpZ2h0OiAzNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiAxN3B4O1xcbn1cXG5bZGF0YS12LWVlM2Y0MjFhXSAudmMtY2hyb21lLWJvZHkge1xcbiAgICBwYWRkaW5nOiAxNHB4IDAgMCAwO1xcbn1cXG5bZGF0YS12LWVlM2Y0MjFhXSAudmMtY2hyb21lLXNhdHVyYXRpb24td3JhcCB7XFxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcXG59XFxuW2RhdGEtdi1lZTNmNDIxYV0gLnZjLWNocm9tZS1zYXR1cmF0aW9uLWNpcmNsZSB7XFxuICAgIHdpZHRoOiAyMHB4O1xcbiAgICBoZWlnaHQ6IDIwcHg7XFxufVxcbi5zbGlkZS1lbnRlcltkYXRhLXYtZWUzZjQyMWFdIHtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcXG4gIG9wYWNpdHk6IDA7XFxufVxcbi5zbGlkZS1lbnRlci10b1tkYXRhLXYtZWUzZjQyMWFdIHtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcXG4gIG9wYWNpdHk6IDE7XFxufVxcbi5zbGlkZS1sZWF2ZVtkYXRhLXYtZWUzZjQyMWFdIHtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcXG4gIG9wYWNpdHk6IDE7XFxufVxcbi5zbGlkZS1sZWF2ZS10b1tkYXRhLXYtZWUzZjQyMWFdIHtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcXG4gIG9wYWNpdHk6IDA7XFxufVxcbi5zbGlkZS1lbnRlci1hY3RpdmVbZGF0YS12LWVlM2Y0MjFhXSwgLnNsaWRlLWxlYXZlLWFjdGl2ZVtkYXRhLXYtZWUzZjQyMWFdIHtcXG4gIHRyYW5zaXRpb246IGFsbCA1MG1zIGVhc2UtaW4tb3V0O1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9Db2xvclBpY2tlci52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vZm9udHMvc2Nzcy9pY29uZm9udC12dWUuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FFc0VBO0VBQ0MsbUNBQW1DO0VBQ25DLDRDQUF1QztFQUFFLHFCQUFBO0VBQ3pDLG1QQUdtRDtFQUFFLGVBQUE7QUFBZ0I7QUFNdEU7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQUE7QUFGbEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE1R2U7QUFBTztBQXFHNUI7SUFNTSxtQ0FBbUM7SUFDbkMsWUEzR1E7QUFBTztBQW9HckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUExR2dCO0FBQU87QUFtRzdCO0lBTU0sbUNBQW1DO0lBQ25DLFlBekdTO0FBQU87QUFrR3RCO0lBTU0sbUNBQW1DO0lBQ25DLFlBeEdRO0FBQU87QUFpR3JCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdkdPO0FBQU87QUFnR3BCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdEdHO0FBQU87QUErRmhCO0lBTU0sbUNBQW1DO0lBQ25DLFlBckdLO0FBQU87QUE4RmxCO0lBTU0sbUNBQW1DO0lBQ25DLFlBcEdFO0FBQU87QUE2RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFuR0U7QUFBTztBQTRGZjtJQU1NLG1DQUFtQztJQUNuQyxZQWxHRTtBQUFPO0FBMkZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBakdHO0FBQU87QUEwRmhCO0lBTU0sbUNBQW1DO0lBQ25DLFlBaEdFO0FBQU87QUF5RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUEvRlE7QUFBTztBQXdGckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE5RmM7QUFBTztBQXVGM0I7SUFNTSxtQ0FBbUM7SUFDbkMsWUE3RmE7QUFBTztBQXNGMUI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE1Rm1CO0FBQU87QUFxRmhDO0lBTU0sbUNBQW1DO0lBQ25DLFlBM0ZnQjtBQUFPO0FGd04vQjtFQUNDLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBQ3ZCLHNCQUFzQjtFQUN0Qiw4QkFBOEI7RUFDOUIsa0NBQWtDO0VBQ2xDLFlBQVk7RUFDWixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGFBQWE7QUFBQTtBQUNiO0lBQ0MsYUFBYTtJQUNiLHNDQUFpRDtJQUNqRCxvQkNoT21CO0FBQUE7QURrT25CO01BQ0MsYUFBYTtNQUNiLG1CQUFtQjtNQUNuQix1QkFBdUI7TUFDdkIsV0FBVztNQUNYLFlBQVk7TUFDWixnQkFBZ0I7TUFDaEIsWUFBWTtNQUNaLFVBQVU7TUFDVixZQUFZO01BQ1osWUFBWTtNQUNaLG1CQUFtQjtNQUNuQixlQUFlO0FBQUE7QUFaZjtRQWNDLFdBQVc7QUFBQTtBQUVaO1FBQ0MscUJBQXFCO0FBQUE7QUFEckI7VUV6TEEsbUNBakZtQjtVQWtGbkIsa0JBQWtCO1VBQ2xCLGdCQUFnQjtVQUNoQixZQTlFVztBQUFPO0FGMlFyQjtJQUNDLDJCQUEyQjtBQUFBO0FBRzVCO0lBQ0MsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsZ0JBQWdCO0FBQUE7QUFDaEI7TUFDQyxhQUFhO01BQ2IscUJBQXFCO01BQ3JCLHVCQUF1QjtNQUN2QixlQ3RRa0I7TUR1UWxCLFlDdlFrQjtNRHdRbEIsYUNoUTZDO01EaVE3QyxTQUFTO01BQ1QsWUFBWTtNQUNaLG1CQUFrQztNQUNsQyxnQkFBZ0I7TUFDaEIsc0JBQXNCO0FBQUE7QUFYdEI7UUFjQyxlQzVRWTtBQUFBO0FEOFBiO1FBaUJDLDJDQ3hRb0M7QUFBQTtBRHVQckM7UUV6TUMsbUNBakZtQjtRQWtGbkIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixZQWxGWTtBQUFPO0FGd1JwQjtRQXdCQyxZQUFZO1FBQ1osc0NBQXNDO0FBQUE7QUF6QnZDO1VBMkJFLG9EQUFvRDtBQUFBO0FBM0J0RDtRQStCQyxpQkFBaUI7QUFBQTtBQS9CbEI7VUV6TUMsbUNBakZtQjtVQWtGbkIsa0JBQWtCO1VBQ2xCLGdCQUFnQjtVQUNoQixZQXpFTTtBQUFPO0FGcVRqQjtFQUVFLFlBQVk7RUFDWixVQUFVO0FBQUE7QUFIWjtJQUtHLFdBQVc7SUFDWCxZQUFZO0FBQUE7QUFOZjtJQVVHLFdBQVc7SUFDWCxZQUFZO0lBQ1osbUJBQW1CO0FBQUE7QUFadEI7SUFnQkcsbUJBQW1CO0FBQUE7QUFoQnRCO0lBcUJJLGtCQUFrQjtBQUFBO0FBckJ0QjtJQXlCSSxXQUFXO0lBQ1gsWUFBWTtBQUFBO0FBT2Y7RUFDQywyQkFBMkI7RUFDM0IsVUFBVTtBQUFBO0FBRVg7RUFDQyx3QkFBd0I7RUFDeEIsVUFBVTtBQUFBO0FBRVg7RUFDQyx3QkFBd0I7RUFDeEIsVUFBVTtBQUFBO0FBRVg7RUFDQywyQkFBMkI7RUFDM0IsVUFBVTtBQUFBO0FBRVg7RUFFQyxnQ0FBZ0M7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuQGltcG9ydCAnLi4vLi4vZm9udHMvc2Nzcy9pY29uZm9udC12dWUnO1xcblxcbi5jb2xvci1waWNrZXIge1xcblxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRhbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcXG5cXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcblxcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG5cXHRib3gtc2l6aW5nOiBjb250ZW50LWJveCAhaW1wb3J0YW50O1xcblxcdHdpZHRoOiAxNzZweDtcXG5cXHRwYWRkaW5nOiA0cHg7XFxuXFx0Ym9yZGVyLXJhZGl1czogM3B4O1xcblxcdGhlaWdodDogMTk2cHg7XFxuXFx0Ji1zaW1wbGUge1xcblxcdFxcdGRpc3BsYXk6IGdyaWQ7XFxuXFx0XFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgJGNsaWNrYWJsZS1hcmVhKTtcXG5cXHRcXHRncmlkLWF1dG8tcm93czogJGNsaWNrYWJsZS1hcmVhO1xcblxcblxcdFxcdCYtY29sb3ItY2lyY2xlIHtcXG5cXHRcXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdFxcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuXFx0XFx0XFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuXFx0XFx0XFx0d2lkdGg6IDM0cHg7XFxuXFx0XFx0XFx0aGVpZ2h0OiAzNHB4O1xcblxcdFxcdFxcdG1pbi1oZWlnaHQ6IDM0cHg7XFxuXFx0XFx0XFx0bWFyZ2luOiBhdXRvO1xcblxcdFxcdFxcdHBhZGRpbmc6IDA7XFxuXFx0XFx0XFx0Y29sb3I6IHdoaXRlO1xcblxcdFxcdFxcdGJvcmRlcjogbm9uZTtcXG5cXHRcXHRcXHRib3JkZXItcmFkaXVzOiAxN3B4O1xcblxcdFxcdFxcdGZvbnQtc2l6ZTogMTZweDtcXG5cXHRcXHRcXHQmOmhvdmVyIHtcXG5cXHRcXHRcXHRcXHRvcGFjaXR5OiAuNjtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0XFx0Ji0tYWN0aXZlIHtcXG5cXHRcXHRcXHRcXHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XFxuXFx0XFx0XFx0XFx0QGluY2x1ZGUgaWNvbmZvbnQoJ2NoZWNrbWFyaycpO1xcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdCYtYWR2YW5jZWQge1xcblxcdFxcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcXG5cXHR9XFxuXFxuXFx0Ji1uYXZpZ2F0aW9uIHtcXG5cXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuXFx0XFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcblxcdFxcdG1hcmdpbi10b3A6IDEwcHg7XFxuXFx0XFx0Ji1idXR0b24ge1xcblxcdFxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0XFx0YWxpZ24tY29udGVudDogY2VudGVyO1xcblxcdFxcdFxcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xcblxcdFxcdFxcdG1pbi13aWR0aDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdGhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdHBhZGRpbmc6JGljb24tbWFyZ2luO1xcblxcdFxcdFxcdG1hcmdpbjogMDtcXG5cXHRcXHRcXHRib3JkZXI6IG5vbmU7XFxuXFx0XFx0XFx0Ym9yZGVyLXJhZGl1czogJGNsaWNrYWJsZS1hcmVhIC8gMjtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kOiBub25lO1xcblxcdFxcdFxcdGp1c3RpZnktc2VsZjogZmxleC1lbmQ7XFxuXFxuXFx0XFx0XFx0Jjo6YmVmb3JlIHtcXG5cXHRcXHRcXHRcXHRmb250LXNpemU6ICRpY29uLXNpemU7XFxuXFx0XFx0XFx0fVxcblxcdFxcdFxcdCY6aG92ZXIge1xcblxcdFxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6ICRpY29uLWZvY3VzLWJnO1xcblxcdFxcdFxcdH1cXG5cXG5cXHRcXHRcXHQmLmJhY2sge1xcblxcdFxcdFxcdFxcdEBpbmNsdWRlIGljb25mb250KCdhcnJvdy1sZWZ0Jyk7XFxuXFx0XFx0XFx0fVxcblxcdFxcdFxcdCYuY29uZmlybSB7XFxuXFx0XFx0XFx0XFx0Y29sb3I6IHdoaXRlO1xcblxcdFxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xcblxcdFxcdFxcdFxcdCY6aG92ZXIge1xcblxcdFxcdFxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudC1saWdodCk7XFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdH1cXG5cXHRcXHRcXHQmLm1vcmUtc2V0dGluZ3Mge1xcblxcdFxcdFxcdFxcdG1hcmdpbi1sZWZ0OiBhdXRvO1xcblxcdFxcdFxcdFxcdEBpbmNsdWRlIGljb25mb250KCdtb3JlJyk7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXHR9XFxufVxcblxcbjo6di1kZWVwIC52YyB7XFxuXFx0Ji1jaHJvbWUge1xcblxcdFxcdHdpZHRoOiAxNzZweDtcXG5cXHRcXHRoZWlnaHQ6IDEzO1xcblxcdFxcdCYtY29sb3Itd3JhcCB7XFxuXFx0XFx0XFx0d2lkdGg6IDMwcHg7XFxuXFx0XFx0XFx0aGVpZ2h0OiAzMHB4O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmLWFjdGl2ZS1jb2xvciB7XFxuXFx0XFx0XFx0d2lkdGg6IDM0cHg7XFxuXFx0XFx0XFx0aGVpZ2h0OiAzNHB4O1xcblxcdFxcdFxcdGJvcmRlci1yYWRpdXM6IDE3cHg7XFxuXFx0XFx0fVxcblxcblxcdFxcdCYtYm9keSB7XFxuXFx0XFx0XFx0cGFkZGluZzogMTRweCAwIDAgMDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ji1zYXR1cmF0aW9uIHtcXG5cXHRcXHRcXHQmLXdyYXAge1xcblxcdFxcdFxcdFxcdGJvcmRlci1yYWRpdXM6IDNweDtcXG5cXHRcXHRcXHR9XFxuXFxuXFx0XFx0XFx0Ji1jaXJjbGUge1xcblxcdFxcdFxcdFxcdHdpZHRoOiAyMHB4O1xcblxcdFxcdFxcdFxcdGhlaWdodDogMjBweDtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXFxuLnNsaWRlIHtcXG5cXHQmLWVudGVyIHtcXG5cXHRcXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XFxuXFx0XFx0b3BhY2l0eTogMDtcXG5cXHR9XFxuXFx0Ji1lbnRlci10byB7XFxuXFx0XFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xcblxcdFxcdG9wYWNpdHk6IDE7XFxuXFx0fVxcblxcdCYtbGVhdmUge1xcblxcdFxcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcXG5cXHRcXHRvcGFjaXR5OiAxO1xcblxcdH1cXG5cXHQmLWxlYXZlLXRvIHtcXG5cXHRcXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XFxuXFx0XFx0b3BhY2l0eTogMDtcXG5cXHR9XFxuXFx0Ji1lbnRlci1hY3RpdmUsXFxuXFx0Ji1sZWF2ZS1hY3RpdmUge1xcblxcdFxcdHRyYW5zaXRpb246IGFsbCA1MG1zIGVhc2UtaW4tb3V0O1xcblxcdH1cXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiLFwiJF9faWNvbmZvbnRfX2RhdGE6IG1hcC1tZXJnZShpZihnbG9iYWxfdmFyaWFibGVfZXhpc3RzKCdfX2ljb25mb250X19kYXRhJyksICRfX2ljb25mb250X19kYXRhLCAoKSksIChcXG5cXHRcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiOiAoXFxuXFx0XFx0XFxcImFycm93LWxlZnQtZG91YmxlXFxcIjogXFxcIlxcXFxlYTAxXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctbGVmdFxcXCI6IFxcXCJcXFxcZWEwMlxcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0LWRvdWJsZVxcXCI6IFxcXCJcXFxcZWEwM1xcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0XFxcIjogXFxcIlxcXFxlYTA0XFxcIixcXG5cXHRcXHRcXFwiYnJlYWRjcnVtYlxcXCI6IFxcXCJcXFxcZWEwNVxcXCIsXFxuXFx0XFx0XFxcImNoZWNrbWFya1xcXCI6IFxcXCJcXFxcZWEwNlxcXCIsXFxuXFx0XFx0XFxcImNsb3NlXFxcIjogXFxcIlxcXFxlYTA3XFxcIixcXG5cXHRcXHRcXFwiY29uZmlybVxcXCI6IFxcXCJcXFxcZWEwOFxcXCIsXFxuXFx0XFx0XFxcImluZm9cXFwiOiBcXFwiXFxcXGVhMDlcXFwiLFxcblxcdFxcdFxcXCJtZW51XFxcIjogXFxcIlxcXFxlYTBhXFxcIixcXG5cXHRcXHRcXFwibW9yZVxcXCI6IFxcXCJcXFxcZWEwYlxcXCIsXFxuXFx0XFx0XFxcInBhdXNlXFxcIjogXFxcIlxcXFxlYTBjXFxcIixcXG5cXHRcXHRcXFwicGxheVxcXCI6IFxcXCJcXFxcZWEwZFxcXCIsXFxuXFx0XFx0XFxcInRyaWFuZ2xlLXNcXFwiOiBcXFwiXFxcXGVhMGVcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1hd2F5XFxcIjogXFxcIlxcXFxlYTBmXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtZG5kXFxcIjogXFxcIlxcXFxlYTEwXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtaW52aXNpYmxlXFxcIjogXFxcIlxcXFxlYTExXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtb25saW5lXFxcIjogXFxcIlxcXFxlYTEyXFxcIlxcblxcdClcXG4pKTtcXG5cXG5cXG4kY3JlYXRlLWZvbnQtZmFjZTogdHJ1ZSAhZGVmYXVsdDsgLy8gc2hvdWxkIHRoZSBAZm9udC1mYWNlIHRhZyBnZXQgY3JlYXRlZD9cXG5cXG4vLyBzaG91bGQgdGhlcmUgYmUgYSBjdXN0b20gY2xhc3MgZm9yIGVhY2ggaWNvbj8gd2lsbCBiZSAuZmlsZW5hbWVcXG4kY3JlYXRlLWljb24tY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDsgXFxuXFxuLy8gd2hhdCBpcyB0aGUgY29tbW9uIGNsYXNzIG5hbWUgdGhhdCBpY29ucyBzaGFyZT8gaW4gdGhpcyBjYXNlIGljb25zIG5lZWQgdG8gaGF2ZSAuaWNvbi5maWxlbmFtZSBpbiB0aGVpciBjbGFzc2VzXFxuLy8gdGhpcyByZXF1aXJlcyB5b3UgdG8gaGF2ZSAyIGNsYXNzZXMgb24gZWFjaCBpY29uIGh0bWwgZWxlbWVudCwgYnV0IHJlZHVjZWQgcmVkZWNsYXJhdGlvbiBvZiB0aGUgZm9udCBmYW1pbHlcXG4vLyBmb3IgZWFjaCBpY29uXFxuJGljb24tY29tbW9uLWNsYXNzOiAnaWNvbicgIWRlZmF1bHQ7XFxuXFxuLy8gaWYgeW91IHdoaXNoIHRvIHByZWZpeCB5b3VyIGZpbGVuYW1lcywgaGVyZSB5b3UgY2FuIGRvIHNvLlxcbi8vIGlmIHRoaXMgc3RyaW5nIHN0YXlzIGVtcHR5LCB5b3VyIGNsYXNzZXMgd2lsbCB1c2UgdGhlIGZpbGVuYW1lLCBmb3IgZXhhbXBsZVxcbi8vIGFuIGljb24gY2FsbGVkIHN0YXIuc3ZnIHdpbGwgcmVzdWx0IGluIGEgY2xhc3MgY2FsbGVkIC5zdGFyXFxuLy8gaWYgeW91IHVzZSB0aGUgcHJlZml4IHRvIGJlICdpY29uLScgaXQgd291bGQgcmVzdWx0IGluIC5pY29uLXN0YXJcXG4kaWNvbi1wcmVmaXg6ICcnICFkZWZhdWx0OyBcXG5cXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvbnQgZ3JvdXBcXG5AZnVuY3Rpb24gaWNvbmZvbnQtZ3JvdXAoJGdyb3VwOiBudWxsKSB7XFxuICBAaWYgKG51bGwgPT0gJGdyb3VwKSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICBAaWYgKGZhbHNlID09IG1hcC1oYXMta2V5KCRfX2ljb25mb250X19kYXRhLCAkZ3JvdXApKSB7XFxuICAgIEB3YXJuICdVbmRlZmluZWQgSWNvbmZvbnQgRmFtaWx5ISc7XFxuICAgIEByZXR1cm4gKCk7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJF9faWNvbmZvbnRfX2RhdGEsICRncm91cCk7XFxufVxcblxcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3QgaWNvbiBvZiBhIGdyb3VwXFxuQGZ1bmN0aW9uIGljb25mb250LWl0ZW0oJG5hbWUpIHtcXG4gICRzbGFzaDogc3RyLWluZGV4KCRuYW1lLCAnLycpO1xcbiAgJGdyb3VwOiBudWxsO1xcbiAgQGlmICgkc2xhc2gpIHtcXG4gICAgJGdyb3VwOiBzdHItc2xpY2UoJG5hbWUsIDAsICRzbGFzaCAtIDEpO1xcbiAgICAkbmFtZTogc3RyLXNsaWNlKCRuYW1lLCAkc2xhc2ggKyAxKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgJGdyb3VwOiBpY29uZm9udC1ncm91cCgkZ3JvdXApO1xcbiAgQGlmIChmYWxzZSA9PSBtYXAtaGFzLWtleSgkZ3JvdXAsICRuYW1lKSkge1xcbiAgICBAd2FybiAnVW5kZWZpbmVkIEljb25mb250IEdseXBoISc7XFxuICAgIEByZXR1cm4gJyc7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJGdyb3VwLCAkbmFtZSk7XFxufVxcblxcbi8vIGNvbXBsZXRlIG1peGluZyB0byBpbmNsdWRlIHRoZSBpY29uXFxuLy8gdXNhZ2U6XFxuLy8gLm15X2ljb257IEBpbmNsdWRlIGljb25mb250KCdzdGFyJykgfVxcbkBtaXhpbiBpY29uZm9udCgkaWNvbikge1xcbiAgJHNsYXNoOiBzdHItaW5kZXgoJGljb24sICcvJyk7XFxuICAkZ3JvdXA6IG51bGw7XFxuICBAaWYgKCRzbGFzaCkge1xcbiAgICAkZ3JvdXA6IHN0ci1zbGljZSgkaWNvbiwgMCwgJHNsYXNoIC0gMSk7XFxuICB9IEBlbHNlIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gICY6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6ICRncm91cDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKCRpY29uKTtcXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyB0aGUgZm9udCBmYWNlIHRhZyBpZiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIHRydWUgKGRlZmF1bHQpXFxuQGlmICRjcmVhdGUtZm9udC1mYWNlID09IHRydWUge1xcbiAgQGZvbnQtZmFjZSB7XFxuICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2ZycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyBpY29uIGNsYXNzZXMgZm9yIGVhY2ggaW5kaXZpZHVhbCBsb2FkZWQgc3ZnIChkZWZhdWx0KVxcbkBpZiAkY3JlYXRlLWljb24tY2xhc3NlcyA9PSB0cnVlIHtcXG4gIC4jeyRpY29uLWNvbW1vbi1jbGFzc30ge1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuXFxuICAgIEBlYWNoICRpY29uLCAkY29udGVudCBpbiBtYXAtZ2V0KCRfX2ljb25mb250X19kYXRhLCBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiKSB7XFxuICAgICAgJi4jeyRpY29uLXByZWZpeH0jeyRpY29ufTpiZWZvcmUge1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKFxcXCJpY29uZm9udC12dWUtODRjNDYxZi8jeyRpY29ufVxcXCIpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbi5jb250ZW50W2RhdGEtdi0zN2YwMzU3YV0ge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBwYWRkaW5nLXRvcDogNTBweDtcXG4gIG1pbi1oZWlnaHQ6IDEwMCU7XFxufVxcbi5jb250ZW50W2RhdGEtdi0zN2YwMzU3YV0gICoge1xcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9Db250ZW50LnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUE4Q0Y7RUFDQyxzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixpQkFBaUI7RUFDakIsZ0JBQWdCO0FBQUE7QUFMakI7SUFPRSxzQkFBc0I7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuLmNvbnRlbnQge1xcblxcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuXFx0cG9zaXRpb246IHJlbGF0aXZlO1xcblxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0cGFkZGluZy10b3A6IDUwcHg7XFxuXFx0bWluLWhlaWdodDogMTAwJTtcXG5cXHQ6OnYtZGVlcCAqIHtcXG5cXHRcXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xcblxcdH1cXG59XFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuLmVtcHR5LWNvbnRlbnRbZGF0YS12LWE2OGI4NDYyXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBtYXJnaW4tdG9wOiAyMHZoO1xcbn1cXG4uZW1wdHktY29udGVudF9faWNvbltkYXRhLXYtYTY4Yjg0NjJdIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgIHdpZHRoOiA2NHB4O1xcbiAgICBoZWlnaHQ6IDY0cHg7XFxuICAgIG1hcmdpbjogMCBhdXRvIDE1cHg7XFxuICAgIG9wYWNpdHk6IC40O1xcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XFxuICAgIGJhY2tncm91bmQtc2l6ZTogNjRweDtcXG59XFxuLmVtcHR5LWNvbnRlbnRfX2ljb24gc3ZnW2RhdGEtdi1hNjhiODQ2Ml0ge1xcbiAgICAgIHdpZHRoOiA2NHB4O1xcbiAgICAgIGhlaWdodDogNjRweDtcXG59XFxuLmVtcHR5LWNvbnRlbnRfX3RpdGxlW2RhdGEtdi1hNjhiODQ2Ml0ge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9FbXB0eUNvbnRlbnQudnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBQXNFRjtFQUNDLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsc0JBQXNCO0VBQ3RCLGdCQUFnQjtBQUFBO0FBRWhCO0lBQ0MsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsV0FBVztJQUNYLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsV0FBVztJQUNYLDRCQUE0QjtJQUM1QiwyQkFBMkI7SUFDM0IscUJBQXFCO0FBQUE7QUFWckI7TUFhQyxXQUFXO01BQ1gsWUFBWTtBQUFBO0FBSWQ7SUFDQyxtQkFBbUI7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuLmVtcHR5LWNvbnRlbnQge1xcblxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcblxcdG1hcmdpbi10b3A6IDIwdmg7XFxuXFxuXFx0Jl9faWNvbiB7XFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRhbGlnbi1pdGVtczogY2VudGVyO1xcblxcdFxcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xcblxcdFxcdHdpZHRoOiA2NHB4O1xcblxcdFxcdGhlaWdodDogNjRweDtcXG5cXHRcXHRtYXJnaW46IDAgYXV0byAxNXB4O1xcblxcdFxcdG9wYWNpdHk6IC40O1xcblxcdFxcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuXFx0XFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xcblxcdFxcdGJhY2tncm91bmQtc2l6ZTogNjRweDtcXG5cXG5cXHRcXHRzdmcge1xcblxcdFxcdFxcdHdpZHRoOiA2NHB4O1xcblxcdFxcdFxcdGhlaWdodDogNjRweDtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdCZfX3RpdGxlIHtcXG5cXHRcXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xcblxcdH1cXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuLm9wdGlvbltkYXRhLXYtN2ZlOTVhOGZdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IHZhcigtLWhlaWdodCk7XFxufVxcbi5vcHRpb25fX2F2YXRhcltkYXRhLXYtN2ZlOTVhOGZdIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1tYXJnaW4pO1xcbn1cXG4ub3B0aW9uX19kZXRhaWxzW2RhdGEtdi03ZmU5NWE4Zl0ge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBmbGV4OiAxIDE7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICBtaW4td2lkdGg6IDA7XFxufVxcbi5vcHRpb25fX2xpbmVvbmVbZGF0YS12LTdmZTk1YThmXSB7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTtcXG59XFxuLm9wdGlvbl9fbGluZXR3b1tkYXRhLXYtN2ZlOTVhOGZdIHtcXG4gICAgb3BhY2l0eTogMC43O1xcbn1cXG4ub3B0aW9uX19saW5lb25lW2RhdGEtdi03ZmU5NWE4Zl0sIC5vcHRpb25fX2xpbmV0d29bZGF0YS12LTdmZTk1YThmXSB7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbiAgICBsaW5lLWhlaWdodDogMS4xZW07XFxufVxcbi5vcHRpb25fX2xpbmVvbmUgc3Ryb25nW2RhdGEtdi03ZmU5NWE4Zl0sIC5vcHRpb25fX2xpbmV0d28gc3Ryb25nW2RhdGEtdi03ZmU5NWE4Zl0ge1xcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbn1cXG4ub3B0aW9uX19pY29uW2RhdGEtdi03ZmU5NWE4Zl0ge1xcbiAgICBmbGV4OiAwIDAgNDRweDtcXG4gICAgd2lkdGg6IDQ0cHg7XFxuICAgIGhlaWdodDogNDRweDtcXG4gICAgb3BhY2l0eTogMC41O1xcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XFxuICAgIGJhY2tncm91bmQtc2l6ZTogMTZweDtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vTGlzdEl0ZW1JY29uLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUFtTkY7RUFDQyxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxxQkFBcUI7QUFBQTtBQUVyQjtJQUNDLDJCQUEyQjtBQUFBO0FBRzVCO0lBQ0MsYUFBYTtJQUNiLFNBQVM7SUFDVCxzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLFlBQVk7QUFBQTtBQUdiO0lBQ0MsOEJBQThCO0FBQUE7QUFFL0I7SUFDQyxZQ25OaUI7QUFBQTtBRHFObEI7SUFFQyxnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixrQkFBa0I7QUFBQTtBQUxsQjtNQU9DLGlCQUFpQjtBQUFBO0FBSW5CO0lBQ0MsY0NuUG1CO0lEb1BuQixXQ3BQbUI7SURxUG5CLFlDclBtQjtJRHNQbkIsWUNyT21CO0lEc09uQiwyQkFBMkI7SUFDM0IscUJBQXFCO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbi5vcHRpb24ge1xcblxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXHR3aWR0aDogMTAwJTtcXG5cXHRoZWlnaHQ6IHZhcigtLWhlaWdodCk7XFxuXFxuXFx0Jl9fYXZhdGFyIHtcXG5cXHRcXHRtYXJnaW4tcmlnaHQ6IHZhcigtLW1hcmdpbik7XFxuXFx0fVxcblxcblxcdCZfX2RldGFpbHMge1xcblxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0ZmxleDogMSAxO1xcblxcdFxcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuXFx0XFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuXFx0XFx0bWluLXdpZHRoOiAwO1xcblxcdH1cXG5cXG5cXHQmX19saW5lb25lIHtcXG5cXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7XFxuXFx0fVxcblxcdCZfX2xpbmV0d28ge1xcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHR9XFxuXFx0Jl9fbGluZW9uZSxcXG5cXHQmX19saW5ldHdvIHtcXG5cXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0bGluZS1oZWlnaHQ6IDEuMWVtO1xcblxcdFxcdHN0cm9uZyB7XFxuXFx0XFx0XFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQmX19pY29uIHtcXG5cXHRcXHRmbGV4OiAwIDAgJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZGlzYWJsZWQ7XFxuXFx0XFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xcblxcdFxcdGJhY2tncm91bmQtc2l6ZTogMTZweDtcXG5cXHR9XFxufVxcblxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2dldFVybC5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5lb3RcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYud29mZlwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi50dGZcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYuc3ZnXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpO1xcbiAgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpIGZvcm1hdChcXFwiZW1iZWRkZWQtb3BlbnR5cGVcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyArIFwiKSBmb3JtYXQoXFxcIndvZmZcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMl9fXyArIFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX18gKyBcIikgZm9ybWF0KFxcXCJzdmdcXFwiKTtcXG4gIC8qIExlZ2FjeSBpT1MgKi9cXG59XFxuLmljb25bZGF0YS12LTQ3ZGI3NWFhXSB7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxuICBmb250LXdlaWdodDogNDAwO1xcbn1cXG4uaWNvbi5hcnJvdy1sZWZ0LWRvdWJsZVtkYXRhLXYtNDdkYjc1YWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiBXFxcIjtcXG59XFxuLmljb24uYXJyb3ctbGVmdFtkYXRhLXYtNDdkYjc1YWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiCXFxcIjtcXG59XFxuLmljb24uYXJyb3ctcmlnaHQtZG91YmxlW2RhdGEtdi00N2RiNzVhYV06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqINcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1yaWdodFtkYXRhLXYtNDdkYjc1YWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiEXFxcIjtcXG59XFxuLmljb24uYnJlYWRjcnVtYltkYXRhLXYtNDdkYjc1YWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiFXFxcIjtcXG59XFxuLmljb24uY2hlY2ttYXJrW2RhdGEtdi00N2RiNzVhYV06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIZcXFwiO1xcbn1cXG4uaWNvbi5jbG9zZVtkYXRhLXYtNDdkYjc1YWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiHXFxcIjtcXG59XFxuLmljb24uY29uZmlybVtkYXRhLXYtNDdkYjc1YWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiIXFxcIjtcXG59XFxuLmljb24uaW5mb1tkYXRhLXYtNDdkYjc1YWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiJXFxcIjtcXG59XFxuLmljb24ubWVudVtkYXRhLXYtNDdkYjc1YWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiKXFxcIjtcXG59XFxuLmljb24ubW9yZVtkYXRhLXYtNDdkYjc1YWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiLXFxcIjtcXG59XFxuLmljb24ucGF1c2VbZGF0YS12LTQ3ZGI3NWFhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojFxcXCI7XFxufVxcbi5pY29uLnBsYXlbZGF0YS12LTQ3ZGI3NWFhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojVxcXCI7XFxufVxcbi5pY29uLnRyaWFuZ2xlLXNbZGF0YS12LTQ3ZGI3NWFhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojlxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWF3YXlbZGF0YS12LTQ3ZGI3NWFhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oj1xcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWRuZFtkYXRhLXYtNDdkYjc1YWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiQXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtaW52aXNpYmxlW2RhdGEtdi00N2RiNzVhYV06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJFcXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1vbmxpbmVbZGF0YS12LTQ3ZGI3NWFhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oklxcXCI7XFxufVxcbi5tb2RhbC1tYXNrW2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgei1pbmRleDogOTk5ODtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xcbn1cXG4ubW9kYWwtbWFzay0tZGFya1tkYXRhLXYtNDdkYjc1YWFdIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkyKTtcXG59XFxuLm1vZGFsLWhlYWRlcltkYXRhLXYtNDdkYjc1YWFdIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHotaW5kZXg6IDEwMDAxO1xcbiAgdG9wOiAwO1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiAwO1xcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDUwcHg7XFxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zLCB2aXNpYmlsaXR5IDI1MG1zO1xcbn1cXG4ubW9kYWwtaGVhZGVyLmludmlzaWJsZVtzdHlsZSo9J2Rpc3BsYXk6bm9uZSddW2RhdGEtdi00N2RiNzVhYV0sIC5tb2RhbC1oZWFkZXIuaW52aXNpYmxlW3N0eWxlKj0nZGlzcGxheTogbm9uZSddW2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XFxufVxcbi5tb2RhbC1oZWFkZXIgLm1vZGFsLXRpdGxlW2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XFxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBwYWRkaW5nOiAwIDEzMnB4IDAgMTJweDtcXG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyBlYXNlIDEwMG1zO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGZvbnQtc2l6ZTogMTRweDtcXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MTJweCkge1xcbi5tb2RhbC1oZWFkZXIgLm1vZGFsLXRpdGxlW2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEzMnB4O1xcbn1cXG59XFxuLm1vZGFsLWhlYWRlciAuaWNvbnMtbWVudVtkYXRhLXYtNDdkYjc1YWFdIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICByaWdodDogMDtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcXG59XFxuLm1vZGFsLWhlYWRlciAuaWNvbnMtbWVudSAuaWNvbi1jbG9zZVtkYXRhLXYtNDdkYjc1YWFdIHtcXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgIG1hcmdpbjogM3B4O1xcbiAgICAgIHBhZGRpbmc6IDEwcHggMTFweDtcXG4gICAgICBjb2xvcjogI2ZmZjtcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgICAgIGZvbnQtc2l6ZTogMjNweDtcXG59XFxuLm1vZGFsLWhlYWRlciAuaWNvbnMtbWVudSAuaWNvbi1jbG9zZVtkYXRhLXYtNDdkYjc1YWFdOmJlZm9yZSB7XFxuICAgICAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgICBjb250ZW50OiBcXFwi7qiHXFxcIjtcXG59XFxuLm1vZGFsLWhlYWRlciAuaWNvbnMtbWVudSAucGxheS1wYXVzZVtkYXRhLXYtNDdkYjc1YWFdIHtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgICAgd2lkdGg6IDUwcHg7XFxuICAgICAgaGVpZ2h0OiA1MHB4O1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBwYWRkaW5nOiAwO1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgICBjb2xvcjogd2hpdGU7XFxuICAgICAgYm9yZGVyOiBub25lO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcXG59XFxuLm1vZGFsLWhlYWRlciAuaWNvbnMtbWVudSAucGxheS1wYXVzZTpob3ZlciAuaWNvbi1wbGF5W2RhdGEtdi00N2RiNzVhYV0sXFxuICAgICAgLm1vZGFsLWhlYWRlciAuaWNvbnMtbWVudSAucGxheS1wYXVzZTpob3ZlciAuaWNvbi1wYXVzZVtkYXRhLXYtNDdkYjc1YWFdLCAubW9kYWwtaGVhZGVyIC5pY29ucy1tZW51IC5wbGF5LXBhdXNlOmZvY3VzIC5pY29uLXBsYXlbZGF0YS12LTQ3ZGI3NWFhXSxcXG4gICAgICAubW9kYWwtaGVhZGVyIC5pY29ucy1tZW51IC5wbGF5LXBhdXNlOmZvY3VzIC5pY29uLXBhdXNlW2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgICAgICAgb3BhY2l0eTogMTtcXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIycHg7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyNywgMTI3LCAxMjcsIDAuMjUpO1xcbn1cXG4ubW9kYWwtaGVhZGVyIC5pY29ucy1tZW51IC5wbGF5LXBhdXNlIC5pY29uLXBsYXlbZGF0YS12LTQ3ZGI3NWFhXSxcXG4gICAgICAubW9kYWwtaGVhZGVyIC5pY29ucy1tZW51IC5wbGF5LXBhdXNlIC5pY29uLXBhdXNlW2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgIHdpZHRoOiA0NHB4O1xcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xcbiAgICAgICAgbWFyZ2luOiAzcHg7XFxuICAgICAgICBvcGFjaXR5OiAuNztcXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcbi5tb2RhbC1oZWFkZXIgLmljb25zLW1lbnUgLnBsYXktcGF1c2UgLmljb24tcGxheVtkYXRhLXYtNDdkYjc1YWFdIHtcXG4gICAgICAgIHBhZGRpbmc6IDExcHggMTNweDtcXG59XFxuLm1vZGFsLWhlYWRlciAuaWNvbnMtbWVudSAucGxheS1wYXVzZSAuaWNvbi1wbGF5W2RhdGEtdi00N2RiNzVhYV06YmVmb3JlIHtcXG4gICAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgICAgY29udGVudDogXFxcIu6ojVxcXCI7XFxufVxcbi5tb2RhbC1oZWFkZXIgLmljb25zLW1lbnUgLnBsYXktcGF1c2UgLmljb24tcGF1c2VbZGF0YS12LTQ3ZGI3NWFhXSB7XFxuICAgICAgICBwYWRkaW5nOiAxMnB4O1xcbiAgICAgICAgZm9udC1zaXplOiAxOS41cHg7XFxufVxcbi5tb2RhbC1oZWFkZXIgLmljb25zLW1lbnUgLnBsYXktcGF1c2UgLmljb24tcGF1c2VbZGF0YS12LTQ3ZGI3NWFhXTpiZWZvcmUge1xcbiAgICAgICAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgICAgICBjb250ZW50OiBcXFwi7qiMXFxcIjtcXG59XFxuLm1vZGFsLWhlYWRlciAuaWNvbnMtbWVudSAuaGVhZGVyLWFjdGlvbnNbZGF0YS12LTQ3ZGI3NWFhXSB7XFxuICAgICAgbWFyZ2luOiAzcHg7XFxuICAgICAgY29sb3I6IHdoaXRlO1xcbn1cXG4ubW9kYWwtaGVhZGVyIC5pY29ucy1tZW51IC5hY3Rpb24taXRlbS0tc2luZ2xlW2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgd2lkdGg6IDQ0cHg7XFxuICAgICAgaGVpZ2h0OiA0NHB4O1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XFxuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMnB4O1xcbn1cXG4ubW9kYWwtaGVhZGVyIC5pY29ucy1tZW51W2RhdGEtdi00N2RiNzVhYV0gLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlIHtcXG4gICAgICBwYWRkaW5nOiAxM3B4IDExcHg7XFxuICAgICAgY29sb3I6ICNmZmY7XFxuICAgICAgZm9udC1zaXplOiAyMnB4O1xcbn1cXG4ubW9kYWwtd3JhcHBlcltkYXRhLXYtNDdkYjc1YWFdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICAvKiBOYXZpZ2F0aW9uIGJ1dHRvbnMgKi9cXG4gIC8qIENvbnRlbnQgKi9cXG59XFxuLm1vZGFsLXdyYXBwZXIgLnByZXZbZGF0YS12LTQ3ZGI3NWFhXSxcXG4gIC5tb2RhbC13cmFwcGVyIC5uZXh0W2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgICB6LWluZGV4OiAxMDAwMDtcXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgd2lkdGg6IDE1JTtcXG4gICAgbWluLXdpZHRoOiA2MHB4O1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXMsIHZpc2liaWxpdHkgMjUwbXM7XFxufVxcbi5tb2RhbC13cmFwcGVyIC5wcmV2LmludmlzaWJsZVtzdHlsZSo9J2Rpc3BsYXk6bm9uZSddW2RhdGEtdi00N2RiNzVhYV0sIC5tb2RhbC13cmFwcGVyIC5wcmV2LmludmlzaWJsZVtzdHlsZSo9J2Rpc3BsYXk6IG5vbmUnXVtkYXRhLXYtNDdkYjc1YWFdLFxcbiAgICAubW9kYWwtd3JhcHBlciAubmV4dC5pbnZpc2libGVbc3R5bGUqPSdkaXNwbGF5Om5vbmUnXVtkYXRhLXYtNDdkYjc1YWFdLFxcbiAgICAubW9kYWwtd3JhcHBlciAubmV4dC5pbnZpc2libGVbc3R5bGUqPSdkaXNwbGF5OiBub25lJ11bZGF0YS12LTQ3ZGI3NWFhXSB7XFxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xcbn1cXG4ubW9kYWwtd3JhcHBlciAuaWNvbi1uZXh0W2RhdGEtdi00N2RiNzVhYV0sXFxuICAubW9kYWwtd3JhcHBlciAuaWNvbi1wcmV2aW91c1tkYXRhLXYtNDdkYjc1YWFdIHtcXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgd2lkdGg6IDQ0cHg7XFxuICAgIGhlaWdodDogNDRweDtcXG4gICAgcGFkZGluZzogMTJweCAxMXB4O1xcbiAgICBjb2xvcjogd2hpdGU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDIycHg7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICAgIGZvbnQtc2l6ZTogMjRweDtcXG59XFxuLm1vZGFsLXdyYXBwZXIgLmljb24tcHJldmlvdXNbZGF0YS12LTQ3ZGI3NWFhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBjb250ZW50OiBcXFwi7qiCXFxcIjtcXG59XFxuLm1vZGFsLXdyYXBwZXIgLmljb24tbmV4dFtkYXRhLXYtNDdkYjc1YWFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIRcXFwiO1xcbn1cXG4ubW9kYWwtd3JhcHBlciAubW9kYWwtY29udGFpbmVyW2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2U7XFxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcbiAgICBib3gtc2hhZG93OiAwIDAgNDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XFxufVxcbi5tb2RhbC13cmFwcGVyOm5vdCgubW9kYWwtd3JhcHBlci0tbGFyZ2UpOm5vdCgubW9kYWwtd3JhcHBlci0tZnVsbCkgLm1vZGFsLWNvbnRhaW5lcltkYXRhLXYtNDdkYjc1YWFdIHtcXG4gICAgbWF4LXdpZHRoOiA5MDBweDtcXG4gICAgbWF4LWhlaWdodDogODAlO1xcbn1cXG4ubW9kYWwtd3JhcHBlci0tZnVsbCAubW9kYWwtY29udGFpbmVyW2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxufVxcbi5tb2RhbC13cmFwcGVyLS1mdWxsIC5wcmV2W2RhdGEtdi00N2RiNzVhYV0sXFxuICAubW9kYWwtd3JhcHBlci0tZnVsbCAubmV4dFtkYXRhLXYtNDdkYjc1YWFdLCAubW9kYWwtd3JhcHBlci0tc3ByZWFkLW5hdmlnYXRpb24gLnByZXZbZGF0YS12LTQ3ZGI3NWFhXSxcXG4gIC5tb2RhbC13cmFwcGVyLS1zcHJlYWQtbmF2aWdhdGlvbiAubmV4dFtkYXRhLXYtNDdkYjc1YWFdIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB3aWR0aDogMTAlO1xcbn1cXG4ubW9kYWwtd3JhcHBlci0tZnVsbCAucHJldltkYXRhLXYtNDdkYjc1YWFdLCAubW9kYWwtd3JhcHBlci0tc3ByZWFkLW5hdmlnYXRpb24gLnByZXZbZGF0YS12LTQ3ZGI3NWFhXSB7XFxuICAgIGxlZnQ6IDA7XFxufVxcbi5tb2RhbC13cmFwcGVyLS1mdWxsIC5uZXh0W2RhdGEtdi00N2RiNzVhYV0sIC5tb2RhbC13cmFwcGVyLS1zcHJlYWQtbmF2aWdhdGlvbiAubmV4dFtkYXRhLXYtNDdkYjc1YWFdIHtcXG4gICAgcmlnaHQ6IDA7XFxufVxcbi5tb2RhbC13cmFwcGVyLS1sYXJnZSAubW9kYWwtY29udGFpbmVyW2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgICBtYXgtd2lkdGg6IDg1JTtcXG4gICAgbWF4LWhlaWdodDogOTAlO1xcbn1cXG4ubW9kYWwtd3JhcHBlci0tbGFyZ2UgLnByZXZbZGF0YS12LTQ3ZGI3NWFhXSxcXG4gIC5tb2RhbC13cmFwcGVyLS1sYXJnZSAubmV4dFtkYXRhLXYtNDdkYjc1YWFdIHtcXG4gICAgd2lkdGg6IDEwJTtcXG4gICAgbWluLXdpZHRoOiA0NHB4O1xcbn1cXG5cXG4vKiBUUkFOU0lUSU9OUyAqL1xcbi5mYWRlLWVudGVyLWFjdGl2ZVtkYXRhLXYtNDdkYjc1YWFdLFxcbi5mYWRlLWxlYXZlLWFjdGl2ZVtkYXRhLXYtNDdkYjc1YWFdIHtcXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXM7XFxufVxcbi5mYWRlLWVudGVyW2RhdGEtdi00N2RiNzVhYV0sXFxuLmZhZGUtbGVhdmUtdG9bZGF0YS12LTQ3ZGI3NWFhXSB7XFxuICBvcGFjaXR5OiAwO1xcbn1cXG4uZmFkZS12aXNpYmlsaXR5LWVudGVyW2RhdGEtdi00N2RiNzVhYV0sXFxuLmZhZGUtdmlzaWJpbGl0eS1sZWF2ZS10b1tkYXRhLXYtNDdkYjc1YWFdIHtcXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcXG4gIG9wYWNpdHk6IDA7XFxufVxcbi5tb2RhbC1pbi1lbnRlci1hY3RpdmVbZGF0YS12LTQ3ZGI3NWFhXSxcXG4ubW9kYWwtaW4tbGVhdmUtYWN0aXZlW2RhdGEtdi00N2RiNzVhYV0sXFxuLm1vZGFsLW91dC1lbnRlci1hY3RpdmVbZGF0YS12LTQ3ZGI3NWFhXSxcXG4ubW9kYWwtb3V0LWxlYXZlLWFjdGl2ZVtkYXRhLXYtNDdkYjc1YWFdIHtcXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXM7XFxufVxcbi5tb2RhbC1pbi1lbnRlcltkYXRhLXYtNDdkYjc1YWFdLFxcbi5tb2RhbC1pbi1sZWF2ZS10b1tkYXRhLXYtNDdkYjc1YWFdLFxcbi5tb2RhbC1vdXQtZW50ZXJbZGF0YS12LTQ3ZGI3NWFhXSxcXG4ubW9kYWwtb3V0LWxlYXZlLXRvW2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgb3BhY2l0eTogMDtcXG59XFxuLm1vZGFsLWluLWVudGVyIC5tb2RhbC1jb250YWluZXJbZGF0YS12LTQ3ZGI3NWFhXSxcXG4ubW9kYWwtaW4tbGVhdmUtdG8gLm1vZGFsLWNvbnRhaW5lcltkYXRhLXYtNDdkYjc1YWFdIHtcXG4gIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcXG59XFxuLm1vZGFsLW91dC1lbnRlciAubW9kYWwtY29udGFpbmVyW2RhdGEtdi00N2RiNzVhYV0sXFxuLm1vZGFsLW91dC1sZWF2ZS10byAubW9kYWwtY29udGFpbmVyW2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xcbn1cXG4ubW9kYWwtbWFzayAucGxheS1wYXVzZSAucHJvZ3Jlc3MtcmluZ1tkYXRhLXYtNDdkYjc1YWFdIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xcbn1cXG4ubW9kYWwtbWFzayAucGxheS1wYXVzZSAucHJvZ3Jlc3MtcmluZyAucHJvZ3Jlc3MtcmluZ19fY2lyY2xlW2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgICB0cmFuc2l0aW9uOiAxMDBtcyBzdHJva2UtZGFzaG9mZnNldDtcXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcXG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzc3JpbmctZGF0YS12LTQ3ZGI3NWFhIGxpbmVhciAzcyBpbmZpbml0ZTtcXG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xcbiAgICBzdHJva2UtZGFzaG9mZnNldDogOTQuMjQ3Nzg7XFxuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDk0LjI0Nzc4O1xcbn1cXG4ubW9kYWwtbWFzayAucGxheS1wYXVzZS0tcGF1c2VkIC5pY29uLXBhdXNlW2RhdGEtdi00N2RiNzVhYV0ge1xcbiAgYW5pbWF0aW9uOiBicmVhdGgtZGF0YS12LTQ3ZGI3NWFhIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgaW5maW5pdGU7XFxufVxcbi5tb2RhbC1tYXNrIC5wbGF5LXBhdXNlLS1wYXVzZWQgLnByb2dyZXNzLXJpbmdfX2NpcmNsZVtkYXRhLXYtNDdkYjc1YWFdIHtcXG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQgIWltcG9ydGFudDtcXG59XFxuQGtleWZyYW1lcyBwcm9ncmVzc3JpbmctZGF0YS12LTQ3ZGI3NWFhIHtcXG5mcm9tIHtcXG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDk0LjI0Nzc4O1xcbn1cXG50byB7XFxuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xcbn1cXG59XFxuQGtleWZyYW1lcyBicmVhdGgtZGF0YS12LTQ3ZGI3NWFhIHtcXG4wJSB7XFxuICAgIG9wYWNpdHk6IDE7XFxufVxcbjUwJSB7XFxuICAgIG9wYWNpdHk6IDA7XFxufVxcbjEwMCUge1xcbiAgICBvcGFjaXR5OiAxO1xcbn1cXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vTW9kYWwudnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBRXNFQTtFQUNDLG1DQUFtQztFQUNuQyw0Q0FBdUM7RUFBRSxxQkFBQTtFQUN6QyxtUEFHbUQ7RUFBRSxlQUFBO0FBQWdCO0FBTXRFO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQjtBQUFBO0FBRmxCO0lBTU0sbUNBQW1DO0lBQ25DLFlBNUdlO0FBQU87QUFxRzVCO0lBTU0sbUNBQW1DO0lBQ25DLFlBM0dRO0FBQU87QUFvR3JCO0lBTU0sbUNBQW1DO0lBQ25DLFlBMUdnQjtBQUFPO0FBbUc3QjtJQU1NLG1DQUFtQztJQUNuQyxZQXpHUztBQUFPO0FBa0d0QjtJQU1NLG1DQUFtQztJQUNuQyxZQXhHUTtBQUFPO0FBaUdyQjtJQU1NLG1DQUFtQztJQUNuQyxZQXZHTztBQUFPO0FBZ0dwQjtJQU1NLG1DQUFtQztJQUNuQyxZQXRHRztBQUFPO0FBK0ZoQjtJQU1NLG1DQUFtQztJQUNuQyxZQXJHSztBQUFPO0FBOEZsQjtJQU1NLG1DQUFtQztJQUNuQyxZQXBHRTtBQUFPO0FBNkZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBbkdFO0FBQU87QUE0RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFsR0U7QUFBTztBQTJGZjtJQU1NLG1DQUFtQztJQUNuQyxZQWpHRztBQUFPO0FBMEZoQjtJQU1NLG1DQUFtQztJQUNuQyxZQWhHRTtBQUFPO0FBeUZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBL0ZRO0FBQU87QUF3RnJCO0lBTU0sbUNBQW1DO0lBQ25DLFlBOUZjO0FBQU87QUF1RjNCO0lBTU0sbUNBQW1DO0lBQ25DLFlBN0ZhO0FBQU87QUFzRjFCO0lBTU0sbUNBQW1DO0lBQ25DLFlBNUZtQjtBQUFPO0FBcUZoQztJQU1NLG1DQUFtQztJQUNuQyxZQTNGZ0I7QUFBTztBRjJkL0I7RUFDQyxlQUFlO0VBQ2YsYUFBYTtFQUNiLE1BQU07RUFDTixPQUFPO0VBQ1AsY0FBYztFQUNkLFdBQVc7RUFDWCxZQUFZO0VBQ1osb0NBQW1DO0FBQUE7QUFDbkM7SUFDQyxxQ0FBb0M7QUFBQTtBQUl0QztFQUNDLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsTUFBTTtFQUNOLFFBQVE7RUFDUixPQUFPO0VBR1Asd0JBQXdCO0VBQ3hCLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsV0FBVztFQUNYLFlBNUJpQjtFQTZCakIsMkNBQ2lCO0FBQUE7QUFkbEI7SUFtQkUsa0JBQWtCO0FBQUE7QUFuQnBCO0lBdUJFLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsV0FBVztJQUNYLHVCQUF3QztJQUN4Qyw4QkFBOEI7SUFDOUIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixXQUFXO0lBQ1gsZUMxZjhDO0FBQUE7QUQ4Zi9DO0FBbkNEO01BcUNHLGtCQUFrQjtNQUNsQixtQkFBYztBQUFBO0FBQ2Q7QUF2Q0g7SUEyQ0Usa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHlCQUF5QjtBQUFBO0FBL0MzQjtNQWtERyxzQkFBc0I7TUFDdEIsV0FBNEM7TUFHNUMsa0JBQWtCO01BQ2xCLFdBQVc7TUFDWCxzQkFBc0I7TUFDdEIsZUFBZTtBQUFBO0FBekRsQjtRRTFhSSxtQ0FqRm1CO1FBa0ZuQixrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLFlBN0VPO0FBQU87QUZvZmxCO01BK0RHLGtCQUFrQjtNQUNsQixXQWhGZTtNQWlGZixZQWpGZTtNQWtGZixTQUFTO01BQ1QsVUFBVTtNQUNWLGVBQWU7TUFDZixZQUFZO01BQ1osWUFBWTtNQUNaLDZCQUE2QjtNQUM3QixlQUFlO0FBQUE7QUF4RWxCOzs7UUE2RUssVUFBVTtRQUNWLG1CQUFrQztRQUNsQywyQ0N2aUJtQztBQUFBO0FEd2R4Qzs7UUFvRkksc0JBQXNCO1FBQ3RCLFdDeGpCaUI7UUR5akJqQixZQ3pqQmlCO1FEMGpCakIsV0FBNEM7UUFDNUMsV0FBVztRQUNYLHNCQUFzQjtRQUN0QixlQUFlO0FBQUE7QUExRm5CO1FBOEZJLGtCQUFrQjtBQUFBO0FBOUZ0QjtVRTFhSSxtQ0FqRm1CO1VBa0ZuQixrQkFBa0I7VUFDbEIsZ0JBQWdCO1VBQ2hCLFlBdkVNO0FBQU87QUY4ZWpCO1FBa0dJLGFBQWE7UUFFYixpQkFBaUI7QUFBQTtBQXBHckI7VUUxYUksbUNBakZtQjtVQWtGbkIsa0JBQWtCO1VBQ2xCLGdCQUFnQjtVQUNoQixZQXhFTztBQUFPO0FGK2VsQjtNQTBHRyxXQUE0QztNQUM1QyxZQUFZO0FBQUE7QUEzR2Y7TUErR0csc0JBQXNCO01BQ3RCLFdDbmxCa0I7TURvbEJsQixZQ3BsQmtCO01EcWxCbEIsZUFBZTtNQUNmLDJCQUEyQjtNQUMzQixxQkFBcUI7QUFBQTtBQXBIeEI7TUF3SEcsa0JBQWtCO01BRWxCLFdBQVc7TUFFWCxlQUFlO0FBQUE7QUFNbEI7RUFDQyxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixzQkFBc0I7RUFDdEIsV0FBVztFQUNYLFlBQVk7RUFFWix1QkFBQTtFQTJDQSxZQUFBO0FBQWE7QUFuRGQ7O0lBV0UsY0FBYztJQUVkLHdCQUF3QjtJQUN4QixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFVBQVU7SUFDVixlQUFlO0lBQ2YsWUFBWTtJQUNaLDJDQUNpQjtBQUFBO0FBcEJuQjs7O01BNEJHLGtCQUFrQjtBQUFBO0FBNUJyQjs7SUFtQ0Usc0JBQXNCO0lBQ3RCLFdDem9CbUI7SUQwb0JuQixZQzFvQm1CO0lEMm9CbkIsa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixtQkFBa0M7SUFDbEMsc0JBQXNCO0lBQ3RCLGVBQWU7QUFBQTtBQTFDakI7SUU1aUJJLG1DQWpGbUI7SUFrRm5CLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsWUFsRlk7QUFBTztBRjJuQnZCO0lFNWlCSSxtQ0FqRm1CO0lBa0ZuQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLFlBaEZhO0FBQU87QUZ5bkJ4QjtJQXFERSxjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLFVBQVU7SUFDVixnQ0FBZ0M7SUFDaEMseUNBQXlDO0lBQ3pDLDhDQUE4QztJQUM5Qyx1Q0FBc0M7QUFBQTtBQTNEeEM7SUE4REUsZ0JBQWdCO0lBQ2hCLGVBQWU7QUFBQTtBQUlmO0lBRUMsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixnQkFBZ0I7QUFBQTtBQUdqQjs7O0lBSUMsa0JBQWtCO0lBQ2xCLFVBQVU7QUFBQTtBQUxYO0lBUUMsT0FBTztBQUFBO0FBUlI7SUFXQyxRQUFRO0FBQUE7QUFHVDtJQUVDLGNBQWM7SUFDZCxlQUFlO0FBQUE7QUFIaEI7O0lBT0MsVUFBVTtJQUNWLGVDcnNCa0I7QUFBQTs7QUQwc0JyQixnQkFBQTtBQUNBOztFQUVDLHlCQUF5QjtBQUFBO0FBRzFCOztFQUVDLFVBQVU7QUFBQTtBQUdYOztFQUVDLGtCQUFrQjtFQUNsQixVQUFVO0FBQUE7QUFHWDs7OztFQUlDLHlCQUF5QjtBQUFBO0FBRzFCOzs7O0VBSUMsVUFBVTtBQUFBO0FBR1g7O0VBRUMscUJBQW9CO0FBQUE7QUFHckI7O0VBRUMscUJBQXFCO0FBQUE7QUFPdEI7RUFFRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLE9BQU87RUFDUCx5QkFBeUI7QUFBQTtBQUwzQjtJQU9HLG1DQUFtQztJQUNuQyx5QkFBeUI7SUFDekIsMERBQTBDO0lBRTFDLHFCQUFxQjtJQUNyQiwyQkFmUTtJQWdCUiwwQkFoQlE7QUFBQTtBQUdYO0VBa0JHLDBFQUEwRDtBQUFBO0FBbEI3RDtFQXFCRyx1Q0FBdUM7QUFBQTtBQU0xQztBQUNDO0lBQ0MsMkJBaENTO0FBQUE7QUFrQ1Y7SUFDQyxvQkFBb0I7QUFBQTtBQUFBO0FBSXRCO0FBQ0M7SUFDQyxVQUFVO0FBQUE7QUFFWDtJQUNDLFVBQVU7QUFBQTtBQUVYO0lBQ0MsVUFBVTtBQUFBO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbkBpbXBvcnQgJy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlJztcXG4kaGVhZGVyLXNpemU6IDUwcHg7XFxuXFxuLm1vZGFsLW1hc2sge1xcblxcdHBvc2l0aW9uOiBmaXhlZDtcXG5cXHR6LWluZGV4OiA5OTk4O1xcblxcdHRvcDogMDtcXG5cXHRsZWZ0OiAwO1xcblxcdGRpc3BsYXk6IGJsb2NrO1xcblxcdHdpZHRoOiAxMDAlO1xcblxcdGhlaWdodDogMTAwJTtcXG5cXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC41KTtcXG5cXHQmLS1kYXJrIHtcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC45Mik7XFxuXFx0fVxcbn1cXG5cXG4ubW9kYWwtaGVhZGVyIHtcXG5cXHRwb3NpdGlvbjogYWJzb2x1dGU7XFxuXFx0ei1pbmRleDogMTAwMDE7XFxuXFx0dG9wOiAwO1xcblxcdHJpZ2h0OiAwO1xcblxcdGxlZnQ6IDA7XFxuXFx0Ly8gcHJldmVudCB2dWUgc2hvdyB0byB1c2UgZGlzcGxheTpub25lIGFuZCByZXNldGluZ1xcblxcdC8vIHRoZSBjaXJjbGUgYW5pbWF0aW9uIGxvb3BcXG5cXHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XFxuXFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG5cXHR3aWR0aDogMTAwJTtcXG5cXHRoZWlnaHQ6ICRoZWFkZXItc2l6ZTtcXG5cXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zLFxcblxcdFxcdHZpc2liaWxpdHkgMjUwbXM7XFxuXFxuXFx0Ly8gcmVwbGFjZSBkaXNwbGF5IGJ5IHZpc2liaWxpdHlcXG5cXHQmLmludmlzaWJsZVtzdHlsZSo9J2Rpc3BsYXk6bm9uZSddLFxcblxcdCYuaW52aXNpYmxlW3N0eWxlKj0nZGlzcGxheTogbm9uZSddIHtcXG5cXHRcXHR2aXNpYmlsaXR5OiBoaWRkZW47XFxuXFx0fVxcblxcblxcdC5tb2RhbC10aXRsZSB7XFxuXFx0XFx0b3ZlcmZsb3cteDogaGlkZGVuO1xcblxcdFxcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuXFx0XFx0d2lkdGg6IDEwMCU7XFxuXFx0XFx0cGFkZGluZzogMCAjeyRjbGlja2FibGUtYXJlYSAqIDN9IDAgMTJweDsgLy8gbWF4aW11bSBhY3Rpb25zIGlzIDNcXG5cXHRcXHR0cmFuc2l0aW9uOiBwYWRkaW5nIGVhc2UgMTAwbXM7XFxuXFx0XFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHRcXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG5cXHRcXHRjb2xvcjogI2ZmZjtcXG5cXHRcXHRmb250LXNpemU6ICRpY29uLW1hcmdpbjtcXG5cXHR9XFxuXFxuXFx0Ly8gT24gd2lkZXIgc2NyZWVucyB0aGUgdGl0bGUgY2FuIGJlIGNlbnRlcmVkXFxuXFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUvMikge1xcblxcdFxcdC5tb2RhbC10aXRsZSB7XFxuXFx0XFx0XFx0dGV4dC1hbGlnbjogY2VudGVyO1xcblxcdFxcdFxcdHBhZGRpbmctbGVmdDogI3skY2xpY2thYmxlLWFyZWEgKiAzfTsgLy8gbWF4aW11bSBhY3Rpb25zIGlzIDNcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdC5pY29ucy1tZW51IHtcXG5cXHRcXHRwb3NpdGlvbjogYWJzb2x1dGU7XFxuXFx0XFx0cmlnaHQ6IDA7XFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRhbGlnbi1pdGVtczogY2VudGVyO1xcblxcdFxcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuXFxuXFx0XFx0Lmljb24tY2xvc2Uge1xcblxcdFxcdFxcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuXFx0XFx0XFx0bWFyZ2luOiAoJGhlYWRlci1zaXplIC0gJGNsaWNrYWJsZS1hcmVhKSAvIDI7XFxuXFx0XFx0XFx0Ly8gbm90IHVzaW5nICRpY29uLW1hcmdpbiBzaW5jZSB3ZSBoYXZlIGEgY3VzdG9tIGZvbnQgc2l6ZVxcblxcdFxcdFxcdC8vIGFuZCBhbGlnbmVtZW50IHNlZW1zIG9kZFxcblxcdFxcdFxcdHBhZGRpbmc6IDEwcHggMTFweDtcXG5cXHRcXHRcXHRjb2xvcjogI2ZmZjtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcblxcdFxcdFxcdGZvbnQtc2l6ZTogMjNweDtcXG5cXG5cXHRcXHRcXHRAaW5jbHVkZSBpY29uZm9udCgnY2xvc2UnKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0LnBsYXktcGF1c2Uge1xcblxcdFxcdFxcdHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXHRcXHRcXHR3aWR0aDogJGhlYWRlci1zaXplO1xcblxcdFxcdFxcdGhlaWdodDogJGhlYWRlci1zaXplO1xcblxcdFxcdFxcdG1hcmdpbjogMDtcXG5cXHRcXHRcXHRwYWRkaW5nOiAwO1xcblxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRcXHRjb2xvcjogd2hpdGU7XFxuXFx0XFx0XFx0Ym9yZGVyOiBub25lO1xcblxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdFxcdFxcdGZvbnQtc2l6ZTogMjJweDtcXG5cXHRcXHRcXHQmOmhvdmVyLFxcblxcdFxcdFxcdCY6Zm9jdXMge1xcblxcdFxcdFxcdFxcdC5pY29uLXBsYXksXFxuXFx0XFx0XFx0XFx0Lmljb24tcGF1c2Uge1xcblxcdFxcdFxcdFxcdFxcdG9wYWNpdHk6IDE7XFxuXFx0XFx0XFx0XFx0XFx0Ym9yZGVyLXJhZGl1czogJGNsaWNrYWJsZS1hcmVhIC8gMjtcXG5cXHRcXHRcXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1mb2N1cy1iZztcXG5cXHRcXHRcXHRcXHR9XFxuXFx0XFx0XFx0fVxcblxcdFxcdFxcdC5pY29uLXBsYXksXFxuXFx0XFx0XFx0Lmljb24tcGF1c2Uge1xcblxcdFxcdFxcdFxcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuXFx0XFx0XFx0XFx0d2lkdGg6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRcXHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRcXHRtYXJnaW46ICgkaGVhZGVyLXNpemUgLSAkY2xpY2thYmxlLWFyZWEpIC8gMjtcXG5cXHRcXHRcXHRcXHRvcGFjaXR5OiAuNztcXG5cXHRcXHRcXHRcXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcblxcdFxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0XFx0Lmljb24tcGxheSB7XFxuXFx0XFx0XFx0XFx0Ly8gYmV0dGVyIHZpc3VhbFxcblxcdFxcdFxcdFxcdHBhZGRpbmc6IDExcHggMTNweDtcXG5cXHRcXHRcXHRcXHRAaW5jbHVkZSBpY29uZm9udCgncGxheScpO1xcblxcdFxcdFxcdH1cXG5cXHRcXHRcXHQuaWNvbi1wYXVzZSB7XFxuXFx0XFx0XFx0XFx0cGFkZGluZzogMTJweDtcXG5cXHRcXHRcXHRcXHQvLyAhIGFsaWduIHdpdGggY2lyY2xlXFxuXFx0XFx0XFx0XFx0Zm9udC1zaXplOiAxOS41cHg7XFxuXFx0XFx0XFx0XFx0QGluY2x1ZGUgaWNvbmZvbnQoJ3BhdXNlJyk7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXG5cXHRcXHQuaGVhZGVyLWFjdGlvbnMge1xcblxcdFxcdFxcdG1hcmdpbjogKCRoZWFkZXItc2l6ZSAtICRjbGlja2FibGUtYXJlYSkgLyAyO1xcblxcdFxcdFxcdGNvbG9yOiB3aGl0ZTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0LmFjdGlvbi1pdGVtLS1zaW5nbGUge1xcblxcdFxcdFxcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuXFx0XFx0XFx0d2lkdGg6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xcblxcdFxcdFxcdGJhY2tncm91bmQtc2l6ZTogMjJweDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Jjo6di1kZWVwIC5hY3Rpb24taXRlbV9fbWVudXRvZ2dsZSB7XFxuXFx0XFx0XFx0cGFkZGluZzogMTNweCAxMXB4O1xcblxcdFxcdFxcdC8vIGZvcmNlIHdoaXRlIGluc3RlYWQgb2YgZGVmYXVsdCBtYWluIHRleHRcXG5cXHRcXHRcXHRjb2xvcjogI2ZmZjtcXG5cXHRcXHRcXHQvLyAyMnB4IGlzIGEgc29tZWhvdyBiZXR0ZXIgbG9va2luZyBmb3IgdGhlIGljb24tbW9yZSBpY29uXFxuXFx0XFx0XFx0Zm9udC1zaXplOiAyMnB4O1xcblxcdFxcdH1cXG5cXG5cXHR9XFxufVxcblxcbi5tb2RhbC13cmFwcGVyIHtcXG5cXHRkaXNwbGF5OiBmbGV4O1xcblxcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuXFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuXFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcXG5cXHR3aWR0aDogMTAwJTtcXG5cXHRoZWlnaHQ6IDEwMCU7XFxuXFxuXFx0LyogTmF2aWdhdGlvbiBidXR0b25zICovXFxuXFx0LnByZXYsXFxuXFx0Lm5leHQge1xcblxcdFxcdHotaW5kZXg6IDEwMDAwO1xcblxcdFxcdC8vIGlnbm9yZSBkaXNwbGF5OiBub25lXFxuXFx0XFx0ZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xcblxcdFxcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuXFx0XFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuXFx0XFx0d2lkdGg6IDE1JTtcXG5cXHRcXHRtaW4td2lkdGg6IDYwcHg7XFxuXFx0XFx0aGVpZ2h0OiAxMDAlO1xcblxcdFxcdHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXMsXFxuXFx0XFx0XFx0dmlzaWJpbGl0eSAyNTBtcztcXG5cXG5cXHRcXHQvLyB3ZSB3YW50IHRvIGtlZXAgdGhlIGVsZW1lbnRzIG9uIHBhZ2VcXG5cXHRcXHQvLyBldmVuIGlmIGhpZGRlbiB0byBhdm9pZCBoYXZpbmcgYSB1bmJhbGFuY2VkXFxuXFx0XFx0Ly8gY2VudGVyZWQgY29udGVudFxcblxcdFxcdC8vIHJlcGxhY2UgZGlzcGxheSBieSB2aXNpYmlsaXR5XFxuXFx0XFx0Ji5pbnZpc2libGVbc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSxcXG5cXHRcXHQmLmludmlzaWJsZVtzdHlsZSo9J2Rpc3BsYXk6IG5vbmUnXSB7XFxuXFx0XFx0XFx0dmlzaWJpbGl0eTogaGlkZGVuO1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Ly8gYnV0dG9ucy9pY29uc1xcblxcdC5pY29uLW5leHQsXFxuXFx0Lmljb24tcHJldmlvdXMge1xcblxcdFxcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuXFx0XFx0d2lkdGg6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRwYWRkaW5nOiAxMnB4IDExcHg7XFxuXFx0XFx0Y29sb3I6IHdoaXRlO1xcblxcdFxcdGJvcmRlci1yYWRpdXM6ICRjbGlja2FibGUtYXJlYSAvIDI7XFxuXFx0XFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG5cXHRcXHRmb250LXNpemU6IDI0cHg7XFxuXFx0fVxcblxcdC5pY29uLXByZXZpb3VzIHtcXG5cXHRcXHRAaW5jbHVkZSBpY29uZm9udCgnYXJyb3ctbGVmdCcpO1xcblxcdH1cXG5cXHQuaWNvbi1uZXh0IHtcXG5cXHRcXHRAaW5jbHVkZSBpY29uZm9udCgnYXJyb3ctcmlnaHQnKTtcXG5cXHR9XFxuXFxuXFx0LyogQ29udGVudCAqL1xcblxcdC5tb2RhbC1jb250YWluZXIge1xcblxcdFxcdGRpc3BsYXk6IGJsb2NrO1xcblxcdFxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0XFx0cGFkZGluZzogMDtcXG5cXHRcXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZTtcXG5cXHRcXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKTtcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcblxcdFxcdGJveC1zaGFkb3c6IDAgMCA0MHB4IHJnYmEoMCwgMCwgMCwgLjIpO1xcblxcdH1cXG5cXHQmOm5vdCgmLS1sYXJnZSk6bm90KCYtLWZ1bGwpIC5tb2RhbC1jb250YWluZXIge1xcblxcdFxcdG1heC13aWR0aDogOTAwcHg7XFxuXFx0XFx0bWF4LWhlaWdodDogODAlO1xcblxcdH1cXG5cXG5cXHQvLyBTaXppbmdcXG5cXHQmLS1mdWxsIHtcXG5cXHRcXHQubW9kYWwtY29udGFpbmVyIHtcXG5cXHRcXHRcXHRtYXgtd2lkdGg6IDEwMCU7XFxuXFx0XFx0XFx0bWF4LWhlaWdodDogMTAwJTtcXG5cXHRcXHRcXHRib3JkZXItcmFkaXVzOiAwO1xcblxcdFxcdH1cXG5cXHR9XFxuXFx0Ji0tZnVsbCxcXG5cXHQmLS1zcHJlYWQtbmF2aWdhdGlvbiB7XFxuXFx0XFx0LnByZXYsXFxuXFx0XFx0Lm5leHQge1xcblxcdFxcdFxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHRcXHRcXHR3aWR0aDogMTAlO1xcblxcdFxcdH1cXG5cXHRcXHQucHJldiB7XFxuXFx0XFx0XFx0bGVmdDogMDtcXG5cXHRcXHR9XFxuXFx0XFx0Lm5leHQge1xcblxcdFxcdFxcdHJpZ2h0OiAwO1xcblxcdFxcdH1cXG5cXHR9XFxuXFx0Ji0tbGFyZ2Uge1xcblxcdFxcdC5tb2RhbC1jb250YWluZXIge1xcblxcdFxcdFxcdG1heC13aWR0aDogODUlO1xcblxcdFxcdFxcdG1heC1oZWlnaHQ6IDkwJTtcXG5cXHRcXHR9XFxuXFx0XFx0LnByZXYsXFxuXFx0XFx0Lm5leHQge1xcblxcdFxcdFxcdHdpZHRoOiAxMCU7XFxuXFx0XFx0XFx0bWluLXdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXFxuLyogVFJBTlNJVElPTlMgKi9cXG4uZmFkZS1lbnRlci1hY3RpdmUsXFxuLmZhZGUtbGVhdmUtYWN0aXZlIHtcXG5cXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zO1xcbn1cXG5cXG4uZmFkZS1lbnRlcixcXG4uZmFkZS1sZWF2ZS10byB7XFxuXFx0b3BhY2l0eTogMDtcXG59XFxuXFxuLmZhZGUtdmlzaWJpbGl0eS1lbnRlcixcXG4uZmFkZS12aXNpYmlsaXR5LWxlYXZlLXRvIHtcXG5cXHR2aXNpYmlsaXR5OiBoaWRkZW47XFxuXFx0b3BhY2l0eTogMDtcXG59XFxuXFxuLm1vZGFsLWluLWVudGVyLWFjdGl2ZSxcXG4ubW9kYWwtaW4tbGVhdmUtYWN0aXZlLFxcbi5tb2RhbC1vdXQtZW50ZXItYWN0aXZlLFxcbi5tb2RhbC1vdXQtbGVhdmUtYWN0aXZlIHtcXG5cXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zO1xcbn1cXG5cXG4ubW9kYWwtaW4tZW50ZXIsXFxuLm1vZGFsLWluLWxlYXZlLXRvLFxcbi5tb2RhbC1vdXQtZW50ZXIsXFxuLm1vZGFsLW91dC1sZWF2ZS10byB7XFxuXFx0b3BhY2l0eTogMDtcXG59XFxuXFxuLm1vZGFsLWluLWVudGVyIC5tb2RhbC1jb250YWluZXIsXFxuLm1vZGFsLWluLWxlYXZlLXRvIC5tb2RhbC1jb250YWluZXIge1xcblxcdHRyYW5zZm9ybTogc2NhbGUoLjkpO1xcbn1cXG5cXG4ubW9kYWwtb3V0LWVudGVyIC5tb2RhbC1jb250YWluZXIsXFxuLm1vZGFsLW91dC1sZWF2ZS10byAubW9kYWwtY29udGFpbmVyIHtcXG5cXHR0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XFxufVxcblxcbi8vIGFuaW1hdGVkIGNpcmNsZVxcbiRyYWRpdXM6IDE1O1xcbiRwaTogMy4xNDE1OTI2NTM1ODk3OTtcXG5cXG4ubW9kYWwtbWFzayAucGxheS1wYXVzZSB7XFxuXFx0LnByb2dyZXNzLXJpbmcge1xcblxcdFxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHRcXHR0b3A6IDA7XFxuXFx0XFx0bGVmdDogMDtcXG5cXHRcXHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xcblxcdFxcdC5wcm9ncmVzcy1yaW5nX19jaXJjbGUge1xcblxcdFxcdFxcdHRyYW5zaXRpb246IDEwMG1zIHN0cm9rZS1kYXNob2Zmc2V0O1xcblxcdFxcdFxcdHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IC8vIGF4aXMgY29tcGVuc2F0aW9uXFxuXFx0XFx0XFx0YW5pbWF0aW9uOiBwcm9ncmVzc3JpbmcgbGluZWFyIDNzIGluZmluaXRlO1xcblxcblxcdFxcdFxcdHN0cm9rZS1saW5lY2FwOiByb3VuZDtcXG5cXHRcXHRcXHRzdHJva2UtZGFzaG9mZnNldDogJHJhZGl1cyAqIDIgKiAkcGk7IC8vIHJhZGl1cyAqIDIgKiBQSVxcblxcdFxcdFxcdHN0cm9rZS1kYXNoYXJyYXk6ICRyYWRpdXMgKiAyICogJHBpOyAvLyByYWRpdXMgKiAyICogUElcXG5cXHRcXHR9XFxuXFx0fVxcblxcdCYtLXBhdXNlZCB7XFxuXFx0XFx0Lmljb24tcGF1c2Uge1xcblxcdFxcdFxcdGFuaW1hdGlvbjogYnJlYXRoIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgaW5maW5pdGU7XFxuXFx0XFx0fVxcblxcdFxcdC5wcm9ncmVzcy1yaW5nX19jaXJjbGUge1xcblxcdFxcdFxcdGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQgIWltcG9ydGFudDtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cXG4vLyBrZXlmcmFtZXMgZ2V0IHNjb3BlZCB0b28gYW5kIGJyZWFrIHRoZSBhbmltYXRpb24gbmFtZSwgd2UgbmVlZCB0aGVtIHVuc2NvcGVkXFxuQGtleWZyYW1lcyBwcm9ncmVzc3Jpbmcge1xcblxcdGZyb20ge1xcblxcdFxcdHN0cm9rZS1kYXNob2Zmc2V0OiAkcmFkaXVzICogMiAqICRwaTsgLy8gcmFkaXVzICogMiAqIFBJXFxuXFx0fVxcblxcdHRvIHtcXG5cXHRcXHRzdHJva2UtZGFzaG9mZnNldDogMDtcXG5cXHR9XFxufVxcblxcbkBrZXlmcmFtZXMgYnJlYXRoIHtcXG5cXHQwJSB7XFxuXFx0XFx0b3BhY2l0eTogMTtcXG5cXHR9XFxuXFx0NTAlIHtcXG5cXHRcXHRvcGFjaXR5OiAwO1xcblxcdH1cXG5cXHQxMDAlIHtcXG5cXHRcXHRvcGFjaXR5OiAxO1xcblxcdH1cXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiLFwiJF9faWNvbmZvbnRfX2RhdGE6IG1hcC1tZXJnZShpZihnbG9iYWxfdmFyaWFibGVfZXhpc3RzKCdfX2ljb25mb250X19kYXRhJyksICRfX2ljb25mb250X19kYXRhLCAoKSksIChcXG5cXHRcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiOiAoXFxuXFx0XFx0XFxcImFycm93LWxlZnQtZG91YmxlXFxcIjogXFxcIlxcXFxlYTAxXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctbGVmdFxcXCI6IFxcXCJcXFxcZWEwMlxcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0LWRvdWJsZVxcXCI6IFxcXCJcXFxcZWEwM1xcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0XFxcIjogXFxcIlxcXFxlYTA0XFxcIixcXG5cXHRcXHRcXFwiYnJlYWRjcnVtYlxcXCI6IFxcXCJcXFxcZWEwNVxcXCIsXFxuXFx0XFx0XFxcImNoZWNrbWFya1xcXCI6IFxcXCJcXFxcZWEwNlxcXCIsXFxuXFx0XFx0XFxcImNsb3NlXFxcIjogXFxcIlxcXFxlYTA3XFxcIixcXG5cXHRcXHRcXFwiY29uZmlybVxcXCI6IFxcXCJcXFxcZWEwOFxcXCIsXFxuXFx0XFx0XFxcImluZm9cXFwiOiBcXFwiXFxcXGVhMDlcXFwiLFxcblxcdFxcdFxcXCJtZW51XFxcIjogXFxcIlxcXFxlYTBhXFxcIixcXG5cXHRcXHRcXFwibW9yZVxcXCI6IFxcXCJcXFxcZWEwYlxcXCIsXFxuXFx0XFx0XFxcInBhdXNlXFxcIjogXFxcIlxcXFxlYTBjXFxcIixcXG5cXHRcXHRcXFwicGxheVxcXCI6IFxcXCJcXFxcZWEwZFxcXCIsXFxuXFx0XFx0XFxcInRyaWFuZ2xlLXNcXFwiOiBcXFwiXFxcXGVhMGVcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1hd2F5XFxcIjogXFxcIlxcXFxlYTBmXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtZG5kXFxcIjogXFxcIlxcXFxlYTEwXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtaW52aXNpYmxlXFxcIjogXFxcIlxcXFxlYTExXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtb25saW5lXFxcIjogXFxcIlxcXFxlYTEyXFxcIlxcblxcdClcXG4pKTtcXG5cXG5cXG4kY3JlYXRlLWZvbnQtZmFjZTogdHJ1ZSAhZGVmYXVsdDsgLy8gc2hvdWxkIHRoZSBAZm9udC1mYWNlIHRhZyBnZXQgY3JlYXRlZD9cXG5cXG4vLyBzaG91bGQgdGhlcmUgYmUgYSBjdXN0b20gY2xhc3MgZm9yIGVhY2ggaWNvbj8gd2lsbCBiZSAuZmlsZW5hbWVcXG4kY3JlYXRlLWljb24tY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDsgXFxuXFxuLy8gd2hhdCBpcyB0aGUgY29tbW9uIGNsYXNzIG5hbWUgdGhhdCBpY29ucyBzaGFyZT8gaW4gdGhpcyBjYXNlIGljb25zIG5lZWQgdG8gaGF2ZSAuaWNvbi5maWxlbmFtZSBpbiB0aGVpciBjbGFzc2VzXFxuLy8gdGhpcyByZXF1aXJlcyB5b3UgdG8gaGF2ZSAyIGNsYXNzZXMgb24gZWFjaCBpY29uIGh0bWwgZWxlbWVudCwgYnV0IHJlZHVjZWQgcmVkZWNsYXJhdGlvbiBvZiB0aGUgZm9udCBmYW1pbHlcXG4vLyBmb3IgZWFjaCBpY29uXFxuJGljb24tY29tbW9uLWNsYXNzOiAnaWNvbicgIWRlZmF1bHQ7XFxuXFxuLy8gaWYgeW91IHdoaXNoIHRvIHByZWZpeCB5b3VyIGZpbGVuYW1lcywgaGVyZSB5b3UgY2FuIGRvIHNvLlxcbi8vIGlmIHRoaXMgc3RyaW5nIHN0YXlzIGVtcHR5LCB5b3VyIGNsYXNzZXMgd2lsbCB1c2UgdGhlIGZpbGVuYW1lLCBmb3IgZXhhbXBsZVxcbi8vIGFuIGljb24gY2FsbGVkIHN0YXIuc3ZnIHdpbGwgcmVzdWx0IGluIGEgY2xhc3MgY2FsbGVkIC5zdGFyXFxuLy8gaWYgeW91IHVzZSB0aGUgcHJlZml4IHRvIGJlICdpY29uLScgaXQgd291bGQgcmVzdWx0IGluIC5pY29uLXN0YXJcXG4kaWNvbi1wcmVmaXg6ICcnICFkZWZhdWx0OyBcXG5cXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvbnQgZ3JvdXBcXG5AZnVuY3Rpb24gaWNvbmZvbnQtZ3JvdXAoJGdyb3VwOiBudWxsKSB7XFxuICBAaWYgKG51bGwgPT0gJGdyb3VwKSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICBAaWYgKGZhbHNlID09IG1hcC1oYXMta2V5KCRfX2ljb25mb250X19kYXRhLCAkZ3JvdXApKSB7XFxuICAgIEB3YXJuICdVbmRlZmluZWQgSWNvbmZvbnQgRmFtaWx5ISc7XFxuICAgIEByZXR1cm4gKCk7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJF9faWNvbmZvbnRfX2RhdGEsICRncm91cCk7XFxufVxcblxcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3QgaWNvbiBvZiBhIGdyb3VwXFxuQGZ1bmN0aW9uIGljb25mb250LWl0ZW0oJG5hbWUpIHtcXG4gICRzbGFzaDogc3RyLWluZGV4KCRuYW1lLCAnLycpO1xcbiAgJGdyb3VwOiBudWxsO1xcbiAgQGlmICgkc2xhc2gpIHtcXG4gICAgJGdyb3VwOiBzdHItc2xpY2UoJG5hbWUsIDAsICRzbGFzaCAtIDEpO1xcbiAgICAkbmFtZTogc3RyLXNsaWNlKCRuYW1lLCAkc2xhc2ggKyAxKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgJGdyb3VwOiBpY29uZm9udC1ncm91cCgkZ3JvdXApO1xcbiAgQGlmIChmYWxzZSA9PSBtYXAtaGFzLWtleSgkZ3JvdXAsICRuYW1lKSkge1xcbiAgICBAd2FybiAnVW5kZWZpbmVkIEljb25mb250IEdseXBoISc7XFxuICAgIEByZXR1cm4gJyc7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJGdyb3VwLCAkbmFtZSk7XFxufVxcblxcbi8vIGNvbXBsZXRlIG1peGluZyB0byBpbmNsdWRlIHRoZSBpY29uXFxuLy8gdXNhZ2U6XFxuLy8gLm15X2ljb257IEBpbmNsdWRlIGljb25mb250KCdzdGFyJykgfVxcbkBtaXhpbiBpY29uZm9udCgkaWNvbikge1xcbiAgJHNsYXNoOiBzdHItaW5kZXgoJGljb24sICcvJyk7XFxuICAkZ3JvdXA6IG51bGw7XFxuICBAaWYgKCRzbGFzaCkge1xcbiAgICAkZ3JvdXA6IHN0ci1zbGljZSgkaWNvbiwgMCwgJHNsYXNoIC0gMSk7XFxuICB9IEBlbHNlIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gICY6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6ICRncm91cDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKCRpY29uKTtcXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyB0aGUgZm9udCBmYWNlIHRhZyBpZiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIHRydWUgKGRlZmF1bHQpXFxuQGlmICRjcmVhdGUtZm9udC1mYWNlID09IHRydWUge1xcbiAgQGZvbnQtZmFjZSB7XFxuICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2ZycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyBpY29uIGNsYXNzZXMgZm9yIGVhY2ggaW5kaXZpZHVhbCBsb2FkZWQgc3ZnIChkZWZhdWx0KVxcbkBpZiAkY3JlYXRlLWljb24tY2xhc3NlcyA9PSB0cnVlIHtcXG4gIC4jeyRpY29uLWNvbW1vbi1jbGFzc30ge1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuXFxuICAgIEBlYWNoICRpY29uLCAkY29udGVudCBpbiBtYXAtZ2V0KCRfX2ljb25mb250X19kYXRhLCBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiKSB7XFxuICAgICAgJi4jeyRpY29uLXByZWZpeH0jeyRpY29ufTpiZWZvcmUge1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKFxcXCJpY29uZm9udC12dWUtODRjNDYxZi8jeyRpY29ufVxcXCIpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbi5uYW1lLXBhcnRzW2RhdGEtdi0wMjZjM2RlZl0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIG1heC13aWR0aDogMTAwJTtcXG59XFxuLm5hbWUtcGFydHNfX2ZpcnN0W2RhdGEtdi0wMjZjM2RlZl0ge1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG59XFxuLm5hbWUtcGFydHNfX2ZpcnN0W2RhdGEtdi0wMjZjM2RlZl0sIC5uYW1lLXBhcnRzX19sYXN0W2RhdGEtdi0wMjZjM2RlZl0ge1xcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xcbn1cXG4ubmFtZS1wYXJ0c19fZmlyc3Qgc3Ryb25nW2RhdGEtdi0wMjZjM2RlZl0sIC5uYW1lLXBhcnRzX19sYXN0IHN0cm9uZ1tkYXRhLXYtMDI2YzNkZWZdIHtcXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vRWxsaXBzaXNlZE9wdGlvbi52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FBd0dGO0VBQ0MsYUFBYTtFQUNiLGVBQWU7QUFBQTtBQUNmO0lBQ0MsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtBQUFBO0FBRXhCO0lBR0MsZ0JBQWdCO0FBQUE7QUFIaEI7TUFLQyxpQkFBaUI7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuLm5hbWUtcGFydHMge1xcblxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0bWF4LXdpZHRoOiAxMDAlO1xcblxcdCZfX2ZpcnN0IHtcXG5cXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdFxcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcblxcdH1cXG5cXHQmX19maXJzdCxcXG5cXHQmX19sYXN0IHtcXG5cXHRcXHQvLyBwcmV2ZW50IHdoaXRlc3BhY2UgZnJvbSBiZWluZyB0cmltbWVkXFxuXFx0XFx0d2hpdGUtc3BhY2U6IHByZTtcXG5cXHRcXHRzdHJvbmcge1xcblxcdFxcdFxcdGZvbnQtd2VpZ2h0OiBib2xkO1xcblxcdFxcdH1cXG5cXHR9XFxufVxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbi5wb3BvdmVyIHtcXG4gIHotaW5kZXg6IDEwMDAwMDtcXG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XFxuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMXB4IDEwcHggdmFyKC0tY29sb3ItYm94LXNoYWRvdykpO1xcbn1cXG4ucG9wb3Zlcl9faW5uZXIge1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XFxuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxufVxcbi5wb3BvdmVyX19hcnJvdyB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgei1pbmRleDogMTtcXG4gICAgd2lkdGg6IDA7XFxuICAgIGhlaWdodDogMDtcXG4gICAgbWFyZ2luOiAxMHB4O1xcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxufVxcbi5wb3BvdmVyW3gtcGxhY2VtZW50Xj0ndG9wJ10ge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xcbn1cXG4ucG9wb3Zlclt4LXBsYWNlbWVudF49J3RvcCddIC5wb3BvdmVyX19hcnJvdyB7XFxuICAgICAgYm90dG9tOiAtMTBweDtcXG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtICRhcnJvdy13aWR0aCk7XFxuICAgICAgbWFyZ2luLXRvcDogMDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIGJvcmRlci13aWR0aDogMTBweCAxMHB4IDAgMTBweDtcXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG59XFxuLnBvcG92ZXJbeC1wbGFjZW1lbnRePSdib3R0b20nXSB7XFxuICAgIG1hcmdpbi10b3A6IDEwcHg7XFxufVxcbi5wb3BvdmVyW3gtcGxhY2VtZW50Xj0nYm90dG9tJ10gLnBvcG92ZXJfX2Fycm93IHtcXG4gICAgICB0b3A6IC0xMHB4O1xcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gJGFycm93LXdpZHRoKTtcXG4gICAgICBtYXJnaW4tdG9wOiAwO1xcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgYm9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcbn1cXG4ucG9wb3Zlclt4LXBsYWNlbWVudF49J3JpZ2h0J10ge1xcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcXG59XFxuLnBvcG92ZXJbeC1wbGFjZW1lbnRePSdyaWdodCddIC5wb3BvdmVyX19hcnJvdyB7XFxuICAgICAgdG9wOiBjYWxjKDUwJSAtICRhcnJvdy13aWR0aCk7XFxuICAgICAgbGVmdDogLTEwcHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIGJvcmRlci13aWR0aDogMTBweCAxMHB4IDEwcHggMDtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxufVxcbi5wb3BvdmVyW3gtcGxhY2VtZW50Xj0nbGVmdCddIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xcbn1cXG4ucG9wb3Zlclt4LXBsYWNlbWVudF49J2xlZnQnXSAucG9wb3Zlcl9fYXJyb3cge1xcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAkYXJyb3ctd2lkdGgpO1xcbiAgICAgIHJpZ2h0OiAtMTBweDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgYm9yZGVyLXdpZHRoOiAxMHB4IDAgMTBweCAxMHB4O1xcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxufVxcbi5wb3BvdmVyW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uLXF1aWNrKSwgdmlzaWJpbGl0eSB2YXIoLS1hbmltYXRpb24tcXVpY2spO1xcbiAgICBvcGFjaXR5OiAwO1xcbn1cXG4ucG9wb3ZlclthcmlhLWhpZGRlbj0nZmFsc2UnXSB7XFxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uLXF1aWNrKTtcXG4gICAgb3BhY2l0eTogMTtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vUG9wb3Zlci52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FBMkZGO0VBQ0MsZUFBZTtFQUNmLHlCQUF5QjtFQUV6Qix1REFBdUQ7QUFBQTtBQUV2RDtJQUNDLFVBQVU7SUFDViw2QkFBNkI7SUFDN0IsbUNBQW1DO0lBQ25DLHdDQUF3QztBQUFBO0FBR3pDO0lBQ0Msa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixRQUFRO0lBQ1IsU0FBUztJQUNULFlBcEJnQjtJQXFCaEIsbUJBQW1CO0lBQ25CLDBDQUEwQztBQUFBO0FBcEI1QztJQXdCRSxtQkExQmdCO0FBQUE7QUFFbEI7TUEyQkcsYUE3QmU7TUE4QmYsOEJBQThCO01BQzlCLGFBQWE7TUFDYixnQkFBZ0I7TUFDaEIsOEJBakNlO01Ba0NmLDBDQUEwQztNQUMxQywyQ0FBMkM7TUFDM0MseUNBQXlDO0FBQUE7QUFsQzVDO0lBdUNFLGdCQXpDZ0I7QUFBQTtBQUVsQjtNQTBDRyxVQTVDZTtNQTZDZiw4QkFBOEI7TUFDOUIsYUFBYTtNQUNiLGdCQUFnQjtNQUNoQiw4QkFoRGU7TUFpRGYsd0NBQXdDO01BQ3hDLDBDQUEwQztNQUMxQyx5Q0FBeUM7QUFBQTtBQWpENUM7SUFzREUsaUJBeERnQjtBQUFBO0FBRWxCO01BeURHLDZCQUE2QjtNQUM3QixXQTVEZTtNQTZEZixlQUFlO01BQ2YsY0FBYztNQUNkLDhCQUFzRDtNQUN0RCx3Q0FBd0M7TUFDeEMsMkNBQTJDO01BQzNDLHlDQUF5QztBQUFBO0FBaEU1QztJQXFFRSxrQkF2RWdCO0FBQUE7QUFFbEI7TUF3RUcsNkJBQTZCO01BQzdCLFlBM0VlO01BNEVmLGVBQWU7TUFDZixjQUFjO01BQ2QsOEJBOUVlO01BK0VmLHdDQUF3QztNQUN4QywwQ0FBMEM7TUFDMUMsMkNBQTJDO0FBQUE7QUEvRTlDO0lBb0ZFLGtCQUFrQjtJQUNsQiw2RUFBNkU7SUFDN0UsVUFBVTtBQUFBO0FBdEZaO0lBMEZFLG1CQUFtQjtJQUNuQiwwQ0FBMEM7SUFDMUMsVUFBVTtBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG4kYXJyb3ctd2lkdGg6IDEwcHg7XFxuXFxuLnBvcG92ZXIge1xcblxcdHotaW5kZXg6IDEwMDAwMDtcXG5cXHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xcblxcblxcdGZpbHRlcjogZHJvcC1zaGFkb3coMCAxcHggMTBweCB2YXIoLS1jb2xvci1ib3gtc2hhZG93KSk7XFxuXFxuXFx0Jl9faW5uZXIge1xcblxcdFxcdHBhZGRpbmc6IDA7XFxuXFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XFxuXFx0XFx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG5cXHR9XFxuXFxuXFx0Jl9fYXJyb3cge1xcblxcdFxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHRcXHR6LWluZGV4OiAxO1xcblxcdFxcdHdpZHRoOiAwO1xcblxcdFxcdGhlaWdodDogMDtcXG5cXHRcXHRtYXJnaW46ICRhcnJvdy13aWR0aDtcXG5cXHRcXHRib3JkZXItc3R5bGU6IHNvbGlkO1xcblxcdFxcdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG5cXHR9XFxuXFxuXFx0Jlt4LXBsYWNlbWVudF49J3RvcCddIHtcXG5cXHRcXHRtYXJnaW4tYm90dG9tOiAkYXJyb3ctd2lkdGg7XFxuXFxuXFx0XFx0LnBvcG92ZXJfX2Fycm93IHtcXG5cXHRcXHRcXHRib3R0b206IC0kYXJyb3ctd2lkdGg7XFxuXFx0XFx0XFx0bGVmdDogY2FsYyg1MCUgLSAkYXJyb3ctd2lkdGgpO1xcblxcdFxcdFxcdG1hcmdpbi10b3A6IDA7XFxuXFx0XFx0XFx0bWFyZ2luLWJvdHRvbTogMDtcXG5cXHRcXHRcXHRib3JkZXItd2lkdGg6ICRhcnJvdy13aWR0aCAkYXJyb3ctd2lkdGggMCAkYXJyb3ctd2lkdGg7XFxuXFx0XFx0XFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcblxcdFxcdFxcdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxuXFx0XFx0XFx0Ym9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQmW3gtcGxhY2VtZW50Xj0nYm90dG9tJ10ge1xcblxcdFxcdG1hcmdpbi10b3A6ICRhcnJvdy13aWR0aDtcXG5cXG5cXHRcXHQucG9wb3Zlcl9fYXJyb3cge1xcblxcdFxcdFxcdHRvcDogLSRhcnJvdy13aWR0aDtcXG5cXHRcXHRcXHRsZWZ0OiBjYWxjKDUwJSAtICRhcnJvdy13aWR0aCk7XFxuXFx0XFx0XFx0bWFyZ2luLXRvcDogMDtcXG5cXHRcXHRcXHRtYXJnaW4tYm90dG9tOiAwO1xcblxcdFxcdFxcdGJvcmRlci13aWR0aDogMCAkYXJyb3ctd2lkdGggJGFycm93LXdpZHRoICRhcnJvdy13aWR0aDtcXG5cXHRcXHRcXHRib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcblxcdFxcdFxcdGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG5cXHRcXHRcXHRib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdCZbeC1wbGFjZW1lbnRePSdyaWdodCddIHtcXG5cXHRcXHRtYXJnaW4tbGVmdDogJGFycm93LXdpZHRoO1xcblxcblxcdFxcdC5wb3BvdmVyX19hcnJvdyB7XFxuXFx0XFx0XFx0dG9wOiBjYWxjKDUwJSAtICRhcnJvdy13aWR0aCk7XFxuXFx0XFx0XFx0bGVmdDogLSRhcnJvdy13aWR0aDtcXG5cXHRcXHRcXHRtYXJnaW4tcmlnaHQ6IDA7XFxuXFx0XFx0XFx0bWFyZ2luLWxlZnQ6IDA7XFxuXFx0XFx0XFx0Ym9yZGVyLXdpZHRoOiAkYXJyb3ctd2lkdGggJGFycm93LXdpZHRoICRhcnJvdy13aWR0aCAwO1xcblxcdFxcdFxcdGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxuXFx0XFx0XFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG5cXHRcXHRcXHRib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdCZbeC1wbGFjZW1lbnRePSdsZWZ0J10ge1xcblxcdFxcdG1hcmdpbi1yaWdodDogJGFycm93LXdpZHRoO1xcblxcblxcdFxcdC5wb3BvdmVyX19hcnJvdyB7XFxuXFx0XFx0XFx0dG9wOiBjYWxjKDUwJSAtICRhcnJvdy13aWR0aCk7XFxuXFx0XFx0XFx0cmlnaHQ6IC0kYXJyb3ctd2lkdGg7XFxuXFx0XFx0XFx0bWFyZ2luLXJpZ2h0OiAwO1xcblxcdFxcdFxcdG1hcmdpbi1sZWZ0OiAwO1xcblxcdFxcdFxcdGJvcmRlci13aWR0aDogJGFycm93LXdpZHRoIDAgJGFycm93LXdpZHRoICRhcnJvdy13aWR0aDtcXG5cXHRcXHRcXHRib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcblxcdFxcdFxcdGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG5cXHRcXHRcXHRib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0JlthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcXG5cXHRcXHR2aXNpYmlsaXR5OiBoaWRkZW47XFxuXFx0XFx0dHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1hbmltYXRpb24tcXVpY2spLCB2aXNpYmlsaXR5IHZhcigtLWFuaW1hdGlvbi1xdWljayk7XFxuXFx0XFx0b3BhY2l0eTogMDtcXG5cXHR9XFxuXFxuXFx0JlthcmlhLWhpZGRlbj0nZmFsc2UnXSB7XFxuXFx0XFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcXG5cXHRcXHR0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbi1xdWljayk7XFxuXFx0XFx0b3BhY2l0eTogMTtcXG5cXHR9XFxufVxcblxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbnVsW2RhdGEtdi0wYTBlYjcxOV0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL1BvcG92ZXJNZW51LnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUFxQ0Y7RUFDQyxhQUFhO0VBQ2Isc0JBQXNCO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbnVsIHtcXG5cXHRkaXNwbGF5OiBmbGV4O1xcblxcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxufVxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbmxpW2RhdGEtdi01MTJlYTc2OF0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXg6IDAgMCBhdXRvO1xcbiAgLyogY3NzIGhhY2ssIG9ubHkgZmlyc3Qgbm90IGhpZGRlbiAqL1xcbn1cXG5saS5oaWRkZW5bZGF0YS12LTUxMmVhNzY4XSB7XFxuICAgIGRpc3BsYXk6IG5vbmU7XFxufVxcbmxpID4gYnV0dG9uW2RhdGEtdi01MTJlYTc2OF0sXFxuICBsaSA+IGFbZGF0YS12LTUxMmVhNzY4XSxcXG4gIGxpID4gLm1lbnVpdGVtW2RhdGEtdi01MTJlYTc2OF0ge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG4gICAgaGVpZ2h0OiBhdXRvO1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgb3BhY2l0eTogMC43O1xcbiAgICAvKiBwcmV2ZW50IC5hY3Rpb24gY2xhc3MgdG8gYnJlYWsgdGhlIGRlc2lnbiAqL1xcbiAgICAvKiBBZGQgcGFkZGluZyBpZiBjb250YWlucyBpY29uK3RleHQgKi9cXG4gICAgLyogREVQUkVDQVRFRCEgb2xkIGltZyBpbiBwb3BvdmVyIGZhbGxiYWNrXFxuXFx0XFx0XFx0KiBUT0RPOiB0byByZW1vdmUgKi9cXG4gICAgLyogY2hlY2tib3gvcmFkaW8gZml4ZXMgKi9cXG4gICAgLyogbm8gbWFyZ2luIGlmIGhpZGRlbiBzcGFuIGJlZm9yZSAqL1xcbiAgICAvKiBJbnB1dHMgaW5zaWRlIHBvcG92ZXIgc3VwcG9ydHMgdGV4dCwgc3VibWl0ICYgcmVzZXQgKi9cXG59XFxubGkgPiBidXR0b24gc3BhbltjbGFzc149J2ljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBidXR0b24gc3BhbltjbGFzcyo9JyBpY29uLSddW2RhdGEtdi01MTJlYTc2OF0sIGxpID4gYnV0dG9uW2NsYXNzXj0naWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdLCBsaSA+IGJ1dHRvbltjbGFzcyo9JyBpY29uLSddW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYSBzcGFuW2NsYXNzXj0naWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGEgc3BhbltjbGFzcyo9JyBpY29uLSddW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYVtjbGFzc149J2ljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBhW2NsYXNzKj0nIGljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiAubWVudWl0ZW0gc3BhbltjbGFzc149J2ljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiAubWVudWl0ZW0gc3BhbltjbGFzcyo9JyBpY29uLSddW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gLm1lbnVpdGVtW2NsYXNzXj0naWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbVtjbGFzcyo9JyBpY29uLSddW2RhdGEtdi01MTJlYTc2OF0ge1xcbiAgICAgIG1pbi13aWR0aDogMDtcXG4gICAgICAvKiBPdmVyd3JpdGUgaWNvbnMqL1xcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XFxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTRweCBjZW50ZXI7XFxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xcbn1cXG5saSA+IGJ1dHRvbiBzcGFuW2NsYXNzXj0naWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGJ1dHRvbiBzcGFuW2NsYXNzKj0nIGljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBhIHNwYW5bY2xhc3NePSdpY29uLSddW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYSBzcGFuW2NsYXNzKj0nIGljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiAubWVudWl0ZW0gc3BhbltjbGFzc149J2ljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiAubWVudWl0ZW0gc3BhbltjbGFzcyo9JyBpY29uLSddW2RhdGEtdi01MTJlYTc2OF0ge1xcbiAgICAgIC8qIEtlZXAgcGFkZGluZyB0byBkZWZpbmUgdGhlIHdpZHRoIHRvXFxuXFx0XFx0XFx0XFx0YXNzdXJlIGNvcnJlY3QgcG9zaXRpb24gb2YgYSBwb3NzaWJsZSB0ZXh0ICovXFxuICAgICAgcGFkZGluZzogMjJweCAwIDIycHggNDRweDtcXG59XFxubGkgPiBidXR0b246bm90KFtjbGFzc149J2ljb24tJ10pOm5vdChbY2xhc3MqPSdpY29uLSddKSA+IHNwYW5bZGF0YS12LTUxMmVhNzY4XTpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pOmZpcnN0LWNoaWxkLFxcbiAgICBsaSA+IGJ1dHRvbjpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pID4gaW5wdXRbZGF0YS12LTUxMmVhNzY4XTpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pOmZpcnN0LWNoaWxkLFxcbiAgICBsaSA+IGJ1dHRvbjpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pID4gZm9ybVtkYXRhLXYtNTEyZWE3NjhdOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSk6Zmlyc3QtY2hpbGQsXFxuICAgIGxpID4gYTpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pID4gc3BhbltkYXRhLXYtNTEyZWE3NjhdOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSk6Zmlyc3QtY2hpbGQsXFxuICAgIGxpID4gYTpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pID4gaW5wdXRbZGF0YS12LTUxMmVhNzY4XTpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pOmZpcnN0LWNoaWxkLFxcbiAgICBsaSA+IGE6bm90KFtjbGFzc149J2ljb24tJ10pOm5vdChbY2xhc3MqPSdpY29uLSddKSA+IGZvcm1bZGF0YS12LTUxMmVhNzY4XTpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pOmZpcnN0LWNoaWxkLFxcbiAgICBsaSA+IC5tZW51aXRlbTpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pID4gc3BhbltkYXRhLXYtNTEyZWE3NjhdOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSk6Zmlyc3QtY2hpbGQsXFxuICAgIGxpID4gLm1lbnVpdGVtOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSkgPiBpbnB1dFtkYXRhLXYtNTEyZWE3NjhdOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSk6Zmlyc3QtY2hpbGQsXFxuICAgIGxpID4gLm1lbnVpdGVtOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSkgPiBmb3JtW2RhdGEtdi01MTJlYTc2OF06bm90KFtjbGFzc149J2ljb24tJ10pOm5vdChbY2xhc3MqPSdpY29uLSddKTpmaXJzdC1jaGlsZCB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDQ0cHg7XFxufVxcbmxpID4gYnV0dG9uW2NsYXNzXj0naWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdLCBsaSA+IGJ1dHRvbltjbGFzcyo9JyBpY29uLSddW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYVtjbGFzc149J2ljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBhW2NsYXNzKj0nIGljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiAubWVudWl0ZW1bY2xhc3NePSdpY29uLSddW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gLm1lbnVpdGVtW2NsYXNzKj0nIGljb24tJ11bZGF0YS12LTUxMmVhNzY4XSB7XFxuICAgICAgcGFkZGluZzogMCAxNHB4IDAgNDRweDtcXG59XFxubGkgPiBidXR0b25bZGF0YS12LTUxMmVhNzY4XTpub3QoOmRpc2FibGVkKTpob3ZlciwgbGkgPiBidXR0b25bZGF0YS12LTUxMmVhNzY4XTpub3QoOmRpc2FibGVkKTpmb2N1cywgbGkgPiBidXR0b246bm90KDpkaXNhYmxlZCkuYWN0aXZlW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYVtkYXRhLXYtNTEyZWE3NjhdOm5vdCg6ZGlzYWJsZWQpOmhvdmVyLFxcbiAgICBsaSA+IGFbZGF0YS12LTUxMmVhNzY4XTpub3QoOmRpc2FibGVkKTpmb2N1cyxcXG4gICAgbGkgPiBhOm5vdCg6ZGlzYWJsZWQpLmFjdGl2ZVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbVtkYXRhLXYtNTEyZWE3NjhdOm5vdCg6ZGlzYWJsZWQpOmhvdmVyLFxcbiAgICBsaSA+IC5tZW51aXRlbVtkYXRhLXYtNTEyZWE3NjhdOm5vdCg6ZGlzYWJsZWQpOmZvY3VzLFxcbiAgICBsaSA+IC5tZW51aXRlbTpub3QoOmRpc2FibGVkKS5hY3RpdmVbZGF0YS12LTUxMmVhNzY4XSB7XFxuICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xcbn1cXG5saSA+IGJ1dHRvbi5hY3Rpb25bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBhLmFjdGlvbltkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbS5hY3Rpb25bZGF0YS12LTUxMmVhNzY4XSB7XFxuICAgICAgcGFkZGluZzogaW5oZXJpdCAhaW1wb3J0YW50O1xcbn1cXG5saSA+IGJ1dHRvbiA+IHNwYW5bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBhID4gc3BhbltkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbSA+IHNwYW5bZGF0YS12LTUxMmVhNzY4XSB7XFxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxufVxcbmxpID4gYnV0dG9uID4gcFtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGEgPiBwW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gLm1lbnVpdGVtID4gcFtkYXRhLXYtNTEyZWE3NjhdIHtcXG4gICAgICB3aWR0aDogMTUwcHg7XFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xcbiAgICAgIHBhZGRpbmc6IDhweCAwO1xcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XFxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG59XFxubGkgPiBidXR0b24gPiBzZWxlY3RbZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBhID4gc2VsZWN0W2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gLm1lbnVpdGVtID4gc2VsZWN0W2RhdGEtdi01MTJlYTc2OF0ge1xcbiAgICAgIG1hcmdpbjogMDtcXG4gICAgICBtYXJnaW4tbGVmdDogNnB4O1xcbn1cXG5saSA+IGJ1dHRvbltkYXRhLXYtNTEyZWE3NjhdOm5vdCg6ZW1wdHkpLFxcbiAgICBsaSA+IGFbZGF0YS12LTUxMmVhNzY4XTpub3QoOmVtcHR5KSxcXG4gICAgbGkgPiAubWVudWl0ZW1bZGF0YS12LTUxMmVhNzY4XTpub3QoOmVtcHR5KSB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMTRweCAhaW1wb3J0YW50O1xcbn1cXG5saSA+IGJ1dHRvbiA+IGltZ1tkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGEgPiBpbWdbZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiAubWVudWl0ZW0gPiBpbWdbZGF0YS12LTUxMmVhNzY4XSB7XFxuICAgICAgd2lkdGg6IDE2cHg7XFxuICAgICAgcGFkZGluZzogMTRweDtcXG59XFxubGkgPiBidXR0b24gPiBpbnB1dC5yYWRpbyArIGxhYmVsW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYnV0dG9uID4gaW5wdXQuY2hlY2tib3ggKyBsYWJlbFtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGEgPiBpbnB1dC5yYWRpbyArIGxhYmVsW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYSA+IGlucHV0LmNoZWNrYm94ICsgbGFiZWxbZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiAubWVudWl0ZW0gPiBpbnB1dC5yYWRpbyArIGxhYmVsW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gLm1lbnVpdGVtID4gaW5wdXQuY2hlY2tib3ggKyBsYWJlbFtkYXRhLXYtNTEyZWE3NjhdIHtcXG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxufVxcbmxpID4gYnV0dG9uID4gaW5wdXQuY2hlY2tib3ggKyBsYWJlbFtkYXRhLXYtNTEyZWE3NjhdOjpiZWZvcmUsXFxuICAgIGxpID4gYSA+IGlucHV0LmNoZWNrYm94ICsgbGFiZWxbZGF0YS12LTUxMmVhNzY4XTo6YmVmb3JlLFxcbiAgICBsaSA+IC5tZW51aXRlbSA+IGlucHV0LmNoZWNrYm94ICsgbGFiZWxbZGF0YS12LTUxMmVhNzY4XTo6YmVmb3JlIHtcXG4gICAgICBtYXJnaW46IC0ycHggMTNweCAwO1xcbn1cXG5saSA+IGJ1dHRvbiA+IGlucHV0LnJhZGlvICsgbGFiZWxbZGF0YS12LTUxMmVhNzY4XTo6YmVmb3JlLFxcbiAgICBsaSA+IGEgPiBpbnB1dC5yYWRpbyArIGxhYmVsW2RhdGEtdi01MTJlYTc2OF06OmJlZm9yZSxcXG4gICAgbGkgPiAubWVudWl0ZW0gPiBpbnB1dC5yYWRpbyArIGxhYmVsW2RhdGEtdi01MTJlYTc2OF06OmJlZm9yZSB7XFxuICAgICAgbWFyZ2luOiAtMnB4IDEycHggMDtcXG59XFxubGkgPiBidXR0b24gPiBpbnB1dFtkYXRhLXYtNTEyZWE3NjhdOm5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1pbWFnZV0pLFxcbiAgICBsaSA+IGEgPiBpbnB1dFtkYXRhLXYtNTEyZWE3NjhdOm5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1pbWFnZV0pLFxcbiAgICBsaSA+IC5tZW51aXRlbSA+IGlucHV0W2RhdGEtdi01MTJlYTc2OF06bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPWltYWdlXSkge1xcbiAgICAgIHdpZHRoOiAxNTBweDtcXG59XFxubGkgPiBidXR0b24gZm9ybVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGEgZm9ybVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbSBmb3JtW2RhdGEtdi01MTJlYTc2OF0ge1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgZmxleDogMSAxIGF1dG87XFxuICAgICAgLyogcHV0IGEgc21hbGwgc3BhY2UgYmV0d2VlbiB0ZXh0IGFuZCBmb3JtXFxuXFx0XFx0XFx0XFx0aWYgdGhlcmUgaXMgYW4gZWxlbWVudCBiZWZvcmUgKi9cXG59XFxubGkgPiBidXR0b24gZm9ybVtkYXRhLXYtNTEyZWE3NjhdOm5vdCg6Zmlyc3QtY2hpbGQpLFxcbiAgICAgIGxpID4gYSBmb3JtW2RhdGEtdi01MTJlYTc2OF06bm90KDpmaXJzdC1jaGlsZCksXFxuICAgICAgbGkgPiAubWVudWl0ZW0gZm9ybVtkYXRhLXYtNTEyZWE3NjhdOm5vdCg6Zmlyc3QtY2hpbGQpIHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxufVxcbmxpID4gYnV0dG9uID4gc3Bhbi5oaWRkZW4gKyBmb3JtW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYnV0dG9uID4gc3BhbltzdHlsZSo9J2Rpc3BsYXk6bm9uZSddICsgZm9ybVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGEgPiBzcGFuLmhpZGRlbiArIGZvcm1bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBhID4gc3BhbltzdHlsZSo9J2Rpc3BsYXk6bm9uZSddICsgZm9ybVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbSA+IHNwYW4uaGlkZGVuICsgZm9ybVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbSA+IHNwYW5bc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSArIGZvcm1bZGF0YS12LTUxMmVhNzY4XSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxufVxcbmxpID4gYnV0dG9uIGlucHV0W2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYSBpbnB1dFtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbSBpbnB1dFtkYXRhLXYtNTEyZWE3NjhdIHtcXG4gICAgICBtaW4td2lkdGg6IDQ0cHg7XFxuICAgICAgbWF4LWhlaWdodDogNDBweDtcXG4gICAgICAvKiB0d2ljZSB0aGUgZWxlbWVudCBtYXJnaW4teSAqL1xcbiAgICAgIG1hcmdpbjogMnB4IDA7XFxuICAgICAgZmxleDogMSAxIGF1dG87XFxufVxcbmxpID4gYnV0dG9uIGlucHV0W2RhdGEtdi01MTJlYTc2OF06bm90KDpmaXJzdC1jaGlsZCksXFxuICAgICAgbGkgPiBhIGlucHV0W2RhdGEtdi01MTJlYTc2OF06bm90KDpmaXJzdC1jaGlsZCksXFxuICAgICAgbGkgPiAubWVudWl0ZW0gaW5wdXRbZGF0YS12LTUxMmVhNzY4XTpub3QoOmZpcnN0LWNoaWxkKSB7XFxuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xcbn1cXG5saTpub3QoLmhpZGRlbik6bm90KFtzdHlsZSo9J2Rpc3BsYXk6bm9uZSddKTpmaXJzdC1vZi10eXBlID4gYnV0dG9uID4gZm9ybVtkYXRhLXYtNTEyZWE3NjhdLCBsaTpub3QoLmhpZGRlbik6bm90KFtzdHlsZSo9J2Rpc3BsYXk6bm9uZSddKTpmaXJzdC1vZi10eXBlID4gYnV0dG9uID4gaW5wdXRbZGF0YS12LTUxMmVhNzY4XSwgbGk6bm90KC5oaWRkZW4pOm5vdChbc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSk6Zmlyc3Qtb2YtdHlwZSA+IGEgPiBmb3JtW2RhdGEtdi01MTJlYTc2OF0sIGxpOm5vdCguaGlkZGVuKTpub3QoW3N0eWxlKj0nZGlzcGxheTpub25lJ10pOmZpcnN0LW9mLXR5cGUgPiBhID4gaW5wdXRbZGF0YS12LTUxMmVhNzY4XSwgbGk6bm90KC5oaWRkZW4pOm5vdChbc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSk6Zmlyc3Qtb2YtdHlwZSA+IC5tZW51aXRlbSA+IGZvcm1bZGF0YS12LTUxMmVhNzY4XSwgbGk6bm90KC5oaWRkZW4pOm5vdChbc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSk6Zmlyc3Qtb2YtdHlwZSA+IC5tZW51aXRlbSA+IGlucHV0W2RhdGEtdi01MTJlYTc2OF0ge1xcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xcbn1cXG5saTpub3QoLmhpZGRlbik6bm90KFtzdHlsZSo9J2Rpc3BsYXk6bm9uZSddKTpsYXN0LW9mLXR5cGUgPiBidXR0b24gPiBmb3JtW2RhdGEtdi01MTJlYTc2OF0sIGxpOm5vdCguaGlkZGVuKTpub3QoW3N0eWxlKj0nZGlzcGxheTpub25lJ10pOmxhc3Qtb2YtdHlwZSA+IGJ1dHRvbiA+IGlucHV0W2RhdGEtdi01MTJlYTc2OF0sIGxpOm5vdCguaGlkZGVuKTpub3QoW3N0eWxlKj0nZGlzcGxheTpub25lJ10pOmxhc3Qtb2YtdHlwZSA+IGEgPiBmb3JtW2RhdGEtdi01MTJlYTc2OF0sIGxpOm5vdCguaGlkZGVuKTpub3QoW3N0eWxlKj0nZGlzcGxheTpub25lJ10pOmxhc3Qtb2YtdHlwZSA+IGEgPiBpbnB1dFtkYXRhLXYtNTEyZWE3NjhdLCBsaTpub3QoLmhpZGRlbik6bm90KFtzdHlsZSo9J2Rpc3BsYXk6bm9uZSddKTpsYXN0LW9mLXR5cGUgPiAubWVudWl0ZW0gPiBmb3JtW2RhdGEtdi01MTJlYTc2OF0sIGxpOm5vdCguaGlkZGVuKTpub3QoW3N0eWxlKj0nZGlzcGxheTpub25lJ10pOmxhc3Qtb2YtdHlwZSA+IC5tZW51aXRlbSA+IGlucHV0W2RhdGEtdi01MTJlYTc2OF0ge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xcbn1cXG5saSA+IGJ1dHRvbltkYXRhLXYtNTEyZWE3NjhdIHtcXG4gICAgcGFkZGluZzogMDtcXG59XFxubGkgPiBidXR0b24gc3BhbltkYXRhLXYtNTEyZWE3NjhdIHtcXG4gICAgICBvcGFjaXR5OiAxO1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9Qb3BvdmVyTWVudUl0ZW0udnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBQXVMRjtFQUNDLGFBQWE7RUFDYixjQUFjO0VBdUpkLG9DQUFBO0FBQXFDO0FBekp0QztJQUtFLGFBQWE7QUFBQTtBQUxmOzs7SUFXRSxlQUFlO0lBQ2YsaUJDL0xtQjtJRGdNbkIsU0FBUztJQUNULGdCQUFnQjtJQUNoQiw2QkFBNkI7SUFDN0IsYUFBYTtJQUNiLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osU0FBUztJQUNULFVBQVU7SUFDVixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLFlDM0xpQjtJRHFPakIsOENBQUE7SUE0QkEsc0NBQUE7SUFLQTtzQkEvUG9CO0lBc1FwQix5QkFBQTtJQTBCQSxvQ0FBQTtJQUtBLHdEQUFBO0FBQXlEO0FBM0kzRDs7Ozs7Ozs7OztNQWlDRyxZQUFZO01BQUUsbUJBQUE7TUFDZCxhQUFhO01BQ2IsZ0NBQTJDO01BQzNDLHFCQ25OYTtBQUFBO0FEK0toQjs7Ozs7O01BeUNHO2dEQXpLNkM7TUEySzdDLHlCQzlOa0I7QUFBQTtBRG1MckI7Ozs7Ozs7OztNQW9ESyxpQkN2T2dCO0FBQUE7QURtTHJCOzs7OztNQTJERyxzQkM5T2tCO0FBQUE7QURtTHJCOzs7Ozs7O01BaUVHLHFCQUFpQztBQUFBO0FBakVwQzs7O01Bc0VHLDJCQUEyQjtBQUFBO0FBdEU5Qjs7O01BMEVHLGVBQWU7TUFDZixtQkFBbUI7QUFBQTtBQTNFdEI7OztNQWdGRyxZQUFZO01BQ1osa0JBQWtCO01BQ2xCLGNBQWM7TUFDZCxtQkFBbUI7TUFHbkIsZ0JBQWdCO01BQ2hCLHVCQUF1QjtBQUFBO0FBdkYxQjs7O01BNEZHLFNBQVM7TUFDVCxnQkFBZ0I7QUFBQTtBQTdGbkI7OztNQWtHRyw4QkFBc0M7QUFBQTtBQWxHekM7OztNQXdHRyxXQ3ZSYTtNRHdSYixhQ3BSNkM7QUFBQTtBRDJLaEQ7Ozs7OztNQStHRyxxQkFBcUI7TUFDckIsV0FBVztBQUFBO0FBaEhkOzs7TUFtSEcsbUJBQW1CO0FBQUE7QUFuSHRCOzs7TUFzSEcsbUJBQW1CO0FBQUE7QUF0SHRCOzs7TUF5SEcsWUFBWTtBQUFBO0FBekhmOzs7TUE4SEcsYUFBYTtNQUNiLGNBQWM7TUFDZDttQ0E1S2dDO0FBNktDO0FBaklwQzs7O1FBbUlJLGdCQUFnQjtBQUFBO0FBbklwQjs7Ozs7O01BeUlHLGNBQWM7QUFBQTtBQXpJakI7OztNQTZJRyxlQ2hVa0I7TURpVWxCLGdCQUFZO01BQTBCLCtCQUFBO01BQ3RDLGFBQWE7TUFDYixjQUFjO0FBQUE7QUFoSmpCOzs7UUFtSkksZ0JBQWdCO0FBQUE7QUFuSnBCO0lBOEpLLGdCQUE4QjtBQUFBO0FBOUpuQztJQXFLSyxtQkFBaUM7QUFBQTtBQXJLdEM7SUEyS0UsVUFBVTtBQUFBO0FBM0taO01BNktHLFVDN1VhO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbmxpIHtcXG5cXHRkaXNwbGF5OiBmbGV4O1xcblxcdGZsZXg6IDAgMCBhdXRvO1xcblxcblxcdCYuaGlkZGVuIHtcXG5cXHRcXHRkaXNwbGF5OiBub25lO1xcblxcdH1cXG5cXG5cXHQ+IGJ1dHRvbixcXG5cXHQ+IGEsXFxuXFx0PiAubWVudWl0ZW0ge1xcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRsaW5lLWhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdGJvcmRlcjogMDtcXG5cXHRcXHRib3JkZXItcmFkaXVzOiAwOyAvLyBvdGhlcndpc2UgU2FmYXJpIHdpbGwgY3V0IHRoZSBib3JkZXItcmFkaXVzIGFyZWFcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcblxcdFxcdGhlaWdodDogYXV0bztcXG5cXHRcXHRtYXJnaW46IDA7XFxuXFx0XFx0cGFkZGluZzogMDtcXG5cXHRcXHRmb250LXdlaWdodDogbm9ybWFsO1xcblxcdFxcdGJveC1zaGFkb3c6IG5vbmU7XFxuXFx0XFx0d2lkdGg6IDEwMCU7XFxuXFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuXFx0XFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFxuXFx0XFx0Ly8gVE9ETyBzcGxpdCBpbnRvIGluZGl2aWR1YWwgY29tcG9uZW50cyBmb3IgcmVhZGFiaWxpdHlcXG5cXHRcXHRzcGFuW2NsYXNzXj0naWNvbi0nXSxcXG5cXHRcXHRzcGFuW2NsYXNzKj0nIGljb24tJ10sXFxuXFx0XFx0JltjbGFzc149J2ljb24tJ10sXFxuXFx0XFx0JltjbGFzcyo9JyBpY29uLSddIHtcXG5cXHRcXHRcXHRtaW4td2lkdGg6IDA7IC8qIE92ZXJ3cml0ZSBpY29ucyovXFxuXFx0XFx0XFx0bWluLWhlaWdodDogMDtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAjeyRpY29uLW1hcmdpbn0gY2VudGVyO1xcblxcdFxcdFxcdGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0c3BhbltjbGFzc149J2ljb24tJ10sXFxuXFx0XFx0c3BhbltjbGFzcyo9JyBpY29uLSddIHtcXG5cXHRcXHRcXHQvKiBLZWVwIHBhZGRpbmcgdG8gZGVmaW5lIHRoZSB3aWR0aCB0b1xcblxcdFxcdFxcdFxcdGFzc3VyZSBjb3JyZWN0IHBvc2l0aW9uIG9mIGEgcG9zc2libGUgdGV4dCAqL1xcblxcdFxcdFxcdHBhZGRpbmc6ICN7JGNsaWNrYWJsZS1hcmVhIC8gMn0gMCAjeyRjbGlja2FibGUtYXJlYSAvIDJ9ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ly8gSWYgbm8gaWNvbnMgc2V0LCBmb3JjZSBsZWZ0IG1hcmdpbiB0byBhbGlnblxcblxcdFxcdCY6bm90KFtjbGFzc149J2ljb24tJ10pOm5vdChbY2xhc3MqPSdpY29uLSddKSB7XFxuXFx0XFx0XFx0PiBzcGFuLFxcblxcdFxcdFxcdD4gaW5wdXQsXFxuXFx0XFx0XFx0PiBmb3JtIHtcXG5cXHRcXHRcXHRcXHQmOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSk6Zmlyc3QtY2hpbGQge1xcblxcdFxcdFxcdFxcdFxcdG1hcmdpbi1sZWZ0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFxuXFx0XFx0JltjbGFzc149J2ljb24tJ10sXFxuXFx0XFx0JltjbGFzcyo9JyBpY29uLSddIHtcXG5cXHRcXHRcXHRwYWRkaW5nOiAwICRpY29uLW1hcmdpbiAwICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Jjpub3QoOmRpc2FibGVkKTpob3ZlcixcXG5cXHRcXHQmOm5vdCg6ZGlzYWJsZWQpOmZvY3VzLFxcblxcdFxcdCY6bm90KDpkaXNhYmxlZCkuYWN0aXZlIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsICFpbXBvcnRhbnQ7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8qIHByZXZlbnQgLmFjdGlvbiBjbGFzcyB0byBicmVhayB0aGUgZGVzaWduICovXFxuXFx0XFx0Ji5hY3Rpb24ge1xcblxcdFxcdFxcdHBhZGRpbmc6IGluaGVyaXQgIWltcG9ydGFudDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0PiBzcGFuIHtcXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ly8gbG9uZyB0ZXh0IGFyZWFcXG5cXHRcXHQ+IHAge1xcblxcdFxcdFxcdHdpZHRoOiAxNTBweDtcXG5cXHRcXHRcXHRsaW5lLWhlaWdodDogMS42ZW07XFxuXFx0XFx0XFx0cGFkZGluZzogOHB4IDA7XFxuXFx0XFx0XFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcXG5cXG5cXHRcXHRcXHQvLyBpbiBjYXNlIHRoZXJlIGFyZSBubyBzcGFjZXMgbGlrZSBsb25nIGVtYWlsIGFkZHJlc3Nlc1xcblxcdFxcdFxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0XFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIFRPRE86IGRvIHdlIHJlYWxseSBzdXBwb3J0cyBpdD9cXG5cXHRcXHQ+IHNlbGVjdCB7XFxuXFx0XFx0XFx0bWFyZ2luOiAwO1xcblxcdFxcdFxcdG1hcmdpbi1sZWZ0OiA2cHg7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8qIEFkZCBwYWRkaW5nIGlmIGNvbnRhaW5zIGljb24rdGV4dCAqL1xcblxcdFxcdCY6bm90KDplbXB0eSkge1xcblxcdFxcdFxcdHBhZGRpbmctcmlnaHQ6ICRpY29uLW1hcmdpbiAhaW1wb3J0YW50O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvKiBERVBSRUNBVEVEISBvbGQgaW1nIGluIHBvcG92ZXIgZmFsbGJhY2tcXG5cXHRcXHRcXHQqIFRPRE86IHRvIHJlbW92ZSAqL1xcblxcdFxcdD4gaW1nIHtcXG5cXHRcXHRcXHR3aWR0aDogJGljb24tc2l6ZTtcXG5cXHRcXHRcXHRwYWRkaW5nOiAkaWNvbi1tYXJnaW47XFxuXFx0XFx0fVxcblxcblxcdFxcdC8qIGNoZWNrYm94L3JhZGlvIGZpeGVzICovXFxuXFx0XFx0PiBpbnB1dC5yYWRpbyArIGxhYmVsLFxcblxcdFxcdD4gaW5wdXQuY2hlY2tib3ggKyBsYWJlbCB7XFxuXFx0XFx0XFx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xcblxcdFxcdFxcdHdpZHRoOiAxMDAlO1xcblxcdFxcdH1cXG5cXHRcXHQ+IGlucHV0LmNoZWNrYm94ICsgbGFiZWw6OmJlZm9yZSB7XFxuXFx0XFx0XFx0bWFyZ2luOiAtMnB4IDEzcHggMDtcXG5cXHRcXHR9XFxuXFx0XFx0PiBpbnB1dC5yYWRpbyArIGxhYmVsOjpiZWZvcmUge1xcblxcdFxcdFxcdG1hcmdpbjogLTJweCAxMnB4IDA7XFxuXFx0XFx0fVxcblxcdFxcdD4gaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPWltYWdlXSkge1xcblxcdFxcdFxcdHdpZHRoOiAxNTBweDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ly8gRm9ybXMgJiB0ZXh0IGlucHV0c1xcblxcdFxcdGZvcm0ge1xcblxcdFxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0XFx0ZmxleDogMSAxIGF1dG87XFxuXFx0XFx0XFx0LyogcHV0IGEgc21hbGwgc3BhY2UgYmV0d2VlbiB0ZXh0IGFuZCBmb3JtXFxuXFx0XFx0XFx0XFx0aWYgdGhlcmUgaXMgYW4gZWxlbWVudCBiZWZvcmUgKi9cXG5cXHRcXHRcXHQmOm5vdCg6Zmlyc3QtY2hpbGQpICB7XFxuXFx0XFx0XFx0XFx0bWFyZ2luLWxlZnQ6IDVweDtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdFxcdC8qIG5vIG1hcmdpbiBpZiBoaWRkZW4gc3BhbiBiZWZvcmUgKi9cXG5cXHRcXHQ+IHNwYW4uaGlkZGVuICsgZm9ybSxcXG5cXHRcXHQ+IHNwYW5bc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSArIGZvcm0ge1xcblxcdFxcdFxcdG1hcmdpbi1sZWZ0OiAwO1xcblxcdFxcdH1cXG5cXHRcXHQvKiBJbnB1dHMgaW5zaWRlIHBvcG92ZXIgc3VwcG9ydHMgdGV4dCwgc3VibWl0ICYgcmVzZXQgKi9cXG5cXHRcXHRpbnB1dCB7XFxuXFx0XFx0XFx0bWluLXdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0bWF4LWhlaWdodDogI3skY2xpY2thYmxlLWFyZWEgLSA0cHh9OyAvKiB0d2ljZSB0aGUgZWxlbWVudCBtYXJnaW4teSAqL1xcblxcdFxcdFxcdG1hcmdpbjogMnB4IDA7XFxuXFx0XFx0XFx0ZmxleDogMSAxIGF1dG87XFxuXFx0XFx0XFx0Ly8gc3BhY2UgYmV0d2VlbiBpbmxpbmUgaW5wdXRzXFxuXFx0XFx0XFx0Jjpub3QoOmZpcnN0LWNoaWxkKSB7XFxuXFx0XFx0XFx0XFx0bWFyZ2luLWxlZnQ6IDVweDtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQvLyBUT0RPOiBkbyB0aGF0IGluIGpzLCBzaG91bGQgYmUgY2xlYW5lclxcblxcdC8qIGNzcyBoYWNrLCBvbmx5IGZpcnN0IG5vdCBoaWRkZW4gKi9cXG5cXHQmOm5vdCguaGlkZGVuKTpub3QoW3N0eWxlKj0nZGlzcGxheTpub25lJ10pIHtcXG5cXHRcXHQmOmZpcnN0LW9mLXR5cGUge1xcblxcdFxcdFxcdD4gYnV0dG9uLCA+IGEsID4gLm1lbnVpdGVtIHtcXG5cXHRcXHRcXHRcXHQ+IGZvcm0sID4gaW5wdXQge1xcblxcdFxcdFxcdFxcdFxcdG1hcmdpbi10b3A6ICRpY29uLW1hcmdpbiAtIDJweDsgLy8gbWludXMgdGhlIGlucHV0IG1hcmdpblxcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdFxcdCY6bGFzdC1vZi10eXBlIHtcXG5cXHRcXHRcXHQ+IGJ1dHRvbiwgPiBhLCA+IC5tZW51aXRlbSB7XFxuXFx0XFx0XFx0XFx0PiBmb3JtLCA+IGlucHV0IHtcXG5cXHRcXHRcXHRcXHRcXHRtYXJnaW4tYm90dG9tOiAkaWNvbi1tYXJnaW4gLSAycHg7IC8vIG1pbnVzIHRoZSBpbnB1dCBtYXJnaW5cXG5cXHRcXHRcXHRcXHR9XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXHR9XFxuXFx0PiBidXR0b24ge1xcblxcdFxcdHBhZGRpbmc6IDA7XFxuXFx0XFx0c3BhbiB7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9nZXRVcmwuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMF9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYuZW90XCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzFfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmZcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2Z1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8xX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMl9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzJfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8zX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gIHNyYzogdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyArIFwiKTtcXG4gIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cXG4gIHNyYzogdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyArIFwiKSBmb3JtYXQoXFxcImVtYmVkZGVkLW9wZW50eXBlXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gKyBcIikgZm9ybWF0KFxcXCJ3b2ZmXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzJfX18gKyBcIikgZm9ybWF0KFxcXCJ0cnVldHlwZVxcXCIpLCB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8zX19fICsgXCIpIGZvcm1hdChcXFwic3ZnXFxcIik7XFxuICAvKiBMZWdhY3kgaU9TICovXFxufVxcbi5pY29uW2RhdGEtdi02Y2I1OGFmYV0ge1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG59XFxuLmljb24uYXJyb3ctbGVmdC1kb3VibGVbZGF0YS12LTZjYjU4YWZhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ogVxcXCI7XFxufVxcbi5pY29uLmFycm93LWxlZnRbZGF0YS12LTZjYjU4YWZhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oglxcXCI7XFxufVxcbi5pY29uLmFycm93LXJpZ2h0LWRvdWJsZVtkYXRhLXYtNmNiNThhZmFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiDXFxcIjtcXG59XFxuLmljb24uYXJyb3ctcmlnaHRbZGF0YS12LTZjYjU4YWZhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ohFxcXCI7XFxufVxcbi5pY29uLmJyZWFkY3J1bWJbZGF0YS12LTZjYjU4YWZhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ohVxcXCI7XFxufVxcbi5pY29uLmNoZWNrbWFya1tkYXRhLXYtNmNiNThhZmFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiGXFxcIjtcXG59XFxuLmljb24uY2xvc2VbZGF0YS12LTZjYjU4YWZhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oh1xcXCI7XFxufVxcbi5pY29uLmNvbmZpcm1bZGF0YS12LTZjYjU4YWZhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oiFxcXCI7XFxufVxcbi5pY29uLmluZm9bZGF0YS12LTZjYjU4YWZhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oiVxcXCI7XFxufVxcbi5pY29uLm1lbnVbZGF0YS12LTZjYjU4YWZhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oilxcXCI7XFxufVxcbi5pY29uLm1vcmVbZGF0YS12LTZjYjU4YWZhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oi1xcXCI7XFxufVxcbi5pY29uLnBhdXNlW2RhdGEtdi02Y2I1OGFmYV06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIxcXFwiO1xcbn1cXG4uaWNvbi5wbGF5W2RhdGEtdi02Y2I1OGFmYV06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI1cXFwiO1xcbn1cXG4uaWNvbi50cmlhbmdsZS1zW2RhdGEtdi02Y2I1OGFmYV06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI5cXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1hd2F5W2RhdGEtdi02Y2I1OGFmYV06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI9cXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1kbmRbZGF0YS12LTZjYjU4YWZhXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6okFxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWludmlzaWJsZVtkYXRhLXYtNmNiNThhZmFdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiRXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtb25saW5lW2RhdGEtdi02Y2I1OGFmYV06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJJcXFwiO1xcbn1cXG4uYXV0b2NvbXBsZXRlLXJlc3VsdFtkYXRhLXYtNmNiNThhZmFdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBoZWlnaHQ6IDQ0cHg7XFxuICBwYWRkaW5nOiAxMHB4O1xcbn1cXG4uaGlnaGxpZ2h0IC5hdXRvY29tcGxldGUtcmVzdWx0W2RhdGEtdi02Y2I1OGFmYV0ge1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XFxufVxcbi5oaWdobGlnaHQgLmF1dG9jb21wbGV0ZS1yZXN1bHRbZGF0YS12LTZjYjU4YWZhXSwgLmhpZ2hsaWdodCAuYXV0b2NvbXBsZXRlLXJlc3VsdCAqW2RhdGEtdi02Y2I1OGFmYV0ge1xcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmF1dG9jb21wbGV0ZS1yZXN1bHRfX2ljb25bZGF0YS12LTZjYjU4YWZhXSB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgZmxleDogMCAwIDQ0cHg7XFxuICAgIHdpZHRoOiA0NHB4O1xcbiAgICBtaW4td2lkdGg6IDQ0cHg7XFxuICAgIGhlaWdodDogNDRweDtcXG4gICAgYm9yZGVyLXJhZGl1czogNDRweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrZXIpO1xcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XFxuICAgIGJhY2tncm91bmQtc2l6ZTogMjRweDtcXG59XFxuLmF1dG9jb21wbGV0ZS1yZXN1bHRfX2ljb24tLXdpdGgtYXZhdGFyW2RhdGEtdi02Y2I1OGFmYV0ge1xcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XFxufVxcbi5hdXRvY29tcGxldGUtcmVzdWx0X19zdGF0dXNbZGF0YS12LTZjYjU4YWZhXSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgcmlnaHQ6IC00cHg7XFxuICAgIGJvdHRvbTogLTRweDtcXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgd2lkdGg6IDE4cHg7XFxuICAgIGhlaWdodDogMThweDtcXG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcbiAgICBmb250LXNpemU6IHZhcigtLWRlZmF1bHQtZm9udC1zaXplKTtcXG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XFxufVxcbi5hdXRvY29tcGxldGUtcmVzdWx0X19zdGF0dXMtLW9ubGluZVtkYXRhLXYtNmNiNThhZmFdIHtcXG4gICAgICBjb2xvcjogIzQ5YjM4MjtcXG59XFxuLmF1dG9jb21wbGV0ZS1yZXN1bHRfX3N0YXR1cy0tb25saW5lW2RhdGEtdi02Y2I1OGFmYV06YmVmb3JlIHtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgIGNvbnRlbnQ6IFxcXCLuqJJcXFwiO1xcbn1cXG4uYXV0b2NvbXBsZXRlLXJlc3VsdF9fc3RhdHVzLS1kbmRbZGF0YS12LTZjYjU4YWZhXSB7XFxuICAgICAgY29sb3I6ICNlZDQ4NGM7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG59XFxuLmF1dG9jb21wbGV0ZS1yZXN1bHRfX3N0YXR1cy0tZG5kW2RhdGEtdi02Y2I1OGFmYV06YmVmb3JlIHtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgIGNvbnRlbnQ6IFxcXCLuqJBcXFwiO1xcbn1cXG4uYXV0b2NvbXBsZXRlLXJlc3VsdF9fc3RhdHVzLS1hd2F5W2RhdGEtdi02Y2I1OGFmYV0ge1xcbiAgICAgIGNvbG9yOiAjZjRhMzMxO1xcbn1cXG4uYXV0b2NvbXBsZXRlLXJlc3VsdF9fc3RhdHVzLS1hd2F5W2RhdGEtdi02Y2I1OGFmYV06YmVmb3JlIHtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgIGNvbnRlbnQ6IFxcXCLuqI9cXFwiO1xcbn1cXG4uYXV0b2NvbXBsZXRlLXJlc3VsdF9fc3RhdHVzLS1vZmZsaW5lW2RhdGEtdi02Y2I1OGFmYV0sIC5hdXRvY29tcGxldGUtcmVzdWx0X19zdGF0dXMtLWljb25bZGF0YS12LTZjYjU4YWZhXSB7XFxuICAgICAgYm9yZGVyOiBub25lO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG4uYXV0b2NvbXBsZXRlLXJlc3VsdF9fY29udGVudFtkYXRhLXYtNmNiNThhZmFdIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleDogMSAxIDEwMCU7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICBtaW4td2lkdGg6IDA7XFxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcXG59XFxuLmF1dG9jb21wbGV0ZS1yZXN1bHRfX3RpdGxlW2RhdGEtdi02Y2I1OGFmYV0sIC5hdXRvY29tcGxldGUtcmVzdWx0X19zdWJsaW5lW2RhdGEtdi02Y2I1OGFmYV0ge1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG59XFxuLmF1dG9jb21wbGV0ZS1yZXN1bHRfX3N1YmxpbmVbZGF0YS12LTZjYjU4YWZhXSB7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0ZXIpO1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9BdXRvQ29tcGxldGVSZXN1bHQudnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBRXNFQTtFQUNDLG1DQUFtQztFQUNuQyw0Q0FBdUM7RUFBRSxxQkFBQTtFQUN6QyxtUEFHbUQ7RUFBRSxlQUFBO0FBQWdCO0FBTXRFO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQjtBQUFBO0FBRmxCO0lBTU0sbUNBQW1DO0lBQ25DLFlBNUdlO0FBQU87QUFxRzVCO0lBTU0sbUNBQW1DO0lBQ25DLFlBM0dRO0FBQU87QUFvR3JCO0lBTU0sbUNBQW1DO0lBQ25DLFlBMUdnQjtBQUFPO0FBbUc3QjtJQU1NLG1DQUFtQztJQUNuQyxZQXpHUztBQUFPO0FBa0d0QjtJQU1NLG1DQUFtQztJQUNuQyxZQXhHUTtBQUFPO0FBaUdyQjtJQU1NLG1DQUFtQztJQUNuQyxZQXZHTztBQUFPO0FBZ0dwQjtJQU1NLG1DQUFtQztJQUNuQyxZQXRHRztBQUFPO0FBK0ZoQjtJQU1NLG1DQUFtQztJQUNuQyxZQXJHSztBQUFPO0FBOEZsQjtJQU1NLG1DQUFtQztJQUNuQyxZQXBHRTtBQUFPO0FBNkZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBbkdFO0FBQU87QUE0RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFsR0U7QUFBTztBQTJGZjtJQU1NLG1DQUFtQztJQUNuQyxZQWpHRztBQUFPO0FBMEZoQjtJQU1NLG1DQUFtQztJQUNuQyxZQWhHRTtBQUFPO0FBeUZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBL0ZRO0FBQU87QUF3RnJCO0lBTU0sbUNBQW1DO0lBQ25DLFlBOUZjO0FBQU87QUF1RjNCO0lBTU0sbUNBQW1DO0lBQ25DLFlBN0ZhO0FBQU87QUFzRjFCO0lBTU0sbUNBQW1DO0lBQ25DLFlBNUZtQjtBQUFPO0FBcUZoQztJQU1NLG1DQUFtQztJQUNuQyxZQTNGZ0I7QUFBTztBRnNGL0I7RUFDQyxhQUFhO0VBQ2IsWUNsRm9CO0VEbUZwQixhQUwwQjtBQUFBO0FBTzFCO0lBQ0MsNkJBQTZCO0lBQzdCLHNDQUFzQztBQUFBO0FBRnZDO01BSUUsZUFBZTtBQUFBO0FBSWpCO0lBQ0Msa0JBQWtCO0lBQ2xCLGNDL0ZtQjtJRGdHbkIsV0NoR21CO0lEaUduQixlQ2pHbUI7SURrR25CLFlDbEdtQjtJRG1HbkIsbUJDbkdtQjtJRG9HbkIsZ0RBQWdEO0lBQ2hELDRCQUE0QjtJQUM1QiwyQkFBMkI7SUFDM0IscUJBQTREO0FBQUE7QUFDNUQ7TUFDQyxjQUFjO01BQ2Qsc0JBQXNCO0FBQUE7QUFJeEI7SUFDQyxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFlBQVk7SUFDWixzQkFBc0I7SUFDdEIsV0FBVztJQUNYLFlBQVk7SUFDWiw4Q0FBOEM7SUFDOUMsa0JBQWtCO0lBQ2xCLDhDQUE4QztJQUM5QyxtQ0FBbUM7SUFDbkMsaUJBQWlCO0FBQUE7QUFDakI7TUFDQyxjQUFjO0FBQUE7QUFEZDtRRWpFQyxtQ0FqRm1CO1FBa0ZuQixrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLFlBbEVvQjtBQUFPO0FGcUk3QjtNQUNDLGNBQWM7TUFDZCxzQkFBc0I7QUFBQTtBQUZ0QjtRRXRFQyxtQ0FqRm1CO1FBa0ZuQixrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLFlBcEVpQjtBQUFPO0FGNkkxQjtNQUNDLGNBQWM7QUFBQTtBQURkO1FFNUVDLG1DQWpGbUI7UUFrRm5CLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsWUFyRWtCO0FBQU87QUZtSjNCO01BRUMsWUFBWTtNQUNaLDZCQUE2QjtBQUFBO0FBSS9CO0lBQ0MsYUFBYTtJQUNiLGNBQWM7SUFDZCxzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWixrQkF6RXlCO0FBQUE7QUE0RTFCO0lBRUMsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQix1QkFBdUI7QUFBQTtBQUd4QjtJQUNDLGdDQUFnQztBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5AaW1wb3J0ICcuLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZSc7XFxuJGF1dG9jb21wbGV0ZS1wYWRkaW5nOiAxMHB4O1xcblxcbi5hdXRvY29tcGxldGUtcmVzdWx0IHtcXG5cXHRkaXNwbGF5OiBmbGV4O1xcblxcdGhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdHBhZGRpbmc6ICRhdXRvY29tcGxldGUtcGFkZGluZztcXG5cXG5cXHQuaGlnaGxpZ2h0ICYge1xcblxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcblxcdFxcdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xcblxcdFxcdCYsICoge1xcblxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdCZfX2ljb24ge1xcblxcdFxcdHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXHRcXHRmbGV4OiAwIDAgJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0bWluLXdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTtcXG5cXHRcXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcblxcdFxcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcXG5cXHRcXHRiYWNrZ3JvdW5kLXNpemU6ICRjbGlja2FibGUtYXJlYSAtIDIgKiAkYXV0b2NvbXBsZXRlLXBhZGRpbmc7XFxuXFx0XFx0Ji0td2l0aC1hdmF0YXIge1xcblxcdFxcdFxcdGNvbG9yOiBpbmhlcml0O1xcblxcdFxcdFxcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQmX19zdGF0dXMge1xcblxcdFxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHRcXHRyaWdodDogLTRweDtcXG5cXHRcXHRib3R0b206IC00cHg7XFxuXFx0XFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcXG5cXHRcXHR3aWR0aDogMThweDtcXG5cXHRcXHRoZWlnaHQ6IDE4cHg7XFxuXFx0XFx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG5cXHRcXHRib3JkZXItcmFkaXVzOiA1MCU7XFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG5cXHRcXHRmb250LXNpemU6IHZhcigtLWRlZmF1bHQtZm9udC1zaXplKTtcXG5cXHRcXHRsaW5lLWhlaWdodDogMTVweDtcXG5cXHRcXHQmLS1vbmxpbmUge1xcblxcdFxcdFxcdGNvbG9yOiAjNDliMzgyO1xcblxcblxcdFxcdFxcdEBpbmNsdWRlIGljb25mb250KCd1c2VyLXN0YXR1cy1vbmxpbmUnKTtcXG5cXHRcXHR9XFxuXFx0XFx0Ji0tZG5kIHtcXG5cXHRcXHRcXHRjb2xvcjogI2VkNDg0YztcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcblxcblxcdFxcdFxcdEBpbmNsdWRlIGljb25mb250KCd1c2VyLXN0YXR1cy1kbmQnKTtcXG5cXHRcXHR9XFxuXFx0XFx0Ji0tYXdheSB7XFxuXFx0XFx0XFx0Y29sb3I6ICNmNGEzMzE7XFxuXFxuXFx0XFx0XFx0QGluY2x1ZGUgaWNvbmZvbnQoJ3VzZXItc3RhdHVzLWF3YXknKTtcXG5cXHRcXHR9XFxuXFx0XFx0Ji0tb2ZmbGluZSxcXG5cXHRcXHQmLS1pY29uIHtcXG5cXHRcXHRcXHRib3JkZXI6IG5vbmU7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQmX19jb250ZW50IHtcXG5cXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdGZsZXg6IDEgMSAxMDAlO1xcblxcdFxcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuXFx0XFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuXFx0XFx0bWluLXdpZHRoOiAwO1xcblxcdFxcdHBhZGRpbmctbGVmdDogJGF1dG9jb21wbGV0ZS1wYWRkaW5nO1xcblxcdH1cXG5cXG5cXHQmX190aXRsZSxcXG5cXHQmX19zdWJsaW5lIHtcXG5cXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdFxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0fVxcblxcblxcdCZfX3N1YmxpbmUge1xcblxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0ZXIpO1xcblxcdH1cXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiLFwiJF9faWNvbmZvbnRfX2RhdGE6IG1hcC1tZXJnZShpZihnbG9iYWxfdmFyaWFibGVfZXhpc3RzKCdfX2ljb25mb250X19kYXRhJyksICRfX2ljb25mb250X19kYXRhLCAoKSksIChcXG5cXHRcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiOiAoXFxuXFx0XFx0XFxcImFycm93LWxlZnQtZG91YmxlXFxcIjogXFxcIlxcXFxlYTAxXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctbGVmdFxcXCI6IFxcXCJcXFxcZWEwMlxcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0LWRvdWJsZVxcXCI6IFxcXCJcXFxcZWEwM1xcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0XFxcIjogXFxcIlxcXFxlYTA0XFxcIixcXG5cXHRcXHRcXFwiYnJlYWRjcnVtYlxcXCI6IFxcXCJcXFxcZWEwNVxcXCIsXFxuXFx0XFx0XFxcImNoZWNrbWFya1xcXCI6IFxcXCJcXFxcZWEwNlxcXCIsXFxuXFx0XFx0XFxcImNsb3NlXFxcIjogXFxcIlxcXFxlYTA3XFxcIixcXG5cXHRcXHRcXFwiY29uZmlybVxcXCI6IFxcXCJcXFxcZWEwOFxcXCIsXFxuXFx0XFx0XFxcImluZm9cXFwiOiBcXFwiXFxcXGVhMDlcXFwiLFxcblxcdFxcdFxcXCJtZW51XFxcIjogXFxcIlxcXFxlYTBhXFxcIixcXG5cXHRcXHRcXFwibW9yZVxcXCI6IFxcXCJcXFxcZWEwYlxcXCIsXFxuXFx0XFx0XFxcInBhdXNlXFxcIjogXFxcIlxcXFxlYTBjXFxcIixcXG5cXHRcXHRcXFwicGxheVxcXCI6IFxcXCJcXFxcZWEwZFxcXCIsXFxuXFx0XFx0XFxcInRyaWFuZ2xlLXNcXFwiOiBcXFwiXFxcXGVhMGVcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1hd2F5XFxcIjogXFxcIlxcXFxlYTBmXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtZG5kXFxcIjogXFxcIlxcXFxlYTEwXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtaW52aXNpYmxlXFxcIjogXFxcIlxcXFxlYTExXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtb25saW5lXFxcIjogXFxcIlxcXFxlYTEyXFxcIlxcblxcdClcXG4pKTtcXG5cXG5cXG4kY3JlYXRlLWZvbnQtZmFjZTogdHJ1ZSAhZGVmYXVsdDsgLy8gc2hvdWxkIHRoZSBAZm9udC1mYWNlIHRhZyBnZXQgY3JlYXRlZD9cXG5cXG4vLyBzaG91bGQgdGhlcmUgYmUgYSBjdXN0b20gY2xhc3MgZm9yIGVhY2ggaWNvbj8gd2lsbCBiZSAuZmlsZW5hbWVcXG4kY3JlYXRlLWljb24tY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDsgXFxuXFxuLy8gd2hhdCBpcyB0aGUgY29tbW9uIGNsYXNzIG5hbWUgdGhhdCBpY29ucyBzaGFyZT8gaW4gdGhpcyBjYXNlIGljb25zIG5lZWQgdG8gaGF2ZSAuaWNvbi5maWxlbmFtZSBpbiB0aGVpciBjbGFzc2VzXFxuLy8gdGhpcyByZXF1aXJlcyB5b3UgdG8gaGF2ZSAyIGNsYXNzZXMgb24gZWFjaCBpY29uIGh0bWwgZWxlbWVudCwgYnV0IHJlZHVjZWQgcmVkZWNsYXJhdGlvbiBvZiB0aGUgZm9udCBmYW1pbHlcXG4vLyBmb3IgZWFjaCBpY29uXFxuJGljb24tY29tbW9uLWNsYXNzOiAnaWNvbicgIWRlZmF1bHQ7XFxuXFxuLy8gaWYgeW91IHdoaXNoIHRvIHByZWZpeCB5b3VyIGZpbGVuYW1lcywgaGVyZSB5b3UgY2FuIGRvIHNvLlxcbi8vIGlmIHRoaXMgc3RyaW5nIHN0YXlzIGVtcHR5LCB5b3VyIGNsYXNzZXMgd2lsbCB1c2UgdGhlIGZpbGVuYW1lLCBmb3IgZXhhbXBsZVxcbi8vIGFuIGljb24gY2FsbGVkIHN0YXIuc3ZnIHdpbGwgcmVzdWx0IGluIGEgY2xhc3MgY2FsbGVkIC5zdGFyXFxuLy8gaWYgeW91IHVzZSB0aGUgcHJlZml4IHRvIGJlICdpY29uLScgaXQgd291bGQgcmVzdWx0IGluIC5pY29uLXN0YXJcXG4kaWNvbi1wcmVmaXg6ICcnICFkZWZhdWx0OyBcXG5cXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvbnQgZ3JvdXBcXG5AZnVuY3Rpb24gaWNvbmZvbnQtZ3JvdXAoJGdyb3VwOiBudWxsKSB7XFxuICBAaWYgKG51bGwgPT0gJGdyb3VwKSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICBAaWYgKGZhbHNlID09IG1hcC1oYXMta2V5KCRfX2ljb25mb250X19kYXRhLCAkZ3JvdXApKSB7XFxuICAgIEB3YXJuICdVbmRlZmluZWQgSWNvbmZvbnQgRmFtaWx5ISc7XFxuICAgIEByZXR1cm4gKCk7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJF9faWNvbmZvbnRfX2RhdGEsICRncm91cCk7XFxufVxcblxcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3QgaWNvbiBvZiBhIGdyb3VwXFxuQGZ1bmN0aW9uIGljb25mb250LWl0ZW0oJG5hbWUpIHtcXG4gICRzbGFzaDogc3RyLWluZGV4KCRuYW1lLCAnLycpO1xcbiAgJGdyb3VwOiBudWxsO1xcbiAgQGlmICgkc2xhc2gpIHtcXG4gICAgJGdyb3VwOiBzdHItc2xpY2UoJG5hbWUsIDAsICRzbGFzaCAtIDEpO1xcbiAgICAkbmFtZTogc3RyLXNsaWNlKCRuYW1lLCAkc2xhc2ggKyAxKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgJGdyb3VwOiBpY29uZm9udC1ncm91cCgkZ3JvdXApO1xcbiAgQGlmIChmYWxzZSA9PSBtYXAtaGFzLWtleSgkZ3JvdXAsICRuYW1lKSkge1xcbiAgICBAd2FybiAnVW5kZWZpbmVkIEljb25mb250IEdseXBoISc7XFxuICAgIEByZXR1cm4gJyc7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJGdyb3VwLCAkbmFtZSk7XFxufVxcblxcbi8vIGNvbXBsZXRlIG1peGluZyB0byBpbmNsdWRlIHRoZSBpY29uXFxuLy8gdXNhZ2U6XFxuLy8gLm15X2ljb257IEBpbmNsdWRlIGljb25mb250KCdzdGFyJykgfVxcbkBtaXhpbiBpY29uZm9udCgkaWNvbikge1xcbiAgJHNsYXNoOiBzdHItaW5kZXgoJGljb24sICcvJyk7XFxuICAkZ3JvdXA6IG51bGw7XFxuICBAaWYgKCRzbGFzaCkge1xcbiAgICAkZ3JvdXA6IHN0ci1zbGljZSgkaWNvbiwgMCwgJHNsYXNoIC0gMSk7XFxuICB9IEBlbHNlIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gICY6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6ICRncm91cDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKCRpY29uKTtcXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyB0aGUgZm9udCBmYWNlIHRhZyBpZiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIHRydWUgKGRlZmF1bHQpXFxuQGlmICRjcmVhdGUtZm9udC1mYWNlID09IHRydWUge1xcbiAgQGZvbnQtZmFjZSB7XFxuICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2ZycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyBpY29uIGNsYXNzZXMgZm9yIGVhY2ggaW5kaXZpZHVhbCBsb2FkZWQgc3ZnIChkZWZhdWx0KVxcbkBpZiAkY3JlYXRlLWljb24tY2xhc3NlcyA9PSB0cnVlIHtcXG4gIC4jeyRpY29uLWNvbW1vbi1jbGFzc30ge1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuXFxuICAgIEBlYWNoICRpY29uLCAkY29udGVudCBpbiBtYXAtZ2V0KCRfX2ljb25mb250X19kYXRhLCBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiKSB7XFxuICAgICAgJi4jeyRpY29uLXByZWZpeH0jeyRpY29ufTpiZWZvcmUge1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKFxcXCJpY29uZm9udC12dWUtODRjNDYxZi8jeyRpY29ufVxcXCIpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbi5tZW50aW9uLWJ1YmJsZS0tcHJpbWFyeSAubWVudGlvbi1idWJibGVfX2NvbnRlbnRbZGF0YS12LTY5ZjQwZWM4XSB7XFxuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxufVxcbi5tZW50aW9uLWJ1YmJsZV9fd3JhcHBlcltkYXRhLXYtNjlmNDBlYzhdIHtcXG4gIG1heC13aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE4cHg7XFxuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5tZW50aW9uLWJ1YmJsZV9fY29udGVudFtkYXRhLXYtNjlmNDBlYzhdIHtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDIwcHg7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XFxuICBwYWRkaW5nLWxlZnQ6IDJweDtcXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmspO1xcbn1cXG4ubWVudGlvbi1idWJibGVfX2ljb25bZGF0YS12LTY5ZjQwZWM4XSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB3aWR0aDogMTZweDtcXG4gIGhlaWdodDogMTZweDtcXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTtcXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kLXNpemU6IDEycHg7XFxufVxcbi5tZW50aW9uLWJ1YmJsZV9faWNvbi0td2l0aC1hdmF0YXJbZGF0YS12LTY5ZjQwZWM4XSB7XFxuICAgIGNvbG9yOiBpbmhlcml0O1xcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xcbn1cXG4ubWVudGlvbi1idWJibGVfX3RpdGxlW2RhdGEtdi02OWY0MGVjOF0ge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIG1hcmdpbi1sZWZ0OiAycHg7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxufVxcbi5tZW50aW9uLWJ1YmJsZV9fdGl0bGVbZGF0YS12LTY5ZjQwZWM4XTo6YmVmb3JlIHtcXG4gICAgY29udGVudDogYXR0cih0aXRsZSk7XFxufVxcbi5tZW50aW9uLWJ1YmJsZV9fc2VsZWN0W2RhdGEtdi02OWY0MGVjOF0ge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgei1pbmRleDogLTE7XFxuICBsZWZ0OiAtMTAwMHB4O1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9NZW50aW9uQnViYmxlLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUFpRkQ7RUFDQyxnQ0FBZ0M7RUFDaEMsOENBQThDO0FBQUE7QUFHL0M7RUFDQyxnQkFYc0I7RUFhdEIsWUFBd0M7RUFDeEMsMkJBQTJCO0VBQzNCLG9CQUFvQjtFQUNwQixtQkFBbUI7QUFBQTtBQUdwQjtFQUNDLG9CQUFvQjtFQUNwQixnQkFBZ0I7RUFDaEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixZQXpCa0I7RUEwQmxCLHlCQUF5QjtFQUN6QixpQkFBaUI7RUFDakIsa0JBQWtDO0VBQ2xDLGlCQTNCa0I7RUE0QmxCLG1CQUFpQztFQUNqQyw4Q0FBOEM7QUFBQTtBQUcvQztFQUNDLGtCQUFrQjtFQUNsQixXQWpDdUQ7RUFrQ3ZELFlBbEN1RDtFQW1DdkQsa0JBQXNDO0VBQ3RDLGdEQUFnRDtFQUNoRCw0QkFBNEI7RUFDNUIsMkJBQTJCO0VBQzNCLHFCQUEwRDtBQUFBO0FBRTFEO0lBQ0MsY0FBYztJQUNkLHNCQUFzQjtBQUFBO0FBSXhCO0VBQ0MsZ0JBQWdCO0VBQ2hCLGdCQWxEa0I7RUFtRGxCLG1CQUFtQjtFQUNuQix1QkFBdUI7QUFBQTtBQUp2QjtJQU9DLG9CQUFvQjtBQUFBO0FBS3RCO0VBQ0Msa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxhQUFhO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbiRidWJibGUtaGVpZ2h0OiAyMHB4O1xcbiRidWJibGUtbWF4LXdpZHRoOiAxNTBweDtcXG4kYnViYmxlLXBhZGRpbmc6IDJweDtcXG4kYnViYmxlLWF2YXRhci1zaXplOiAkYnViYmxlLWhlaWdodCAtIDIgKiAkYnViYmxlLXBhZGRpbmc7XFxuXFxuLm1lbnRpb24tYnViYmxlIHtcXG5cXHQmLS1wcmltYXJ5ICZfX2NvbnRlbnQge1xcblxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xcblxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxuXFx0fVxcblxcblxcdCZfX3dyYXBwZXIge1xcblxcdFxcdG1heC13aWR0aDogJGJ1YmJsZS1tYXgtd2lkdGg7XFxuXFx0XFx0Ly8gQWxpZ24gd2l0aCB0ZXh0XFxuXFx0XFx0aGVpZ2h0OiAkYnViYmxlLWhlaWdodCAtICRidWJibGUtcGFkZGluZztcXG5cXHRcXHR2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XFxuXFx0XFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XFxuXFx0XFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXHR9XFxuXFxuXFx0Jl9fY29udGVudCB7XFxuXFx0XFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XFxuXFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRhbGlnbi1pdGVtczogY2VudGVyO1xcblxcdFxcdG1heC13aWR0aDogMTAwJTtcXG5cXHRcXHRoZWlnaHQ6ICRidWJibGUtaGVpZ2h0IDtcXG5cXHRcXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcblxcdFxcdHVzZXItc2VsZWN0OiBub25lO1xcblxcdFxcdHBhZGRpbmctcmlnaHQ6ICRidWJibGUtcGFkZGluZyAqIDM7XFxuXFx0XFx0cGFkZGluZy1sZWZ0OiAkYnViYmxlLXBhZGRpbmc7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogJGJ1YmJsZS1oZWlnaHQgLyAyO1xcblxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7XFxuXFx0fVxcblxcblxcdCZfX2ljb24ge1xcblxcdFxcdHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXHRcXHR3aWR0aDogJGJ1YmJsZS1hdmF0YXItc2l6ZTtcXG5cXHRcXHRoZWlnaHQ6ICRidWJibGUtYXZhdGFyLXNpemU7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogJGJ1YmJsZS1hdmF0YXItc2l6ZSAvIDI7XFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrZXIpO1xcblxcdFxcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuXFx0XFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xcblxcdFxcdGJhY2tncm91bmQtc2l6ZTogJGJ1YmJsZS1hdmF0YXItc2l6ZSAtIDIgKiAkYnViYmxlLXBhZGRpbmc7XFxuXFxuXFx0XFx0Ji0td2l0aC1hdmF0YXIge1xcblxcdFxcdFxcdGNvbG9yOiBpbmhlcml0O1xcblxcdFxcdFxcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQmX190aXRsZSB7XFxuXFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRtYXJnaW4tbGVmdDogJGJ1YmJsZS1wYWRkaW5nO1xcblxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0Ly8gUHV0IGxhYmVsIGluIDo6YmVmb3JlIHNvIGl0IGlzIG5vdCBzZWxlY3RhYmxlXFxuXFx0XFx0Jjo6YmVmb3JlIHtcXG5cXHRcXHRcXHRjb250ZW50OiBhdHRyKHRpdGxlKTtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdC8vIEhpZGUgdGhlIG1lbnRpb24gaWQgc28gaXQgaXMgc2VsZWN0YWJsZVxcblxcdCZfX3NlbGVjdCB7XFxuXFx0XFx0cG9zaXRpb246IGFic29sdXRlO1xcblxcdFxcdHotaW5kZXg6IC0xO1xcblxcdFxcdGxlZnQ6IC0xMDAwcHg7XFxuXFx0fVxcbn1cXG5cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG4ucmljaC1jb250ZW50ZWRpdGFibGVfX2lucHV0W2RhdGEtdi01NTRkMzdkYV0ge1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIHdpZHRoOiBhdXRvO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogNnB4O1xcbiAgY3Vyc29yOiB0ZXh0O1xcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcXG4gIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XFxuICBvdXRsaW5lOiBub25lO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhY2UpO1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgbWluLWhlaWdodDogNDRweDtcXG4gIG1heC1oZWlnaHQ6IDI0MnB4O1xcbn1cXG4ucmljaC1jb250ZW50ZWRpdGFibGVfX2lucHV0LS1lbXB0eVtkYXRhLXYtNTU0ZDM3ZGFdOmJlZm9yZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgY29udGVudDogYXR0cihwbGFjZWhvbGRlcik7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW1heGNvbnRyYXN0KTtcXG59XFxuLnJpY2gtY29udGVudGVkaXRhYmxlX19pbnB1dFtjb250ZW50ZWRpdGFibGU9J2ZhbHNlJ11bZGF0YS12LTU1NGQzN2RhXSB7XFxuICAgIGN1cnNvcjogZGVmYXVsdDtcXG4gICAgb3BhY2l0eTogLjU7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0ZXIpO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmtlcik7XFxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmspO1xcbn1cXG4ucmljaC1jb250ZW50ZWRpdGFibGVfX2lucHV0LS1tdWx0aWxpbmVbZGF0YS12LTU1NGQzN2RhXSB7XFxuICAgIG1pbi1oZWlnaHQ6IDEzMnB4O1xcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9SaWNoQ29udGVudGVkaXRhYmxlLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUFrYkY7RUFDQyxnQkFBZ0I7RUFDaEIsV0FBVztFQUNYLFNBQVM7RUFDVCxZQUFZO0VBQ1osWUFBWTtFQUNaLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsNkJBQTZCO0VBQzdCLDBDQUEwQztFQUMxQyxtQ0FBbUM7RUFDbkMsYUFBYTtFQUNiLDhDQUE4QztFQUM5Qyw2QkFBNkI7RUFDN0Isa0JBQWtCO0VBQ2xCLGdCQzdib0I7RUQ4YnBCLGlCQUFpQztBQUFBO0FBR2pDO0lBQ0Msa0JBQWtCO0lBQ2xCLDBCQUEwQjtJQUMxQixvQ0FBb0M7QUFBQTtBQXRCdEM7SUEwQkUsZUFBZTtJQUNmLFdBQVc7SUFDWCxnQ0FBZ0M7SUFDaEMsZ0RBQWdEO0lBQ2hELG1DQUFtQztJQUNuQyw4Q0FBOEM7QUFBQTtBQUcvQztJQUNDLGlCQUErQjtJQUUvQixnQkFBZ0I7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuLy8gU3RhbmRhbG9uZSBzdHlsaW5nLCBpbmRlcGVuZGVudCBmcm9tIHNlcnZlclxcbi5yaWNoLWNvbnRlbnRlZGl0YWJsZV9faW5wdXQge1xcblxcdG92ZXJmbG93LXk6IGF1dG87XFxuXFx0d2lkdGg6IGF1dG87XFxuXFx0bWFyZ2luOiAwO1xcblxcdHBhZGRpbmc6IDZweDtcXG5cXHRjdXJzb3I6IHRleHQ7XFxuXFx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xcblxcdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XFxuXFx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuXFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xcblxcdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xcblxcdG91dGxpbmU6IG5vbmU7XFxuXFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG5cXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1mYWNlKTtcXG5cXHRmb250LXNpemU6IGluaGVyaXQ7XFxuXFx0bWluLWhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdG1heC1oZWlnaHQ6ICRjbGlja2FibGUtYXJlYSAqIDUuNTtcXG5cXG5cXHQvLyBDYW5ub3QgdXNlIDplbXB0eSBiZWNhdXNlIG9mIGZpcmVmb3ggYnVnIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTMzMDNcXG5cXHQmLS1lbXB0eTpiZWZvcmUge1xcblxcdFxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHRcXHRjb250ZW50OiBhdHRyKHBsYWNlaG9sZGVyKTtcXG5cXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tYXhjb250cmFzdCk7XFxuXFx0fVxcblxcblxcdCZbY29udGVudGVkaXRhYmxlPSdmYWxzZSddIHtcXG5cXHRcXHRjdXJzb3I6IGRlZmF1bHQ7XFxuXFx0XFx0b3BhY2l0eTogLjU7XFxuXFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7XFxuXFx0XFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrZXIpO1xcblxcdFxcdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xcblxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7XFxuXFx0fVxcblxcblxcdCYtLW11bHRpbGluZSB7XFxuXFx0XFx0bWluLWhlaWdodDogJGNsaWNrYWJsZS1hcmVhICogMztcXG5cXHRcXHQvLyBObyBtYXggZm9yIG11dGlsaW5lXFxuXFx0XFx0bWF4LWhlaWdodDogbm9uZTtcXG5cXHR9XFxufVxcblxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2dldFVybC5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5lb3RcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYud29mZlwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi50dGZcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYuc3ZnXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpO1xcbiAgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpIGZvcm1hdChcXFwiZW1iZWRkZWQtb3BlbnR5cGVcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyArIFwiKSBmb3JtYXQoXFxcIndvZmZcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMl9fXyArIFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX18gKyBcIikgZm9ybWF0KFxcXCJzdmdcXFwiKTtcXG4gIC8qIExlZ2FjeSBpT1MgKi9cXG59XFxuLmljb24ge1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgZm9udC13ZWlnaHQ6IDQwMDtcXG59XFxuLmljb24uYXJyb3ctbGVmdC1kb3VibGU6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIFcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1sZWZ0OmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiCXFxcIjtcXG59XFxuLmljb24uYXJyb3ctcmlnaHQtZG91YmxlOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiDXFxcIjtcXG59XFxuLmljb24uYXJyb3ctcmlnaHQ6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIRcXFwiO1xcbn1cXG4uaWNvbi5icmVhZGNydW1iOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiFXFxcIjtcXG59XFxuLmljb24uY2hlY2ttYXJrOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiGXFxcIjtcXG59XFxuLmljb24uY2xvc2U6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIdcXFwiO1xcbn1cXG4uaWNvbi5jb25maXJtOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiIXFxcIjtcXG59XFxuLmljb24uaW5mbzpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oiVxcXCI7XFxufVxcbi5pY29uLm1lbnU6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIpcXFwiO1xcbn1cXG4uaWNvbi5tb3JlOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiLXFxcIjtcXG59XFxuLmljb24ucGF1c2U6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIxcXFwiO1xcbn1cXG4uaWNvbi5wbGF5OmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiNXFxcIjtcXG59XFxuLmljb24udHJpYW5nbGUtczpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojlxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWF3YXk6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqI9cXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1kbmQ6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJBcXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1pbnZpc2libGU6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJFcXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1vbmxpbmU6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJJcXFwiO1xcbn1cXG4udHJpYnV0ZS1jb250YWluZXIge1xcbiAgei1pbmRleDogOTAwMDtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgbWluLXdpZHRoOiAyNTBweDtcXG4gIG1heC13aWR0aDogMzAwcHg7XFxuICBtYXgtaGVpZ2h0OiAyODhweDtcXG4gIG1hcmdpbjogNXB4IDA7XFxuICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcXG4gIGJveC1zaGFkb3c6IDAgMXB4IDVweCB2YXIoLS1jb2xvci1ib3gtc2hhZG93KTtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vUmljaENvbnRlbnRlZGl0YWJsZS52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vZm9udHMvc2Nzcy9pY29uZm9udC12dWUuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FFc0VBO0VBQ0MsbUNBQW1DO0VBQ25DLDRDQUF1QztFQUFFLHFCQUFBO0VBQ3pDLG1QQUdtRDtFQUFFLGVBQUE7QUFBZ0I7QUFNdEU7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQUE7QUFGbEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE1R2U7QUFBTztBQXFHNUI7SUFNTSxtQ0FBbUM7SUFDbkMsWUEzR1E7QUFBTztBQW9HckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUExR2dCO0FBQU87QUFtRzdCO0lBTU0sbUNBQW1DO0lBQ25DLFlBekdTO0FBQU87QUFrR3RCO0lBTU0sbUNBQW1DO0lBQ25DLFlBeEdRO0FBQU87QUFpR3JCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdkdPO0FBQU87QUFnR3BCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdEdHO0FBQU87QUErRmhCO0lBTU0sbUNBQW1DO0lBQ25DLFlBckdLO0FBQU87QUE4RmxCO0lBTU0sbUNBQW1DO0lBQ25DLFlBcEdFO0FBQU87QUE2RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFuR0U7QUFBTztBQTRGZjtJQU1NLG1DQUFtQztJQUNuQyxZQWxHRTtBQUFPO0FBMkZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBakdHO0FBQU87QUEwRmhCO0lBTU0sbUNBQW1DO0lBQ25DLFlBaEdFO0FBQU87QUF5RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUEvRlE7QUFBTztBQXdGckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE5RmM7QUFBTztBQXVGM0I7SUFNTSxtQ0FBbUM7SUFDbkMsWUE3RmE7QUFBTztBQXNGMUI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE1Rm1CO0FBQU87QUFxRmhDO0lBTU0sbUNBQW1DO0lBQ25DLFlBM0ZnQjtBQUFPO0FGa2UvQjtFQUNDLGFBQWE7RUFDYixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUdoQixpQkFBMEM7RUFFMUMsYUFBYTtFQUNiLDZCQUE2QjtFQUM3QixtQ0FBbUM7RUFDbkMsd0NBQXdDO0VBQ3hDLDZDQUE2QztBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5AaW1wb3J0ICcuLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZSc7XFxuXFxuLnRyaWJ1dGUtY29udGFpbmVyIHtcXG5cXHR6LWluZGV4OiA5MDAwO1xcblxcdG92ZXJmbG93OiBhdXRvO1xcblxcdG1pbi13aWR0aDogMjUwcHg7XFxuXFx0bWF4LXdpZHRoOiAzMDBweDtcXG5cXHQvLyBTaG93IG1heGltdW0gNCBlbnRyaWVzIGFuZCBhIGhhbGYgdG8gc2hvdyBzY3JvbGxcXG5cXHQvLyA0NHB4ICsgMTBweCBwYWRkaW5nXFxuXFx0bWF4LWhlaWdodDogKCRjbGlja2FibGUtYXJlYSArIDIwcHgpICogNC41O1xcblxcdC8vIFNwYWNlIGl0IG91dCBhIGJpdCBmcm9tIHRoZSB0ZXh0XFxuXFx0bWFyZ2luOiA1cHggMDtcXG5cXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcXG5cXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcblxcdGJveC1zaGFkb3c6IDAgMXB4IDVweCB2YXIoLS1jb2xvci1ib3gtc2hhZG93KTtcXG59XFxuXFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiLFwiJF9faWNvbmZvbnRfX2RhdGE6IG1hcC1tZXJnZShpZihnbG9iYWxfdmFyaWFibGVfZXhpc3RzKCdfX2ljb25mb250X19kYXRhJyksICRfX2ljb25mb250X19kYXRhLCAoKSksIChcXG5cXHRcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiOiAoXFxuXFx0XFx0XFxcImFycm93LWxlZnQtZG91YmxlXFxcIjogXFxcIlxcXFxlYTAxXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctbGVmdFxcXCI6IFxcXCJcXFxcZWEwMlxcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0LWRvdWJsZVxcXCI6IFxcXCJcXFxcZWEwM1xcXCIsXFxuXFx0XFx0XFxcImFycm93LXJpZ2h0XFxcIjogXFxcIlxcXFxlYTA0XFxcIixcXG5cXHRcXHRcXFwiYnJlYWRjcnVtYlxcXCI6IFxcXCJcXFxcZWEwNVxcXCIsXFxuXFx0XFx0XFxcImNoZWNrbWFya1xcXCI6IFxcXCJcXFxcZWEwNlxcXCIsXFxuXFx0XFx0XFxcImNsb3NlXFxcIjogXFxcIlxcXFxlYTA3XFxcIixcXG5cXHRcXHRcXFwiY29uZmlybVxcXCI6IFxcXCJcXFxcZWEwOFxcXCIsXFxuXFx0XFx0XFxcImluZm9cXFwiOiBcXFwiXFxcXGVhMDlcXFwiLFxcblxcdFxcdFxcXCJtZW51XFxcIjogXFxcIlxcXFxlYTBhXFxcIixcXG5cXHRcXHRcXFwibW9yZVxcXCI6IFxcXCJcXFxcZWEwYlxcXCIsXFxuXFx0XFx0XFxcInBhdXNlXFxcIjogXFxcIlxcXFxlYTBjXFxcIixcXG5cXHRcXHRcXFwicGxheVxcXCI6IFxcXCJcXFxcZWEwZFxcXCIsXFxuXFx0XFx0XFxcInRyaWFuZ2xlLXNcXFwiOiBcXFwiXFxcXGVhMGVcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1hd2F5XFxcIjogXFxcIlxcXFxlYTBmXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtZG5kXFxcIjogXFxcIlxcXFxlYTEwXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtaW52aXNpYmxlXFxcIjogXFxcIlxcXFxlYTExXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtb25saW5lXFxcIjogXFxcIlxcXFxlYTEyXFxcIlxcblxcdClcXG4pKTtcXG5cXG5cXG4kY3JlYXRlLWZvbnQtZmFjZTogdHJ1ZSAhZGVmYXVsdDsgLy8gc2hvdWxkIHRoZSBAZm9udC1mYWNlIHRhZyBnZXQgY3JlYXRlZD9cXG5cXG4vLyBzaG91bGQgdGhlcmUgYmUgYSBjdXN0b20gY2xhc3MgZm9yIGVhY2ggaWNvbj8gd2lsbCBiZSAuZmlsZW5hbWVcXG4kY3JlYXRlLWljb24tY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDsgXFxuXFxuLy8gd2hhdCBpcyB0aGUgY29tbW9uIGNsYXNzIG5hbWUgdGhhdCBpY29ucyBzaGFyZT8gaW4gdGhpcyBjYXNlIGljb25zIG5lZWQgdG8gaGF2ZSAuaWNvbi5maWxlbmFtZSBpbiB0aGVpciBjbGFzc2VzXFxuLy8gdGhpcyByZXF1aXJlcyB5b3UgdG8gaGF2ZSAyIGNsYXNzZXMgb24gZWFjaCBpY29uIGh0bWwgZWxlbWVudCwgYnV0IHJlZHVjZWQgcmVkZWNsYXJhdGlvbiBvZiB0aGUgZm9udCBmYW1pbHlcXG4vLyBmb3IgZWFjaCBpY29uXFxuJGljb24tY29tbW9uLWNsYXNzOiAnaWNvbicgIWRlZmF1bHQ7XFxuXFxuLy8gaWYgeW91IHdoaXNoIHRvIHByZWZpeCB5b3VyIGZpbGVuYW1lcywgaGVyZSB5b3UgY2FuIGRvIHNvLlxcbi8vIGlmIHRoaXMgc3RyaW5nIHN0YXlzIGVtcHR5LCB5b3VyIGNsYXNzZXMgd2lsbCB1c2UgdGhlIGZpbGVuYW1lLCBmb3IgZXhhbXBsZVxcbi8vIGFuIGljb24gY2FsbGVkIHN0YXIuc3ZnIHdpbGwgcmVzdWx0IGluIGEgY2xhc3MgY2FsbGVkIC5zdGFyXFxuLy8gaWYgeW91IHVzZSB0aGUgcHJlZml4IHRvIGJlICdpY29uLScgaXQgd291bGQgcmVzdWx0IGluIC5pY29uLXN0YXJcXG4kaWNvbi1wcmVmaXg6ICcnICFkZWZhdWx0OyBcXG5cXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvbnQgZ3JvdXBcXG5AZnVuY3Rpb24gaWNvbmZvbnQtZ3JvdXAoJGdyb3VwOiBudWxsKSB7XFxuICBAaWYgKG51bGwgPT0gJGdyb3VwKSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICBAaWYgKGZhbHNlID09IG1hcC1oYXMta2V5KCRfX2ljb25mb250X19kYXRhLCAkZ3JvdXApKSB7XFxuICAgIEB3YXJuICdVbmRlZmluZWQgSWNvbmZvbnQgRmFtaWx5ISc7XFxuICAgIEByZXR1cm4gKCk7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJF9faWNvbmZvbnRfX2RhdGEsICRncm91cCk7XFxufVxcblxcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3QgaWNvbiBvZiBhIGdyb3VwXFxuQGZ1bmN0aW9uIGljb25mb250LWl0ZW0oJG5hbWUpIHtcXG4gICRzbGFzaDogc3RyLWluZGV4KCRuYW1lLCAnLycpO1xcbiAgJGdyb3VwOiBudWxsO1xcbiAgQGlmICgkc2xhc2gpIHtcXG4gICAgJGdyb3VwOiBzdHItc2xpY2UoJG5hbWUsIDAsICRzbGFzaCAtIDEpO1xcbiAgICAkbmFtZTogc3RyLXNsaWNlKCRuYW1lLCAkc2xhc2ggKyAxKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgJGdyb3VwOiBpY29uZm9udC1ncm91cCgkZ3JvdXApO1xcbiAgQGlmIChmYWxzZSA9PSBtYXAtaGFzLWtleSgkZ3JvdXAsICRuYW1lKSkge1xcbiAgICBAd2FybiAnVW5kZWZpbmVkIEljb25mb250IEdseXBoISc7XFxuICAgIEByZXR1cm4gJyc7XFxuICB9XFxuICBAcmV0dXJuIG1hcC1nZXQoJGdyb3VwLCAkbmFtZSk7XFxufVxcblxcbi8vIGNvbXBsZXRlIG1peGluZyB0byBpbmNsdWRlIHRoZSBpY29uXFxuLy8gdXNhZ2U6XFxuLy8gLm15X2ljb257IEBpbmNsdWRlIGljb25mb250KCdzdGFyJykgfVxcbkBtaXhpbiBpY29uZm9udCgkaWNvbikge1xcbiAgJHNsYXNoOiBzdHItaW5kZXgoJGljb24sICcvJyk7XFxuICAkZ3JvdXA6IG51bGw7XFxuICBAaWYgKCRzbGFzaCkge1xcbiAgICAkZ3JvdXA6IHN0ci1zbGljZSgkaWNvbiwgMCwgJHNsYXNoIC0gMSk7XFxuICB9IEBlbHNlIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gICY6YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6ICRncm91cDtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKCRpY29uKTtcXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyB0aGUgZm9udCBmYWNlIHRhZyBpZiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIHRydWUgKGRlZmF1bHQpXFxuQGlmICRjcmVhdGUtZm9udC1mYWNlID09IHRydWUge1xcbiAgQGZvbnQtZmFjZSB7XFxuICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICAgc3JjOiB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLnN2ZycpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cXG4gIH1cXG59XFxuXFxuLy8gY3JlYXRlcyBpY29uIGNsYXNzZXMgZm9yIGVhY2ggaW5kaXZpZHVhbCBsb2FkZWQgc3ZnIChkZWZhdWx0KVxcbkBpZiAkY3JlYXRlLWljb24tY2xhc3NlcyA9PSB0cnVlIHtcXG4gIC4jeyRpY29uLWNvbW1vbi1jbGFzc30ge1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuXFxuICAgIEBlYWNoICRpY29uLCAkY29udGVudCBpbiBtYXAtZ2V0KCRfX2ljb25mb250X19kYXRhLCBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiKSB7XFxuICAgICAgJi4jeyRpY29uLXByZWZpeH0jeyRpY29ufTpiZWZvcmUge1xcbiAgICAgICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgICAgICBjb250ZW50OiBpY29uZm9udC1pdGVtKFxcXCJpY29uZm9udC12dWUtODRjNDYxZi8jeyRpY29ufVxcXCIpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2dldFVybC5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5lb3RcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYud29mZlwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi50dGZcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyBmcm9tIFwiLi4vLi4vZm9udHMvaWNvbmZvbnQtdnVlLTg0YzQ2MWYuc3ZnXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpO1xcbiAgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xcbiAgc3JjOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpIGZvcm1hdChcXFwiZW1iZWRkZWQtb3BlbnR5cGVcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyArIFwiKSBmb3JtYXQoXFxcIndvZmZcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMl9fXyArIFwiKSBmb3JtYXQoXFxcInRydWV0eXBlXFxcIiksIHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX18gKyBcIikgZm9ybWF0KFxcXCJzdmdcXFwiKTtcXG4gIC8qIExlZ2FjeSBpT1MgKi9cXG59XFxuLmljb25bZGF0YS12LTkxMWMxYzU2XSB7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxuICBmb250LXdlaWdodDogNDAwO1xcbn1cXG4uaWNvbi5hcnJvdy1sZWZ0LWRvdWJsZVtkYXRhLXYtOTExYzFjNTZdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiBXFxcIjtcXG59XFxuLmljb24uYXJyb3ctbGVmdFtkYXRhLXYtOTExYzFjNTZdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiCXFxcIjtcXG59XFxuLmljb24uYXJyb3ctcmlnaHQtZG91YmxlW2RhdGEtdi05MTFjMWM1Nl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqINcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1yaWdodFtkYXRhLXYtOTExYzFjNTZdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiEXFxcIjtcXG59XFxuLmljb24uYnJlYWRjcnVtYltkYXRhLXYtOTExYzFjNTZdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiFXFxcIjtcXG59XFxuLmljb24uY2hlY2ttYXJrW2RhdGEtdi05MTFjMWM1Nl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIZcXFwiO1xcbn1cXG4uaWNvbi5jbG9zZVtkYXRhLXYtOTExYzFjNTZdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiHXFxcIjtcXG59XFxuLmljb24uY29uZmlybVtkYXRhLXYtOTExYzFjNTZdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiIXFxcIjtcXG59XFxuLmljb24uaW5mb1tkYXRhLXYtOTExYzFjNTZdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiJXFxcIjtcXG59XFxuLmljb24ubWVudVtkYXRhLXYtOTExYzFjNTZdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiKXFxcIjtcXG59XFxuLmljb24ubW9yZVtkYXRhLXYtOTExYzFjNTZdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiLXFxcIjtcXG59XFxuLmljb24ucGF1c2VbZGF0YS12LTkxMWMxYzU2XTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojFxcXCI7XFxufVxcbi5pY29uLnBsYXlbZGF0YS12LTkxMWMxYzU2XTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojVxcXCI7XFxufVxcbi5pY29uLnRyaWFuZ2xlLXNbZGF0YS12LTkxMWMxYzU2XTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ojlxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWF3YXlbZGF0YS12LTkxMWMxYzU2XTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oj1xcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLWRuZFtkYXRhLXYtOTExYzFjNTZdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiQXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtaW52aXNpYmxlW2RhdGEtdi05MTFjMWM1Nl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJFcXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1vbmxpbmVbZGF0YS12LTkxMWMxYzU2XTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6oklxcXCI7XFxufVxcbi5zZXR0aW5ncy1zZWN0aW9uW2RhdGEtdi05MTFjMWM1Nl0ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xcbiAgcGFkZGluZzogMzBweDtcXG59XFxuLnNldHRpbmdzLXNlY3Rpb25bZGF0YS12LTkxMWMxYzU2XTpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XFxufVxcbi5zZXR0aW5ncy1zZWN0aW9uX190aXRsZVtkYXRhLXYtOTExYzFjNTZdIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICBmb250LXNpemU6IDIwcHg7XFxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbn1cXG4uc2V0dGluZ3Mtc2VjdGlvbl9faW5mb1tkYXRhLXYtOTExYzFjNTZdIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICAgIHdpZHRoOiA0NHB4O1xcbiAgICBoZWlnaHQ6IDQ0cHg7XFxuICAgIG1hcmdpbjogLTE0cHg7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBvcGFjaXR5OiAwLjc7XFxuICAgIGZvbnQtc2l6ZTogMTZweDtcXG59XFxuLnNldHRpbmdzLXNlY3Rpb25fX2luZm9bZGF0YS12LTkxMWMxYzU2XTpiZWZvcmUge1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGNvbnRlbnQ6IFxcXCLuqIlcXFwiO1xcbn1cXG4uc2V0dGluZ3Mtc2VjdGlvbl9faW5mb1tkYXRhLXYtOTExYzFjNTZdOmhvdmVyLCAuc2V0dGluZ3Mtc2VjdGlvbl9faW5mb1tkYXRhLXYtOTExYzFjNTZdOmZvY3VzLCAuc2V0dGluZ3Mtc2VjdGlvbl9faW5mb1tkYXRhLXYtOTExYzFjNTZdOmFjdGl2ZSB7XFxuICAgICAgb3BhY2l0eTogMTtcXG59XFxuLnNldHRpbmdzLXNlY3Rpb25fX2Rlc2NbZGF0YS12LTkxMWMxYzU2XSB7XFxuICAgIG1hcmdpbi10b3A6IC0wLjJlbTtcXG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xcbiAgICBvcGFjaXR5OiAwLjc7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL1NldHRpbmdzU2VjdGlvbi52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vZm9udHMvc2Nzcy9pY29uZm9udC12dWUuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FFc0VBO0VBQ0MsbUNBQW1DO0VBQ25DLDRDQUF1QztFQUFFLHFCQUFBO0VBQ3pDLG1QQUdtRDtFQUFFLGVBQUE7QUFBZ0I7QUFNdEU7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQUE7QUFGbEI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE1R2U7QUFBTztBQXFHNUI7SUFNTSxtQ0FBbUM7SUFDbkMsWUEzR1E7QUFBTztBQW9HckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUExR2dCO0FBQU87QUFtRzdCO0lBTU0sbUNBQW1DO0lBQ25DLFlBekdTO0FBQU87QUFrR3RCO0lBTU0sbUNBQW1DO0lBQ25DLFlBeEdRO0FBQU87QUFpR3JCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdkdPO0FBQU87QUFnR3BCO0lBTU0sbUNBQW1DO0lBQ25DLFlBdEdHO0FBQU87QUErRmhCO0lBTU0sbUNBQW1DO0lBQ25DLFlBckdLO0FBQU87QUE4RmxCO0lBTU0sbUNBQW1DO0lBQ25DLFlBcEdFO0FBQU87QUE2RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUFuR0U7QUFBTztBQTRGZjtJQU1NLG1DQUFtQztJQUNuQyxZQWxHRTtBQUFPO0FBMkZmO0lBTU0sbUNBQW1DO0lBQ25DLFlBakdHO0FBQU87QUEwRmhCO0lBTU0sbUNBQW1DO0lBQ25DLFlBaEdFO0FBQU87QUF5RmY7SUFNTSxtQ0FBbUM7SUFDbkMsWUEvRlE7QUFBTztBQXdGckI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE5RmM7QUFBTztBQXVGM0I7SUFNTSxtQ0FBbUM7SUFDbkMsWUE3RmE7QUFBTztBQXNGMUI7SUFNTSxtQ0FBbUM7SUFDbkMsWUE1Rm1CO0FBQU87QUFxRmhDO0lBTU0sbUNBQW1DO0lBQ25DLFlBM0ZnQjtBQUFPO0FGeUYvQjtFQUNDLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsYUFBYTtBQUFBO0FBSGQ7SUFNRSw0Q0FBNEM7QUFBQTtBQUc3QztJQUNDLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixpQkFBaUI7QUFBQTtBQUdsQjtJQUNDLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFdDeEdtQjtJRHlHbkIsWUN6R21CO0lEMkduQixhQ25HOEM7SURvRzlDLGNBQWM7SUFDZCxZQzNGaUI7SUQ0RmpCLGVDMUdjO0FBQUE7QURnR2Q7TUUzQ0UsbUNBakZtQjtNQWtGbkIsa0JBQWtCO01BQ2xCLGdCQUFnQjtNQUNoQixZQTNFTTtBQUFPO0FGbUhmO01BZUMsVUNoR2E7QUFBQTtBRG9HZjtJQUNDLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsWUN4R2lCO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbkBpbXBvcnQgJy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlJztcXG5cXG4uc2V0dGluZ3Mtc2VjdGlvbiB7XFxuXFx0ZGlzcGxheTogYmxvY2s7XFxuXFx0bWFyZ2luLWJvdHRvbTogYXV0bztcXG5cXHRwYWRkaW5nOiAzMHB4O1xcblxcblxcdCY6bm90KDpsYXN0LWNoaWxkKSB7XFxuXFx0XFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XFxuXFx0fVxcblxcblxcdCZfX3RpdGxlIHtcXG5cXHRcXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG5cXHRcXHRhbGlnbi1pdGVtczogY2VudGVyO1xcblxcdFxcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xcblxcdFxcdGZvbnQtc2l6ZTogMjBweDtcXG5cXHRcXHRmb250LXdlaWdodDogYm9sZDtcXG5cXHR9XFxuXFxuXFx0Jl9faW5mbyB7XFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRhbGlnbi1pdGVtczogY2VudGVyO1xcblxcdFxcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xcblxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0Ly8gbWFrZSBzdXJlIHRvIHByb3Blcmx5IGFsaWduIHRoZSBpY29uIHdpdGggdGhlIHRleHRcXG5cXHRcXHRtYXJnaW46IC0kaWNvbi1tYXJnaW47XFxuXFx0XFx0bWFyZ2luLWxlZnQ6IDA7XFxuXFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfbm9ybWFsO1xcblxcdFxcdGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcXG5cXG5cXHRcXHRAaW5jbHVkZSBpY29uZm9udCgnaW5mbycpO1xcblxcblxcdFxcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Jl9fZGVzYyB7XFxuXFx0XFx0bWFyZ2luLXRvcDogLTAuMmVtO1xcblxcdFxcdG1hcmdpbi1ib3R0b206IDFlbTtcXG5cXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFx0fVxcbn1cXG5cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCIsXCIkX19pY29uZm9udF9fZGF0YTogbWFwLW1lcmdlKGlmKGdsb2JhbF92YXJpYWJsZV9leGlzdHMoJ19faWNvbmZvbnRfX2RhdGEnKSwgJF9faWNvbmZvbnRfX2RhdGEsICgpKSwgKFxcblxcdFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI6IChcXG5cXHRcXHRcXFwiYXJyb3ctbGVmdC1kb3VibGVcXFwiOiBcXFwiXFxcXGVhMDFcXFwiLFxcblxcdFxcdFxcXCJhcnJvdy1sZWZ0XFxcIjogXFxcIlxcXFxlYTAyXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctcmlnaHQtZG91YmxlXFxcIjogXFxcIlxcXFxlYTAzXFxcIixcXG5cXHRcXHRcXFwiYXJyb3ctcmlnaHRcXFwiOiBcXFwiXFxcXGVhMDRcXFwiLFxcblxcdFxcdFxcXCJicmVhZGNydW1iXFxcIjogXFxcIlxcXFxlYTA1XFxcIixcXG5cXHRcXHRcXFwiY2hlY2ttYXJrXFxcIjogXFxcIlxcXFxlYTA2XFxcIixcXG5cXHRcXHRcXFwiY2xvc2VcXFwiOiBcXFwiXFxcXGVhMDdcXFwiLFxcblxcdFxcdFxcXCJjb25maXJtXFxcIjogXFxcIlxcXFxlYTA4XFxcIixcXG5cXHRcXHRcXFwiaW5mb1xcXCI6IFxcXCJcXFxcZWEwOVxcXCIsXFxuXFx0XFx0XFxcIm1lbnVcXFwiOiBcXFwiXFxcXGVhMGFcXFwiLFxcblxcdFxcdFxcXCJtb3JlXFxcIjogXFxcIlxcXFxlYTBiXFxcIixcXG5cXHRcXHRcXFwicGF1c2VcXFwiOiBcXFwiXFxcXGVhMGNcXFwiLFxcblxcdFxcdFxcXCJwbGF5XFxcIjogXFxcIlxcXFxlYTBkXFxcIixcXG5cXHRcXHRcXFwidHJpYW5nbGUtc1xcXCI6IFxcXCJcXFxcZWEwZVxcXCIsXFxuXFx0XFx0XFxcInVzZXItc3RhdHVzLWF3YXlcXFwiOiBcXFwiXFxcXGVhMGZcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1kbmRcXFwiOiBcXFwiXFxcXGVhMTBcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1pbnZpc2libGVcXFwiOiBcXFwiXFxcXGVhMTFcXFwiLFxcblxcdFxcdFxcXCJ1c2VyLXN0YXR1cy1vbmxpbmVcXFwiOiBcXFwiXFxcXGVhMTJcXFwiXFxuXFx0KVxcbikpO1xcblxcblxcbiRjcmVhdGUtZm9udC1mYWNlOiB0cnVlICFkZWZhdWx0OyAvLyBzaG91bGQgdGhlIEBmb250LWZhY2UgdGFnIGdldCBjcmVhdGVkP1xcblxcbi8vIHNob3VsZCB0aGVyZSBiZSBhIGN1c3RvbSBjbGFzcyBmb3IgZWFjaCBpY29uPyB3aWxsIGJlIC5maWxlbmFtZVxcbiRjcmVhdGUtaWNvbi1jbGFzc2VzOiB0cnVlICFkZWZhdWx0OyBcXG5cXG4vLyB3aGF0IGlzIHRoZSBjb21tb24gY2xhc3MgbmFtZSB0aGF0IGljb25zIHNoYXJlPyBpbiB0aGlzIGNhc2UgaWNvbnMgbmVlZCB0byBoYXZlIC5pY29uLmZpbGVuYW1lIGluIHRoZWlyIGNsYXNzZXNcXG4vLyB0aGlzIHJlcXVpcmVzIHlvdSB0byBoYXZlIDIgY2xhc3NlcyBvbiBlYWNoIGljb24gaHRtbCBlbGVtZW50LCBidXQgcmVkdWNlZCByZWRlY2xhcmF0aW9uIG9mIHRoZSBmb250IGZhbWlseVxcbi8vIGZvciBlYWNoIGljb25cXG4kaWNvbi1jb21tb24tY2xhc3M6ICdpY29uJyAhZGVmYXVsdDtcXG5cXG4vLyBpZiB5b3Ugd2hpc2ggdG8gcHJlZml4IHlvdXIgZmlsZW5hbWVzLCBoZXJlIHlvdSBjYW4gZG8gc28uXFxuLy8gaWYgdGhpcyBzdHJpbmcgc3RheXMgZW1wdHksIHlvdXIgY2xhc3NlcyB3aWxsIHVzZSB0aGUgZmlsZW5hbWUsIGZvciBleGFtcGxlXFxuLy8gYW4gaWNvbiBjYWxsZWQgc3Rhci5zdmcgd2lsbCByZXN1bHQgaW4gYSBjbGFzcyBjYWxsZWQgLnN0YXJcXG4vLyBpZiB5b3UgdXNlIHRoZSBwcmVmaXggdG8gYmUgJ2ljb24tJyBpdCB3b3VsZCByZXN1bHQgaW4gLmljb24tc3RhclxcbiRpY29uLXByZWZpeDogJycgIWRlZmF1bHQ7IFxcblxcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9udCBncm91cFxcbkBmdW5jdGlvbiBpY29uZm9udC1ncm91cCgkZ3JvdXA6IG51bGwpIHtcXG4gIEBpZiAobnVsbCA9PSAkZ3JvdXApIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gIEBpZiAoZmFsc2UgPT0gbWFwLWhhcy1rZXkoJF9faWNvbmZvbnRfX2RhdGEsICRncm91cCkpIHtcXG4gICAgQHdhcm4gJ1VuZGVmaW5lZCBJY29uZm9udCBGYW1pbHkhJztcXG4gICAgQHJldHVybiAoKTtcXG4gIH1cXG4gIEByZXR1cm4gbWFwLWdldCgkX19pY29uZm9udF9fZGF0YSwgJGdyb3VwKTtcXG59XFxuXFxuLy8gaGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgY29ycmVjdCBpY29uIG9mIGEgZ3JvdXBcXG5AZnVuY3Rpb24gaWNvbmZvbnQtaXRlbSgkbmFtZSkge1xcbiAgJHNsYXNoOiBzdHItaW5kZXgoJG5hbWUsICcvJyk7XFxuICAkZ3JvdXA6IG51bGw7XFxuICBAaWYgKCRzbGFzaCkge1xcbiAgICAkZ3JvdXA6IHN0ci1zbGljZSgkbmFtZSwgMCwgJHNsYXNoIC0gMSk7XFxuICAgICRuYW1lOiBzdHItc2xpY2UoJG5hbWUsICRzbGFzaCArIDEpO1xcbiAgfSBAZWxzZSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICAkZ3JvdXA6IGljb25mb250LWdyb3VwKCRncm91cCk7XFxuICBAaWYgKGZhbHNlID09IG1hcC1oYXMta2V5KCRncm91cCwgJG5hbWUpKSB7XFxuICAgIEB3YXJuICdVbmRlZmluZWQgSWNvbmZvbnQgR2x5cGghJztcXG4gICAgQHJldHVybiAnJztcXG4gIH1cXG4gIEByZXR1cm4gbWFwLWdldCgkZ3JvdXAsICRuYW1lKTtcXG59XFxuXFxuLy8gY29tcGxldGUgbWl4aW5nIHRvIGluY2x1ZGUgdGhlIGljb25cXG4vLyB1c2FnZTpcXG4vLyAubXlfaWNvbnsgQGluY2x1ZGUgaWNvbmZvbnQoJ3N0YXInKSB9XFxuQG1peGluIGljb25mb250KCRpY29uKSB7XFxuICAkc2xhc2g6IHN0ci1pbmRleCgkaWNvbiwgJy8nKTtcXG4gICRncm91cDogbnVsbDtcXG4gIEBpZiAoJHNsYXNoKSB7XFxuICAgICRncm91cDogc3RyLXNsaWNlKCRpY29uLCAwLCAkc2xhc2ggLSAxKTtcXG4gIH0gQGVsc2Uge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgJjpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogJGdyb3VwO1xcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgIGNvbnRlbnQ6IGljb25mb250LWl0ZW0oJGljb24pO1xcbiAgfVxcbn1cXG5cXG4vLyBjcmVhdGVzIHRoZSBmb250IGZhY2UgdGFnIGlmIHRoZSB2YXJpYWJsZSBpcyBzZXQgdG8gdHJ1ZSAoZGVmYXVsdClcXG5AaWYgJGNyZWF0ZS1mb250LWZhY2UgPT0gdHJ1ZSB7XFxuICBAZm9udC1mYWNlIHtcXG4gICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICBzcmM6IHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cXG4gICBzcmM6IHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBQcmV0dHkgTW9kZXJuIEJyb3dzZXJzICovXFxuICAgICAgdXJsKCcuLi9pY29uZm9udC12dWUtODRjNDYxZi50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xcbiAgICAgIHVybCgnLi4vaWNvbmZvbnQtdnVlLTg0YzQ2MWYuc3ZnJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xcbiAgfVxcbn1cXG5cXG4vLyBjcmVhdGVzIGljb24gY2xhc3NlcyBmb3IgZWFjaCBpbmRpdmlkdWFsIGxvYWRlZCBzdmcgKGRlZmF1bHQpXFxuQGlmICRjcmVhdGUtaWNvbi1jbGFzc2VzID09IHRydWUge1xcbiAgLiN7JGljb24tY29tbW9uLWNsYXNzfSB7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG5cXG4gICAgQGVhY2ggJGljb24sICRjb250ZW50IGluIG1hcC1nZXQoJF9faWNvbmZvbnRfX2RhdGEsIFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCIpIHtcXG4gICAgICAmLiN7JGljb24tcHJlZml4fSN7JGljb259OmJlZm9yZSB7XFxuICAgICAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgICAgIGNvbnRlbnQ6IGljb25mb250LWl0ZW0oXFxcImljb25mb250LXZ1ZS04NGM0NjFmLyN7JGljb259XFxcIik7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuLnVzZXItYnViYmxlX193cmFwcGVyW2RhdGEtdi01YzBlMjFhZl0ge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gIG1pbi13aWR0aDogMDtcXG4gIG1heC13aWR0aDogMTAwJTtcXG59XFxuLnVzZXItYnViYmxlX19jb250ZW50W2RhdGEtdi01YzBlMjFhZl0ge1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmspO1xcbn1cXG4udXNlci1idWJibGVfX2NvbnRlbnQtLXByaW1hcnlbZGF0YS12LTVjMGUyMWFmXSB7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcbn1cXG4udXNlci1idWJibGVfX2NvbnRlbnRbZGF0YS12LTVjMGUyMWFmXSA+IDpsYXN0LWNoaWxkIHtcXG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xcbn1cXG4udXNlci1idWJibGVfX2F2YXRhcltkYXRhLXYtNWMwZTIxYWZdIHtcXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcXG59XFxuLnVzZXItYnViYmxlX190aXRsZVtkYXRhLXYtNWMwZTIxYWZdIHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxufVxcbi51c2VyLWJ1YmJsZV9fdGl0bGVbZGF0YS12LTVjMGUyMWFmXSwgLnVzZXItYnViYmxlX19zZWNvbmRhcnlbZGF0YS12LTVjMGUyMWFmXSB7XFxuICBwYWRkaW5nOiAwO1xcbiAgcGFkZGluZy1sZWZ0OiA0cHg7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL1VzZXJCdWJibGUudnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBQStQRDtFQUVDLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFFdEIsWUFBWTtFQUNaLGVBQWU7QUFBQTtBQUdoQjtFQUNDLG9CQUFvQjtFQUNwQixlQUFlO0VBQ2YsOENBQThDO0FBQUE7QUFFOUM7SUFDQyxnQ0FBZ0M7SUFDaEMsOENBQThDO0FBQUE7QUFQL0M7SUFZQyxrQkFBa0I7QUFBQTtBQUlwQjtFQUNDLGtCQUFrQjtBQUFBO0FBR25CO0VBQ0MsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQix1QkFBdUI7QUFBQTtBQUd4QjtFQUdDLFVBQVU7RUFDVixpQkFBaUI7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuLnVzZXItYnViYmxlIHtcXG5cXHQmX193cmFwcGVyIHtcXG5cXHRcXHQvLyBhbGlnbiBpbmxpbmUgd2l0aCB0ZXh0XFxuXFx0XFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xcblxcdFxcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuXFx0XFx0Ly8gc2hyaW5rIGFuZCBhbGxvdyBncm93IHRvIGZpdFxcblxcdFxcdG1pbi13aWR0aDogMDtcXG5cXHRcXHRtYXgtd2lkdGg6IDEwMCU7XFxuXFx0fVxcblxcblxcdCZfX2NvbnRlbnQge1xcblxcdFxcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xcblxcdFxcdG1heC13aWR0aDogMTAwJTtcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmspO1xcblxcblxcdFxcdCYtLXByaW1hcnkge1xcblxcdFxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xcblxcdFxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxuXFx0XFx0fVxcblxcblxcdFxcdD4gOmxhc3QtY2hpbGQge1xcblxcdFxcdFxcdC8vIGJvcmRlciByYWRpdXMgbGVmdCBwYWRkaW5nXFxuXFx0XFx0XFx0cGFkZGluZy1yaWdodDogOHB4O1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Jl9fYXZhdGFyIHtcXG5cXHRcXHRhbGlnbi1zZWxmOiBjZW50ZXI7XFxuXFx0fVxcblxcblxcdCZfX3RpdGxlIHtcXG5cXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0fVxcblxcblxcdCZfX3RpdGxlLFxcblxcdCZfX3NlY29uZGFyeSB7XFxuXFx0XFx0Ly8gcHJvcGVyIHNwYWNpbmcgYmV0d2VlbiBhdmF0YXIsIHRpdGxlICYgc2xvdFxcblxcdFxcdHBhZGRpbmc6IDA7XFxuXFx0XFx0cGFkZGluZy1sZWZ0OiA0cHg7XFxuXFx0fVxcbn1cXG5cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLmFwcC1uYXZpZ2F0aW9uLXNwYWNlcltkYXRhLXYtOWM3MGJlZGFdIHtcXG5cXHRmbGV4LXNocmluazogMDtcXG5cXHRvcmRlcjogMTtcXG5cXHRoZWlnaHQ6IDIycHg7XFxufVxcblxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL0FwcE5hdmlnYXRpb25TcGFjZXIudnVlXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUFnQ0E7Q0FDQSxjQUFBO0NBQ0EsUUFBQTtDQUNBLFlBQUE7QUFDQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCI8IS0tXFxuIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxcbiAtXFxuIC0gQGF1dGhvciBDaHJpc3RvcGggV3Vyc3QgPGNocmlzdG9waEB3aW56ZXJob2Ytd3Vyc3QuYXQ+XFxuIC1cXG4gLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gLVxcbiAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAtXFxuIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuIC1cXG4gLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAtXFxuIC0tPlxcbjx0ZW1wbGF0ZT5cXG5cXHQ8bGkgY2xhc3M9XFxcImFwcC1uYXZpZ2F0aW9uLXNwYWNlclxcXCIgLz5cXG48L3RlbXBsYXRlPlxcblxcbjxzY3JpcHQ+XFxuZXhwb3J0IGRlZmF1bHQge1xcblxcdG5hbWU6ICdBcHBOYXZpZ2F0aW9uU3BhY2VyJyxcXG59XFxuPC9zY3JpcHQ+XFxuXFxuPHN0eWxlIHNjb3BlZD5cXG5cXHQuYXBwLW5hdmlnYXRpb24tc3BhY2VyIHtcXG5cXHRcXHRmbGV4LXNocmluazogMDtcXG5cXHRcXHRvcmRlcjogMTtcXG5cXHRcXHRoZWlnaHQ6IDIycHg7XFxuXFx0fVxcblxcbjwvc3R5bGU+XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuYnV0dG9uLm1lbnVpdGVtW2RhdGEtdi01MTJlYTc2OF0ge1xcblxcdHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbmJ1dHRvbi5tZW51aXRlbSAqW2RhdGEtdi01MTJlYTc2OF0ge1xcblxcdGN1cnNvcjogcG9pbnRlcjtcXG59XFxuYnV0dG9uLm1lbnVpdGVtW2RhdGEtdi01MTJlYTc2OF06ZGlzYWJsZWQge1xcblxcdG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xcblxcdGN1cnNvcjogZGVmYXVsdDtcXG59XFxuYnV0dG9uLm1lbnVpdGVtOmRpc2FibGVkICpbZGF0YS12LTUxMmVhNzY4XSB7XFxuXFx0Y3Vyc29yOiBkZWZhdWx0O1xcbn1cXG4ubWVudWl0ZW0uYWN0aXZlW2RhdGEtdi01MTJlYTc2OF0ge1xcblxcdGJveC1zaGFkb3c6IGluc2V0IDJweCAwIHZhcigtLWNvbG9yLXByaW1hcnkpO1xcblxcdGJvcmRlci1yYWRpdXM6IDA7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL1BvcG92ZXJNZW51SXRlbS52dWVcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQW1MQTtDQUNBLGdCQUFBO0FBQ0E7QUFFQTtDQUNBLGVBQUE7QUFDQTtBQUVBO0NBQ0EsdUJBQUE7Q0FDQSxlQUFBO0FBQ0E7QUFFQTtDQUNBLGVBQUE7QUFDQTtBQUVBO0NBQ0EsNENBQUE7Q0FDQSxnQkFBQTtBQUNBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjwhLS1cXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAgLVxcbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gIC1cXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICAtXFxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAgLVxcbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXFxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAgLVxcbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gIC1cXG4gIC0tPlxcblxcbjx0ZW1wbGF0ZT5cXG5cXHQ8bGkgY2xhc3M9XFxcInBvcG92ZXJfX21lbnVpdGVtXFxcIj5cXG5cXHRcXHQ8IS0tIElmIGl0ZW0uaHJlZiBpcyBzZXQsIGEgbGluayB3aWxsIGJlIGRpcmVjdGx5IHVzZWQgLS0+XFxuXFx0XFx0PGEgdi1pZj1cXFwiaXRlbS5ocmVmXFxcIlxcblxcdFxcdFxcdDpocmVmPVxcXCIoaXRlbS5ocmVmKSA/IGl0ZW0uaHJlZiA6ICcjJyBcXFwiXFxuXFx0XFx0XFx0OnRhcmdldD1cXFwiKGl0ZW0udGFyZ2V0KSA/IGl0ZW0udGFyZ2V0IDogJycgXFxcIlxcblxcdFxcdFxcdDpkb3dubG9hZD1cXFwiaXRlbS5kb3dubG9hZFxcXCJcXG5cXHRcXHRcXHRjbGFzcz1cXFwiZm9jdXNhYmxlXFxcIlxcblxcdFxcdFxcdHJlbD1cXFwibm9yZWZlcnJlciBub29wZW5lclxcXCJcXG5cXHRcXHRcXHRAY2xpY2s9XFxcImFjdGlvblxcXCI+XFxuXFx0XFx0XFx0PHNwYW4gdi1pZj1cXFwiIWljb25Jc1VybFxcXCIgOmNsYXNzPVxcXCJpdGVtLmljb25cXFwiIC8+XFxuXFx0XFx0XFx0PGltZyB2LWVsc2UgOnNyYz1cXFwiaXRlbS5pY29uXFxcIj5cXG5cXHRcXHRcXHQ8cCB2LWlmPVxcXCJpdGVtLnRleHQgJiYgaXRlbS5sb25ndGV4dFxcXCI+XFxuXFx0XFx0XFx0XFx0PHN0cm9uZyBjbGFzcz1cXFwibWVudWl0ZW0tdGV4dFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0e3sgaXRlbS50ZXh0IH19XFxuXFx0XFx0XFx0XFx0PC9zdHJvbmc+PGJyPlxcblxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCJtZW51aXRlbS10ZXh0LWRldGFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0e3sgaXRlbS5sb25ndGV4dCB9fVxcblxcdFxcdFxcdFxcdDwvc3Bhbj5cXG5cXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PHNwYW4gdi1lbHNlLWlmPVxcXCJpdGVtLnRleHRcXFwiPlxcblxcdFxcdFxcdFxcdHt7IGl0ZW0udGV4dCB9fVxcblxcdFxcdFxcdDwvc3Bhbj5cXG5cXHRcXHRcXHQ8cCB2LWVsc2UtaWY9XFxcIml0ZW0ubG9uZ3RleHRcXFwiPlxcblxcdFxcdFxcdFxcdHt7IGl0ZW0ubG9uZ3RleHQgfX1cXG5cXHRcXHRcXHQ8L3A+XFxuXFx0XFx0PC9hPlxcblxcblxcdFxcdDwhLS0gSWYgaXRlbS5pbnB1dCBpcyBzZXQgaW5zdGVhZCwgYW4gcHV0IHdpbGwgYmUgdXNlZCAtLT5cXG5cXHRcXHQ8c3BhbiB2LWVsc2UtaWY9XFxcIml0ZW0uaW5wdXRcXFwiIGNsYXNzPVxcXCJtZW51aXRlbVxcXCIgOmNsYXNzPVxcXCJ7YWN0aXZlOiBpdGVtLmFjdGl2ZX1cXFwiPlxcblxcdFxcdFxcdDwhLS0gZG9lcyBub3Qgc2hvdyBpZiBpbnB1dCBpcyBjaGVja2JveCAtLT5cXG5cXHRcXHRcXHQ8c3BhbiB2LWlmPVxcXCJpdGVtLmlucHV0ICE9PSAnY2hlY2tib3gnXFxcIiA6Y2xhc3M9XFxcIml0ZW0uaWNvblxcXCIgLz5cXG5cXG5cXHRcXHRcXHQ8IS0tIG9ubHkgc2hvd3MgaWYgaW5wdXQgaXMgdGV4dCAtLT5cXG5cXHRcXHRcXHQ8Zm9ybSB2LWlmPVxcXCJpdGVtLmlucHV0ID09PSAndGV4dCdcXFwiXFxuXFx0XFx0XFx0XFx0OmNsYXNzPVxcXCJpdGVtLmlucHV0XFxcIlxcblxcdFxcdFxcdFxcdEBzdWJtaXQucHJldmVudD1cXFwiaXRlbS5hY3Rpb25cXFwiPlxcblxcdFxcdFxcdFxcdDxpbnB1dCA6dHlwZT1cXFwiaXRlbS5pbnB1dFxcXCJcXG5cXHRcXHRcXHRcXHRcXHQ6dmFsdWU9XFxcIml0ZW0udmFsdWVcXFwiXFxuXFx0XFx0XFx0XFx0XFx0OnBsYWNlaG9sZGVyPVxcXCJpdGVtLnRleHRcXFwiXFxuXFx0XFx0XFx0XFx0XFx0cmVxdWlyZWQ+XFxuXFx0XFx0XFx0XFx0PGlucHV0IHR5cGU9XFxcInN1Ym1pdFxcXCIgdmFsdWU9XFxcIlxcXCIgY2xhc3M9XFxcImljb24tY29uZmlybVxcXCI+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcblxcdFxcdFxcdDwhLS0gY2hlY2tib3ggLS0+XFxuXFx0XFx0XFx0PHRlbXBsYXRlIHYtZWxzZT5cXG5cXHRcXHRcXHRcXHQ8IS0tIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAtLT5cXG5cXHRcXHRcXHRcXHQ8aW5wdXQgOmlkPVxcXCJrZXlcXFwiIHYtbW9kZWw9XFxcIml0ZW0ubW9kZWxcXFwiXFxuXFx0XFx0XFx0XFx0XFx0OnR5cGU9XFxcIml0ZW0uaW5wdXRcXFwiXFxuXFx0XFx0XFx0XFx0XFx0OmNsYXNzPVxcXCJpdGVtLmlucHV0XFxcIlxcblxcdFxcdFxcdFxcdFxcdEBjaGFuZ2U9XFxcIml0ZW0uYWN0aW9uXFxcIj5cXG5cXHRcXHRcXHRcXHQ8bGFiZWwgOmZvcj1cXFwia2V5XFxcIiBAY2xpY2suc3RvcC5wcmV2ZW50PVxcXCJpdGVtLmFjdGlvblxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0e3sgaXRlbS50ZXh0IH19XFxuXFx0XFx0XFx0XFx0PC9sYWJlbD5cXG5cXHRcXHRcXHQ8L3RlbXBsYXRlPlxcblxcdFxcdDwvc3Bhbj5cXG5cXG5cXHRcXHQ8IS0tIElmIGl0ZW0uYWN0aW9uIGlzIHNldCBpbnN0ZWFkLCBhIGJ1dHRvbiB3aWxsIGJlIHVzZWQgLS0+XFxuXFx0XFx0PGJ1dHRvbiB2LWVsc2UtaWY9XFxcIml0ZW0uYWN0aW9uXFxcIlxcblxcdFxcdFxcdGNsYXNzPVxcXCJtZW51aXRlbSBmb2N1c2FibGVcXFwiXFxuXFx0XFx0XFx0OmNsYXNzPVxcXCJ7YWN0aXZlOiBpdGVtLmFjdGl2ZX1cXFwiXFxuXFx0XFx0XFx0OmRpc2FibGVkPVxcXCJpdGVtLmRpc2FibGVkXFxcIlxcblxcdFxcdFxcdEBjbGljay5zdG9wLnByZXZlbnQ9XFxcIml0ZW0uYWN0aW9uXFxcIj5cXG5cXHRcXHRcXHQ8c3BhbiA6Y2xhc3M9XFxcIml0ZW0uaWNvblxcXCIgLz5cXG5cXHRcXHRcXHQ8cCB2LWlmPVxcXCJpdGVtLnRleHQgJiYgaXRlbS5sb25ndGV4dFxcXCI+XFxuXFx0XFx0XFx0XFx0PHN0cm9uZyBjbGFzcz1cXFwibWVudWl0ZW0tdGV4dFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0e3sgaXRlbS50ZXh0IH19XFxuXFx0XFx0XFx0XFx0PC9zdHJvbmc+PGJyPlxcblxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCJtZW51aXRlbS10ZXh0LWRldGFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0e3sgaXRlbS5sb25ndGV4dCB9fVxcblxcdFxcdFxcdFxcdDwvc3Bhbj5cXG5cXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PHNwYW4gdi1lbHNlLWlmPVxcXCJpdGVtLnRleHRcXFwiPlxcblxcdFxcdFxcdFxcdHt7IGl0ZW0udGV4dCB9fVxcblxcdFxcdFxcdDwvc3Bhbj5cXG5cXHRcXHRcXHQ8cCB2LWVsc2UtaWY9XFxcIml0ZW0ubG9uZ3RleHRcXFwiPlxcblxcdFxcdFxcdFxcdHt7IGl0ZW0ubG9uZ3RleHQgfX1cXG5cXHRcXHRcXHQ8L3A+XFxuXFx0XFx0PC9idXR0b24+XFxuXFxuXFx0XFx0PCEtLSBJZiBpdGVtLmxvbmd0ZXh0IGlzIHNldCBBTkQgdGhlIGl0ZW0gZG9lcyBub3QgaGF2ZSBhbiBhY3Rpb24gLS0+XFxuXFx0XFx0PHNwYW4gdi1lbHNlIGNsYXNzPVxcXCJtZW51aXRlbVxcXCIgOmNsYXNzPVxcXCJ7YWN0aXZlOiBpdGVtLmFjdGl2ZX1cXFwiPlxcblxcdFxcdFxcdDxzcGFuIDpjbGFzcz1cXFwiaXRlbS5pY29uXFxcIiAvPlxcblxcdFxcdFxcdDxwIHYtaWY9XFxcIml0ZW0udGV4dCAmJiBpdGVtLmxvbmd0ZXh0XFxcIj5cXG5cXHRcXHRcXHRcXHQ8c3Ryb25nIGNsYXNzPVxcXCJtZW51aXRlbS10ZXh0XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHR7eyBpdGVtLnRleHQgfX1cXG5cXHRcXHRcXHRcXHQ8L3N0cm9uZz48YnI+XFxuXFx0XFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIm1lbnVpdGVtLXRleHQtZGV0YWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHR7eyBpdGVtLmxvbmd0ZXh0IH19XFxuXFx0XFx0XFx0XFx0PC9zcGFuPlxcblxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHQ8c3BhbiB2LWVsc2UtaWY9XFxcIml0ZW0udGV4dFxcXCI+XFxuXFx0XFx0XFx0XFx0e3sgaXRlbS50ZXh0IH19XFxuXFx0XFx0XFx0PC9zcGFuPlxcblxcdFxcdFxcdDxwIHYtZWxzZS1pZj1cXFwiaXRlbS5sb25ndGV4dFxcXCI+XFxuXFx0XFx0XFx0XFx0e3sgaXRlbS5sb25ndGV4dCB9fVxcblxcdFxcdFxcdDwvcD5cXG5cXHRcXHQ8L3NwYW4+XFxuXFx0PC9saT5cXG48L3RlbXBsYXRlPlxcblxcbjxzY3JpcHQ+XFxuZXhwb3J0IGRlZmF1bHQge1xcblxcdG5hbWU6ICdQb3BvdmVyTWVudUl0ZW0nLFxcblxcdHByb3BzOiB7XFxuXFx0XFx0aXRlbToge1xcblxcdFxcdFxcdHR5cGU6IE9iamVjdCxcXG5cXHRcXHRcXHRyZXF1aXJlZDogdHJ1ZSxcXG5cXHRcXHRcXHRkZWZhdWx0OiAoKSA9PiB7XFxuXFx0XFx0XFx0XFx0cmV0dXJuIHtcXG5cXHRcXHRcXHRcXHRcXHRrZXk6ICduZXh0Y2xvdWQtbGluaycsXFxuXFx0XFx0XFx0XFx0XFx0aHJlZjogJ2h0dHBzOi8vbmV4dGNsb3VkLmNvbScsXFxuXFx0XFx0XFx0XFx0XFx0aWNvbjogJ2ljb24tbGlua3MnLFxcblxcdFxcdFxcdFxcdFxcdHRleHQ6ICdOZXh0Y2xvdWQnLFxcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9LFxcblxcdFxcdFxcdC8vIGNoZWNrIHRoZSBpbnB1dCB0eXBlc1xcblxcdFxcdFxcdC8vIFRPRE86IGFkZCBtb3JlIHZhbGlkYXRpb24gb2YgdHlwZXNcXG5cXHRcXHRcXHR2YWxpZGF0b3I6IGl0ZW0gPT4ge1xcblxcdFxcdFxcdFxcdC8vIFRPRE86IHN1cHBvcnQgcmFkaW9cXG5cXHRcXHRcXHRcXHRpZiAoaXRlbS5pbnB1dCkge1xcblxcdFxcdFxcdFxcdFxcdHJldHVybiBbJ3RleHQnLCAnY2hlY2tib3gnXS5pbmRleE9mKGl0ZW0uaW5wdXQpICE9PSAtMVxcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHRcXHRyZXR1cm4gdHJ1ZVxcblxcdFxcdFxcdH0sXFxuXFx0XFx0fSxcXG5cXHR9LFxcblxcdGNvbXB1dGVkOiB7XFxuXFx0XFx0Ly8gcmFuZG9tIGtleSBmb3IgaW5wdXRzIGJpbmRpbmcgaWYgbm90IHByb3ZpZGVkXFxuXFx0XFx0a2V5KCkge1xcblxcdFxcdFxcdHJldHVybiB0aGlzLml0ZW0ua2V5XFxuXFx0XFx0XFx0XFx0PyB0aGlzLml0ZW0ua2V5XFxuXFx0XFx0XFx0XFx0OiBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxNiAqIDEwMDAwMDApLnRvU3RyaW5nKDE2KVxcblxcdFxcdH0sXFxuXFx0XFx0aWNvbklzVXJsKCkge1xcblxcdFxcdFxcdHRyeSB7XFxuXFx0XFx0XFx0XFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ld1xcblxcdFxcdFxcdFxcdG5ldyBVUkwodGhpcy5pdGVtLmljb24pXFxuXFx0XFx0XFx0XFx0cmV0dXJuIHRydWVcXG5cXHRcXHRcXHR9IGNhdGNoIChfKSB7XFxuXFx0XFx0XFx0XFx0cmV0dXJuIGZhbHNlXFxuXFx0XFx0XFx0fVxcblxcdFxcdH0sXFxuXFx0fSxcXG5cXHRtZXRob2RzOiB7XFxuXFx0XFx0Ly8gYWxsb3cgdXMgdG8gdXNlIGJvdGggbGluayBhbmQgYW4gYWN0aW9uIG9uIGBhYFxcblxcdFxcdC8vIHdlIHN0aWxsIG5lZWQgdG8gbWFrZSBzdXJlIGl0ZW0uYWN0aW9uIGV4aXN0c1xcblxcdFxcdGFjdGlvbihldmVudCkge1xcblxcdFxcdFxcdGlmICh0aGlzLml0ZW0uYWN0aW9uKSB7XFxuXFx0XFx0XFx0XFx0dGhpcy5pdGVtLmFjdGlvbihldmVudClcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fSxcXG5cXHR9LFxcbn1cXG48L3NjcmlwdD5cXG5cXG48c3R5bGUgc2NvcGVkPlxcblxcdGJ1dHRvbi5tZW51aXRlbSB7XFxuXFx0XFx0dGV4dC1hbGlnbjogbGVmdDtcXG5cXHR9XFxuXFxuXFx0YnV0dG9uLm1lbnVpdGVtICoge1xcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHR9XFxuXFxuXFx0YnV0dG9uLm1lbnVpdGVtOmRpc2FibGVkIHtcXG5cXHRcXHRvcGFjaXR5OiAwLjUgIWltcG9ydGFudDtcXG5cXHRcXHRjdXJzb3I6IGRlZmF1bHQ7XFxuXFx0fVxcblxcblxcdGJ1dHRvbi5tZW51aXRlbTpkaXNhYmxlZCAqIHtcXG5cXHRcXHRjdXJzb3I6IGRlZmF1bHQ7XFxuXFx0fVxcblxcblxcdC5tZW51aXRlbS5hY3RpdmUge1xcblxcdFxcdGJveC1zaGFkb3c6IGluc2V0IDJweCAwIHZhcigtLWNvbG9yLXByaW1hcnkpO1xcblxcdFxcdGJvcmRlci1yYWRpdXM6IDA7XFxuXFx0fVxcbjwvc3R5bGU+XFxuXFxuPHN0eWxlIGxhbmc9XFxcInNjc3NcXFwiIHNjb3BlZD5cXG5saSB7XFxuXFx0ZGlzcGxheTogZmxleDtcXG5cXHRmbGV4OiAwIDAgYXV0bztcXG5cXG5cXHQmLmhpZGRlbiB7XFxuXFx0XFx0ZGlzcGxheTogbm9uZTtcXG5cXHR9XFxuXFxuXFx0PiBidXR0b24sXFxuXFx0PiBhLFxcblxcdD4gLm1lbnVpdGVtIHtcXG5cXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0bGluZS1oZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRib3JkZXI6IDA7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogMDsgLy8gb3RoZXJ3aXNlIFNhZmFyaSB3aWxsIGN1dCB0aGUgYm9yZGVyLXJhZGl1cyBhcmVhXFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG5cXHRcXHRoZWlnaHQ6IGF1dG87XFxuXFx0XFx0bWFyZ2luOiAwO1xcblxcdFxcdHBhZGRpbmc6IDA7XFxuXFx0XFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcXG5cXHRcXHRib3gtc2hhZG93OiBub25lO1xcblxcdFxcdHdpZHRoOiAxMDAlO1xcblxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcblxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfbm9ybWFsO1xcblxcblxcdFxcdC8vIFRPRE8gc3BsaXQgaW50byBpbmRpdmlkdWFsIGNvbXBvbmVudHMgZm9yIHJlYWRhYmlsaXR5XFxuXFx0XFx0c3BhbltjbGFzc149J2ljb24tJ10sXFxuXFx0XFx0c3BhbltjbGFzcyo9JyBpY29uLSddLFxcblxcdFxcdCZbY2xhc3NePSdpY29uLSddLFxcblxcdFxcdCZbY2xhc3MqPScgaWNvbi0nXSB7XFxuXFx0XFx0XFx0bWluLXdpZHRoOiAwOyAvKiBPdmVyd3JpdGUgaWNvbnMqL1xcblxcdFxcdFxcdG1pbi1oZWlnaHQ6IDA7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1wb3NpdGlvbjogI3skaWNvbi1tYXJnaW59IGNlbnRlcjtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXNpemU6ICRpY29uLXNpemU7XFxuXFx0XFx0fVxcblxcblxcdFxcdHNwYW5bY2xhc3NePSdpY29uLSddLFxcblxcdFxcdHNwYW5bY2xhc3MqPScgaWNvbi0nXSB7XFxuXFx0XFx0XFx0LyogS2VlcCBwYWRkaW5nIHRvIGRlZmluZSB0aGUgd2lkdGggdG9cXG5cXHRcXHRcXHRcXHRhc3N1cmUgY29ycmVjdCBwb3NpdGlvbiBvZiBhIHBvc3NpYmxlIHRleHQgKi9cXG5cXHRcXHRcXHRwYWRkaW5nOiAjeyRjbGlja2FibGUtYXJlYSAvIDJ9IDAgI3skY2xpY2thYmxlLWFyZWEgLyAyfSAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIElmIG5vIGljb25zIHNldCwgZm9yY2UgbGVmdCBtYXJnaW4gdG8gYWxpZ25cXG5cXHRcXHQmOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSkge1xcblxcdFxcdFxcdD4gc3BhbixcXG5cXHRcXHRcXHQ+IGlucHV0LFxcblxcdFxcdFxcdD4gZm9ybSB7XFxuXFx0XFx0XFx0XFx0Jjpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pOmZpcnN0LWNoaWxkIHtcXG5cXHRcXHRcXHRcXHRcXHRtYXJnaW4tbGVmdDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcblxcdFxcdCZbY2xhc3NePSdpY29uLSddLFxcblxcdFxcdCZbY2xhc3MqPScgaWNvbi0nXSB7XFxuXFx0XFx0XFx0cGFkZGluZzogMCAkaWNvbi1tYXJnaW4gMCAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0fVxcblxcblxcdFxcdCY6bm90KDpkaXNhYmxlZCk6aG92ZXIsXFxuXFx0XFx0Jjpub3QoOmRpc2FibGVkKTpmb2N1cyxcXG5cXHRcXHQmOm5vdCg6ZGlzYWJsZWQpLmFjdGl2ZSB7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbCAhaW1wb3J0YW50O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvKiBwcmV2ZW50IC5hY3Rpb24gY2xhc3MgdG8gYnJlYWsgdGhlIGRlc2lnbiAqL1xcblxcdFxcdCYuYWN0aW9uIHtcXG5cXHRcXHRcXHRwYWRkaW5nOiBpbmhlcml0ICFpbXBvcnRhbnQ7XFxuXFx0XFx0fVxcblxcblxcdFxcdD4gc3BhbiB7XFxuXFx0XFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIGxvbmcgdGV4dCBhcmVhXFxuXFx0XFx0PiBwIHtcXG5cXHRcXHRcXHR3aWR0aDogMTUwcHg7XFxuXFx0XFx0XFx0bGluZS1oZWlnaHQ6IDEuNmVtO1xcblxcdFxcdFxcdHBhZGRpbmc6IDhweCAwO1xcblxcdFxcdFxcdHdoaXRlLXNwYWNlOiBub3JtYWw7XFxuXFxuXFx0XFx0XFx0Ly8gaW4gY2FzZSB0aGVyZSBhcmUgbm8gc3BhY2VzIGxpa2UgbG9uZyBlbWFpbCBhZGRyZXNzZXNcXG5cXHRcXHRcXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdFxcdFxcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvLyBUT0RPOiBkbyB3ZSByZWFsbHkgc3VwcG9ydHMgaXQ/XFxuXFx0XFx0PiBzZWxlY3Qge1xcblxcdFxcdFxcdG1hcmdpbjogMDtcXG5cXHRcXHRcXHRtYXJnaW4tbGVmdDogNnB4O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvKiBBZGQgcGFkZGluZyBpZiBjb250YWlucyBpY29uK3RleHQgKi9cXG5cXHRcXHQmOm5vdCg6ZW1wdHkpIHtcXG5cXHRcXHRcXHRwYWRkaW5nLXJpZ2h0OiAkaWNvbi1tYXJnaW4gIWltcG9ydGFudDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0LyogREVQUkVDQVRFRCEgb2xkIGltZyBpbiBwb3BvdmVyIGZhbGxiYWNrXFxuXFx0XFx0XFx0KiBUT0RPOiB0byByZW1vdmUgKi9cXG5cXHRcXHQ+IGltZyB7XFxuXFx0XFx0XFx0d2lkdGg6ICRpY29uLXNpemU7XFxuXFx0XFx0XFx0cGFkZGluZzogJGljb24tbWFyZ2luO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvKiBjaGVja2JveC9yYWRpbyBmaXhlcyAqL1xcblxcdFxcdD4gaW5wdXQucmFkaW8gKyBsYWJlbCxcXG5cXHRcXHQ+IGlucHV0LmNoZWNrYm94ICsgbGFiZWwge1xcblxcdFxcdFxcdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcXG5cXHRcXHRcXHR3aWR0aDogMTAwJTtcXG5cXHRcXHR9XFxuXFx0XFx0PiBpbnB1dC5jaGVja2JveCArIGxhYmVsOjpiZWZvcmUge1xcblxcdFxcdFxcdG1hcmdpbjogLTJweCAxM3B4IDA7XFxuXFx0XFx0fVxcblxcdFxcdD4gaW5wdXQucmFkaW8gKyBsYWJlbDo6YmVmb3JlIHtcXG5cXHRcXHRcXHRtYXJnaW46IC0ycHggMTJweCAwO1xcblxcdFxcdH1cXG5cXHRcXHQ+IGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1pbWFnZV0pIHtcXG5cXHRcXHRcXHR3aWR0aDogMTUwcHg7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIEZvcm1zICYgdGV4dCBpbnB1dHNcXG5cXHRcXHRmb3JtIHtcXG5cXHRcXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdFxcdGZsZXg6IDEgMSBhdXRvO1xcblxcdFxcdFxcdC8qIHB1dCBhIHNtYWxsIHNwYWNlIGJldHdlZW4gdGV4dCBhbmQgZm9ybVxcblxcdFxcdFxcdFxcdGlmIHRoZXJlIGlzIGFuIGVsZW1lbnQgYmVmb3JlICovXFxuXFx0XFx0XFx0Jjpub3QoOmZpcnN0LWNoaWxkKSAge1xcblxcdFxcdFxcdFxcdG1hcmdpbi1sZWZ0OiA1cHg7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXHRcXHQvKiBubyBtYXJnaW4gaWYgaGlkZGVuIHNwYW4gYmVmb3JlICovXFxuXFx0XFx0PiBzcGFuLmhpZGRlbiArIGZvcm0sXFxuXFx0XFx0PiBzcGFuW3N0eWxlKj0nZGlzcGxheTpub25lJ10gKyBmb3JtIHtcXG5cXHRcXHRcXHRtYXJnaW4tbGVmdDogMDtcXG5cXHRcXHR9XFxuXFx0XFx0LyogSW5wdXRzIGluc2lkZSBwb3BvdmVyIHN1cHBvcnRzIHRleHQsIHN1Ym1pdCAmIHJlc2V0ICovXFxuXFx0XFx0aW5wdXQge1xcblxcdFxcdFxcdG1pbi13aWR0aDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdG1heC1oZWlnaHQ6ICN7JGNsaWNrYWJsZS1hcmVhIC0gNHB4fTsgLyogdHdpY2UgdGhlIGVsZW1lbnQgbWFyZ2luLXkgKi9cXG5cXHRcXHRcXHRtYXJnaW46IDJweCAwO1xcblxcdFxcdFxcdGZsZXg6IDEgMSBhdXRvO1xcblxcdFxcdFxcdC8vIHNwYWNlIGJldHdlZW4gaW5saW5lIGlucHV0c1xcblxcdFxcdFxcdCY6bm90KDpmaXJzdC1jaGlsZCkge1xcblxcdFxcdFxcdFxcdG1hcmdpbi1sZWZ0OiA1cHg7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Ly8gVE9ETzogZG8gdGhhdCBpbiBqcywgc2hvdWxkIGJlIGNsZWFuZXJcXG5cXHQvKiBjc3MgaGFjaywgb25seSBmaXJzdCBub3QgaGlkZGVuICovXFxuXFx0Jjpub3QoLmhpZGRlbik6bm90KFtzdHlsZSo9J2Rpc3BsYXk6bm9uZSddKSB7XFxuXFx0XFx0JjpmaXJzdC1vZi10eXBlIHtcXG5cXHRcXHRcXHQ+IGJ1dHRvbiwgPiBhLCA+IC5tZW51aXRlbSB7XFxuXFx0XFx0XFx0XFx0PiBmb3JtLCA+IGlucHV0IHtcXG5cXHRcXHRcXHRcXHRcXHRtYXJnaW4tdG9wOiAkaWNvbi1tYXJnaW4gLSAycHg7IC8vIG1pbnVzIHRoZSBpbnB1dCBtYXJnaW5cXG5cXHRcXHRcXHRcXHR9XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXHRcXHQmOmxhc3Qtb2YtdHlwZSB7XFxuXFx0XFx0XFx0PiBidXR0b24sID4gYSwgPiAubWVudWl0ZW0ge1xcblxcdFxcdFxcdFxcdD4gZm9ybSwgPiBpbnB1dCB7XFxuXFx0XFx0XFx0XFx0XFx0bWFyZ2luLWJvdHRvbTogJGljb24tbWFyZ2luIC0gMnB4OyAvLyBtaW51cyB0aGUgaW5wdXQgbWFyZ2luXFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFx0fVxcblxcdD4gYnV0dG9uIHtcXG5cXHRcXHRwYWRkaW5nOiAwO1xcblxcdFxcdHNwYW4ge1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuPC9zdHlsZT5cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qXG4gIE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG4gIEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG4vLyBjc3MgYmFzZSBjb2RlLCBpbmplY3RlZCBieSB0aGUgY3NzLWxvYWRlclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGZ1bmMtbmFtZXNcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcpIHtcbiAgdmFyIGxpc3QgPSBbXTsgLy8gcmV0dXJuIHRoZSBsaXN0IG9mIG1vZHVsZXMgYXMgY3NzIHN0cmluZ1xuXG4gIGxpc3QudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHZhciBjb250ZW50ID0gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtKTtcblxuICAgICAgaWYgKGl0ZW1bMl0pIHtcbiAgICAgICAgcmV0dXJuIFwiQG1lZGlhIFwiLmNvbmNhdChpdGVtWzJdLCBcIiB7XCIpLmNvbmNhdChjb250ZW50LCBcIn1cIik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb250ZW50O1xuICAgIH0pLmpvaW4oXCJcIik7XG4gIH07IC8vIGltcG9ydCBhIGxpc3Qgb2YgbW9kdWxlcyBpbnRvIHRoZSBsaXN0XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jLW5hbWVzXG5cblxuICBsaXN0LmkgPSBmdW5jdGlvbiAobW9kdWxlcywgbWVkaWFRdWVyeSwgZGVkdXBlKSB7XG4gICAgaWYgKHR5cGVvZiBtb2R1bGVzID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgIG1vZHVsZXMgPSBbW251bGwsIG1vZHVsZXMsIFwiXCJdXTtcbiAgICB9XG5cbiAgICB2YXIgYWxyZWFkeUltcG9ydGVkTW9kdWxlcyA9IHt9O1xuXG4gICAgaWYgKGRlZHVwZSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItZGVzdHJ1Y3R1cmluZ1xuICAgICAgICB2YXIgaWQgPSB0aGlzW2ldWzBdO1xuXG4gICAgICAgIGlmIChpZCAhPSBudWxsKSB7XG4gICAgICAgICAgYWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpZF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IG1vZHVsZXMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgaXRlbSA9IFtdLmNvbmNhdChtb2R1bGVzW19pXSk7XG5cbiAgICAgIGlmIChkZWR1cGUgJiYgYWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpdGVtWzBdXSkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29udGludWVcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChtZWRpYVF1ZXJ5KSB7XG4gICAgICAgIGlmICghaXRlbVsyXSkge1xuICAgICAgICAgIGl0ZW1bMl0gPSBtZWRpYVF1ZXJ5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1bMl0gPSBcIlwiLmNvbmNhdChtZWRpYVF1ZXJ5LCBcIiBhbmQgXCIpLmNvbmNhdChpdGVtWzJdKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsaXN0LnB1c2goaXRlbSk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiBsaXN0O1xufTsiLCJcInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gX3NsaWNlZFRvQXJyYXkoYXJyLCBpKSB7IHJldHVybiBfYXJyYXlXaXRoSG9sZXMoYXJyKSB8fCBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB8fCBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkoYXJyLCBpKSB8fCBfbm9uSXRlcmFibGVSZXN0KCk7IH1cblxuZnVuY3Rpb24gX25vbkl0ZXJhYmxlUmVzdCgpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKTsgfVxuXG5mdW5jdGlvbiBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkobywgbWluTGVuKSB7IGlmICghbykgcmV0dXJuOyBpZiAodHlwZW9mIG8gPT09IFwic3RyaW5nXCIpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pOyB2YXIgbiA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvKS5zbGljZSg4LCAtMSk7IGlmIChuID09PSBcIk9iamVjdFwiICYmIG8uY29uc3RydWN0b3IpIG4gPSBvLmNvbnN0cnVjdG9yLm5hbWU7IGlmIChuID09PSBcIk1hcFwiIHx8IG4gPT09IFwiU2V0XCIpIHJldHVybiBBcnJheS5mcm9tKG8pOyBpZiAobiA9PT0gXCJBcmd1bWVudHNcIiB8fCAvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKSkgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7IH1cblxuZnVuY3Rpb24gX2FycmF5TGlrZVRvQXJyYXkoYXJyLCBsZW4pIHsgaWYgKGxlbiA9PSBudWxsIHx8IGxlbiA+IGFyci5sZW5ndGgpIGxlbiA9IGFyci5sZW5ndGg7IGZvciAodmFyIGkgPSAwLCBhcnIyID0gbmV3IEFycmF5KGxlbik7IGkgPCBsZW47IGkrKykgeyBhcnIyW2ldID0gYXJyW2ldOyB9IHJldHVybiBhcnIyOyB9XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHsgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwidW5kZWZpbmVkXCIgfHwgIShTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGFycikpKSByZXR1cm47IHZhciBfYXJyID0gW107IHZhciBfbiA9IHRydWU7IHZhciBfZCA9IGZhbHNlOyB2YXIgX2UgPSB1bmRlZmluZWQ7IHRyeSB7IGZvciAodmFyIF9pID0gYXJyW1N5bWJvbC5pdGVyYXRvcl0oKSwgX3M7ICEoX24gPSAoX3MgPSBfaS5uZXh0KCkpLmRvbmUpOyBfbiA9IHRydWUpIHsgX2Fyci5wdXNoKF9zLnZhbHVlKTsgaWYgKGkgJiYgX2Fyci5sZW5ndGggPT09IGkpIGJyZWFrOyB9IH0gY2F0Y2ggKGVycikgeyBfZCA9IHRydWU7IF9lID0gZXJyOyB9IGZpbmFsbHkgeyB0cnkgeyBpZiAoIV9uICYmIF9pW1wicmV0dXJuXCJdICE9IG51bGwpIF9pW1wicmV0dXJuXCJdKCk7IH0gZmluYWxseSB7IGlmIChfZCkgdGhyb3cgX2U7IH0gfSByZXR1cm4gX2FycjsgfVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRoSG9sZXMoYXJyKSB7IGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBhcnI7IH1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0pIHtcbiAgdmFyIF9pdGVtID0gX3NsaWNlZFRvQXJyYXkoaXRlbSwgNCksXG4gICAgICBjb250ZW50ID0gX2l0ZW1bMV0sXG4gICAgICBjc3NNYXBwaW5nID0gX2l0ZW1bM107XG5cbiAgaWYgKHR5cGVvZiBidG9hID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgICB2YXIgYmFzZTY0ID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoY3NzTWFwcGluZykpKSk7XG4gICAgdmFyIGRhdGEgPSBcInNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFwiLmNvbmNhdChiYXNlNjQpO1xuICAgIHZhciBzb3VyY2VNYXBwaW5nID0gXCIvKiMgXCIuY29uY2F0KGRhdGEsIFwiICovXCIpO1xuICAgIHZhciBzb3VyY2VVUkxzID0gY3NzTWFwcGluZy5zb3VyY2VzLm1hcChmdW5jdGlvbiAoc291cmNlKSB7XG4gICAgICByZXR1cm4gXCIvKiMgc291cmNlVVJMPVwiLmNvbmNhdChjc3NNYXBwaW5nLnNvdXJjZVJvb3QgfHwgXCJcIikuY29uY2F0KHNvdXJjZSwgXCIgKi9cIik7XG4gICAgfSk7XG4gICAgcmV0dXJuIFtjb250ZW50XS5jb25jYXQoc291cmNlVVJMcykuY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9pbihcIlxcblwiKTtcbiAgfVxuXG4gIHJldHVybiBbY29udGVudF0uam9pbihcIlxcblwiKTtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHVybCwgb3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICBvcHRpb25zID0ge307XG4gIH0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlLCBuby1wYXJhbS1yZWFzc2lnblxuXG5cbiAgdXJsID0gdXJsICYmIHVybC5fX2VzTW9kdWxlID8gdXJsLmRlZmF1bHQgOiB1cmw7XG5cbiAgaWYgKHR5cGVvZiB1cmwgIT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gdXJsO1xuICB9IC8vIElmIHVybCBpcyBhbHJlYWR5IHdyYXBwZWQgaW4gcXVvdGVzLCByZW1vdmUgdGhlbVxuXG5cbiAgaWYgKC9eWydcIl0uKlsnXCJdJC8udGVzdCh1cmwpKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgdXJsID0gdXJsLnNsaWNlKDEsIC0xKTtcbiAgfVxuXG4gIGlmIChvcHRpb25zLmhhc2gpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICB1cmwgKz0gb3B0aW9ucy5oYXNoO1xuICB9IC8vIFNob3VsZCB1cmwgYmUgd3JhcHBlZD9cbiAgLy8gU2VlIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTMvI3VybHNcblxuXG4gIGlmICgvW1wiJygpIFxcdFxcbl0vLnRlc3QodXJsKSB8fCBvcHRpb25zLm5lZWRRdW90ZXMpIHtcbiAgICByZXR1cm4gXCJcXFwiXCIuY29uY2F0KHVybC5yZXBsYWNlKC9cIi9nLCAnXFxcXFwiJykucmVwbGFjZSgvXFxuL2csIFwiXFxcXG5cIiksIFwiXFxcIlwiKTtcbiAgfVxuXG4gIHJldHVybiB1cmw7XG59OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25CdXR0b24udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MmU5MjliNGYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25DaGVja2JveC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD03NGNmMWQ2ZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvbklucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVlMDBlYTM5Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uTGluay52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD03Yjg1YjgwZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvblJhZGlvLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTAzMWIzZmNhJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uUm91dGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTNhNmZlZWEyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uU2VwYXJhdG9yLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY0YWMzYTIyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uVGV4dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02ODU0N2EyZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvblRleHRFZGl0YWJsZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02Mzc3YjBhMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvbnMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NGY0NTg2NGImbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBDb250ZW50LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTcxNzU4YjBmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1kMzkwOGMwYSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25DYXB0aW9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTZlZTY1ODIyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbkNvdW50ZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MjMxZDdkYWYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uSWNvbkJ1bGxldC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xNTg5YTgxZSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25JY29uQ29sbGFwc2libGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9M2M0YWNmYjMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uSXRlbS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZsYW5nPXNjc3MmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0lucHV0Q29uZmlybUNhbmNlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZsYW5nPXNjc3MmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25OZXcudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9Y2M2MzUzYTImbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uTmV3SXRlbS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZsYW5nPXNjc3MmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25TZXR0aW5ncy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05YzljMzk3ZSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25Ub2dnbGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTdlYmVhZTMmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBTZXR0aW5nc0RpYWxvZy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xZDNhYmNhZSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcFNldHRpbmdzU2VjdGlvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1hMWZhNTUyMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcFNpZGViYXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NGEyYTVmMmYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBTaWRlYmFyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0xJmxhbmc9c2NzcyZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwU2lkZWJhclRhYnMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NTc3MmU0NGQmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBTaWRlYmFyVGFiLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWU1ZGJmZDc2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXZhdGFyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTEwMGUzYjZmJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQnJlYWRjcnVtYi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0wMzIxNmJhMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0JyZWFkY3J1bWJzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTc2NTBlZjcxJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29sb3JQaWNrZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9ZWUzZjQyMWEmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db250ZW50LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTM3ZjAzNTdhJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRW1wdHlDb250ZW50LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWE2OGI4NDYyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTGlzdEl0ZW1JY29uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTdmZTk1YThmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTW9kYWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NDdkYjc1YWEmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9FbGxpcHNpc2VkT3B0aW9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTAyNmMzZGVmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUG9wb3Zlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZsYW5nPXNjc3MmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BvcG92ZXJNZW51LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTBhMGViNzE5Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0xJmlkPTUxMmVhNzY4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXV0b0NvbXBsZXRlUmVzdWx0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTZjYjU4YWZhJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTWVudGlvbkJ1YmJsZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02OWY0MGVjOCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1JpY2hDb250ZW50ZWRpdGFibGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NTU0ZDM3ZGEmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9SaWNoQ29udGVudGVkaXRhYmxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0xJmxhbmc9c2NzcyZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2V0dGluZ3NTZWN0aW9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTkxMWMxYzU2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVXNlckJ1YmJsZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD01YzBlMjFhZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uU3BhY2VyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTljNzBiZWRhJnNjb3BlZD10cnVlJmxhbmc9Y3NzJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTUxMmVhNzY4JnNjb3BlZD10cnVlJmxhbmc9Y3NzJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsIlwidXNlIHN0cmljdFwiO1xuXG52YXIgaXNPbGRJRSA9IGZ1bmN0aW9uIGlzT2xkSUUoKSB7XG4gIHZhciBtZW1vO1xuICByZXR1cm4gZnVuY3Rpb24gbWVtb3JpemUoKSB7XG4gICAgaWYgKHR5cGVvZiBtZW1vID09PSAndW5kZWZpbmVkJykge1xuICAgICAgLy8gVGVzdCBmb3IgSUUgPD0gOSBhcyBwcm9wb3NlZCBieSBCcm93c2VyaGFja3NcbiAgICAgIC8vIEBzZWUgaHR0cDovL2Jyb3dzZXJoYWNrcy5jb20vI2hhY2stZTcxZDg2OTJmNjUzMzQxNzNmZWU3MTVjMjIyY2I4MDVcbiAgICAgIC8vIFRlc3RzIGZvciBleGlzdGVuY2Ugb2Ygc3RhbmRhcmQgZ2xvYmFscyBpcyB0byBhbGxvdyBzdHlsZS1sb2FkZXJcbiAgICAgIC8vIHRvIG9wZXJhdGUgY29ycmVjdGx5IGludG8gbm9uLXN0YW5kYXJkIGVudmlyb25tZW50c1xuICAgICAgLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlci9pc3N1ZXMvMTc3XG4gICAgICBtZW1vID0gQm9vbGVhbih3aW5kb3cgJiYgZG9jdW1lbnQgJiYgZG9jdW1lbnQuYWxsICYmICF3aW5kb3cuYXRvYik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lbW87XG4gIH07XG59KCk7XG5cbnZhciBnZXRUYXJnZXQgPSBmdW5jdGlvbiBnZXRUYXJnZXQoKSB7XG4gIHZhciBtZW1vID0ge307XG4gIHJldHVybiBmdW5jdGlvbiBtZW1vcml6ZSh0YXJnZXQpIHtcbiAgICBpZiAodHlwZW9mIG1lbW9bdGFyZ2V0XSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHZhciBzdHlsZVRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGFyZ2V0KTsgLy8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcblxuICAgICAgaWYgKHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCAmJiBzdHlsZVRhcmdldCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIFRoaXMgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24gaWYgYWNjZXNzIHRvIGlmcmFtZSBpcyBibG9ja2VkXG4gICAgICAgICAgLy8gZHVlIHRvIGNyb3NzLW9yaWdpbiByZXN0cmljdGlvbnNcbiAgICAgICAgICBzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgICAgICAgICBzdHlsZVRhcmdldCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbWVtb1t0YXJnZXRdID0gc3R5bGVUYXJnZXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lbW9bdGFyZ2V0XTtcbiAgfTtcbn0oKTtcblxudmFyIHN0eWxlc0luRG9tID0gW107XG5cbmZ1bmN0aW9uIGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpIHtcbiAgdmFyIHJlc3VsdCA9IC0xO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzSW5Eb20ubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoc3R5bGVzSW5Eb21baV0uaWRlbnRpZmllciA9PT0gaWRlbnRpZmllcikge1xuICAgICAgcmVzdWx0ID0gaTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIG1vZHVsZXNUb0RvbShsaXN0LCBvcHRpb25zKSB7XG4gIHZhciBpZENvdW50TWFwID0ge307XG4gIHZhciBpZGVudGlmaWVycyA9IFtdO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAgIHZhciBpdGVtID0gbGlzdFtpXTtcbiAgICB2YXIgaWQgPSBvcHRpb25zLmJhc2UgPyBpdGVtWzBdICsgb3B0aW9ucy5iYXNlIDogaXRlbVswXTtcbiAgICB2YXIgY291bnQgPSBpZENvdW50TWFwW2lkXSB8fCAwO1xuICAgIHZhciBpZGVudGlmaWVyID0gXCJcIi5jb25jYXQoaWQsIFwiIFwiKS5jb25jYXQoY291bnQpO1xuICAgIGlkQ291bnRNYXBbaWRdID0gY291bnQgKyAxO1xuICAgIHZhciBpbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuICAgIHZhciBvYmogPSB7XG4gICAgICBjc3M6IGl0ZW1bMV0sXG4gICAgICBtZWRpYTogaXRlbVsyXSxcbiAgICAgIHNvdXJjZU1hcDogaXRlbVszXVxuICAgIH07XG5cbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICBzdHlsZXNJbkRvbVtpbmRleF0ucmVmZXJlbmNlcysrO1xuICAgICAgc3R5bGVzSW5Eb21baW5kZXhdLnVwZGF0ZXIob2JqKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVzSW5Eb20ucHVzaCh7XG4gICAgICAgIGlkZW50aWZpZXI6IGlkZW50aWZpZXIsXG4gICAgICAgIHVwZGF0ZXI6IGFkZFN0eWxlKG9iaiwgb3B0aW9ucyksXG4gICAgICAgIHJlZmVyZW5jZXM6IDFcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlkZW50aWZpZXJzLnB1c2goaWRlbnRpZmllcik7XG4gIH1cblxuICByZXR1cm4gaWRlbnRpZmllcnM7XG59XG5cbmZ1bmN0aW9uIGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKSB7XG4gIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHZhciBhdHRyaWJ1dGVzID0gb3B0aW9ucy5hdHRyaWJ1dGVzIHx8IHt9O1xuXG4gIGlmICh0eXBlb2YgYXR0cmlidXRlcy5ub25jZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB2YXIgbm9uY2UgPSB0eXBlb2YgX193ZWJwYWNrX25vbmNlX18gIT09ICd1bmRlZmluZWQnID8gX193ZWJwYWNrX25vbmNlX18gOiBudWxsO1xuXG4gICAgaWYgKG5vbmNlKSB7XG4gICAgICBhdHRyaWJ1dGVzLm5vbmNlID0gbm9uY2U7XG4gICAgfVxuICB9XG5cbiAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgc3R5bGUuc2V0QXR0cmlidXRlKGtleSwgYXR0cmlidXRlc1trZXldKTtcbiAgfSk7XG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zLmluc2VydCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIG9wdGlvbnMuaW5zZXJ0KHN0eWxlKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG9wdGlvbnMuaW5zZXJ0IHx8ICdoZWFkJyk7XG5cbiAgICBpZiAoIXRhcmdldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmluZCBhIHN0eWxlIHRhcmdldC4gVGhpcyBwcm9iYWJseSBtZWFucyB0aGF0IHRoZSB2YWx1ZSBmb3IgdGhlICdpbnNlcnQnIHBhcmFtZXRlciBpcyBpbnZhbGlkLlwiKTtcbiAgICB9XG5cbiAgICB0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuICB9XG5cbiAgcmV0dXJuIHN0eWxlO1xufVxuXG5mdW5jdGlvbiByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpIHtcbiAgLy8gaXN0YW5idWwgaWdub3JlIGlmXG4gIGlmIChzdHlsZS5wYXJlbnROb2RlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3R5bGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZSk7XG59XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cblxuXG52YXIgcmVwbGFjZVRleHQgPSBmdW5jdGlvbiByZXBsYWNlVGV4dCgpIHtcbiAgdmFyIHRleHRTdG9yZSA9IFtdO1xuICByZXR1cm4gZnVuY3Rpb24gcmVwbGFjZShpbmRleCwgcmVwbGFjZW1lbnQpIHtcbiAgICB0ZXh0U3RvcmVbaW5kZXhdID0gcmVwbGFjZW1lbnQ7XG4gICAgcmV0dXJuIHRleHRTdG9yZS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJyk7XG4gIH07XG59KCk7XG5cbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcoc3R5bGUsIGluZGV4LCByZW1vdmUsIG9iaikge1xuICB2YXIgY3NzID0gcmVtb3ZlID8gJycgOiBvYmoubWVkaWEgPyBcIkBtZWRpYSBcIi5jb25jYXQob2JqLm1lZGlhLCBcIiB7XCIpLmNvbmNhdChvYmouY3NzLCBcIn1cIikgOiBvYmouY3NzOyAvLyBGb3Igb2xkIElFXG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICAqL1xuXG4gIGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG4gICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcyk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpO1xuICAgIHZhciBjaGlsZE5vZGVzID0gc3R5bGUuY2hpbGROb2RlcztcblxuICAgIGlmIChjaGlsZE5vZGVzW2luZGV4XSkge1xuICAgICAgc3R5bGUucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pO1xuICAgIH1cblxuICAgIGlmIChjaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgICAgc3R5bGUuaW5zZXJ0QmVmb3JlKGNzc05vZGUsIGNoaWxkTm9kZXNbaW5kZXhdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGUuYXBwZW5kQ2hpbGQoY3NzTm9kZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFwcGx5VG9UYWcoc3R5bGUsIG9wdGlvbnMsIG9iaikge1xuICB2YXIgY3NzID0gb2JqLmNzcztcbiAgdmFyIG1lZGlhID0gb2JqLm1lZGlhO1xuICB2YXIgc291cmNlTWFwID0gb2JqLnNvdXJjZU1hcDtcblxuICBpZiAobWVkaWEpIHtcbiAgICBzdHlsZS5zZXRBdHRyaWJ1dGUoJ21lZGlhJywgbWVkaWEpO1xuICB9IGVsc2Uge1xuICAgIHN0eWxlLnJlbW92ZUF0dHJpYnV0ZSgnbWVkaWEnKTtcbiAgfVxuXG4gIGlmIChzb3VyY2VNYXAgJiYgdHlwZW9mIGJ0b2EgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgY3NzICs9IFwiXFxuLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxcIi5jb25jYXQoYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKSwgXCIgKi9cIik7XG4gIH0gLy8gRm9yIG9sZCBJRVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAgKi9cblxuXG4gIGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG4gICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuICB9IGVsc2Uge1xuICAgIHdoaWxlIChzdHlsZS5maXJzdENoaWxkKSB7XG4gICAgICBzdHlsZS5yZW1vdmVDaGlsZChzdHlsZS5maXJzdENoaWxkKTtcbiAgICB9XG5cbiAgICBzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcbiAgfVxufVxuXG52YXIgc2luZ2xldG9uID0gbnVsbDtcbnZhciBzaW5nbGV0b25Db3VudGVyID0gMDtcblxuZnVuY3Rpb24gYWRkU3R5bGUob2JqLCBvcHRpb25zKSB7XG4gIHZhciBzdHlsZTtcbiAgdmFyIHVwZGF0ZTtcbiAgdmFyIHJlbW92ZTtcblxuICBpZiAob3B0aW9ucy5zaW5nbGV0b24pIHtcbiAgICB2YXIgc3R5bGVJbmRleCA9IHNpbmdsZXRvbkNvdW50ZXIrKztcbiAgICBzdHlsZSA9IHNpbmdsZXRvbiB8fCAoc2luZ2xldG9uID0gaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpKTtcbiAgICB1cGRhdGUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIGZhbHNlKTtcbiAgICByZW1vdmUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIHRydWUpO1xuICB9IGVsc2Uge1xuICAgIHN0eWxlID0gaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpO1xuICAgIHVwZGF0ZSA9IGFwcGx5VG9UYWcuYmluZChudWxsLCBzdHlsZSwgb3B0aW9ucyk7XG5cbiAgICByZW1vdmUgPSBmdW5jdGlvbiByZW1vdmUoKSB7XG4gICAgICByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuICAgIH07XG4gIH1cblxuICB1cGRhdGUob2JqKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZVN0eWxlKG5ld09iaikge1xuICAgIGlmIChuZXdPYmopIHtcbiAgICAgIGlmIChuZXdPYmouY3NzID09PSBvYmouY3NzICYmIG5ld09iai5tZWRpYSA9PT0gb2JqLm1lZGlhICYmIG5ld09iai5zb3VyY2VNYXAgPT09IG9iai5zb3VyY2VNYXApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUob2JqID0gbmV3T2JqKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVtb3ZlKCk7XG4gICAgfVxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChsaXN0LCBvcHRpb25zKSB7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OyAvLyBGb3JjZSBzaW5nbGUtdGFnIHNvbHV0aW9uIG9uIElFNi05LCB3aGljaCBoYXMgYSBoYXJkIGxpbWl0IG9uIHRoZSAjIG9mIDxzdHlsZT5cbiAgLy8gdGFncyBpdCB3aWxsIGFsbG93IG9uIGEgcGFnZVxuXG4gIGlmICghb3B0aW9ucy5zaW5nbGV0b24gJiYgdHlwZW9mIG9wdGlvbnMuc2luZ2xldG9uICE9PSAnYm9vbGVhbicpIHtcbiAgICBvcHRpb25zLnNpbmdsZXRvbiA9IGlzT2xkSUUoKTtcbiAgfVxuXG4gIGxpc3QgPSBsaXN0IHx8IFtdO1xuICB2YXIgbGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKGxpc3QsIG9wdGlvbnMpO1xuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlKG5ld0xpc3QpIHtcbiAgICBuZXdMaXN0ID0gbmV3TGlzdCB8fCBbXTtcblxuICAgIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3TGlzdCkgIT09ICdbb2JqZWN0IEFycmF5XScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxhc3RJZGVudGlmaWVycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGlkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbaV07XG4gICAgICB2YXIgaW5kZXggPSBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKTtcbiAgICAgIHN0eWxlc0luRG9tW2luZGV4XS5yZWZlcmVuY2VzLS07XG4gICAgfVxuXG4gICAgdmFyIG5ld0xhc3RJZGVudGlmaWVycyA9IG1vZHVsZXNUb0RvbShuZXdMaXN0LCBvcHRpb25zKTtcblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBsYXN0SWRlbnRpZmllcnMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgX2lkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbX2ldO1xuXG4gICAgICB2YXIgX2luZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoX2lkZW50aWZpZXIpO1xuXG4gICAgICBpZiAoc3R5bGVzSW5Eb21bX2luZGV4XS5yZWZlcmVuY2VzID09PSAwKSB7XG4gICAgICAgIHN0eWxlc0luRG9tW19pbmRleF0udXBkYXRlcigpO1xuXG4gICAgICAgIHN0eWxlc0luRG9tLnNwbGljZShfaW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhc3RJZGVudGlmaWVycyA9IG5ld0xhc3RJZGVudGlmaWVycztcbiAgfTtcbn07IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImxpXCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJhY3Rpb25cIiwgY2xhc3M6IHsgXCJhY3Rpb24tLWRpc2FibGVkXCI6IF92bS5kaXNhYmxlZCB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24tYnV0dG9uXCIsXG4gICAgICAgICAgY2xhc3M6IHsgZm9jdXNhYmxlOiBfdm0uaXNGb2N1c2FibGUgfSxcbiAgICAgICAgICBhdHRyczogeyBcImFyaWEtbGFiZWxcIjogX3ZtLmFyaWFMYWJlbCB9LFxuICAgICAgICAgIG9uOiB7IGNsaWNrOiBfdm0ub25DbGljayB9XG4gICAgICAgIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwic3BhblwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24tYnV0dG9uX19pY29uXCIsXG4gICAgICAgICAgICAgIGNsYXNzOiBbX3ZtLmlzSWNvblVybCA/IFwiYWN0aW9uLWJ1dHRvbl9faWNvbi0tdXJsXCIgOiBfdm0uaWNvbl0sXG4gICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZEltYWdlOiBfdm0uaXNJY29uVXJsID8gXCJ1cmwoXCIgKyBfdm0uaWNvbiArIFwiKVwiIDogbnVsbFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW192bS5fdChcImljb25cIildLFxuICAgICAgICAgICAgMlxuICAgICAgICAgICksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfdm0udGl0bGVcbiAgICAgICAgICAgID8gX2MoXCJwXCIsIFtcbiAgICAgICAgICAgICAgICBfYyhcInN0cm9uZ1wiLCB7IHN0YXRpY0NsYXNzOiBcImFjdGlvbi1idXR0b25fX3RpdGxlXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuXFx0XFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLnRpdGxlKSArIFwiXFxuXFx0XFx0XFx0XCIpXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICBfYyhcImJyXCIpLFxuICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFjdGlvbi1idXR0b25fX2xvbmd0ZXh0XCIsXG4gICAgICAgICAgICAgICAgICBkb21Qcm9wczogeyB0ZXh0Q29udGVudDogX3ZtLl9zKF92bS50ZXh0KSB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgIDogX3ZtLmlzTG9uZ1RleHRcbiAgICAgICAgICAgID8gX2MoXCJwXCIsIHtcbiAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24tYnV0dG9uX19sb25ndGV4dFwiLFxuICAgICAgICAgICAgICAgIGRvbVByb3BzOiB7IHRleHRDb250ZW50OiBfdm0uX3MoX3ZtLnRleHQpIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIDogX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwiYWN0aW9uLWJ1dHRvbl9fdGV4dFwiIH0sIFtcbiAgICAgICAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS50ZXh0KSlcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBmYWxzZSA/IF92bS5fdChcImRlZmF1bHRcIikgOiBfdm0uX2UoKVxuICAgICAgICBdLFxuICAgICAgICAyXG4gICAgICApXG4gICAgXVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImxpXCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJhY3Rpb25cIiwgY2xhc3M6IHsgXCJhY3Rpb24tLWRpc2FibGVkXCI6IF92bS5kaXNhYmxlZCB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwic3BhblwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImFjdGlvbi1jaGVja2JveFwiIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcImlucHV0XCIsIHtcbiAgICAgICAgICAgIHJlZjogXCJjaGVja2JveFwiLFxuICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiY2hlY2tib3ggYWN0aW9uLWNoZWNrYm94X19jaGVja2JveFwiLFxuICAgICAgICAgICAgY2xhc3M6IHsgZm9jdXNhYmxlOiBfdm0uaXNGb2N1c2FibGUgfSxcbiAgICAgICAgICAgIGF0dHJzOiB7IGlkOiBfdm0uaWQsIGRpc2FibGVkOiBfdm0uZGlzYWJsZWQsIHR5cGU6IFwiY2hlY2tib3hcIiB9LFxuICAgICAgICAgICAgZG9tUHJvcHM6IHsgY2hlY2tlZDogX3ZtLmNoZWNrZWQsIHZhbHVlOiBfdm0udmFsdWUgfSxcbiAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgIGtleWRvd246IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICEkZXZlbnQudHlwZS5pbmRleE9mKFwia2V5XCIpICYmXG4gICAgICAgICAgICAgICAgICBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZW50ZXJcIiwgMTMsICRldmVudC5rZXksIFwiRW50ZXJcIilcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICRldmVudC5jdHJsS2V5IHx8XG4gICAgICAgICAgICAgICAgICAkZXZlbnQuc2hpZnRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICRldmVudC5hbHRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICRldmVudC5tZXRhS2V5XG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgIHJldHVybiBfdm0uY2hlY2tJbnB1dCgkZXZlbnQpXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGNoYW5nZTogX3ZtLm9uQ2hhbmdlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwibGFiZWxcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcmVmOiBcImxhYmVsXCIsXG4gICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFjdGlvbi1jaGVja2JveF9fbGFiZWxcIixcbiAgICAgICAgICAgICAgYXR0cnM6IHsgZm9yOiBfdm0uaWQgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtfdm0uX3YoX3ZtLl9zKF92bS50ZXh0KSldXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIGZhbHNlID8gX3ZtLl90KFwiZGVmYXVsdFwiKSA6IF92bS5fZSgpXG4gICAgICAgIF0sXG4gICAgICAgIDJcbiAgICAgIClcbiAgICBdXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwibGlcIixcbiAgICB7IHN0YXRpY0NsYXNzOiBcImFjdGlvblwiLCBjbGFzczogeyBcImFjdGlvbi0tZGlzYWJsZWRcIjogX3ZtLmRpc2FibGVkIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJzcGFuXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24taW5wdXRcIixcbiAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgXCJhY3Rpb24taW5wdXQtLXBpY2tlclwiOiBfdm0uaXNEYXRlUGlja2VyVHlwZSxcbiAgICAgICAgICAgIFwiYWN0aW9uLWlucHV0LXBpY2tlci0tZGlzYWJsZWRcIjogX3ZtLmRpc2FibGVkXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvbjogeyBtb3VzZWxlYXZlOiBfdm0ub25MZWF2ZSB9XG4gICAgICAgIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfdm0uX3QoXCJpY29uXCIsIFtcbiAgICAgICAgICAgIF9jKFwic3BhblwiLCB7XG4gICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFjdGlvbi1pbnB1dF9faWNvblwiLFxuICAgICAgICAgICAgICBjbGFzczogW192bS5pc0ljb25VcmwgPyBcImFjdGlvbi1pbnB1dF9faWNvbi0tdXJsXCIgOiBfdm0uaWNvbl0sXG4gICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZEltYWdlOiBfdm0uaXNJY29uVXJsID8gXCJ1cmwoXCIgKyBfdm0uaWNvbiArIFwiKVwiIDogbnVsbFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF0pLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcImZvcm1cIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcmVmOiBcImZvcm1cIixcbiAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYWN0aW9uLWlucHV0X19mb3JtXCIsXG4gICAgICAgICAgICAgIGF0dHJzOiB7IGRpc2FibGVkOiBfdm0uZGlzYWJsZWQgfSxcbiAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICBzdWJtaXQ6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0ub25TdWJtaXQoJGV2ZW50KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX3ZtLmlzRGF0ZVBpY2tlclR5cGVcbiAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICBcIkRhdGV0aW1lUGlja2VyXCIsXG4gICAgICAgICAgICAgICAgICAgIF92bS5fYihcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWY6IFwiZGF0ZXRpbWVwaWNrZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFjdGlvbi1pbnB1dF9fcGlja2VyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogX3ZtLnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBfdm0uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IF92bS5pc0RhdGVQaWNrZXJUeXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcImlucHV0LWNsYXNzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm14LWlucHV0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBmb2N1c2FibGU6IF92bS5pc0ZvY3VzYWJsZSB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBvbjogeyBpbnB1dDogX3ZtLm9uSW5wdXQsIGNoYW5nZTogX3ZtLm9uQ2hhbmdlIH1cbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIFwiRGF0ZXRpbWVQaWNrZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uJGF0dHJzLFxuICAgICAgICAgICAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IF92bS5pc011bHRpc2VsZWN0VHlwZVxuICAgICAgICAgICAgICAgID8gX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiTXVsdGlzZWxlY3RcIixcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl9nKFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5fYihcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYWN0aW9uLWlucHV0X19tdWx0aVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogeyBmb2N1c2FibGU6IF92bS5pc0ZvY3VzYWJsZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IF92bS50ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBfdm0uZGlzYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiTXVsdGlzZWxlY3RcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kYXR0cnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgX3ZtLiRsaXN0ZW5lcnNcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogW1xuICAgICAgICAgICAgICAgICAgICBfYyhcImlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24taW5wdXRfX3N1Ym1pdFwiLFxuICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGlkOiBfdm0uaWQsIHR5cGU6IFwic3VibWl0XCIgfVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5fYihcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYWN0aW9uLWlucHV0X19pbnB1dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogeyBmb2N1c2FibGU6IF92bS5pc0ZvY3VzYWJsZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IF92bS50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBfdm0udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogX3ZtLmRpc2FibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRvbVByb3BzOiB7IHZhbHVlOiBfdm0udmFsdWUgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb246IHsgaW5wdXQ6IF92bS5vbklucHV0LCBjaGFuZ2U6IF92bS5vbkNoYW5nZSB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJpbnB1dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRhdHRycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfYyhcImxhYmVsXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwic2hvd1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtc2hvd1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogIV92bS5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCIhZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYWN0aW9uLWlucHV0X19sYWJlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGZvcjogX3ZtLmlkIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAyXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAyXG4gICAgICApXG4gICAgXVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImxpXCIsIHsgc3RhdGljQ2xhc3M6IFwiYWN0aW9uXCIgfSwgW1xuICAgIF9jKFxuICAgICAgXCJhXCIsXG4gICAgICB7XG4gICAgICAgIHN0YXRpY0NsYXNzOiBcImFjdGlvbi1saW5rIGZvY3VzYWJsZVwiLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGRvd25sb2FkOiBfdm0uZG93bmxvYWQsXG4gICAgICAgICAgaHJlZjogX3ZtLmhyZWYsXG4gICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IF92bS5hcmlhTGFiZWwsXG4gICAgICAgICAgdGFyZ2V0OiBfdm0udGFyZ2V0LFxuICAgICAgICAgIHJlbDogXCJub3JlZmVycmVyIG5vb3BlbmVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgb246IHsgY2xpY2s6IF92bS5vbkNsaWNrIH1cbiAgICAgIH0sXG4gICAgICBbXG4gICAgICAgIF92bS5fdChcImljb25cIiwgW1xuICAgICAgICAgIF9jKFwic3BhblwiLCB7XG4gICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24tbGlua19faWNvblwiLFxuICAgICAgICAgICAgY2xhc3M6IFtfdm0uaXNJY29uVXJsID8gXCJhY3Rpb24tbGlua19faWNvbi0tdXJsXCIgOiBfdm0uaWNvbl0sXG4gICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IF92bS5pc0ljb25VcmwgPyBcInVybChcIiArIF92bS5pY29uICsgXCIpXCIgOiBudWxsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF92bS50aXRsZVxuICAgICAgICAgID8gX2MoXCJwXCIsIFtcbiAgICAgICAgICAgICAgX2MoXCJzdHJvbmdcIiwgeyBzdGF0aWNDbGFzczogXCJhY3Rpb24tbGlua19fdGl0bGVcIiB9LCBbXG4gICAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuXFx0XFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLnRpdGxlKSArIFwiXFxuXFx0XFx0XFx0XCIpXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICBfYyhcImJyXCIpLFxuICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICBfYyhcInNwYW5cIiwge1xuICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFjdGlvbi1saW5rX19sb25ndGV4dFwiLFxuICAgICAgICAgICAgICAgIGRvbVByb3BzOiB7IHRleHRDb250ZW50OiBfdm0uX3MoX3ZtLnRleHQpIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0pXG4gICAgICAgICAgOiBfdm0uaXNMb25nVGV4dFxuICAgICAgICAgID8gX2MoXCJwXCIsIHtcbiAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYWN0aW9uLWxpbmtfX2xvbmd0ZXh0XCIsXG4gICAgICAgICAgICAgIGRvbVByb3BzOiB7IHRleHRDb250ZW50OiBfdm0uX3MoX3ZtLnRleHQpIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJhY3Rpb24tbGlua19fdGV4dFwiIH0sIFtcbiAgICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0udGV4dCkpXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgZmFsc2UgPyBfdm0uX3QoXCJkZWZhdWx0XCIpIDogX3ZtLl9lKClcbiAgICAgIF0sXG4gICAgICAyXG4gICAgKVxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJsaVwiLFxuICAgIHsgc3RhdGljQ2xhc3M6IFwiYWN0aW9uXCIsIGNsYXNzOiB7IFwiYWN0aW9uLS1kaXNhYmxlZFwiOiBfdm0uZGlzYWJsZWQgfSB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcInNwYW5cIixcbiAgICAgICAgeyBzdGF0aWNDbGFzczogXCJhY3Rpb24tcmFkaW9cIiB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICByZWY6IFwicmFkaW9cIixcbiAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcInJhZGlvIGFjdGlvbi1yYWRpb19fcmFkaW9cIixcbiAgICAgICAgICAgIGNsYXNzOiB7IGZvY3VzYWJsZTogX3ZtLmlzRm9jdXNhYmxlIH0sXG4gICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICBpZDogX3ZtLmlkLFxuICAgICAgICAgICAgICBkaXNhYmxlZDogX3ZtLmRpc2FibGVkLFxuICAgICAgICAgICAgICBuYW1lOiBfdm0ubmFtZSxcbiAgICAgICAgICAgICAgdHlwZTogXCJyYWRpb1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZG9tUHJvcHM6IHsgY2hlY2tlZDogX3ZtLmNoZWNrZWQsIHZhbHVlOiBfdm0udmFsdWUgfSxcbiAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgIGtleWRvd246IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICEkZXZlbnQudHlwZS5pbmRleE9mKFwia2V5XCIpICYmXG4gICAgICAgICAgICAgICAgICBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZW50ZXJcIiwgMTMsICRldmVudC5rZXksIFwiRW50ZXJcIilcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICRldmVudC5jdHJsS2V5IHx8XG4gICAgICAgICAgICAgICAgICAkZXZlbnQuc2hpZnRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICRldmVudC5hbHRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICRldmVudC5tZXRhS2V5XG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgIHJldHVybiBfdm0udG9nZ2xlSW5wdXQoJGV2ZW50KVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBjaGFuZ2U6IF92bS5vbkNoYW5nZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcImxhYmVsXCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHJlZjogXCJsYWJlbFwiLFxuICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24tcmFkaW9fX2xhYmVsXCIsXG4gICAgICAgICAgICAgIGF0dHJzOiB7IGZvcjogX3ZtLmlkIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbX3ZtLl92KF92bS5fcyhfdm0udGV4dCkpXVxuICAgICAgICAgICksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBmYWxzZSA/IF92bS5fdChcImRlZmF1bHRcIikgOiBfdm0uX2UoKVxuICAgICAgICBdLFxuICAgICAgICAyXG4gICAgICApXG4gICAgXVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImxpXCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJhY3Rpb25cIiB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcInJvdXRlci1saW5rXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24tcm91dGVyIGZvY3VzYWJsZVwiLFxuICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICB0bzogX3ZtLnRvLFxuICAgICAgICAgICAgZXhhY3Q6IF92bS5leGFjdCxcbiAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBfdm0uYXJpYUxhYmVsLFxuICAgICAgICAgICAgcmVsOiBcIm5vcmVmZXJyZXIgbm9vcGVuZXJcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgbmF0aXZlT246IHtcbiAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIF92bS5vbkNsaWNrKCRldmVudClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfdm0uX3QoXCJpY29uXCIsIFtcbiAgICAgICAgICAgIF9jKFwic3BhblwiLCB7XG4gICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFjdGlvbi1yb3V0ZXJfX2ljb25cIixcbiAgICAgICAgICAgICAgY2xhc3M6IFtfdm0uaXNJY29uVXJsID8gXCJhY3Rpb24tcm91dGVyX19pY29uLS11cmxcIiA6IF92bS5pY29uXSxcbiAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IF92bS5pc0ljb25VcmwgPyBcInVybChcIiArIF92bS5pY29uICsgXCIpXCIgOiBudWxsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfdm0udGl0bGVcbiAgICAgICAgICAgID8gX2MoXCJwXCIsIFtcbiAgICAgICAgICAgICAgICBfYyhcInN0cm9uZ1wiLCB7IHN0YXRpY0NsYXNzOiBcImFjdGlvbi1yb3V0ZXJfX3RpdGxlXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuXFx0XFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLnRpdGxlKSArIFwiXFxuXFx0XFx0XFx0XCIpXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICBfYyhcImJyXCIpLFxuICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFjdGlvbi1yb3V0ZXJfX2xvbmd0ZXh0XCIsXG4gICAgICAgICAgICAgICAgICBkb21Qcm9wczogeyB0ZXh0Q29udGVudDogX3ZtLl9zKF92bS50ZXh0KSB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgIDogX3ZtLmlzTG9uZ1RleHRcbiAgICAgICAgICAgID8gX2MoXCJwXCIsIHtcbiAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24tcm91dGVyX19sb25ndGV4dFwiLFxuICAgICAgICAgICAgICAgIGRvbVByb3BzOiB7IHRleHRDb250ZW50OiBfdm0uX3MoX3ZtLnRleHQpIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIDogX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwiYWN0aW9uLXJvdXRlcl9fdGV4dFwiIH0sIFtcbiAgICAgICAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS50ZXh0KSlcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBmYWxzZSA/IF92bS5fdChcImRlZmF1bHRcIikgOiBfdm0uX2UoKVxuICAgICAgICBdLFxuICAgICAgICAyXG4gICAgICApXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwibGlcIiwgeyBzdGF0aWNDbGFzczogXCJhY3Rpb24gYWN0aW9uLXNlcGFyYXRvciBhY3Rpb24tLWRpc2FibGVkXCIgfSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwibGlcIiwgeyBzdGF0aWNDbGFzczogXCJhY3Rpb25cIiB9LCBbXG4gICAgX2MoXG4gICAgICBcInNwYW5cIixcbiAgICAgIHsgc3RhdGljQ2xhc3M6IFwiYWN0aW9uLXRleHRcIiwgb246IHsgY2xpY2s6IF92bS5vbkNsaWNrIH0gfSxcbiAgICAgIFtcbiAgICAgICAgX3ZtLl90KFwiaWNvblwiLCBbXG4gICAgICAgICAgX3ZtLmljb24gIT09IFwiXCJcbiAgICAgICAgICAgID8gX2MoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24tdGV4dF9faWNvblwiLFxuICAgICAgICAgICAgICAgIGNsYXNzOiBbX3ZtLmlzSWNvblVybCA/IFwiYWN0aW9uLXRleHRfX2ljb24tLXVybFwiIDogX3ZtLmljb25dLFxuICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IF92bS5pc0ljb25VcmxcbiAgICAgICAgICAgICAgICAgICAgPyBcInVybChcIiArIF92bS5pY29uICsgXCIpXCJcbiAgICAgICAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICBdKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX3ZtLnRpdGxlXG4gICAgICAgICAgPyBfYyhcInBcIiwgW1xuICAgICAgICAgICAgICBfYyhcInN0cm9uZ1wiLCB7IHN0YXRpY0NsYXNzOiBcImFjdGlvbi10ZXh0X190aXRsZVwiIH0sIFtcbiAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRcXHRcIiArIF92bS5fcyhfdm0udGl0bGUpICsgXCJcXG5cXHRcXHRcXHRcIilcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwiYnJcIiksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwic3BhblwiLCB7XG4gICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYWN0aW9uLXRleHRfX2xvbmd0ZXh0XCIsXG4gICAgICAgICAgICAgICAgZG9tUHJvcHM6IHsgdGV4dENvbnRlbnQ6IF92bS5fcyhfdm0udGV4dCkgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXSlcbiAgICAgICAgICA6IF92bS5pc0xvbmdUZXh0XG4gICAgICAgICAgPyBfYyhcInBcIiwge1xuICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24tdGV4dF9fbG9uZ3RleHRcIixcbiAgICAgICAgICAgICAgZG9tUHJvcHM6IHsgdGV4dENvbnRlbnQ6IF92bS5fcyhfdm0udGV4dCkgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICA6IF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcImFjdGlvbi10ZXh0X190ZXh0XCIgfSwgW1xuICAgICAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS50ZXh0KSlcbiAgICAgICAgICAgIF0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBmYWxzZSA/IF92bS5fdChcImRlZmF1bHRcIikgOiBfdm0uX2UoKVxuICAgICAgXSxcbiAgICAgIDJcbiAgICApXG4gIF0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImxpXCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJhY3Rpb25cIiwgY2xhc3M6IHsgXCJhY3Rpb24tLWRpc2FibGVkXCI6IF92bS5kaXNhYmxlZCB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwic3BhblwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImFjdGlvbi10ZXh0LWVkaXRhYmxlXCIsIG9uOiB7IGNsaWNrOiBfdm0ub25DbGljayB9IH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcInNwYW5cIiwge1xuICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYWN0aW9uLXRleHQtZWRpdGFibGVfX2ljb25cIixcbiAgICAgICAgICAgIGNsYXNzOiBbXG4gICAgICAgICAgICAgIF92bS5pc0ljb25VcmwgPyBcImFjdGlvbi10ZXh0LWVkaXRhYmxlX19pY29uLS11cmxcIiA6IF92bS5pY29uXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZEltYWdlOiBfdm0uaXNJY29uVXJsID8gXCJ1cmwoXCIgKyBfdm0uaWNvbiArIFwiKVwiIDogbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcImZvcm1cIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcmVmOiBcImZvcm1cIixcbiAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYWN0aW9uLXRleHQtZWRpdGFibGVfX2Zvcm1cIixcbiAgICAgICAgICAgICAgYXR0cnM6IHsgZGlzYWJsZWQ6IF92bS5kaXNhYmxlZCB9LFxuICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgIHN1Ym1pdDogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5vblN1Ym1pdCgkZXZlbnQpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcImlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24tdGV4dC1lZGl0YWJsZV9fc3VibWl0XCIsXG4gICAgICAgICAgICAgICAgYXR0cnM6IHsgaWQ6IF92bS5pZCwgdHlwZTogXCJzdWJtaXRcIiB9XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICBfdm0udGl0bGVcbiAgICAgICAgICAgICAgICA/IF9jKFwic3Ryb25nXCIsIHsgc3RhdGljQ2xhc3M6IFwiYWN0aW9uLXRleHRfX3RpdGxlXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRcXHRcIiArIF92bS5fcyhfdm0udGl0bGUpICsgXCJcXG5cXHRcXHRcXHRcIilcbiAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgXCJ0ZXh0YXJlYVwiLFxuICAgICAgICAgICAgICAgIF92bS5fYihcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICBcImFjdGlvbi10ZXh0LWVkaXRhYmxlX190ZXh0YXJlYVwiLFxuICAgICAgICAgICAgICAgICAgICAgIHsgZm9jdXNhYmxlOiBfdm0uaXNGb2N1c2FibGUgfVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBkaXNhYmxlZDogX3ZtLmRpc2FibGVkIH0sXG4gICAgICAgICAgICAgICAgICAgIGRvbVByb3BzOiB7IHZhbHVlOiBfdm0udmFsdWUgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHsgaW5wdXQ6IF92bS5vbklucHV0IH1cbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBcInRleHRhcmVhXCIsXG4gICAgICAgICAgICAgICAgICBfdm0uJGF0dHJzLFxuICAgICAgICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwibGFiZWxcIiwge1xuICAgICAgICAgICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAhX3ZtLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIiFkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24tdGV4dC1lZGl0YWJsZV9fbGFiZWxcIixcbiAgICAgICAgICAgICAgICBhdHRyczogeyBmb3I6IF92bS5pZCB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdXG4gICAgICAgICAgKVxuICAgICAgICBdXG4gICAgICApXG4gICAgXVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX29iaiwgX29iaiQxXG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF92bS5pc1ZhbGlkU2luZ2xlQWN0aW9uICYmICFfdm0uZm9yY2VNZW51XG4gICAgPyBfYyhcbiAgICAgICAgXCJlbGVtZW50XCIsXG4gICAgICAgIF92bS5fYihcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcInRvb2x0aXBcIixcbiAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtdG9vbHRpcC5hdXRvXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IF92bS5maXJzdEFjdGlvbi50ZXh0LFxuICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiZmlyc3RBY3Rpb24udGV4dFwiLFxuICAgICAgICAgICAgICAgIG1vZGlmaWVyczogeyBhdXRvOiB0cnVlIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFjdGlvbi1pdGVtIGFjdGlvbi1pdGVtLS1zaW5nbGVcIixcbiAgICAgICAgICAgIGNsYXNzOlxuICAgICAgICAgICAgICAoKF9vYmogPSB7fSksXG4gICAgICAgICAgICAgIChfb2JqW192bS5maXJzdEFjdGlvbi5pY29uXSA9IF92bS5maXJzdEFjdGlvbi5pY29uKSxcbiAgICAgICAgICAgICAgKF9vYmpbX3ZtLmZpcnN0QWN0aW9uQ2xhc3NdID0gX3ZtLmZpcnN0QWN0aW9uQ2xhc3MpLFxuICAgICAgICAgICAgICBfb2JqKSxcbiAgICAgICAgICAgIGF0dHJzOiB7IHJlbDogXCJub3JlZmVycmVyIG5vb3BlbmVyXCIsIGRpc2FibGVkOiBfdm0uZGlzYWJsZWQgfSxcbiAgICAgICAgICAgIG9uOiBfdm0uX2QoeyBmb2N1czogX3ZtLm9uRm9jdXMsIGJsdXI6IF92bS5vbkJsdXIgfSwgW1xuICAgICAgICAgICAgICBfdm0uZmlyc3RBY3Rpb25FdmVudEJpbmRpbmcsXG4gICAgICAgICAgICAgIF92bS5leGVjRmlyc3RBY3Rpb25cbiAgICAgICAgICAgIF0pXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImVsZW1lbnRcIixcbiAgICAgICAgICBfdm0uZmlyc3RBY3Rpb25CaW5kaW5nLFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcIlZOb2Rlc1wiLCB7IGF0dHJzOiB7IHZub2RlczogX3ZtLmZpcnN0QWN0aW9uSWNvblNsb3QgfSB9KSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJzcGFuXCIsXG4gICAgICAgICAgICB7IGF0dHJzOiB7IFwiYXJpYS1oaWRkZW5cIjogdHJ1ZSwgaGlkZGVuOiBcIlwiIH0gfSxcbiAgICAgICAgICAgIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSxcbiAgICAgICAgICAgIDJcbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICA6IF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7XG4gICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LXNob3dcIixcbiAgICAgICAgICAgICAgdmFsdWU6IF92bS5oYXNNdWx0aXBsZUFjdGlvbnMgfHwgX3ZtLmZvcmNlTWVudSxcbiAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJoYXNNdWx0aXBsZUFjdGlvbnMgfHwgZm9yY2VNZW51XCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFjdGlvbi1pdGVtXCIsXG4gICAgICAgICAgY2xhc3M6IHsgXCJhY3Rpb24taXRlbS0tb3BlblwiOiBfdm0ub3BlbmVkIH1cbiAgICAgICAgfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJQb3BvdmVyXCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgZGVsYXk6IDAsXG4gICAgICAgICAgICAgICAgXCJoYW5kbGUtcmVzaXplXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgb3BlbjogX3ZtLm9wZW5lZCxcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IF92bS5wbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgXCJib3VuZGFyaWVzLWVsZW1lbnRcIjogX3ZtLmJvdW5kYXJpZXNFbGVtZW50LFxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogX3ZtLmNvbnRhaW5lclxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgIFwidXBkYXRlOm9wZW5cIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICBfdm0ub3BlbmVkID0gJGV2ZW50XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzaG93OiBfdm0ub3Blbk1lbnUsXG4gICAgICAgICAgICAgICAgXCJhZnRlci1zaG93XCI6IF92bS5vbk9wZW4sXG4gICAgICAgICAgICAgICAgaGlkZTogX3ZtLmNsb3NlTWVudVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHJlZjogXCJtZW51QnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJpY29uIGFjdGlvbi1pdGVtX19tZW51dG9nZ2xlXCIsXG4gICAgICAgICAgICAgICAgICBjbGFzczpcbiAgICAgICAgICAgICAgICAgICAgKChfb2JqJDEgPSB7fSksXG4gICAgICAgICAgICAgICAgICAgIChfb2JqJDFbX3ZtLmRlZmF1bHRJY29uXSA9ICFfdm0uaWNvblNsb3RJc1BvcHVsYXRlZCksXG4gICAgICAgICAgICAgICAgICAgIChfb2JqJDFbXCJhY3Rpb24taXRlbV9fbWVudXRvZ2dsZS0td2l0aC10aXRsZVwiXSA9XG4gICAgICAgICAgICAgICAgICAgICAgX3ZtLm1lbnVUaXRsZSksXG4gICAgICAgICAgICAgICAgICAgIChfb2JqJDFbXCJhY3Rpb24taXRlbV9fbWVudXRvZ2dsZS0tcHJpbWFyeVwiXSA9IF92bS5wcmltYXJ5KSxcbiAgICAgICAgICAgICAgICAgICAgX29iaiQxKSxcbiAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgIHNsb3Q6IFwidHJpZ2dlclwiLFxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogX3ZtLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICBcImFyaWEtbGFiZWxcIjogX3ZtLmFyaWFMYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgXCJhcmlhLWhhc3BvcHVwXCI6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgICAgICBcImFyaWEtY29udHJvbHNcIjogX3ZtLnJhbmRvbUlkLFxuICAgICAgICAgICAgICAgICAgICBcInRlc3QtYXR0clwiOiBcIjFcIixcbiAgICAgICAgICAgICAgICAgICAgXCJhcmlhLWV4cGFuZGVkXCI6IF92bS5vcGVuZWQgPyBcInRydWVcIiA6IFwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIG9uOiB7IGZvY3VzOiBfdm0ub25Gb2N1cywgYmx1cjogX3ZtLm9uQmx1ciB9LFxuICAgICAgICAgICAgICAgICAgc2xvdDogXCJ0cmlnZ2VyXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF92bS5fdChcImljb25cIiksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRcIiArIF92bS5fcyhfdm0ubWVudVRpdGxlKSArIFwiXFxuXFx0XFx0XCIpXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LXNob3dcIixcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLm9wZW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIm9wZW5lZFwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICByZWY6IFwibWVudVwiLFxuICAgICAgICAgICAgICAgICAgY2xhc3M6IHsgb3BlbjogX3ZtLm9wZW5lZCB9LFxuICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdGFiaW5kZXg6IFwiLTFcIiB9LFxuICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAga2V5ZG93bjogW1xuICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAhJGV2ZW50LnR5cGUuaW5kZXhPZihcImtleVwiKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwidXBcIiwgMzgsICRldmVudC5rZXksIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlVwXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJBcnJvd1VwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuY3RybEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuc2hpZnRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LmFsdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQubWV0YUtleVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmZvY3VzUHJldmlvdXNBY3Rpb24oJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICEkZXZlbnQudHlwZS5pbmRleE9mKFwia2V5XCIpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJkb3duXCIsIDQwLCAkZXZlbnQua2V5LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJEb3duXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJBcnJvd0Rvd25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5jdHJsS2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5zaGlmdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuYWx0S2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5tZXRhS2V5XG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uZm9jdXNOZXh0QWN0aW9uKCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAhJGV2ZW50LnR5cGUuaW5kZXhPZihcImtleVwiKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwidGFiXCIsIDksICRldmVudC5rZXksIFwiVGFiXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LmN0cmxLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnNoaWZ0S2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5hbHRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50Lm1ldGFLZXlcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5mb2N1c05leHRBY3Rpb24oJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICEkZXZlbnQudHlwZS5pbmRleE9mKFwia2V5XCIpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJ0YWJcIiwgOSwgJGV2ZW50LmtleSwgXCJUYWJcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkZXZlbnQuY3RybEtleSB8fCAkZXZlbnQuYWx0S2V5IHx8ICRldmVudC5tZXRhS2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmZvY3VzUHJldmlvdXNBY3Rpb24oJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICEkZXZlbnQudHlwZS5pbmRleE9mKFwia2V5XCIpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQua2V5Q29kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBhZ2UtdXBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LmtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5jdHJsS2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5zaGlmdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuYWx0S2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5tZXRhS2V5XG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uZm9jdXNGaXJzdEFjdGlvbigkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgISRldmVudC50eXBlLmluZGV4T2YoXCJrZXlcIikgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9rKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5rZXlDb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGFnZS1kb3duXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuY3RybEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuc2hpZnRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LmFsdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQubWV0YUtleVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmZvY3VzTGFzdEFjdGlvbigkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgISRldmVudC50eXBlLmluZGV4T2YoXCJrZXlcIikgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcImVzY1wiLCAyNywgJGV2ZW50LmtleSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiRXNjXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJFc2NhcGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5jdHJsS2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5zaGlmdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuYWx0S2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5tZXRhS2V5XG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmNsb3NlTWVudSgkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBtb3VzZW1vdmU6IF92bS5vbk1vdXNlRm9jdXNBY3Rpb25cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICBcInVsXCIsXG4gICAgICAgICAgICAgICAgICAgIHsgYXR0cnM6IHsgaWQ6IF92bS5yYW5kb21JZCwgdGFiaW5kZXg6IFwiLTFcIiB9IH0sXG4gICAgICAgICAgICAgICAgICAgIFtfdm0ub3BlbmVkID8gW192bS5fdChcImRlZmF1bHRcIildIDogX3ZtLl9lKCldLFxuICAgICAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcIm1haW5cIixcbiAgICB7IHN0YXRpY0NsYXNzOiBcImFwcC1jb250ZW50IG5vLXNuYXBwZXJcIiwgYXR0cnM6IHsgaWQ6IFwiYXBwLWNvbnRlbnQtdnVlXCIgfSB9LFxuICAgIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSxcbiAgICAyXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJhcHAtY29udGVudC1kZXRhaWxzXCIgfSxcbiAgICBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sXG4gICAgMlxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHtcbiAgICAgIHN0YXRpY0NsYXNzOiBcImFwcC1jb250ZW50LWxpc3RcIixcbiAgICAgIGNsYXNzOiB7IHNlbGVjdGlvbjogX3ZtLnNlbGVjdGlvbiwgc2hvd2RldGFpbHM6IF92bS5zaG93RGV0YWlscyB9XG4gICAgfSxcbiAgICBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sXG4gICAgMlxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHtcbiAgICAgIHN0YXRpY0NsYXNzOiBcImFwcC1uYXZpZ2F0aW9uXCIsXG4gICAgICBjbGFzczogeyBcImFwcC1uYXZpZ2F0aW9uLS1jbG9zZVwiOiAhX3ZtLm9wZW4gfSxcbiAgICAgIGF0dHJzOiB7IGlkOiBcImFwcC1uYXZpZ2F0aW9uLXZ1ZVwiLCByb2xlOiBcIm5hdmlnYXRpb25cIiB9XG4gICAgfSxcbiAgICBbXG4gICAgICBfYyhcIkFwcE5hdmlnYXRpb25Ub2dnbGVcIiwge1xuICAgICAgICBhdHRyczogeyBvcGVuOiBfdm0ub3BlbiB9LFxuICAgICAgICBvbjogeyBcInVwZGF0ZTpvcGVuXCI6IF92bS50b2dnbGVOYXZpZ2F0aW9uIH1cbiAgICAgIH0pLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF92bS5fdChcImRlZmF1bHRcIiksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXCJ1bFwiLCB7IHN0YXRpY0NsYXNzOiBcImFwcC1uYXZpZ2F0aW9uX19saXN0XCIgfSwgW192bS5fdChcImxpc3RcIildLCAyKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfdm0uX3QoXCJmb290ZXJcIilcbiAgICBdLFxuICAgIDJcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJsaVwiLCB7IHN0YXRpY0NsYXNzOiBcImFwcC1uYXZpZ2F0aW9uLWNhcHRpb25cIiB9LCBbXG4gICAgX3ZtLl92KFwiXFxuXFx0XCIgKyBfdm0uX3MoX3ZtLnRpdGxlKSArIFwiXFxuXCIpXG4gIF0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHtcbiAgICAgIHN0YXRpY0NsYXNzOiBcImFwcC1uYXZpZ2F0aW9uLWVudHJ5X19jb3VudGVyXCIsXG4gICAgICBjbGFzczogeyBcImFwcC1uYXZpZ2F0aW9uLWVudHJ5X19jb3VudGVyLS1oaWdobGlnaHRlZFwiOiBfdm0uaGlnaGxpZ2h0ZWQgfVxuICAgIH0sXG4gICAgW192bS5fdChcImRlZmF1bHRcIildLFxuICAgIDJcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7XG4gICAgICBzdGF0aWNDbGFzczogXCJhcHAtbmF2aWdhdGlvbi1lbnRyeV9faWNvbi1idWxsZXRcIixcbiAgICAgIG9uOiB7IGNsaWNrOiBfdm0ub25DbGljayB9XG4gICAgfSxcbiAgICBbX2MoXCJkaXZcIiwgeyBzdHlsZTogeyBiYWNrZ3JvdW5kQ29sb3I6IF92bS5mb3JtYXR0ZWRDb2xvciB9IH0pXVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImJ1dHRvblwiLCB7XG4gICAgc3RhdGljQ2xhc3M6IFwiaWNvbi1jb2xsYXBzZVwiLFxuICAgIGNsYXNzOiB7IFwiaWNvbi1jb2xsYXBzZS0tcm90YXRlZFwiOiBfdm0ub3BlbiB9LFxuICAgIG9uOiB7IGNsaWNrOiBfdm0ub25DbGljayB9XG4gIH0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX29ialxuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcIm5hdi1lbGVtZW50XCIsXG4gICAgX3ZtLl9iKFxuICAgICAge1xuICAgICAgICBzdGF0aWNDbGFzczogXCJhcHAtbmF2aWdhdGlvbi1lbnRyeVwiLFxuICAgICAgICBjbGFzczoge1xuICAgICAgICAgIFwiYXBwLW5hdmlnYXRpb24tZW50cnktLW5vLWljb25cIjogIV92bS5pc0ljb25TaG93bixcbiAgICAgICAgICBcImFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1vcGVuZWRcIjogX3ZtLm9wZW5lZCxcbiAgICAgICAgICBcImFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1waW5uZWRcIjogX3ZtLnBpbm5lZCxcbiAgICAgICAgICBcImFwcC1uYXZpZ2F0aW9uLWVudHJ5LS1lZGl0aW5nXCI6IF92bS5lZGl0aW5nQWN0aXZlLFxuICAgICAgICAgIFwiYXBwLW5hdmlnYXRpb24tZW50cnktLWRlbGV0ZWRcIjogX3ZtLnVuZG8sXG4gICAgICAgICAgXCJhcHAtbmF2aWdhdGlvbi1lbnRyeS0tY29sbGFwc2libGVcIjogX3ZtLmNvbGxhcHNpYmxlLFxuICAgICAgICAgIGFjdGl2ZTogX3ZtLmlzQWN0aXZlXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcIm5hdi1lbGVtZW50XCIsXG4gICAgICBfdm0ubmF2RWxlbWVudCxcbiAgICAgIGZhbHNlXG4gICAgKSxcbiAgICBbXG4gICAgICAhX3ZtLnVuZG9cbiAgICAgICAgPyBfYyhcbiAgICAgICAgICAgIFwiYVwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhcHAtbmF2aWdhdGlvbi1lbnRyeS1saW5rXCIsXG4gICAgICAgICAgICAgIGF0dHJzOiB7IGhyZWY6IFwiI1wiIH0sXG4gICAgICAgICAgICAgIG9uOiB7IGNsaWNrOiBfdm0ub25DbGljayB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFwcC1uYXZpZ2F0aW9uLWVudHJ5LWljb25cIixcbiAgICAgICAgICAgICAgICAgIGNsYXNzOlxuICAgICAgICAgICAgICAgICAgICAoKF9vYmogPSB7IFwiaWNvbi1sb2FkaW5nLXNtYWxsXCI6IF92bS5sb2FkaW5nIH0pLFxuICAgICAgICAgICAgICAgICAgICAoX29ialtfdm0uaWNvbl0gPSBfdm0uaWNvbiAmJiBfdm0uaXNJY29uU2hvd24pLFxuICAgICAgICAgICAgICAgICAgICBfb2JqKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgWyFfdm0ubG9hZGluZyA/IF92bS5fdChcImljb25cIikgOiBfdm0uX2UoKV0sXG4gICAgICAgICAgICAgICAgMlxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAhX3ZtLmVkaXRpbmdBY3RpdmVcbiAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICBcInNwYW5cIixcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFwcC1uYXZpZ2F0aW9uLWVudHJ5X190aXRsZVwiLFxuICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHRpdGxlOiBfdm0udGl0bGUgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBbX3ZtLl92KFwiXFxuXFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLnRpdGxlKSArIFwiXFxuXFx0XFx0XCIpXVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF92bS5lZGl0aW5nQWN0aXZlXG4gICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJlZGl0aW5nQ29udGFpbmVyXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiSW5wdXRDb25maXJtQ2FuY2VsXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogXCJlZGl0aW5nSW5wdXRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5lZGl0UGxhY2Vob2xkZXIgIT09IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gX3ZtLmVkaXRQbGFjZWhvbGRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfdm0udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWw6IF92bS5jYW5jZWxFZGl0aW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maXJtOiBfdm0uaGFuZGxlRWRpdGluZ0RvbmVcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmVkaXRpbmdWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5lZGl0aW5nVmFsdWUgPSAkJHZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJlZGl0aW5nVmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICAgICAgICBdXG4gICAgICAgICAgKVxuICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF92bS5jb2xsYXBzaWJsZVxuICAgICAgICA/IF9jKFwiQXBwTmF2aWdhdGlvbkljb25Db2xsYXBzaWJsZVwiLCB7XG4gICAgICAgICAgICBhdHRyczogeyBvcGVuOiBfdm0ub3BlbmVkIH0sXG4gICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLnRvZ2dsZUNvbGxhcHNlKCRldmVudClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIDogX3ZtLl9lKCksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX3ZtLnVuZG9cbiAgICAgICAgPyBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImFwcC1uYXZpZ2F0aW9uLWVudHJ5X19kZWxldGVkXCIgfSwgW1xuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiYXBwLW5hdmlnYXRpb24tZW50cnlfX2RlbGV0ZWQtZGVzY3JpcHRpb25cIiB9LFxuICAgICAgICAgICAgICBbX3ZtLl92KFwiXFxuXFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLnRpdGxlKSArIFwiXFxuXFx0XFx0XCIpXVxuICAgICAgICAgICAgKVxuICAgICAgICAgIF0pXG4gICAgICAgIDogX3ZtLl9lKCksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX3ZtLmhhc1V0aWxzXG4gICAgICAgID8gX2MoXG4gICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJhcHAtbmF2aWdhdGlvbi1lbnRyeV9fdXRpbHNcIiB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfdm0uJHNsb3RzLmNvdW50ZXJcbiAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImFwcC1uYXZpZ2F0aW9uLWVudHJ5X19jb3VudGVyLXdyYXBwZXJcIiB9LFxuICAgICAgICAgICAgICAgICAgICBbX3ZtLl90KFwiY291bnRlclwiKV0sXG4gICAgICAgICAgICAgICAgICAgIDJcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICBcIkFjdGlvbnNcIixcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICBcIm1lbnUtYWxpZ25cIjogXCJyaWdodFwiLFxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IF92bS5tZW51UGxhY2VtZW50LFxuICAgICAgICAgICAgICAgICAgICBvcGVuOiBfdm0ubWVudU9wZW4sXG4gICAgICAgICAgICAgICAgICAgIFwiZm9yY2UtbWVudVwiOiBfdm0uZm9yY2VNZW51LFxuICAgICAgICAgICAgICAgICAgICBcImRlZmF1bHQtaWNvblwiOiBfdm0ubWVudUljb25cbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBvbjogeyBcInVwZGF0ZTpvcGVuXCI6IF92bS5vbk1lbnVUb2dnbGUgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgX3ZtLmVkaXRhYmxlICYmICFfdm0uZWRpdGluZ0FjdGl2ZVxuICAgICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJBY3Rpb25CdXR0b25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgaWNvbjogXCJpY29uLXJlbmFtZVwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7IGNsaWNrOiBfdm0uaGFuZGxlRWRpdCB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcXHRcXHRcIiArIF92bS5fcyhfdm0uZWRpdExhYmVsKSArIFwiXFxuXFx0XFx0XFx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfdm0udW5kb1xuICAgICAgICAgICAgICAgICAgICA/IF9jKFwiQWN0aW9uQnV0dG9uXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGljb246XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhcHAtbmF2aWdhdGlvbi1lbnRyeV9fZGVsZXRlZC1idXR0b24gaWNvbi1oaXN0b3J5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBvbjogeyBjbGljazogX3ZtLmhhbmRsZVVuZG8gfVxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX3ZtLl90KFwiYWN0aW9uc1wiKVxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgMlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfdm0uY2FuSGF2ZUNoaWxkcmVuICYmIF92bS5oYXNDaGlsZHJlblxuICAgICAgICA/IF9jKFxuICAgICAgICAgICAgXCJ1bFwiLFxuICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJhcHAtbmF2aWdhdGlvbi1lbnRyeV9fY2hpbGRyZW5cIiB9LFxuICAgICAgICAgICAgW192bS5fdChcImRlZmF1bHRcIildLFxuICAgICAgICAgICAgMlxuICAgICAgICAgIClcbiAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfdm0uX3QoXCJleHRyYVwiKVxuICAgIF0sXG4gICAgMlxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljQ2xhc3M6IFwiYXBwLW5hdmlnYXRpb24tZW50cnlfX2lubGluZS1pbnB1dC1jb250YWluZXJcIiB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcImZvcm1cIixcbiAgICAgICAge1xuICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICBzdWJtaXQ6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICByZXR1cm4gX3ZtLmNvbmZpcm0oJGV2ZW50KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGtleWRvd246IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgISRldmVudC50eXBlLmluZGV4T2YoXCJrZXlcIikgJiZcbiAgICAgICAgICAgICAgICBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZXNjXCIsIDI3LCAkZXZlbnQua2V5LCBbXCJFc2NcIiwgXCJFc2NhcGVcIl0pXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICRldmVudC5jdHJsS2V5IHx8XG4gICAgICAgICAgICAgICAgJGV2ZW50LnNoaWZ0S2V5IHx8XG4gICAgICAgICAgICAgICAgJGV2ZW50LmFsdEtleSB8fFxuICAgICAgICAgICAgICAgICRldmVudC5tZXRhS2V5XG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgcmV0dXJuIF92bS5jYW5jZWwoJGV2ZW50KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IF92bS52YWx1ZU1vZGVsLFxuICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwidmFsdWVNb2RlbFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICByZWY6IFwiaW5wdXRcIixcbiAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFwcC1uYXZpZ2F0aW9uLWVudHJ5X19pbmxpbmUtaW5wdXRcIixcbiAgICAgICAgICAgIGF0dHJzOiB7IHR5cGU6IFwidGV4dFwiLCBwbGFjZWhvbGRlcjogX3ZtLnBsYWNlaG9sZGVyIH0sXG4gICAgICAgICAgICBkb21Qcm9wczogeyB2YWx1ZTogX3ZtLnZhbHVlTW9kZWwgfSxcbiAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBpZiAoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBfdm0udmFsdWVNb2RlbCA9ICRldmVudC50YXJnZXQudmFsdWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX2MoXCJidXR0b25cIiwge1xuICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiaWNvbi1jb25maXJtXCIsXG4gICAgICAgICAgICBhdHRyczogeyB0eXBlOiBcInN1Ym1pdFwiIH0sXG4gICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmNvbmZpcm0oJGV2ZW50KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcImJ1dHRvblwiLCB7XG4gICAgICAgICAgICBzdGF0aWNDbGFzczogXCJpY29uLWNsb3NlXCIsXG4gICAgICAgICAgICBhdHRyczogeyB0eXBlOiBcInJlc2V0XCIgfSxcbiAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgIHJldHVybiBfdm0uY2FuY2VsKCRldmVudClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICAgIClcbiAgICBdXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiYXBwLW5hdmlnYXRpb24tbmV3XCIgfSwgW1xuICAgIF9jKFxuICAgICAgXCJidXR0b25cIixcbiAgICAgIHtcbiAgICAgICAgY2xhc3M6IF92bS5idXR0b25DbGFzcyxcbiAgICAgICAgYXR0cnM6IHsgaWQ6IF92bS5idXR0b25JZCwgdHlwZTogXCJidXR0b25cIiwgZGlzYWJsZWQ6IF92bS5kaXNhYmxlZCB9LFxuICAgICAgICBvbjoge1xuICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBfdm0uJGVtaXQoXCJjbGlja1wiKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtfdm0uX3YoXCJcXG5cXHRcXHRcIiArIF92bS5fcyhfdm0udGV4dCkgKyBcIlxcblxcdFwiKV1cbiAgICApXG4gIF0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX29ialxuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImxpXCIsXG4gICAge1xuICAgICAgc3RhdGljQ2xhc3M6IFwiYXBwLW5hdmlnYXRpb24tZW50cnlcIixcbiAgICAgIGNsYXNzOiB7XG4gICAgICAgIFwiYXBwLW5hdmlnYXRpb24tZW50cnktLW5ld0l0ZW1BY3RpdmVcIjogX3ZtLm5ld0l0ZW1BY3RpdmVcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7XG4gICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYXBwLW5hdmlnYXRpb24tZW50cnktZGl2XCIsXG4gICAgICAgICAgb246IHsgY2xpY2s6IF92bS5oYW5kbGVOZXdJdGVtIH1cbiAgICAgICAgfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYXBwLW5hdmlnYXRpb24tZW50cnktaWNvblwiLFxuICAgICAgICAgICAgICBjbGFzczpcbiAgICAgICAgICAgICAgICAoKF9vYmogPSB7IFwiaWNvbi1sb2FkaW5nLXNtYWxsXCI6IF92bS5sb2FkaW5nIH0pLFxuICAgICAgICAgICAgICAgIChfb2JqW192bS5pY29uXSA9ICFfdm0ubG9hZGluZyksXG4gICAgICAgICAgICAgICAgX29iailcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbIV92bS5sb2FkaW5nID8gX3ZtLl90KFwiaWNvblwiKSA6IF92bS5fZSgpXSxcbiAgICAgICAgICAgIDJcbiAgICAgICAgICApLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgIV92bS5uZXdJdGVtQWN0aXZlXG4gICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgIFwic3BhblwiLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFwcC1uYXZpZ2F0aW9uLW5ldy1pdGVtX190aXRsZVwiLFxuICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdGl0bGU6IF92bS50aXRsZSB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBbX3ZtLl92KFwiXFxuXFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLnRpdGxlKSArIFwiXFxuXFx0XFx0XCIpXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX3ZtLm5ld0l0ZW1BY3RpdmVcbiAgICAgICAgICAgID8gX2MoXG4gICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm5ld0l0ZW1Db250YWluZXJcIiB9LFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF9jKFwiSW5wdXRDb25maXJtQ2FuY2VsXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgcmVmOiBcIm5ld0l0ZW1JbnB1dFwiLFxuICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOlxuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLmVkaXRQbGFjZWhvbGRlciAhPT0gXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IF92bS5lZGl0UGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfdm0udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICBjYW5jZWw6IF92bS5jYW5jZWxOZXdJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgIGNvbmZpcm06IF92bS5oYW5kbGVOZXdJdGVtRG9uZVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0ubmV3SXRlbVZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5uZXdJdGVtVmFsdWUgPSAkJHZcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwibmV3SXRlbVZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICBdXG4gICAgICApXG4gICAgXVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHtcbiAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiY2xpY2stb3V0c2lkZVwiLFxuICAgICAgICAgIHJhd05hbWU6IFwidi1jbGljay1vdXRzaWRlXCIsXG4gICAgICAgICAgdmFsdWU6IF92bS5jbGlja091dHNpZGVDb25maWcsXG4gICAgICAgICAgZXhwcmVzc2lvbjogXCJjbGlja091dHNpZGVDb25maWdcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgY2xhc3M6IHsgb3BlbjogX3ZtLm9wZW4gfSxcbiAgICAgIGF0dHJzOiB7IGlkOiBcImFwcC1zZXR0aW5nc1wiIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIF9jKFwiZGl2XCIsIHsgYXR0cnM6IHsgaWQ6IFwiYXBwLXNldHRpbmdzLWhlYWRlclwiIH0gfSwgW1xuICAgICAgICBfYyhcbiAgICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwic2V0dGluZ3MtYnV0dG9uXCIsIG9uOiB7IGNsaWNrOiBfdm0udG9nZ2xlTWVudSB9IH0sXG4gICAgICAgICAgW192bS5fdihcIlxcblxcdFxcdFxcdFwiICsgX3ZtLl9zKF92bS50aXRsZSkgKyBcIlxcblxcdFxcdFwiKV1cbiAgICAgICAgKVxuICAgICAgXSksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXCJ0cmFuc2l0aW9uXCIsIHsgYXR0cnM6IHsgbmFtZTogXCJzbGlkZS11cFwiIH0gfSwgW1xuICAgICAgICBfYyhcbiAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwic2hvd1wiLFxuICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IF92bS5vcGVuLFxuICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwib3BlblwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBhdHRyczogeyBpZDogXCJhcHAtc2V0dGluZ3MtY29udGVudFwiIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSxcbiAgICAgICAgICAyXG4gICAgICAgIClcbiAgICAgIF0pXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwibGlcIiwgeyBzdGF0aWNDbGFzczogXCJhcHAtbmF2aWdhdGlvbi1zcGFjZXJcIiB9KVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJhXCIsIHtcbiAgICBzdGF0aWNDbGFzczogXCJhcHAtbmF2aWdhdGlvbi10b2dnbGVcIixcbiAgICBhdHRyczoge1xuICAgICAgaHJlZjogXCIjXCIsXG4gICAgICBcImFyaWEtZXhwYW5kZWRcIjogX3ZtLm9wZW4gPyBcInRydWVcIiA6IFwiZmFsc2VcIixcbiAgICAgIFwiYXJpYS1jb250cm9sc1wiOiBcImFwcC1uYXZpZ2F0aW9uLXZ1ZVwiXG4gICAgfSxcbiAgICBvbjoge1xuICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICByZXR1cm4gX3ZtLnRvZ2dsZU5hdmlnYXRpb24oJGV2ZW50KVxuICAgICAgfSxcbiAgICAgIGtleWRvd246IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgISRldmVudC50eXBlLmluZGV4T2YoXCJrZXlcIikgJiZcbiAgICAgICAgICBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwic3BhY2VcIiwgMzIsICRldmVudC5rZXksIFtcIiBcIiwgXCJTcGFjZWJhclwiXSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgJGV2ZW50LmN0cmxLZXkgfHxcbiAgICAgICAgICAkZXZlbnQuc2hpZnRLZXkgfHxcbiAgICAgICAgICAkZXZlbnQuYWx0S2V5IHx8XG4gICAgICAgICAgJGV2ZW50Lm1ldGFLZXlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgfVxuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICByZXR1cm4gX3ZtLnRvZ2dsZU5hdmlnYXRpb24oJGV2ZW50KVxuICAgICAgfVxuICAgIH1cbiAgfSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJhcHAtc2V0dGluZ3Mtc2VjdGlvblwiLCBhdHRyczogeyBpZDogX3ZtLmlkIH0gfSxcbiAgICBbXG4gICAgICBfYyhcbiAgICAgICAgXCJoM1wiLFxuICAgICAgICB7XG4gICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYXBwLXNldHRpbmdzLXNlY3Rpb25fX3RpdGxlXCIsXG4gICAgICAgICAgYXR0cnM6IHsgaWQ6IF92bS50aXRsZSB9XG4gICAgICAgIH0sXG4gICAgICAgIFtfdm0uX3YoXCJcXG5cXHRcXHRcIiArIF92bS5fcyhfdm0udGl0bGUpICsgXCJcXG5cXHRcIildXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF92bS5fdChcImRlZmF1bHRcIilcbiAgICBdLFxuICAgIDJcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJ0cmFuc2l0aW9uXCIsXG4gICAge1xuICAgICAgYXR0cnM6IHsgYXBwZWFyOiBcIlwiLCBuYW1lOiBcInNsaWRlLXJpZ2h0XCIgfSxcbiAgICAgIG9uOiB7XG4gICAgICAgIFwiYmVmb3JlLWVudGVyXCI6IF92bS5vbkJlZm9yZUVudGVyLFxuICAgICAgICBcImFmdGVyLWVudGVyXCI6IF92bS5vbkFmdGVyRW50ZXIsXG4gICAgICAgIFwiYmVmb3JlLWxlYXZlXCI6IF92bS5vbkJlZm9yZUxlYXZlLFxuICAgICAgICBcImFmdGVyLWxlYXZlXCI6IF92bS5vbkFmdGVyTGVhdmVcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIF9jKFxuICAgICAgICBcImFzaWRlXCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiYXBwLXNpZGViYXJcIiwgYXR0cnM6IHsgaWQ6IFwiYXBwLXNpZGViYXItdnVlXCIgfSB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcImhlYWRlclwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhcHAtc2lkZWJhci1oZWFkZXJcIixcbiAgICAgICAgICAgICAgY2xhc3M6IHtcbiAgICAgICAgICAgICAgICBcImFwcC1zaWRlYmFyLWhlYWRlci0td2l0aC1maWd1cmVcIjogX3ZtLmhhc0ZpZ3VyZSxcbiAgICAgICAgICAgICAgICBcImFwcC1zaWRlYmFyLWhlYWRlci0tY29tcGFjdFwiOiBfdm0uY29tcGFjdFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcImFcIiwge1xuICAgICAgICAgICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJ0b29sdGlwXCIsXG4gICAgICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi10b29sdGlwLmF1dG9cIixcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5jbG9zZVRyYW5zbGF0ZWQsXG4gICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiY2xvc2VUcmFuc2xhdGVkXCIsXG4gICAgICAgICAgICAgICAgICAgIG1vZGlmaWVyczogeyBhdXRvOiB0cnVlIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFwcC1zaWRlYmFyX19jbG9zZSBpY29uLWNsb3NlXCIsXG4gICAgICAgICAgICAgICAgYXR0cnM6IHsgaHJlZjogXCIjXCIgfSxcbiAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmNsb3NlU2lkZWJhcigkZXZlbnQpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJhcHAtc2lkZWJhci1oZWFkZXJfX2luZm9cIiB9LCBbXG4gICAgICAgICAgICAgICAgX3ZtLmhhc0ZpZ3VyZSAmJiAhX3ZtLmVtcHR5XG4gICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYXBwLXNpZGViYXItaGVhZGVyX19maWd1cmVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXBwLXNpZGViYXItaGVhZGVyX19maWd1cmUtLXdpdGgtYWN0aW9uXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLmhhc0ZpZ3VyZUNsaWNrTGlzdGVuZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IFwidXJsKFwiICsgX3ZtLmJhY2tncm91bmQgKyBcIilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7IGNsaWNrOiBfdm0ub25GaWd1cmVDbGljayB9XG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBbX3ZtLl90KFwiaGVhZGVyXCIpXSxcbiAgICAgICAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAhX3ZtLmVtcHR5XG4gICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYXBwLXNpZGViYXItaGVhZGVyX19kZXNjXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBcImFwcC1zaWRlYmFyLWhlYWRlcl9fZGVzYy0td2l0aC10ZXJ0aWFyeS1hY3Rpb25cIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uY2FuU3RhciB8fCBfdm0uJHNsb3RzW1widGVydGlhcnktYWN0aW9uc1wiXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MtLWVkaXRhYmxlXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLnRpdGxlRWRpdGFibGUgJiYgIV92bS5zdWJ0aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhcHAtc2lkZWJhci1oZWFkZXJfX2Rlc2MtLXdpdGgtc3VidGl0bGUtLWVkaXRhYmxlXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLnRpdGxlRWRpdGFibGUgJiYgX3ZtLnN1YnRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcImFwcC1zaWRlYmFyLWhlYWRlcl9fZGVzYy0td2l0aG91dC1hY3Rpb25zXCI6ICFfdm1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuJHNsb3RzW1wic2Vjb25kYXJ5LWFjdGlvbnNcIl1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5jYW5TdGFyIHx8IF92bS4kc2xvdHNbXCJ0ZXJ0aWFyeS1hY3Rpb25zXCJdXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImFwcC1zaWRlYmFyLWhlYWRlcl9fdGVydGlhcnktYWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3QoXCJ0ZXJ0aWFyeS1hY3Rpb25zXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uY2FuU3RhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBfYyhcImFcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFwcC1zaWRlYmFyLWhlYWRlcl9fc3RhclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImljb24tc3RhcnJlZFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uaXNTdGFycmVkICYmICFfdm0uc3RhckxvYWRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImljb24tc3RhclwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhX3ZtLmlzU3RhcnJlZCAmJiAhX3ZtLnN0YXJMb2FkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpY29uLWxvYWRpbmctc21hbGxcIjogX3ZtLnN0YXJMb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLnRvZ2dsZVN0YXJyZWQoJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYXBwLXNpZGViYXItaGVhZGVyX190aXRsZS1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImgyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogIV92bS50aXRsZUVkaXRhYmxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCIhdGl0bGVFZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImxpbmtpZnlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi1saW5raWZ5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBfdm0udGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtpZnk6IF92bS5saW5raWZ5VGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInt0ZXh0OiB0aXRsZSwgbGlua2lmeTogbGlua2lmeVRpdGxlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcInRvb2x0aXBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi10b29sdGlwLmF1dG9cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0udGl0bGVUb29sdGlwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ0aXRsZVRvb2x0aXBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVyczogeyBhdXRvOiB0cnVlIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFwcC1zaWRlYmFyLWhlYWRlcl9fbWFpbnRpdGxlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQudGFyZ2V0ICE9PSAkZXZlbnQuY3VycmVudFRhcmdldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmVkaXRUaXRsZSgkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoX3ZtLnRpdGxlKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcblxcdFxcdFxcdFxcdFxcdFxcdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLnRpdGxlRWRpdGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb3JtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImNsaWNrLW91dHNpZGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi1jbGljay1vdXRzaWRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0ub25TdWJtaXRUaXRsZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCIoKSA9PiBvblN1Ym1pdFRpdGxlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhcHAtc2lkZWJhci1oZWFkZXJfX21haW50aXRsZS1mb3JtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VibWl0OiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLm9uU3VibWl0VGl0bGUoJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBuYW1lOiBcImZvY3VzXCIsIHJhd05hbWU6IFwidi1mb2N1c1wiIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogXCJ0aXRsZUlucHV0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImFwcC1zaWRlYmFyLWhlYWRlcl9fbWFpbnRpdGxlLWlucHV0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IF92bS50aXRsZVBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21Qcm9wczogeyB2YWx1ZTogX3ZtLnRpdGxlIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleWRvd246IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISRldmVudC50eXBlLmluZGV4T2YoXCJrZXlcIikgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX2soXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQua2V5Q29kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZXNjXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXCJFc2NcIiwgXCJFc2NhcGVcIl1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5vbkRpc21pc3NFZGl0aW5nKCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dDogX3ZtLm9uVGl0bGVJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiYnV0dG9uXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJpY29uLWNvbmZpcm1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyB0eXBlOiBcInN1Ym1pdFwiIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uc3VidGl0bGUudHJpbSgpICE9PSBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwidG9vbHRpcFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi10b29sdGlwLmF1dG9cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnN1YnRpdGxlVG9vbHRpcCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInN1YnRpdGxlVG9vbHRpcFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVyczogeyBhdXRvOiB0cnVlIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFwcC1zaWRlYmFyLWhlYWRlcl9fc3VidGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoX3ZtLnN1YnRpdGxlKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcXHRcXHRcXHRcXHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2xvdHNbXCJzZWNvbmRhcnktYWN0aW9uc1wiXVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJBY3Rpb25zXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFwcC1zaWRlYmFyLWhlYWRlcl9fbWVudVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBcImZvcmNlLW1lbnVcIjogX3ZtLmZvcmNlTWVudSB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW192bS5fdChcInNlY29uZGFyeS1hY3Rpb25zXCIpXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKClcbiAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX3ZtLiRzbG90c1tcImRlc2NyaXB0aW9uXCJdICYmICFfdm0uZW1wdHlcbiAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImFwcC1zaWRlYmFyLWhlYWRlcl9fZGVzY3JpcHRpb25cIiB9LFxuICAgICAgICAgICAgICAgICAgICBbX3ZtLl90KFwiZGVzY3JpcHRpb25cIildLFxuICAgICAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICAgICAgXVxuICAgICAgICAgICksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiQXBwU2lkZWJhclRhYnNcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6IFwic2hvd1wiLFxuICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LXNob3dcIixcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiAhX3ZtLmxvYWRpbmcsXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIiFsb2FkaW5nXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHJlZjogXCJ0YWJzXCIsXG4gICAgICAgICAgICAgIGF0dHJzOiB7IGFjdGl2ZTogX3ZtLmFjdGl2ZSB9LFxuICAgICAgICAgICAgICBvbjogeyBcInVwZGF0ZTphY3RpdmVcIjogX3ZtLm9uVXBkYXRlQWN0aXZlIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sXG4gICAgICAgICAgICAyXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF92bS5sb2FkaW5nXG4gICAgICAgICAgICA/IF9jKFwiRW1wdHlDb250ZW50XCIsIHsgYXR0cnM6IHsgaWNvbjogXCJpY29uLWxvYWRpbmdcIiB9IH0pXG4gICAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICBdXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiYXBwLXNpZGViYXItdGFic1wiIH0sIFtcbiAgICBfdm0uaGFzTXVsdGlwbGVUYWJzXG4gICAgICA/IF9jKFxuICAgICAgICAgIFwibmF2XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYXBwLXNpZGViYXItdGFic19fbmF2XCIsXG4gICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICBrZXlkb3duOiBbXG4gICAgICAgICAgICAgICAgZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICEkZXZlbnQudHlwZS5pbmRleE9mKFwia2V5XCIpICYmXG4gICAgICAgICAgICAgICAgICAgIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJsZWZ0XCIsIDM3LCAkZXZlbnQua2V5LCBbXG4gICAgICAgICAgICAgICAgICAgICAgXCJMZWZ0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgXCJBcnJvd0xlZnRcIlxuICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBpZiAoXCJidXR0b25cIiBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1dHRvbiAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAkZXZlbnQuY3RybEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAkZXZlbnQuc2hpZnRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgJGV2ZW50LmFsdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAkZXZlbnQubWV0YUtleVxuICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5mb2N1c1ByZXZpb3VzVGFiKCRldmVudClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAhJGV2ZW50LnR5cGUuaW5kZXhPZihcImtleVwiKSAmJlxuICAgICAgICAgICAgICAgICAgICBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwicmlnaHRcIiwgMzksICRldmVudC5rZXksIFtcbiAgICAgICAgICAgICAgICAgICAgICBcIlJpZ2h0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgXCJBcnJvd1JpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgaWYgKFwiYnV0dG9uXCIgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgJGV2ZW50LmN0cmxLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnNoaWZ0S2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICRldmVudC5hbHRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgJGV2ZW50Lm1ldGFLZXlcbiAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uZm9jdXNOZXh0VGFiKCRldmVudClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAhJGV2ZW50LnR5cGUuaW5kZXhPZihcImtleVwiKSAmJlxuICAgICAgICAgICAgICAgICAgICBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwidGFiXCIsIDksICRldmVudC5rZXksIFwiVGFiXCIpXG4gICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgJGV2ZW50LmN0cmxLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnNoaWZ0S2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICRldmVudC5hbHRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgJGV2ZW50Lm1ldGFLZXlcbiAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uZm9jdXNBY3RpdmVUYWJDb250ZW50KCRldmVudClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKFwia2V5XCIpICYmICRldmVudC5rZXlDb2RlICE9PSAzMykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAkZXZlbnQuY3RybEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAkZXZlbnQuc2hpZnRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgJGV2ZW50LmFsdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAkZXZlbnQubWV0YUtleVxuICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5mb2N1c0ZpcnN0VGFiKCRldmVudClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgaWYgKCEkZXZlbnQudHlwZS5pbmRleE9mKFwia2V5XCIpICYmICRldmVudC5rZXlDb2RlICE9PSAzNCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAkZXZlbnQuY3RybEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAkZXZlbnQuc2hpZnRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgJGV2ZW50LmFsdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAkZXZlbnQubWV0YUtleVxuICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5mb2N1c0xhc3RUYWIoJGV2ZW50KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgW1xuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwidWxcIixcbiAgICAgICAgICAgICAgX3ZtLl9sKF92bS50YWJzLCBmdW5jdGlvbih0YWIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgICBcImxpXCIsXG4gICAgICAgICAgICAgICAgICB7IGtleTogdGFiLmlkLCBzdGF0aWNDbGFzczogXCJhcHAtc2lkZWJhci10YWJzX190YWJcIiB9LFxuICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICBcImFcIixcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogeyBhY3RpdmU6IF92bS5hY3RpdmVUYWIgPT09IHRhYi5pZCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHRhYi5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhcmlhLWNvbnRyb2xzXCI6IFwidGFiLVwiICsgdGFiLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcImFyaWEtc2VsZWN0ZWRcIjogX3ZtLmFjdGl2ZVRhYiA9PT0gdGFiLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcImRhdGEtaWRcIjogdGFiLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmOiBcIiN0YWItXCIgKyB0YWIuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4OiBfdm0uYWN0aXZlVGFiID09PSB0YWIuaWQgPyBudWxsIDogLTEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU6IFwidGFiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLnNldEFjdGl2ZSh0YWIuaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFwcC1zaWRlYmFyLXRhYnNfX3RhYi1pY29uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiB0YWIuaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRcXHRcXHRcIiArIF92bS5fcyh0YWIubmFtZSkgKyBcIlxcblxcdFxcdFxcdFxcdFwiKVxuICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIDBcbiAgICAgICAgICAgIClcbiAgICAgICAgICBdXG4gICAgICAgIClcbiAgICAgIDogX3ZtLl9lKCksXG4gICAgX3ZtLl92KFwiIFwiKSxcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7XG4gICAgICAgIHN0YXRpY0NsYXNzOiBcImFwcC1zaWRlYmFyLXRhYnNfX2NvbnRlbnRcIixcbiAgICAgICAgY2xhc3M6IHsgXCJhcHAtc2lkZWJhci10YWJzX19jb250ZW50LS1tdWx0aXBsZVwiOiBfdm0uaGFzTXVsdGlwbGVUYWJzIH1cbiAgICAgIH0sXG4gICAgICBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sXG4gICAgICAyXG4gICAgKVxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJzZWN0aW9uXCIsXG4gICAge1xuICAgICAgc3RhdGljQ2xhc3M6IFwiYXBwLXNpZGViYXJfX3RhYlwiLFxuICAgICAgY2xhc3M6IHsgXCJhcHAtc2lkZWJhcl9fdGFiLS1hY3RpdmVcIjogX3ZtLmlzQWN0aXZlIH0sXG4gICAgICBhdHRyczoge1xuICAgICAgICBpZDogXCJ0YWItXCIgKyBfdm0uaWQsXG4gICAgICAgIFwiYXJpYS1oaWRkZW5cIjogIV92bS5pc0FjdGl2ZSxcbiAgICAgICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogX3ZtLmlkLFxuICAgICAgICB0YWJpbmRleDogXCIwXCIsXG4gICAgICAgIHJvbGU6IFwidGFicGFuZWxcIlxuICAgICAgfSxcbiAgICAgIG9uOiB7IHNjcm9sbDogX3ZtLm9uU2Nyb2xsIH1cbiAgICB9LFxuICAgIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSxcbiAgICAyXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgX3ZtLl9nKFxuICAgICAge1xuICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJ0b29sdGlwXCIsXG4gICAgICAgICAgICByYXdOYW1lOiBcInYtdG9vbHRpcFwiLFxuICAgICAgICAgICAgdmFsdWU6IF92bS50b29sdGlwLFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ0b29sdGlwXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiY2xpY2stb3V0c2lkZVwiLFxuICAgICAgICAgICAgcmF3TmFtZTogXCJ2LWNsaWNrLW91dHNpZGVcIixcbiAgICAgICAgICAgIHZhbHVlOiBfdm0uY2xvc2VNZW51LFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJjbG9zZU1lbnVcIlxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGljQ2xhc3M6IFwiYXZhdGFyZGl2IHBvcG92ZXJtZW51LXdyYXBwZXJcIixcbiAgICAgICAgY2xhc3M6IHtcbiAgICAgICAgICBcImF2YXRhcmRpdi0tdW5rbm93blwiOiBfdm0udXNlckRvZXNOb3RFeGlzdCxcbiAgICAgICAgICBcImF2YXRhcmRpdi0td2l0aC1tZW51XCI6IF92bS5oYXNNZW51XG4gICAgICAgIH0sXG4gICAgICAgIHN0eWxlOiBfdm0uYXZhdGFyU3R5bGVcbiAgICAgIH0sXG4gICAgICAhX3ZtLmRpc2FibGVNZW51ID8geyBjbGljazogX3ZtLnRvZ2dsZU1lbnUgfSA6IHt9XG4gICAgKSxcbiAgICBbXG4gICAgICBfdm0uaWNvbkNsYXNzXG4gICAgICAgID8gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJhdmF0YXItY2xhc3MtaWNvblwiLCBjbGFzczogX3ZtLmljb25DbGFzcyB9KVxuICAgICAgICA6IF92bS5pc0F2YXRhckxvYWRlZCAmJiAhX3ZtLnVzZXJEb2VzTm90RXhpc3RcbiAgICAgICAgPyBfYyhcImltZ1wiLCB7XG4gICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICBzcmM6IF92bS5hdmF0YXJVcmxMb2FkZWQsXG4gICAgICAgICAgICAgIHNyY3NldDogX3ZtLmF2YXRhclNyY1NldExvYWRlZCxcbiAgICAgICAgICAgICAgYWx0OiBcIlwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfdm0uaGFzTWVudVxuICAgICAgICA/IF9jKFxuICAgICAgICAgICAgXCJQb3BvdmVyXCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50OiBcImF1dG9cIixcbiAgICAgICAgICAgICAgICBjb250YWluZXI6IF92bS5tZW51Q29udGFpbmVyLFxuICAgICAgICAgICAgICAgIG9wZW46IF92bS5jb250YWN0c01lbnVPcGVuU3RhdGVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJQb3BvdmVyTWVudVwiLCB7IGF0dHJzOiB7IG1lbnU6IF92bS5tZW51IH0gfSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwidGVtcGxhdGVcIiwgeyBzbG90OiBcInRyaWdnZXJcIiB9LCBbXG4gICAgICAgICAgICAgICAgX2MoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgY2xhc3M6IF92bS5jb250YWN0c01lbnVMb2FkaW5nID8gXCJpY29uLWxvYWRpbmdcIiA6IFwiaWNvbi1tb3JlXCIsXG4gICAgICAgICAgICAgICAgICBzdHlsZTogeyB3aWR0aDogX3ZtLnNpemUgKyBcInB4XCIsIGhlaWdodDogX3ZtLnNpemUgKyBcInB4XCIgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMlxuICAgICAgICAgIClcbiAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfdm0uc2hvd1VzZXJTdGF0dXNJY29uT25BdmF0YXJcbiAgICAgICAgPyBfYyhcbiAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImF2YXRhcmRpdl9fdXNlci1zdGF0dXMgYXZhdGFyZGl2X191c2VyLXN0YXR1cy0taWNvblwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW192bS5fdihcIlxcblxcdFxcdFwiICsgX3ZtLl9zKF92bS51c2VyU3RhdHVzLmljb24pICsgXCJcXG5cXHRcIildXG4gICAgICAgICAgKVxuICAgICAgICA6IF92bS5jYW5EaXNwbGF5VXNlclN0YXR1c1xuICAgICAgICA/IF9jKFwiZGl2XCIsIHtcbiAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImF2YXRhcmRpdl9fdXNlci1zdGF0dXNcIixcbiAgICAgICAgICAgIGNsYXNzOiBcImF2YXRhcmRpdl9fdXNlci1zdGF0dXMtLVwiICsgX3ZtLnVzZXJTdGF0dXMuc3RhdHVzXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBfdm0uc3RhdHVzXG4gICAgICAgID8gX2MoXG4gICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhdmF0YXJkaXZfX3N0YXR1c1wiLFxuICAgICAgICAgICAgICBjbGFzczogXCJhdmF0YXJkaXZfX3N0YXR1cy0tXCIgKyBfdm0uc3RhdHVzLFxuICAgICAgICAgICAgICBzdHlsZTogeyBiYWNrZ3JvdW5kQ29sb3I6IFwiI1wiICsgX3ZtLnN0YXR1c0NvbG9yIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF92bS5zdGF0dXMgPT09IFwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJzdmdcIixcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMTJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCIxMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveDogXCIwIDAgMy4xNzUgMi45MVwiXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJwYXRoXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7IGZpbGw6IFwiI1wiICsgX3ZtLnN0YXR1c0NvbG9yIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkOiBcIk0zLjIxIDMuMDQzSC40OTRsLjY3OS0xLjE3Ny42OC0xLjE3Ni42NzggMS4xNzZ6XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCIjZmZmXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwic3Ryb2tlLXdpZHRoXCI6IFwiLjI2NVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcInN0cm9rZS1saW5lY2FwXCI6IFwic3F1YXJlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICAgICAgXVxuICAgICAgICAgIClcbiAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfdm0udXNlckRvZXNOb3RFeGlzdCAmJiAhX3ZtLmljb25DbGFzc1xuICAgICAgICA/IF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwidW5rbm93blwiIH0sIFtcbiAgICAgICAgICAgIF92bS5fdihcIlxcblxcdFxcdFwiICsgX3ZtLl9zKF92bS5pbml0aWFscykgKyBcIlxcblxcdFwiKVxuICAgICAgICAgIF0pXG4gICAgICAgIDogX3ZtLl9lKClcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7XG4gICAgICByZWY6IFwiY3J1bWJcIixcbiAgICAgIHN0YXRpY0NsYXNzOiBcImNydW1iXCIsXG4gICAgICBjbGFzczoge1xuICAgICAgICBcImNydW1iLS13aXRoLWFjdGlvblwiOiBfdm0uJHNsb3RzLmRlZmF1bHQsXG4gICAgICAgIFwiY3J1bWItLWhvdmVyZWRcIjogX3ZtLmhvdmVyaW5nXG4gICAgICB9LFxuICAgICAgYXR0cnM6IHsgZHJhZ2dhYmxlOiBcImZhbHNlXCIgfSxcbiAgICAgIG9uOiB7XG4gICAgICAgIGRyYWdzdGFydDogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICByZXR1cm4gKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgLyoqIFByZXZlbnQgdGhlIGJyZWFkY3J1bWIgZnJvbSBiZWluZyBkcmFnZ2FibGUuICovXG4gICAgICAgICAgfSkoJGV2ZW50KVxuICAgICAgICB9LFxuICAgICAgICBkcm9wOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIHJldHVybiBfdm0uZHJvcHBlZCgkZXZlbnQpXG4gICAgICAgIH0sXG4gICAgICAgIGRyYWdvdmVyOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIHJldHVybiAoZnVuY3Rpb24oKSB7fSkoJGV2ZW50KVxuICAgICAgICB9LFxuICAgICAgICBkcmFnZW50ZXI6IF92bS5kcmFnRW50ZXIsXG4gICAgICAgIGRyYWdsZWF2ZTogX3ZtLmRyYWdMZWF2ZVxuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgX3ZtLnRpdGxlIHx8IF92bS5pY29uXG4gICAgICAgID8gX2MoXG4gICAgICAgICAgICBfdm0udGFnLFxuICAgICAgICAgICAgeyB0YWc6IFwiZWxlbWVudFwiLCBhdHRyczogeyB0bzogX3ZtLnRvLCBocmVmOiBfdm0uaHJlZiB9IH0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF92bS5pY29uXG4gICAgICAgICAgICAgICAgPyBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJpY29uXCIsIGNsYXNzOiBfdm0uaWNvbiB9KVxuICAgICAgICAgICAgICAgIDogX2MoXCJzcGFuXCIsIFtfdm0uX3YoX3ZtLl9zKF92bS50aXRsZSkpXSlcbiAgICAgICAgICAgIF1cbiAgICAgICAgICApXG4gICAgICAgIDogX3ZtLl9lKCksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXG4gICAgICAgIFwiQWN0aW9uc1wiLFxuICAgICAgICB7XG4gICAgICAgICAgcmVmOiBcImFjdGlvbnNcIixcbiAgICAgICAgICBhdHRyczogeyBcImZvcmNlLW1lbnVcIjogX3ZtLmZvcmNlTWVudSwgb3BlbjogX3ZtLm9wZW4gfSxcbiAgICAgICAgICBvbjogeyBcInVwZGF0ZTpvcGVuXCI6IF92bS5vbk9wZW5DaGFuZ2UgfVxuICAgICAgICB9LFxuICAgICAgICBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sXG4gICAgICAgIDJcbiAgICAgIClcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJQb3BvdmVyXCIsXG4gICAgX3ZtLl9nKFxuICAgICAgX3ZtLl9iKFxuICAgICAgICB7XG4gICAgICAgICAgc2NvcGVkU2xvdHM6IF92bS5fdShcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGtleTogXCJ0cmlnZ2VyXCIsXG4gICAgICAgICAgICAgICAgZm46IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIFtfdm0uX3QoXCJkZWZhdWx0XCIpXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcHJveHk6IHRydWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICAgKVxuICAgICAgICB9LFxuICAgICAgICBcIlBvcG92ZXJcIixcbiAgICAgICAgX3ZtLiRhdHRycyxcbiAgICAgICAgZmFsc2VcbiAgICAgICksXG4gICAgICBfdm0uJGxpc3RlbmVyc1xuICAgICksXG4gICAgW1xuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImNvbG9yLXBpY2tlclwiIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwidHJhbnNpdGlvblwiLFxuICAgICAgICAgICAgeyBhdHRyczogeyBuYW1lOiBcInNsaWRlXCIsIG1vZGU6IFwib3V0LWluXCIgfSB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAhX3ZtLmFkdmFuY2VkXG4gICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJjb2xvci1waWNrZXItc2ltcGxlXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl9sKF92bS5wYWxldHRlLCBmdW5jdGlvbihjb2xvciwgaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXCJidXR0b25cIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImNvbG9yLXBpY2tlci1zaW1wbGUtY29sb3ItY2lyY2xlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbG9yLXBpY2tlci1zaW1wbGUtY29sb3ItY2lyY2xlLS1hY3RpdmVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciA9PT0gX3ZtLmN1cnJlbnRDb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7IFwiYmFja2dyb3VuZC1jb2xvclwiOiBjb2xvciB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0ucGlja0NvbG9yKGNvbG9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICBfdm0uYWR2YW5jZWRcbiAgICAgICAgICAgICAgICA/IF9jKFwiQ2hyb21lXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiY29sb3ItcGlja2VyLWFkdmFuY2VkXCIsXG4gICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IFwiZGlzYWJsZS1hbHBoYVwiOiB0cnVlLCBcImRpc2FibGUtZmllbGRzXCI6IHRydWUgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHsgaW5wdXQ6IF92bS5waWNrQ29sb3IgfSxcbiAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmN1cnJlbnRDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uY3VycmVudENvbG9yID0gJCR2XG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJjb2xvci1waWNrZXItbmF2aWdhdGlvblwiIH0sIFtcbiAgICAgICAgICAgIF92bS5hZHZhbmNlZFxuICAgICAgICAgICAgICA/IF9jKFwiYnV0dG9uXCIsIHtcbiAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImNvbG9yLXBpY2tlci1uYXZpZ2F0aW9uLWJ1dHRvbiBiYWNrXCIsXG4gICAgICAgICAgICAgICAgICBvbjogeyBjbGljazogX3ZtLmhhbmRsZUJhY2sgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgIV92bS5hZHZhbmNlZFxuICAgICAgICAgICAgICA/IF9jKFwiYnV0dG9uXCIsIHtcbiAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImNvbG9yLXBpY2tlci1uYXZpZ2F0aW9uLWJ1dHRvbiBtb3JlLXNldHRpbmdzXCIsXG4gICAgICAgICAgICAgICAgICBvbjogeyBjbGljazogX3ZtLmhhbmRsZU1vcmVTZXR0aW5ncyB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfdm0uYWR2YW5jZWRcbiAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImNvbG9yLXBpY2tlci1uYXZpZ2F0aW9uLWJ1dHRvbiBjb25maXJtXCIsXG4gICAgICAgICAgICAgICAgICAgIG9uOiB7IGNsaWNrOiBfdm0uaGFuZGxlQ29uZmlybSB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgW192bS5fdihcIlxcblxcdFxcdFxcdFxcdFwiICsgX3ZtLl9zKF92bS50KFwiQ2hvb3NlXCIpKSArIFwiXFxuXFx0XFx0XFx0XCIpXVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICAgIF0pXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICBdXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAge1xuICAgICAgc3RhdGljQ2xhc3M6IFwiY29udGVudFwiLFxuICAgICAgY2xhc3M6IFwiYXBwLVwiICsgX3ZtLmFwcE5hbWUudG9Mb3dlckNhc2UoKSxcbiAgICAgIGF0dHJzOiB7IGlkOiBcImNvbnRlbnQtdnVlXCIgfVxuICAgIH0sXG4gICAgW192bS5fdChcImRlZmF1bHRcIildLFxuICAgIDJcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJEYXRlUGlja2VyXCIsXG4gICAgX3ZtLl9nKFxuICAgICAgX3ZtLl9iKFxuICAgICAgICB7XG4gICAgICAgICAgcmVmOiBcImRhdGVwaWNrZXJcIixcbiAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgY2xlYXJhYmxlOiBfdm0uY2xlYXJhYmxlLFxuICAgICAgICAgICAgXCJtaW51dGUtc3RlcFwiOiBfdm0ubWludXRlU3RlcCxcbiAgICAgICAgICAgIGZvcm1hdDogX3ZtLmZvcm1hdCxcbiAgICAgICAgICAgIGZvcm1hdHRlcjogX3ZtLmZvcm1hdHRlcixcbiAgICAgICAgICAgIHR5cGU6IF92bS50eXBlLFxuICAgICAgICAgICAgdmFsdWU6IF92bS52YWx1ZSxcbiAgICAgICAgICAgIFwiYXBwZW5kLXRvLWJvZHlcIjogX3ZtLmFwcGVuZFRvQm9keSxcbiAgICAgICAgICAgIFwic2hvdy13ZWVrLW51bWJlclwiOiBfdm0uc2hvd1dlZWtOdW1iZXIsXG4gICAgICAgICAgICBcInBvcHVwLWNsYXNzXCI6IHsgXCJzaG93LXdlZWstbnVtYmVyXCI6IF92bS5zaG93V2Vla051bWJlciB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgXCJzZWxlY3QteWVhclwiOiBfdm0uaGFuZGxlU2VsZWN0WWVhcixcbiAgICAgICAgICAgIFwic2VsZWN0LW1vbnRoXCI6IF92bS5oYW5kbGVTZWxlY3RNb250aCxcbiAgICAgICAgICAgIFwidXBkYXRlOnZhbHVlXCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICByZXR1cm4gX3ZtLiRlbWl0KFwidXBkYXRlOnZhbHVlXCIsIF92bS52YWx1ZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHNjb3BlZFNsb3RzOiBfdm0uX3UoXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF92bS5fbChfdm0uJHNjb3BlZFNsb3RzLCBmdW5jdGlvbihfLCBzbG90KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIGtleTogc2xvdCxcbiAgICAgICAgICAgICAgICAgIGZuOiBmdW5jdGlvbihzY29wZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW192bS5fdChzbG90LCBudWxsLCBudWxsLCBzY29wZSldXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICAgKVxuICAgICAgICB9LFxuICAgICAgICBcIkRhdGVQaWNrZXJcIixcbiAgICAgICAgX3ZtLiRhdHRycyxcbiAgICAgICAgZmFsc2VcbiAgICAgICksXG4gICAgICBfdm0uJGxpc3RlbmVyc1xuICAgIClcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJlbXB0eS1jb250ZW50XCIsIGF0dHJzOiB7IHJvbGU6IFwibm90ZVwiIH0gfSwgW1xuICAgIF9jKFxuICAgICAgXCJkaXZcIixcbiAgICAgIHtcbiAgICAgICAgc3RhdGljQ2xhc3M6IFwiZW1wdHktY29udGVudF9faWNvblwiLFxuICAgICAgICBjbGFzczogX3ZtLmljb24sXG4gICAgICAgIGF0dHJzOiB7IHJvbGU6IFwiaW1nXCIgfVxuICAgICAgfSxcbiAgICAgIFtfdm0uX3QoXCJpY29uXCIpXSxcbiAgICAgIDJcbiAgICApLFxuICAgIF92bS5fdihcIiBcIiksXG4gICAgX2MoXCJoMlwiLCB7IHN0YXRpY0NsYXNzOiBcImVtcHR5LWNvbnRlbnRfX3RpdGxlXCIgfSwgW192bS5fdChcImRlZmF1bHRcIildLCAyKSxcbiAgICBfdm0uX3YoXCIgXCIpLFxuICAgIF9jKFxuICAgICAgXCJwXCIsXG4gICAgICB7XG4gICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgICAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICAgICAgICB2YWx1ZTogX3ZtLiRzbG90cy5kZXNjLFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogXCIkc2xvdHMuZGVzY1wiXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgW192bS5fdChcImRlc2NcIildLFxuICAgICAgMlxuICAgIClcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwic3BhblwiLFxuICAgIF92bS5fZyhcbiAgICAgIHsgc3RhdGljQ2xhc3M6IFwib3B0aW9uXCIsIHN0eWxlOiBfdm0uY3NzVmFycywgYXR0cnM6IHsgaWQ6IF92bS5pZCB9IH0sXG4gICAgICBfdm0uJGxpc3RlbmVyc1xuICAgICksXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiQXZhdGFyXCIsXG4gICAgICAgIF92bS5fYihcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzdGF0aWNDbGFzczogXCJvcHRpb25fX2F2YXRhclwiLFxuICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgXCJkaXNhYmxlLW1lbnVcIjogdHJ1ZSxcbiAgICAgICAgICAgICAgXCJkaXNhYmxlLXRvb2x0aXBcIjogdHJ1ZSxcbiAgICAgICAgICAgICAgXCJkaXNwbGF5LW5hbWVcIjogX3ZtLmRpc3BsYXlOYW1lIHx8IF92bS50aXRsZSxcbiAgICAgICAgICAgICAgXCJpcy1uby11c2VyXCI6IF92bS5pc05vVXNlcixcbiAgICAgICAgICAgICAgc2l6ZTogX3ZtLmF2YXRhclNpemVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiQXZhdGFyXCIsXG4gICAgICAgICAgX3ZtLiRhdHRycyxcbiAgICAgICAgICBmYWxzZVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm9wdGlvbl9fZGV0YWlsc1wiIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcIkhpZ2hsaWdodFwiLCB7XG4gICAgICAgICAgICBzdGF0aWNDbGFzczogXCJvcHRpb25fX2xpbmVvbmVcIixcbiAgICAgICAgICAgIGF0dHJzOiB7IHRleHQ6IF92bS50aXRsZSwgc2VhcmNoOiBfdm0uc2VhcmNoIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF92bS5pc1ZhbGlkU3VidGl0bGUgJiYgX3ZtLmlzU2l6ZUJpZ0Vub3VnaFxuICAgICAgICAgICAgPyBfYyhcIkhpZ2hsaWdodFwiLCB7XG4gICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwib3B0aW9uX19saW5ldHdvXCIsXG4gICAgICAgICAgICAgICAgYXR0cnM6IHsgdGV4dDogX3ZtLnN1YnRpdGxlLCBzZWFyY2g6IF92bS5zZWFyY2ggfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgOiBfdm0uaGFzU3RhdHVzXG4gICAgICAgICAgICA/IF9jKFwic3BhblwiLCBbXG4gICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIFtfdm0uX3YoX3ZtLl9zKF92bS51c2VyU3RhdHVzLmljb24pKV0pLFxuICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIFtfdm0uX3YoX3ZtLl9zKF92bS51c2VyU3RhdHVzLm1lc3NhZ2UpKV0pXG4gICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX3ZtLl90KFwiZGVmYXVsdFwiKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfdm0uaGFzSWNvbiAmJiAhX3ZtLmhhc1Nsb3RcbiAgICAgICAgPyBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJpY29uIG9wdGlvbl9faWNvblwiLCBjbGFzczogX3ZtLmljb24gfSlcbiAgICAgICAgOiBfdm0uX2UoKVxuICAgIF0sXG4gICAgMlxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcInRyYW5zaXRpb25cIiwgeyBhdHRyczogeyBuYW1lOiBcImZhZGVcIiB9IH0sIFtcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7XG4gICAgICAgIHJlZjogXCJtYXNrXCIsXG4gICAgICAgIHN0YXRpY0NsYXNzOiBcIm1vZGFsLW1hc2tcIixcbiAgICAgICAgY2xhc3M6IHsgXCJtb2RhbC1tYXNrLS1kYXJrXCI6IF92bS5kYXJrIH0sXG4gICAgICAgIG9uOiB7XG4gICAgICAgICAgY2xpY2s6IF92bS5oYW5kbGVNb3VzZU1vdmUsXG4gICAgICAgICAgbW91c2Vtb3ZlOiBfdm0uaGFuZGxlTW91c2VNb3ZlLFxuICAgICAgICAgIHRvdWNobW92ZTogX3ZtLmhhbmRsZU1vdXNlTW92ZVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW1xuICAgICAgICBfYyhcInRyYW5zaXRpb25cIiwgeyBhdHRyczogeyBuYW1lOiBcImZhZGUtdmlzaWJpbGl0eVwiIH0gfSwgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6IFwic2hvd1wiLFxuICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LXNob3dcIixcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiAhX3ZtLmNsZWFyVmlldyxcbiAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiIWNsZWFyVmlld1wiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtb2RhbC1oZWFkZXJcIixcbiAgICAgICAgICAgICAgY2xhc3M6IHtcbiAgICAgICAgICAgICAgICBpbnZpc2libGU6IF92bS5jbGVhclZpZXdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX3ZtLnRpdGxlLnRyaW0oKSAhPT0gXCJcIlxuICAgICAgICAgICAgICAgID8gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJtb2RhbC10aXRsZVwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuXFx0XFx0XFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLnRpdGxlKSArIFwiXFxuXFx0XFx0XFx0XFx0XCIpXG4gICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpY29ucy1tZW51XCIgfSxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICBfdm0uaGFzTmV4dCAmJiBfdm0uZW5hYmxlU2xpZGVzaG93XG4gICAgICAgICAgICAgICAgICAgID8gX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJ0b29sdGlwXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtdG9vbHRpcC5hdXRvXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnBsYXlQYXVzZVRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJwbGF5UGF1c2VUaXRsZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXJzOiB7IGF1dG86IHRydWUgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwicGxheS1wYXVzZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogeyBcInBsYXktcGF1c2UtLXBhdXNlZFwiOiBfdm0uc2xpZGVzaG93UGF1c2VkIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7IGNsaWNrOiBfdm0udG9nZ2xlUGxheVBhdXNlIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IFtfdm0ucGxheWluZyA/IFwiaWNvbi1wYXVzZVwiIDogXCJpY29uLXBsYXlcIl1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcImhpZGRlbi12aXN1YWxseVwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKF92bS5wbGF5UGF1c2VUaXRsZSkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLnBsYXlpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInN2Z1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwicHJvZ3Jlc3MtcmluZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGhlaWdodDogXCI1MFwiLCB3aWR0aDogXCI1MFwiIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiY2lyY2xlXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcInByb2dyZXNzLXJpbmdfX2NpcmNsZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIndoaXRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic3Ryb2tlLXdpZHRoXCI6IFwiMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBcInRyYW5zcGFyZW50XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHI6IFwiMTVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3g6IFwiMjVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3k6IFwiMjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICBcIkFjdGlvbnNcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJoZWFkZXItYWN0aW9uc1wiIH0sXG4gICAgICAgICAgICAgICAgICAgIFtfdm0uX3QoXCJhY3Rpb25zXCIpXSxcbiAgICAgICAgICAgICAgICAgICAgMlxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfdm0uY2FuQ2xvc2VcbiAgICAgICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiQWN0aW9uc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJoZWFkZXItY2xvc2VcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIkFjdGlvbkJ1dHRvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGljb246IFwiaWNvbi1jbG9zZVwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjogeyBjbGljazogX3ZtLmNsb3NlIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKF92bS50KFwiQ2xvc2VcIikpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcblxcdFxcdFxcdFxcdFxcdFxcdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdXG4gICAgICAgICAgKVxuICAgICAgICBdKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0cmFuc2l0aW9uXCIsIHsgYXR0cnM6IHsgbmFtZTogX3ZtLm1vZGFsVHJhbnNpdGlvbk5hbWUgfSB9LCBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtc2hvd1wiLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5zaG93TW9kYWwsXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInNob3dNb2RhbFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtb2RhbC13cmFwcGVyXCIsXG4gICAgICAgICAgICAgIGNsYXNzOiBbXG4gICAgICAgICAgICAgICAgXCJtb2RhbC13cmFwcGVyLS1cIiArIF92bS5zaXplLFxuICAgICAgICAgICAgICAgIF92bS5zcHJlYWROYXZpZ2F0aW9uID8gXCJtb2RhbC13cmFwcGVyLS1zcHJlYWQtbmF2aWdhdGlvblwiIDogXCJcIlxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgIG1vdXNlZG93bjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICBpZiAoJGV2ZW50LnRhcmdldCAhPT0gJGV2ZW50LmN1cnJlbnRUYXJnZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uY2xvc2UoJGV2ZW50KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJ0cmFuc2l0aW9uXCIsIHsgYXR0cnM6IHsgbmFtZTogXCJmYWRlLXZpc2liaWxpdHlcIiB9IH0sIFtcbiAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgIFwiYVwiLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtc2hvd1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5oYXNQcmV2aW91cyAmJiAhX3ZtLmNsZWFyVmlldyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaGFzUHJldmlvdXMgJiYgIWNsZWFyVmlld1wiXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJwcmV2XCIsXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgaW52aXNpYmxlOiBfdm0uY2xlYXJWaWV3IHx8ICFfdm0uaGFzUHJldmlvdXNcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHsgY2xpY2s6IF92bS5wcmV2aW91cyB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImljb24gaWNvbi1wcmV2aW91c1wiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJoaWRkZW4tdmlzdWFsbHlcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhfdm0udChcIlByZXZpb3VzXCIpKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1vZGFsLWNvbnRhaW5lclwiIH0sXG4gICAgICAgICAgICAgICAgW192bS5fdChcImRlZmF1bHRcIildLFxuICAgICAgICAgICAgICAgIDJcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX2MoXCJ0cmFuc2l0aW9uXCIsIHsgYXR0cnM6IHsgbmFtZTogXCJmYWRlLXZpc2liaWxpdHlcIiB9IH0sIFtcbiAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgIFwiYVwiLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtc2hvd1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5oYXNOZXh0ICYmICFfdm0uY2xlYXJWaWV3LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJoYXNOZXh0ICYmICFjbGVhclZpZXdcIlxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibmV4dFwiLFxuICAgICAgICAgICAgICAgICAgICBjbGFzczoge1xuICAgICAgICAgICAgICAgICAgICAgIGludmlzaWJsZTogX3ZtLmNsZWFyVmlldyB8fCAhX3ZtLmhhc05leHRcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHsgY2xpY2s6IF92bS5uZXh0IH1cbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiaWNvbiBpY29uLW5leHRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwiaGlkZGVuLXZpc3VhbGx5XCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoX3ZtLnQoXCJOZXh0XCIpKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApXG4gICAgICAgIF0pXG4gICAgICBdLFxuICAgICAgMVxuICAgIClcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJuYW1lLXBhcnRzXCIsIGF0dHJzOiB7IHRpdGxlOiBfdm0ubmFtZSB9IH0sXG4gICAgW1xuICAgICAgX2MoXCJIaWdobGlnaHRcIiwge1xuICAgICAgICBzdGF0aWNDbGFzczogXCJuYW1lLXBhcnRzX19maXJzdFwiLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIHRleHQ6IF92bS5wYXJ0MSxcbiAgICAgICAgICBzZWFyY2g6IF92bS5zZWFyY2gsXG4gICAgICAgICAgaGlnaGxpZ2h0OiBfdm0uaGlnaGxpZ2h0MVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfdm0ucGFydDJcbiAgICAgICAgPyBfYyhcIkhpZ2hsaWdodFwiLCB7XG4gICAgICAgICAgICBzdGF0aWNDbGFzczogXCJuYW1lLXBhcnRzX19sYXN0XCIsXG4gICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICB0ZXh0OiBfdm0ucGFydDIsXG4gICAgICAgICAgICAgIHNlYXJjaDogX3ZtLnNlYXJjaCxcbiAgICAgICAgICAgICAgaGlnaGxpZ2h0OiBfdm0uaGlnaGxpZ2h0MlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIDogX3ZtLl9lKClcbiAgICBdLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJWdWVNdWx0aXNlbGVjdFwiLFxuICAgIF92bS5fZyhcbiAgICAgIF92bS5fYihcbiAgICAgICAge1xuICAgICAgICAgIHJlZjogXCJWdWVNdWx0aXNlbGVjdFwiLFxuICAgICAgICAgIGNsYXNzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFwiaWNvbi1sb2FkaW5nLXNtYWxsXCI6IF92bS5sb2FkaW5nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX3ZtLm11bHRpcGxlID8gXCJtdWx0aXNlbGVjdC0tbXVsdGlwbGVcIiA6IFwibXVsdGlzZWxlY3QtLXNpbmdsZVwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgb3B0aW9uczogX3ZtLm9wdGlvbnMsXG4gICAgICAgICAgICBsaW1pdDogX3ZtLm1heE9wdGlvbnMsXG4gICAgICAgICAgICBcImNsb3NlLW9uLXNlbGVjdFwiOiAhX3ZtLm11bHRpcGxlLFxuICAgICAgICAgICAgbXVsdGlwbGU6IF92bS5tdWx0aXBsZSxcbiAgICAgICAgICAgIGxhYmVsOiBfdm0ubGFiZWwsXG4gICAgICAgICAgICBcInRyYWNrLWJ5XCI6IF92bS50cmFja0J5LFxuICAgICAgICAgICAgXCJ0YWctcGxhY2Vob2xkZXJcIjogXCJjcmVhdGVcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2NvcGVkU2xvdHM6IF92bS5fdShcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGtleTogXCJvcHRpb25cIixcbiAgICAgICAgICAgICAgICBmbjogZnVuY3Rpb24oc2NvcGUpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIF92bS51c2VyU2VsZWN0ICYmICFfdm0uJHNjb3BlZFNsb3RzW1wib3B0aW9uXCJdXG4gICAgICAgICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJMaXN0SXRlbUljb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9iKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBzY29wZS5vcHRpb25bX3ZtLmxhYmVsXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoOiBzY29wZS5zZWFyY2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiTGlzdEl0ZW1JY29uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUub3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICA6ICFfdm0uJHNjb3BlZFNsb3RzW1wib3B0aW9uXCJdXG4gICAgICAgICAgICAgICAgICAgICAgPyBfYyhcIkVsbGlwc2lzZWRPcHRpb25cIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IF92bS5nZXRPcHRpb25MYWJlbChzY29wZS5vcHRpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbjogc2NvcGUub3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaDogc2NvcGUuc2VhcmNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfdm0ubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICA6IF92bS5fdChcIm9wdGlvblwiLCBudWxsLCBudWxsLCBzY29wZSlcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF92bS5tdWx0aXBsZVxuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IFwibGltaXRcIixcbiAgICAgICAgICAgICAgICAgICAgZm46IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzcGFuXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwidG9vbHRpcFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtdG9vbHRpcC5hdXRvXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uZm9ybWF0TGltaXRUaXRsZShfdm0udmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImZvcm1hdExpbWl0VGl0bGUodmFsdWUpXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVyczogeyBhdXRvOiB0cnVlIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcIm11bHRpc2VsZWN0X19saW1pdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcblxcdFxcdFxcdFwiICsgX3ZtLl9zKF92bS5saW1pdFN0cmluZykgKyBcIlxcblxcdFxcdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwcm94eTogdHJ1ZVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICAgICAgX3ZtLl9sKF92bS4kc2NvcGVkU2xvdHMsIGZ1bmN0aW9uKF8sIHNsb3QpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAga2V5OiBzbG90LFxuICAgICAgICAgICAgICAgICAgZm46IGZ1bmN0aW9uKHNjb3BlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbX3ZtLl90KHNsb3QsIG51bGwsIG51bGwsIHNjb3BlKV1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgICApLFxuICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICB2YWx1ZTogX3ZtLmxvY2FsVmFsdWUsXG4gICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgIF92bS5sb2NhbFZhbHVlID0gJCR2XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJsb2NhbFZhbHVlXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiVnVlTXVsdGlzZWxlY3RcIixcbiAgICAgICAgX3ZtLiRhdHRycyxcbiAgICAgICAgZmFsc2VcbiAgICAgICksXG4gICAgICBfdm0uJGxpc3RlbmVyc1xuICAgICksXG4gICAgW1xuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXCJzcGFuXCIsIHsgYXR0cnM6IHsgc2xvdDogXCJub1Jlc3VsdFwiIH0sIHNsb3Q6IFwibm9SZXN1bHRcIiB9LCBbXG4gICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLnQoXCJObyByZXN1bHRzXCIpKSlcbiAgICAgIF0pXG4gICAgXVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcIk11bHRpc2VsZWN0XCIsXG4gICAge1xuICAgICAgYXR0cnM6IHtcbiAgICAgICAgdmFsdWU6IF92bS5pbnB1dFZhbHVlLFxuICAgICAgICBvcHRpb25zOiBfdm0udGFncyxcbiAgICAgICAgXCJvcHRpb25zLWxpbWl0XCI6IDUsXG4gICAgICAgIHBsYWNlaG9sZGVyOiBfdm0ubGFiZWwsXG4gICAgICAgIFwidHJhY2stYnlcIjogXCJpZFwiLFxuICAgICAgICBcImN1c3RvbS1sYWJlbFwiOiBfdm0udGFnTGFiZWwsXG4gICAgICAgIG11bHRpcGxlOiBfdm0ubXVsdGlwbGUsXG4gICAgICAgIFwiY2xvc2Utb24tc2VsZWN0XCI6IF92bS5tdWx0aXBsZSxcbiAgICAgICAgXCJ0YWctd2lkdGhcIjogNjAsXG4gICAgICAgIGRpc2FibGVkOiBfdm0uZGlzYWJsZWRcbiAgICAgIH0sXG4gICAgICBvbjogeyBpbnB1dDogX3ZtLnVwZGF0ZSB9LFxuICAgICAgc2NvcGVkU2xvdHM6IF92bS5fdShbXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IFwib3B0aW9uXCIsXG4gICAgICAgICAgZm46IGZ1bmN0aW9uKHNjb3BlKSB7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcIiArIF92bS5fcyhfdm0udGFnTGFiZWwoc2NvcGUub3B0aW9uKSkgKyBcIlxcblxcdFwiKVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXSlcbiAgICB9LFxuICAgIFtcbiAgICAgIF9jKFwic3BhblwiLCB7IGF0dHJzOiB7IHNsb3Q6IFwibm9SZXN1bHRcIiB9LCBzbG90OiBcIm5vUmVzdWx0XCIgfSwgW1xuICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS50KFwiTm8gcmVzdWx0c1wiKSkpXG4gICAgICBdKVxuICAgIF1cbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJWUG9wb3ZlclwiLFxuICAgIF92bS5fZyhcbiAgICAgIF92bS5fYihcbiAgICAgICAge1xuICAgICAgICAgIHJlZjogXCJwb3BvdmVyXCIsXG4gICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgIFwicG9wb3Zlci1iYXNlLWNsYXNzXCI6IFwicG9wb3ZlclwiLFxuICAgICAgICAgICAgXCJwb3BvdmVyLXdyYXBwZXItY2xhc3NcIjogXCJwb3BvdmVyX193cmFwcGVyXCIsXG4gICAgICAgICAgICBcInBvcG92ZXItYXJyb3ctY2xhc3NcIjogXCJwb3BvdmVyX19hcnJvd1wiLFxuICAgICAgICAgICAgXCJwb3BvdmVyLWlubmVyLWNsYXNzXCI6IFwicG9wb3Zlcl9faW5uZXJcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJWUG9wb3ZlclwiLFxuICAgICAgICBfdm0uJGF0dHJzLFxuICAgICAgICBmYWxzZVxuICAgICAgKSxcbiAgICAgIF92bS4kbGlzdGVuZXJzXG4gICAgKSxcbiAgICBbXG4gICAgICBfdm0uX3QoXCJ0cmlnZ2VyXCIpLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFwidGVtcGxhdGVcIiwgeyBzbG90OiBcInBvcG92ZXJcIiB9LCBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sIDIpXG4gICAgXSxcbiAgICAyXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwidWxcIixcbiAgICB7IHN0YXRpY0NsYXNzOiBcInBvcG92ZXJfX21lbnVcIiB9LFxuICAgIF92bS5fbChfdm0ubWVudSwgZnVuY3Rpb24oaXRlbSwga2V5KSB7XG4gICAgICByZXR1cm4gX2MoXCJQb3BvdmVyTWVudUl0ZW1cIiwgeyBrZXk6IGtleSwgYXR0cnM6IHsgaXRlbTogaXRlbSB9IH0pXG4gICAgfSksXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImxpXCIsIHsgc3RhdGljQ2xhc3M6IFwicG9wb3Zlcl9fbWVudWl0ZW1cIiB9LCBbXG4gICAgX3ZtLml0ZW0uaHJlZlxuICAgICAgPyBfYyhcbiAgICAgICAgICBcImFcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzdGF0aWNDbGFzczogXCJmb2N1c2FibGVcIixcbiAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgIGhyZWY6IF92bS5pdGVtLmhyZWYgPyBfdm0uaXRlbS5ocmVmIDogXCIjXCIsXG4gICAgICAgICAgICAgIHRhcmdldDogX3ZtLml0ZW0udGFyZ2V0ID8gX3ZtLml0ZW0udGFyZ2V0IDogXCJcIixcbiAgICAgICAgICAgICAgZG93bmxvYWQ6IF92bS5pdGVtLmRvd25sb2FkLFxuICAgICAgICAgICAgICByZWw6IFwibm9yZWZlcnJlciBub29wZW5lclwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb246IHsgY2xpY2s6IF92bS5hY3Rpb24gfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgW1xuICAgICAgICAgICAgIV92bS5pY29uSXNVcmxcbiAgICAgICAgICAgICAgPyBfYyhcInNwYW5cIiwgeyBjbGFzczogX3ZtLml0ZW0uaWNvbiB9KVxuICAgICAgICAgICAgICA6IF9jKFwiaW1nXCIsIHsgYXR0cnM6IHsgc3JjOiBfdm0uaXRlbS5pY29uIH0gfSksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX3ZtLml0ZW0udGV4dCAmJiBfdm0uaXRlbS5sb25ndGV4dFxuICAgICAgICAgICAgICA/IF9jKFwicFwiLCBbXG4gICAgICAgICAgICAgICAgICBfYyhcInN0cm9uZ1wiLCB7IHN0YXRpY0NsYXNzOiBcIm1lbnVpdGVtLXRleHRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIlxcblxcdFxcdFxcdFxcdFwiICsgX3ZtLl9zKF92bS5pdGVtLnRleHQpICsgXCJcXG5cXHRcXHRcXHRcIilcbiAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgX2MoXCJiclwiKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJtZW51aXRlbS10ZXh0LWRldGFpbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgIFwiXFxuXFx0XFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLml0ZW0ubG9uZ3RleHQpICsgXCJcXG5cXHRcXHRcXHRcIlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgIDogX3ZtLml0ZW0udGV4dFxuICAgICAgICAgICAgICA/IF9jKFwic3BhblwiLCBbXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRcIiArIF92bS5fcyhfdm0uaXRlbS50ZXh0KSArIFwiXFxuXFx0XFx0XCIpXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgOiBfdm0uaXRlbS5sb25ndGV4dFxuICAgICAgICAgICAgICA/IF9jKFwicFwiLCBbXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRcIiArIF92bS5fcyhfdm0uaXRlbS5sb25ndGV4dCkgKyBcIlxcblxcdFxcdFwiKVxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgIDogX3ZtLl9lKClcbiAgICAgICAgICBdXG4gICAgICAgIClcbiAgICAgIDogX3ZtLml0ZW0uaW5wdXRcbiAgICAgID8gX2MoXG4gICAgICAgICAgXCJzcGFuXCIsXG4gICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtZW51aXRlbVwiLCBjbGFzczogeyBhY3RpdmU6IF92bS5pdGVtLmFjdGl2ZSB9IH0sXG4gICAgICAgICAgW1xuICAgICAgICAgICAgX3ZtLml0ZW0uaW5wdXQgIT09IFwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICA/IF9jKFwic3BhblwiLCB7IGNsYXNzOiBfdm0uaXRlbS5pY29uIH0pXG4gICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX3ZtLml0ZW0uaW5wdXQgPT09IFwidGV4dFwiXG4gICAgICAgICAgICAgID8gX2MoXG4gICAgICAgICAgICAgICAgICBcImZvcm1cIixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M6IF92bS5pdGVtLmlucHV0LFxuICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgIHN1Ym1pdDogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5pdGVtLmFjdGlvbigkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBfYyhcImlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogX3ZtLml0ZW0uaW5wdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogX3ZtLml0ZW0udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBkb21Qcm9wczogeyB2YWx1ZTogX3ZtLml0ZW0udmFsdWUgfVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgX2MoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiaWNvbi1jb25maXJtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJzdWJtaXRcIiwgdmFsdWU6IFwiXCIgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgOiBbXG4gICAgICAgICAgICAgICAgICBfdm0uaXRlbS5pbnB1dCA9PT0gXCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgID8gX2MoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5pdGVtLm1vZGVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS5tb2RlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogX3ZtLml0ZW0uaW5wdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBpZDogX3ZtLmtleSwgdHlwZTogXCJjaGVja2JveFwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBkb21Qcm9wczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiBBcnJheS5pc0FycmF5KF92bS5pdGVtLm1vZGVsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gX3ZtLl9pKF92bS5pdGVtLm1vZGVsLCBudWxsKSA+IC0xXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfdm0uaXRlbS5tb2RlbFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZTogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyICQkYSA9IF92bS5pdGVtLm1vZGVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkJGVsID0gJGV2ZW50LnRhcmdldCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCRjID0gJCRlbC5jaGVja2VkID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSgkJGEpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciAkJHYgPSBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQkaSA9IF92bS5faSgkJGEsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQkZWwuY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQkaSA8IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkJGEuY29uY2F0KFskJHZdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQkaSA+IC0xICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibW9kZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCRhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNsaWNlKDAsICQkaSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY29uY2F0KCQkYS5zbGljZSgkJGkgKyAxKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoX3ZtLml0ZW0sIFwibW9kZWxcIiwgJCRjKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLml0ZW0uYWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICA6IF92bS5pdGVtLmlucHV0ID09PSBcInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgICAgPyBfYyhcImlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwibW9kZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtbW9kZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLml0ZW0ubW9kZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtLm1vZGVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiBfdm0uaXRlbS5pbnB1dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGlkOiBfdm0ua2V5LCB0eXBlOiBcInJhZGlvXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvbVByb3BzOiB7IGNoZWNrZWQ6IF92bS5fcShfdm0uaXRlbS5tb2RlbCwgbnVsbCkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZTogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS4kc2V0KF92bS5pdGVtLCBcIm1vZGVsXCIsIG51bGwpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uaXRlbS5hY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIDogX2MoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5pdGVtLm1vZGVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS5tb2RlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogX3ZtLml0ZW0uaW5wdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBpZDogX3ZtLmtleSwgdHlwZTogX3ZtLml0ZW0uaW5wdXQgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvbVByb3BzOiB7IHZhbHVlOiBfdm0uaXRlbS5tb2RlbCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlOiBfdm0uaXRlbS5hY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChfdm0uaXRlbSwgXCJtb2RlbFwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIixcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGZvcjogX3ZtLmtleSB9LFxuICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLml0ZW0uYWN0aW9uKCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIFtfdm0uX3YoXCJcXG5cXHRcXHRcXHRcXHRcIiArIF92bS5fcyhfdm0uaXRlbS50ZXh0KSArIFwiXFxuXFx0XFx0XFx0XCIpXVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICBdLFxuICAgICAgICAgIDJcbiAgICAgICAgKVxuICAgICAgOiBfdm0uaXRlbS5hY3Rpb25cbiAgICAgID8gX2MoXG4gICAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtZW51aXRlbSBmb2N1c2FibGVcIixcbiAgICAgICAgICAgIGNsYXNzOiB7IGFjdGl2ZTogX3ZtLml0ZW0uYWN0aXZlIH0sXG4gICAgICAgICAgICBhdHRyczogeyBkaXNhYmxlZDogX3ZtLml0ZW0uZGlzYWJsZWQgfSxcbiAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgIGNsaWNrOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgIHJldHVybiBfdm0uaXRlbS5hY3Rpb24oJGV2ZW50KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBbXG4gICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBjbGFzczogX3ZtLml0ZW0uaWNvbiB9KSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfdm0uaXRlbS50ZXh0ICYmIF92bS5pdGVtLmxvbmd0ZXh0XG4gICAgICAgICAgICAgID8gX2MoXCJwXCIsIFtcbiAgICAgICAgICAgICAgICAgIF9jKFwic3Ryb25nXCIsIHsgc3RhdGljQ2xhc3M6IFwibWVudWl0ZW0tdGV4dFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuXFx0XFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLml0ZW0udGV4dCkgKyBcIlxcblxcdFxcdFxcdFwiKVxuICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICBfYyhcImJyXCIpLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcIm1lbnVpdGVtLXRleHQtZGV0YWlsXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcXHRcXHRcIiArIF92bS5fcyhfdm0uaXRlbS5sb25ndGV4dCkgKyBcIlxcblxcdFxcdFxcdFwiXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgOiBfdm0uaXRlbS50ZXh0XG4gICAgICAgICAgICAgID8gX2MoXCJzcGFuXCIsIFtcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIlxcblxcdFxcdFxcdFwiICsgX3ZtLl9zKF92bS5pdGVtLnRleHQpICsgXCJcXG5cXHRcXHRcIilcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICA6IF92bS5pdGVtLmxvbmd0ZXh0XG4gICAgICAgICAgICAgID8gX2MoXCJwXCIsIFtcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIlxcblxcdFxcdFxcdFwiICsgX3ZtLl9zKF92bS5pdGVtLmxvbmd0ZXh0KSArIFwiXFxuXFx0XFx0XCIpXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICAgIF1cbiAgICAgICAgKVxuICAgICAgOiBfYyhcbiAgICAgICAgICBcInNwYW5cIixcbiAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcIm1lbnVpdGVtXCIsIGNsYXNzOiB7IGFjdGl2ZTogX3ZtLml0ZW0uYWN0aXZlIH0gfSxcbiAgICAgICAgICBbXG4gICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBjbGFzczogX3ZtLml0ZW0uaWNvbiB9KSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfdm0uaXRlbS50ZXh0ICYmIF92bS5pdGVtLmxvbmd0ZXh0XG4gICAgICAgICAgICAgID8gX2MoXCJwXCIsIFtcbiAgICAgICAgICAgICAgICAgIF9jKFwic3Ryb25nXCIsIHsgc3RhdGljQ2xhc3M6IFwibWVudWl0ZW0tdGV4dFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuXFx0XFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLml0ZW0udGV4dCkgKyBcIlxcblxcdFxcdFxcdFwiKVxuICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICBfYyhcImJyXCIpLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcIm1lbnVpdGVtLXRleHQtZGV0YWlsXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcXHRcXHRcIiArIF92bS5fcyhfdm0uaXRlbS5sb25ndGV4dCkgKyBcIlxcblxcdFxcdFxcdFwiXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgOiBfdm0uaXRlbS50ZXh0XG4gICAgICAgICAgICAgID8gX2MoXCJzcGFuXCIsIFtcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIlxcblxcdFxcdFxcdFwiICsgX3ZtLl9zKF92bS5pdGVtLnRleHQpICsgXCJcXG5cXHRcXHRcIilcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICA6IF92bS5pdGVtLmxvbmd0ZXh0XG4gICAgICAgICAgICAgID8gX2MoXCJwXCIsIFtcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIlxcblxcdFxcdFxcdFwiICsgX3ZtLl9zKF92bS5pdGVtLmxvbmd0ZXh0KSArIFwiXFxuXFx0XFx0XCIpXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICAgIF1cbiAgICAgICAgKVxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJhdXRvY29tcGxldGUtcmVzdWx0XCIgfSwgW1xuICAgIF9jKFxuICAgICAgXCJkaXZcIixcbiAgICAgIHtcbiAgICAgICAgc3RhdGljQ2xhc3M6IFwiYXV0b2NvbXBsZXRlLXJlc3VsdF9faWNvblwiLFxuICAgICAgICBjbGFzczogW1xuICAgICAgICAgIF92bS5pY29uLFxuICAgICAgICAgIFwiYXV0b2NvbXBsZXRlLXJlc3VsdF9faWNvbi0tXCIgKyAoX3ZtLmF2YXRhclVybCA/IFwid2l0aC1hdmF0YXJcIiA6IFwiXCIpXG4gICAgICAgIF0sXG4gICAgICAgIHN0eWxlOiBfdm0uYXZhdGFyVXJsXG4gICAgICAgICAgPyB7IGJhY2tncm91bmRJbWFnZTogXCJ1cmwoXCIgKyBfdm0uYXZhdGFyVXJsICsgXCIpXCIgfVxuICAgICAgICAgIDogbnVsbFxuICAgICAgfSxcbiAgICAgIFtcbiAgICAgICAgX3ZtLmhhdmVTdGF0dXNcbiAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYXV0b2NvbXBsZXRlLXJlc3VsdF9fc3RhdHVzXCIsXG4gICAgICAgICAgICAgICAgY2xhc3M6IFtcbiAgICAgICAgICAgICAgICAgIFwiYXV0b2NvbXBsZXRlLXJlc3VsdF9fc3RhdHVzLS1cIiArXG4gICAgICAgICAgICAgICAgICAgIChfdm0uc3RhdHVzICYmIF92bS5zdGF0dXMuaWNvbiA/IFwiaWNvblwiIDogX3ZtLnN0YXR1cy5zdGF0dXMpXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcXHRcIiArXG4gICAgICAgICAgICAgICAgICAgIF92bS5fcygoX3ZtLnN0YXR1cyAmJiBfdm0uc3RhdHVzLmljb24pIHx8IFwiXCIpICtcbiAgICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcIlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgKVxuICAgICAgICAgIDogX3ZtLl9lKClcbiAgICAgIF1cbiAgICApLFxuICAgIF92bS5fdihcIiBcIiksXG4gICAgX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwiYXV0b2NvbXBsZXRlLXJlc3VsdF9fY29udGVudFwiIH0sIFtcbiAgICAgIF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcImF1dG9jb21wbGV0ZS1yZXN1bHRfX3RpdGxlXCIgfSwgW1xuICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRcIiArIF92bS5fcyhfdm0ubGFiZWwpICsgXCJcXG5cXHRcXHRcIilcbiAgICAgIF0pLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF92bS5zdWJsaW5lXG4gICAgICAgID8gX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwiYXV0b2NvbXBsZXRlLXJlc3VsdF9fc3VibGluZVwiIH0sIFtcbiAgICAgICAgICAgIF92bS5fdihcIlxcblxcdFxcdFxcdFwiICsgX3ZtLl9zKF92bS5zdWJsaW5lKSArIFwiXFxuXFx0XFx0XCIpXG4gICAgICAgICAgXSlcbiAgICAgICAgOiBfdm0uX2UoKVxuICAgIF0pXG4gIF0pXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcInNwYW5cIixcbiAgICB7XG4gICAgICBzdGF0aWNDbGFzczogXCJtZW50aW9uLWJ1YmJsZVwiLFxuICAgICAgY2xhc3M6IHsgXCJtZW50aW9uLWJ1YmJsZS0tcHJpbWFyeVwiOiBfdm0ucHJpbWFyeSB9LFxuICAgICAgYXR0cnM6IHsgY29udGVudGVkaXRhYmxlOiBcImZhbHNlXCIgfVxuICAgIH0sXG4gICAgW1xuICAgICAgX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwibWVudGlvbi1idWJibGVfX3dyYXBwZXJcIiB9LCBbXG4gICAgICAgIF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcIm1lbnRpb24tYnViYmxlX19jb250ZW50XCIgfSwgW1xuICAgICAgICAgIF9jKFwic3BhblwiLCB7XG4gICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtZW50aW9uLWJ1YmJsZV9faWNvblwiLFxuICAgICAgICAgICAgY2xhc3M6IFtcbiAgICAgICAgICAgICAgX3ZtLmljb24sXG4gICAgICAgICAgICAgIFwibWVudGlvbi1idWJibGVfX2ljb24tLVwiICsgKF92bS5hdmF0YXJVcmwgPyBcIndpdGgtYXZhdGFyXCIgOiBcIlwiKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHN0eWxlOiBfdm0uYXZhdGFyVXJsXG4gICAgICAgICAgICAgID8geyBiYWNrZ3JvdW5kSW1hZ2U6IFwidXJsKFwiICsgX3ZtLmF2YXRhclVybCArIFwiKVwiIH1cbiAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcInNwYW5cIiwge1xuICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWVudGlvbi1idWJibGVfX3RpdGxlXCIsXG4gICAgICAgICAgICBhdHRyczogeyByb2xlOiBcImhlYWRpbmdcIiwgdGl0bGU6IF92bS5sYWJlbCB9XG4gICAgICAgICAgfSlcbiAgICAgICAgXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFxuICAgICAgICAgIFwic3BhblwiLFxuICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWVudGlvbi1idWJibGVfX3NlbGVjdFwiLCBhdHRyczogeyByb2xlOiBcIm5vbmVcIiB9IH0sXG4gICAgICAgICAgW192bS5fdihfdm0uX3MoX3ZtLm1lbnRpb25UZXh0KSldXG4gICAgICAgIClcbiAgICAgIF0pXG4gICAgXVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIF92bS5fZyhcbiAgICAgIHtcbiAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwidG9vbHRpcFwiLFxuICAgICAgICAgICAgcmF3TmFtZTogXCJ2LXRvb2x0aXBcIixcbiAgICAgICAgICAgIHZhbHVlOiBfdm0udG9vbHRpcCxcbiAgICAgICAgICAgIGV4cHJlc3Npb246IFwidG9vbHRpcFwiXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICByZWY6IFwiY29udGVudGVkaXRhYmxlXCIsXG4gICAgICAgIHN0YXRpY0NsYXNzOiBcInJpY2gtY29udGVudGVkaXRhYmxlX19pbnB1dFwiLFxuICAgICAgICBjbGFzczoge1xuICAgICAgICAgIFwicmljaC1jb250ZW50ZWRpdGFibGVfX2lucHV0LS1lbXB0eVwiOiBfdm0uaXNFbXB0eVZhbHVlLFxuICAgICAgICAgIFwicmljaC1jb250ZW50ZWRpdGFibGVfX2lucHV0LS1tdWx0aWxpbmVcIjogX3ZtLm11bHRpbGluZSxcbiAgICAgICAgICBcInJpY2gtY29udGVudGVkaXRhYmxlX19pbnB1dC0tb3ZlcmZsb3dcIjogX3ZtLmlzT3Zlck1heGxlbmd0aFxuICAgICAgICB9LFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGNvbnRlbnRlZGl0YWJsZTogX3ZtLmNvbnRlbnRlZGl0YWJsZSxcbiAgICAgICAgICBwbGFjZWhvbGRlcjogX3ZtLnBsYWNlaG9sZGVyLFxuICAgICAgICAgIFwiYXJpYS1tdWx0aWxpbmVcIjogXCJ0cnVlXCIsXG4gICAgICAgICAgcm9sZTogXCJ0ZXh0Ym94XCJcbiAgICAgICAgfSxcbiAgICAgICAgb246IHtcbiAgICAgICAgICBpbnB1dDogX3ZtLm9uSW5wdXQsXG4gICAgICAgICAga2V5ZG93bjogW1xuICAgICAgICAgICAgZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhJGV2ZW50LnR5cGUuaW5kZXhPZihcImtleVwiKSAmJlxuICAgICAgICAgICAgICAgIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJkZWxldGVcIiwgWzgsIDQ2XSwgJGV2ZW50LmtleSwgW1xuICAgICAgICAgICAgICAgICAgXCJCYWNrc3BhY2VcIixcbiAgICAgICAgICAgICAgICAgIFwiRGVsZXRlXCIsXG4gICAgICAgICAgICAgICAgICBcIkRlbFwiXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gX3ZtLm9uRGVsZXRlKCRldmVudClcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICEkZXZlbnQudHlwZS5pbmRleE9mKFwia2V5XCIpICYmXG4gICAgICAgICAgICAgICAgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcImVudGVyXCIsIDEzLCAkZXZlbnQua2V5LCBcIkVudGVyXCIpXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICRldmVudC5jdHJsS2V5IHx8XG4gICAgICAgICAgICAgICAgJGV2ZW50LnNoaWZ0S2V5IHx8XG4gICAgICAgICAgICAgICAgJGV2ZW50LmFsdEtleSB8fFxuICAgICAgICAgICAgICAgICRldmVudC5tZXRhS2V5XG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIF92bS5vbkVudGVyKCRldmVudClcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICEkZXZlbnQudHlwZS5pbmRleE9mKFwia2V5XCIpICYmXG4gICAgICAgICAgICAgICAgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcImVudGVyXCIsIDEzLCAkZXZlbnQua2V5LCBcIkVudGVyXCIpXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKCEkZXZlbnQuY3RybEtleSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKCRldmVudC5zaGlmdEtleSB8fCAkZXZlbnQuYWx0S2V5IHx8ICRldmVudC5tZXRhS2V5KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgcmV0dXJuIF92bS5vbkN0cmxFbnRlcigkZXZlbnQpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXSxcbiAgICAgICAgICBwYXN0ZTogX3ZtLm9uUGFzdGVcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF92bS4kbGlzdGVuZXJzXG4gICAgKVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHsgc3RhdGljQ2xhc3M6IFwic2V0dGluZ3Mtc2VjdGlvblwiIH0sXG4gICAgW1xuICAgICAgX2MoXCJoMlwiLCB7IHN0YXRpY0NsYXNzOiBcInNldHRpbmdzLXNlY3Rpb25fX3RpdGxlXCIgfSwgW1xuICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcIiArIF92bS5fcyhfdm0udGl0bGUpICsgXCJcXG5cXHRcXHRcIiksXG4gICAgICAgIF92bS5oYXNEb2NVcmxcbiAgICAgICAgICA/IF9jKFwiYVwiLCB7XG4gICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcInNldHRpbmdzLXNlY3Rpb25fX2luZm9cIixcbiAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICBocmVmOiBfdm0uZG9jVXJsLFxuICAgICAgICAgICAgICAgIHJvbGU6IFwiXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IF92bS5kb2NUaXRsZVRyYW5zbGF0ZWRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICBdKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfdm0uaGFzRGVzY3JpcHRpb25cbiAgICAgICAgPyBfYyhcInBcIiwgeyBzdGF0aWNDbGFzczogXCJzZXR0aW5ncy1zZWN0aW9uX19kZXNjXCIgfSwgW1xuICAgICAgICAgICAgX3ZtLl92KFwiXFxuXFx0XFx0XCIgKyBfdm0uX3MoX3ZtLmRlc2NyaXB0aW9uKSArIFwiXFxuXFx0XCIpXG4gICAgICAgICAgXSlcbiAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfdm0uX3QoXCJkZWZhdWx0XCIpXG4gICAgXSxcbiAgICAyXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIF92bS5pc1BvcG92ZXJDb21wb25lbnQsXG4gICAge1xuICAgICAgdGFnOiBcIlBvcG92ZXJcIixcbiAgICAgIHN0YXRpY0NsYXNzOiBcInVzZXItYnViYmxlX193cmFwcGVyXCIsXG4gICAgICBhdHRyczogeyB0cmlnZ2VyOiBcImhvdmVyIGZvY3VzXCIsIG9wZW46IF92bS5vcGVuIH0sXG4gICAgICBvbjogeyBcInVwZGF0ZTpvcGVuXCI6IF92bS5vbk9wZW5DaGFuZ2UgfVxuICAgIH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiZGl2XCIsXG4gICAgICAgIF92bS5fYihcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzdGF0aWNDbGFzczogXCJ1c2VyLWJ1YmJsZV9fY29udGVudFwiLFxuICAgICAgICAgICAgY2xhc3M6IF92bS5wcmltYXJ5ID8gXCJ1c2VyLWJ1YmJsZV9fY29udGVudC0tcHJpbWFyeVwiIDogXCJcIixcbiAgICAgICAgICAgIHN0eWxlOiBfdm0uc3R5bGVzLmNvbnRlbnQsXG4gICAgICAgICAgICBhdHRyczogeyBzbG90OiBcInRyaWdnZXJcIiB9LFxuICAgICAgICAgICAgb246IHsgY2xpY2s6IF92bS5vbkNsaWNrIH0sXG4gICAgICAgICAgICBzbG90OiBcInRyaWdnZXJcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICBfdm0uaXNMaW5rQ29tcG9uZW50LFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiQXZhdGFyXCIsXG4gICAgICAgICAgICBfdm0uX2IoXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJ1c2VyLWJ1YmJsZV9fYXZhdGFyXCIsXG4gICAgICAgICAgICAgICAgc3R5bGU6IF92bS5zdHlsZXMuYXZhdGFyLFxuICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICB1cmw6XG4gICAgICAgICAgICAgICAgICAgIF92bS5pc0N1c3RvbUF2YXRhciAmJiBfdm0uaXNBdmF0YXJVcmxcbiAgICAgICAgICAgICAgICAgICAgICA/IF92bS5hdmF0YXJJbWFnZVxuICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgXCJpY29uLWNsYXNzXCI6XG4gICAgICAgICAgICAgICAgICAgIF92bS5pc0N1c3RvbUF2YXRhciAmJiAhX3ZtLmlzQXZhdGFyVXJsXG4gICAgICAgICAgICAgICAgICAgICAgPyBfdm0uYXZhdGFySW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIHVzZXI6IF92bS51c2VyLFxuICAgICAgICAgICAgICAgICAgXCJkaXNwbGF5LW5hbWVcIjogX3ZtLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgICAgICAgc2l6ZTogX3ZtLnNpemUgLSBfdm0ubWFyZ2luICogMixcbiAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZS10b29sdGlwXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICBcImRpc2FibGUtbWVudVwiOiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBcIkF2YXRhclwiLFxuICAgICAgICAgICAgICBfdm0uJHByb3BzLFxuICAgICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICAgKVxuICAgICAgICAgICksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJ1c2VyLWJ1YmJsZV9fdGl0bGVcIiB9LCBbXG4gICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRcIiArIF92bS5fcyhfdm0uZGlzcGxheU5hbWUgfHwgX3ZtLnVzZXIpICsgXCJcXG5cXHRcXHRcIilcbiAgICAgICAgICBdKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF92bS4kc2xvdHMudGl0bGVcbiAgICAgICAgICAgID8gX2MoXG4gICAgICAgICAgICAgICAgXCJzcGFuXCIsXG4gICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJ1c2VyLWJ1YmJsZV9fc2Vjb25kYXJ5XCIgfSxcbiAgICAgICAgICAgICAgICBbX3ZtLl90KFwidGl0bGVcIildLFxuICAgICAgICAgICAgICAgIDJcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF92bS5fdChcImRlZmF1bHRcIilcbiAgICBdLFxuICAgIDJcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsIi8qIGdsb2JhbHMgX19WVUVfU1NSX0NPTlRFWFRfXyAqL1xuXG4vLyBJTVBPUlRBTlQ6IERvIE5PVCB1c2UgRVMyMDE1IGZlYXR1cmVzIGluIHRoaXMgZmlsZSAoZXhjZXB0IGZvciBtb2R1bGVzKS5cbi8vIFRoaXMgbW9kdWxlIGlzIGEgcnVudGltZSB1dGlsaXR5IGZvciBjbGVhbmVyIGNvbXBvbmVudCBtb2R1bGUgb3V0cHV0IGFuZCB3aWxsXG4vLyBiZSBpbmNsdWRlZCBpbiB0aGUgZmluYWwgd2VicGFjayB1c2VyIGJ1bmRsZS5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbm9ybWFsaXplQ29tcG9uZW50IChcbiAgc2NyaXB0RXhwb3J0cyxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZ1bmN0aW9uYWxUZW1wbGF0ZSxcbiAgaW5qZWN0U3R5bGVzLFxuICBzY29wZUlkLFxuICBtb2R1bGVJZGVudGlmaWVyLCAvKiBzZXJ2ZXIgb25seSAqL1xuICBzaGFkb3dNb2RlIC8qIHZ1ZS1jbGkgb25seSAqL1xuKSB7XG4gIC8vIFZ1ZS5leHRlbmQgY29uc3RydWN0b3IgZXhwb3J0IGludGVyb3BcbiAgdmFyIG9wdGlvbnMgPSB0eXBlb2Ygc2NyaXB0RXhwb3J0cyA9PT0gJ2Z1bmN0aW9uJ1xuICAgID8gc2NyaXB0RXhwb3J0cy5vcHRpb25zXG4gICAgOiBzY3JpcHRFeHBvcnRzXG5cbiAgLy8gcmVuZGVyIGZ1bmN0aW9uc1xuICBpZiAocmVuZGVyKSB7XG4gICAgb3B0aW9ucy5yZW5kZXIgPSByZW5kZXJcbiAgICBvcHRpb25zLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZuc1xuICAgIG9wdGlvbnMuX2NvbXBpbGVkID0gdHJ1ZVxuICB9XG5cbiAgLy8gZnVuY3Rpb25hbCB0ZW1wbGF0ZVxuICBpZiAoZnVuY3Rpb25hbFRlbXBsYXRlKSB7XG4gICAgb3B0aW9ucy5mdW5jdGlvbmFsID0gdHJ1ZVxuICB9XG5cbiAgLy8gc2NvcGVkSWRcbiAgaWYgKHNjb3BlSWQpIHtcbiAgICBvcHRpb25zLl9zY29wZUlkID0gJ2RhdGEtdi0nICsgc2NvcGVJZFxuICB9XG5cbiAgdmFyIGhvb2tcbiAgaWYgKG1vZHVsZUlkZW50aWZpZXIpIHsgLy8gc2VydmVyIGJ1aWxkXG4gICAgaG9vayA9IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICAvLyAyLjMgaW5qZWN0aW9uXG4gICAgICBjb250ZXh0ID1cbiAgICAgICAgY29udGV4dCB8fCAvLyBjYWNoZWQgY2FsbFxuICAgICAgICAodGhpcy4kdm5vZGUgJiYgdGhpcy4kdm5vZGUuc3NyQ29udGV4dCkgfHwgLy8gc3RhdGVmdWxcbiAgICAgICAgKHRoaXMucGFyZW50ICYmIHRoaXMucGFyZW50LiR2bm9kZSAmJiB0aGlzLnBhcmVudC4kdm5vZGUuc3NyQ29udGV4dCkgLy8gZnVuY3Rpb25hbFxuICAgICAgLy8gMi4yIHdpdGggcnVuSW5OZXdDb250ZXh0OiB0cnVlXG4gICAgICBpZiAoIWNvbnRleHQgJiYgdHlwZW9mIF9fVlVFX1NTUl9DT05URVhUX18gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGNvbnRleHQgPSBfX1ZVRV9TU1JfQ09OVEVYVF9fXG4gICAgICB9XG4gICAgICAvLyBpbmplY3QgY29tcG9uZW50IHN0eWxlc1xuICAgICAgaWYgKGluamVjdFN0eWxlcykge1xuICAgICAgICBpbmplY3RTdHlsZXMuY2FsbCh0aGlzLCBjb250ZXh0KVxuICAgICAgfVxuICAgICAgLy8gcmVnaXN0ZXIgY29tcG9uZW50IG1vZHVsZSBpZGVudGlmaWVyIGZvciBhc3luYyBjaHVuayBpbmZlcnJlbmNlXG4gICAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cykge1xuICAgICAgICBjb250ZXh0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cy5hZGQobW9kdWxlSWRlbnRpZmllcilcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdXNlZCBieSBzc3IgaW4gY2FzZSBjb21wb25lbnQgaXMgY2FjaGVkIGFuZCBiZWZvcmVDcmVhdGVcbiAgICAvLyBuZXZlciBnZXRzIGNhbGxlZFxuICAgIG9wdGlvbnMuX3NzclJlZ2lzdGVyID0gaG9va1xuICB9IGVsc2UgaWYgKGluamVjdFN0eWxlcykge1xuICAgIGhvb2sgPSBzaGFkb3dNb2RlXG4gICAgICA/IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaW5qZWN0U3R5bGVzLmNhbGwoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICAob3B0aW9ucy5mdW5jdGlvbmFsID8gdGhpcy5wYXJlbnQgOiB0aGlzKS4kcm9vdC4kb3B0aW9ucy5zaGFkb3dSb290XG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIDogaW5qZWN0U3R5bGVzXG4gIH1cblxuICBpZiAoaG9vaykge1xuICAgIGlmIChvcHRpb25zLmZ1bmN0aW9uYWwpIHtcbiAgICAgIC8vIGZvciB0ZW1wbGF0ZS1vbmx5IGhvdC1yZWxvYWQgYmVjYXVzZSBpbiB0aGF0IGNhc2UgdGhlIHJlbmRlciBmbiBkb2Vzbid0XG4gICAgICAvLyBnbyB0aHJvdWdoIHRoZSBub3JtYWxpemVyXG4gICAgICBvcHRpb25zLl9pbmplY3RTdHlsZXMgPSBob29rXG4gICAgICAvLyByZWdpc3RlciBmb3IgZnVuY3Rpb25hbCBjb21wb25lbnQgaW4gdnVlIGZpbGVcbiAgICAgIHZhciBvcmlnaW5hbFJlbmRlciA9IG9wdGlvbnMucmVuZGVyXG4gICAgICBvcHRpb25zLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcldpdGhTdHlsZUluamVjdGlvbiAoaCwgY29udGV4dCkge1xuICAgICAgICBob29rLmNhbGwoY29udGV4dClcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsUmVuZGVyKGgsIGNvbnRleHQpXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGluamVjdCBjb21wb25lbnQgcmVnaXN0cmF0aW9uIGFzIGJlZm9yZUNyZWF0ZSBob29rXG4gICAgICB2YXIgZXhpc3RpbmcgPSBvcHRpb25zLmJlZm9yZUNyZWF0ZVxuICAgICAgb3B0aW9ucy5iZWZvcmVDcmVhdGUgPSBleGlzdGluZ1xuICAgICAgICA/IFtdLmNvbmNhdChleGlzdGluZywgaG9vaylcbiAgICAgICAgOiBbaG9va11cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGV4cG9ydHM6IHNjcmlwdEV4cG9ydHMsXG4gICAgb3B0aW9uczogb3B0aW9uc1xuICB9XG59XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0FjdGlvbkJ1dHRvbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MmU5MjliNGYmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQWN0aW9uQnV0dG9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQWN0aW9uQnV0dG9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9BY3Rpb25CdXR0b24udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MmU5MjliNGYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIyZTkyOWI0ZlwiLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL0FjdGlvbkJ1dHRvbi52dWU/dnVlJnR5cGU9Y3VzdG9tJmluZGV4PTAmYmxvY2tUeXBlPWRvY3NcIlxuaWYgKHR5cGVvZiBibG9jazAgPT09ICdmdW5jdGlvbicpIGJsb2NrMChjb21wb25lbnQpXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzJlOTI5YjRmJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzJlOTI5YjRmJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzJlOTI5YjRmJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BY3Rpb25CdXR0b24udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTJlOTI5YjRmJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzJlOTI5YjRmJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9BY3Rpb25CdXR0b24vQWN0aW9uQnV0dG9uLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25CdXR0b24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uQnV0dG9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvbkJ1dHRvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0yZTkyOWI0ZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uQnV0dG9uLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0yZTkyOWI0ZiZzY29wZWQ9dHJ1ZSZcIiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBBY3Rpb25CdXR0b24gZnJvbSAnLi9BY3Rpb25CdXR0b24nXG5cbmV4cG9ydCBkZWZhdWx0IEFjdGlvbkJ1dHRvblxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BY3Rpb25DaGVja2JveC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NzRjZjFkNmYmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQWN0aW9uQ2hlY2tib3gudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BY3Rpb25DaGVja2JveC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQWN0aW9uQ2hlY2tib3gudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NzRjZjFkNmYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI3NGNmMWQ2ZlwiLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL0FjdGlvbkNoZWNrYm94LnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNzRjZjFkNmYnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNzRjZjFkNmYnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNzRjZjFkNmYnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0FjdGlvbkNoZWNrYm94LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD03NGNmMWQ2ZiZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCc3NGNmMWQ2ZicsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvQWN0aW9uQ2hlY2tib3gvQWN0aW9uQ2hlY2tib3gudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvbkNoZWNrYm94LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvbkNoZWNrYm94LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvbkNoZWNrYm94LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTc0Y2YxZDZmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25DaGVja2JveC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NzRjZjFkNmYmc2NvcGVkPXRydWUmXCIiLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5pbXBvcnQgQWN0aW9uQ2hlY2tib3ggZnJvbSAnLi9BY3Rpb25DaGVja2JveCdcblxuZXhwb3J0IGRlZmF1bHQgQWN0aW9uQ2hlY2tib3hcbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vQWN0aW9uSW5wdXQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTVlMDBlYTM5JnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0FjdGlvbklucHV0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQWN0aW9uSW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0FjdGlvbklucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVlMDBlYTM5Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNWUwMGVhMzlcIixcbiAgbnVsbFxuICBcbilcblxuLyogY3VzdG9tIGJsb2NrcyAqL1xuaW1wb3J0IGJsb2NrMCBmcm9tIFwiLi9BY3Rpb25JbnB1dC52dWU/dnVlJnR5cGU9Y3VzdG9tJmluZGV4PTAmYmxvY2tUeXBlPWRvY3NcIlxuaWYgKHR5cGVvZiBibG9jazAgPT09ICdmdW5jdGlvbicpIGJsb2NrMChjb21wb25lbnQpXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzVlMDBlYTM5JykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzVlMDBlYTM5JywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzVlMDBlYTM5JywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BY3Rpb25JbnB1dC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NWUwMGVhMzkmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignNWUwMGVhMzknLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0FjdGlvbklucHV0L0FjdGlvbklucHV0LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25JbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25JbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25JbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD01ZTAwZWEzOSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uSW5wdXQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTVlMDBlYTM5JnNjb3BlZD10cnVlJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuaW1wb3J0IEFjdGlvbklucHV0IGZyb20gJy4vQWN0aW9uSW5wdXQnXG5cbmV4cG9ydCBkZWZhdWx0IEFjdGlvbklucHV0XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0FjdGlvbkxpbmsudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTdiODViODBmJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0FjdGlvbkxpbmsudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BY3Rpb25MaW5rLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9BY3Rpb25MaW5rLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTdiODViODBmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiN2I4NWI4MGZcIixcbiAgbnVsbFxuICBcbilcblxuLyogY3VzdG9tIGJsb2NrcyAqL1xuaW1wb3J0IGJsb2NrMCBmcm9tIFwiLi9BY3Rpb25MaW5rLnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnN2I4NWI4MGYnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnN2I4NWI4MGYnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnN2I4NWI4MGYnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0FjdGlvbkxpbmsudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTdiODViODBmJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzdiODViODBmJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9BY3Rpb25MaW5rL0FjdGlvbkxpbmsudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvbkxpbmsudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uTGluay52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25MaW5rLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTdiODViODBmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25MaW5rLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD03Yjg1YjgwZiZzY29wZWQ9dHJ1ZSZcIiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBBY3Rpb25MaW5rIGZyb20gJy4vQWN0aW9uTGluaydcblxuZXhwb3J0IGRlZmF1bHQgQWN0aW9uTGlua1xuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BY3Rpb25SYWRpby52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MDMxYjNmY2Emc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQWN0aW9uUmFkaW8udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BY3Rpb25SYWRpby52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQWN0aW9uUmFkaW8udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MDMxYjNmY2EmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIwMzFiM2ZjYVwiLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL0FjdGlvblJhZGlvLnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnMDMxYjNmY2EnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnMDMxYjNmY2EnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnMDMxYjNmY2EnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0FjdGlvblJhZGlvLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0wMzFiM2ZjYSZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCcwMzFiM2ZjYScsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvQWN0aW9uUmFkaW8vQWN0aW9uUmFkaW8udnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvblJhZGlvLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvblJhZGlvLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvblJhZGlvLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTAzMWIzZmNhJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25SYWRpby52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MDMxYjNmY2Emc2NvcGVkPXRydWUmXCIiLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5pbXBvcnQgQWN0aW9uUmFkaW8gZnJvbSAnLi9BY3Rpb25SYWRpbydcblxuZXhwb3J0IGRlZmF1bHQgQWN0aW9uUmFkaW9cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vQWN0aW9uUm91dGVyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0zYTZmZWVhMiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BY3Rpb25Sb3V0ZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BY3Rpb25Sb3V0ZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0FjdGlvblJvdXRlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0zYTZmZWVhMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjNhNmZlZWEyXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzNhNmZlZWEyJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzNhNmZlZWEyJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzNhNmZlZWEyJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BY3Rpb25Sb3V0ZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTNhNmZlZWEyJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzNhNmZlZWEyJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9BY3Rpb25Sb3V0ZXIvQWN0aW9uUm91dGVyLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25Sb3V0ZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uUm91dGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvblJvdXRlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0zYTZmZWVhMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uUm91dGVyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0zYTZmZWVhMiZzY29wZWQ9dHJ1ZSZcIiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBBY3Rpb25Sb3V0ZXIgZnJvbSAnLi9BY3Rpb25Sb3V0ZXInXG5cbmV4cG9ydCBkZWZhdWx0IEFjdGlvblJvdXRlclxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BY3Rpb25TZXBhcmF0b3IudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTY0YWMzYTIyJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0FjdGlvblNlcGFyYXRvci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0FjdGlvblNlcGFyYXRvci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQWN0aW9uU2VwYXJhdG9yLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY0YWMzYTIyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNjRhYzNhMjJcIixcbiAgbnVsbFxuICBcbilcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNjRhYzNhMjInKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNjRhYzNhMjInLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNjRhYzNhMjInLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0FjdGlvblNlcGFyYXRvci52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NjRhYzNhMjImc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignNjRhYzNhMjInLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0FjdGlvblNlcGFyYXRvci9BY3Rpb25TZXBhcmF0b3IudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvblNlcGFyYXRvci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25TZXBhcmF0b3IudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uU2VwYXJhdG9yLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY0YWMzYTIyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25TZXBhcmF0b3IudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTY0YWMzYTIyJnNjb3BlZD10cnVlJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBOZXh0Y2xvdWQgZXQgYWwuXG4gKlxuICogQGF1dGhvciBLcmlzdG9mIEhhbWFublxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBBY3Rpb25TZXBhcmF0b3IgZnJvbSAnLi9BY3Rpb25TZXBhcmF0b3InXG5cbmV4cG9ydCBkZWZhdWx0IEFjdGlvblNlcGFyYXRvclxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BY3Rpb25UZXh0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02ODU0N2EyZiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BY3Rpb25UZXh0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQWN0aW9uVGV4dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQWN0aW9uVGV4dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02ODU0N2EyZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjY4NTQ3YTJmXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzY4NTQ3YTJmJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzY4NTQ3YTJmJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzY4NTQ3YTJmJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BY3Rpb25UZXh0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02ODU0N2EyZiZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCc2ODU0N2EyZicsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvQWN0aW9uVGV4dC9BY3Rpb25UZXh0LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25UZXh0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvblRleHQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uVGV4dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02ODU0N2EyZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uVGV4dC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9Njg1NDdhMmYmc2NvcGVkPXRydWUmXCIiLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5pbXBvcnQgQWN0aW9uVGV4dCBmcm9tICcuL0FjdGlvblRleHQnXG5cbmV4cG9ydCBkZWZhdWx0IEFjdGlvblRleHRcbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vQWN0aW9uVGV4dEVkaXRhYmxlLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02Mzc3YjBhMiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BY3Rpb25UZXh0RWRpdGFibGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BY3Rpb25UZXh0RWRpdGFibGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0FjdGlvblRleHRFZGl0YWJsZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02Mzc3YjBhMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjYzNzdiMGEyXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGN1c3RvbSBibG9ja3MgKi9cbmltcG9ydCBibG9jazAgZnJvbSBcIi4vQWN0aW9uVGV4dEVkaXRhYmxlLnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNjM3N2IwYTInKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNjM3N2IwYTInLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNjM3N2IwYTInLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0FjdGlvblRleHRFZGl0YWJsZS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NjM3N2IwYTImc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignNjM3N2IwYTInLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0FjdGlvblRleHRFZGl0YWJsZS9BY3Rpb25UZXh0RWRpdGFibGUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvblRleHRFZGl0YWJsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25UZXh0RWRpdGFibGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uVGV4dEVkaXRhYmxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTYzNzdiMGEyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25UZXh0RWRpdGFibGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTYzNzdiMGEyJnNjb3BlZD10cnVlJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuaW1wb3J0IEFjdGlvblRleHRFZGl0YWJsZSBmcm9tICcuL0FjdGlvblRleHRFZGl0YWJsZSdcblxuZXhwb3J0IGRlZmF1bHQgQWN0aW9uVGV4dEVkaXRhYmxlXG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0FjdGlvbnMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTRmNDU4NjRiJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0FjdGlvbnMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BY3Rpb25zLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9BY3Rpb25zLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTRmNDU4NjRiJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNGY0NTg2NGJcIixcbiAgbnVsbFxuICBcbilcblxuLyogY3VzdG9tIGJsb2NrcyAqL1xuaW1wb3J0IGJsb2NrMCBmcm9tIFwiLi9BY3Rpb25zLnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNGY0NTg2NGInKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNGY0NTg2NGInLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNGY0NTg2NGInLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0FjdGlvbnMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTRmNDU4NjRiJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzRmNDU4NjRiJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9BY3Rpb25zL0FjdGlvbnMudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvbnMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9ucy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25zLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTRmNDU4NjRiJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25zLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00ZjQ1ODY0YiZzY29wZWQ9dHJ1ZSZcIiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBBY3Rpb25zIGZyb20gJy4vQWN0aW9ucydcblxuZXhwb3J0IGRlZmF1bHQgQWN0aW9uc1xuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BcHBDb250ZW50LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD03MTc1OGIwZiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BcHBDb250ZW50LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQXBwQ29udGVudC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQXBwQ29udGVudC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD03MTc1OGIwZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjcxNzU4YjBmXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzcxNzU4YjBmJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzcxNzU4YjBmJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzcxNzU4YjBmJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BcHBDb250ZW50LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD03MTc1OGIwZiZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCc3MTc1OGIwZicsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvQXBwQ29udGVudC9BcHBDb250ZW50LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBDb250ZW50LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcENvbnRlbnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwQ29udGVudC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD03MTc1OGIwZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwQ29udGVudC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NzE3NThiMGYmc2NvcGVkPXRydWUmXCIiLCIvKlxuICogQGNvcHlyaWdodCAyMDE5IENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAqXG4gKiBAYXV0aG9yIDIwMTkgQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cbmltcG9ydCBBcHBDb250ZW50IGZyb20gJy4vQXBwQ29udGVudCdcblxuZXhwb3J0IGRlZmF1bHQgQXBwQ29udGVudFxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BcHBDb250ZW50RGV0YWlscy52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NjQ5NzA4YTUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQXBwQ29udGVudERldGFpbHMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BcHBDb250ZW50RGV0YWlscy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsXG4gIFxuKVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIi9ob21lL2xvdWlzL3dvcmtzcGFjZS9uZXh0Y2xvdWQvdG9vbHMvbmV4dGNsb3VkLXZ1ZS9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanNcIilcbiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpXG4gIGlmIChhcGkuY29tcGF0aWJsZSkge1xuICAgIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCc2NDk3MDhhNScpKSB7XG4gICAgICBhcGkuY3JlYXRlUmVjb3JkKCc2NDk3MDhhNScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVsb2FkKCc2NDk3MDhhNScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH1cbiAgICBtb2R1bGUuaG90LmFjY2VwdChcIi4vQXBwQ29udGVudERldGFpbHMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTY0OTcwOGE1JlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzY0OTcwOGE1Jywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9BcHBDb250ZW50RGV0YWlscy9BcHBDb250ZW50RGV0YWlscy52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwQ29udGVudERldGFpbHMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwQ29udGVudERldGFpbHMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcENvbnRlbnREZXRhaWxzLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02NDk3MDhhNSZcIiIsIi8qXG4gKiBAY29weXJpZ2h0IDIwMTkgQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxuICpcbiAqIEBhdXRob3IgMjAxOSBDaHJpc3RvcGggV3Vyc3QgPGNocmlzdG9waEB3aW56ZXJob2Ytd3Vyc3QuYXQ+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuaW1wb3J0IEFwcENvbnRlbnREZXRhaWxzIGZyb20gJy4vQXBwQ29udGVudERldGFpbHMnXG5cbmV4cG9ydCBkZWZhdWx0IEFwcENvbnRlbnREZXRhaWxzXG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0FwcENvbnRlbnRMaXN0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD01M2JiNDg2MiZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BcHBDb250ZW50TGlzdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0FwcENvbnRlbnRMaXN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzUzYmI0ODYyJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzUzYmI0ODYyJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzUzYmI0ODYyJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BcHBDb250ZW50TGlzdC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NTNiYjQ4NjImXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignNTNiYjQ4NjInLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0FwcENvbnRlbnRMaXN0L0FwcENvbnRlbnRMaXN0LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBDb250ZW50TGlzdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBDb250ZW50TGlzdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwQ29udGVudExpc3QudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTUzYmI0ODYyJlwiIiwiLypcbiAqIEBjb3B5cmlnaHQgMjAxOSBDaHJpc3RvcGggV3Vyc3QgPGNocmlzdG9waEB3aW56ZXJob2Ytd3Vyc3QuYXQ+XG4gKlxuICogQGF1dGhvciAyMDE5IENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5pbXBvcnQgQXBwQ29udGVudExpc3QgZnJvbSAnLi9BcHBDb250ZW50TGlzdCdcblxuZXhwb3J0IGRlZmF1bHQgQXBwQ29udGVudExpc3RcbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vQXBwTmF2aWdhdGlvbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9ZDM5MDhjMGEmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQXBwTmF2aWdhdGlvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0FwcE5hdmlnYXRpb24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0FwcE5hdmlnYXRpb24udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9ZDM5MDhjMGEmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCJkMzkwOGMwYVwiLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL0FwcE5hdmlnYXRpb24udnVlP3Z1ZSZ0eXBlPWN1c3RvbSZpbmRleD0wJmJsb2NrVHlwZT1kb2NzXCJcbmlmICh0eXBlb2YgYmxvY2swID09PSAnZnVuY3Rpb24nKSBibG9jazAoY29tcG9uZW50KVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIi9ob21lL2xvdWlzL3dvcmtzcGFjZS9uZXh0Y2xvdWQvdG9vbHMvbmV4dGNsb3VkLXZ1ZS9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanNcIilcbiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpXG4gIGlmIChhcGkuY29tcGF0aWJsZSkge1xuICAgIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCdkMzkwOGMwYScpKSB7XG4gICAgICBhcGkuY3JlYXRlUmVjb3JkKCdkMzkwOGMwYScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVsb2FkKCdkMzkwOGMwYScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH1cbiAgICBtb2R1bGUuaG90LmFjY2VwdChcIi4vQXBwTmF2aWdhdGlvbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9ZDM5MDhjMGEmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignZDM5MDhjMGEnLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb24vQXBwTmF2aWdhdGlvbi52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb24udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9ZDM5MDhjMGEmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb24udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWQzOTA4YzBhJnNjb3BlZD10cnVlJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IDIwMTkgQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxuICpcbiAqIEBhdXRob3IgMjAxOSBDaHJpc3RvcGggV3Vyc3QgPGNocmlzdG9waEB3aW56ZXJob2Ytd3Vyc3QuYXQ+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuaW1wb3J0IEFwcE5hdmlnYXRpb24gZnJvbSAnLi9BcHBOYXZpZ2F0aW9uJ1xuXG5leHBvcnQgZGVmYXVsdCBBcHBOYXZpZ2F0aW9uXG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0FwcE5hdmlnYXRpb25DYXB0aW9uLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02ZWU2NTgyMiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0FwcE5hdmlnYXRpb25DYXB0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02ZWU2NTgyMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjZlZTY1ODIyXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzZlZTY1ODIyJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzZlZTY1ODIyJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzZlZTY1ODIyJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NmVlNjU4MjImc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignNmVlNjU4MjInLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25DYXB0aW9uL0FwcE5hdmlnYXRpb25DYXB0aW9uLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02ZWU2NTgyMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbkNhcHRpb24udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTZlZTY1ODIyJnNjb3BlZD10cnVlJlwiIiwiaW1wb3J0IEFwcE5hdmlnYXRpb25DYXB0aW9uIGZyb20gJy4vQXBwTmF2aWdhdGlvbkNhcHRpb24nXG5cbmV4cG9ydCBkZWZhdWx0IEFwcE5hdmlnYXRpb25DYXB0aW9uXG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0FwcE5hdmlnYXRpb25Db3VudGVyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0yMzFkN2RhZiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uQ291bnRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0FwcE5hdmlnYXRpb25Db3VudGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uQ291bnRlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0yMzFkN2RhZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjIzMWQ3ZGFmXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGN1c3RvbSBibG9ja3MgKi9cbmltcG9ydCBibG9jazAgZnJvbSBcIi4vQXBwTmF2aWdhdGlvbkNvdW50ZXIudnVlP3Z1ZSZ0eXBlPWN1c3RvbSZpbmRleD0wJmJsb2NrVHlwZT1kb2NzXCJcbmlmICh0eXBlb2YgYmxvY2swID09PSAnZnVuY3Rpb24nKSBibG9jazAoY29tcG9uZW50KVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIi9ob21lL2xvdWlzL3dvcmtzcGFjZS9uZXh0Y2xvdWQvdG9vbHMvbmV4dGNsb3VkLXZ1ZS9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanNcIilcbiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpXG4gIGlmIChhcGkuY29tcGF0aWJsZSkge1xuICAgIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCcyMzFkN2RhZicpKSB7XG4gICAgICBhcGkuY3JlYXRlUmVjb3JkKCcyMzFkN2RhZicsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVsb2FkKCcyMzFkN2RhZicsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH1cbiAgICBtb2R1bGUuaG90LmFjY2VwdChcIi4vQXBwTmF2aWdhdGlvbkNvdW50ZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTIzMWQ3ZGFmJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzIzMWQ3ZGFmJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uQ291bnRlci9BcHBOYXZpZ2F0aW9uQ291bnRlci52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbkNvdW50ZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbkNvdW50ZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbkNvdW50ZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MjMxZDdkYWYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25Db3VudGVyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0yMzFkN2RhZiZzY29wZWQ9dHJ1ZSZcIiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAqXG4gKiBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbmltcG9ydCBBcHBOYXZpZ2F0aW9uQ291bnRlciBmcm9tICcuL0FwcE5hdmlnYXRpb25Db3VudGVyJ1xuXG5leHBvcnQgZGVmYXVsdCBBcHBOYXZpZ2F0aW9uQ291bnRlclxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uSWNvbkJ1bGxldC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MTU4OWE4MWUmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQXBwTmF2aWdhdGlvbkljb25CdWxsZXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uSWNvbkJ1bGxldC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQXBwTmF2aWdhdGlvbkljb25CdWxsZXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTU4OWE4MWUmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIxNTg5YTgxZVwiLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL0FwcE5hdmlnYXRpb25JY29uQnVsbGV0LnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnMTU4OWE4MWUnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnMTU4OWE4MWUnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnMTU4OWE4MWUnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0FwcE5hdmlnYXRpb25JY29uQnVsbGV0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xNTg5YTgxZSZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCcxNTg5YTgxZScsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkljb25CdWxsZXQvQXBwTmF2aWdhdGlvbkljb25CdWxsZXQudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25JY29uQnVsbGV0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25JY29uQnVsbGV0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25JY29uQnVsbGV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE1ODlhODFlJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uSWNvbkJ1bGxldC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MTU4OWE4MWUmc2NvcGVkPXRydWUmXCIiLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBBcHBOYXZpZ2F0aW9uSWNvbkJ1bGxldCBmcm9tICcuL0FwcE5hdmlnYXRpb25JY29uQnVsbGV0J1xuXG5leHBvcnQgZGVmYXVsdCBBcHBOYXZpZ2F0aW9uSWNvbkJ1bGxldFxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uSWNvbkNvbGxhcHNpYmxlLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0zYzRhY2ZiMyZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uSWNvbkNvbGxhcHNpYmxlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQXBwTmF2aWdhdGlvbkljb25Db2xsYXBzaWJsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQXBwTmF2aWdhdGlvbkljb25Db2xsYXBzaWJsZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0zYzRhY2ZiMyZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjNjNGFjZmIzXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzNjNGFjZmIzJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzNjNGFjZmIzJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzNjNGFjZmIzJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BcHBOYXZpZ2F0aW9uSWNvbkNvbGxhcHNpYmxlLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0zYzRhY2ZiMyZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCczYzRhY2ZiMycsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkl0ZW0vQXBwTmF2aWdhdGlvbkljb25Db2xsYXBzaWJsZS52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbkljb25Db2xsYXBzaWJsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uSWNvbkNvbGxhcHNpYmxlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25JY29uQ29sbGFwc2libGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9M2M0YWNmYjMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25JY29uQ29sbGFwc2libGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTNjNGFjZmIzJnNjb3BlZD10cnVlJlwiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uSXRlbS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MjEwZGZlYTEmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQXBwTmF2aWdhdGlvbkl0ZW0udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uSXRlbS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQXBwTmF2aWdhdGlvbkl0ZW0udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1zY3NzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbFxuICBcbilcblxuLyogY3VzdG9tIGJsb2NrcyAqL1xuaW1wb3J0IGJsb2NrMCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uSXRlbS52dWU/dnVlJnR5cGU9Y3VzdG9tJmluZGV4PTAmYmxvY2tUeXBlPWRvY3NcIlxuaWYgKHR5cGVvZiBibG9jazAgPT09ICdmdW5jdGlvbicpIGJsb2NrMChjb21wb25lbnQpXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzIxMGRmZWExJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzIxMGRmZWExJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzIxMGRmZWExJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BcHBOYXZpZ2F0aW9uSXRlbS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MjEwZGZlYTEmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignMjEwZGZlYTEnLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25JdGVtL0FwcE5hdmlnYXRpb25JdGVtLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uSXRlbS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uSXRlbS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uSXRlbS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZsYW5nPXNjc3MmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbkl0ZW0udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTIxMGRmZWExJlwiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9JbnB1dENvbmZpcm1DYW5jZWwudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTE4NTMwN2IyJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0lucHV0Q29uZmlybUNhbmNlbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0lucHV0Q29uZmlybUNhbmNlbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vSW5wdXRDb25maXJtQ2FuY2VsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmxhbmc9c2NzcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGN1c3RvbSBibG9ja3MgKi9cbmltcG9ydCBibG9jazAgZnJvbSBcIi4vSW5wdXRDb25maXJtQ2FuY2VsLnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnMTg1MzA3YjInKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnMTg1MzA3YjInLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnMTg1MzA3YjInLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0lucHV0Q29uZmlybUNhbmNlbC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MTg1MzA3YjImXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignMTg1MzA3YjInLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25JdGVtL0lucHV0Q29uZmlybUNhbmNlbC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5wdXRDb25maXJtQ2FuY2VsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0lucHV0Q29uZmlybUNhbmNlbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbnB1dENvbmZpcm1DYW5jZWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1zY3NzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0lucHV0Q29uZmlybUNhbmNlbC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MTg1MzA3YjImXCIiLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBBcHBOYXZpZ2F0aW9uSXRlbSBmcm9tICcuL0FwcE5hdmlnYXRpb25JdGVtJ1xuXG5leHBvcnQgZGVmYXVsdCBBcHBOYXZpZ2F0aW9uSXRlbVxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1jYzYzNTNhMiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQXBwTmF2aWdhdGlvbk5ldy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQXBwTmF2aWdhdGlvbk5ldy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1jYzYzNTNhMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcImNjNjM1M2EyXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJ2NjNjM1M2EyJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJ2NjNjM1M2EyJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJ2NjNjM1M2EyJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1jYzYzNTNhMiZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCdjYzYzNTNhMicsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbk5ldy9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25OZXcudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbk5ldy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1jYzYzNTNhMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbk5ldy52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9Y2M2MzUzYTImc2NvcGVkPXRydWUmXCIiLCIvKlxuICogQGNvcHlyaWdodCAyMDE4IENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAqXG4gKiBAYXV0aG9yIDIwMTggQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cbmltcG9ydCBBcHBOYXZpZ2F0aW9uTmV3IGZyb20gJy4vQXBwTmF2aWdhdGlvbk5ldydcblxuZXhwb3J0IGRlZmF1bHQgQXBwTmF2aWdhdGlvbk5ld1xuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uTmV3SXRlbS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MmI1MzRhMGYmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQXBwTmF2aWdhdGlvbk5ld0l0ZW0udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uTmV3SXRlbS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQXBwTmF2aWdhdGlvbk5ld0l0ZW0udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1zY3NzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbFxuICBcbilcblxuLyogY3VzdG9tIGJsb2NrcyAqL1xuaW1wb3J0IGJsb2NrMCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uTmV3SXRlbS52dWU/dnVlJnR5cGU9Y3VzdG9tJmluZGV4PTAmYmxvY2tUeXBlPWRvY3NcIlxuaWYgKHR5cGVvZiBibG9jazAgPT09ICdmdW5jdGlvbicpIGJsb2NrMChjb21wb25lbnQpXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzJiNTM0YTBmJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzJiNTM0YTBmJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzJiNTM0YTBmJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BcHBOYXZpZ2F0aW9uTmV3SXRlbS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MmI1MzRhMGYmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignMmI1MzRhMGYnLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25OZXdJdGVtL0FwcE5hdmlnYXRpb25OZXdJdGVtLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uTmV3SXRlbS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uTmV3SXRlbS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uTmV3SXRlbS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZsYW5nPXNjc3MmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbk5ld0l0ZW0udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTJiNTM0YTBmJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5pbXBvcnQgQXBwTmF2aWdhdGlvbk5ld0l0ZW0gZnJvbSAnLi9BcHBOYXZpZ2F0aW9uTmV3SXRlbSdcblxuZXhwb3J0IGRlZmF1bHQgQXBwTmF2aWdhdGlvbk5ld0l0ZW1cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD05YzljMzk3ZSZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0FwcE5hdmlnYXRpb25TZXR0aW5ncy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05YzljMzk3ZSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjljOWMzOTdlXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzljOWMzOTdlJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzljOWMzOTdlJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzljOWMzOTdlJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTljOWMzOTdlJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzljOWMzOTdlJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MvQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25TZXR0aW5ncy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05YzljMzk3ZSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD05YzljMzk3ZSZzY29wZWQ9dHJ1ZSZcIiIsIi8qXG4gKiBAY29weXJpZ2h0IDIwMTggQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxuICpcbiAqIEBhdXRob3IgMjAxOCBDaHJpc3RvcGggV3Vyc3QgPGNocmlzdG9waEB3aW56ZXJob2Ytd3Vyc3QuYXQ+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuaW1wb3J0IEFwcE5hdmlnYXRpb25TZXR0aW5ncyBmcm9tICcuL0FwcE5hdmlnYXRpb25TZXR0aW5ncydcblxuZXhwb3J0IGRlZmF1bHQgQXBwTmF2aWdhdGlvblNldHRpbmdzXG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0FwcE5hdmlnYXRpb25TcGFjZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTljNzBiZWRhJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0FwcE5hdmlnYXRpb25TcGFjZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uU3BhY2VyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uU3BhY2VyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTljNzBiZWRhJnNjb3BlZD10cnVlJmxhbmc9Y3NzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI5YzcwYmVkYVwiLFxuICBudWxsXG4gIFxuKVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIi9ob21lL2xvdWlzL3dvcmtzcGFjZS9uZXh0Y2xvdWQvdG9vbHMvbmV4dGNsb3VkLXZ1ZS9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanNcIilcbiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpXG4gIGlmIChhcGkuY29tcGF0aWJsZSkge1xuICAgIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCc5YzcwYmVkYScpKSB7XG4gICAgICBhcGkuY3JlYXRlUmVjb3JkKCc5YzcwYmVkYScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVsb2FkKCc5YzcwYmVkYScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH1cbiAgICBtb2R1bGUuaG90LmFjY2VwdChcIi4vQXBwTmF2aWdhdGlvblNwYWNlci52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9OWM3MGJlZGEmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignOWM3MGJlZGEnLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25TcGFjZXIvQXBwTmF2aWdhdGlvblNwYWNlci52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvblNwYWNlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uU3BhY2VyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uU3BhY2VyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTljNzBiZWRhJnNjb3BlZD10cnVlJmxhbmc9Y3NzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25TcGFjZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTljNzBiZWRhJnNjb3BlZD10cnVlJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IDIwMTkgQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxuICpcbiAqIEBhdXRob3IgMjAxOSBDaHJpc3RvcGggV3Vyc3QgPGNocmlzdG9waEB3aW56ZXJob2Ytd3Vyc3QuYXQ+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuaW1wb3J0IEFwcE5hdmlnYXRpb25TcGFjZXIgZnJvbSAnLi9BcHBOYXZpZ2F0aW9uU3BhY2VyJ1xuXG5leHBvcnQgZGVmYXVsdCBBcHBOYXZpZ2F0aW9uU3BhY2VyXG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0FwcE5hdmlnYXRpb25Ub2dnbGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTE3ZWJlYWUzJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0FwcE5hdmlnYXRpb25Ub2dnbGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uVG9nZ2xlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uVG9nZ2xlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE3ZWJlYWUzJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiMTdlYmVhZTNcIixcbiAgbnVsbFxuICBcbilcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnMTdlYmVhZTMnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnMTdlYmVhZTMnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnMTdlYmVhZTMnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0FwcE5hdmlnYXRpb25Ub2dnbGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTE3ZWJlYWUzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzE3ZWJlYWUzJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uVG9nZ2xlL0FwcE5hdmlnYXRpb25Ub2dnbGUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25Ub2dnbGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvblRvZ2dsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uVG9nZ2xlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE3ZWJlYWUzJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uVG9nZ2xlLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xN2ViZWFlMyZzY29wZWQ9dHJ1ZSZcIiIsInZhciByZW5kZXIsIHN0YXRpY1JlbmRlckZuc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BcHBTZXR0aW5nc0RpYWxvZy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0FwcFNldHRpbmdzRGlhbG9nLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9BcHBTZXR0aW5nc0RpYWxvZy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xZDNhYmNhZSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjFkM2FiY2FlXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGN1c3RvbSBibG9ja3MgKi9cbmltcG9ydCBibG9jazAgZnJvbSBcIi4vQXBwU2V0dGluZ3NEaWFsb2cudnVlP3Z1ZSZ0eXBlPWN1c3RvbSZpbmRleD0wJmJsb2NrVHlwZT1kb2NzXCJcbmlmICh0eXBlb2YgYmxvY2swID09PSAnZnVuY3Rpb24nKSBibG9jazAoY29tcG9uZW50KVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIi9ob21lL2xvdWlzL3dvcmtzcGFjZS9uZXh0Y2xvdWQvdG9vbHMvbmV4dGNsb3VkLXZ1ZS9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanNcIilcbiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpXG4gIGlmIChhcGkuY29tcGF0aWJsZSkge1xuICAgIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCcxZDNhYmNhZScpKSB7XG4gICAgICBhcGkuY3JlYXRlUmVjb3JkKCcxZDNhYmNhZScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVsb2FkKCcxZDNhYmNhZScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH1cbiAgICBcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9BcHBTZXR0aW5nc0RpYWxvZy9BcHBTZXR0aW5nc0RpYWxvZy52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwU2V0dGluZ3NEaWFsb2cudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwU2V0dGluZ3NEaWFsb2cudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwU2V0dGluZ3NEaWFsb2cudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MWQzYWJjYWUmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMCBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxuICpcbiAqIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbmltcG9ydCBBcHBTZXR0aW5nc0RpYWxvZyBmcm9tICcuL0FwcFNldHRpbmdzRGlhbG9nJ1xuXG5leHBvcnQgZGVmYXVsdCBBcHBTZXR0aW5nc0RpYWxvZ1xuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BcHBTZXR0aW5nc1NlY3Rpb24udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWExZmE1NTIyJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0FwcFNldHRpbmdzU2VjdGlvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0FwcFNldHRpbmdzU2VjdGlvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQXBwU2V0dGluZ3NTZWN0aW9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWExZmE1NTIyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiYTFmYTU1MjJcIixcbiAgbnVsbFxuICBcbilcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnYTFmYTU1MjInKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnYTFmYTU1MjInLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnYTFmYTU1MjInLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0FwcFNldHRpbmdzU2VjdGlvbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9YTFmYTU1MjImc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignYTFmYTU1MjInLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0FwcFNldHRpbmdzU2VjdGlvbi9BcHBTZXR0aW5nc1NlY3Rpb24udnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcFNldHRpbmdzU2VjdGlvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBTZXR0aW5nc1NlY3Rpb24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwU2V0dGluZ3NTZWN0aW9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWExZmE1NTIyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBTZXR0aW5nc1NlY3Rpb24udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWExZmE1NTIyJnNjb3BlZD10cnVlJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMCBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxuICpcbiAqIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbmltcG9ydCBBcHBTZXR0aW5nc1NlY3Rpb24gZnJvbSAnLi9BcHBTZXR0aW5nc1NlY3Rpb24nXG5cbmV4cG9ydCBkZWZhdWx0IEFwcFNldHRpbmdzU2VjdGlvblxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BcHBTaWRlYmFyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00YTJhNWYyZiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BcHBTaWRlYmFyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQXBwU2lkZWJhci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQXBwU2lkZWJhci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00YTJhNWYyZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzdHlsZTEgZnJvbSBcIi4vQXBwU2lkZWJhci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MSZsYW5nPXNjc3MmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjRhMmE1ZjJmXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGN1c3RvbSBibG9ja3MgKi9cbmltcG9ydCBibG9jazAgZnJvbSBcIi4vQXBwU2lkZWJhci52dWU/dnVlJnR5cGU9Y3VzdG9tJmluZGV4PTAmYmxvY2tUeXBlPWRvY3NcIlxuaWYgKHR5cGVvZiBibG9jazAgPT09ICdmdW5jdGlvbicpIGJsb2NrMChjb21wb25lbnQpXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzRhMmE1ZjJmJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzRhMmE1ZjJmJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzRhMmE1ZjJmJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BcHBTaWRlYmFyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00YTJhNWYyZiZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCc0YTJhNWYyZicsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvQXBwU2lkZWJhci9BcHBTaWRlYmFyLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBTaWRlYmFyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcFNpZGViYXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwU2lkZWJhci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00YTJhNWYyZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBTaWRlYmFyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0xJmxhbmc9c2NzcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBTaWRlYmFyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00YTJhNWYyZiZzY29wZWQ9dHJ1ZSZcIiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vQXBwU2lkZWJhclRhYnMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTU3NzJlNDRkJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0FwcFNpZGViYXJUYWJzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQXBwU2lkZWJhclRhYnMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0FwcFNpZGViYXJUYWJzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTU3NzJlNDRkJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNTc3MmU0NGRcIixcbiAgbnVsbFxuICBcbilcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNTc3MmU0NGQnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNTc3MmU0NGQnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNTc3MmU0NGQnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0FwcFNpZGViYXJUYWJzLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD01NzcyZTQ0ZCZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCc1NzcyZTQ0ZCcsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvQXBwU2lkZWJhci9BcHBTaWRlYmFyVGFicy52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwU2lkZWJhclRhYnMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwU2lkZWJhclRhYnMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwU2lkZWJhclRhYnMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NTc3MmU0NGQmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcFNpZGViYXJUYWJzLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD01NzcyZTQ0ZCZzY29wZWQ9dHJ1ZSZcIiIsIi8qXG4gKiBAY29weXJpZ2h0IDIwMTkgQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxuICpcbiAqIEBhdXRob3IgMjAxOSBDaHJpc3RvcGggV3Vyc3QgPGNocmlzdG9waEB3aW56ZXJob2Ytd3Vyc3QuYXQ+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuaW1wb3J0IEFwcFNpZGViYXIgZnJvbSAnLi9BcHBTaWRlYmFyJ1xuXG5leHBvcnQgZGVmYXVsdCBBcHBTaWRlYmFyXG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0FwcFNpZGViYXJUYWIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWU1ZGJmZDc2JnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0FwcFNpZGViYXJUYWIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BcHBTaWRlYmFyVGFiLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9BcHBTaWRlYmFyVGFiLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWU1ZGJmZDc2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiZTVkYmZkNzZcIixcbiAgbnVsbFxuICBcbilcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnZTVkYmZkNzYnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnZTVkYmZkNzYnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnZTVkYmZkNzYnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0FwcFNpZGViYXJUYWIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWU1ZGJmZDc2JnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJ2U1ZGJmZDc2Jywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9BcHBTaWRlYmFyVGFiL0FwcFNpZGViYXJUYWIudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcFNpZGViYXJUYWIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwU2lkZWJhclRhYi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBTaWRlYmFyVGFiLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWU1ZGJmZDc2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBTaWRlYmFyVGFiLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1lNWRiZmQ3NiZzY29wZWQ9dHJ1ZSZcIiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cbmltcG9ydCBBcHBTaWRlYmFyVGFiIGZyb20gJy4vQXBwU2lkZWJhclRhYidcblxuZXhwb3J0IGRlZmF1bHQgQXBwU2lkZWJhclRhYlxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BdmF0YXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTEwMGUzYjZmJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0F2YXRhci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0F2YXRhci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQXZhdGFyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTEwMGUzYjZmJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiMTAwZTNiNmZcIixcbiAgbnVsbFxuICBcbilcblxuLyogY3VzdG9tIGJsb2NrcyAqL1xuaW1wb3J0IGJsb2NrMCBmcm9tIFwiLi9BdmF0YXIudnVlP3Z1ZSZ0eXBlPWN1c3RvbSZpbmRleD0wJmJsb2NrVHlwZT1kb2NzXCJcbmlmICh0eXBlb2YgYmxvY2swID09PSAnZnVuY3Rpb24nKSBibG9jazAoY29tcG9uZW50KVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIi9ob21lL2xvdWlzL3dvcmtzcGFjZS9uZXh0Y2xvdWQvdG9vbHMvbmV4dGNsb3VkLXZ1ZS9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanNcIilcbiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpXG4gIGlmIChhcGkuY29tcGF0aWJsZSkge1xuICAgIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCcxMDBlM2I2ZicpKSB7XG4gICAgICBhcGkuY3JlYXRlUmVjb3JkKCcxMDBlM2I2ZicsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVsb2FkKCcxMDBlM2I2ZicsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH1cbiAgICBtb2R1bGUuaG90LmFjY2VwdChcIi4vQXZhdGFyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xMDBlM2I2ZiZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCcxMDBlM2I2ZicsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvQXZhdGFyL0F2YXRhci52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXZhdGFyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0F2YXRhci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BdmF0YXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTAwZTNiNmYmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0F2YXRhci52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MTAwZTNiNmYmc2NvcGVkPXRydWUmXCIiLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEp1bGl1cyBIw6RydGwgPGp1c0BiaXRncmlkLm5ldD5cbiAqXG4gKiBAYXV0aG9yIEp1bGl1cyBIw6RydGwgPGp1c0BiaXRncmlkLm5ldD5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbmltcG9ydCBBdmF0YXIgZnJvbSAnLi9BdmF0YXInXG5cbmV4cG9ydCBkZWZhdWx0IEF2YXRhclxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9CcmVhZGNydW1iLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0wMzIxNmJhMiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9CcmVhZGNydW1iLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQnJlYWRjcnVtYi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQnJlYWRjcnVtYi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0wMzIxNmJhMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjAzMjE2YmEyXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGN1c3RvbSBibG9ja3MgKi9cbmltcG9ydCBibG9jazAgZnJvbSBcIi4vQnJlYWRjcnVtYi52dWU/dnVlJnR5cGU9Y3VzdG9tJmluZGV4PTAmYmxvY2tUeXBlPWRvY3NcIlxuaWYgKHR5cGVvZiBibG9jazAgPT09ICdmdW5jdGlvbicpIGJsb2NrMChjb21wb25lbnQpXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzAzMjE2YmEyJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzAzMjE2YmEyJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzAzMjE2YmEyJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9CcmVhZGNydW1iLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0wMzIxNmJhMiZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCcwMzIxNmJhMicsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvQnJlYWRjcnVtYi9CcmVhZGNydW1iLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9CcmVhZGNydW1iLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0JyZWFkY3J1bWIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQnJlYWRjcnVtYi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0wMzIxNmJhMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQnJlYWRjcnVtYi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MDMyMTZiYTImc2NvcGVkPXRydWUmXCIiLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIwIFJhaW11bmQgU2NobMO8w59sZXIgPHJhaW11bmQuc2NobHVlc3NsZXJAbWFpbGJveC5vcmc+XG4gKlxuICogQGF1dGhvciBSYWltdW5kIFNjaGzDvMOfbGVyIDxyYWltdW5kLnNjaGx1ZXNzbGVyQG1haWxib3gub3JnPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuaW1wb3J0IEJyZWFkY3J1bWIgZnJvbSAnLi9CcmVhZGNydW1iJ1xuXG5leHBvcnQgZGVmYXVsdCBCcmVhZGNydW1iXG4iLCJ2YXIgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQnJlYWRjcnVtYnMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9CcmVhZGNydW1icy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQnJlYWRjcnVtYnMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NzY1MGVmNzEmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI3NjUwZWY3MVwiLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL0JyZWFkY3J1bWJzLnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNzY1MGVmNzEnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNzY1MGVmNzEnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNzY1MGVmNzEnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvQnJlYWRjcnVtYnMvQnJlYWRjcnVtYnMudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0JyZWFkY3J1bWJzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0JyZWFkY3J1bWJzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0JyZWFkY3J1bWJzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTc2NTBlZjcxJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMjAgUmFpbXVuZCBTY2hsw7zDn2xlciA8cmFpbXVuZC5zY2hsdWVzc2xlckBtYWlsYm94Lm9yZz5cbiAqXG4gKiBAYXV0aG9yIFJhaW11bmQgU2NobMO8w59sZXIgPHJhaW11bmQuc2NobHVlc3NsZXJAbWFpbGJveC5vcmc+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuXG5pbXBvcnQgQnJlYWRjcnVtYnMgZnJvbSAnLi9CcmVhZGNydW1icydcblxuZXhwb3J0IGRlZmF1bHQgQnJlYWRjcnVtYnNcbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vQ29sb3JQaWNrZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWVlM2Y0MjFhJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0NvbG9yUGlja2VyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQ29sb3JQaWNrZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0NvbG9yUGlja2VyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWVlM2Y0MjFhJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiZWUzZjQyMWFcIixcbiAgbnVsbFxuICBcbilcblxuLyogY3VzdG9tIGJsb2NrcyAqL1xuaW1wb3J0IGJsb2NrMCBmcm9tIFwiLi9Db2xvclBpY2tlci52dWU/dnVlJnR5cGU9Y3VzdG9tJmluZGV4PTAmYmxvY2tUeXBlPWRvY3NcIlxuaWYgKHR5cGVvZiBibG9jazAgPT09ICdmdW5jdGlvbicpIGJsb2NrMChjb21wb25lbnQpXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJ2VlM2Y0MjFhJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJ2VlM2Y0MjFhJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJ2VlM2Y0MjFhJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9Db2xvclBpY2tlci52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9ZWUzZjQyMWEmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignZWUzZjQyMWEnLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0NvbG9yUGlja2VyL0NvbG9yUGlja2VyLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db2xvclBpY2tlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db2xvclBpY2tlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db2xvclBpY2tlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1lZTNmNDIxYSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29sb3JQaWNrZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWVlM2Y0MjFhJnNjb3BlZD10cnVlJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxuICpcbiAqIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbmltcG9ydCBDb2xvclBpY2tlciBmcm9tICcuL0NvbG9yUGlja2VyJ1xuXG5leHBvcnQgZGVmYXVsdCBDb2xvclBpY2tlclxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9Db250ZW50LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0zN2YwMzU3YSZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9Db250ZW50LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQ29udGVudC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQ29udGVudC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0zN2YwMzU3YSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjM3ZjAzNTdhXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGN1c3RvbSBibG9ja3MgKi9cbmltcG9ydCBibG9jazAgZnJvbSBcIi4vQ29udGVudC52dWU/dnVlJnR5cGU9Y3VzdG9tJmluZGV4PTAmYmxvY2tUeXBlPWRvY3NcIlxuaWYgKHR5cGVvZiBibG9jazAgPT09ICdmdW5jdGlvbicpIGJsb2NrMChjb21wb25lbnQpXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzM3ZjAzNTdhJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzM3ZjAzNTdhJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzM3ZjAzNTdhJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9Db250ZW50LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0zN2YwMzU3YSZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCczN2YwMzU3YScsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvQ29udGVudC9Db250ZW50LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db250ZW50LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0NvbnRlbnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29udGVudC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0zN2YwMzU3YSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29udGVudC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MzdmMDM1N2Emc2NvcGVkPXRydWUmXCIiLCIvKlxuICogQGNvcHlyaWdodCAyMDE4IENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAqXG4gKiBAYXV0aG9yIDIwMTggQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cbmltcG9ydCBDb250ZW50IGZyb20gJy4vQ29udGVudCdcblxuZXhwb3J0IGRlZmF1bHQgQ29udGVudFxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9EYXRldGltZVBpY2tlci52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NmE2MjgzNmYmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vRGF0ZXRpbWVQaWNrZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9EYXRldGltZVBpY2tlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL0RhdGV0aW1lUGlja2VyLnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNmE2MjgzNmYnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNmE2MjgzNmYnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNmE2MjgzNmYnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0RhdGV0aW1lUGlja2VyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02YTYyODM2ZiZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCc2YTYyODM2ZicsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvRGF0ZXRpbWVQaWNrZXIvRGF0ZXRpbWVQaWNrZXIudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0RhdGV0aW1lUGlja2VyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0RhdGV0aW1lUGlja2VyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9EYXRldGltZVBpY2tlci52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NmE2MjgzNmYmXCIiLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBTY29wZUNvbXBvbmVudCBmcm9tICcuLi8uLi91dGlscy9TY29wZUNvbXBvbmVudCdcbmltcG9ydCBEYXRldGltZVBpY2tlciBmcm9tICcuL0RhdGV0aW1lUGlja2VyJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cblNjb3BlQ29tcG9uZW50KERhdGV0aW1lUGlja2VyKVxuXG5leHBvcnQgZGVmYXVsdCBEYXRldGltZVBpY2tlclxuIiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4vaW5kZXguc2Nzc1wiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vRW1wdHlDb250ZW50LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1hNjhiODQ2MiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9FbXB0eUNvbnRlbnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9FbXB0eUNvbnRlbnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0VtcHR5Q29udGVudC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1hNjhiODQ2MiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcImE2OGI4NDYyXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGN1c3RvbSBibG9ja3MgKi9cbmltcG9ydCBibG9jazAgZnJvbSBcIi4vRW1wdHlDb250ZW50LnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnYTY4Yjg0NjInKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnYTY4Yjg0NjInLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnYTY4Yjg0NjInLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0VtcHR5Q29udGVudC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9YTY4Yjg0NjImc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignYTY4Yjg0NjInLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0VtcHR5Q29udGVudC9FbXB0eUNvbnRlbnQudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0VtcHR5Q29udGVudC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9FbXB0eUNvbnRlbnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRW1wdHlDb250ZW50LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWE2OGI4NDYyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9FbXB0eUNvbnRlbnQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWE2OGI4NDYyJnNjb3BlZD10cnVlJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMCBHcmV0YSBEb2NpIDxncmV0YWRvY2lAZ21haWwuY29tPlxuICpcbiAqIEBhdXRob3IgMjAyMCBHcmV0YSBEb2NpIDxncmV0YWRvY2lAZ21haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBFbXB0eUNvbnRlbnQgZnJvbSAnLi9FbXB0eUNvbnRlbnQnXG5cbmV4cG9ydCBkZWZhdWx0IEVtcHR5Q29udGVudFxuIiwidmFyIHJlbmRlciwgc3RhdGljUmVuZGVyRm5zXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0hpZ2hsaWdodC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0hpZ2hsaWdodC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL0hpZ2hsaWdodC52dWU/dnVlJnR5cGU9Y3VzdG9tJmluZGV4PTAmYmxvY2tUeXBlPWRvY3NcIlxuaWYgKHR5cGVvZiBibG9jazAgPT09ICdmdW5jdGlvbicpIGJsb2NrMChjb21wb25lbnQpXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzhmMDA0MzBlJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzhmMDA0MzBlJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzhmMDA0MzBlJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIFxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0hpZ2hsaWdodC9IaWdobGlnaHQudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0hpZ2hsaWdodC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9IaWdobGlnaHQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMCBSYWltdW5kIFNjaGzDvMOfbGVyIDxyYWltdW5kLnNjaGx1ZXNzbGVyQG1haWxib3gub3JnPlxuICpcbiAqIEBhdXRob3IgUmFpbXVuZCBTY2hsw7zDn2xlciA8cmFpbXVuZC5zY2hsdWVzc2xlckBtYWlsYm94Lm9yZz5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuaW1wb3J0IEhpZ2hsaWdodCBmcm9tICcuL0hpZ2hsaWdodCdcblxuZXhwb3J0IGRlZmF1bHQgSGlnaGxpZ2h0XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0xpc3RJdGVtSWNvbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9N2ZlOTVhOGYmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vTGlzdEl0ZW1JY29uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vTGlzdEl0ZW1JY29uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9MaXN0SXRlbUljb24udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9N2ZlOTVhOGYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI3ZmU5NWE4ZlwiLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL0xpc3RJdGVtSWNvbi52dWU/dnVlJnR5cGU9Y3VzdG9tJmluZGV4PTAmYmxvY2tUeXBlPWRvY3NcIlxuaWYgKHR5cGVvZiBibG9jazAgPT09ICdmdW5jdGlvbicpIGJsb2NrMChjb21wb25lbnQpXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzdmZTk1YThmJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzdmZTk1YThmJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzdmZTk1YThmJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9MaXN0SXRlbUljb24udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTdmZTk1YThmJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzdmZTk1YThmJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9MaXN0SXRlbUljb24vTGlzdEl0ZW1JY29uLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9MaXN0SXRlbUljb24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTGlzdEl0ZW1JY29uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0xpc3RJdGVtSWNvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD03ZmU5NWE4ZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTGlzdEl0ZW1JY29uLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD03ZmU5NWE4ZiZzY29wZWQ9dHJ1ZSZcIiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMjAgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuXG5pbXBvcnQgTGlzdEl0ZW1JY29uIGZyb20gJy4vTGlzdEl0ZW1JY29uJ1xuXG5leHBvcnQgZGVmYXVsdCBMaXN0SXRlbUljb25cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vTW9kYWwudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTQ3ZGI3NWFhJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL01vZGFsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vTW9kYWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL01vZGFsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTQ3ZGI3NWFhJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNDdkYjc1YWFcIixcbiAgbnVsbFxuICBcbilcblxuLyogY3VzdG9tIGJsb2NrcyAqL1xuaW1wb3J0IGJsb2NrMCBmcm9tIFwiLi9Nb2RhbC52dWU/dnVlJnR5cGU9Y3VzdG9tJmluZGV4PTAmYmxvY2tUeXBlPWRvY3NcIlxuaWYgKHR5cGVvZiBibG9jazAgPT09ICdmdW5jdGlvbicpIGJsb2NrMChjb21wb25lbnQpXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzQ3ZGI3NWFhJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzQ3ZGI3NWFhJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzQ3ZGI3NWFhJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9Nb2RhbC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NDdkYjc1YWEmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignNDdkYjc1YWEnLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL01vZGFsL01vZGFsLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Nb2RhbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Nb2RhbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Nb2RhbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00N2RiNzVhYSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTW9kYWwudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTQ3ZGI3NWFhJnNjb3BlZD10cnVlJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5pbXBvcnQgU2NvcGVDb21wb25lbnQgZnJvbSAnLi4vLi4vdXRpbHMvU2NvcGVDb21wb25lbnQnXG5pbXBvcnQgTW9kYWwgZnJvbSAnLi9Nb2RhbCdcblxuU2NvcGVDb21wb25lbnQoTW9kYWwpXG5cbmV4cG9ydCBkZWZhdWx0IE1vZGFsXG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0VsbGlwc2lzZWRPcHRpb24udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTAyNmMzZGVmJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0VsbGlwc2lzZWRPcHRpb24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9FbGxpcHNpc2VkT3B0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9FbGxpcHNpc2VkT3B0aW9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTAyNmMzZGVmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiMDI2YzNkZWZcIixcbiAgbnVsbFxuICBcbilcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnMDI2YzNkZWYnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnMDI2YzNkZWYnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnMDI2YzNkZWYnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0VsbGlwc2lzZWRPcHRpb24udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTAyNmMzZGVmJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzAyNmMzZGVmJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9NdWx0aXNlbGVjdC9FbGxpcHNpc2VkT3B0aW9uLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9FbGxpcHNpc2VkT3B0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0VsbGlwc2lzZWRPcHRpb24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRWxsaXBzaXNlZE9wdGlvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0wMjZjM2RlZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRWxsaXBzaXNlZE9wdGlvbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MDI2YzNkZWYmc2NvcGVkPXRydWUmXCIiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL011bHRpc2VsZWN0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xY2QyZmY4YSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9NdWx0aXNlbGVjdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL011bHRpc2VsZWN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGN1c3RvbSBibG9ja3MgKi9cbmltcG9ydCBibG9jazAgZnJvbSBcIi4vTXVsdGlzZWxlY3QudnVlP3Z1ZSZ0eXBlPWN1c3RvbSZpbmRleD0wJmJsb2NrVHlwZT1kb2NzXCJcbmlmICh0eXBlb2YgYmxvY2swID09PSAnZnVuY3Rpb24nKSBibG9jazAoY29tcG9uZW50KVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIi9ob21lL2xvdWlzL3dvcmtzcGFjZS9uZXh0Y2xvdWQvdG9vbHMvbmV4dGNsb3VkLXZ1ZS9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanNcIilcbiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpXG4gIGlmIChhcGkuY29tcGF0aWJsZSkge1xuICAgIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCcxY2QyZmY4YScpKSB7XG4gICAgICBhcGkuY3JlYXRlUmVjb3JkKCcxY2QyZmY4YScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVsb2FkKCcxY2QyZmY4YScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH1cbiAgICBtb2R1bGUuaG90LmFjY2VwdChcIi4vTXVsdGlzZWxlY3QudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTFjZDJmZjhhJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzFjZDJmZjhhJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9NdWx0aXNlbGVjdC9NdWx0aXNlbGVjdC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTXVsdGlzZWxlY3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTXVsdGlzZWxlY3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL011bHRpc2VsZWN0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xY2QyZmY4YSZcIiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuaW1wb3J0IFNjb3BlQ29tcG9uZW50IGZyb20gJy4uLy4uL3V0aWxzL1Njb3BlQ29tcG9uZW50J1xuaW1wb3J0IE11bHRpc2VsZWN0IGZyb20gJy4vTXVsdGlzZWxlY3QnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuU2NvcGVDb21wb25lbnQoTXVsdGlzZWxlY3QpXG5cbmV4cG9ydCBkZWZhdWx0IE11bHRpc2VsZWN0XG4iLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi9pbmRleC5zY3NzXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9NdWx0aXNlbGVjdFRhZ3MudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTUwODNiNWFkJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL011bHRpc2VsZWN0VGFncy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL011bHRpc2VsZWN0VGFncy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL011bHRpc2VsZWN0VGFncy52dWU/dnVlJnR5cGU9Y3VzdG9tJmluZGV4PTAmYmxvY2tUeXBlPWRvY3NcIlxuaWYgKHR5cGVvZiBibG9jazAgPT09ICdmdW5jdGlvbicpIGJsb2NrMChjb21wb25lbnQpXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzUwODNiNWFkJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzUwODNiNWFkJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzUwODNiNWFkJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9NdWx0aXNlbGVjdFRhZ3MudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTUwODNiNWFkJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzUwODNiNWFkJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9NdWx0aXNlbGVjdFRhZ3MvTXVsdGlzZWxlY3RUYWdzLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9NdWx0aXNlbGVjdFRhZ3MudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTXVsdGlzZWxlY3RUYWdzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9NdWx0aXNlbGVjdFRhZ3MudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTUwODNiNWFkJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKdWxpdXMgSMOkcnRsIDxqdXNAYml0Z3JpZC5uZXQ+XG4gKlxuICogQGF1dGhvciBKdWxpdXMgSMOkcnRsIDxqdXNAYml0Z3JpZC5uZXQ+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbmltcG9ydCBheGlvcyBmcm9tICdAbmV4dGNsb3VkL2F4aW9zJ1xuaW1wb3J0IHsgZ2VuZXJhdGVSZW1vdGVVcmwgfSBmcm9tICdAbmV4dGNsb3VkL3JvdXRlcidcblxuY29uc3QgeG1sVG9Kc29uID0gKHhtbCkgPT4ge1xuXHRsZXQgb2JqID0ge31cblxuXHRpZiAoeG1sLm5vZGVUeXBlID09PSAxKSB7XG5cdFx0aWYgKHhtbC5hdHRyaWJ1dGVzLmxlbmd0aCA+IDApIHtcblx0XHRcdG9ialsnQGF0dHJpYnV0ZXMnXSA9IHt9XG5cdFx0XHRmb3IgKGxldCBqID0gMDsgaiA8IHhtbC5hdHRyaWJ1dGVzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdGNvbnN0IGF0dHJpYnV0ZSA9IHhtbC5hdHRyaWJ1dGVzLml0ZW0oailcblx0XHRcdFx0b2JqWydAYXR0cmlidXRlcyddW2F0dHJpYnV0ZS5ub2RlTmFtZV0gPSBhdHRyaWJ1dGUubm9kZVZhbHVlXG5cdFx0XHR9XG5cdFx0fVxuXHR9IGVsc2UgaWYgKHhtbC5ub2RlVHlwZSA9PT0gMykge1xuXHRcdG9iaiA9IHhtbC5ub2RlVmFsdWVcblx0fVxuXG5cdGlmICh4bWwuaGFzQ2hpbGROb2RlcygpKSB7XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB4bWwuY2hpbGROb2Rlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0Y29uc3QgaXRlbSA9IHhtbC5jaGlsZE5vZGVzLml0ZW0oaSlcblx0XHRcdGNvbnN0IG5vZGVOYW1lID0gaXRlbS5ub2RlTmFtZVxuXHRcdFx0aWYgKHR5cGVvZiAob2JqW25vZGVOYW1lXSkgPT09ICd1bmRlZmluZWQnKSB7XG5cdFx0XHRcdG9ialtub2RlTmFtZV0gPSB4bWxUb0pzb24oaXRlbSlcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmICh0eXBlb2Ygb2JqW25vZGVOYW1lXS5wdXNoID09PSAndW5kZWZpbmVkJykge1xuXHRcdFx0XHRcdGNvbnN0IG9sZCA9IG9ialtub2RlTmFtZV1cblx0XHRcdFx0XHRvYmpbbm9kZU5hbWVdID0gW11cblx0XHRcdFx0XHRvYmpbbm9kZU5hbWVdLnB1c2gob2xkKVxuXHRcdFx0XHR9XG5cdFx0XHRcdG9ialtub2RlTmFtZV0ucHVzaCh4bWxUb0pzb24oaXRlbSkpXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJldHVybiBvYmpcbn1cblxuY29uc3QgcGFyc2VYbWwgPSAoeG1sKSA9PiB7XG5cdGxldCBkb20gPSBudWxsXG5cdHRyeSB7XG5cdFx0ZG9tID0gKG5ldyBET01QYXJzZXIoKSkucGFyc2VGcm9tU3RyaW5nKHhtbCwgJ3RleHQveG1sJylcblx0fSBjYXRjaCAoZSkge1xuXHRcdGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBwYXJzZSB4bWwgZG9jdW1lbnQnLCBlKVxuXHR9XG5cdHJldHVybiBkb21cbn1cblxuY29uc3QgeG1sVG9UYWdMaXN0ID0gKHhtbCkgPT4ge1xuXHRjb25zdCBqc29uID0geG1sVG9Kc29uKHBhcnNlWG1sKHhtbCkpXG5cdGNvbnN0IGxpc3QgPSBqc29uWydkOm11bHRpc3RhdHVzJ11bJ2Q6cmVzcG9uc2UnXVxuXHRjb25zdCByZXN1bHQgPSBbXVxuXHRmb3IgKGNvbnN0IGluZGV4IGluIGxpc3QpIHtcblx0XHRjb25zdCB0YWcgPSBsaXN0W2luZGV4XVsnZDpwcm9wc3RhdCddXG5cblx0XHRpZiAodGFnWydkOnN0YXR1cyddWycjdGV4dCddICE9PSAnSFRUUC8xLjEgMjAwIE9LJykge1xuXHRcdFx0Y29udGludWVcblx0XHR9XG5cdFx0cmVzdWx0LnB1c2goe1xuXHRcdFx0aWQ6IHBhcnNlSW50KHRhZ1snZDpwcm9wJ11bJ29jOmlkJ11bJyN0ZXh0J10pLFxuXHRcdFx0ZGlzcGxheU5hbWU6IHRhZ1snZDpwcm9wJ11bJ29jOmRpc3BsYXktbmFtZSddWycjdGV4dCddLFxuXHRcdFx0Y2FuQXNzaWduOiB0YWdbJ2Q6cHJvcCddWydvYzpjYW4tYXNzaWduJ11bJyN0ZXh0J10gPT09ICd0cnVlJyxcblx0XHRcdHVzZXJBc3NpZ25hYmxlOiB0YWdbJ2Q6cHJvcCddWydvYzp1c2VyLWFzc2lnbmFibGUnXVsnI3RleHQnXSA9PT0gJ3RydWUnLFxuXHRcdFx0dXNlclZpc2libGU6IHRhZ1snZDpwcm9wJ11bJ29jOnVzZXItdmlzaWJsZSddWycjdGV4dCddID09PSAndHJ1ZScsXG5cdFx0fSlcblx0fVxuXHRyZXR1cm4gcmVzdWx0XG59XG5cbmNvbnN0IHNlYXJjaFRhZ3MgPSBhc3luYyBmdW5jdGlvbigpIHtcblx0aWYgKHdpbmRvdy5OZXh0Y2xvdWRWdWVEb2NzKSB7XG5cdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSh4bWxUb1RhZ0xpc3Qod2luZG93Lk5leHRjbG91ZFZ1ZURvY3MudGFncykpXG5cdH1cblxuXHRjb25zdCByZXN1bHQgPSBhd2FpdCBheGlvcyh7XG5cdFx0bWV0aG9kOiAnUFJPUEZJTkQnLFxuXHRcdHVybDogZ2VuZXJhdGVSZW1vdGVVcmwoJ2RhdicpICsgJy9zeXN0ZW10YWdzLycsXG5cdFx0ZGF0YTogYDw/eG1sIHZlcnNpb249XCIxLjBcIj8+XG5cdFx0XHRcdFx0PGQ6cHJvcGZpbmQgIHhtbG5zOmQ9XCJEQVY6XCIgeG1sbnM6b2M9XCJodHRwOi8vb3duY2xvdWQub3JnL25zXCI+XG5cdFx0XHRcdFx0ICA8ZDpwcm9wPlxuXHRcdFx0XHRcdFx0PG9jOmlkIC8+XG5cdFx0XHRcdFx0XHQ8b2M6ZGlzcGxheS1uYW1lIC8+XG5cdFx0XHRcdFx0XHQ8b2M6dXNlci12aXNpYmxlIC8+XG5cdFx0XHRcdFx0XHQ8b2M6dXNlci1hc3NpZ25hYmxlIC8+XG5cdFx0XHRcdFx0XHQ8b2M6Y2FuLWFzc2lnbiAvPlxuXHRcdFx0XHRcdCAgPC9kOnByb3A+XG5cdFx0XHRcdFx0PC9kOnByb3BmaW5kPmAsXG5cdH0pXG5cdHJldHVybiB4bWxUb1RhZ0xpc3QocmVzdWx0LmRhdGEpXG59XG5cbmV4cG9ydCB7XG5cdHNlYXJjaFRhZ3MsXG59XG4iLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5pbXBvcnQgTXVsdGlzZWxlY3RUYWdzIGZyb20gJy4vTXVsdGlzZWxlY3RUYWdzJ1xuXG5leHBvcnQgZGVmYXVsdCBNdWx0aXNlbGVjdFRhZ3NcbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vUG9wb3Zlci52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NDUwOTNjY2EmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vUG9wb3Zlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL1BvcG92ZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL1BvcG92ZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1zY3NzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbFxuICBcbilcblxuLyogY3VzdG9tIGJsb2NrcyAqL1xuaW1wb3J0IGJsb2NrMCBmcm9tIFwiLi9Qb3BvdmVyLnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNDUwOTNjY2EnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNDUwOTNjY2EnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNDUwOTNjY2EnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL1BvcG92ZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTQ1MDkzY2NhJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzQ1MDkzY2NhJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9Qb3BvdmVyL1BvcG92ZXIudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BvcG92ZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUG9wb3Zlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Qb3BvdmVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmxhbmc9c2NzcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Qb3BvdmVyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00NTA5M2NjYSZcIiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAqXG4gKiBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbmltcG9ydCBQb3BvdmVyIGZyb20gJy4vUG9wb3ZlcidcblxuZXhwb3J0IGRlZmF1bHQgUG9wb3ZlclxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9Qb3BvdmVyTWVudS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MGEwZWI3MTkmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vUG9wb3Zlck1lbnUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9Qb3BvdmVyTWVudS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vUG9wb3Zlck1lbnUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MGEwZWI3MTkmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIwYTBlYjcxOVwiLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL1BvcG92ZXJNZW51LnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnMGEwZWI3MTknKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnMGEwZWI3MTknLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnMGEwZWI3MTknLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL1BvcG92ZXJNZW51LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0wYTBlYjcxOSZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCcwYTBlYjcxOScsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BvcG92ZXJNZW51LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BvcG92ZXJNZW51LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BvcG92ZXJNZW51LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTBhMGViNzE5Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Qb3BvdmVyTWVudS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MGEwZWI3MTkmc2NvcGVkPXRydWUmXCIiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL1BvcG92ZXJNZW51SXRlbS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NTEyZWE3Njgmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9Qb3BvdmVyTWVudUl0ZW0udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NTEyZWE3Njgmc2NvcGVkPXRydWUmbGFuZz1jc3MmXCJcbmltcG9ydCBzdHlsZTEgZnJvbSBcIi4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0xJmlkPTUxMmVhNzY4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNTEyZWE3NjhcIixcbiAgbnVsbFxuICBcbilcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNTEyZWE3NjgnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNTEyZWE3NjgnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNTEyZWE3NjgnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL1BvcG92ZXJNZW51SXRlbS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NTEyZWE3Njgmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignNTEyZWE3NjgnLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL1BvcG92ZXJNZW51L1BvcG92ZXJNZW51SXRlbS52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BvcG92ZXJNZW51SXRlbS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTUxMmVhNzY4JnNjb3BlZD10cnVlJmxhbmc9Y3NzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0xJmlkPTUxMmVhNzY4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Qb3BvdmVyTWVudUl0ZW0udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTUxMmVhNzY4JnNjb3BlZD10cnVlJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5pbXBvcnQgUG9wb3Zlck1lbnUgZnJvbSAnLi9Qb3BvdmVyTWVudSdcblxuZXhwb3J0IGRlZmF1bHQgUG9wb3Zlck1lbnVcbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vQXV0b0NvbXBsZXRlUmVzdWx0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02Y2I1OGFmYSZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BdXRvQ29tcGxldGVSZXN1bHQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BdXRvQ29tcGxldGVSZXN1bHQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0F1dG9Db21wbGV0ZVJlc3VsdC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02Y2I1OGFmYSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjZjYjU4YWZhXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzZjYjU4YWZhJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzZjYjU4YWZhJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzZjYjU4YWZhJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BdXRvQ29tcGxldGVSZXN1bHQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTZjYjU4YWZhJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzZjYjU4YWZhJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL0F1dG9Db21wbGV0ZVJlc3VsdC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXV0b0NvbXBsZXRlUmVzdWx0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0F1dG9Db21wbGV0ZVJlc3VsdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BdXRvQ29tcGxldGVSZXN1bHQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NmNiNThhZmEmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0F1dG9Db21wbGV0ZVJlc3VsdC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NmNiNThhZmEmc2NvcGVkPXRydWUmXCIiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL01lbnRpb25CdWJibGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTY5ZjQwZWM4JnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL01lbnRpb25CdWJibGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9NZW50aW9uQnViYmxlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9NZW50aW9uQnViYmxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY5ZjQwZWM4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNjlmNDBlYzhcIixcbiAgbnVsbFxuICBcbilcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNjlmNDBlYzgnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNjlmNDBlYzgnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNjlmNDBlYzgnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL01lbnRpb25CdWJibGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTY5ZjQwZWM4JnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzY5ZjQwZWM4Jywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL01lbnRpb25CdWJibGUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL01lbnRpb25CdWJibGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTWVudGlvbkJ1YmJsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9NZW50aW9uQnViYmxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY5ZjQwZWM4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9NZW50aW9uQnViYmxlLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02OWY0MGVjOCZzY29wZWQ9dHJ1ZSZcIiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vUmljaENvbnRlbnRlZGl0YWJsZS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NTU0ZDM3ZGEmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vUmljaENvbnRlbnRlZGl0YWJsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL1JpY2hDb250ZW50ZWRpdGFibGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL1JpY2hDb250ZW50ZWRpdGFibGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NTU0ZDM3ZGEmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc3R5bGUxIGZyb20gXCIuL1JpY2hDb250ZW50ZWRpdGFibGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTEmbGFuZz1zY3NzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI1NTRkMzdkYVwiLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL1JpY2hDb250ZW50ZWRpdGFibGUudnVlP3Z1ZSZ0eXBlPWN1c3RvbSZpbmRleD0wJmJsb2NrVHlwZT1kb2NzXCJcbmlmICh0eXBlb2YgYmxvY2swID09PSAnZnVuY3Rpb24nKSBibG9jazAoY29tcG9uZW50KVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIi9ob21lL2xvdWlzL3dvcmtzcGFjZS9uZXh0Y2xvdWQvdG9vbHMvbmV4dGNsb3VkLXZ1ZS9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanNcIilcbiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpXG4gIGlmIChhcGkuY29tcGF0aWJsZSkge1xuICAgIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCc1NTRkMzdkYScpKSB7XG4gICAgICBhcGkuY3JlYXRlUmVjb3JkKCc1NTRkMzdkYScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVsb2FkKCc1NTRkMzdkYScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH1cbiAgICBtb2R1bGUuaG90LmFjY2VwdChcIi4vUmljaENvbnRlbnRlZGl0YWJsZS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NTU0ZDM3ZGEmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignNTU0ZDM3ZGEnLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL1JpY2hDb250ZW50ZWRpdGFibGUvUmljaENvbnRlbnRlZGl0YWJsZS52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUmljaENvbnRlbnRlZGl0YWJsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9SaWNoQ29udGVudGVkaXRhYmxlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1JpY2hDb250ZW50ZWRpdGFibGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NTU0ZDM3ZGEmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUmljaENvbnRlbnRlZGl0YWJsZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MSZsYW5nPXNjc3MmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUmljaENvbnRlbnRlZGl0YWJsZS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NTU0ZDM3ZGEmc2NvcGVkPXRydWUmXCIiLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIwIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuaW1wb3J0IFJpY2hDb250ZW50ZWRpdGFibGUgZnJvbSAnLi9SaWNoQ29udGVudGVkaXRhYmxlJ1xuXG5leHBvcnQgZGVmYXVsdCBSaWNoQ29udGVudGVkaXRhYmxlXG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL1NldHRpbmdzU2VjdGlvbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9OTExYzFjNTYmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vU2V0dGluZ3NTZWN0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vU2V0dGluZ3NTZWN0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9TZXR0aW5nc1NlY3Rpb24udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OTExYzFjNTYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI5MTFjMWM1NlwiLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL1NldHRpbmdzU2VjdGlvbi52dWU/dnVlJnR5cGU9Y3VzdG9tJmluZGV4PTAmYmxvY2tUeXBlPWRvY3NcIlxuaWYgKHR5cGVvZiBibG9jazAgPT09ICdmdW5jdGlvbicpIGJsb2NrMChjb21wb25lbnQpXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzkxMWMxYzU2JykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzkxMWMxYzU2JywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzkxMWMxYzU2JywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9TZXR0aW5nc1NlY3Rpb24udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTkxMWMxYzU2JnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzkxMWMxYzU2Jywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9TZXR0aW5nc1NlY3Rpb24vU2V0dGluZ3NTZWN0aW9uLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TZXR0aW5nc1NlY3Rpb24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2V0dGluZ3NTZWN0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NldHRpbmdzU2VjdGlvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05MTFjMWM1NiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2V0dGluZ3NTZWN0aW9uLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD05MTFjMWM1NiZzY29wZWQ9dHJ1ZSZcIiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgR3JldGEgRG9jaSA8Z3JldGFkb2NpQGdtYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEdyZXRhIERvY2kgPGdyZXRhZG9jaUBnbWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuaW1wb3J0IFNldHRpbmdzU2VjdGlvbiBmcm9tICcuL1NldHRpbmdzU2VjdGlvbidcblxuZXhwb3J0IGRlZmF1bHQgU2V0dGluZ3NTZWN0aW9uXG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL1VzZXJCdWJibGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTVjMGUyMWFmJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL1VzZXJCdWJibGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9Vc2VyQnViYmxlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9Vc2VyQnViYmxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVjMGUyMWFmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNWMwZTIxYWZcIixcbiAgbnVsbFxuICBcbilcblxuLyogY3VzdG9tIGJsb2NrcyAqL1xuaW1wb3J0IGJsb2NrMCBmcm9tIFwiLi9Vc2VyQnViYmxlLnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNWMwZTIxYWYnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNWMwZTIxYWYnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNWMwZTIxYWYnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL1VzZXJCdWJibGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTVjMGUyMWFmJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzVjMGUyMWFmJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9Vc2VyQnViYmxlL1VzZXJCdWJibGUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1VzZXJCdWJibGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVXNlckJ1YmJsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Vc2VyQnViYmxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVjMGUyMWFmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Vc2VyQnViYmxlLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD01YzBlMjFhZiZzY29wZWQ9dHJ1ZSZcIiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAqXG4gKiBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbmltcG9ydCBVc2VyQnViYmxlIGZyb20gJy4vVXNlckJ1YmJsZSdcblxuZXhwb3J0IGRlZmF1bHQgVXNlckJ1YmJsZVxuIiwiXG4vKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuaW1wb3J0IEFjdGlvbkJ1dHRvbiBmcm9tICcuL0FjdGlvbkJ1dHRvbidcbmltcG9ydCBBY3Rpb25DaGVja2JveCBmcm9tICcuL0FjdGlvbkNoZWNrYm94J1xuaW1wb3J0IEFjdGlvbklucHV0IGZyb20gJy4vQWN0aW9uSW5wdXQnXG5pbXBvcnQgQWN0aW9uTGluayBmcm9tICcuL0FjdGlvbkxpbmsnXG5pbXBvcnQgQWN0aW9uUmFkaW8gZnJvbSAnLi9BY3Rpb25SYWRpbydcbmltcG9ydCBBY3Rpb25Sb3V0ZXIgZnJvbSAnLi9BY3Rpb25Sb3V0ZXInXG5pbXBvcnQgQWN0aW9ucyBmcm9tICcuL0FjdGlvbnMnXG5pbXBvcnQgQWN0aW9uU2VwYXJhdG9yIGZyb20gJy4vQWN0aW9uU2VwYXJhdG9yJ1xuaW1wb3J0IEFjdGlvblRleHQgZnJvbSAnLi9BY3Rpb25UZXh0J1xuaW1wb3J0IEFjdGlvblRleHRFZGl0YWJsZSBmcm9tICcuL0FjdGlvblRleHRFZGl0YWJsZSdcbmltcG9ydCBBcHBDb250ZW50IGZyb20gJy4vQXBwQ29udGVudCdcbmltcG9ydCBBcHBDb250ZW50RGV0YWlscyBmcm9tICcuL0FwcENvbnRlbnREZXRhaWxzJ1xuaW1wb3J0IEFwcENvbnRlbnRMaXN0IGZyb20gJy4vQXBwQ29udGVudExpc3QnXG5pbXBvcnQgQXBwTmF2aWdhdGlvbiBmcm9tICcuL0FwcE5hdmlnYXRpb24nXG5pbXBvcnQgQXBwTmF2aWdhdGlvbkNhcHRpb24gZnJvbSAnLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbidcbmltcG9ydCBBcHBOYXZpZ2F0aW9uQ291bnRlciBmcm9tICcuL0FwcE5hdmlnYXRpb25Db3VudGVyJ1xuaW1wb3J0IEFwcE5hdmlnYXRpb25JY29uQnVsbGV0IGZyb20gJy4vQXBwTmF2aWdhdGlvbkljb25CdWxsZXQnXG5pbXBvcnQgQXBwTmF2aWdhdGlvbkl0ZW0gZnJvbSAnLi9BcHBOYXZpZ2F0aW9uSXRlbSdcbmltcG9ydCBBcHBOYXZpZ2F0aW9uTmV3IGZyb20gJy4vQXBwTmF2aWdhdGlvbk5ldydcbmltcG9ydCBBcHBOYXZpZ2F0aW9uTmV3SXRlbSBmcm9tICcuL0FwcE5hdmlnYXRpb25OZXdJdGVtJ1xuaW1wb3J0IEFwcE5hdmlnYXRpb25TZXR0aW5ncyBmcm9tICcuL0FwcE5hdmlnYXRpb25TZXR0aW5ncydcbmltcG9ydCBBcHBOYXZpZ2F0aW9uU3BhY2VyIGZyb20gJy4vQXBwTmF2aWdhdGlvblNwYWNlcidcbmltcG9ydCBBcHBTZXR0aW5nc0RpYWxvZyBmcm9tICcuL0FwcFNldHRpbmdzRGlhbG9nJ1xuaW1wb3J0IEFwcFNldHRpbmdzU2VjdGlvbiBmcm9tICcuL0FwcFNldHRpbmdzU2VjdGlvbidcbmltcG9ydCBBcHBTaWRlYmFyIGZyb20gJy4vQXBwU2lkZWJhcidcbmltcG9ydCBBcHBTaWRlYmFyVGFiIGZyb20gJy4vQXBwU2lkZWJhclRhYidcbmltcG9ydCBBdmF0YXIgZnJvbSAnLi9BdmF0YXInXG5pbXBvcnQgQnJlYWRjcnVtYiBmcm9tICcuL0JyZWFkY3J1bWInXG5pbXBvcnQgQnJlYWRjcnVtYnMgZnJvbSAnLi9CcmVhZGNydW1icydcbmltcG9ydCBDb2xvclBpY2tlciBmcm9tICcuL0NvbG9yUGlja2VyJ1xuaW1wb3J0IENvbnRlbnQgZnJvbSAnLi9Db250ZW50J1xuaW1wb3J0IERhdGV0aW1lUGlja2VyIGZyb20gJy4vRGF0ZXRpbWVQaWNrZXInXG5pbXBvcnQgRW1wdHlDb250ZW50IGZyb20gJy4vRW1wdHlDb250ZW50J1xuaW1wb3J0IExpc3RJdGVtSWNvbiBmcm9tICcuL0xpc3RJdGVtSWNvbidcbmltcG9ydCBNb2RhbCBmcm9tICcuL01vZGFsJ1xuaW1wb3J0IE11bHRpc2VsZWN0IGZyb20gJy4vTXVsdGlzZWxlY3QnXG5pbXBvcnQgTXVsdGlzZWxlY3RUYWdzIGZyb20gJy4vTXVsdGlzZWxlY3RUYWdzJ1xuaW1wb3J0IFBvcG92ZXIgZnJvbSAnLi9Qb3BvdmVyJ1xuaW1wb3J0IFBvcG92ZXJNZW51IGZyb20gJy4vUG9wb3Zlck1lbnUnXG5pbXBvcnQgUmljaENvbnRlbnRlZGl0YWJsZSBmcm9tICcuL1JpY2hDb250ZW50ZWRpdGFibGUnXG5pbXBvcnQgU2V0dGluZ3NTZWN0aW9uIGZyb20gJy4vU2V0dGluZ3NTZWN0aW9uJ1xuaW1wb3J0IFVzZXJCdWJibGUgZnJvbSAnLi9Vc2VyQnViYmxlJ1xuXG5leHBvcnQge1xuXHRBY3Rpb25CdXR0b24sXG5cdEFjdGlvbkNoZWNrYm94LFxuXHRBY3Rpb25JbnB1dCxcblx0QWN0aW9uTGluayxcblx0QWN0aW9uUmFkaW8sXG5cdEFjdGlvblJvdXRlcixcblx0QWN0aW9ucyxcblx0QWN0aW9uU2VwYXJhdG9yLFxuXHRBY3Rpb25UZXh0LFxuXHRBY3Rpb25UZXh0RWRpdGFibGUsXG5cdEFwcENvbnRlbnQsXG5cdEFwcENvbnRlbnREZXRhaWxzLFxuXHRBcHBDb250ZW50TGlzdCxcblx0QXBwTmF2aWdhdGlvbixcblx0QXBwTmF2aWdhdGlvbkNhcHRpb24sXG5cdEFwcE5hdmlnYXRpb25Db3VudGVyLFxuXHRBcHBOYXZpZ2F0aW9uSWNvbkJ1bGxldCxcblx0QXBwTmF2aWdhdGlvbkl0ZW0sXG5cdEFwcE5hdmlnYXRpb25OZXcsXG5cdEFwcE5hdmlnYXRpb25OZXdJdGVtLFxuXHRBcHBOYXZpZ2F0aW9uU2V0dGluZ3MsXG5cdEFwcE5hdmlnYXRpb25TcGFjZXIsXG5cdEFwcFNldHRpbmdzRGlhbG9nLFxuXHRBcHBTZXR0aW5nc1NlY3Rpb24sXG5cdEFwcFNpZGViYXIsXG5cdEFwcFNpZGViYXJUYWIsXG5cdEF2YXRhcixcblx0QnJlYWRjcnVtYixcblx0QnJlYWRjcnVtYnMsXG5cdENvbG9yUGlja2VyLFxuXHRDb250ZW50LFxuXHREYXRldGltZVBpY2tlcixcblx0RW1wdHlDb250ZW50LFxuXHRMaXN0SXRlbUljb24sXG5cdE1vZGFsLFxuXHRNdWx0aXNlbGVjdCxcblx0TXVsdGlzZWxlY3RUYWdzLFxuXHRQb3BvdmVyLFxuXHRQb3BvdmVyTWVudSxcblx0UmljaENvbnRlbnRlZGl0YWJsZSxcblx0U2V0dGluZ3NTZWN0aW9uLFxuXHRVc2VyQnViYmxlLFxufVxuIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBHZW9yZyBFaHJrZVxuICpcbiAqIEBhdXRob3IgR2VvcmcgRWhya2UgPG9jLmxpc3RAZ2VvcmdlaHJrZS5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuXG5leHBvcnQgY29uc3QgZGlyZWN0aXZlID0ge1xuXHRpbnNlcnRlZChlbCkge1xuXHRcdGVsLmZvY3VzKClcblx0fSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZGlyZWN0aXZlXG4iLCIvKipcbiAqIEBhdXRob3IgUmFpbXVuZCBTY2hsw7zDn2xlclxuICogQGNvcHlyaWdodCAyMDIwIFJhaW11bmQgU2NobMO8w59sZXIgPHJhaW11bmQuc2NobHVlc3NsZXJAbWFpbGJveC5vcmc+XG4gKlxuICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFGRkVSTyBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFXG4gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXJcbiAqIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFGRkVSTyBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpY1xuICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBsaW5raWZ5U3RyIGZyb20gJ2xpbmtpZnlqcy9zdHJpbmcnXG5cbi8vIFVzZSBmdW5jdGlvbiBzaG9ydGhhbmQgZm9yIHNhbWUgYmVoYXZpb3Igb24gYmluZCBhbmQgdXBkYXRlXG4vLyBodHRwczovL3Z1ZWpzLm9yZy92Mi9ndWlkZS9jdXN0b20tZGlyZWN0aXZlLmh0bWwjRnVuY3Rpb24tU2hvcnRoYW5kXG5leHBvcnQgY29uc3QgZGlyZWN0aXZlID0gZnVuY3Rpb24oZWwsIGJpbmRpbmcpIHtcblx0aWYgKGJpbmRpbmcudmFsdWU/LmxpbmtpZnkgPT09IHRydWUpIHtcblx0XHRlbC5pbm5lckhUTUwgPSBsaW5raWZ5U3RyKGJpbmRpbmcudmFsdWUudGV4dCwge1xuXHRcdFx0ZGVmYXVsdFByb3RvY29sOiAnaHR0cHMnLFxuXHRcdH0pXG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZGlyZWN0aXZlXG4iLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEp1bGl1cyBIw6RydGwgPGp1c0BiaXRncmlkLm5ldD5cbiAqXG4gKiBAYXV0aG9yIEp1bGl1cyBIw6RydGwgPGp1c0BiaXRncmlkLm5ldD5cbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuaW1wb3J0IHsgVlRvb2x0aXAgfSBmcm9tICd2LXRvb2x0aXAnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuLy8gZm9yY2Ugc2NvcGUgdGhlIHRvb2x0aXAgYW5kIHVzZSAudnVlLXRvb2x0aXBcbi8vIGluc3RlYWQgb2YgLnRvb2x0aXAgdG8gYXZvaWQgc2VydmVyIGNvbXBhdGliaWxpdHlcbi8vIGlzc3VlcyBhbmQgdGhlIHVzZSBvZiAhaW1wb3J0YW50XG5WVG9vbHRpcC5vcHRpb25zLmRlZmF1bHRUZW1wbGF0ZSA9IGA8ZGl2IGNsYXNzPVwidnVlLXRvb2x0aXBcIiByb2xlPVwidG9vbHRpcFwiIGRhdGEtdi0ke1NDT1BFX1ZFUlNJT059PjxkaXYgY2xhc3M9XCJ0b29sdGlwLWFycm93XCI+PC9kaXY+PGRpdiBjbGFzcz1cInRvb2x0aXAtaW5uZXJcIj48L2Rpdj48L2Rpdj5gXG5WVG9vbHRpcC5vcHRpb25zLmRlZmF1bHRIdG1sID0gZmFsc2VcblxuZXhwb3J0IGRlZmF1bHQgVlRvb2x0aXBcbiIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuL2luZGV4LnNjc3NcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuaW1wb3J0IEZvY3VzIGZyb20gJy4vRm9jdXMnXG5pbXBvcnQgTGlua2lmeSBmcm9tICcuL0xpbmtpZnknXG5pbXBvcnQgVG9vbHRpcCBmcm9tICcuL1Rvb2x0aXAnXG5cbmV4cG9ydCB7XG5cdEZvY3VzLFxuXHRMaW5raWZ5LFxuXHRUb29sdGlwLFxufVxuIiwiZXhwb3J0IGRlZmF1bHQgXCJkYXRhOmFwcGxpY2F0aW9uL3ZuZC5tcy1mb250b2JqZWN0O2Jhc2U2NCxyZzhBQU9RT0FBQUJBQUlBQUFBQUFBSUFCUU1BQUFBQUFBQUJRSkFCQUFBQUFFeFFBQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQU8venNQd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ2dBQUdrQVl3QnZBRzRBWmdCdkFHNEFkQUF0QUhZQWRRQmxBQzBBT0FBMEFHTUFOQUEyQURFQVpnQUFBQUFBQUJZQUFGWUFaUUJ5QUhNQWFRQnZBRzRBSUFBeEFDNEFNQUFBS0FBQWFRQmpBRzhBYmdCbUFHOEFiZ0IwQUMwQWRnQjFBR1VBTFFBNEFEUUFZd0EwQURZQU1RQm1BQUFBQUFBQkFBQUFDZ0NBQUFNQUlFOVRMekowNDQvUkFBQUFyQUFBQUdCamJXRndBQTNydUFBQUFRd0FBQUZDWjJ4NVpzZEhPVXdBQUFKUUFBQUgvR2hsWVdRcjZ4ZjNBQUFLVEFBQUFEWm9hR1ZoSnYwVGhRQUFDb1FBQUFBa2FHMTBlR2UrLy84QUFBcW9BQUFBTkd4dlkyRU52QTltQUFBSzNBQUFBQ2h0WVhod0FTQUFWd0FBQ3dRQUFBQWdibUZ0WlczRStWUUFBQXNrQUFBQ3BuQnZjM1EvVkw3WEFBQU56QUFBQVJZQUJCTEtBWkFBQlFBQURHVU5yQUFBQXJ3TVpRMnNBQUFKWUFEMUJRb0FBQUlBQlFNQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUFVR1pGWkFCQTZnSHFFaE9JQUFBQndoT0lBQUFBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBREFBQUFBd0FBQUJ3QUFRQUFBQUFBUEFBREFBRUFBQUFjQUFRQUlBQUFBQVFBQkFBQkFBRHFFdi8vQUFEcUFmLy9GZ0FBQVFBQUFBQUFBQUVHQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdBQUFBQU9wZzlEQUFVQUN3QUFDUUlSQ1FRUkNRRU9wdnFDQlg3N3VnUkcrb0w2Z2dWKys3b0VSZzlDK29MNmdnRTRCRVlFUmdFNCtvTDZnZ0U0QkVZRVJnQUJBQUFBQUExdUVsQUFCUUFBQ1FFUkNRRVJCaHNIVS9kMENJd0p4UGl0L3NnSWl3aU0vc2NBQWdBQUFBQVAzdzlEQUFVQUN3QUFDUUlSQ1FRUkNRRUU0Z1YrK29JRVJ2dTZCWDRGZi9xQkJFYjd1Z1JHQlg0RmZ2N0krN3I3dXY3SUJYNEZmdjdJKzdyN3VnQUJBQUFBQUE2bUVsQUFCUUFBQ1FFUkNRRVJEVzc0clFpTDkzVUp4QWRUQVRuM2RQZDFBVGdBQVFBQUFBQUdOeE9JQUFVQUFCTUhDUUVYQVpTVUJYTDZqcFFGb3hPSVZmYVI5cEZWQ2NRQUFBRUFBQUFBRVljUGd3QUZBQUFKQlEvTjkvUDcrLzVHQmI4Snh3K0Q5L01FQmY1SCtrRUp4Z0FCQUFBQUFCRVhFUmNBQ3dBQUNRc1JGLzN0K3NENndQM3RCVUQ2d0FJVEJVQUZRQUlUK3NBRWhQM3RCVUQ2d0FJVEJVQUZRQUlUK3NBRlFQM3Qrc0FBQWYvL0FBQVRreExzQURNQUFBRWlCdzRCRnhZWEFTRW1Cd1lIQmdjR0ZCY1dGeFlYRmpjaEFRWUhCaGNXRng0QkZ4WVhGamMyTndFMk56WW5KaWNCTGdFS1lHVlBTa1lRRWtnRjEvSGdUVDQ2S1NjVUZCUVVKeWs2UGswT0lQb3BOeG9ZQXdNYkdWWTFOenMrT2o4MUIrMDdGUlVVRlR6NEV5eDBFdXc1Tkt4WllFZjZLZ0ViR0M0c09UaDRPRGtzTGhnYkF2b3BOVDg3UGpvM05sWVpHZ01ER0JrNEIrdzhVVkJQVWp3SDdDMHlBQUFBQWdBQUFBQU9waEpRQUJnQVJnQUFBU0lIRGdFSEJoUVhIZ0VYRmpJM1BnRTNOalFuTGdFbkpnRWlCd1lIQmhRWEZoY1dNeUVSSVNJSEJnY0dGQmNXRnhZM0lUSTNOamMyTkNjbUp5WWpJUkUwSnlZbkppTUpkbTltWXBncEt5c3BtR0ptM21aaWx5b3JLeXFYWW1iOE5sWklSeWtyS3lsSFNGWUNjZjJQVmtoSEtTc3JLVWRJVmdkVFZVaEhLU3NyS1VkSVZmMlBLeWxIU1ZVU1VDc3FsMk5sMzJWaW1Da3JLeW1ZWW1YZlpXT1hLaXY1NVNzcFIwaXJTRWNwSy9ubUt5bEhTYXBKUnlrckFTb3BSMG1xU1VjcEt3ZFRWVWhIS1NzQUFBTUFBQUFBRVJjUkZ3QURBQWNBQ3dBQUFSRWhFUUVSSVJFQkVTRVJBbkVPcHZGYURxYnhXZzZtRVJmOWp3SngrZWI5andKeCtlWDlqd0p4QUFNQUFBQUFFcDRMNXdBWUFERUFTZ0FBQVRJWEhnRVhGaFFIRGdFSEJpSW5MZ0VuSmpRM1BnRTNOaUV5Rng0QkZ4WVVCdzRCQndZaUp5NEJKeVkwTno0Qk56WWhNaGNlQVJjV0ZBY09BUWNHSWljdUFTY21ORGMrQVRjMkF3MXdaV0tZS1NzcktaaGlaZDltWXBjcUt5c3FsMkptQnladlptS1hLaXNyS3BkaVp0NW1ZcGNxS3lzcWwySm1CeVp2Wm1LWEtpc3JLcGRpWnQ5bFlwZ3BLeXNwbUdKbEMrY3JLcGRpWnQ1bVlwY3FLeXNxbDJKbTNtWmlseW9yS3lxWFltYmVabUtYS2lzcktwZGladDVtWXBjcUt5c3FsMkptM21aaWx5b3JLeXFYWW1iZVptS1hLaXNBQUFBQUFnQUFBQUFQM3cvZkFBTUFCd0FBQVJFaEVTRVJJUkVEcWdUaUFuRUU0Zy9mODhzTU5mUExERFVBQUFBQkFBQUFBQkVYRVJjQUFnQUFDUUlDY1E2bThWb1JGL2l0K0swQUFRQUFBQUFPcGd3MUFBSUFBQWtDQk9JRTRnVGlERFg3SGdUZ0FBSC80QUFBRTJrVGFRQXhBQUFCQkFVRUJRUURBZ01DRVJBVEVoTVNCUVFGQkNFZ0pTUWxKQk1TRXhJVEJnQUZCQ0VnSlNRbkppY21Bd0lSRUJNU0FBaHMvcGorc2Y2Ni91Mys3c2JLYTI2QWUrbmxBVGtCUEFGeUFYNEJsZ0Z4QVdFQlZnRXVBU3JyN0ptY09MeitLZjc1L3ZQKzZ2NisvczcrMmYzN3VMdGpaMUJPQVNjVGFTNlhrK25uL3RmKzAvNnIvcC8rai81cS9vTCtqdjdFL3NmbDZIeUFhMmpGd2dFTkFRNEJRd0ZMQVduTS90cE9VR2RqdTdqNy9RRW5BVElCUWdFbEFSTUJEUUhMQUFJQUFBQUFFNGdUaUFBa0FFQUFBQUVnQlFRRkJBTUNBd0lRRXhJVEVnVUVCUVFnSlNRbEpCTVNFeElRQXdJREFpVWtKU1FCSVRJWEhnRVhGaFFIRGdFSEJpTWhJaWN1QVNjbU5EYytBVGMyQ2NUK2F2NkMvbzcreFA3SDVlaDhnSUI4Nk9VQk9RRThBWElCZmdNc0FYNEJjZ0U4QVRubDZIeUFnSHpvNWY3SC9zVCtqdjZDK3NFSFUxdFhWSVFrSmlZa2hGUlhXL2l0WEZkVWhDUW1KaVNFVkZjVGlJQjg2T1greC83RS9vNytndnpVL29MK2p2N0Uvc2ZsNkh5QWdIem81UUU1QVR3QmNnRitBeXdCZmdGeUFUd0JPZVhvZklENEVTWWxoRk5YdUZkVGhDVW1KaVdFVTFlNFYxT0VKU1lBQUFBQ0FBQUFBQk9JRTRnQUpBQTlBQUFCSUFVRUJRUURBZ01DRUJNU0V4SUZCQVVFSUNVa0pTUVRFaE1TRUFNQ0F3SWxKQ1VrQVNBRkJBQVRFaEFEQWdBRkJDQWxKQUFEQWhBVEVnQWxKQW5FL21yK2d2Nk8vc1QreCtYb2ZJQ0FmT2psQVRrQlBBRnlBWDRETEFGK0FYSUJQQUU1NWVoOGdJQjg2T1greC83RS9vNytndjVxQVRjQkZ3RVBBWnR3ZEhSdy9tWCs4ZjdwL1pMKzZmN3gvbVZ3ZEhSd0Fac0JEd0VYRTRpQWZPamwvc2YreFA2Ty9vTDgxUDZDL283K3hQN0g1ZWg4Z0lCODZPVUJPUUU4QVhJQmZnTXNBWDRCY2dFOEFUbmw2SHlBL0JoMGNQNWwvdkgrNmYyUy91bis4ZjVsY0hSMGNBR2JBUThCRndKdUFSY0JEd0diY0hRQUFBQUNBQUFBQUJPSUU0Z0FBd0FvQUFBQklSRWhBU0FGQkFVRUF3SURBaEFURWhNU0JRUUZCQ0FsSkNVa0V4SVRFaEFEQWdNQ0pTUWxKQVhjQjlENE1BUG8vbXIrZ3Y2Ty9zVCt4K1hvZklDQWZPamxBVGtCUEFGeUFYNERMQUYrQVhJQlBBRTU1ZWg4Z0lCODZPWCt4LzdFL283K2dnWGNCOUFGM0lCODZPWCt4LzdFL283K2d2elUvb0wranY3RS9zZmw2SHlBZ0h6bzVRRTVBVHdCY2dGK0F5d0JmZ0Z5QVR3Qk9lWG9mSUFBQUFFQUFBQUJBQUEvN1B3N1h3ODg5UUFMRTRnQUFBQUEzTlZIOVFBQUFBRGNoR3YxLytBQUFCT1RFNGdBQUFBSUFBSUFBQUFBQUFBQUFRQUFFNGdBQUFBQUU0ai80UC8xRTVNQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFjQUFBQUFFNGdBQUJPSUFBQVRpQUFBRTRnQUFBWTJBQUFUaUFBQUFBRC8vd0FBQUFBQUFBQUFBQUFBQVAvZ0FBQUFBQUFBQUFBQUFBQWlBRFlBV0FCc0FJQUFsQUMwQVE0QmZBR2FBaEFDSmdJMEFrSUNxQU1pQTZZRC9nQUJBQUFBRXdCTEFBTUFBQUFBQUFJQUFBQUtBQW9BQUFEL0FBQUFBQUFBQUFBQUVBREdBQUVBQUFBQUFBRUFGQUFBQUFFQUFBQUFBQUlBQndBVUFBRUFBQUFBQUFNQUZBQWJBQUVBQUFBQUFBUUFGQUF2QUFFQUFBQUFBQVVBQ3dCREFBRUFBQUFBQUFZQUZBQk9BQUVBQUFBQUFBb0FLd0JpQUFFQUFBQUFBQXNBRXdDTkFBTUFBUVFKQUFFQUtBQ2dBQU1BQVFRSkFBSUFEZ0RJQUFNQUFRUUpBQU1BS0FEV0FBTUFBUVFKQUFRQUtBRCtBQU1BQVFRSkFBVUFGZ0VtQUFNQUFRUUpBQVlBS0FFOEFBTUFBUVFKQUFvQVZnRmtBQU1BQVFRSkFBc0FKZ0c2YVdOdmJtWnZiblF0ZG5WbExUZzBZelEyTVdaU1pXZDFiR0Z5YVdOdmJtWnZiblF0ZG5WbExUZzBZelEyTVdacFkyOXVabTl1ZEMxMmRXVXRPRFJqTkRZeFpsWmxjbk5wYjI0Z01TNHdhV052Ym1admJuUXRkblZsTFRnMFl6UTJNV1pIWlc1bGNtRjBaV1FnWW5rZ2MzWm5NblIwWmlCbWNtOXRJRVp2Ym5SbGJHeHZJSEJ5YjJwbFkzUXVhSFIwY0RvdkwyWnZiblJsYkd4dkxtTnZiUUJwQUdNQWJ3QnVBR1lBYndCdUFIUUFMUUIyQUhVQVpRQXRBRGdBTkFCakFEUUFOZ0F4QUdZQVVnQmxBR2NBZFFCc0FHRUFjZ0JwQUdNQWJ3QnVBR1lBYndCdUFIUUFMUUIyQUhVQVpRQXRBRGdBTkFCakFEUUFOZ0F4QUdZQWFRQmpBRzhBYmdCbUFHOEFiZ0IwQUMwQWRnQjFBR1VBTFFBNEFEUUFZd0EwQURZQU1RQm1BRllBWlFCeUFITUFhUUJ2QUc0QUlBQXhBQzRBTUFCcEFHTUFid0J1QUdZQWJ3QnVBSFFBTFFCMkFIVUFaUUF0QURnQU5BQmpBRFFBTmdBeEFHWUFSd0JsQUc0QVpRQnlBR0VBZEFCbEFHUUFJQUJpQUhrQUlBQnpBSFlBWndBeUFIUUFkQUJtQUNBQVpnQnlBRzhBYlFBZ0FFWUFid0J1QUhRQVpRQnNBR3dBYndBZ0FIQUFjZ0J2QUdvQVpRQmpBSFFBTGdCb0FIUUFkQUJ3QURvQUx3QXZBR1lBYndCdUFIUUFaUUJzQUd3QWJ3QXVBR01BYndCdEFBQUFBZ0FBQUFBQUFBQXlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRXdBVEFBQUJBZ0VEQVFRQkJRRUdBUWNCQ0FFSkFRb0JDd0VNQVEwQkRnRVBBUkFCRVFFU0FSTVJZWEp5YjNjdGJHVm1kQzFrYjNWaWJHVUtZWEp5YjNjdGJHVm1kQkpoY25KdmR5MXlhV2RvZEMxa2IzVmliR1VMWVhKeWIzY3RjbWxuYUhRS1luSmxZV1JqY25WdFlnbGphR1ZqYTIxaGNtc0ZZMnh2YzJVSFkyOXVabWx5YlFScGJtWnZCRzFsYm5VRWJXOXlaUVZ3WVhWelpRUndiR0Y1Q25SeWFXRnVaMnhsTFhNUWRYTmxjaTF6ZEdGMGRYTXRZWGRoZVE5MWMyVnlMWE4wWVhSMWN5MWtibVFWZFhObGNpMXpkR0YwZFhNdGFXNTJhWE5wWW14bEVuVnpaWEl0YzNSaGRIVnpMVzl1YkdsdVpRQUFcIiIsImV4cG9ydCBkZWZhdWx0IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJ6ZEdGdVpHRnNiMjVsUFNKdWJ5SS9QandoUkU5RFZGbFFSU0J6ZG1jZ1VGVkNURWxESUNJdEx5OVhNME12TDBSVVJDQlRWa2NnTVM0eEx5OUZUaUlnSW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTDBkeVlYQm9hV056TDFOV1J5OHhMakV2UkZSRUwzTjJaekV4TG1SMFpDSWdQanh6ZG1jZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0OGJXVjBZV1JoZEdFK1BDOXRaWFJoWkdGMFlUNDhaR1ZtY3o0OFptOXVkQ0JwWkQwaWFXTnZibVp2Ym5RdGRuVmxMVGcwWXpRMk1XWWlJR2h2Y21sNkxXRmtkaTE0UFNJMU1EQXdJajQ4Wm05dWRDMW1ZV05sSUdadmJuUXRabUZ0YVd4NVBTSnBZMjl1Wm05dWRDMTJkV1V0T0RSak5EWXhaaUlnWm05dWRDMTNaV2xuYUhROUlqUXdNQ0lnWm05dWRDMXpkSEpsZEdOb1BTSnViM0p0WVd3aUlIVnVhWFJ6TFhCbGNpMWxiVDBpTlRBd01DSWdjR0Z1YjNObExURTlJaklnTUNBMUlETWdNQ0F3SURBZ01DQXdJREFpSUdGelkyVnVkRDBpTlRBd01DSWdaR1Z6WTJWdWREMGlNQ0lnZUMxb1pXbG5hSFE5SWpBaUlHSmliM2c5SWkwek1pQXdJRFV3TVRFZ05UQXdNQ0lnZFc1a1pYSnNhVzVsTFhSb2FXTnJibVZ6Y3owaU1DSWdkVzVrWlhKc2FXNWxMWEJ2YzJsMGFXOXVQU0kxTUNJZ2RXNXBZMjlrWlMxeVlXNW5aVDBpVlN0bFlUQXhMV1ZoTVRJaUlDOCtQRzFwYzNOcGJtY3RaMng1Y0dnZ2FHOXlhWG90WVdSMkxYZzlJakFpSUNBdlBqeG5iSGx3YUNCbmJIbHdhQzF1WVcxbFBTSmhjbkp2ZHkxc1pXWjBMV1J2ZFdKc1pTSWdkVzVwWTI5a1pUMGlKaU40WldFd01Uc2lJR1E5SWswek56VXdJRE01TURZZ2JDMHhOREEySUMweE5EQTJJR3d4TkRBMklDMHhOREEySUd3d0lETXhNaUJzTFRFd09UUWdNVEE1TkNCc01UQTVOQ0F4TURrMElHd3dJRE14TWlCYVRUSXpORFFnTXprd05pQnNMVEUwTURZZ0xURTBNRFlnYkRFME1EWWdMVEUwTURZZ2JEQWdNekV5SUd3dE1UQTVOQ0F4TURrMElHd3hNRGswSURFd09UUWdiREFnTXpFeUlGb2lJQzgrUEdkc2VYQm9JR2RzZVhCb0xXNWhiV1U5SW1GeWNtOTNMV3hsWm5RaUlIVnVhV052WkdVOUlpWWplR1ZoTURJN0lpQmtQU0pOTVRVMk15QXlOVEF3SUd3eE9EYzFJQzB4T0RjMUlHd3dJQzB6TVRJZ2JDMHlNVGc0SURJeE9EY2diREl4T0RnZ01qRTRPQ0JzTUNBdE16RXpJR3d0TVRnM05TQXRNVGczTlNCYUlpQXZQanhuYkhsd2FDQm5iSGx3YUMxdVlXMWxQU0poY25KdmR5MXlhV2RvZEMxa2IzVmliR1VpSUhWdWFXTnZaR1U5SWlZamVHVmhNRE03SWlCa1BTSk5NVEkxTUNBeE1EazBJR3d4TkRBMklERTBNRFlnYkMweE5EQTJJREUwTURZZ2JEQWdMVE14TWlCc01UQTVOQ0F0TVRBNU5DQnNMVEV3T1RRZ0xURXdPVFFnYkRBZ0xUTXhNaUJhVFRJMk5UWWdNVEE1TkNCc01UUXdOeUF4TkRBMklHd3RNVFF3TnlBeE5EQTJJR3d3SUMwek1USWdiREV3T1RRZ0xURXdPVFFnYkMweE1EazBJQzB4TURrMElHd3dJQzB6TVRJZ1dpSWdMejQ4WjJ4NWNHZ2daMng1Y0dndGJtRnRaVDBpWVhKeWIzY3RjbWxuYUhRaUlIVnVhV052WkdVOUlpWWplR1ZoTURRN0lpQmtQU0pOTXpRek9DQXlOVEF3SUd3dE1UZzNOU0F4T0RjMUlHd3dJRE14TXlCc01qRTROeUF0TWpFNE9DQnNMVEl4T0RjZ0xUSXhPRGNnYkRBZ016RXlJR3d4T0RjMUlERTROelVnV2lJZ0x6NDhaMng1Y0dnZ1oyeDVjR2d0Ym1GdFpUMGlZbkpsWVdSamNuVnRZaUlnZFc1cFkyOWtaVDBpSmlONFpXRXdOVHNpSUdROUlrMHhORGdnTlRBd01DQnNMVEUwT0NBdE9EVWdiREV6T1RRZ0xUSTBNVFVnYkMweE16azBJQzB5TkRFMUlHd3hORGdnTFRnMUlHd3hORFF6SURJMU1EQWdiQzB4TkRReklESTFNREFnV2lJZ0x6NDhaMng1Y0dnZ1oyeDVjR2d0Ym1GdFpUMGlZMmhsWTJ0dFlYSnJJaUIxYm1samIyUmxQU0ltSTNobFlUQTJPeUlnWkQwaVRUUXdORFVnTXprM01TQnNMVEl3TmpFZ0xUSXdOakVnYkMweE1ESTVJREV3TWprZ2JDMDBORElnTFRRME1TQnNNVFEzTVNBdE1UUTNNU0JzTWpVd015QXlOVEF5SUd3dE5EUXlJRFEwTWlCYUlpQXZQanhuYkhsd2FDQm5iSGx3YUMxdVlXMWxQU0pqYkc5elpTSWdkVzVwWTI5a1pUMGlKaU40WldFd056c2lJR1E5SWswME16YzFJREV4TlRZZ2JDMDFNekVnTFRVek1TQnNMVEV6TkRRZ01UTTBOQ0JzTFRFek5EUWdMVEV6TkRRZ2JDMDFNekVnTlRNeElHd3hNelEwSURFek5EUWdiQzB4TXpRMElERXpORFFnYkRVek1TQTFNekVnYkRFek5EUWdMVEV6TkRRZ2JERXpORFFnTVRNME5DQnNOVE14SUMwMU16RWdiQzB4TXpRMElDMHhNelEwSUd3eE16UTBJQzB4TXpRMElGb2lJQzgrUEdkc2VYQm9JR2RzZVhCb0xXNWhiV1U5SW1OdmJtWnBjbTBpSUhWdWFXTnZaR1U5SWlZamVHVmhNRGc3SWlCa1BTSk5NalkxTmlBME9EUTBJSEV0TVRBeElEQWdMVEU0TUNBdE5UY2djUzAzTkNBdE5USWdMVEV3T1NBdE1UTTRJSEV0TXpVZ0xUZzJJQzB4T1NBdE1UYzFJSEV4T0NBdE9UWWdPVEFnTFRFMk55QnNNVFE1TlNBdE1UUTVOQ0JzTFRNMk1UWWdNQ0J4TFRjM0lERWdMVEV6T1NBdE1qWWdjUzAxT0NBdE1qUWdMVGs1SUMwM01DQnhMVE01SUMwME5DQXROVGtnTFRFd01TQnhMVEl3SUMwMU5pQXRNakFnTFRFeE5pQnhNQ0F0TmpBZ01qQWdMVEV4TmlCeE1qQWdMVFUzSURVNUlDMHhNREVnY1RReElDMDBOaUE1T1NBdE56QWdjVFl5SUMweU55QXhNemtnTFRJMUlHd3pOakUySURBZ2JDMHhORGsxSUMweE5EazFJSEV0TlRVZ0xUVXpJQzA0TVNBdE1URTJJSEV0TWpRZ0xUVTVJQzB5TVNBdE1USXhJSEV6SUMwMU9DQXpNQ0F0TVRFeklIRXlOU0F0TlRRZ05qZ2dMVGszSUhFME15QXRORE1nT1RZZ0xUWTRJSEUxTlNBdE1qWWdNVEUwSUMweU9TQnhOaklnTFRNZ01USXdJREl4SUhFMk15QXlOU0F4TVRZZ09ERWdiREl3TWprZ01qQXlPQ0J4TlRrZ05qQWdPREFnTVRReElIRXlNU0E0TUNBeElERTFPU0J4TFRJeElEZ3lJQzA0TVNBeE5ESWdiQzB5TURJNUlESXdNamdnY1MwME5DQTBOU0F0TVRBeUlEY3dJSEV0TlRnZ01qVWdMVEV5TWlBeU5TQmFJaUF2UGp4bmJIbHdhQ0JuYkhsd2FDMXVZVzFsUFNKcGJtWnZJaUIxYm1samIyUmxQU0ltSTNobFlUQTVPeUlnWkQwaVRUSTBNaklnTkRZNE9DQnhMVEV4TVNBd0lDMHlNVE1nTFRReklIRXRPVGdnTFRReUlDMHhOelFnTFRFeE55NDFJSEV0TnpZZ0xUYzFMalVnTFRFeE55QXRNVGMwTGpVZ2NTMDBNeUF0TVRBeElDMDBNeUF0TWpFeUxqVWdjVEFnTFRFeE1TNDFJRFF6SUMweU1USXVOU0J4TkRFZ0xUazRJREV4TnlBdE1UYzBJSEUzTmlBdE56WWdNVGMwSUMweE1UY2djVEV3TWlBdE5ETWdNakV6SUMwME15QnhNVEV4SURBZ01qRXpJRFF6SUhFNU9DQTBNU0F4TnpNdU5TQXhNVGNnY1RjMUxqVWdOellnTVRFM0xqVWdNVGMwSUhFME15QXhNREVnTkRNZ01qRXlMalVnY1RBZ01URXhMalVnTFRReklESXhNaTQxSUhFdE5ESWdPVGtnTFRFeE55NDFJREUzTkM0MUlIRXROelV1TlNBM05TNDFJQzB4TnpNdU5TQXhNVGN1TlNCeExURXdNaUEwTXlBdE1qRXpJRFF6SUZwTk1UVTJNeUF6TVRJMUlIRXRPRFlnTUNBdE1UVTRJQzAwTXlCeExUY3hJQzAwTVNBdE1URXlJQzB4TVRJZ2NTMDBNeUF0TnpJZ0xUUXpJQzB4TlRjdU5TQnhNQ0F0T0RVdU5TQTBNeUF0TVRVM0xqVWdjVFF4SUMwM01TQXhNVElnTFRFeE1pQnhOeklnTFRReklERTFPQ0F0TkRNZ2JEWXlOU0F3SUd3d0lDMHhOVFl5SUd3dE5qSTFJREFnY1MwNE5pQXdJQzB4TlRnZ0xUUXpJSEV0TnpFZ0xUUXhJQzB4TVRJZ0xURXhNaUJ4TFRReklDMDNNeUF0TkRNZ0xURTFPQ0J4TUNBdE9EVWdORE1nTFRFMU9DQnhOREVnTFRjeElERXhNaUF0TVRFeUlIRTNNaUF0TkRNZ01UVTRJQzAwTWlCc01UZzNOU0F3SUhFNE5TQXdJREUxTnlBME1pQnhOekVnTkRFZ01URXlJREV4TWlCeE5ETWdOek1nTkRNZ01UVTRJSEV3SURnMUlDMDBNeUF4TlRnZ2NTMDBNU0EzTVNBdE1URXlJREV4TWlCeExUY3lJRFF6SUMweE5UY2dORE1nYkMwMk1qVWdNQ0JzTUNBeE9EYzFJSEV3SURnMUlDMDBNeUF4TlRjZ2NTMDBNU0EzTVNBdE1URXlJREV4TWlCeExUY3pJRFF6SUMweE5UZ2dORE1nYkMwNU16Y2dNQ0JhSWlBdlBqeG5iSGx3YUNCbmJIbHdhQzF1WVcxbFBTSnRaVzUxSWlCMWJtbGpiMlJsUFNJbUkzaGxZVEJoT3lJZ1pEMGlUVFl5TlNBME16YzFJR3d3SUMwMk1qVWdiRE0zTlRBZ01DQnNNQ0EyTWpVZ2JDMHpOelV3SURBZ1drMDJNalVnTWpneE15QnNNQ0F0TmpJMUlHd3pOelV3SURBZ2JEQWdOakkxSUd3dE16YzFNQ0F3SUZwTk5qSTFJREV5TlRBZ2JEQWdMVFl5TlNCc016YzFNQ0F3SUd3d0lEWXlOU0JzTFRNM05UQWdNQ0JhSWlBdlBqeG5iSGx3YUNCbmJIbHdhQzF1WVcxbFBTSnRiM0psSWlCMWJtbGpiMlJsUFNJbUkzaGxZVEJpT3lJZ1pEMGlUVGM0TVNBek1EUTNJSEV4TVRJZ01DQXlNVE1nTFRReklIRTVPQ0F0TkRJZ01UYzBJQzB4TVRjdU5TQnhOellnTFRjMUxqVWdNVEUzSUMweE56TXVOU0J4TkRNZ0xURXdNaUEwTXlBdE1qRXpJSEV3SUMweE1URWdMVFF6SUMweU1UTWdjUzAwTVNBdE9UZ2dMVEV4TnlBdE1UY3pMalVnY1MwM05pQXROelV1TlNBdE1UYzBJQzB4TVRjdU5TQnhMVEV3TVNBdE5ETWdMVEl4TWk0MUlDMDBNeUJ4TFRFeE1TNDFJREFnTFRJeE15NDFJRFF6SUhFdE9UZ2dORElnTFRFM015NDFJREV4Tnk0MUlIRXROelV1TlNBM05TNDFJQzB4TVRjdU5TQXhOek11TlNCeExUUXpJREV3TWlBdE5ETWdNakV6SUhFd0lERXhNU0EwTXlBeU1UTWdjVFF5SURrNElERXhOeTQxSURFM015NDFJSEUzTlM0MUlEYzFMalVnTVRjekxqVWdNVEUzTGpVZ2NURXdNaUEwTXlBeU1UTWdORE1nV2sweU5UQXdJRE13TkRjZ2NURXhNU0F3SURJeE15QXRORE1nY1RrNElDMDBNaUF4TnpNdU5TQXRNVEUzTGpVZ2NUYzFMalVnTFRjMUxqVWdNVEUzTGpVZ0xURTNNeTQxSUhFME15QXRNVEF5SURReklDMHlNVE1nY1RBZ0xURXhNU0F0TkRNZ0xUSXhNeUJ4TFRReUlDMDVPQ0F0TVRFM0xqVWdMVEUzTXk0MUlIRXROelV1TlNBdE56VXVOU0F0TVRjekxqVWdMVEV4Tnk0MUlIRXRNVEF5SUMwME15QXRNakV6SUMwME15QnhMVEV4TVNBd0lDMHlNVE1nTkRNZ2NTMDVPQ0EwTWlBdE1UY3pMalVnTVRFM0xqVWdjUzAzTlM0MUlEYzFMalVnTFRFeE55NDFJREUzTXk0MUlIRXRORE1nTVRBeUlDMDBNeUF5TVRNZ2NUQWdNVEV4SURReklESXhNeUJ4TkRJZ09UZ2dNVEUzTGpVZ01UY3pMalVnY1RjMUxqVWdOelV1TlNBeE56TXVOU0F4TVRjdU5TQnhNVEF5SURReklESXhNeUEwTXlCYVRUUXlNVGtnTXpBME55QnhNVEV4SURBZ01qRXpJQzAwTXlCeE9UZ2dMVFF5SURFM015NDFJQzB4TVRjdU5TQnhOelV1TlNBdE56VXVOU0F4TVRjdU5TQXRNVGN6TGpVZ2NUUXpJQzB4TURJZ05ETWdMVEl4TXlCeE1DQXRNVEV4SUMwME15QXRNakV6SUhFdE5ESWdMVGs0SUMweE1UY3VOU0F0TVRjekxqVWdjUzAzTlM0MUlDMDNOUzQxSUMweE56TXVOU0F0TVRFM0xqVWdjUzB4TURJZ0xUUXpJQzB5TVRNdU5TQXRORE1nY1MweE1URXVOU0F3SUMweU1USXVOU0EwTXlCeExUazRJRFF5SUMweE56UWdNVEUzTGpVZ2NTMDNOaUEzTlM0MUlDMHhNVGNnTVRjekxqVWdjUzAwTXlBeE1ESWdMVFF6SURJeE15QnhNQ0F4TVRFZ05ETWdNakV6SUhFME1TQTVPQ0F4TVRjZ01UY3pMalVnY1RjMklEYzFMalVnTVRjMElERXhOeTQxSUhFeE1ERWdORE1nTWpFeklEUXpJRm9pSUM4K1BHZHNlWEJvSUdkc2VYQm9MVzVoYldVOUluQmhkWE5sSWlCMWJtbGpiMlJsUFNJbUkzaGxZVEJqT3lJZ1pEMGlUVGt6T0NBME1EWXpJR3d3SUMwek1USTFJR3d4TWpVd0lEQWdiREFnTXpFeU5TQnNMVEV5TlRBZ01DQmFUVEk0TVRNZ05EQTJNeUJzTUNBdE16RXlOU0JzTVRJMU1DQXdJR3d3SURNeE1qVWdiQzB4TWpVd0lEQWdXaUlnTHo0OFoyeDVjR2dnWjJ4NWNHZ3RibUZ0WlQwaWNHeGhlU0lnZFc1cFkyOWtaVDBpSmlONFpXRXdaRHNpSUdROUlrMDJNalVnTkRNM05TQnNNemMxTUNBdE1UZzNOU0JzTFRNM05UQWdMVEU0TnpVZ2JEQWdNemMxTUNCYUlpQXZQanhuYkhsd2FDQm5iSGx3YUMxdVlXMWxQU0owY21saGJtZHNaUzF6SWlCMWJtbGpiMlJsUFNJbUkzaGxZVEJsT3lJZ1pEMGlUVEV5TlRBZ016RXlOU0JzTVRJMU1DQXRNVEkxTUNCc01USTFNQ0F4TWpRNElHd3RNalV3TUNBeUlGb2lJQzgrUEdkc2VYQm9JR2RzZVhCb0xXNWhiV1U5SW5WelpYSXRjM1JoZEhWekxXRjNZWGtpSUhWdWFXTnZaR1U5SWlZamVHVmhNR1k3SWlCa1BTSk5NakUxTmlBME9UWTVJSEV0TXpZd0lDMDBOaUF0TmprMUlDMHhPVGNnY1Mwek1qWWdMVEUwTnlBdE5qQXhJQzB6T0RBZ2NTMHlOelFnTFRJek1TQXRORGN5SUMwMU1qZ2djUzB5TURJZ0xUTXdNU0F0TXpBNUlDMDJORElnY1MweE1UQWdMVE0xTXlBdE1URXdJQzAzTWpJZ2NUQWdMVFF3TmlBeE1qZ2dMVGM0T0NCeE1USXpJQzB6TnpBZ016VTJJQzAyT0RZZ2NUSXlPU0F0TXpFeklEVTBNaUF0TlRReUlIRXpNVFlnTFRJek1pQTJPRFlnTFRNMU5pQnhNemd5SUMweE1qZ2dOemc0SUMweE1qZ2djVE0yT1NBd0lEY3lNaUF4TURjZ2NUTTBNaUF4TURRZ05qUTBJRE13TVNCeE1qazRJREU1TkNBMU16TWdORFl6SUhFeU16WWdNamN3SURNNE9TQTFPVE1nY1RFMU5pQXpNekVnTWpFeUlEWTVNaUJ4TFRFNE9DQXRNakEwSUMwME1qTXVOU0F0TXpVeElIRXRNak0xTGpVZ0xURTBOeUF0TkRrNExqVWdMVEl5TlNCeExUSTJPU0F0T0RBZ0xUVTBOeUF0T0RBZ2NTMHpNaklnTUNBdE5qSTRJREV3TXlCeExUSTVOU0E1T1NBdE5UUTRJREk0TmlCeExUSTFNU0F4T0RRZ0xUUXpOU0EwTXpVZ2NTMHhPRGNnTWpVeklDMHlPRFlnTlRRNElIRXRNVEF6SURNd05pQXRNVEF6SURZeU9DQnhNQ0F5T1RNZ09EQWdOVFk0SUhFM09DQXlOamtnTWpJMUxqVWdORGs0TGpVZ2NURTBOeTQxSURJeU9TNDFJRE0xTUM0MUlEUXdNaTQxSUZvaUlDOCtQR2RzZVhCb0lHZHNlWEJvTFc1aGJXVTlJblZ6WlhJdGMzUmhkSFZ6TFdSdVpDSWdkVzVwWTI5a1pUMGlKaU40WldFeE1Ec2lJR1E5SWsweU5UQXdJRFV3TURBZ2NTMDBNRFlnTUNBdE56ZzRJQzB4TWpnZ2NTMHpOekFnTFRFeU5DQXROamcySUMwek5UWWdjUzB6TVRNZ0xUSXlPU0F0TlRReUlDMDFORElnY1MweU16SWdMVE14TmlBdE16VTJJQzAyT0RZZ2NTMHhNamdnTFRNNE1pQXRNVEk0SUMwM09EZ2djVEFnTFRRd05pQXhNamdnTFRjNE9DQnhNVEkwSUMwek56QWdNelUySUMwMk9EWWdjVEl5T1NBdE16RXpJRFUwTWlBdE5UUXlJSEV6TVRZZ0xUSXpNaUEyT0RZZ0xUTTFOaUJ4TXpneUlDMHhNamdnTnpnNElDMHhNamdnY1RRd05pQXdJRGM0T0NBeE1qZ2djVE0zTUNBeE1qUWdOamcySURNMU5pQnhNekV6SURJeU9TQTFORElnTlRReUlIRXlNeklnTXpFMklETTFOaUEyT0RZZ2NURXlPQ0F6T0RJZ01USTRJRGM0T0NCeE1DQTBNRFlnTFRFeU9DQTNPRGdnY1MweE1qUWdNemN3SUMwek5UWWdOamcySUhFdE1qSTVJRE14TXlBdE5UUXlJRFUwTWlCeExUTXhOaUF5TXpJZ0xUWTROaUF6TlRZZ2NTMHpPRElnTVRJNElDMDNPRGdnTVRJNElGcE5NVFUyTXlBeU9UWTVJR3d4T0RjMUlEQWdjVGt4SURBZ01UYzRJQzB6T0NCeE9EUWdMVE0zSURFMU1DQXRNVEF6SUhFMk5pQXROallnTVRBeUlDMHhORGtnY1RNNElDMDROeUF6T0NBdE1UYzVJSEV3SUMwNU1pQXRNemdnTFRFM09TQnhMVE0ySUMwNE15QXRNVEF5SUMweE5Ea2djUzAyTmlBdE5qWWdMVEUxTUNBdE1UQXpJSEV0T0RjZ0xUTTRJQzB4TnpnZ0xUTTRJR3d0TVRnM05TQXdJSEV0T1RJZ01DQXRNVGM1SURNNElIRXRPRFFnTXpjZ0xURTFNQ0F4TURNZ2NTMDJOaUEyTmlBdE1UQXlJREUwT1NCeExUTTRJRGczSUMwek9DQXhOemtnY1RBZ09USWdNemdnTVRjNUlIRXpOaUE0TXlBeE1ESWdNVFE1SUhFMk5pQTJOaUF4TlRBZ01UQXpJSEU0TnlBek9DQXhOemtnTXpnZ1dpSWdMejQ4WjJ4NWNHZ2daMng1Y0dndGJtRnRaVDBpZFhObGNpMXpkR0YwZFhNdGFXNTJhWE5wWW14bElpQjFibWxqYjJSbFBTSW1JM2hsWVRFeE95SWdaRDBpVFRJMU1EQWdOVEF3TUNCeExUUXdOaUF3SUMwM09EZ2dMVEV5T0NCeExUTTNNQ0F0TVRJMElDMDJPRFlnTFRNMU5pQnhMVE14TXlBdE1qSTVJQzAxTkRJZ0xUVTBNaUJ4TFRJek1pQXRNekUySUMwek5UWWdMVFk0TmlCeExURXlPQ0F0TXpneUlDMHhNamdnTFRjNE9DQnhNQ0F0TkRBMklERXlPQ0F0TnpnNElIRXhNalFnTFRNM01DQXpOVFlnTFRZNE5pQnhNakk1SUMwek1UTWdOVFF5SUMwMU5ESWdjVE14TmlBdE1qTXlJRFk0TmlBdE16VTJJSEV6T0RJZ0xURXlPQ0EzT0RnZ0xURXlPQ0J4TkRBMklEQWdOemc0SURFeU9DQnhNemN3SURFeU5DQTJPRFlnTXpVMklIRXpNVE1nTWpJNUlEVTBNaUExTkRJZ2NUSXpNaUF6TVRZZ016VTJJRFk0TmlCeE1USTRJRE00TWlBeE1qZ2dOemc0SUhFd0lEUXdOaUF0TVRJNElEYzRPQ0J4TFRFeU5DQXpOekFnTFRNMU5pQTJPRFlnY1MweU1qa2dNekV6SUMwMU5ESWdOVFF5SUhFdE16RTJJREl6TWlBdE5qZzJJRE0xTmlCeExUTTRNaUF4TWpnZ0xUYzRPQ0F4TWpnZ1drMHlOVEF3SURRd01EQWdjVE14TVNBd0lEVTVNQ0F0TVRFMklIRXlOekVnTFRFeE1pQTBOell1TlNBdE16RTNMalVnY1RJd05TNDFJQzB5TURVdU5TQXpNVGN1TlNBdE5EYzJMalVnY1RFeE5pQXRNamM1SURFeE5pQXROVGt3SUhFd0lDMHpNVEVnTFRFeE5pQXROVGt3SUhFdE1URXlJQzB5TnpFZ0xUTXhOeTQxSUMwME56WXVOU0J4TFRJd05TNDFJQzB5TURVdU5TQXRORGMyTGpVZ0xUTXhOeTQxSUhFdE1qYzVJQzB4TVRZZ0xUVTVNQ0F0TVRFMklIRXRNekV4SURBZ0xUVTVNQ0F4TVRZZ2NTMHlOekVnTVRFeUlDMDBOell1TlNBek1UY3VOU0J4TFRJd05TNDFJREl3TlM0MUlDMHpNVGN1TlNBME56WXVOU0J4TFRFeE5pQXlOemtnTFRFeE5pQTFPVEFnY1RBZ016RXhJREV4TmlBMU9UQWdjVEV4TWlBeU56RWdNekUzTGpVZ05EYzJMalVnY1RJd05TNDFJREl3TlM0MUlEUTNOaTQxSURNeE55NDFJSEV5TnprZ01URTJJRFU1TUNBeE1UWWdXaUlnTHo0OFoyeDVjR2dnWjJ4NWNHZ3RibUZ0WlQwaWRYTmxjaTF6ZEdGMGRYTXRiMjVzYVc1bElpQjFibWxqYjJSbFBTSW1JM2hsWVRFeU95SWdaRDBpVFRFMU1EQWdNVFV3TUNCc01qQXdNQ0F3SUd3d0lESXdNREFnYkMweU1EQXdJREFnYkRBZ0xUSXdNREFnV2sweU5UQXdJRFV3TURBZ2NTMDBNRFlnTUNBdE56ZzRJQzB4TWpnZ2NTMHpOekFnTFRFeU5DQXROamcySUMwek5UWWdjUzB6TVRNZ0xUSXlPU0F0TlRReUlDMDFORElnY1MweU16SWdMVE14TmlBdE16VTJJQzAyT0RZZ2NTMHhNamdnTFRNNE1pQXRNVEk0SUMwM09EZ2djVEFnTFRRd05pQXhNamdnTFRjNE9DQnhNVEkwSUMwek56QWdNelUySUMwMk9EWWdjVEl5T1NBdE16RXpJRFUwTWlBdE5UUXlJSEV6TVRZZ0xUSXpNaUEyT0RZZ0xUTTFOaUJ4TXpneUlDMHhNamdnTnpnNElDMHhNamdnY1RRd05pQXdJRGM0T0NBeE1qZ2djVE0zTUNBeE1qUWdOamcySURNMU5pQnhNekV6SURJeU9TQTFORElnTlRReUlIRXlNeklnTXpFMklETTFOaUEyT0RZZ2NURXlPQ0F6T0RJZ01USTRJRGM0T0NCeE1DQTBNRFlnTFRFeU9DQTNPRGdnY1MweE1qUWdNemN3SUMwek5UWWdOamcySUhFdE1qSTVJRE14TXlBdE5UUXlJRFUwTWlCeExUTXhOaUF5TXpJZ0xUWTROaUF6TlRZZ2NTMHpPRElnTVRJNElDMDNPRGdnTVRJNElGb2lJQzgrUEM5bWIyNTBQand2WkdWbWN6NDhMM04yWno0PVwiIiwiZXhwb3J0IGRlZmF1bHQgXCJkYXRhOmZvbnQvdHRmO2Jhc2U2NCxBQUVBQUFBS0FJQUFBd0FnVDFNdk1uVGpqOUVBQUFDc0FBQUFZR050WVhBQURldTRBQUFCREFBQUFVSm5iSGxteDBjNVRBQUFBbEFBQUFmOGFHVmhaQ3ZyRi9jQUFBcE1BQUFBTm1ob1pXRW0vUk9GQUFBS2hBQUFBQ1JvYlhSNFo3Ny8vd0FBQ3FnQUFBQTBiRzlqWVEyOEQyWUFBQXJjQUFBQUtHMWhlSEFCSUFCWEFBQUxCQUFBQUNCdVlXMWxiY1Q1VkFBQUN5UUFBQUttY0c5emREOVV2dGNBQUEzTUFBQUJGZ0FFRXNvQmtBQUZBQUFNWlEyc0FBQUN2QXhsRGF3QUFBbGdBUFVGQ2dBQUFnQUZBd0FBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFCUVprVmtBRURxQWVvU0U0Z0FBQUhDRTRnQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUNBQUFBQUFBQU1BQUFBREFBQUFIQUFCQUFBQUFBQThBQU1BQVFBQUFCd0FCQUFnQUFBQUJBQUVBQUVBQU9vUy8vOEFBT29CLy84V0FBQUJBQUFBQUFBQUFRWUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFBQUE2bUQwTUFCUUFMQUFBSkFoRUpCQkVKQVE2bStvSUZmdnU2QkViNmd2cUNCWDc3dWdSR0QwTDZndnFDQVRnRVJnUkdBVGo2Z3ZxQ0FUZ0VSZ1JHQUFFQUFBQUFEVzRTVUFBRkFBQUpBUkVKQVJFR0d3ZFQ5M1FJakFuRStLMyt5QWlMQ0l6K3h3QUNBQUFBQUEvZkQwTUFCUUFMQUFBSkFoRUpCQkVKQVFUaUJYNzZnZ1JHKzdvRmZnVi8rb0VFUnZ1NkJFWUZmZ1YrL3NqN3V2dTYvc2dGZmdWKy9zajd1dnU2QUFFQUFBQUFEcVlTVUFBRkFBQUpBUkVKQVJFTmJ2aXRDSXYzZFFuRUIxTUJPZmQwOTNVQk9BQUJBQUFBQUFZM0U0Z0FCUUFBRXdjSkFSY0JsSlFGY3ZxT2xBV2pFNGhWOXBIMmtWVUp4QUFBQVFBQUFBQVJodytEQUFVQUFBa0ZEODMzOC92Ny9rWUZ2d25IRDRQMzh3UUYva2Y2UVFuR0FBRUFBQUFBRVJjUkZ3QUxBQUFKQ3hFWC9lMzZ3UHJBL2UwRlFQckFBaE1GUUFWQUFoUDZ3QVNFL2UwRlFQckFBaE1GUUFWQUFoUDZ3QVZBL2UzNndBQUIvLzhBQUJPVEV1d0FNd0FBQVNJSERnRVhGaGNCSVNZSEJnY0dCd1lVRnhZWEZoY1dOeUVCQmdjR0Z4WVhIZ0VYRmhjV056WTNBVFkzTmljbUp3RXVBUXBnWlU5S1JoQVNTQVhYOGVCTlBqb3BKeFFVRkJRbktUbytUUTRnK2lrM0doZ0RBeHNaVmpVM096NDZQelVIN1RzVkZSUVZQUGdUTEhRUzdEazByRmxnUi9vcUFSc1lMaXc1T0hnNE9Td3VHQnNDK2lrMVB6cytPamMyVmhrYUF3TVlHVGdIN0R4UlVFOVNQQWZzTFRJQUFBQUNBQUFBQUE2bUVsQUFHQUJHQUFBQklnY09BUWNHRkJjZUFSY1dNamMrQVRjMk5DY3VBU2NtQVNJSEJnY0dGQmNXRnhZeklSRWhJZ2NHQndZVUZ4WVhGamNoTWpjMk56WTBKeVluSmlNaEVUUW5KaWNtSXdsMmIyWmltQ2tyS3ltWVltYmVabUtYS2lzcktwZGladncyVmtoSEtTc3JLVWRJVmdKeC9ZOVdTRWNwS3lzcFIwaFdCMU5WU0VjcEt5c3BSMGhWL1k4cktVZEpWUkpRS3lxWFkyWGZaV0tZS1NzcktaaGlaZDlsWTVjcUsvbmxLeWxIU0t0SVJ5a3IrZVlyS1VkSnFrbEhLU3NCS2lsSFNhcEpSeWtyQjFOVlNFY3BLd0FBQXdBQUFBQVJGeEVYQUFNQUJ3QUxBQUFCRVNFUkFSRWhFUUVSSVJFQ2NRNm04Vm9PcHZGYURxWVJGLzJQQW5INTV2MlBBbkg1NWYyUEFuRUFBd0FBQUFBU25ndm5BQmdBTVFCS0FBQUJNaGNlQVJjV0ZBY09BUWNHSWljdUFTY21ORGMrQVRjMklUSVhIZ0VYRmhRSERnRUhCaUluTGdFbkpqUTNQZ0UzTmlFeUZ4NEJGeFlVQnc0QkJ3WWlKeTRCSnlZME56NEJOellERFhCbFlwZ3BLeXNwbUdKbDMyWmlseW9yS3lxWFltWUhKbTltWXBjcUt5c3FsMkptM21aaWx5b3JLeXFYWW1ZSEptOW1ZcGNxS3lzcWwySm0zMlZpbUNrckt5bVlZbVVMNXlzcWwySm0zbVppbHlvckt5cVhZbWJlWm1LWEtpc3JLcGRpWnQ1bVlwY3FLeXNxbDJKbTNtWmlseW9yS3lxWFltYmVabUtYS2lzcktwZGladDVtWXBjcUt3QUFBQUFDQUFBQUFBL2ZEOThBQXdBSEFBQUJFU0VSSVJFaEVRT3FCT0lDY1FUaUQ5L3p5d3cxODhzTU5RQUFBQUVBQUFBQUVSY1JGd0FDQUFBSkFnSnhEcWJ4V2hFWCtLMzRyUUFCQUFBQUFBNm1ERFVBQWdBQUNRSUU0Z1RpQk9JTU5mc2VCT0FBQWYvZ0FBQVRhUk5wQURFQUFBRUVCUVFGQkFNQ0F3SVJFQk1TRXhJRkJBVUVJU0FsSkNVa0V4SVRFaE1HQUFVRUlTQWxKQ2NtSnlZREFoRVFFeElBQ0d6K21QNngvcnIrN2Y3dXhzcHJib0I3NmVVQk9RRThBWElCZmdHV0FYRUJZUUZXQVM0Qkt1dnNtWnc0dlA0cC92bis4LzdxL3I3K3p2N1ovZnU0dTJOblVFNEJKeE5wTHBlVDZlZisxLzdUL3F2K24vNlAvbXIrZ3Y2Ty9zVCt4K1hvZklCcmFNWENBUTBCRGdGREFVc0JhY3orMms1UVoyTzd1UHY5QVNjQk1nRkNBU1VCRXdFTkFjc0FBZ0FBQUFBVGlCT0lBQ1FBUUFBQUFTQUZCQVVFQXdJREFoQVRFaE1TQlFRRkJDQWxKQ1VrRXhJVEVoQURBZ01DSlNRbEpBRWhNaGNlQVJjV0ZBY09BUWNHSXlFaUp5NEJKeVkwTno0Qk56WUp4UDVxL29MK2p2N0Uvc2ZsNkh5QWdIem81UUU1QVR3QmNnRitBeXdCZmdGeUFUd0JPZVhvZklDQWZPamwvc2YreFA2Ty9vTDZ3UWRUVzFkVWhDUW1KaVNFVkZkYitLMWNWMVNFSkNZbUpJUlVWeE9JZ0h6bzVmN0gvc1QranY2Qy9OVCtndjZPL3NUK3grWG9mSUNBZk9qbEFUa0JQQUZ5QVg0RExBRitBWElCUEFFNTVlaDhnUGdSSmlXRVUxZTRWMU9FSlNZbUpZUlRWN2hYVTRRbEpnQUFBQUlBQUFBQUU0Z1RpQUFrQUQwQUFBRWdCUVFGQkFNQ0F3SVFFeElURWdVRUJRUWdKU1FsSkJNU0V4SVFBd0lEQWlVa0pTUUJJQVVFQUJNU0VBTUNBQVVFSUNVa0FBTUNFQk1TQUNVa0NjVCthdjZDL283K3hQN0g1ZWg4Z0lCODZPVUJPUUU4QVhJQmZnTXNBWDRCY2dFOEFUbmw2SHlBZ0h6bzVmN0gvc1QranY2Qy9tb0JOd0VYQVE4Qm0zQjBkSEQrWmY3eC91bjlrdjdwL3ZIK1pYQjBkSEFCbXdFUEFSY1RpSUI4Nk9YK3gvN0UvbzcrZ3Z6VS9vTCtqdjdFL3NmbDZIeUFnSHpvNVFFNUFUd0JjZ0YrQXl3QmZnRnlBVHdCT2VYb2ZJRDhHSFJ3L21YKzhmN3AvWkwrNmY3eC9tVndkSFJ3QVpzQkR3RVhBbTRCRndFUEFadHdkQUFBQUFJQUFBQUFFNGdUaUFBREFDZ0FBQUVoRVNFQklBVUVCUVFEQWdNQ0VCTVNFeElGQkFVRUlDVWtKU1FURWhNU0VBTUNBd0lsSkNVa0Jkd0gwUGd3QStqK2F2NkMvbzcreFA3SDVlaDhnSUI4Nk9VQk9RRThBWElCZmdNc0FYNEJjZ0U4QVRubDZIeUFnSHpvNWY3SC9zVCtqdjZDQmR3SDBBWGNnSHpvNWY3SC9zVCtqdjZDL05UK2d2Nk8vc1QreCtYb2ZJQ0FmT2psQVRrQlBBRnlBWDRETEFGK0FYSUJQQUU1NWVoOGdBQUFBUUFBQUFFQUFEL3MvRHRmRHp6MUFBc1RpQUFBQUFEYzFVZjFBQUFBQU55RWEvWC80QUFBRTVNVGlBQUFBQWdBQWdBQUFBQUFBQUFCQUFBVGlBQUFBQUFUaVAvZy8vVVRrd0FCQUFBQUFBQUFBQUFBQUFBQUFBQUFCd0FBQUFBVGlBQUFFNGdBQUJPSUFBQVRpQUFBQmpZQUFCT0lBQUFBQVAvL0FBQUFBQUFBQUFBQUFBQUEvK0FBQUFBQUFBQUFBQUFBQUNJQU5nQllBR3dBZ0FDVUFMUUJEZ0Y4QVpvQ0VBSW1BalFDUWdLb0F5SURwZ1ArQUFFQUFBQVRBRXNBQXdBQUFBQUFBZ0FBQUFvQUNnQUFBUDhBQUFBQUFBQUFBQUFRQU1ZQUFRQUFBQUFBQVFBVUFBQUFBUUFBQUFBQUFnQUhBQlFBQVFBQUFBQUFBd0FVQUJzQUFRQUFBQUFBQkFBVUFDOEFBUUFBQUFBQUJRQUxBRU1BQVFBQUFBQUFCZ0FVQUU0QUFRQUFBQUFBQ2dBckFHSUFBUUFBQUFBQUN3QVRBSTBBQXdBQkJBa0FBUUFvQUtBQUF3QUJCQWtBQWdBT0FNZ0FBd0FCQkFrQUF3QW9BTllBQXdBQkJBa0FCQUFvQVA0QUF3QUJCQWtBQlFBV0FTWUFBd0FCQkFrQUJnQW9BVHdBQXdBQkJBa0FDZ0JXQVdRQUF3QUJCQWtBQ3dBbUFicHBZMjl1Wm05dWRDMTJkV1V0T0RSak5EWXhabEpsWjNWc1lYSnBZMjl1Wm05dWRDMTJkV1V0T0RSak5EWXhabWxqYjI1bWIyNTBMWFoxWlMwNE5HTTBOakZtVm1WeWMybHZiaUF4TGpCcFkyOXVabTl1ZEMxMmRXVXRPRFJqTkRZeFprZGxibVZ5WVhSbFpDQmllU0J6ZG1jeWRIUm1JR1p5YjIwZ1JtOXVkR1ZzYkc4Z2NISnZhbVZqZEM1b2RIUndPaTh2Wm05dWRHVnNiRzh1WTI5dEFHa0FZd0J2QUc0QVpnQnZBRzRBZEFBdEFIWUFkUUJsQUMwQU9BQTBBR01BTkFBMkFERUFaZ0JTQUdVQVp3QjFBR3dBWVFCeUFHa0FZd0J2QUc0QVpnQnZBRzRBZEFBdEFIWUFkUUJsQUMwQU9BQTBBR01BTkFBMkFERUFaZ0JwQUdNQWJ3QnVBR1lBYndCdUFIUUFMUUIyQUhVQVpRQXRBRGdBTkFCakFEUUFOZ0F4QUdZQVZnQmxBSElBY3dCcEFHOEFiZ0FnQURFQUxnQXdBR2tBWXdCdkFHNEFaZ0J2QUc0QWRBQXRBSFlBZFFCbEFDMEFPQUEwQUdNQU5BQTJBREVBWmdCSEFHVUFiZ0JsQUhJQVlRQjBBR1VBWkFBZ0FHSUFlUUFnQUhNQWRnQm5BRElBZEFCMEFHWUFJQUJtQUhJQWJ3QnRBQ0FBUmdCdkFHNEFkQUJsQUd3QWJBQnZBQ0FBY0FCeUFHOEFhZ0JsQUdNQWRBQXVBR2dBZEFCMEFIQUFPZ0F2QUM4QVpnQnZBRzRBZEFCbEFHd0FiQUJ2QUM0QVl3QnZBRzBBQUFBQ0FBQUFBQUFBQURJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVRBQk1BQUFFQ0FRTUJCQUVGQVFZQkJ3RUlBUWtCQ2dFTEFRd0JEUUVPQVE4QkVBRVJBUklCRXhGaGNuSnZkeTFzWldaMExXUnZkV0pzWlFwaGNuSnZkeTFzWldaMEVtRnljbTkzTFhKcFoyaDBMV1J2ZFdKc1pRdGhjbkp2ZHkxeWFXZG9kQXBpY21WaFpHTnlkVzFpQ1dOb1pXTnJiV0Z5YXdWamJHOXpaUWRqYjI1bWFYSnRCR2x1Wm04RWJXVnVkUVJ0YjNKbEJYQmhkWE5sQkhCc1lYa0tkSEpwWVc1bmJHVXRjeEIxYzJWeUxYTjBZWFIxY3kxaGQyRjVEM1Z6WlhJdGMzUmhkSFZ6TFdSdVpCVjFjMlZ5TFhOMFlYUjFjeTFwYm5acGMybGliR1VTZFhObGNpMXpkR0YwZFhNdGIyNXNhVzVsQUFBPVwiIiwiZXhwb3J0IGRlZmF1bHQgXCJkYXRhOmZvbnQvd29mZjtiYXNlNjQsZDA5R1JnQUJBQUFBQUE4c0FBb0FBQUFBRHVRQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJQVXk4eUFBQUE5QUFBQUdBQUFBQmdkT09QMFdOdFlYQUFBQUZVQUFBQlFnQUFBVUlBRGV1NFoyeDVaZ0FBQXBnQUFBZjhBQUFIL01kSE9VeG9aV0ZrQUFBS2xBQUFBRFlBQUFBMksrc1g5MmhvWldFQUFBck1BQUFBSkFBQUFDUW0vUk9GYUcxMGVBQUFDdkFBQUFBMEFBQUFOR2UrLy85c2IyTmhBQUFMSkFBQUFDZ0FBQUFvRGJ3UFptMWhlSEFBQUF0TUFBQUFJQUFBQUNBQklBQlhibUZ0WlFBQUMyd0FBQUttQUFBQ3BtM0UrVlJ3YjNOMEFBQU9GQUFBQVJZQUFBRVdQMVMrMXdBRUVzb0JrQUFGQUFBTVpRMnNBQUFDdkF4bERhd0FBQWxnQVBVRkNnQUFBZ0FGQXdBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQlFaa1ZrQUVEcUFlb1NFNGdBQUFIQ0U0Z0FBQUFBQUFFQUFBQUFBQUFBQUFBQUFDQUFBQUFBQUFNQUFBQURBQUFBSEFBQkFBQUFBQUE4QUFNQUFRQUFBQndBQkFBZ0FBQUFCQUFFQUFFQUFPb1MvLzhBQU9vQi8vOFdBQUFCQUFBQUFBQUFBUVlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQUFBNm1EME1BQlFBTEFBQUpBaEVKQkJFSkFRNm0rb0lGZnZ1NkJFYjZndnFDQlg3N3VnUkdEMEw2Z3ZxQ0FUZ0VSZ1JHQVRqNmd2cUNBVGdFUmdSR0FBRUFBQUFBRFc0U1VBQUZBQUFKQVJFSkFSRUdHd2RUOTNRSWpBbkUrSzMreUFpTENJeit4d0FDQUFBQUFBL2ZEME1BQlFBTEFBQUpBaEVKQkJFSkFRVGlCWDc2Z2dSRys3b0ZmZ1YvK29FRVJ2dTZCRVlGZmdWKy9zajd1dnU2L3NnRmZnVisvc2o3dXZ1NkFBRUFBQUFBRHFZU1VBQUZBQUFKQVJFSkFSRU5idml0Q0l2M2RRbkVCMU1CT2ZkMDkzVUJPQUFCQUFBQUFBWTNFNGdBQlFBQUV3Y0pBUmNCbEpRRmN2cU9sQVdqRTRoVjlwSDJrVlVKeEFBQUFRQUFBQUFSaHcrREFBVUFBQWtGRDgzMzgvdjcva1lGdnduSEQ0UDM4d1FGL2tmNlFRbkdBQUVBQUFBQUVSY1JGd0FMQUFBSkN4RVgvZTM2d1ByQS9lMEZRUHJBQWhNRlFBVkFBaFA2d0FTRS9lMEZRUHJBQWhNRlFBVkFBaFA2d0FWQS9lMzZ3QUFCLy84QUFCT1RFdXdBTXdBQUFTSUhEZ0VYRmhjQklTWUhCZ2NHQndZVUZ4WVhGaGNXTnlFQkJnY0dGeFlYSGdFWEZoY1dOelkzQVRZM05pY21Kd0V1QVFwZ1pVOUtSaEFTU0FYWDhlQk5Qam9wSnhRVUZCUW5LVG8rVFE0ZytpazNHaGdEQXhzWlZqVTNPejQ2UHpVSDdUc1ZGUlFWUFBnVExIUVM3RGswckZsZ1Ivb3FBUnNZTGl3NU9IZzRPU3d1R0JzQytpazFQenMrT2pjMlZoa2FBd01ZR1RnSDdEeFJVRTlTUEFmc0xUSUFBQUFDQUFBQUFBNm1FbEFBR0FCR0FBQUJJZ2NPQVFjR0ZCY2VBUmNXTWpjK0FUYzJOQ2N1QVNjbUFTSUhCZ2NHRkJjV0Z4WXpJUkVoSWdjR0J3WVVGeFlYRmpjaE1qYzJOelkwSnlZbkppTWhFVFFuSmljbUl3bDJiMlppbUNrckt5bVlZbWJlWm1LWEtpc3JLcGRpWnZ3MlZraEhLU3NyS1VkSVZnSngvWTlXU0VjcEt5c3BSMGhXQjFOVlNFY3BLeXNwUjBoVi9ZOHJLVWRKVlJKUUt5cVhZMlhmWldLWUtTc3JLWmhpWmQ5bFk1Y3FLL25sS3lsSFNLdElSeWtyK2VZcktVZEpxa2xIS1NzQktpbEhTYXBKUnlrckIxTlZTRWNwS3dBQUF3QUFBQUFSRnhFWEFBTUFCd0FMQUFBQkVTRVJBUkVoRVFFUklSRUNjUTZtOFZvT3B2RmFEcVlSRi8yUEFuSDU1djJQQW5INTVmMlBBbkVBQXdBQUFBQVNuZ3ZuQUJnQU1RQktBQUFCTWhjZUFSY1dGQWNPQVFjR0lpY3VBU2NtTkRjK0FUYzJJVElYSGdFWEZoUUhEZ0VIQmlJbkxnRW5KalEzUGdFM05pRXlGeDRCRnhZVUJ3NEJCd1lpSnk0Qkp5WTBOejRCTnpZRERYQmxZcGdwS3lzcG1HSmwzMlppbHlvckt5cVhZbVlISm05bVlwY3FLeXNxbDJKbTNtWmlseW9yS3lxWFltWUhKbTltWXBjcUt5c3FsMkptMzJWaW1Da3JLeW1ZWW1VTDV5c3FsMkptM21aaWx5b3JLeXFYWW1iZVptS1hLaXNyS3BkaVp0NW1ZcGNxS3lzcWwySm0zbVppbHlvckt5cVhZbWJlWm1LWEtpc3JLcGRpWnQ1bVlwY3FLd0FBQUFBQ0FBQUFBQS9mRDk4QUF3QUhBQUFCRVNFUklSRWhFUU9xQk9JQ2NRVGlEOS96eXd3MTg4c01OUUFBQUFFQUFBQUFFUmNSRndBQ0FBQUpBZ0p4RHFieFdoRVgrSzM0clFBQkFBQUFBQTZtRERVQUFnQUFDUUlFNGdUaUJPSU1OZnNlQk9BQUFmL2dBQUFUYVJOcEFERUFBQUVFQlFRRkJBTUNBd0lSRUJNU0V4SUZCQVVFSVNBbEpDVWtFeElURWhNR0FBVUVJU0FsSkNjbUp5WURBaEVRRXhJQUNHeittUDZ4L3JyKzdmN3V4c3ByYm9CNzZlVUJPUUU4QVhJQmZnR1dBWEVCWVFGV0FTNEJLdXZzbVp3NHZQNHAvdm4rOC83cS9yNyt6djdaL2Z1NHUyTm5VRTRCSnhOcExwZVQ2ZWYrMS83VC9xdituLzZQL21yK2d2Nk8vc1QreCtYb2ZJQnJhTVhDQVEwQkRnRkRBVXNCYWN6KzJrNVFaMk83dVB2OUFTY0JNZ0ZDQVNVQkV3RU5BY3NBQWdBQUFBQVRpQk9JQUNRQVFBQUFBU0FGQkFVRUF3SURBaEFURWhNU0JRUUZCQ0FsSkNVa0V4SVRFaEFEQWdNQ0pTUWxKQUVoTWhjZUFSY1dGQWNPQVFjR0l5RWlKeTRCSnlZME56NEJOellKeFA1cS9vTCtqdjdFL3NmbDZIeUFnSHpvNVFFNUFUd0JjZ0YrQXl3QmZnRnlBVHdCT2VYb2ZJQ0FmT2psL3NmK3hQNk8vb0w2d1FkVFcxZFVoQ1FtSmlTRVZGZGIrSzFjVjFTRUpDWW1KSVJVVnhPSWdIem81ZjdIL3NUK2p2NkMvTlQrZ3Y2Ty9zVCt4K1hvZklDQWZPamxBVGtCUEFGeUFYNERMQUYrQVhJQlBBRTU1ZWg4Z1BnUkppV0VVMWU0VjFPRUpTWW1KWVJUVjdoWFU0UWxKZ0FBQUFJQUFBQUFFNGdUaUFBa0FEMEFBQUVnQlFRRkJBTUNBd0lRRXhJVEVnVUVCUVFnSlNRbEpCTVNFeElRQXdJREFpVWtKU1FCSUFVRUFCTVNFQU1DQUFVRUlDVWtBQU1DRUJNU0FDVWtDY1QrYXY2Qy9vNyt4UDdINWVoOGdJQjg2T1VCT1FFOEFYSUJmZ01zQVg0QmNnRThBVG5sNkh5QWdIem81ZjdIL3NUK2p2NkMvbW9CTndFWEFROEJtM0IwZEhEK1pmN3gvdW45a3Y3cC92SCtaWEIwZEhBQm13RVBBUmNUaUlCODZPWCt4LzdFL283K2d2elUvb0wranY3RS9zZmw2SHlBZ0h6bzVRRTVBVHdCY2dGK0F5d0JmZ0Z5QVR3Qk9lWG9mSUQ4R0hSdy9tWCs4ZjdwL1pMKzZmN3gvbVZ3ZEhSd0Fac0JEd0VYQW00QkZ3RVBBWnR3ZEFBQUFBSUFBQUFBRTRnVGlBQURBQ2dBQUFFaEVTRUJJQVVFQlFRREFnTUNFQk1TRXhJRkJBVUVJQ1VrSlNRVEVoTVNFQU1DQXdJbEpDVWtCZHdIMFBnd0EraithdjZDL283K3hQN0g1ZWg4Z0lCODZPVUJPUUU4QVhJQmZnTXNBWDRCY2dFOEFUbmw2SHlBZ0h6bzVmN0gvc1QranY2Q0Jkd0gwQVhjZ0h6bzVmN0gvc1QranY2Qy9OVCtndjZPL3NUK3grWG9mSUNBZk9qbEFUa0JQQUZ5QVg0RExBRitBWElCUEFFNTVlaDhnQUFBQVFBQUFBRUFBRC9zL0R0ZkR6ejFBQXNUaUFBQUFBRGMxVWYxQUFBQUFOeUVhL1gvNEFBQUU1TVRpQUFBQUFnQUFnQUFBQUFBQUFBQkFBQVRpQUFBQUFBVGlQL2cvL1VUa3dBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQndBQUFBQVRpQUFBRTRnQUFCT0lBQUFUaUFBQUJqWUFBQk9JQUFBQUFQLy9BQUFBQUFBQUFBQUFBQUFBLytBQUFBQUFBQUFBQUFBQUFDSUFOZ0JZQUd3QWdBQ1VBTFFCRGdGOEFab0NFQUltQWpRQ1FnS29BeUlEcGdQK0FBRUFBQUFUQUVzQUF3QUFBQUFBQWdBQUFBb0FDZ0FBQVA4QUFBQUFBQUFBQUFBUUFNWUFBUUFBQUFBQUFRQVVBQUFBQVFBQUFBQUFBZ0FIQUJRQUFRQUFBQUFBQXdBVUFCc0FBUUFBQUFBQUJBQVVBQzhBQVFBQUFBQUFCUUFMQUVNQUFRQUFBQUFBQmdBVUFFNEFBUUFBQUFBQUNnQXJBR0lBQVFBQUFBQUFDd0FUQUkwQUF3QUJCQWtBQVFBb0FLQUFBd0FCQkFrQUFnQU9BTWdBQXdBQkJBa0FBd0FvQU5ZQUF3QUJCQWtBQkFBb0FQNEFBd0FCQkFrQUJRQVdBU1lBQXdBQkJBa0FCZ0FvQVR3QUF3QUJCQWtBQ2dCV0FXUUFBd0FCQkFrQUN3QW1BYnBwWTI5dVptOXVkQzEyZFdVdE9EUmpORFl4WmxKbFozVnNZWEpwWTI5dVptOXVkQzEyZFdVdE9EUmpORFl4Wm1samIyNW1iMjUwTFhaMVpTMDROR00wTmpGbVZtVnljMmx2YmlBeExqQnBZMjl1Wm05dWRDMTJkV1V0T0RSak5EWXhaa2RsYm1WeVlYUmxaQ0JpZVNCemRtY3lkSFJtSUdaeWIyMGdSbTl1ZEdWc2JHOGdjSEp2YW1WamRDNW9kSFJ3T2k4dlptOXVkR1ZzYkc4dVkyOXRBR2tBWXdCdkFHNEFaZ0J2QUc0QWRBQXRBSFlBZFFCbEFDMEFPQUEwQUdNQU5BQTJBREVBWmdCU0FHVUFad0IxQUd3QVlRQnlBR2tBWXdCdkFHNEFaZ0J2QUc0QWRBQXRBSFlBZFFCbEFDMEFPQUEwQUdNQU5BQTJBREVBWmdCcEFHTUFid0J1QUdZQWJ3QnVBSFFBTFFCMkFIVUFaUUF0QURnQU5BQmpBRFFBTmdBeEFHWUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3QUdrQVl3QnZBRzRBWmdCdkFHNEFkQUF0QUhZQWRRQmxBQzBBT0FBMEFHTUFOQUEyQURFQVpnQkhBR1VBYmdCbEFISUFZUUIwQUdVQVpBQWdBR0lBZVFBZ0FITUFkZ0JuQURJQWRBQjBBR1lBSUFCbUFISUFid0J0QUNBQVJnQnZBRzRBZEFCbEFHd0FiQUJ2QUNBQWNBQnlBRzhBYWdCbEFHTUFkQUF1QUdnQWRBQjBBSEFBT2dBdkFDOEFaZ0J2QUc0QWRBQmxBR3dBYkFCdkFDNEFZd0J2QUcwQUFBQUNBQUFBQUFBQUFESUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFUQUJNQUFBRUNBUU1CQkFFRkFRWUJCd0VJQVFrQkNnRUxBUXdCRFFFT0FROEJFQUVSQVJJQkV4Rmhjbkp2ZHkxc1pXWjBMV1J2ZFdKc1pRcGhjbkp2ZHkxc1pXWjBFbUZ5Y205M0xYSnBaMmgwTFdSdmRXSnNaUXRoY25KdmR5MXlhV2RvZEFwaWNtVmhaR055ZFcxaUNXTm9aV05yYldGeWF3VmpiRzl6WlFkamIyNW1hWEp0QkdsdVptOEViV1Z1ZFFSdGIzSmxCWEJoZFhObEJIQnNZWGtLZEhKcFlXNW5iR1V0Y3hCMWMyVnlMWE4wWVhSMWN5MWhkMkY1RDNWelpYSXRjM1JoZEhWekxXUnVaQlYxYzJWeUxYTjBZWFIxY3kxcGJuWnBjMmxpYkdVU2RYTmxjaTF6ZEdGMGRYTXRiMjVzYVc1bEFBQT1cIiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSnVsaXVzIEjDpHJ0bCA8anVzQGJpdGdyaWQubmV0PlxuICpcbiAqIEBhdXRob3IgSnVsaXVzIEjDpHJ0bCA8anVzQGJpdGdyaWQubmV0PlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuaW1wb3J0IHVzZXJuYW1lVG9Db2xvciBmcm9tICcuL3VzZXJuYW1lVG9Db2xvcidcblxuZXhwb3J0IGRlZmF1bHQgdXNlcm5hbWVUb0NvbG9yXG4iLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbmltcG9ydCBtZDUgZnJvbSAnbWQ1J1xuaW1wb3J0IEdlbkNvbG9ycyBmcm9tICcuLi8uLi91dGlscy9HZW5Db2xvcnMnXG5cbi8qKlxuICogT3JpZ2luYWxseSB0YWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9uZXh0Y2xvdWQvc2VydmVyL2Jsb2IvbWFzdGVyL2NvcmUvanMvcGxhY2Vob2xkZXIuanNcbiAqIEBwYXJhbSB7c3RyaW5nfSB1c2VybmFtZSBEaXNwbGF5IG5hbWUgb3IgdXNlciBpZCB0byBnZW5lcmF0ZSBmcm9tXG4gKiBAcmV0dXJucyB7T2JqZWN0fSB0aGUgcmdiIGNvbG9ycyBhcyB7cjoyNTUsIGc6MjU1LCBiOjI1NX1cbiAqL1xuY29uc3QgdXNlcm5hbWVUb0NvbG9yID0gZnVuY3Rpb24odXNlcm5hbWUpIHtcblx0Ly8gTm9ybWFsaXplIGhhc2hcblx0bGV0IGhhc2ggPSB1c2VybmFtZS50b0xvd2VyQ2FzZSgpXG5cblx0Ly8gQWxyZWFkeSBhIG1kNSBoYXNoP1xuXHRpZiAoaGFzaC5tYXRjaCgvXihbMC05YS1mXXs0fS0/KXs4fSQvKSA9PT0gbnVsbCkge1xuXHRcdGhhc2ggPSBtZDUoaGFzaClcblx0fVxuXG5cdGhhc2ggPSBoYXNoLnJlcGxhY2UoL1teMC05YS1mXS9nLCAnJylcblxuXHRjb25zdCBzdGVwcyA9IDZcblx0Y29uc3QgZmluYWxQYWxldHRlID0gR2VuQ29sb3JzKHN0ZXBzKVxuXG5cdC8vIENvbnZlcnQgYSBzdHJpbmcgdG8gYW4gaW50ZWdlciBldmVubHlcblx0ZnVuY3Rpb24gaGFzaFRvSW50KGhhc2gsIG1heGltdW0pIHtcblx0XHRsZXQgZmluYWxJbnQgPSAwXG5cdFx0Y29uc3QgcmVzdWx0ID0gW11cblxuXHRcdC8vIFNwbGl0dGluZyBldmVubHkgdGhlIHN0cmluZ1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgaGFzaC5sZW5ndGg7IGkrKykge1xuXHRcdFx0Ly8gY2hhcnMgaW4gbWQ1IGdvZXMgdXAgdG8gZiwgaGV4OjE2XG5cdFx0XHRyZXN1bHQucHVzaChwYXJzZUludChoYXNoLmNoYXJBdChpKSwgMTYpICUgMTYpXG5cdFx0fVxuXG5cdFx0Ly8gQWRkcyB1cCBhbGwgcmVzdWx0c1xuXHRcdGZvciAoY29uc3QgaiBpbiByZXN1bHQpIHtcblx0XHRcdGZpbmFsSW50ICs9IHJlc3VsdFtqXVxuXHRcdH1cblxuXHRcdC8vIGNoYXJzIGluIG1kNSBnb2VzIHVwIHRvIGYsIGhleDoxNlxuXHRcdC8vIG1ha2Ugc3VyZSB3ZSdyZSBhbHdheXMgdXNpbmcgaW50IGluIG91ciBvcGVyYXRpb25cblx0XHRyZXR1cm4gcGFyc2VJbnQocGFyc2VJbnQoZmluYWxJbnQsIDEwKSAlIG1heGltdW0sIDEwKVxuXHR9XG5cdHJldHVybiBmaW5hbFBhbGV0dGVbaGFzaFRvSW50KGhhc2gsIHN0ZXBzICogMyldXG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZXJuYW1lVG9Db2xvclxuIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5pbXBvcnQgKiBhcyBOY0NvbXBvbmVudHMgZnJvbSAnLi9jb21wb25lbnRzJ1xuXG5mdW5jdGlvbiBpbnN0YWxsKFZ1ZSkge1xuXHRPYmplY3QudmFsdWVzKE5jQ29tcG9uZW50cykuZm9yRWFjaCgoY29tcG9uZW50KSA9PiB7XG5cdFx0VnVlLmNvbXBvbmVudChjb21wb25lbnQubmFtZSwgY29tcG9uZW50KVxuXHR9KVxufVxuXG5pZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LlZ1ZSkge1xuXHRpbnN0YWxsKHdpbmRvdy5WdWUpXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0aW5zdGFsbCxcblx0Li4uTmNDb21wb25lbnRzLFxufVxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzJ1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJ1xuZXhwb3J0ICogZnJvbSAnLi9taXhpbnMnXG4iLCJpbXBvcnQgeyBnZXRHZXR0ZXh0QnVpbGRlciB9IGZyb20gJ0BuZXh0Y2xvdWQvbDEwbi9kaXN0L2dldHRleHQnXG5cbmNvbnN0IGd0QnVpbGRlciA9IGdldEdldHRleHRCdWlsZGVyKClcblx0LmRldGVjdExvY2FsZSgpXG5cbi8vIERlY29tcHJlc3MgVHJhbnNsYXRpb25zIHRvIGdldHRleHQgZm9ybWF0IGFuZCBhZGQgdG8gZ3RCdWlsZGVyXG5UUkFOU0xBVElPTlMuZm9yRWFjaCgobGFuZykgPT4ge1xuXHRjb25zdCB0cmFuc2xhdGlvbnMgPSB7fVxuXG5cdGZvciAoY29uc3Qga2V5IGluIGxhbmcudHJhbnNsYXRpb25zKSB7XG5cdFx0Ly8gUGx1cmFsXG5cdFx0aWYgKGxhbmcudHJhbnNsYXRpb25zW2tleV0ucGx1cmFsSWQpIHtcblx0XHRcdHRyYW5zbGF0aW9uc1trZXldID0ge1xuXHRcdFx0XHRtc2dpZDoga2V5LFxuXHRcdFx0XHRtc2dpZF9wbHVyYWw6IGxhbmcudHJhbnNsYXRpb25zW2tleV0ucGx1cmFsSWQsXG5cdFx0XHRcdG1zZ3N0cjogbGFuZy50cmFuc2xhdGlvbnNba2V5XS5tc2dzdHIsXG5cdFx0XHR9XG5cdFx0XHRjb250aW51ZVxuXHRcdH1cblxuXHRcdC8vIFNpbmd1bGFyXG5cdFx0dHJhbnNsYXRpb25zW2tleV0gPSB7XG5cdFx0XHRtc2dpZDoga2V5LFxuXHRcdFx0bXNnc3RyOiBbXG5cdFx0XHRcdGxhbmcudHJhbnNsYXRpb25zW2tleV0sXG5cdFx0XHRdLFxuXHRcdH1cblx0fVxuXG5cdGd0QnVpbGRlci5hZGRUcmFuc2xhdGlvbihsYW5nLmxvY2FsZSwge1xuXHRcdHRyYW5zbGF0aW9uczoge1xuXHRcdFx0Jyc6IHRyYW5zbGF0aW9ucyxcblx0XHR9LFxuXHR9KVxufSlcblxuY29uc3QgZ3QgPSBndEJ1aWxkZXIuYnVpbGQoKVxuXG5jb25zdCBuID0gZ3QubmdldHRleHQuYmluZChndClcbmNvbnN0IHQgPSBndC5nZXR0ZXh0LmJpbmQoZ3QpXG5cbmV4cG9ydCB7IHQsIG4gfVxuIiwiXG4vKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5pbXBvcnQgVnVlIGZyb20gJ3Z1ZSdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRiZWZvcmUoKSB7XG5cdFx0Ly8gYWxsIGFjdGlvbnMgcmVxdWlyZXMgYSB2YWxpZCB0ZXh0IGNvbnRlbnRcblx0XHQvLyBpZiBub25lLCBmb3JiaWQgdGhlIGNvbXBvbmVudCBtb3VudCBhbmQgdGhyb3cgZXJyb3Jcblx0XHRpZiAoIXRoaXMuJHNsb3RzLmRlZmF1bHQgfHwgdGhpcy50ZXh0LnRyaW0oKSA9PT0gJycpIHtcblx0XHRcdFZ1ZS51dGlsLndhcm4oYCR7dGhpcy4kb3B0aW9ucy5uYW1lfSBjYW5ub3QgYmUgZW1wdHkgYW5kIHJlcXVpcmVzIGEgbWVhbmluZ2Z1bCB0ZXh0IGNvbnRlbnRgLCB0aGlzKVxuXHRcdFx0dGhpcy4kZGVzdHJveSgpXG5cdFx0XHR0aGlzLiRlbC5yZW1vdmUoKVxuXHRcdH1cblx0fSxcblxuXHRiZWZvcmVVcGRhdGUoKSB7XG5cdFx0dGhpcy50ZXh0ID0gdGhpcy5nZXRUZXh0KClcblx0fSxcblxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHQvLyAkc2xvdHMgYXJlIG5vdCByZWFjdGl2ZS5cblx0XHRcdC8vIFdlIG5lZWQgdG8gdXBkYXRlICB0aGUgY29udGVudCBtYW51YWxseVxuXHRcdFx0dGV4dDogdGhpcy5nZXRUZXh0KCksXG5cdFx0fVxuXHR9LFxuXG5cdGNvbXB1dGVkOiB7XG5cdFx0aXNMb25nVGV4dCgpIHtcblx0XHRcdHJldHVybiB0aGlzLnRleHQgJiYgdGhpcy50ZXh0LnRyaW0oKS5sZW5ndGggPiAyMFxuXHRcdH0sXG5cdH0sXG5cblx0bWV0aG9kczoge1xuXHRcdGdldFRleHQoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy4kc2xvdHMuZGVmYXVsdCA/IHRoaXMuJHNsb3RzLmRlZmF1bHRbMF0udGV4dC50cmltKCkgOiAnJ1xuXHRcdH0sXG5cdH0sXG59XG4iLCJcbi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBhY3Rpb25HbG9iYWwgZnJvbSAnLi9hY3Rpb25HbG9iYWwnXG5pbXBvcnQgR2V0UGFyZW50IGZyb20gJy4uL3V0aWxzL0dldFBhcmVudCdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRtaXhpbnM6IFthY3Rpb25HbG9iYWxdLFxuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIEljb24gdG8gc2hvdyB3aXRoIHRoZSBhY3Rpb24sIGNhbiBiZSBlaXRoZXIgYSBDU1MgY2xhc3Mgb3IgYW4gVVJMXG5cdFx0ICovXG5cdFx0aWNvbjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBUaXRsZSB0byBzaG93IG5leHQgdG8gdGhlIGljb25cblx0XHQgKi9cblx0XHR0aXRsZToge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBXaGV0aGVyIHdlIGNsb3NlIHRoZSBBY3Rpb25zIG1lbnUgYWZ0ZXIgdGhlIGNsaWNrXG5cdFx0ICovXG5cdFx0Y2xvc2VBZnRlckNsaWNrOiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBBcmlhIGxhYmVsIGZvciB0aGUgYnV0dG9uLiBOb3QgbmVlZGVkIGlmIHRoZSBidXR0b24gaGFzIHRleHQuXG5cdFx0ICovXG5cdFx0YXJpYUxhYmVsOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXHR9LFxuXG5cdGNvbXB1dGVkOiB7XG5cdFx0aXNJY29uVXJsKCkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0cmV0dXJuIG5ldyBVUkwodGhpcy5pY29uKVxuXHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0XHR9XG5cdFx0fSxcblx0fSxcblxuXHRtZXRob2RzOiB7XG5cdFx0b25DbGljayhldmVudCkge1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBFbWl0dGVkIHdoZW4gdGhlIGFjdGlvbiBpcyBjbGlja2VkXG5cdFx0XHQgKiBAdHlwZSB7RXZlbnR9XG5cdFx0XHQgKi9cblx0XHRcdHRoaXMuJGVtaXQoJ2NsaWNrJywgZXZlbnQpXG5cblx0XHRcdGlmICh0aGlzLmNsb3NlQWZ0ZXJDbGljaykge1xuXHRcdFx0XHRjb25zdCBwYXJlbnQgPSBHZXRQYXJlbnQodGhpcywgJ0FjdGlvbnMnKVxuXHRcdFx0XHRpZiAocGFyZW50ICYmIHBhcmVudC5jbG9zZU1lbnUpIHtcblx0XHRcdFx0XHRwYXJlbnQuY2xvc2VNZW51KClcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0sXG5cdH0sXG59XG4iLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIwIEdlb3JnIEVocmtlIDxnZW9yZy1uZXh0Y2xvdWRAZWhya2UuZW1haWw+XG4gKlxuICogQGF1dGhvciBHZW9yZyBFaHJrZSA8Z2VvcmctbmV4dGNsb3VkQGVocmtlLmVtYWlsPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQge1xuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIEEgY2xhc3MtbmFtZSBvciBhbiBhcnJheSBvZiBjbGFzcy1uYW1lc1xuXHRcdCAqIHRvIGJlIGlnbm9yZWQgd2hlbiBjbGlja2luZyBvdXRzaWRlXG5cdFx0ICogYW4gZWxlbWVudFxuXHRcdCAqL1xuXHRcdGV4Y2x1ZGVDbGlja091dHNpZGVDbGFzc2VzOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcgfCBBcnJheSxcblx0XHRcdGRlZmF1bHQ6ICgpID0+IFtdLFxuXHRcdH0sXG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHQvKipcblx0XHQgKiBNaWRkbGV3YXJlIEhhbmRsZXIgZm9yIFYtQ2xpY2stT3V0c2lkZVxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtFdmVudH0gZXZlbnQgVGhlIGNsaWNrIGV2ZW50XG5cdFx0ICogQHJldHVybnMge0Jvb2xlYW59XG5cdFx0ICovXG5cdFx0Y2xpY2tPdXRzaWRlTWlkZGxld2FyZShldmVudCkge1xuXHRcdFx0Y29uc3QgZXhjbHVkZWRDbGFzc0xpc3QgPSBBcnJheS5pc0FycmF5KHRoaXMuZXhjbHVkZUNsaWNrT3V0c2lkZUNsYXNzZXMpXG5cdFx0XHRcdD8gdGhpcy5leGNsdWRlQ2xpY2tPdXRzaWRlQ2xhc3Nlc1xuXHRcdFx0XHQ6IFt0aGlzLmV4Y2x1ZGVDbGlja091dHNpZGVDbGFzc2VzXVxuXG5cdFx0XHQvLyBObyBuZWVkIHRvIGl0ZXJhdGUgdGhyb3VnaCBhbGwgcGFyZW50c1xuXHRcdFx0Ly8gaWYgY2xhc3MtbGlzdCBpcyBlbXB0eVxuXHRcdFx0aWYgKGV4Y2x1ZGVkQ2xhc3NMaXN0Lmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRyZXR1cm4gdHJ1ZVxuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gIXRoaXMuaGFzTm9kZU9yQW55UGFyZW50Q2xhc3MoZXZlbnQudGFyZ2V0LCBleGNsdWRlZENsYXNzTGlzdClcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIENoZWNrcyBpZiBnaXZlbiBub2RlIG9yIGFueSBvZiBpdCdzIHBhcmVudHMgaGF2ZSBhIGNsYXNzIG9mIGNsYXNzQXJyYXlcblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZSBOb2RlIHRvIHRlc3Rcblx0XHQgKiBAcGFyYW0ge0FycmF5fSBjbGFzc0FycmF5IExpc3Qgb2YgY2xhc3NlcyB0byBjaGVjayBmb3Jcblx0XHQgKiBAcmV0dXJucyB7Qm9vbGVhbn1cblx0XHQgKi9cblx0XHRoYXNOb2RlT3JBbnlQYXJlbnRDbGFzcyhub2RlLCBjbGFzc0FycmF5KSB7XG5cdFx0XHRmb3IgKGNvbnN0IGNsYXNzTmFtZSBvZiBjbGFzc0FycmF5KSB7XG5cdFx0XHRcdGlmIChub2RlPy5jbGFzc0xpc3Q/LmNvbnRhaW5zKGNsYXNzTmFtZSkpIHtcblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiAhIW5vZGUucGFyZW50RWxlbWVudCAmJiB0aGlzLmhhc05vZGVPckFueVBhcmVudENsYXNzKG5vZGUucGFyZW50RWxlbWVudCwgY2xhc3NBcnJheSlcblx0XHR9LFxuXHR9LFxufVxuIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbmltcG9ydCBleGNsdWRlQ2xpY2tPdXRzaWRlQ2xhc3NlcyBmcm9tICcuL2V4Y2x1ZGVDbGlja091dHNpZGVDbGFzc2VzJ1xuaW1wb3J0IGlzRnVsbHNjcmVlbiBmcm9tICcuL2lzRnVsbHNjcmVlbidcbmltcG9ydCBpc01vYmlsZSBmcm9tICcuL2lzTW9iaWxlJ1xuaW1wb3J0IHJpY2hFZGl0b3IgZnJvbSAnLi9yaWNoRWRpdG9yJ1xuaW1wb3J0IHVzZXJTdGF0dXMgZnJvbSAnLi91c2VyU3RhdHVzJ1xuXG5leHBvcnQge1xuXHRleGNsdWRlQ2xpY2tPdXRzaWRlQ2xhc3Nlcyxcblx0aXNGdWxsc2NyZWVuLFxuXHRpc01vYmlsZSxcblx0cmljaEVkaXRvcixcblx0dXNlclN0YXR1cyxcbn1cbiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGlzRnVsbHNjcmVlbjogdGhpcy5faXNGdWxsc2NyZWVuKCksXG5cdFx0fVxuXHR9LFxuXHRiZWZvcmVNb3VudCgpIHtcblx0XHR3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5fb25SZXNpemUpXG5cdH0sXG5cdGJlZm9yZURlc3Ryb3koKSB7XG5cdFx0d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uUmVzaXplKVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0X29uUmVzaXplKCkge1xuXHRcdFx0Ly8gVXBkYXRlIGZ1bGxzY3JlZW4gbW9kZVxuXHRcdFx0dGhpcy5pc0Z1bGxzY3JlZW4gPSB0aGlzLl9pc0Z1bGxzY3JlZW4oKVxuXHRcdH0sXG5cdFx0X2lzRnVsbHNjcmVlbigpIHtcblx0XHRcdC8vIGlmIHRoZSB3aW5kb3cgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0LFxuXHRcdFx0Ly8gd2UncmUgaW4gZnVsbCBzY3JlZW4gbW9kZVxuXHRcdFx0cmV0dXJuIHdpbmRvdy5vdXRlckhlaWdodCA9PT0gc2NyZWVuLmhlaWdodFxuXHRcdH0sXG5cdH0sXG59XG4iLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuaW1wb3J0IHsgSXNNb2JpbGVTdGF0ZSB9IGZyb20gJy4uLy4uL3V0aWxzL0lzTW9iaWxlU3RhdGUnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0aXNNb2JpbGU6IGZhbHNlLFxuXHRcdH1cblx0fSxcblx0bW91bnRlZCgpIHtcblx0XHRJc01vYmlsZVN0YXRlLiRvbignY2hhbmdlZCcsIHRoaXMub25Jc01vYmlsZUNoYW5nZWQpXG5cdFx0dGhpcy5pc01vYmlsZSA9IElzTW9iaWxlU3RhdGUuaXNNb2JpbGVcblx0fSxcblx0YmVmb3JlRGVzdHJveSgpIHtcblx0XHRJc01vYmlsZVN0YXRlLiRvZmYoJ2NoYW5nZWQnLCB0aGlzLm9uSXNNb2JpbGVDaGFuZ2VkKVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0b25Jc01vYmlsZUNoYW5nZWQodmFsKSB7XG5cdFx0XHR0aGlzLmlzTW9iaWxlID0gdmFsXG5cdFx0fSxcblx0fSxcbn1cbiIsImltcG9ydCB7IG4sIHQgfSBmcm9tICcuLi9sMTBuJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG1ldGhvZHM6IHtcblx0XHRuLFxuXHRcdHQsXG5cdH0sXG59XG4iLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIwIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuaW1wb3J0IGVzY2FwZUh0bWwgZnJvbSAnZXNjYXBlLWh0bWwnXG5pbXBvcnQgbGlua2lmeVN0ciBmcm9tICdsaW5raWZ5anMvc3RyaW5nJ1xuaW1wb3J0IHN0cmlwVGFncyBmcm9tICdzdHJpcHRhZ3MnXG5pbXBvcnQgVnVlIGZyb20gJ3Z1ZSdcblxuaW1wb3J0IE1lbnRpb25CdWJibGUgZnJvbSAnLi4vLi4vY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL01lbnRpb25CdWJibGUnXG5cbi8vIEJlZ2lubmluZyBvciB3aGl0ZXNwYWNlLiBOb24tY2FwdHVyaW5nIGdyb3VwXG5jb25zdCBNRU5USU9OX1NUQVJUID0gJyg/Ol58XFxcXHMpJ1xuLy8gQW55dGhpbmcgdGhhdCBpcyBub3QgdGV4dCBvciBlbmQtb2YtbGluZS4gTm9uLWNhcHR1cmluZyBncm91cFxuY29uc3QgTUVOVElPTl9FTkQgPSAnKD86W15hLXpdfCQpJ1xuZXhwb3J0IGNvbnN0IFVTRVJJRF9SRUdFWCA9IG5ldyBSZWdFeHAoYCR7TUVOVElPTl9TVEFSVH0oQFthLXpBLVowLTlfLkBcXFxcLSddKykoJHtNRU5USU9OX0VORH0pYCwgJ2dpJylcbmV4cG9ydCBjb25zdCBVU0VSSURfUkVHRVhfV0lUSF9TUEFDRSA9IG5ldyBSZWdFeHAoYCR7TUVOVElPTl9TVEFSVH0oQFwiW2EtekEtWjAtOSBfLkBcXFxcLSddK1wiKSgke01FTlRJT05fRU5EfSlgLCAnZ2knKVxuXG5leHBvcnQgZGVmYXVsdCB7XG5cdHByb3BzOiB7XG5cdFx0dXNlckRhdGE6IHtcblx0XHRcdHR5cGU6IE9iamVjdCxcblx0XHRcdGRlZmF1bHQ6ICgpID0+ICh7fSksXG5cdFx0fSxcblx0fSxcblx0bWV0aG9kczoge1xuXHRcdC8qKlxuXHRcdCAqIENvbnZlcnQgdGhlIHZhbHVlIHN0cmluZyB0byBodG1sIGZvciB0aGUgaW5uZXIgY29udGVudFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIHRoZSBjb250ZW50IHdpdGhvdXQgaHRtbFxuXHRcdCAqIEByZXR1cm5zIHtzdHJpbmd9IHJlbmRlcmVkIGh0bWxcblx0XHQgKi9cblx0XHRyZW5kZXJDb250ZW50KHZhbHVlKSB7XG5cdFx0XHQvLyBTYW5pdGl6ZSB0aGUgdmFsdWUgcHJvcFxuXHRcdFx0Y29uc3Qgc2FuaXRpemVkVmFsdWUgPSBlc2NhcGVIdG1sKHZhbHVlKVxuXG5cdFx0XHQvLyBFeHRyYWN0IGFsbCB0aGUgdXNlcklkc1xuXHRcdFx0Y29uc3Qgc3BsaXRWYWx1ZSA9IHNhbml0aXplZFZhbHVlLnNwbGl0KFVTRVJJRF9SRUdFWClcblx0XHRcdFx0Lm1hcChwYXJ0ID0+IHBhcnQuc3BsaXQoVVNFUklEX1JFR0VYX1dJVEhfU1BBQ0UpKS5mbGF0KClcblxuXHRcdFx0Ly8gUmVwbGFjZSB1c2VySWRzIGJ5IGh0bWxcblx0XHRcdHJldHVybiBzcGxpdFZhbHVlXG5cdFx0XHRcdC5tYXAocGFydCA9PiB7XG5cdFx0XHRcdFx0Ly8gV2hlbiBzcGxpdHRpbmcsIHRoZSBzdHJpbmcgaXMgYWx3YXlzIHB1dHRpbmcgdGhlIHVzZXJJZHNcblx0XHRcdFx0XHQvLyBvbiB0aGUgdGhlIHVuZXZlbiBpbmRleGVzLiBXZSBvbmx5IHdhbnQgdG8gZ2VuZXJhdGUgdGhlIG1lbnRpb25zIGh0bWxcblx0XHRcdFx0XHRpZiAoIXBhcnQuc3RhcnRzV2l0aCgnQCcpKSB7XG5cdFx0XHRcdFx0XHQvLyBUaGlzIHBhcnQgZG9lc24ndCBjb250YWluIGEgbWVudGlvbiwgbGV0J3MgbWFrZSBzdXJlIGxpbmtzIGFyZSBwYXJzZWRcblx0XHRcdFx0XHRcdHJldHVybiBsaW5raWZ5U3RyKHBhcnQsIHtcblx0XHRcdFx0XHRcdFx0ZGVmYXVsdFByb3RvY29sOiAnaHR0cHMnLFxuXHRcdFx0XHRcdFx0XHR0YXJnZXQ6ICdfYmxhbmsnLFxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdleHRlcm5hbCcsXG5cdFx0XHRcdFx0XHRcdGF0dHJpYnV0ZXM6IHtcblx0XHRcdFx0XHRcdFx0XHRyZWw6ICdub29wZW5lciBub3JlZmVycmVyJyxcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gRXh0cmFjdGluZyB0aGUgaWQsIG51a2luZyB0aGUgXCIgYW5kIEBcblx0XHRcdFx0XHRjb25zdCBpZCA9IHBhcnQucmVwbGFjZSgvW0BcIl0vZ2ksICcnKVxuXG5cdFx0XHRcdFx0Ly8gQ29tcGlsaW5nIHRlbXBsYXRlIGFuZCBwcmVwZW5kIHdpdGggdGhlIHNwYWNlIHdlIHJlbW92ZWQgZHVyaW5nIHRoZSBzcGxpdFxuXHRcdFx0XHRcdHJldHVybiAnICcgKyB0aGlzLmdlblNlbGVjdFRlbXBsYXRlKGlkKVxuXHRcdFx0XHR9KVxuXHRcdFx0XHQuam9pbignJylcblx0XHRcdFx0LnJlcGxhY2UoL1xcbi9nbWksICc8YnI+Jylcblx0XHRcdFx0LnJlcGxhY2UoLyZhbXA7L2dtaSwgJyYnKVxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBDb252ZXJ0IHRoZSBpbm5lckh0bWwgY29udGVudCB0byBhIHN0cmluZyB3aXRoIG1lbnRpb25zIGFzIHRleHRcblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZW50IHRoZSBjb250ZW50IHdpdGhvdXQgaHRtbFxuXHRcdCAqIEByZXR1cm5zIHtzdHJpbmd9XG5cdFx0ICovXG5cdFx0cGFyc2VDb250ZW50KGNvbnRlbnQpIHtcblx0XHRcdGxldCB0ZXh0ID0gY29udGVudC5yZXBsYWNlKC88YnI+L2dtaSwgJ1xcbicpXG5cdFx0XHR0ZXh0ID0gdGV4dC5yZXBsYWNlKC8mbmJzcDsvZ21pLCAnICcpXG5cdFx0XHR0ZXh0ID0gdGV4dC5yZXBsYWNlKC8mYW1wOy9nbWksICcmJylcblxuXHRcdFx0Ly8gQ29udmVydCB0aGUgbWVudGlvbnMgdG8gdGV4dCBvbmx5XG5cdFx0XHQvLyBmaXJzdCB3ZSByZXBsYWNlIGRpdnMgd2l0aCBuZXcgbGluZXNcblx0XHRcdHRleHQgPSB0ZXh0LnJlcGxhY2UoLzxcXC9kaXY+L2dtaSwgJ1xcbicpXG5cdFx0XHQvLyB0aGVuIHdlIHJlbW92ZSBhbGwgbGVmdG92ZXIgaHRtbFxuXHRcdFx0dGV4dCA9IHN0cmlwVGFncyh0ZXh0LCAnPGRpdj4nKVxuXHRcdFx0dGV4dCA9IHN0cmlwVGFncyh0ZXh0KVxuXG5cdFx0XHRyZXR1cm4gdGV4dFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBHZW5lcmF0ZSBhbiBhdXRvY29tcGxldGlvbiBwb3B1cCBlbnRyeSB0ZW1wbGF0ZVxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIHRoZSB2YWx1ZSB0byBtYXRjaCBhZ2FpbnN0IHRoZSB1c2VyRGF0YVxuXHRcdCAqIEByZXR1cm5zIHtzdHJpbmd9XG5cdFx0ICovXG5cdFx0Z2VuU2VsZWN0VGVtcGxhdGUodmFsdWUpIHtcblx0XHRcdGNvbnN0IGRhdGEgPSB0aGlzLnVzZXJEYXRhW3ZhbHVlXVxuXG5cdFx0XHQvLyBGYWxsYmFjayB0byBAbWVudGlvbiBpbiBjYXNlIG5vIGRhdGEgbWF0Y2hlc1xuXHRcdFx0aWYgKCFkYXRhKSB7XG5cdFx0XHRcdC8vIHJldHVybiBgQCR7dmFsdWV9YFxuXHRcdFx0XHRyZXR1cm4gdmFsdWUuaW5kZXhPZignICcpID09PSAtMVxuXHRcdFx0XHRcdD8gYEAke3ZhbHVlfWBcblx0XHRcdFx0XHQ6IGBAXCIke3ZhbHVlfVwiYFxuXHRcdFx0fVxuXG5cdFx0XHQvLyBSZXR1cm4gdGVtcGxhdGUgYW5kIG1ha2Ugc3VyZSB3ZSBzdHJpcCBvZiBuZXcgbGluZXMgYW5kIHRhYnNcblx0XHRcdHJldHVybiB0aGlzLnJlbmRlckNvbXBvbmVudEh0bWwoZGF0YSwgTWVudGlvbkJ1YmJsZSkucmVwbGFjZSgvW1xcblxcdF0vZ21pLCAnJylcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogUmVuZGVyIGEgY29tcG9uZW50IGFuZCByZXR1cm4gaXRzIGh0bWwgY29udGVudFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IHByb3BzRGF0YSB0aGUgcHJvcHMgdG8gcGFzcyB0byB0aGUgY29tcG9uZW50XG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IGNvbXBvbmVudCB0aGUgY29tcG9uZW50IHRvIHJlbmRlclxuXHRcdCAqIEByZXR1cm5zIHtzdHJpbmd9IHRoZSByZW5kZXJlZCBodG1sXG5cdFx0ICovXG5cdFx0cmVuZGVyQ29tcG9uZW50SHRtbChwcm9wc0RhdGEsIGNvbXBvbmVudCkge1xuXHRcdFx0Y29uc3QgVmlldyA9IFZ1ZS5leHRlbmQoY29tcG9uZW50KVxuXHRcdFx0Y29uc3QgSXRlbSA9IG5ldyBWaWV3KHtcblx0XHRcdFx0cHJvcHNEYXRhLFxuXHRcdFx0fSlcblxuXHRcdFx0Ly8gUHJlcGFyZSBtb3VudHBvaW50XG5cdFx0XHRjb25zdCB3cmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jylcblx0XHRcdGNvbnN0IG1vdW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jylcblx0XHRcdHdyYXBwZXIuc3R5bGUuZGlzcGxheSA9ICdub25lJ1xuXHRcdFx0d3JhcHBlci5hcHBlbmRDaGlsZChtb3VudClcblx0XHRcdGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQod3JhcHBlcilcblxuXHRcdFx0Ly8gTW91bnQgYW5kIGdldCByYXcgaHRtbFxuXHRcdFx0SXRlbS4kbW91bnQobW91bnQpXG5cdFx0XHRjb25zdCByZW5kZXJlZEh0bWwgPSB3cmFwcGVyLmlubmVySFRNTFxuXG5cdFx0XHQvLyBEZXN0cm95XG5cdFx0XHRJdGVtLiRkZXN0cm95KClcblx0XHRcdHdyYXBwZXIucmVtb3ZlKClcblxuXHRcdFx0cmV0dXJuIHJlbmRlcmVkSHRtbFxuXHRcdH0sXG5cdH0sXG59XG4iLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIwIEdlb3JnIEVocmtlIDxnZW9yZy1uZXh0Y2xvdWRAZWhya2UuZW1haWw+XG4gKlxuICogQGF1dGhvciBHZW9yZyBFaHJrZSA8Z2VvcmctbmV4dGNsb3VkQGVocmtlLmVtYWlsPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBheGlvcyBmcm9tICdAbmV4dGNsb3VkL2F4aW9zJ1xuaW1wb3J0IHsgZ2VuZXJhdGVPY3NVcmwgfSBmcm9tICdAbmV4dGNsb3VkL3JvdXRlcidcbmltcG9ydCB7IGdldENhcGFiaWxpdGllcyB9IGZyb20gJ0BuZXh0Y2xvdWQvY2FwYWJpbGl0aWVzJ1xuaW1wb3J0IHsgZ2V0Q3VycmVudFVzZXIgfSBmcm9tICdAbmV4dGNsb3VkL2F1dGgnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0aGFzU3RhdHVzOiBmYWxzZSxcblx0XHRcdHVzZXJTdGF0dXM6IHtcblx0XHRcdFx0c3RhdHVzOiBudWxsLFxuXHRcdFx0XHRtZXNzYWdlOiBudWxsLFxuXHRcdFx0XHRpY29uOiBudWxsLFxuXHRcdFx0fSxcblx0XHR9XG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHQvKipcblx0XHQgKiBGZXRjaGVzIHRoZSB1c2VyLXN0YXR1cyBmcm9tIHRoZSBzZXJ2ZXJcblx0XHQgKiBAcGFyYW0ge1N0cmluZ30gdXNlcklkIFVzZXJJZCBvZiB0aGUgdXNlciB0byBmZXRjaCB0aGUgc3RhdHVzIGZvclxuXHRcdCAqXG5cdFx0ICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG5cdFx0ICovXG5cdFx0YXN5bmMgZmV0Y2hVc2VyU3RhdHVzKHVzZXJJZCkge1xuXHRcdFx0Y29uc3QgY2FwYWJpbGl0aWVzID0gZ2V0Q2FwYWJpbGl0aWVzKClcblx0XHRcdGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGNhcGFiaWxpdGllcywgJ3VzZXJfc3RhdHVzJykgfHwgIWNhcGFiaWxpdGllcy51c2VyX3N0YXR1cy5lbmFibGVkKSB7XG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXG5cdFx0XHQvLyBVc2VyIHN0YXR1cyBlbmRwb2ludCBpcyBub3QgYXZhaWxhYmxlIGZvciBndWVzdHMuXG5cdFx0XHRpZiAoIWdldEN1cnJlbnRVc2VyKCkpIHtcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgYXhpb3MuZ2V0KGdlbmVyYXRlT2NzVXJsKCdhcHBzL3VzZXJfc3RhdHVzL2FwaS92MScsIDIpICsgYHN0YXR1c2VzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHVzZXJJZCl9YClcblx0XHRcdFx0Y29uc3Qge1xuXHRcdFx0XHRcdHN0YXR1cyxcblx0XHRcdFx0XHRtZXNzYWdlLFxuXHRcdFx0XHRcdGljb24sXG5cdFx0XHRcdH0gPSBkYXRhLm9jcy5kYXRhXG5cdFx0XHRcdHRoaXMudXNlclN0YXR1cy5zdGF0dXMgPSBzdGF0dXNcblx0XHRcdFx0dGhpcy51c2VyU3RhdHVzLm1lc3NhZ2UgPSBtZXNzYWdlIHx8ICcnXG5cdFx0XHRcdHRoaXMudXNlclN0YXR1cy5pY29uID0gaWNvbiB8fCAnJ1xuXHRcdFx0XHR0aGlzLmhhc1N0YXR1cyA9IHRydWVcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0aWYgKGUucmVzcG9uc2Uuc3RhdHVzID09PSA0MDQgJiYgZS5yZXNwb25zZS5kYXRhLm9jcz8uZGF0YT8ubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdFx0Ly8gVXNlciBqdXN0IGhhcyBubyBzdGF0dXMgc2V0LCBzbyBkb24ndCBsb2cgaXRcblx0XHRcdFx0XHRyZXR1cm5cblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zb2xlLmVycm9yKGUpXG5cdFx0XHR9XG5cdFx0fSxcblx0fSxcbn1cbiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMjAgUmFpbXVuZCBTY2hsw7zDn2xlciA8cmFpbXVuZC5zY2hsdWVzc2xlckBtYWlsYm94Lm9yZz5cbiAqXG4gKiBAYXV0aG9yIFJhaW11bmQgU2NobMO8w59sZXIgPHJhaW11bmQuc2NobHVlc3NsZXJAbWFpbGJveC5vcmc+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFkgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuLyoqXG4gKiBGaW5kIHRoZSByYW5nZXMgb2YgYSBzdWJzdHIgaW4gYSBnaXZlbiBzdHJpbmdcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdGV4dCBUaGUgdGV4dCB0byBzZWFyY2ggaW5cbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWFyY2ggVGhlIHRleHQgdG8gc2VhcmNoIGZvclxuICogQHJldHVybnMge0FycmF5fSBUaGUgYXJyYXkgb2YgcmFuZ2VzIHRvIGhpZ2hsaWdodFxuICovXG5jb25zdCBGaW5kUmFuZ2VzID0gKHRleHQsIHNlYXJjaCkgPT4ge1xuXHRjb25zdCByYW5nZXMgPSBbXVxuXHRsZXQgY3VycmVudEluZGV4ID0gMFxuXHRsZXQgaW5kZXggPSB0ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2gudG9Mb3dlckNhc2UoKSwgY3VycmVudEluZGV4KVxuXHQvLyBWYXJpYWJsZSB0byB0cmFjayB0aGF0IHdlIGRvbid0IGl0ZXJhdGUgbW9yZSBvZnRlbiB0aGFuIHRoZSBsZW5ndGggb2YgdGhlIHRleHQuXG5cdC8vIFNob3VsZG4ndCBoYXBwZW4gYW55d2F5LCBidXQganVzdCB0byBiZSBzdXJlIHRvIG5vdCBoYW5nIHRoZSBicm93c2VyIGZvciBzb21lIHJlYXNvbi5cblx0bGV0IGkgPSAwXG5cdHdoaWxlIChpbmRleCA+IC0xICYmIGkgPCB0ZXh0Lmxlbmd0aCkge1xuXHRcdGN1cnJlbnRJbmRleCA9IGluZGV4ICsgc2VhcmNoLmxlbmd0aFxuXHRcdHJhbmdlcy5wdXNoKHsgc3RhcnQ6IGluZGV4LCBlbmQ6IGN1cnJlbnRJbmRleCB9KVxuXG5cdFx0aW5kZXggPSB0ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2gudG9Mb3dlckNhc2UoKSwgaW5kZXggKyAxKVxuXHRcdGkrK1xuXHR9XG5cdHJldHVybiByYW5nZXNcbn1cblxuZXhwb3J0IGRlZmF1bHQgRmluZFJhbmdlc1xuIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFkgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbi8qKlxuICogT3JpZ2luYWxseSB0YWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9uZXh0Y2xvdWQvc2VydmVyL2Jsb2IvbWFzdGVyL2NvcmUvanMvcGxhY2Vob2xkZXIuanNcbiAqL1xuXG5mdW5jdGlvbiBDb2xvcihyLCBnLCBiKSB7XG5cdHRoaXMuciA9IHJcblx0dGhpcy5nID0gZ1xuXHR0aGlzLmIgPSBiXG59XG5cbmZ1bmN0aW9uIHN0ZXBDYWxjKHN0ZXBzLCBlbmRzKSB7XG5cdGNvbnN0IHN0ZXAgPSBuZXcgQXJyYXkoMylcblx0c3RlcFswXSA9IChlbmRzWzFdLnIgLSBlbmRzWzBdLnIpIC8gc3RlcHNcblx0c3RlcFsxXSA9IChlbmRzWzFdLmcgLSBlbmRzWzBdLmcpIC8gc3RlcHNcblx0c3RlcFsyXSA9IChlbmRzWzFdLmIgLSBlbmRzWzBdLmIpIC8gc3RlcHNcblx0cmV0dXJuIHN0ZXBcbn1cblxuZnVuY3Rpb24gbWl4UGFsZXR0ZShzdGVwcywgY29sb3IxLCBjb2xvcjIpIHtcblx0Y29uc3QgcGFsZXR0ZSA9IFtdXG5cdHBhbGV0dGUucHVzaChjb2xvcjEpXG5cdGNvbnN0IHN0ZXAgPSBzdGVwQ2FsYyhzdGVwcywgW2NvbG9yMSwgY29sb3IyXSlcblx0Zm9yIChsZXQgaSA9IDE7IGkgPCBzdGVwczsgaSsrKSB7XG5cdFx0Y29uc3QgciA9IHBhcnNlSW50KGNvbG9yMS5yICsgc3RlcFswXSAqIGksIDEwKVxuXHRcdGNvbnN0IGcgPSBwYXJzZUludChjb2xvcjEuZyArIHN0ZXBbMV0gKiBpLCAxMClcblx0XHRjb25zdCBiID0gcGFyc2VJbnQoY29sb3IxLmIgKyBzdGVwWzJdICogaSwgMTApXG5cdFx0cGFsZXR0ZS5wdXNoKG5ldyBDb2xvcihyLCBnLCBiKSlcblx0fVxuXHRyZXR1cm4gcGFsZXR0ZVxufVxuXG4vKipcbiAqIEdlbmVyYXRlIGNvbG9ycyBmcm9tIHRoZSBvZmZpY2lhbCBuZXh0Y2xvdWQgY29sb3JcbiAqIFlvdSBjYW4gcHJvdmlkZSBob3cgbWFueSBjb2xvcnMgeW91IHdhbnQgKG11bHRpcGxpZWQgYnkgMylcbiAqIGlmIHN0ZXAgPSA2XG4gKiAzIGNvbG9ycyAqIDYgd2lsbCByZXN1bHQgaW4gMTggZ2VuZXJhdGVkIGNvbG9yc1xuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSBbc3RlcHM9Nl0gTnVtYmVyIG9mIHN0ZXBzIHRvIGdvIGZyb20gYSBjb2xvciB0byBhbm90aGVyXG4gKiBAcmV0dXJucyB7T2JqZWN0W119XG4gKi9cbmZ1bmN0aW9uIEdlbkNvbG9ycyhzdGVwcykge1xuXHRpZiAoIXN0ZXBzKSB7XG5cdFx0c3RlcHMgPSA2XG5cdH1cblxuXHRjb25zdCByZWQgPSBuZXcgQ29sb3IoMTgyLCA3MCwgMTU3KVxuXHRjb25zdCB5ZWxsb3cgPSBuZXcgQ29sb3IoMjIxLCAyMDMsIDg1KVxuXHRjb25zdCBibHVlID0gbmV3IENvbG9yKDAsIDEzMCwgMjAxKSAvLyBOZXh0Y2xvdWQgYmx1ZVxuXG5cdGNvbnN0IHBhbGV0dGUxID0gbWl4UGFsZXR0ZShzdGVwcywgcmVkLCB5ZWxsb3cpXG5cdGNvbnN0IHBhbGV0dGUyID0gbWl4UGFsZXR0ZShzdGVwcywgeWVsbG93LCBibHVlKVxuXHRjb25zdCBwYWxldHRlMyA9IG1peFBhbGV0dGUoc3RlcHMsIGJsdWUsIHJlZClcblxuXHRyZXR1cm4gcGFsZXR0ZTEuY29uY2F0KHBhbGV0dGUyKS5jb25jYXQocGFsZXR0ZTMpXG59XG5cbmV4cG9ydCBkZWZhdWx0IEdlbkNvbG9yc1xuIiwiXG4vKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuY29uc3QgR2VuUmFuZG9tSWQgPSAobGVuZ3RoKSA9PiB7XG5cdHJldHVybiBNYXRoLnJhbmRvbSgpXG5cdFx0LnRvU3RyaW5nKDM2KVxuXHRcdC5yZXBsYWNlKC9bXmEtel0rL2csICcnKVxuXHRcdC5zdWJzdHIoMCwgbGVuZ3RoIHx8IDUpXG59XG5cbmV4cG9ydCBkZWZhdWx0IEdlblJhbmRvbUlkXG4iLCJcbi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuXG4vKipcbiAqIEdldCB0aGUgZmlyc3QgcGFyZW50IGNvbXBvbmVudCBtYXRjaGluZyB0aGUgcHJvdmlkZWQgbmFtZVxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBjb250ZXh0IHRoZSBjb250ZXh0IHRvIHNlYXJjaCBmcm9tICh1c3VhbHkgdGhpcylcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIHRoZSBwYXJlbnQgbmFtZVxuICogQHJldHVybnMge09iamVjdH0gdGhlIHBhcmVudCBjb21wb25lbnRcbiAqL1xuY29uc3QgR2V0UGFyZW50ID0gZnVuY3Rpb24oY29udGV4dCwgbmFtZSkge1xuXHRsZXQgcGFyZW50ID0gY29udGV4dC4kcGFyZW50XG5cdHdoaWxlIChwYXJlbnQpIHtcblx0XHRpZiAocGFyZW50LiRvcHRpb25zLm5hbWUgPT09IG5hbWUpIHtcblx0XHRcdHJldHVybiBwYXJlbnRcblx0XHR9XG5cdFx0cGFyZW50ID0gcGFyZW50LiRwYXJlbnRcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBHZXRQYXJlbnRcbiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgS3Jpc3RvZiBIYW1hbm4sIFBhdWwgU2Nod8O2cmVyXG4gKlxuICogQGF1dGhvciBLcmlzdG9mIEhhbWFublxuICogQGF1dGhvciBQYXVsIFNjaHfDtnJlclxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuXG5pbXBvcnQgVnVlIGZyb20gJ3Z1ZSdcblxuZXhwb3J0IGNvbnN0IElzTW9iaWxlU3RhdGUgPSBuZXcgVnVlKHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0aXNNb2JpbGU6IGZhbHNlLFxuXHRcdH1cblx0fSxcblx0d2F0Y2g6IHtcblx0XHRpc01vYmlsZSh2YWwpIHtcblx0XHRcdHRoaXMuJGVtaXQoJ2NoYW5nZWQnLCB2YWwpXG5cdFx0fSxcblx0fSxcblx0Y3JlYXRlZCgpIHtcblx0XHR3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5oYW5kbGVXaW5kb3dSZXNpemUpXG5cdFx0dGhpcy5oYW5kbGVXaW5kb3dSZXNpemUoKVxuXHR9LFxuXHRiZWZvcmVEZXN0cm95KCkge1xuXHRcdHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmhhbmRsZVdpbmRvd1Jlc2l6ZSlcblx0fSxcblx0bWV0aG9kczoge1xuXHRcdGhhbmRsZVdpbmRvd1Jlc2l6ZSgpIHtcblx0XHRcdHRoaXMuaXNNb2JpbGUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggPCAxMDI0XG5cdFx0fSxcblx0fSxcbn0pXG4iLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuY29uc3QgU2NvcGVDb21wb25lbnQgPSAoQ29tcG9uZW50KSA9PiB7XG5cdC8vIEluaXQgbW91bnRlZCB2dWUgaWYgbm9uZVxuXHRpZiAoIUNvbXBvbmVudC5tb3VudGVkKSB7XG5cdFx0Q29tcG9uZW50Lm1vdW50ZWQgPSBbXVxuXHR9IGVsc2UgaWYgKCFBcnJheS5pc0FycmF5KENvbXBvbmVudC5tb3VudGVkKSkge1xuXHRcdENvbXBvbmVudC5tb3VudGVkID0gW0NvbXBvbmVudC5tb3VudGVkXVxuXHR9XG5cblx0Ly8gSW5qZWN0IHJvb3Qgc2NvcGluZyBmdW5jdGlvblxuXHRDb21wb25lbnQubW91bnRlZC5wdXNoKGZ1bmN0aW9uKCkge1xuXHRcdHRoaXMuJGVsLnNldEF0dHJpYnV0ZShgZGF0YS12LSR7U0NPUEVfVkVSU0lPTn1gLCAnJylcblx0fSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgU2NvcGVDb21wb25lbnRcbiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0aW1lcihjYWxsYmFjaywgZGVsYXkpIHtcblx0bGV0IGlkXG5cdGxldCBzdGFydGVkXG5cdGxldCByZW1haW5pbmcgPSBkZWxheVxuXHRsZXQgcnVubmluZ1xuXG5cdHRoaXMuc3RhcnQgPSBmdW5jdGlvbigpIHtcblx0XHRydW5uaW5nID0gdHJ1ZVxuXHRcdHN0YXJ0ZWQgPSBuZXcgRGF0ZSgpXG5cdFx0aWQgPSBzZXRUaW1lb3V0KGNhbGxiYWNrLCByZW1haW5pbmcpXG5cdH1cblxuXHR0aGlzLnBhdXNlID0gZnVuY3Rpb24oKSB7XG5cdFx0cnVubmluZyA9IGZhbHNlXG5cdFx0Y2xlYXJUaW1lb3V0KGlkKVxuXHRcdHJlbWFpbmluZyAtPSBuZXcgRGF0ZSgpIC0gc3RhcnRlZFxuXHR9XG5cblx0dGhpcy5jbGVhciA9IGZ1bmN0aW9uKCkge1xuXHRcdHJ1bm5pbmcgPSBmYWxzZVxuXHRcdGNsZWFyVGltZW91dChpZClcblx0XHRyZW1haW5pbmcgPSAwXG5cdH1cblxuXHR0aGlzLmdldFRpbWVMZWZ0ID0gZnVuY3Rpb24oKSB7XG5cdFx0aWYgKHJ1bm5pbmcpIHtcblx0XHRcdHRoaXMucGF1c2UoKVxuXHRcdFx0dGhpcy5zdGFydCgpXG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJlbWFpbmluZ1xuXHR9XG5cblx0dGhpcy5nZXRTdGF0ZVJ1bm5pbmcgPSBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gcnVubmluZ1xuXHR9XG5cblx0dGhpcy5zdGFydCgpXG59XG4iLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWSB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuaW1wb3J0IFZ1ZSBmcm9tICd2dWUnXG5cbi8qKlxuICogVmFsaWRhdGUgY2hpbGRyZW4gb2YgYSB2dWUgY29tcG9uZW50XG4gKlxuICogQHBhcmFtIHtPYmplY3RbXX0gc2xvdHMgdGhlIHZ1ZSBjb21wb25lbnQgc2xvdFxuICogQHBhcmFtIHtTdHJpbmdbXX0gYWxsb3dlZCB0aGUgYWxsb3dlZCBjb21wb25lbnRzIG5hbWVcbiAqIEBwYXJhbSB7T2JqZWN0fSB2bSB0aGUgdnVlIGNvbXBvbmVudCBpbnN0YW5jZVxuICovXG5jb25zdCBWYWxpZGF0ZVNsb3QgPSAoc2xvdHMsIGFsbG93ZWQsIHZtKSA9PiB7XG5cdGlmIChzbG90cyA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuXG5cdH1cblxuXHRmb3IgKGxldCBpbmRleCA9IHNsb3RzLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4LS0pIHtcblx0XHRjb25zdCBub2RlID0gc2xvdHNbaW5kZXhdXG5cdFx0Ly8gYWxzbyBjaGVjayBhZ2FpbnN0IGFsbG93ZWQgdG8gYXZvaWQgdW5pbml0aWF0ZWQgdm5vZGVzIHdpdGggbm8gY29tcG9uZW50T3B0aW9uc1xuXHRcdGNvbnN0IGlzSHRtbEVsZW1lbnQgPSAhbm9kZS5jb21wb25lbnRPcHRpb25zICYmIG5vZGUudGFnICYmIGFsbG93ZWQuaW5kZXhPZihub2RlLnRhZykgPT09IC0xXG5cdFx0Y29uc3QgaXNWdWVDb21wb25lbnQgPSAhIW5vZGUuY29tcG9uZW50T3B0aW9ucyAmJiB0eXBlb2Ygbm9kZS5jb21wb25lbnRPcHRpb25zLnRhZyA9PT0gJ3N0cmluZydcblx0XHRjb25zdCBpc0ZvcmJpZGRlbkNvbXBvbmVudCA9IGlzVnVlQ29tcG9uZW50ICYmIGFsbG93ZWQuaW5kZXhPZihub2RlLmNvbXBvbmVudE9wdGlvbnMudGFnKSA9PT0gLTFcblxuXHRcdC8vIGlmIGh0bWwgZWxlbWVudCBvciBub3QgYSB2dWUgY29tcG9uZW50IG9yIHZ1ZSBjb21wb25lbnQgbm90IGluIGFsbG93ZWQgdGFnc1xuXHRcdGlmIChpc0h0bWxFbGVtZW50IHx8ICFpc1Z1ZUNvbXBvbmVudCB8fCBpc0ZvcmJpZGRlbkNvbXBvbmVudCkge1xuXHRcdFx0Ly8gb25seSB3YXJuIHdoZW4gaHRtbCBlbG1lbnQgb3IgZm9yYmlkZGVuIGNvbXBvbmVudFxuXHRcdFx0Ly8gc29tZXRpbWVzIHRleHQgbm9kZXMgYXJlIHByZXNlbnQgd2hpY2ggYXJlIGhhcmRseSByZW1vdmVhYmxlIGJ5IHRoZSBkZXZlbG9wZXIgYW5kIHNwYW0gdGhlIHdhcm5pbmdzXG5cdFx0XHRpZiAoaXNIdG1sRWxlbWVudCB8fCBpc0ZvcmJpZGRlbkNvbXBvbmVudCkge1xuXHRcdFx0XHRWdWUudXRpbC53YXJuKGAke2lzSHRtbEVsZW1lbnQgPyBub2RlLnRhZyA6IG5vZGUuY29tcG9uZW50T3B0aW9ucy50YWd9IGlzIG5vdCBhbGxvd2VkIGluc2lkZSB0aGUgJHt2bS4kb3B0aW9ucy5uYW1lfSBjb21wb25lbnRgLCB2bSlcblx0XHRcdH1cblxuXHRcdFx0Ly8gY2xlYW51cFxuXHRcdFx0c2xvdHMuc3BsaWNlKGluZGV4LCAxKVxuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBWYWxpZGF0ZVNsb3RcbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBuZXh0Y2xvdWQvYXV0aFwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAbmV4dGNsb3VkL2F4aW9zXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBuZXh0Y2xvdWQvYnJvd3Nlci1zdG9yYWdlXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBuZXh0Y2xvdWQvY2FwYWJpbGl0aWVzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBuZXh0Y2xvdWQvZXZlbnQtYnVzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBuZXh0Y2xvdWQvbDEwbi9kaXN0L2dldHRleHRcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQG5leHRjbG91ZC9yb3V0ZXJcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmNvbmNhdC5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmlsdGVyLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maW5kLWluZGV4LmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maW5kLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5mbGF0LmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5mcm9tLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5pbmNsdWRlcy5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuaXRlcmF0b3IuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmpvaW4uanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucmVkdWNlLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zbGljZS5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc3BsaWNlLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5udW1iZXIuY29uc3RydWN0b3IuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3IuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3JzLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnZhbHVlcy5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMucHJvbWlzZS5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmNvbnN0cnVjdG9yLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLnRvLXN0cmluZy5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLmNvZGUtcG9pbnQtYXQuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5mcm9tLWNvZGUtcG9pbnQuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pbmNsdWRlcy5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLml0ZXJhdG9yLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcubWF0Y2guanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5yZXBsYWNlLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuc2VhcmNoLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuc3BsaXQuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5zdGFydHMtd2l0aC5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnRyaW0uanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC5kZXNjcmlwdGlvbi5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLml0ZXJhdG9yLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5zeW1ib2wuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuZm9yLWVhY2guanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuaXRlcmF0b3IuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL3dlYi51cmwuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiZGVib3VuY2VcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiZXNjYXBlLWh0bWxcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiaGFtbWVyanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibGlua2lmeWpzL3N0cmluZ1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJtZDVcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwicmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInN0cmluZy1sZW5ndGhcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwic3RyaXB0YWdzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInRyaWJ1dGVqcy9kaXN0L3RyaWJ1dGUuZXNtXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInYtY2xpY2stb3V0c2lkZVwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJ2LXRvb2x0aXBcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwidnVlXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInZ1ZS1jb2xvclwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJ2dWUtbXVsdGlzZWxlY3RcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwidnVlMi1kYXRlcGlja2VyXCIpOyJdLCJzb3VyY2VSb290IjoiIn0=","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Components/ActionButton\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Components/ActionButton\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"Components/ActionButton\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/components/ActionButton/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionButton/ActionButton.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mixins_actionText__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mixins/actionText */ \"./src/mixins/actionText.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/**\n * Button component to be used in Actions\n*/\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'ActionButton',\n mixins: [_mixins_actionText__WEBPACK_IMPORTED_MODULE_0__[\"default\"]],\n props: {\n /**\n * disabled state of the action button\n */\n disabled: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n /**\n * determines if the action is focusable\n * @returns {boolean} is the action focusable ?\n */\n isFocusable: function isFocusable() {\n return !this.disabled;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\nli.active[data-v-2e929b4f] {\\n background-color: var(--color-background-hover);\\n}\\n.action--disabled[data-v-2e929b4f] {\\n pointer-events: none;\\n opacity: 0.5;\\n}\\n.action--disabled[data-v-2e929b4f]:hover, .action--disabled[data-v-2e929b4f]:focus {\\n cursor: default;\\n opacity: 0.5;\\n}\\n.action--disabled *[data-v-2e929b4f] {\\n opacity: 1 !important;\\n}\\n.action-button[data-v-2e929b4f] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n padding-right: 14px;\\n cursor: pointer;\\n white-space: nowrap;\\n opacity: 0.7;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n font-size: var(--default-font-size);\\n line-height: 44px;\\n}\\n.action-button[data-v-2e929b4f]:hover, .action-button[data-v-2e929b4f]:focus {\\n opacity: 1;\\n}\\n.action-button > span[data-v-2e929b4f] {\\n cursor: pointer;\\n white-space: nowrap;\\n}\\n.action-button__icon[data-v-2e929b4f] {\\n width: 44px;\\n height: 44px;\\n opacity: 1;\\n background-position: 14px center;\\n background-size: 16px;\\n background-repeat: no-repeat;\\n}\\n.action-button .material-design-icon[data-v-2e929b4f] {\\n width: 44px;\\n height: 44px;\\n opacity: 1;\\n}\\n.action-button .material-design-icon .material-design-icon__svg[data-v-2e929b4f] {\\n vertical-align: middle;\\n}\\n.action-button p[data-v-2e929b4f] {\\n max-width: 220px;\\n line-height: 1.6em;\\n padding: 10.8px 0;\\n cursor: pointer;\\n text-align: left;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.action-button__longtext[data-v-2e929b4f] {\\n cursor: pointer;\\n white-space: pre-wrap;\\n}\\n.action-button__title[data-v-2e929b4f] {\\n font-weight: bold;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n max-width: 100%;\\n display: inline-block;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./ActionButton.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../assets/action.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AErBF;;;;;;;;;;;;;;;;;;;;;EF2CE;AEnBD;EAEE,+CAA+C;AAAA;AAMjD;EACC,oBAAoB;EACpB,YDQmB;AAAA;ACVpB;IAIE,eAAe;IACf,YDKkB;AAAA;ACVpB;IAQE,qBAAqB;AAAA;AAOvB;EACC,aAAa;EACb,uBAAuB;EAEvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,mBDtB8C;ECwB9C,eAAe;EACf,mBAAmB;EAEnB,YDjBiB;ECkBjB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAEhB,mBAAmB;EACnB,mCAAmC;EACnC,iBD5CmB;AAAA;ACsBpB;IA0BE,UD7Ba;AAAA;ACGf;IA8BE,eAAe;IACf,mBAAmB;AAAA;AAGpB;IACC,WDzDkB;IC0DlB,YD1DkB;IC2DlB,UDxCa;ICyCb,gCAAwC;IACxC,qBDzDa;IC0Db,4BAA4B;AAAA;AAxC9B;IA4CE,WDlEkB;ICmElB,YDnEkB;ICoElB,UDjDa;AAAA;ACGf;MAiDG,sBAAsB;AAAA;AAjDzB;IAuDE,gBAAgB;IAChB,kBAAkB;IAGlB,iBAA8C;IAE9C,eAAe;IACf,gBAAgB;IAGhB,gBAAgB;IAChB,uBAAuB;AAAA;AAGxB;IACC,eAAe;IAEf,qBAAqB;AAAA;AAGtB;IACC,iBAAiB;IACjB,uBAAuB;IACvB,gBAAgB;IAChB,mBAAmB;IACnB,eAAe;IACf,qBAAqB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n@include action-item('button');\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/api.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/api.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/cssWithMappingToString.js ***!\n \\************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_style_index_0_id_2e929b4f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_style_index_0_id_2e929b4f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_style_index_0_id_2e929b4f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!\n \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : undefined;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true&\":\n/*!*******************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ActionButton/ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true& ***!\n \\*******************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled } },\n [\n _c(\n \"button\",\n {\n staticClass: \"action-button\",\n class: { focusable: _vm.isFocusable },\n attrs: { \"aria-label\": _vm.ariaLabel },\n on: { click: _vm.onClick }\n },\n [\n _c(\n \"span\",\n {\n staticClass: \"action-button__icon\",\n class: [_vm.isIconUrl ? \"action-button__icon--url\" : _vm.icon],\n style: {\n backgroundImage: _vm.isIconUrl ? \"url(\" + _vm.icon + \")\" : null\n }\n },\n [_vm._t(\"icon\")],\n 2\n ),\n _vm._v(\" \"),\n _vm.title\n ? _c(\"p\", [\n _c(\"strong\", { staticClass: \"action-button__title\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.title) + \"\\n\\t\\t\\t\")\n ]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"action-button__longtext\",\n domProps: { textContent: _vm._s(_vm.text) }\n })\n ])\n : _vm.isLongText\n ? _c(\"p\", {\n staticClass: \"action-button__longtext\",\n domProps: { textContent: _vm._s(_vm.text) }\n })\n : _c(\"span\", { staticClass: \"action-button__text\" }, [\n _vm._v(_vm._s(_vm.text))\n ]),\n _vm._v(\" \"),\n false ? undefined : _vm._e()\n ],\n 2\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionButton/ActionButton.vue\":\n/*!******************************************************!*\\\n !*** ./src/components/ActionButton/ActionButton.vue ***!\n \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionButton_vue_vue_type_template_id_2e929b4f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true& */ \"./src/components/ActionButton/ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true&\");\n/* harmony import */ var _ActionButton_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ActionButton.vue?vue&type=script&lang=js& */ \"./src/components/ActionButton/ActionButton.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _ActionButton_vue_vue_type_style_index_0_id_2e929b4f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true& */ \"./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _ActionButton_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ActionButton.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/ActionButton/ActionButton.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _ActionButton_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ActionButton_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _ActionButton_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ActionButton_vue_vue_type_template_id_2e929b4f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ActionButton_vue_vue_type_template_id_2e929b4f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"2e929b4f\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _ActionButton_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _ActionButton_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/ActionButton/ActionButton.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/ActionButton/ActionButton.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*********************************************************************************************!*\\\n !*** ./src/components/ActionButton/ActionButton.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionButton/ActionButton.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************!*\\\n !*** ./src/components/ActionButton/ActionButton.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionButton.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************!*\\\n !*** ./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_style_index_0_id_2e929b4f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=style&index=0&id=2e929b4f&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/ActionButton/ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true&\":\n/*!*************************************************************************************************!*\\\n !*** ./src/components/ActionButton/ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true& ***!\n \\*************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_template_id_2e929b4f_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/ActionButton/ActionButton.vue?vue&type=template&id=2e929b4f&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_template_id_2e929b4f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ActionButton_vue_vue_type_template_id_2e929b4f_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/ActionButton/index.js\":\n/*!**********************************************!*\\\n !*** ./src/components/ActionButton/index.js ***!\n \\**********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ActionButton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActionButton */ \"./src/components/ActionButton/ActionButton.vue\");\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_ActionButton__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/mixins/actionGlobal.js\":\n/*!************************************!*\\\n !*** ./src/mixins/actionGlobal.js ***!\n \\************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"core-js/modules/es.string.trim.js\");\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n before: function before() {\n // all actions requires a valid text content\n // if none, forbid the component mount and throw error\n if (!this.$slots.default || this.text.trim() === '') {\n vue__WEBPACK_IMPORTED_MODULE_2___default.a.util.warn(\"\".concat(this.$options.name, \" cannot be empty and requires a meaningful text content\"), this);\n this.$destroy();\n this.$el.remove();\n }\n },\n beforeUpdate: function beforeUpdate() {\n this.text = this.getText();\n },\n data: function data() {\n return {\n // $slots are not reactive.\n // We need to update the content manually\n text: this.getText()\n };\n },\n computed: {\n isLongText: function isLongText() {\n return this.text && this.text.trim().length > 20;\n }\n },\n methods: {\n getText: function getText() {\n return this.$slots.default ? this.$slots.default[0].text.trim() : '';\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/mixins/actionText.js\":\n/*!**********************************!*\\\n !*** ./src/mixins/actionText.js ***!\n \\**********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/web.url.js */ \"core-js/modules/web.url.js\");\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _actionGlobal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./actionGlobal */ \"./src/mixins/actionGlobal.js\");\n/* harmony import */ var _utils_GetParent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/GetParent */ \"./src/utils/GetParent.js\");\n\n\n\n\n\n\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [_actionGlobal__WEBPACK_IMPORTED_MODULE_5__[\"default\"]],\n props: {\n /**\n * Icon to show with the action, can be either a CSS class or an URL\n */\n icon: {\n type: String,\n default: ''\n },\n\n /**\n * Title to show next to the icon\n */\n title: {\n type: String,\n default: ''\n },\n\n /**\n * Whether we close the Actions menu after the click\n */\n closeAfterClick: {\n type: Boolean,\n default: false\n },\n\n /**\n * Aria label for the button. Not needed if the button has text.\n */\n ariaLabel: {\n type: String,\n default: ''\n }\n },\n computed: {\n isIconUrl: function isIconUrl() {\n try {\n return new URL(this.icon);\n } catch (error) {\n return false;\n }\n }\n },\n methods: {\n onClick: function onClick(event) {\n /**\n * Emitted when the action is clicked\n * @type {Event}\n */\n this.$emit('click', event);\n\n if (this.closeAfterClick) {\n var parent = Object(_utils_GetParent__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this, 'Actions');\n\n if (parent && parent.closeMenu) {\n parent.closeMenu();\n }\n }\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/utils/GetParent.js\":\n/*!********************************!*\\\n !*** ./src/utils/GetParent.js ***!\n \\********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_0__);\n\n\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Get the first parent component matching the provided name\n *\n * @param {Object} context the context to search from (usualy this)\n * @param {string} name the parent name\n * @returns {Object} the parent component\n */\nvar GetParent = function GetParent(context, name) {\n var parent = context.$parent;\n\n while (parent) {\n if (parent.$options.name === name) {\n return parent;\n }\n\n parent = parent.$parent;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GetParent);\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.iterator.js\":\n/*!*******************************************************!*\\\n !*** external \"core-js/modules/es.array.iterator.js\" ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.function.name.js\":\n/*!******************************************************!*\\\n !*** external \"core-js/modules/es.function.name.js\" ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.function.name.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.object.to-string.js\":\n/*!*********************************************************!*\\\n !*** external \"core-js/modules/es.object.to-string.js\" ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.object.to-string.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.iterator.js\":\n/*!********************************************************!*\\\n !*** external \"core-js/modules/es.string.iterator.js\" ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.trim.js\":\n/*!****************************************************!*\\\n !*** external \"core-js/modules/es.string.trim.js\" ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.trim.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/web.dom-collections.iterator.js\":\n/*!******************************************************************!*\\\n !*** external \"core-js/modules/web.dom-collections.iterator.js\" ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/web.dom-collections.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/web.url.js\":\n/*!*********************************************!*\\\n !*** external \"core-js/modules/web.url.js\" ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/web.url.js\");\n\n/***/ }),\n\n/***/ \"vue\":\n/*!**********************!*\\\n !*** external \"vue\" ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue\");\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQWN0aW9uQnV0dG9uL0FjdGlvbkJ1dHRvbi52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbkJ1dHRvbi9BY3Rpb25CdXR0b24udnVlPzg5MDYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25CdXR0b24vQWN0aW9uQnV0dG9uLnZ1ZT80OWY5Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbkJ1dHRvbi9BY3Rpb25CdXR0b24udnVlPzZkNjAiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbkJ1dHRvbi9BY3Rpb25CdXR0b24udnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25CdXR0b24vQWN0aW9uQnV0dG9uLnZ1ZT80ODQxIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25CdXR0b24vQWN0aW9uQnV0dG9uLnZ1ZT9mNzBhIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25CdXR0b24vQWN0aW9uQnV0dG9uLnZ1ZT9hZTJjIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25CdXR0b24vaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9taXhpbnMvYWN0aW9uR2xvYmFsLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvbWl4aW5zL2FjdGlvblRleHQuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy91dGlscy9HZXRQYXJlbnQuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5pdGVyYXRvci5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLml0ZXJhdG9yLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcudHJpbS5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5pdGVyYXRvci5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJ2dWVcIiJdLCJuYW1lcyI6WyJBY3Rpb25CdXR0b24iLCJiZWZvcmUiLCIkc2xvdHMiLCJkZWZhdWx0IiwidGV4dCIsInRyaW0iLCJWdWUiLCJ1dGlsIiwid2FybiIsIiRvcHRpb25zIiwibmFtZSIsIiRkZXN0cm95IiwiJGVsIiwicmVtb3ZlIiwiYmVmb3JlVXBkYXRlIiwiZ2V0VGV4dCIsImRhdGEiLCJjb21wdXRlZCIsImlzTG9uZ1RleHQiLCJsZW5ndGgiLCJtZXRob2RzIiwibWl4aW5zIiwiYWN0aW9uR2xvYmFsIiwicHJvcHMiLCJpY29uIiwidHlwZSIsIlN0cmluZyIsInRpdGxlIiwiY2xvc2VBZnRlckNsaWNrIiwiQm9vbGVhbiIsImFyaWFMYWJlbCIsImlzSWNvblVybCIsIlVSTCIsImVycm9yIiwib25DbGljayIsImV2ZW50IiwiJGVtaXQiLCJwYXJlbnQiLCJHZXRQYXJlbnQiLCJjbG9zZU1lbnUiLCJjb250ZXh0IiwiJHBhcmVudCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRCxDQUFDO0FBQ0QsTztRQ1ZBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBOzs7UUFHQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0EsMENBQTBDLGdD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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNRCxTQUFTLEdBQUcsU0FBWkEsU0FBWSxDQUFTRSxPQUFULEVBQWtCOUIsSUFBbEIsRUFBd0I7QUFDekMsTUFBSTJCLE1BQU0sR0FBR0csT0FBTyxDQUFDQyxPQUFyQjs7QUFDQSxTQUFPSixNQUFQLEVBQWU7QUFDZCxRQUFJQSxNQUFNLENBQUM1QixRQUFQLENBQWdCQyxJQUFoQixLQUF5QkEsSUFBN0IsRUFBbUM7QUFDbEMsYUFBTzJCLE1BQVA7QUFDQTs7QUFDREEsVUFBTSxHQUFHQSxNQUFNLENBQUNJLE9BQWhCO0FBQ0E7QUFDRCxDQVJEOztBQVVlSCx3RUFBZixFOzs7Ozs7Ozs7OztBQ3hDQSxpRTs7Ozs7Ozs7Ozs7QUNBQSxnRTs7Ozs7Ozs7Ozs7QUNBQSxtRTs7Ozs7Ozs7Ozs7QUNBQSxrRTs7Ozs7Ozs7Ozs7QUNBQSw4RDs7Ozs7Ozs7Ozs7QUNBQSw0RTs7Ozs7Ozs7Ozs7QUNBQSx1RDs7Ozs7Ozs7Ozs7QUNBQSxnQyIsImZpbGUiOiJDb21wb25lbnRzL0FjdGlvbkJ1dHRvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFwiQ29tcG9uZW50cy9BY3Rpb25CdXR0b25cIiwgW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiQ29tcG9uZW50cy9BY3Rpb25CdXR0b25cIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiTmV4dGNsb3VkVnVlXCJdID0gcm9vdFtcIk5leHRjbG91ZFZ1ZVwiXSB8fCB7fSwgcm9vdFtcIk5leHRjbG91ZFZ1ZVwiXVtcIkNvbXBvbmVudHMvQWN0aW9uQnV0dG9uXCJdID0gZmFjdG9yeSgpO1xufSkod2luZG93LCBmdW5jdGlvbigpIHtcbnJldHVybiAiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIi9kaXN0L1wiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gXCIuL3NyYy9jb21wb25lbnRzL0FjdGlvbkJ1dHRvbi9pbmRleC5qc1wiKTtcbiIsIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLSBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWU+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48ZG9jcz5cblRoaXMgY29tcG9uZW50IGlzIG1hZGUgdG8gYmUgdXNlZCBpbnNpZGUgb2YgdGhlIFtBY3Rpb25zXSgjQWN0aW9ucykgY29tcG9uZW50IHNsb3RzLlxuXG5gYGB2dWVcblx0PEFjdGlvbnM+XG5cdFx0PEFjdGlvbkJ1dHRvbiBpY29uPVwiaWNvbi1kZWxldGVcIiBAY2xpY2s9XCJhbGVydCgnRGVsZXRlJylcIj5EZWxldGU8L0FjdGlvbkJ1dHRvbj5cblx0XHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWRlbGV0ZVwiIDpjbG9zZS1hZnRlci1jbGljaz1cInRydWVcIiBAY2xpY2s9XCJhbGVydCgnRGVsZXRlIGFuZCBjbG9zZSBtZW51JylcIj5EZWxldGUgYW5kIGNsb3NlPC9BY3Rpb25CdXR0b24+XG5cdFx0PEFjdGlvbkJ1dHRvbiBpY29uPVwiaWNvbi1kZWxldGVcIiA6ZGlzYWJsZWQ9XCJ0cnVlXCIgQGNsaWNrPVwiYWxlcnQoJ0Rpc2FibGVkJylcIj5EaXNhYmxlZCBidXR0b248L0FjdGlvbkJ1dHRvbj5cblx0PC9BY3Rpb25zPlxuYGBgXG5cbklmIHlvdSdyZSB1c2luZyBhIGxvbmcgdGV4dCB5b3UgY2FuIHNwZWNpZnkgYSB0aXRsZVxuXG5gYGB2dWVcblx0PEFjdGlvbnM+XG5cdFx0PEFjdGlvbkJ1dHRvbiBpY29uPVwiaWNvbi1hZGRcIiBAY2xpY2s9XCJhbGVydCgnQWRkJylcIj5BZGQgbmV3PC9BY3Rpb25CdXR0b24+XG5cdFx0PEFjdGlvbkJ1dHRvbiBpY29uPVwiaWNvbi1kZWxldGVcIiB0aXRsZT1cIkxvbmcgYnV0dG9uXCIgQGNsaWNrPVwiYWxlcnQoJ0RlbGV0ZScpXCI+VGhpcyBidXR0b24gaXMgYXNzb2NpYXRlZCB3aXRoIGEgdmVyeSBsb25nIHRleHQuXFxuQW5kIHdpdGggbmV3IGxpbmVzIHRvby48L0FjdGlvbkJ1dHRvbj5cblx0PC9BY3Rpb25zPlxuYGBgXG5cbllvdSBjYW4gYWxzbyB1c2UgYSBjdXN0b20gaWNvbiwgZm9yIGV4YW1wbGUgZnJvbSB0aGUgdnVlLW1hdGVyaWFsLWRlc2lnbi1pY29ucyBsaWJyYXJ5OlxuXG5gYGB2dWVcbjx0ZW1wbGF0ZT5cblx0PEFjdGlvbnM+XG5cdFx0PEFjdGlvbkJ1dHRvbj5cblx0XHRcdDxIYW5kTGVmdFxuXHRcdFx0XHRzbG90PVwiaWNvblwiXG5cdFx0XHRcdDpzaXplPVwiMTZcIlxuXHRcdFx0XHRkZWNvcmF0aXZlXG5cdFx0XHRcdHRpdGxlPVwiXCIgLz5cblx0XHRcdFJhaXNlIGxlZnQgaGFuZFxuXHRcdDwvQWN0aW9uQnV0dG9uPlxuXHRcdDxBY3Rpb25CdXR0b24+XG5cdFx0XHQ8SGFuZFJpZ2h0XG5cdFx0XHRcdHNsb3Q9XCJpY29uXCJcblx0XHRcdFx0OnNpemU9XCIxNlwiXG5cdFx0XHRcdGRlY29yYXRpdmVcblx0XHRcdFx0dGl0bGU9XCJcIiAvPlxuXHRcdFx0UmFpc2UgcmlnaHQgaGFuZFxuXHRcdDwvQWN0aW9uQnV0dG9uPlxuXHQ8L0FjdGlvbnM+XG48L3RlbXBsYXRlPlxuPHNjcmlwdD5cbmltcG9ydCBIYW5kTGVmdCBmcm9tICd2dWUtbWF0ZXJpYWwtZGVzaWduLWljb25zL0hhbmRMZWZ0J1xuaW1wb3J0IEhhbmRSaWdodCBmcm9tICd2dWUtbWF0ZXJpYWwtZGVzaWduLWljb25zL0hhbmRSaWdodCdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRjb21wb25lbnRzOiB7XG5cdFx0SGFuZExlZnQsXG5cdFx0SGFuZFJpZ2h0LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG5gYGBcbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8bGkgY2xhc3M9XCJhY3Rpb25cIiA6Y2xhc3M9XCJ7ICdhY3Rpb24tLWRpc2FibGVkJzogZGlzYWJsZWQgfVwiPlxuXHRcdDxidXR0b25cblx0XHRcdGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiXG5cdFx0XHQ6YXJpYS1sYWJlbD1cImFyaWFMYWJlbFwiXG5cdFx0XHQ6Y2xhc3M9XCJ7IGZvY3VzYWJsZTogaXNGb2N1c2FibGUgfVwiXG5cdFx0XHRAY2xpY2s9XCJvbkNsaWNrXCI+XG5cdFx0XHQ8c3BhbiA6Y2xhc3M9XCJbaXNJY29uVXJsID8gJ2FjdGlvbi1idXR0b25fX2ljb24tLXVybCcgOiBpY29uXVwiXG5cdFx0XHRcdDpzdHlsZT1cInsgYmFja2dyb3VuZEltYWdlOiBpc0ljb25VcmwgPyBgdXJsKCR7aWNvbn0pYCA6IG51bGwgfVwiXG5cdFx0XHRcdGNsYXNzPVwiYWN0aW9uLWJ1dHRvbl9faWNvblwiPlxuXHRcdFx0XHQ8IS0tIEBzbG90IE1hbnVhbGx5IHByb3ZpZGUgaWNvbiAtLT5cblx0XHRcdFx0PHNsb3QgbmFtZT1cImljb25cIiAvPlxuXHRcdFx0PC9zcGFuPlxuXG5cdFx0XHQ8IS0tIGxvbmcgdGV4dCB3aXRoIHRpdGxlIC0tPlxuXHRcdFx0PHAgdi1pZj1cInRpdGxlXCI+XG5cdFx0XHRcdDxzdHJvbmcgY2xhc3M9XCJhY3Rpb24tYnV0dG9uX190aXRsZVwiPlxuXHRcdFx0XHRcdHt7IHRpdGxlIH19XG5cdFx0XHRcdDwvc3Ryb25nPlxuXHRcdFx0XHQ8YnI+XG5cdFx0XHRcdDwhLS0gd2hpdGUgc3BhY2UgaXMgc2hvd24gb24gbG9uZ3RleHQsIHNvIHdlIGNhbid0XG5cdFx0XHRcdFx0cHV0IHt7IHRleHQgfX0gb24gYSBuZXcgbGluZSBmb3IgY29kZSByZWFkYWJpbGl0eSAtLT5cblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJhY3Rpb24tYnV0dG9uX19sb25ndGV4dFwiIHYtdGV4dD1cInRleHRcIiAvPlxuXHRcdFx0PC9wPlxuXG5cdFx0XHQ8IS0tIGxvbmcgdGV4dCBvbmx5IC0tPlxuXHRcdFx0PCEtLSB3aGl0ZSBzcGFjZSBpcyBzaG93biBvbiBsb25ndGV4dCwgc28gd2UgY2FuJ3Rcblx0XHRcdFx0cHV0IHt7IHRleHQgfX0gb24gYSBuZXcgbGluZSBmb3IgY29kZSByZWFkYWJpbGl0eSAtLT5cblx0XHRcdDxwIHYtZWxzZS1pZj1cImlzTG9uZ1RleHRcIlxuXHRcdFx0XHRjbGFzcz1cImFjdGlvbi1idXR0b25fX2xvbmd0ZXh0XCJcblx0XHRcdFx0di10ZXh0PVwidGV4dFwiIC8+XG5cblx0XHRcdDwhLS0gZGVmYXVsdCB0ZXh0IGRpc3BsYXkgLS0+XG5cdFx0XHQ8c3BhbiB2LWVsc2UgY2xhc3M9XCJhY3Rpb24tYnV0dG9uX190ZXh0XCI+e3sgdGV4dCB9fTwvc3Bhbj5cblxuXHRcdFx0PCEtLSBmYWtlIHNsb3QgdG8gZ2F0aGVyIGlubmVyIHRleHQgLS0+XG5cdFx0XHQ8c2xvdCB2LWlmPVwiZmFsc2VcIiAvPlxuXHRcdDwvYnV0dG9uPlxuXHQ8L2xpPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBBY3Rpb25UZXh0TWl4aW4gZnJvbSAnLi4vLi4vbWl4aW5zL2FjdGlvblRleHQnXG5cbi8qKlxuICogQnV0dG9uIGNvbXBvbmVudCB0byBiZSB1c2VkIGluIEFjdGlvbnNcbiovXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdBY3Rpb25CdXR0b24nLFxuXG5cdG1peGluczogW0FjdGlvblRleHRNaXhpbl0sXG5cblx0cHJvcHM6IHtcblx0XHQvKipcblx0XHQgKiBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgYWN0aW9uIGJ1dHRvblxuXHRcdCAqL1xuXHRcdGRpc2FibGVkOiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblx0fSxcblx0Y29tcHV0ZWQ6IHtcblx0XHQvKipcblx0XHQgKiBkZXRlcm1pbmVzIGlmIHRoZSBhY3Rpb24gaXMgZm9jdXNhYmxlXG5cdFx0ICogQHJldHVybnMge2Jvb2xlYW59IGlzIHRoZSBhY3Rpb24gZm9jdXNhYmxlID9cblx0XHQgKi9cblx0XHRpc0ZvY3VzYWJsZSgpIHtcblx0XHRcdHJldHVybiAhdGhpcy5kaXNhYmxlZFxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuQGltcG9ydCAnLi4vLi4vYXNzZXRzL2FjdGlvbic7XG5AaW5jbHVkZSBhY3Rpb24tYWN0aXZlO1xuQGluY2x1ZGUgYWN0aW9uLS1kaXNhYmxlZDtcbkBpbmNsdWRlIGFjdGlvbi1pdGVtKCdidXR0b24nKTtcbjwvc3R5bGU+XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICogQGF1dGhvciBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbmxpLmFjdGl2ZVtkYXRhLXYtMmU5MjliNGZdIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xcbn1cXG4uYWN0aW9uLS1kaXNhYmxlZFtkYXRhLXYtMmU5MjliNGZdIHtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgb3BhY2l0eTogMC41O1xcbn1cXG4uYWN0aW9uLS1kaXNhYmxlZFtkYXRhLXYtMmU5MjliNGZdOmhvdmVyLCAuYWN0aW9uLS1kaXNhYmxlZFtkYXRhLXYtMmU5MjliNGZdOmZvY3VzIHtcXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgICBvcGFjaXR5OiAwLjU7XFxufVxcbi5hY3Rpb24tLWRpc2FibGVkICpbZGF0YS12LTJlOTI5YjRmXSB7XFxuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcXG59XFxuLmFjdGlvbi1idXR0b25bZGF0YS12LTJlOTI5YjRmXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bztcXG4gIG1hcmdpbjogMDtcXG4gIHBhZGRpbmc6IDA7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNHB4O1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIG9wYWNpdHk6IDAuNztcXG4gIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcbiAgYm9yZGVyOiAwO1xcbiAgYm9yZGVyLXJhZGl1czogMDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm94LXNoYWRvdzogbm9uZTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXNpemU6IHZhcigtLWRlZmF1bHQtZm9udC1zaXplKTtcXG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xcbn1cXG4uYWN0aW9uLWJ1dHRvbltkYXRhLXYtMmU5MjliNGZdOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbltkYXRhLXYtMmU5MjliNGZdOmZvY3VzIHtcXG4gICAgb3BhY2l0eTogMTtcXG59XFxuLmFjdGlvbi1idXR0b24gPiBzcGFuW2RhdGEtdi0yZTkyOWI0Zl0ge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxufVxcbi5hY3Rpb24tYnV0dG9uX19pY29uW2RhdGEtdi0yZTkyOWI0Zl0ge1xcbiAgICB3aWR0aDogNDRweDtcXG4gICAgaGVpZ2h0OiA0NHB4O1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNHB4IGNlbnRlcjtcXG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbn1cXG4uYWN0aW9uLWJ1dHRvbiAubWF0ZXJpYWwtZGVzaWduLWljb25bZGF0YS12LTJlOTI5YjRmXSB7XFxuICAgIHdpZHRoOiA0NHB4O1xcbiAgICBoZWlnaHQ6IDQ0cHg7XFxuICAgIG9wYWNpdHk6IDE7XFxufVxcbi5hY3Rpb24tYnV0dG9uIC5tYXRlcmlhbC1kZXNpZ24taWNvbiAubWF0ZXJpYWwtZGVzaWduLWljb25fX3N2Z1tkYXRhLXYtMmU5MjliNGZdIHtcXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbn1cXG4uYWN0aW9uLWJ1dHRvbiBwW2RhdGEtdi0yZTkyOWI0Zl0ge1xcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xcbiAgICBsaW5lLWhlaWdodDogMS42ZW07XFxuICAgIHBhZGRpbmc6IDEwLjhweCAwO1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIHRleHQtYWxpZ246IGxlZnQ7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbn1cXG4uYWN0aW9uLWJ1dHRvbl9fbG9uZ3RleHRbZGF0YS12LTJlOTI5YjRmXSB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xcbn1cXG4uYWN0aW9uLWJ1dHRvbl9fdGl0bGVbZGF0YS12LTJlOTI5YjRmXSB7XFxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL0FjdGlvbkJ1dHRvbi52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL2FjdGlvbi5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUVyQkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRjJDRTtBRW5CRDtFQUVFLCtDQUErQztBQUFBO0FBTWpEO0VBQ0Msb0JBQW9CO0VBQ3BCLFlEUW1CO0FBQUE7QUNWcEI7SUFJRSxlQUFlO0lBQ2YsWURLa0I7QUFBQTtBQ1ZwQjtJQVFFLHFCQUFxQjtBQUFBO0FBT3ZCO0VBQ0MsYUFBYTtFQUNiLHVCQUF1QjtFQUV2QixXQUFXO0VBQ1gsWUFBWTtFQUNaLFNBQVM7RUFDVCxVQUFVO0VBQ1YsbUJEdEI4QztFQ3dCOUMsZUFBZTtFQUNmLG1CQUFtQjtFQUVuQixZRGpCaUI7RUNrQmpCLDZCQUE2QjtFQUM3QixTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLDZCQUE2QjtFQUM3QixnQkFBZ0I7RUFFaEIsbUJBQW1CO0VBQ25CLG1DQUFtQztFQUNuQyxpQkQ1Q21CO0FBQUE7QUNzQnBCO0lBMEJFLFVEN0JhO0FBQUE7QUNHZjtJQThCRSxlQUFlO0lBQ2YsbUJBQW1CO0FBQUE7QUFHcEI7SUFDQyxXRHpEa0I7SUMwRGxCLFlEMURrQjtJQzJEbEIsVUR4Q2E7SUN5Q2IsZ0NBQXdDO0lBQ3hDLHFCRHpEYTtJQzBEYiw0QkFBNEI7QUFBQTtBQXhDOUI7SUE0Q0UsV0RsRWtCO0lDbUVsQixZRG5Fa0I7SUNvRWxCLFVEakRhO0FBQUE7QUNHZjtNQWlERyxzQkFBc0I7QUFBQTtBQWpEekI7SUF1REUsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUdsQixpQkFBOEM7SUFFOUMsZUFBZTtJQUNmLGdCQUFnQjtJQUdoQixnQkFBZ0I7SUFDaEIsdUJBQXVCO0FBQUE7QUFHeEI7SUFDQyxlQUFlO0lBRWYscUJBQXFCO0FBQUE7QUFHdEI7SUFDQyxpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLHFCQUFxQjtBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5AaW1wb3J0ICcuLi8uLi9hc3NldHMvYWN0aW9uJztcXG5AaW5jbHVkZSBhY3Rpb24tYWN0aXZlO1xcbkBpbmNsdWRlIGFjdGlvbi0tZGlzYWJsZWQ7XFxuQGluY2x1ZGUgYWN0aW9uLWl0ZW0oJ2J1dHRvbicpO1xcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG5AbWl4aW4gYWN0aW9uLWFjdGl2ZSB7XFxuXFx0bGkge1xcblxcdFxcdCYuYWN0aXZlIHtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG5cXG5AbWl4aW4gYWN0aW9uLS1kaXNhYmxlZCB7XFxuXFx0LmFjdGlvbi0tZGlzYWJsZWQge1xcblxcdFxcdHBvaW50ZXItZXZlbnRzOiBub25lO1xcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Rpc2FibGVkO1xcblxcdFxcdCY6aG92ZXIsICY6Zm9jdXMge1xcblxcdFxcdFxcdGN1cnNvcjogZGVmYXVsdDtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9kaXNhYmxlZDtcXG5cXHRcXHR9XFxuXFx0XFx0JiAqIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXFxuXFxuQG1peGluIGFjdGlvbi1pdGVtKCRuYW1lKSB7XFxuXFx0LmFjdGlvbi0jeyRuYW1lfSB7XFxuXFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG5cXG5cXHRcXHR3aWR0aDogMTAwJTtcXG5cXHRcXHRoZWlnaHQ6IGF1dG87XFxuXFx0XFx0bWFyZ2luOiAwO1xcblxcdFxcdHBhZGRpbmc6IDA7XFxuXFx0XFx0cGFkZGluZy1yaWdodDogJGljb24tbWFyZ2luO1xcblxcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRcXHRib3JkZXI6IDA7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogMDsgLy8gb3RoZXJ3aXNlIFNhZmFyaSB3aWxsIGN1dCB0aGUgYm9yZGVyLXJhZGl1cyBhcmVhXFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0Ym94LXNoYWRvdzogbm9uZTtcXG5cXG5cXHRcXHRmb250LXdlaWdodDogbm9ybWFsO1xcblxcdFxcdGZvbnQtc2l6ZTogdmFyKC0tZGVmYXVsdC1mb250LXNpemUpO1xcblxcdFxcdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFxuXFx0XFx0Jjpob3ZlcixcXG5cXHRcXHQmOmZvY3VzIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmID4gc3BhbiB7XFxuXFx0XFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0fVxcblxcblxcdFxcdCZfX2ljb24ge1xcblxcdFxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaWNvbi1tYXJnaW4gY2VudGVyO1xcblxcdFxcdFxcdGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZTtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQubWF0ZXJpYWwtZGVzaWduLWljb24ge1xcblxcdFxcdFxcdHdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0aGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXG5cXHRcXHRcXHQubWF0ZXJpYWwtZGVzaWduLWljb25fX3N2ZyB7XFxuXFx0XFx0XFx0XFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIGxvbmcgdGV4dCBhcmVhXFxuXFx0XFx0cCB7XFxuXFx0XFx0XFx0bWF4LXdpZHRoOiAyMjBweDtcXG5cXHRcXHRcXHRsaW5lLWhlaWdodDogMS42ZW07XFxuXFxuXFx0XFx0XFx0Ly8gMTRweCBhcmUgY3VycmVudGx5IDFlbSBsaW5lLWhlaWdodC4gTWl4aW5nIHVuaXRzIGFzICc0NHB4IC0gMS42ZW0nIGRvZXMgbm90IHdvcmsuXFxuXFx0XFx0XFx0cGFkZGluZzogI3soJGNsaWNrYWJsZS1hcmVhIC0gMS42KjE0cHgpIC8gMn0gMDtcXG5cXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0dGV4dC1hbGlnbjogbGVmdDtcXG5cXG5cXHRcXHRcXHQvLyBpbiBjYXNlIHRoZXJlIGFyZSBubyBzcGFjZXMgbGlrZSBsb25nIGVtYWlsIGFkZHJlc3Nlc1xcblxcdFxcdFxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0XFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0fVxcblxcblxcdFxcdCZfX2xvbmd0ZXh0IHtcXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0Ly8gYWxsb3cgdGhlIHVzZSBvZiBgXFxcXG5gXFxuXFx0XFx0XFx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmX190aXRsZSB7XFxuXFx0XFx0XFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XFxuXFx0XFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdFxcdFxcdG1heC13aWR0aDogMTAwJTtcXG5cXHRcXHRcXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIlwidXNlIHN0cmljdFwiO1xuXG4vKlxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuICBBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuLy8gY3NzIGJhc2UgY29kZSwgaW5qZWN0ZWQgYnkgdGhlIGNzcy1sb2FkZXJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jLW5hbWVzXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKSB7XG4gIHZhciBsaXN0ID0gW107IC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblxuICBsaXN0LnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICB2YXIgY29udGVudCA9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSk7XG5cbiAgICAgIGlmIChpdGVtWzJdKSB7XG4gICAgICAgIHJldHVybiBcIkBtZWRpYSBcIi5jb25jYXQoaXRlbVsyXSwgXCIge1wiKS5jb25jYXQoY29udGVudCwgXCJ9XCIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9KS5qb2luKFwiXCIpO1xuICB9OyAvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xuXG5cbiAgbGlzdC5pID0gZnVuY3Rpb24gKG1vZHVsZXMsIG1lZGlhUXVlcnksIGRlZHVwZSkge1xuICAgIGlmICh0eXBlb2YgbW9kdWxlcyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICBtb2R1bGVzID0gW1tudWxsLCBtb2R1bGVzLCBcIlwiXV07XG4gICAgfVxuXG4gICAgdmFyIGFscmVhZHlJbXBvcnRlZE1vZHVsZXMgPSB7fTtcblxuICAgIGlmIChkZWR1cGUpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcbiAgICAgICAgdmFyIGlkID0gdGhpc1tpXVswXTtcblxuICAgICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICAgIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBtb2R1bGVzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIGl0ZW0gPSBbXS5jb25jYXQobW9kdWxlc1tfaV0pO1xuXG4gICAgICBpZiAoZGVkdXBlICYmIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRpbnVlXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobWVkaWFRdWVyeSkge1xuICAgICAgICBpZiAoIWl0ZW1bMl0pIHtcbiAgICAgICAgICBpdGVtWzJdID0gbWVkaWFRdWVyeTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtWzJdID0gXCJcIi5jb25jYXQobWVkaWFRdWVyeSwgXCIgYW5kIFwiKS5jb25jYXQoaXRlbVsyXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGlzdC5wdXNoKGl0ZW0pO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gbGlzdDtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF9zbGljZWRUb0FycmF5KGFyciwgaSkgeyByZXR1cm4gX2FycmF5V2l0aEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkgfHwgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFyciwgaSkgfHwgX25vbkl0ZXJhYmxlUmVzdCgpOyB9XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVJlc3QoKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7IH1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikgeyBpZiAoIW8pIHJldHVybjsgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTsgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpOyBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lOyBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTsgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pOyB9XG5cbmZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7IGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoOyBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHsgYXJyMltpXSA9IGFycltpXTsgfSByZXR1cm4gYXJyMjsgfVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcInVuZGVmaW5lZFwiIHx8ICEoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChhcnIpKSkgcmV0dXJuOyB2YXIgX2FyciA9IFtdOyB2YXIgX24gPSB0cnVlOyB2YXIgX2QgPSBmYWxzZTsgdmFyIF9lID0gdW5kZWZpbmVkOyB0cnkgeyBmb3IgKHZhciBfaSA9IGFycltTeW1ib2wuaXRlcmF0b3JdKCksIF9zOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7IF9hcnIucHVzaChfcy52YWx1ZSk7IGlmIChpICYmIF9hcnIubGVuZ3RoID09PSBpKSBicmVhazsgfSB9IGNhdGNoIChlcnIpIHsgX2QgPSB0cnVlOyBfZSA9IGVycjsgfSBmaW5hbGx5IHsgdHJ5IHsgaWYgKCFfbiAmJiBfaVtcInJldHVyblwiXSAhPSBudWxsKSBfaVtcInJldHVyblwiXSgpOyB9IGZpbmFsbHkgeyBpZiAoX2QpIHRocm93IF9lOyB9IH0gcmV0dXJuIF9hcnI7IH1cblxuZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKGFycikgeyBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyOyB9XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtKSB7XG4gIHZhciBfaXRlbSA9IF9zbGljZWRUb0FycmF5KGl0ZW0sIDQpLFxuICAgICAgY29udGVudCA9IF9pdGVtWzFdLFxuICAgICAgY3NzTWFwcGluZyA9IF9pdGVtWzNdO1xuXG4gIGlmICh0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gICAgdmFyIGJhc2U2NCA9IGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGNzc01hcHBpbmcpKSkpO1xuICAgIHZhciBkYXRhID0gXCJzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxcIi5jb25jYXQoYmFzZTY0KTtcbiAgICB2YXIgc291cmNlTWFwcGluZyA9IFwiLyojIFwiLmNvbmNhdChkYXRhLCBcIiAqL1wiKTtcbiAgICB2YXIgc291cmNlVVJMcyA9IGNzc01hcHBpbmcuc291cmNlcy5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuICAgICAgcmV0dXJuIFwiLyojIHNvdXJjZVVSTD1cIi5jb25jYXQoY3NzTWFwcGluZy5zb3VyY2VSb290IHx8IFwiXCIpLmNvbmNhdChzb3VyY2UsIFwiICovXCIpO1xuICAgIH0pO1xuICAgIHJldHVybiBbY29udGVudF0uY29uY2F0KHNvdXJjZVVSTHMpLmNvbmNhdChbc291cmNlTWFwcGluZ10pLmpvaW4oXCJcXG5cIik7XG4gIH1cblxuICByZXR1cm4gW2NvbnRlbnRdLmpvaW4oXCJcXG5cIik7XG59OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25CdXR0b24udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MmU5MjliNGYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsIlwidXNlIHN0cmljdFwiO1xuXG52YXIgaXNPbGRJRSA9IGZ1bmN0aW9uIGlzT2xkSUUoKSB7XG4gIHZhciBtZW1vO1xuICByZXR1cm4gZnVuY3Rpb24gbWVtb3JpemUoKSB7XG4gICAgaWYgKHR5cGVvZiBtZW1vID09PSAndW5kZWZpbmVkJykge1xuICAgICAgLy8gVGVzdCBmb3IgSUUgPD0gOSBhcyBwcm9wb3NlZCBieSBCcm93c2VyaGFja3NcbiAgICAgIC8vIEBzZWUgaHR0cDovL2Jyb3dzZXJoYWNrcy5jb20vI2hhY2stZTcxZDg2OTJmNjUzMzQxNzNmZWU3MTVjMjIyY2I4MDVcbiAgICAgIC8vIFRlc3RzIGZvciBleGlzdGVuY2Ugb2Ygc3RhbmRhcmQgZ2xvYmFscyBpcyB0byBhbGxvdyBzdHlsZS1sb2FkZXJcbiAgICAgIC8vIHRvIG9wZXJhdGUgY29ycmVjdGx5IGludG8gbm9uLXN0YW5kYXJkIGVudmlyb25tZW50c1xuICAgICAgLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlci9pc3N1ZXMvMTc3XG4gICAgICBtZW1vID0gQm9vbGVhbih3aW5kb3cgJiYgZG9jdW1lbnQgJiYgZG9jdW1lbnQuYWxsICYmICF3aW5kb3cuYXRvYik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lbW87XG4gIH07XG59KCk7XG5cbnZhciBnZXRUYXJnZXQgPSBmdW5jdGlvbiBnZXRUYXJnZXQoKSB7XG4gIHZhciBtZW1vID0ge307XG4gIHJldHVybiBmdW5jdGlvbiBtZW1vcml6ZSh0YXJnZXQpIHtcbiAgICBpZiAodHlwZW9mIG1lbW9bdGFyZ2V0XSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHZhciBzdHlsZVRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGFyZ2V0KTsgLy8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcblxuICAgICAgaWYgKHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCAmJiBzdHlsZVRhcmdldCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIFRoaXMgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24gaWYgYWNjZXNzIHRvIGlmcmFtZSBpcyBibG9ja2VkXG4gICAgICAgICAgLy8gZHVlIHRvIGNyb3NzLW9yaWdpbiByZXN0cmljdGlvbnNcbiAgICAgICAgICBzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgICAgICAgICBzdHlsZVRhcmdldCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbWVtb1t0YXJnZXRdID0gc3R5bGVUYXJnZXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lbW9bdGFyZ2V0XTtcbiAgfTtcbn0oKTtcblxudmFyIHN0eWxlc0luRG9tID0gW107XG5cbmZ1bmN0aW9uIGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpIHtcbiAgdmFyIHJlc3VsdCA9IC0xO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzSW5Eb20ubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoc3R5bGVzSW5Eb21baV0uaWRlbnRpZmllciA9PT0gaWRlbnRpZmllcikge1xuICAgICAgcmVzdWx0ID0gaTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIG1vZHVsZXNUb0RvbShsaXN0LCBvcHRpb25zKSB7XG4gIHZhciBpZENvdW50TWFwID0ge307XG4gIHZhciBpZGVudGlmaWVycyA9IFtdO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAgIHZhciBpdGVtID0gbGlzdFtpXTtcbiAgICB2YXIgaWQgPSBvcHRpb25zLmJhc2UgPyBpdGVtWzBdICsgb3B0aW9ucy5iYXNlIDogaXRlbVswXTtcbiAgICB2YXIgY291bnQgPSBpZENvdW50TWFwW2lkXSB8fCAwO1xuICAgIHZhciBpZGVudGlmaWVyID0gXCJcIi5jb25jYXQoaWQsIFwiIFwiKS5jb25jYXQoY291bnQpO1xuICAgIGlkQ291bnRNYXBbaWRdID0gY291bnQgKyAxO1xuICAgIHZhciBpbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuICAgIHZhciBvYmogPSB7XG4gICAgICBjc3M6IGl0ZW1bMV0sXG4gICAgICBtZWRpYTogaXRlbVsyXSxcbiAgICAgIHNvdXJjZU1hcDogaXRlbVszXVxuICAgIH07XG5cbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICBzdHlsZXNJbkRvbVtpbmRleF0ucmVmZXJlbmNlcysrO1xuICAgICAgc3R5bGVzSW5Eb21baW5kZXhdLnVwZGF0ZXIob2JqKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVzSW5Eb20ucHVzaCh7XG4gICAgICAgIGlkZW50aWZpZXI6IGlkZW50aWZpZXIsXG4gICAgICAgIHVwZGF0ZXI6IGFkZFN0eWxlKG9iaiwgb3B0aW9ucyksXG4gICAgICAgIHJlZmVyZW5jZXM6IDFcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlkZW50aWZpZXJzLnB1c2goaWRlbnRpZmllcik7XG4gIH1cblxuICByZXR1cm4gaWRlbnRpZmllcnM7XG59XG5cbmZ1bmN0aW9uIGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKSB7XG4gIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHZhciBhdHRyaWJ1dGVzID0gb3B0aW9ucy5hdHRyaWJ1dGVzIHx8IHt9O1xuXG4gIGlmICh0eXBlb2YgYXR0cmlidXRlcy5ub25jZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB2YXIgbm9uY2UgPSB0eXBlb2YgX193ZWJwYWNrX25vbmNlX18gIT09ICd1bmRlZmluZWQnID8gX193ZWJwYWNrX25vbmNlX18gOiBudWxsO1xuXG4gICAgaWYgKG5vbmNlKSB7XG4gICAgICBhdHRyaWJ1dGVzLm5vbmNlID0gbm9uY2U7XG4gICAgfVxuICB9XG5cbiAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgc3R5bGUuc2V0QXR0cmlidXRlKGtleSwgYXR0cmlidXRlc1trZXldKTtcbiAgfSk7XG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zLmluc2VydCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIG9wdGlvbnMuaW5zZXJ0KHN0eWxlKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG9wdGlvbnMuaW5zZXJ0IHx8ICdoZWFkJyk7XG5cbiAgICBpZiAoIXRhcmdldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmluZCBhIHN0eWxlIHRhcmdldC4gVGhpcyBwcm9iYWJseSBtZWFucyB0aGF0IHRoZSB2YWx1ZSBmb3IgdGhlICdpbnNlcnQnIHBhcmFtZXRlciBpcyBpbnZhbGlkLlwiKTtcbiAgICB9XG5cbiAgICB0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuICB9XG5cbiAgcmV0dXJuIHN0eWxlO1xufVxuXG5mdW5jdGlvbiByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpIHtcbiAgLy8gaXN0YW5idWwgaWdub3JlIGlmXG4gIGlmIChzdHlsZS5wYXJlbnROb2RlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3R5bGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZSk7XG59XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cblxuXG52YXIgcmVwbGFjZVRleHQgPSBmdW5jdGlvbiByZXBsYWNlVGV4dCgpIHtcbiAgdmFyIHRleHRTdG9yZSA9IFtdO1xuICByZXR1cm4gZnVuY3Rpb24gcmVwbGFjZShpbmRleCwgcmVwbGFjZW1lbnQpIHtcbiAgICB0ZXh0U3RvcmVbaW5kZXhdID0gcmVwbGFjZW1lbnQ7XG4gICAgcmV0dXJuIHRleHRTdG9yZS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJyk7XG4gIH07XG59KCk7XG5cbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcoc3R5bGUsIGluZGV4LCByZW1vdmUsIG9iaikge1xuICB2YXIgY3NzID0gcmVtb3ZlID8gJycgOiBvYmoubWVkaWEgPyBcIkBtZWRpYSBcIi5jb25jYXQob2JqLm1lZGlhLCBcIiB7XCIpLmNvbmNhdChvYmouY3NzLCBcIn1cIikgOiBvYmouY3NzOyAvLyBGb3Igb2xkIElFXG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICAqL1xuXG4gIGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG4gICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcyk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpO1xuICAgIHZhciBjaGlsZE5vZGVzID0gc3R5bGUuY2hpbGROb2RlcztcblxuICAgIGlmIChjaGlsZE5vZGVzW2luZGV4XSkge1xuICAgICAgc3R5bGUucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pO1xuICAgIH1cblxuICAgIGlmIChjaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgICAgc3R5bGUuaW5zZXJ0QmVmb3JlKGNzc05vZGUsIGNoaWxkTm9kZXNbaW5kZXhdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGUuYXBwZW5kQ2hpbGQoY3NzTm9kZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFwcGx5VG9UYWcoc3R5bGUsIG9wdGlvbnMsIG9iaikge1xuICB2YXIgY3NzID0gb2JqLmNzcztcbiAgdmFyIG1lZGlhID0gb2JqLm1lZGlhO1xuICB2YXIgc291cmNlTWFwID0gb2JqLnNvdXJjZU1hcDtcblxuICBpZiAobWVkaWEpIHtcbiAgICBzdHlsZS5zZXRBdHRyaWJ1dGUoJ21lZGlhJywgbWVkaWEpO1xuICB9IGVsc2Uge1xuICAgIHN0eWxlLnJlbW92ZUF0dHJpYnV0ZSgnbWVkaWEnKTtcbiAgfVxuXG4gIGlmIChzb3VyY2VNYXAgJiYgdHlwZW9mIGJ0b2EgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgY3NzICs9IFwiXFxuLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxcIi5jb25jYXQoYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKSwgXCIgKi9cIik7XG4gIH0gLy8gRm9yIG9sZCBJRVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAgKi9cblxuXG4gIGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG4gICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuICB9IGVsc2Uge1xuICAgIHdoaWxlIChzdHlsZS5maXJzdENoaWxkKSB7XG4gICAgICBzdHlsZS5yZW1vdmVDaGlsZChzdHlsZS5maXJzdENoaWxkKTtcbiAgICB9XG5cbiAgICBzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcbiAgfVxufVxuXG52YXIgc2luZ2xldG9uID0gbnVsbDtcbnZhciBzaW5nbGV0b25Db3VudGVyID0gMDtcblxuZnVuY3Rpb24gYWRkU3R5bGUob2JqLCBvcHRpb25zKSB7XG4gIHZhciBzdHlsZTtcbiAgdmFyIHVwZGF0ZTtcbiAgdmFyIHJlbW92ZTtcblxuICBpZiAob3B0aW9ucy5zaW5nbGV0b24pIHtcbiAgICB2YXIgc3R5bGVJbmRleCA9IHNpbmdsZXRvbkNvdW50ZXIrKztcbiAgICBzdHlsZSA9IHNpbmdsZXRvbiB8fCAoc2luZ2xldG9uID0gaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpKTtcbiAgICB1cGRhdGUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIGZhbHNlKTtcbiAgICByZW1vdmUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIHRydWUpO1xuICB9IGVsc2Uge1xuICAgIHN0eWxlID0gaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpO1xuICAgIHVwZGF0ZSA9IGFwcGx5VG9UYWcuYmluZChudWxsLCBzdHlsZSwgb3B0aW9ucyk7XG5cbiAgICByZW1vdmUgPSBmdW5jdGlvbiByZW1vdmUoKSB7XG4gICAgICByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuICAgIH07XG4gIH1cblxuICB1cGRhdGUob2JqKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZVN0eWxlKG5ld09iaikge1xuICAgIGlmIChuZXdPYmopIHtcbiAgICAgIGlmIChuZXdPYmouY3NzID09PSBvYmouY3NzICYmIG5ld09iai5tZWRpYSA9PT0gb2JqLm1lZGlhICYmIG5ld09iai5zb3VyY2VNYXAgPT09IG9iai5zb3VyY2VNYXApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUob2JqID0gbmV3T2JqKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVtb3ZlKCk7XG4gICAgfVxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChsaXN0LCBvcHRpb25zKSB7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OyAvLyBGb3JjZSBzaW5nbGUtdGFnIHNvbHV0aW9uIG9uIElFNi05LCB3aGljaCBoYXMgYSBoYXJkIGxpbWl0IG9uIHRoZSAjIG9mIDxzdHlsZT5cbiAgLy8gdGFncyBpdCB3aWxsIGFsbG93IG9uIGEgcGFnZVxuXG4gIGlmICghb3B0aW9ucy5zaW5nbGV0b24gJiYgdHlwZW9mIG9wdGlvbnMuc2luZ2xldG9uICE9PSAnYm9vbGVhbicpIHtcbiAgICBvcHRpb25zLnNpbmdsZXRvbiA9IGlzT2xkSUUoKTtcbiAgfVxuXG4gIGxpc3QgPSBsaXN0IHx8IFtdO1xuICB2YXIgbGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKGxpc3QsIG9wdGlvbnMpO1xuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlKG5ld0xpc3QpIHtcbiAgICBuZXdMaXN0ID0gbmV3TGlzdCB8fCBbXTtcblxuICAgIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3TGlzdCkgIT09ICdbb2JqZWN0IEFycmF5XScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxhc3RJZGVudGlmaWVycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGlkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbaV07XG4gICAgICB2YXIgaW5kZXggPSBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKTtcbiAgICAgIHN0eWxlc0luRG9tW2luZGV4XS5yZWZlcmVuY2VzLS07XG4gICAgfVxuXG4gICAgdmFyIG5ld0xhc3RJZGVudGlmaWVycyA9IG1vZHVsZXNUb0RvbShuZXdMaXN0LCBvcHRpb25zKTtcblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBsYXN0SWRlbnRpZmllcnMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgX2lkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbX2ldO1xuXG4gICAgICB2YXIgX2luZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoX2lkZW50aWZpZXIpO1xuXG4gICAgICBpZiAoc3R5bGVzSW5Eb21bX2luZGV4XS5yZWZlcmVuY2VzID09PSAwKSB7XG4gICAgICAgIHN0eWxlc0luRG9tW19pbmRleF0udXBkYXRlcigpO1xuXG4gICAgICAgIHN0eWxlc0luRG9tLnNwbGljZShfaW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhc3RJZGVudGlmaWVycyA9IG5ld0xhc3RJZGVudGlmaWVycztcbiAgfTtcbn07IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImxpXCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJhY3Rpb25cIiwgY2xhc3M6IHsgXCJhY3Rpb24tLWRpc2FibGVkXCI6IF92bS5kaXNhYmxlZCB9IH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24tYnV0dG9uXCIsXG4gICAgICAgICAgY2xhc3M6IHsgZm9jdXNhYmxlOiBfdm0uaXNGb2N1c2FibGUgfSxcbiAgICAgICAgICBhdHRyczogeyBcImFyaWEtbGFiZWxcIjogX3ZtLmFyaWFMYWJlbCB9LFxuICAgICAgICAgIG9uOiB7IGNsaWNrOiBfdm0ub25DbGljayB9XG4gICAgICAgIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwic3BhblwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24tYnV0dG9uX19pY29uXCIsXG4gICAgICAgICAgICAgIGNsYXNzOiBbX3ZtLmlzSWNvblVybCA/IFwiYWN0aW9uLWJ1dHRvbl9faWNvbi0tdXJsXCIgOiBfdm0uaWNvbl0sXG4gICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZEltYWdlOiBfdm0uaXNJY29uVXJsID8gXCJ1cmwoXCIgKyBfdm0uaWNvbiArIFwiKVwiIDogbnVsbFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW192bS5fdChcImljb25cIildLFxuICAgICAgICAgICAgMlxuICAgICAgICAgICksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfdm0udGl0bGVcbiAgICAgICAgICAgID8gX2MoXCJwXCIsIFtcbiAgICAgICAgICAgICAgICBfYyhcInN0cm9uZ1wiLCB7IHN0YXRpY0NsYXNzOiBcImFjdGlvbi1idXR0b25fX3RpdGxlXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuXFx0XFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLnRpdGxlKSArIFwiXFxuXFx0XFx0XFx0XCIpXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICBfYyhcImJyXCIpLFxuICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFjdGlvbi1idXR0b25fX2xvbmd0ZXh0XCIsXG4gICAgICAgICAgICAgICAgICBkb21Qcm9wczogeyB0ZXh0Q29udGVudDogX3ZtLl9zKF92bS50ZXh0KSB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgIDogX3ZtLmlzTG9uZ1RleHRcbiAgICAgICAgICAgID8gX2MoXCJwXCIsIHtcbiAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJhY3Rpb24tYnV0dG9uX19sb25ndGV4dFwiLFxuICAgICAgICAgICAgICAgIGRvbVByb3BzOiB7IHRleHRDb250ZW50OiBfdm0uX3MoX3ZtLnRleHQpIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIDogX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwiYWN0aW9uLWJ1dHRvbl9fdGV4dFwiIH0sIFtcbiAgICAgICAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS50ZXh0KSlcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBmYWxzZSA/IF92bS5fdChcImRlZmF1bHRcIikgOiBfdm0uX2UoKVxuICAgICAgICBdLFxuICAgICAgICAyXG4gICAgICApXG4gICAgXVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiLyogZ2xvYmFscyBfX1ZVRV9TU1JfQ09OVEVYVF9fICovXG5cbi8vIElNUE9SVEFOVDogRG8gTk9UIHVzZSBFUzIwMTUgZmVhdHVyZXMgaW4gdGhpcyBmaWxlIChleGNlcHQgZm9yIG1vZHVsZXMpLlxuLy8gVGhpcyBtb2R1bGUgaXMgYSBydW50aW1lIHV0aWxpdHkgZm9yIGNsZWFuZXIgY29tcG9uZW50IG1vZHVsZSBvdXRwdXQgYW5kIHdpbGxcbi8vIGJlIGluY2x1ZGVkIGluIHRoZSBmaW5hbCB3ZWJwYWNrIHVzZXIgYnVuZGxlLlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBub3JtYWxpemVDb21wb25lbnQgKFxuICBzY3JpcHRFeHBvcnRzLFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZnVuY3Rpb25hbFRlbXBsYXRlLFxuICBpbmplY3RTdHlsZXMsXG4gIHNjb3BlSWQsXG4gIG1vZHVsZUlkZW50aWZpZXIsIC8qIHNlcnZlciBvbmx5ICovXG4gIHNoYWRvd01vZGUgLyogdnVlLWNsaSBvbmx5ICovXG4pIHtcbiAgLy8gVnVlLmV4dGVuZCBjb25zdHJ1Y3RvciBleHBvcnQgaW50ZXJvcFxuICB2YXIgb3B0aW9ucyA9IHR5cGVvZiBzY3JpcHRFeHBvcnRzID09PSAnZnVuY3Rpb24nXG4gICAgPyBzY3JpcHRFeHBvcnRzLm9wdGlvbnNcbiAgICA6IHNjcmlwdEV4cG9ydHNcblxuICAvLyByZW5kZXIgZnVuY3Rpb25zXG4gIGlmIChyZW5kZXIpIHtcbiAgICBvcHRpb25zLnJlbmRlciA9IHJlbmRlclxuICAgIG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zXG4gICAgb3B0aW9ucy5fY29tcGlsZWQgPSB0cnVlXG4gIH1cblxuICAvLyBmdW5jdGlvbmFsIHRlbXBsYXRlXG4gIGlmIChmdW5jdGlvbmFsVGVtcGxhdGUpIHtcbiAgICBvcHRpb25zLmZ1bmN0aW9uYWwgPSB0cnVlXG4gIH1cblxuICAvLyBzY29wZWRJZFxuICBpZiAoc2NvcGVJZCkge1xuICAgIG9wdGlvbnMuX3Njb3BlSWQgPSAnZGF0YS12LScgKyBzY29wZUlkXG4gIH1cblxuICB2YXIgaG9va1xuICBpZiAobW9kdWxlSWRlbnRpZmllcikgeyAvLyBzZXJ2ZXIgYnVpbGRcbiAgICBob29rID0gZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIC8vIDIuMyBpbmplY3Rpb25cbiAgICAgIGNvbnRleHQgPVxuICAgICAgICBjb250ZXh0IHx8IC8vIGNhY2hlZCBjYWxsXG4gICAgICAgICh0aGlzLiR2bm9kZSAmJiB0aGlzLiR2bm9kZS5zc3JDb250ZXh0KSB8fCAvLyBzdGF0ZWZ1bFxuICAgICAgICAodGhpcy5wYXJlbnQgJiYgdGhpcy5wYXJlbnQuJHZub2RlICYmIHRoaXMucGFyZW50LiR2bm9kZS5zc3JDb250ZXh0KSAvLyBmdW5jdGlvbmFsXG4gICAgICAvLyAyLjIgd2l0aCBydW5Jbk5ld0NvbnRleHQ6IHRydWVcbiAgICAgIGlmICghY29udGV4dCAmJiB0eXBlb2YgX19WVUVfU1NSX0NPTlRFWFRfXyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgY29udGV4dCA9IF9fVlVFX1NTUl9DT05URVhUX19cbiAgICAgIH1cbiAgICAgIC8vIGluamVjdCBjb21wb25lbnQgc3R5bGVzXG4gICAgICBpZiAoaW5qZWN0U3R5bGVzKSB7XG4gICAgICAgIGluamVjdFN0eWxlcy5jYWxsKHRoaXMsIGNvbnRleHQpXG4gICAgICB9XG4gICAgICAvLyByZWdpc3RlciBjb21wb25lbnQgbW9kdWxlIGlkZW50aWZpZXIgZm9yIGFzeW5jIGNodW5rIGluZmVycmVuY2VcbiAgICAgIGlmIChjb250ZXh0ICYmIGNvbnRleHQuX3JlZ2lzdGVyZWRDb21wb25lbnRzKSB7XG4gICAgICAgIGNvbnRleHQuX3JlZ2lzdGVyZWRDb21wb25lbnRzLmFkZChtb2R1bGVJZGVudGlmaWVyKVxuICAgICAgfVxuICAgIH1cbiAgICAvLyB1c2VkIGJ5IHNzciBpbiBjYXNlIGNvbXBvbmVudCBpcyBjYWNoZWQgYW5kIGJlZm9yZUNyZWF0ZVxuICAgIC8vIG5ldmVyIGdldHMgY2FsbGVkXG4gICAgb3B0aW9ucy5fc3NyUmVnaXN0ZXIgPSBob29rXG4gIH0gZWxzZSBpZiAoaW5qZWN0U3R5bGVzKSB7XG4gICAgaG9vayA9IHNoYWRvd01vZGVcbiAgICAgID8gZnVuY3Rpb24gKCkge1xuICAgICAgICBpbmplY3RTdHlsZXMuY2FsbChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIChvcHRpb25zLmZ1bmN0aW9uYWwgPyB0aGlzLnBhcmVudCA6IHRoaXMpLiRyb290LiRvcHRpb25zLnNoYWRvd1Jvb3RcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgOiBpbmplY3RTdHlsZXNcbiAgfVxuXG4gIGlmIChob29rKSB7XG4gICAgaWYgKG9wdGlvbnMuZnVuY3Rpb25hbCkge1xuICAgICAgLy8gZm9yIHRlbXBsYXRlLW9ubHkgaG90LXJlbG9hZCBiZWNhdXNlIGluIHRoYXQgY2FzZSB0aGUgcmVuZGVyIGZuIGRvZXNuJ3RcbiAgICAgIC8vIGdvIHRocm91Z2ggdGhlIG5vcm1hbGl6ZXJcbiAgICAgIG9wdGlvbnMuX2luamVjdFN0eWxlcyA9IGhvb2tcbiAgICAgIC8vIHJlZ2lzdGVyIGZvciBmdW5jdGlvbmFsIGNvbXBvbmVudCBpbiB2dWUgZmlsZVxuICAgICAgdmFyIG9yaWdpbmFsUmVuZGVyID0gb3B0aW9ucy5yZW5kZXJcbiAgICAgIG9wdGlvbnMucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyV2l0aFN0eWxlSW5qZWN0aW9uIChoLCBjb250ZXh0KSB7XG4gICAgICAgIGhvb2suY2FsbChjb250ZXh0KVxuICAgICAgICByZXR1cm4gb3JpZ2luYWxSZW5kZXIoaCwgY29udGV4dClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaW5qZWN0IGNvbXBvbmVudCByZWdpc3RyYXRpb24gYXMgYmVmb3JlQ3JlYXRlIGhvb2tcbiAgICAgIHZhciBleGlzdGluZyA9IG9wdGlvbnMuYmVmb3JlQ3JlYXRlXG4gICAgICBvcHRpb25zLmJlZm9yZUNyZWF0ZSA9IGV4aXN0aW5nXG4gICAgICAgID8gW10uY29uY2F0KGV4aXN0aW5nLCBob29rKVxuICAgICAgICA6IFtob29rXVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZXhwb3J0czogc2NyaXB0RXhwb3J0cyxcbiAgICBvcHRpb25zOiBvcHRpb25zXG4gIH1cbn1cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vQWN0aW9uQnV0dG9uLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0yZTkyOWI0ZiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BY3Rpb25CdXR0b24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BY3Rpb25CdXR0b24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0FjdGlvbkJ1dHRvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0yZTkyOWI0ZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjJlOTI5YjRmXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGN1c3RvbSBibG9ja3MgKi9cbmltcG9ydCBibG9jazAgZnJvbSBcIi4vQWN0aW9uQnV0dG9uLnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnMmU5MjliNGYnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnMmU5MjliNGYnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnMmU5MjliNGYnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0FjdGlvbkJ1dHRvbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MmU5MjliNGYmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignMmU5MjliNGYnLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0FjdGlvbkJ1dHRvbi9BY3Rpb25CdXR0b24udnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvbkJ1dHRvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25CdXR0b24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9uQnV0dG9uLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTJlOTI5YjRmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25CdXR0b24udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTJlOTI5YjRmJnNjb3BlZD10cnVlJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuaW1wb3J0IEFjdGlvbkJ1dHRvbiBmcm9tICcuL0FjdGlvbkJ1dHRvbidcblxuZXhwb3J0IGRlZmF1bHQgQWN0aW9uQnV0dG9uXG4iLCJcbi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBWdWUgZnJvbSAndnVlJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdGJlZm9yZSgpIHtcblx0XHQvLyBhbGwgYWN0aW9ucyByZXF1aXJlcyBhIHZhbGlkIHRleHQgY29udGVudFxuXHRcdC8vIGlmIG5vbmUsIGZvcmJpZCB0aGUgY29tcG9uZW50IG1vdW50IGFuZCB0aHJvdyBlcnJvclxuXHRcdGlmICghdGhpcy4kc2xvdHMuZGVmYXVsdCB8fCB0aGlzLnRleHQudHJpbSgpID09PSAnJykge1xuXHRcdFx0VnVlLnV0aWwud2FybihgJHt0aGlzLiRvcHRpb25zLm5hbWV9IGNhbm5vdCBiZSBlbXB0eSBhbmQgcmVxdWlyZXMgYSBtZWFuaW5nZnVsIHRleHQgY29udGVudGAsIHRoaXMpXG5cdFx0XHR0aGlzLiRkZXN0cm95KClcblx0XHRcdHRoaXMuJGVsLnJlbW92ZSgpXG5cdFx0fVxuXHR9LFxuXG5cdGJlZm9yZVVwZGF0ZSgpIHtcblx0XHR0aGlzLnRleHQgPSB0aGlzLmdldFRleHQoKVxuXHR9LFxuXG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdC8vICRzbG90cyBhcmUgbm90IHJlYWN0aXZlLlxuXHRcdFx0Ly8gV2UgbmVlZCB0byB1cGRhdGUgIHRoZSBjb250ZW50IG1hbnVhbGx5XG5cdFx0XHR0ZXh0OiB0aGlzLmdldFRleHQoKSxcblx0XHR9XG5cdH0sXG5cblx0Y29tcHV0ZWQ6IHtcblx0XHRpc0xvbmdUZXh0KCkge1xuXHRcdFx0cmV0dXJuIHRoaXMudGV4dCAmJiB0aGlzLnRleHQudHJpbSgpLmxlbmd0aCA+IDIwXG5cdFx0fSxcblx0fSxcblxuXHRtZXRob2RzOiB7XG5cdFx0Z2V0VGV4dCgpIHtcblx0XHRcdHJldHVybiB0aGlzLiRzbG90cy5kZWZhdWx0ID8gdGhpcy4kc2xvdHMuZGVmYXVsdFswXS50ZXh0LnRyaW0oKSA6ICcnXG5cdFx0fSxcblx0fSxcbn1cbiIsIlxuLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuaW1wb3J0IGFjdGlvbkdsb2JhbCBmcm9tICcuL2FjdGlvbkdsb2JhbCdcbmltcG9ydCBHZXRQYXJlbnQgZnJvbSAnLi4vdXRpbHMvR2V0UGFyZW50J1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG1peGluczogW2FjdGlvbkdsb2JhbF0sXG5cdHByb3BzOiB7XG5cdFx0LyoqXG5cdFx0ICogSWNvbiB0byBzaG93IHdpdGggdGhlIGFjdGlvbiwgY2FuIGJlIGVpdGhlciBhIENTUyBjbGFzcyBvciBhbiBVUkxcblx0XHQgKi9cblx0XHRpY29uOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIFRpdGxlIHRvIHNob3cgbmV4dCB0byB0aGUgaWNvblxuXHRcdCAqL1xuXHRcdHRpdGxlOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIFdoZXRoZXIgd2UgY2xvc2UgdGhlIEFjdGlvbnMgbWVudSBhZnRlciB0aGUgY2xpY2tcblx0XHQgKi9cblx0XHRjbG9zZUFmdGVyQ2xpY2s6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIEFyaWEgbGFiZWwgZm9yIHRoZSBidXR0b24uIE5vdCBuZWVkZWQgaWYgdGhlIGJ1dHRvbiBoYXMgdGV4dC5cblx0XHQgKi9cblx0XHRhcmlhTGFiZWw6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICcnLFxuXHRcdH0sXG5cdH0sXG5cblx0Y29tcHV0ZWQ6IHtcblx0XHRpc0ljb25VcmwoKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRyZXR1cm4gbmV3IFVSTCh0aGlzLmljb24pXG5cdFx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2Vcblx0XHRcdH1cblx0XHR9LFxuXHR9LFxuXG5cdG1ldGhvZHM6IHtcblx0XHRvbkNsaWNrKGV2ZW50KSB7XG5cdFx0XHQvKipcblx0XHRcdCAqIEVtaXR0ZWQgd2hlbiB0aGUgYWN0aW9uIGlzIGNsaWNrZWRcblx0XHRcdCAqIEB0eXBlIHtFdmVudH1cblx0XHRcdCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgnY2xpY2snLCBldmVudClcblxuXHRcdFx0aWYgKHRoaXMuY2xvc2VBZnRlckNsaWNrKSB7XG5cdFx0XHRcdGNvbnN0IHBhcmVudCA9IEdldFBhcmVudCh0aGlzLCAnQWN0aW9ucycpXG5cdFx0XHRcdGlmIChwYXJlbnQgJiYgcGFyZW50LmNsb3NlTWVudSkge1xuXHRcdFx0XHRcdHBhcmVudC5jbG9zZU1lbnUoKVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0fSxcbn1cbiIsIlxuLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbi8qKlxuICogR2V0IHRoZSBmaXJzdCBwYXJlbnQgY29tcG9uZW50IG1hdGNoaW5nIHRoZSBwcm92aWRlZCBuYW1lXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGNvbnRleHQgdGhlIGNvbnRleHQgdG8gc2VhcmNoIGZyb20gKHVzdWFseSB0aGlzKVxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgdGhlIHBhcmVudCBuYW1lXG4gKiBAcmV0dXJucyB7T2JqZWN0fSB0aGUgcGFyZW50IGNvbXBvbmVudFxuICovXG5jb25zdCBHZXRQYXJlbnQgPSBmdW5jdGlvbihjb250ZXh0LCBuYW1lKSB7XG5cdGxldCBwYXJlbnQgPSBjb250ZXh0LiRwYXJlbnRcblx0d2hpbGUgKHBhcmVudCkge1xuXHRcdGlmIChwYXJlbnQuJG9wdGlvbnMubmFtZSA9PT0gbmFtZSkge1xuXHRcdFx0cmV0dXJuIHBhcmVudFxuXHRcdH1cblx0XHRwYXJlbnQgPSBwYXJlbnQuJHBhcmVudFxuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEdldFBhcmVudFxuIiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lml0ZXJhdG9yLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy50cmltLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLml0ZXJhdG9yLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInZ1ZVwiKTsiXSwic291cmNlUm9vdCI6IiJ9","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Components/Actions\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Components/Actions\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"Components/Actions\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/components/Actions/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Actions/Actions.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"core-js/modules/es.string.trim.js\");\n/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ \"core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ \"core-js/modules/es.object.get-own-property-descriptor.js\");\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ \"core-js/modules/es.object.get-own-property-descriptors.js\");\n/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"core-js/modules/es.symbol.description.js\");\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"core-js/modules/es.symbol.iterator.js\");\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ \"core-js/modules/es.array.from.js\");\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var _directives_Tooltip__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../directives/Tooltip */ \"./src/directives/Tooltip/index.js\");\n/* harmony import */ var _utils_GenRandomId__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../utils/GenRandomId */ \"./src/utils/GenRandomId.js\");\n/* harmony import */ var _utils_ValidateSlot__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../utils/ValidateSlot */ \"./src/utils/ValidateSlot.js\");\n/* harmony import */ var _l10n__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../l10n */ \"./src/l10n.js\");\n/* harmony import */ var _Popover__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../Popover */ \"./src/components/Popover/index.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n // This is the list of ALL the ALLOWED components\n// in the default SLOT\n\nvar allowedChildren = ['ActionButton', 'ActionCheckbox', 'ActionInput', 'ActionLink', 'ActionRadio', 'ActionRouter', 'ActionSeparator', 'ActionText', 'ActionTextEditable'];\nvar focusableSelector = '.focusable';\n/**\n * The Actions component can be used to display one ore more actions.\n * If only a single action is provided, it will be rendered as an inline icon.\n * For more, a menu indicator will be shown and a popovermenu containing the\n * actions will be opened on click.\n *\n * @since 0.10.0\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Actions',\n directives: {\n tooltip: _directives_Tooltip__WEBPACK_IMPORTED_MODULE_16__[\"default\"]\n },\n components: {\n Popover: _Popover__WEBPACK_IMPORTED_MODULE_20__[\"default\"],\n // Component to render the first action icon slot content (vnodes)\n VNodes: {\n functional: true,\n render: function render(h, context) {\n return context.props.vnodes;\n }\n }\n },\n props: {\n /**\n * Specify the open state of the popover menu\n */\n open: {\n type: Boolean,\n default: false\n },\n\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n\n /**\n * Specify the menu title\n */\n menuTitle: {\n type: String,\n default: null\n },\n\n /**\n * Apply primary styling for this menu\n */\n primary: {\n type: Boolean,\n default: false\n },\n\n /**\n * Icon to show for the toggle menu button\n * when more than one action is inside the actions component.\n * Only replace the default three-dot icon if really necessary.\n */\n defaultIcon: {\n type: String,\n default: 'action-item__menutoggle--default-icon'\n },\n\n /**\n * Aria label for the actions menu\n */\n ariaLabel: {\n type: String,\n default: Object(_l10n__WEBPACK_IMPORTED_MODULE_19__[\"t\"])('Actions')\n },\n\n /**\n * Wanted direction of the menu\n */\n placement: {\n type: String,\n default: 'bottom'\n },\n\n /**\n * DOM element for the actions' popover boundaries\n */\n boundariesElement: {\n type: Element,\n default: function _default() {\n return document.querySelector('body');\n }\n },\n\n /**\n * Selector for the actions' popover container\n */\n container: {\n type: String,\n default: 'body'\n },\n\n /**\n * Disabled state of the main button (single action or menu toggle)\n */\n disabled: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n actions: [],\n opened: this.open,\n focusIndex: 0,\n randomId: 'menu-' + Object(_utils_GenRandomId__WEBPACK_IMPORTED_MODULE_17__[\"default\"])(),\n // Making children reactive!\n // By binding this here, vuejs will track the object content\n // Needed for firstAction reactivity !!!\n children: this.$children\n };\n },\n computed: {\n /**\n * Is there more than one action?\n * @returns {boolean}\n */\n hasMultipleActions: function hasMultipleActions() {\n return this.actions.length > 1;\n },\n\n /**\n * Is there any first action ?\n * And is it allowed as a standalone element ?\n * @returns {boolean}\n */\n isValidSingleAction: function isValidSingleAction() {\n return this.actions.length === 1 && this.firstActionElement !== null;\n },\n\n /**\n * First action vnode\n * @returns {Object} return the first action vue vnode\n */\n firstActionVNode: function firstActionVNode() {\n return this.actions[0];\n },\n\n /**\n * Reactive binding to the first children\n * Since we're here, it means we already passed all the proper checks\n * we can assume the first action is the first children too\n * @returns {Object} first action vue children object\n */\n firstAction: function firstAction() {\n return this.children[0] ? this.children[0] : {};\n },\n\n /**\n * Binding of the first action to the template\n * @returns {Object} vue template v-bind shortcut\n */\n firstActionBinding: function firstActionBinding() {\n if (this.firstActionVNode && this.firstActionVNode.componentOptions) {\n var tag = this.firstActionVNode.componentOptions.tag;\n\n if (tag === 'ActionLink') {\n return _objectSpread(_objectSpread({\n is: 'a',\n href: this.firstAction.href,\n target: this.firstAction.target,\n 'aria-label': this.firstAction.ariaLabel\n }, this.firstAction.$attrs), this.firstAction.$props);\n }\n\n if (tag === 'ActionRouter') {\n return _objectSpread(_objectSpread({\n is: 'router-link',\n to: this.firstAction.to,\n exact: this.firstAction.exact,\n 'aria-label': this.firstAction.ariaLabel\n }, this.firstAction.$attrs), this.firstAction.$props);\n }\n\n if (tag === 'ActionButton') {\n return _objectSpread(_objectSpread({\n is: 'button',\n 'aria-label': this.firstAction.ariaLabel\n }, this.firstAction.$attrs), this.firstAction.$props);\n }\n } // other action types are not allowed as standalone buttons\n\n\n return null;\n },\n // return the event to bind if the firstActionVNode have an action\n firstActionEvent: function firstActionEvent() {\n var _this$firstActionVNod, _this$firstActionVNod2, _this$firstActionVNod3;\n\n return (_this$firstActionVNod = this.firstActionVNode) === null || _this$firstActionVNod === void 0 ? void 0 : (_this$firstActionVNod2 = _this$firstActionVNod.componentOptions) === null || _this$firstActionVNod2 === void 0 ? void 0 : (_this$firstActionVNod3 = _this$firstActionVNod2.listeners) === null || _this$firstActionVNod3 === void 0 ? void 0 : _this$firstActionVNod3.click;\n },\n firstActionEventBinding: function firstActionEventBinding() {\n return this.firstActionEvent ? 'click' : null;\n },\n // return the first action icon slot vnodes array\n firstActionIconSlot: function firstActionIconSlot() {\n var _this$firstAction, _this$firstAction$$sl;\n\n return (_this$firstAction = this.firstAction) === null || _this$firstAction === void 0 ? void 0 : (_this$firstAction$$sl = _this$firstAction.$slots) === null || _this$firstAction$$sl === void 0 ? void 0 : _this$firstAction$$sl.icon;\n },\n firstActionClass: function firstActionClass() {\n var staticClass = this.firstActionVNode && this.firstActionVNode.data.staticClass;\n var dynClass = this.firstActionVNode && this.firstActionVNode.data.class;\n return (staticClass + ' ' + dynClass).trim();\n },\n iconSlotIsPopulated: function iconSlotIsPopulated() {\n return !!this.$slots.icon;\n }\n },\n watch: {\n // Watch parent prop\n open: function open(state) {\n if (state === this.opened) {\n return;\n }\n\n this.opened = state;\n }\n },\n beforeMount: function beforeMount() {\n // init actions\n this.initActions(); // filter invalid menu items\n\n Object(_utils_ValidateSlot__WEBPACK_IMPORTED_MODULE_18__[\"default\"])(this.$slots.default, allowedChildren, this);\n },\n beforeUpdate: function beforeUpdate() {\n // ! since we're using $slots to manage our actions\n // ! we NEED to update the actions if anything change\n // update children & actions\n // no need to init actions again since we bound it to $children\n // and the array is now reactive\n // init actions\n this.initActions();\n Object(_utils_ValidateSlot__WEBPACK_IMPORTED_MODULE_18__[\"default\"])(this.$slots.default, allowedChildren, this);\n },\n methods: {\n // MENU STATE MANAGEMENT\n openMenu: function openMenu(e) {\n if (this.opened) {\n return;\n }\n\n this.opened = true;\n /**\n * Event emitted when the popover menu open state is changed\n * @type {boolean}\n */\n\n this.$emit('update:open', true);\n /**\n * Event emitted when the popover menu is closed\n */\n\n this.$emit('open');\n },\n closeMenu: function closeMenu(e) {\n if (!this.opened) {\n return;\n }\n\n this.opened = false;\n /**\n * Event emitted when the popover menu open state is changed\n * @type {boolean}\n */\n\n this.$emit('update:open', false);\n /**\n * Event emitted when the popover menu is closed\n */\n\n this.$emit('close'); // close everything\n\n this.opened = false;\n this.focusIndex = 0; // focus back the menu button\n\n this.$refs.menuButton.focus();\n },\n onOpen: function onOpen(event) {\n var _this = this;\n\n this.$nextTick(function () {\n _this.focusFirstAction(event);\n });\n },\n // MENU KEYS & FOCUS MANAGEMENT\n // focus nearest focusable item on mouse move\n // DO NOT change the focus if the target is already focused\n // this will prevent issues with input being unfocused\n // on mouse move\n onMouseFocusAction: function onMouseFocusAction(event) {\n if (document.activeElement === event.target) {\n return;\n }\n\n var menuItem = event.target.closest('li');\n\n if (menuItem) {\n var focusableItem = menuItem.querySelector(focusableSelector);\n\n if (focusableItem) {\n var focusList = this.$refs.menu.querySelectorAll(focusableSelector);\n\n var focusIndex = _toConsumableArray(focusList).indexOf(focusableItem);\n\n if (focusIndex > -1) {\n this.focusIndex = focusIndex;\n this.focusAction();\n }\n }\n }\n },\n removeCurrentActive: function removeCurrentActive() {\n var currentActiveElement = this.$refs.menu.querySelector('li.active');\n\n if (currentActiveElement) {\n currentActiveElement.classList.remove('active');\n }\n },\n focusAction: function focusAction() {\n // TODO: have a global disabled state for non input elements\n var focusElement = this.$refs.menu.querySelectorAll(focusableSelector)[this.focusIndex];\n\n if (focusElement) {\n this.removeCurrentActive();\n var liMenuParent = focusElement.closest('li.action');\n focusElement.focus();\n\n if (liMenuParent) {\n liMenuParent.classList.add('active');\n }\n }\n },\n focusPreviousAction: function focusPreviousAction(event) {\n if (this.opened) {\n if (this.focusIndex === 0) {\n // First element overflows to body-navigation (no preventDefault!) and closes Actions-menu\n this.closeMenu();\n } else {\n this.preventIfEvent(event);\n this.focusIndex = this.focusIndex - 1;\n }\n\n this.focusAction();\n }\n },\n focusNextAction: function focusNextAction(event) {\n if (this.opened) {\n var indexLength = this.$refs.menu.querySelectorAll(focusableSelector).length - 1;\n\n if (this.focusIndex === indexLength) {\n // Last element overflows to body-navigation (no preventDefault!) and closes Actions-menu\n this.closeMenu();\n } else {\n this.preventIfEvent(event);\n this.focusIndex = this.focusIndex + 1;\n }\n\n this.focusAction();\n }\n },\n focusFirstAction: function focusFirstAction(event) {\n if (this.opened) {\n this.preventIfEvent(event);\n this.focusIndex = 0;\n this.focusAction();\n }\n },\n focusLastAction: function focusLastAction(event) {\n if (this.opened) {\n this.preventIfEvent(event);\n this.focusIndex = this.$el.querySelectorAll(focusableSelector).length - 1;\n this.focusAction();\n }\n },\n preventIfEvent: function preventIfEvent(event) {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n // ACTIONS MANAGEMENT\n // exec the first action\n execFirstAction: function execFirstAction(event) {\n if (this.firstActionEvent) {\n this.firstActionEvent(event);\n }\n },\n initActions: function initActions() {\n // filter out invalid slots\n this.actions = (this.$slots.default || []).filter(function (node) {\n return !!node && !!node.componentOptions;\n });\n },\n onFocus: function onFocus(event) {\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.$emit('blur', event);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Popover/Popover.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! v-tooltip */ \"v-tooltip\");\n/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(v_tooltip__WEBPACK_IMPORTED_MODULE_0__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Popover',\n components: {\n VPopover: v_tooltip__WEBPACK_IMPORTED_MODULE_0__[\"VPopover\"]\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$watch(function () {\n // required because v-tooltip doesn't provide events\n // and @show is too early\n // see https://github.com/Akryum/v-tooltip/issues/661\n return _this.$refs.popover.isOpen;\n }, function (val) {\n if (val) {\n /**\n * Triggered after the tooltip was visually displayed.\n *\n * This is different from the 'show' and 'apply-show' which\n * run earlier than this where there is no guarantee that the\n * tooltip is already visible and in the DOM.\n */\n _this.$emit('after-show');\n } else {\n /**\n * Triggered after the tooltip was visually hidden.\n */\n _this.$emit('after-hide');\n }\n });\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./src/directives/Tooltip/index.scss\":\n/*!********************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./src/directives/Tooltip/index.scss ***!\n \\********************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n.vue-tooltip[data-v-84c461f] {\\n position: absolute;\\n z-index: 100000;\\n right: auto;\\n left: auto;\\n display: block;\\n margin: 0;\\n /* default to top */\\n margin-top: -3px;\\n padding: 10px 0;\\n text-align: left;\\n text-align: start;\\n opacity: 0;\\n line-height: 1.6;\\n line-break: auto;\\n filter: drop-shadow(0 1px 10px var(--color-box-shadow)); }\\n .vue-tooltip[data-v-84c461f][x-placement^='top'] .tooltip-arrow {\\n bottom: 0;\\n margin-top: 0;\\n margin-bottom: 0;\\n border-width: 10px 10px 0 10px;\\n border-right-color: transparent;\\n border-bottom-color: transparent;\\n border-left-color: transparent; }\\n .vue-tooltip[data-v-84c461f][x-placement^='bottom'] .tooltip-arrow {\\n top: 0;\\n margin-top: 0;\\n margin-bottom: 0;\\n border-width: 0 10px 10px 10px;\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-left-color: transparent; }\\n .vue-tooltip[data-v-84c461f][x-placement^='right'] .tooltip-arrow {\\n right: 100%;\\n margin-right: 0;\\n margin-left: 0;\\n border-width: 10px 10px 10px 0;\\n border-top-color: transparent;\\n border-bottom-color: transparent;\\n border-left-color: transparent; }\\n .vue-tooltip[data-v-84c461f][x-placement^='left'] .tooltip-arrow {\\n left: 100%;\\n margin-right: 0;\\n margin-left: 0;\\n border-width: 10px 0 10px 10px;\\n border-top-color: transparent;\\n border-right-color: transparent;\\n border-bottom-color: transparent; }\\n .vue-tooltip[data-v-84c461f][aria-hidden='true'] {\\n visibility: hidden;\\n transition: opacity .15s, visibility .15s;\\n opacity: 0; }\\n .vue-tooltip[data-v-84c461f][aria-hidden='false'] {\\n visibility: visible;\\n transition: opacity .15s;\\n opacity: 1; }\\n .vue-tooltip[data-v-84c461f] .tooltip-inner {\\n max-width: 350px;\\n padding: 5px 8px;\\n text-align: center;\\n color: var(--color-main-text);\\n border-radius: var(--border-radius);\\n background-color: var(--color-main-background); }\\n .vue-tooltip[data-v-84c461f] .tooltip-arrow {\\n position: absolute;\\n z-index: 1;\\n width: 0;\\n height: 0;\\n margin: 0;\\n border-style: solid;\\n border-color: var(--color-main-background); }\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AApBF;;;;;;;;;;CA+BC;AAjBD;EACC,kBAAkB;EAClB,eAAe;EACf,WAAW;EACX,UAAU;EACV,cAAc;EACd,SAAS;EACT,mBAAA;EACA,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,UAAU;EACV,gBAAgB;EAEhB,gBAAgB;EAChB,uDAAuD,EAAA;EAhBxD;IAqBG,SAAS;IACT,aAAa;IACb,gBAAgB;IAChB,8BA1Be;IA2Bf,+BAA+B;IAC/B,gCAAgC;IAChC,8BAA8B,EAAA;EA3BjC;IAkCG,MAAM;IACN,aAAa;IACb,gBAAgB;IAChB,8BAvCe;IAwCf,6BAA6B;IAC7B,+BAA+B;IAC/B,8BAA8B,EAAA;EAxCjC;IA+CG,WAAW;IACX,eAAe;IACf,cAAc;IACd,8BAAsD;IACtD,6BAA6B;IAC7B,gCAAgC;IAChC,8BAA8B,EAAA;EArDjC;IA4DG,UAAU;IACV,eAAe;IACf,cAAc;IACd,8BAjEe;IAkEf,6BAA6B;IAC7B,+BAA+B;IAC/B,gCAAgC,EAAA;EAlEnC;IAwEE,kBAAkB;IAClB,yCAAyC;IACzC,UAAU,EAAA;EA1EZ;IA6EE,mBAAmB;IACnB,wBAAwB;IACxB,UAAU,EAAA;EA/EZ;IAoFE,gBAAgB;IAChB,gBAAgB;IAChB,kBAAkB;IAClB,6BAA6B;IAC7B,mCAAmC;IACnC,8CAA8C,EAAA;EAzFhD;IA8FE,kBAAkB;IAClB,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,mBAAmB;IACnB,0CAA0C,EAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.eot */ \"./src/fonts/iconfont-vue-84c461f.eot\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.woff */ \"./src/fonts/iconfont-vue-84c461f.woff\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.ttf */ \"./src/fonts/iconfont-vue-84c461f.ttf\");\n/* harmony import */ var _fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../fonts/iconfont-vue-84c461f.svg */ \"./src/fonts/iconfont-vue-84c461f.svg\");\n// Imports\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_eot__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_woff__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_ttf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(_fonts_iconfont_vue_84c461f_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n@font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n /* IE9 Compat Modes */\\n src: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\");\\n /* Legacy iOS */\\n}\\n.icon[data-v-4f45864b] {\\n font-style: normal;\\n font-weight: 400;\\n}\\n.icon.arrow-left-double[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-left[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right-double[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.arrow-right[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.breadcrumb[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.checkmark[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.close[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.confirm[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.info[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.menu[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.more[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.pause[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.play[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.triangle-s[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-away[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-dnd[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-invisible[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.icon.user-status-online[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: \\\"\\\";\\n}\\n.action-item[data-v-4f45864b] {\\n position: relative;\\n display: inline-block;\\n}\\n.action-item--single[data-v-4f45864b]:hover, .action-item--single[data-v-4f45864b]:focus, .action-item--single[data-v-4f45864b]:active, .action-item__menutoggle[data-v-4f45864b]:hover, .action-item__menutoggle[data-v-4f45864b]:focus, .action-item__menutoggle[data-v-4f45864b]:active {\\n opacity: 1;\\n background-color: rgba(127, 127, 127, 0.25);\\n}\\n.action-item__menutoggle[data-v-4f45864b]:disabled, .action-item--single[data-v-4f45864b]:disabled {\\n opacity: .3 !important;\\n}\\n.action-item.action-item--open .action-item__menutoggle[data-v-4f45864b] {\\n opacity: 1;\\n background-color: rgba(127, 127, 127, 0.25);\\n}\\n.action-item--single[data-v-4f45864b], .action-item__menutoggle[data-v-4f45864b] {\\n box-sizing: border-box;\\n width: auto;\\n min-width: 44px;\\n height: 44px;\\n margin: 0;\\n padding: 14px;\\n cursor: pointer;\\n border: none;\\n border-radius: 22px;\\n background-color: transparent;\\n}\\n.action-item__menutoggle[data-v-4f45864b] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n opacity: 0.7;\\n font-weight: bold;\\n line-height: 16px;\\n}\\n.action-item__menutoggle[data-v-4f45864b] span {\\n width: 16px;\\n height: 16px;\\n line-height: 16px;\\n}\\n.action-item__menutoggle[data-v-4f45864b]:before {\\n content: '';\\n}\\n.action-item__menutoggle--default-icon[data-v-4f45864b]:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n font-style: normal;\\n font-weight: 400;\\n content: \\\"\\\";\\n}\\n.action-item__menutoggle--default-icon[data-v-4f45864b]::before {\\n font-size: 16px;\\n}\\n.action-item__menutoggle--with-title[data-v-4f45864b] {\\n position: relative;\\n padding-left: 44px;\\n white-space: nowrap;\\n opacity: 1;\\n border: 1px solid var(--color-border-dark);\\n background-color: var(--color-background-dark);\\n background-position: 14px center;\\n font-size: inherit;\\n}\\n.action-item__menutoggle--with-title[data-v-4f45864b]:before {\\n position: absolute;\\n top: 14px;\\n left: 14px;\\n}\\n.action-item__menutoggle--primary[data-v-4f45864b] {\\n opacity: 1;\\n color: var(--color-primary-text);\\n border: none;\\n background-color: var(--color-primary-element);\\n}\\n.action-item--open .action-item__menutoggle--primary[data-v-4f45864b], .action-item__menutoggle--primary[data-v-4f45864b]:hover, .action-item__menutoggle--primary[data-v-4f45864b]:focus, .action-item__menutoggle--primary[data-v-4f45864b]:active {\\n color: var(--color-primary-text) !important;\\n background-color: var(--color-primary-element-light) !important;\\n}\\n.action-item--single[data-v-4f45864b] {\\n opacity: 0.7;\\n}\\n.action-item--single[data-v-4f45864b]:hover, .action-item--single[data-v-4f45864b]:focus, .action-item--single[data-v-4f45864b]:active {\\n opacity: 1;\\n}\\n.action-item--single > [hidden][data-v-4f45864b] {\\n display: none;\\n}\\n.ie .action-item__menu[data-v-4f45864b],\\n.ie .action-item__menu .action-item__menu_arrow[data-v-4f45864b],\\n.edge .action-item__menu[data-v-4f45864b],\\n.edge .action-item__menu .action-item__menu_arrow[data-v-4f45864b] {\\n border: 1px solid var(--color-border);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./Actions.vue\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../fonts/scss/iconfont-vue.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AEsEA;EACC,mCAAmC;EACnC,4CAAuC;EAAE,qBAAA;EACzC,mPAGmD;EAAE,eAAA;AAAgB;AAMtE;EACE,kBAAkB;EAClB,gBAAgB;AAAA;AAFlB;IAMM,mCAAmC;IACnC,YA5Ge;AAAO;AAqG5B;IAMM,mCAAmC;IACnC,YA3GQ;AAAO;AAoGrB;IAMM,mCAAmC;IACnC,YA1GgB;AAAO;AAmG7B;IAMM,mCAAmC;IACnC,YAzGS;AAAO;AAkGtB;IAMM,mCAAmC;IACnC,YAxGQ;AAAO;AAiGrB;IAMM,mCAAmC;IACnC,YAvGO;AAAO;AAgGpB;IAMM,mCAAmC;IACnC,YAtGG;AAAO;AA+FhB;IAMM,mCAAmC;IACnC,YArGK;AAAO;AA8FlB;IAMM,mCAAmC;IACnC,YApGE;AAAO;AA6Ff;IAMM,mCAAmC;IACnC,YAnGE;AAAO;AA4Ff;IAMM,mCAAmC;IACnC,YAlGE;AAAO;AA2Ff;IAMM,mCAAmC;IACnC,YAjGG;AAAO;AA0FhB;IAMM,mCAAmC;IACnC,YAhGE;AAAO;AAyFf;IAMM,mCAAmC;IACnC,YA/FQ;AAAO;AAwFrB;IAMM,mCAAmC;IACnC,YA9Fc;AAAO;AAuF3B;IAMM,mCAAmC;IACnC,YA7Fa;AAAO;AAsF1B;IAMM,mCAAmC;IACnC,YA5FmB;AAAO;AAqFhC;IAMM,mCAAmC;IACnC,YA3FgB;AAAO;AF6nB/B;EACC,kBAAkB;EAClB,qBAAqB;AAAA;AAIrB;IAMC,UChnBc;IDknBd,2CC1nBsC;AAAA;AD8nBvC;IAEC,sBAAsB;AAAA;AApBxB;IAwBE,UC5nBc;ID6nBd,2CCznBgD;AAAA;AD6nBjD;IAEC,sBAAsB;IACtB,WAAW;IACX,eCxpBmB;IDypBnB,YCzpBmB;ID0pBnB,SAAS;IACT,aCnpB8C;IDopB9C,eAAe;IACf,YAAY;IACZ,mBAAkC;IAClC,6BAA6B;AAAA;AAI9B;IAEC,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,YCtpBiB;IDupBjB,iBAAiB;IACjB,iBCtqBc;AAAA;AD+pBd;MAWC,WC1qBa;MD2qBb,YC3qBa;MD4qBb,iBC5qBa;AAAA;AD+pBd;MAiBC,WAAW;AAAA;AAGX;ME9nBC,mCAjFmB;MAkFnB,kBAAkB;MAClB,gBAAgB;MAChB,YAzEM;AAAO;AFosBd;MAGC,eCtrBY;AAAA;AD0rBd;MACC,kBAAkB;MAClB,kBChsBkB;MDisBlB,mBAAmB;MACnB,UC/qBa;MDgrBb,0CAA0C;MAE1C,8CAA8C;MAC9C,gCAAwC;MACxC,kBAAkB;AAAA;AATlB;QAYC,kBAAkB;QAClB,SCnsB4C;QDosB5C,UCpsB4C;AAAA;ADwsB9C;MACC,UC9rBa;MD+rBb,gCAAgC;MAChC,YAAY;MACZ,8CAA8C;AAAA;AAC9C;QAIC,2CAA2C;QAC3C,+DAA+D;AAAA;AAKlE;IACC,YC9sBiB;AAAA;AD6sBjB;MAKC,UCjtBa;AAAA;AD4sBd;MASC,aAAa;AAAA;AAKhB;;;;EAIE,qCAAqC;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg\\n\\t\\tbackground-color: $icon-focus-bg;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: $icon-margin;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t// image slot\\n\\t\\t/deep/ span {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tline-height: $icon-size;\\n\\t\\t}\\n\\n\\t\\t&:before {\\n\\t\\t\\tcontent: '';\\n\\t\\t}\\n\\n\\t\\t&--default-icon {\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tfont-size: $icon-size;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t&:before {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: $icon-margin;\\n\\t\\t\\t\\tleft: $icon-margin;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-84c461f\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n src: url('../iconfont-vue-84c461f.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-84c461f.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-84c461f.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-84c461f.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-84c461f.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-84c461f\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-84c461f\\\";\\n content: iconfont-item(\\\"iconfont-vue-84c461f/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.popover {\\n z-index: 100000;\\n display: block !important;\\n filter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n}\\n.popover__inner {\\n padding: 0;\\n color: var(--color-main-text);\\n border-radius: var(--border-radius);\\n background: var(--color-main-background);\\n}\\n.popover__arrow {\\n position: absolute;\\n z-index: 1;\\n width: 0;\\n height: 0;\\n margin: 10px;\\n border-style: solid;\\n border-color: var(--color-main-background);\\n}\\n.popover[x-placement^='top'] {\\n margin-bottom: 10px;\\n}\\n.popover[x-placement^='top'] .popover__arrow {\\n bottom: -10px;\\n left: calc(50% - $arrow-width);\\n margin-top: 0;\\n margin-bottom: 0;\\n border-width: 10px 10px 0 10px;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n border-left-color: transparent !important;\\n}\\n.popover[x-placement^='bottom'] {\\n margin-top: 10px;\\n}\\n.popover[x-placement^='bottom'] .popover__arrow {\\n top: -10px;\\n left: calc(50% - $arrow-width);\\n margin-top: 0;\\n margin-bottom: 0;\\n border-width: 0 10px 10px 10px;\\n border-top-color: transparent !important;\\n border-right-color: transparent !important;\\n border-left-color: transparent !important;\\n}\\n.popover[x-placement^='right'] {\\n margin-left: 10px;\\n}\\n.popover[x-placement^='right'] .popover__arrow {\\n top: calc(50% - $arrow-width);\\n left: -10px;\\n margin-right: 0;\\n margin-left: 0;\\n border-width: 10px 10px 10px 0;\\n border-top-color: transparent !important;\\n border-bottom-color: transparent !important;\\n border-left-color: transparent !important;\\n}\\n.popover[x-placement^='left'] {\\n margin-right: 10px;\\n}\\n.popover[x-placement^='left'] .popover__arrow {\\n top: calc(50% - $arrow-width);\\n right: -10px;\\n margin-right: 0;\\n margin-left: 0;\\n border-width: 10px 0 10px 10px;\\n border-top-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n}\\n.popover[aria-hidden='true'] {\\n visibility: hidden;\\n transition: opacity var(--animation-quick), visibility var(--animation-quick);\\n opacity: 0;\\n}\\n.popover[aria-hidden='false'] {\\n visibility: visible;\\n transition: opacity var(--animation-quick);\\n opacity: 1;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./Popover.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AA2FF;EACC,eAAe;EACf,yBAAyB;EAEzB,uDAAuD;AAAA;AAEvD;IACC,UAAU;IACV,6BAA6B;IAC7B,mCAAmC;IACnC,wCAAwC;AAAA;AAGzC;IACC,kBAAkB;IAClB,UAAU;IACV,QAAQ;IACR,SAAS;IACT,YApBgB;IAqBhB,mBAAmB;IACnB,0CAA0C;AAAA;AApB5C;IAwBE,mBA1BgB;AAAA;AAElB;MA2BG,aA7Be;MA8Bf,8BAA8B;MAC9B,aAAa;MACb,gBAAgB;MAChB,8BAjCe;MAkCf,0CAA0C;MAC1C,2CAA2C;MAC3C,yCAAyC;AAAA;AAlC5C;IAuCE,gBAzCgB;AAAA;AAElB;MA0CG,UA5Ce;MA6Cf,8BAA8B;MAC9B,aAAa;MACb,gBAAgB;MAChB,8BAhDe;MAiDf,wCAAwC;MACxC,0CAA0C;MAC1C,yCAAyC;AAAA;AAjD5C;IAsDE,iBAxDgB;AAAA;AAElB;MAyDG,6BAA6B;MAC7B,WA5De;MA6Df,eAAe;MACf,cAAc;MACd,8BAAsD;MACtD,wCAAwC;MACxC,2CAA2C;MAC3C,yCAAyC;AAAA;AAhE5C;IAqEE,kBAvEgB;AAAA;AAElB;MAwEG,6BAA6B;MAC7B,YA3Ee;MA4Ef,eAAe;MACf,cAAc;MACd,8BA9Ee;MA+Ef,wCAAwC;MACxC,0CAA0C;MAC1C,2CAA2C;AAAA;AA/E9C;IAoFE,kBAAkB;IAClB,6EAA6E;IAC7E,UAAU;AAAA;AAtFZ;IA0FE,mBAAmB;IACnB,0CAA0C;IAC1C,UAAU;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/api.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/api.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/cssWithMappingToString.js ***!\n \\************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/getUrl.js\":\n/*!********************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/getUrl.js ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (url, options) {\n if (!options) {\n // eslint-disable-next-line no-param-reassign\n options = {};\n } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n url = url && url.__esModule ? url.default : url;\n\n if (typeof url !== \"string\") {\n return url;\n } // If url is already wrapped in quotes, remove them\n\n\n if (/^['\"].*['\"]$/.test(url)) {\n // eslint-disable-next-line no-param-reassign\n url = url.slice(1, -1);\n }\n\n if (options.hash) {\n // eslint-disable-next-line no-param-reassign\n url += options.hash;\n } // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n\n\n if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n\n return url;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_style_index_0_id_4f45864b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_style_index_0_id_4f45864b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_style_index_0_id_4f45864b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Popover.vue?vue&type=style&index=0&lang=scss& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!\n \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : undefined;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=template&id=4f45864b&scoped=true&\":\n/*!*********************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Actions/Actions.vue?vue&type=template&id=4f45864b&scoped=true& ***!\n \\*********************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _obj, _obj$1\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.isValidSingleAction && !_vm.forceMenu\n ? _c(\n \"element\",\n _vm._b(\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.firstAction.text,\n expression: \"firstAction.text\",\n modifiers: { auto: true }\n }\n ],\n staticClass: \"action-item action-item--single\",\n class:\n ((_obj = {}),\n (_obj[_vm.firstAction.icon] = _vm.firstAction.icon),\n (_obj[_vm.firstActionClass] = _vm.firstActionClass),\n _obj),\n attrs: { rel: \"noreferrer noopener\", disabled: _vm.disabled },\n on: _vm._d({ focus: _vm.onFocus, blur: _vm.onBlur }, [\n _vm.firstActionEventBinding,\n _vm.execFirstAction\n ])\n },\n \"element\",\n _vm.firstActionBinding,\n false\n ),\n [\n _c(\"VNodes\", { attrs: { vnodes: _vm.firstActionIconSlot } }),\n _vm._v(\" \"),\n _c(\n \"span\",\n { attrs: { \"aria-hidden\": true, hidden: \"\" } },\n [_vm._t(\"default\")],\n 2\n )\n ],\n 1\n )\n : _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.hasMultipleActions || _vm.forceMenu,\n expression: \"hasMultipleActions || forceMenu\"\n }\n ],\n staticClass: \"action-item\",\n class: { \"action-item--open\": _vm.opened }\n },\n [\n _c(\n \"Popover\",\n {\n attrs: {\n delay: 0,\n \"handle-resize\": true,\n open: _vm.opened,\n placement: _vm.placement,\n \"boundaries-element\": _vm.boundariesElement,\n container: _vm.container\n },\n on: {\n \"update:open\": function($event) {\n _vm.opened = $event\n },\n show: _vm.openMenu,\n \"after-show\": _vm.onOpen,\n hide: _vm.closeMenu\n }\n },\n [\n _c(\n \"button\",\n {\n ref: \"menuButton\",\n staticClass: \"icon action-item__menutoggle\",\n class:\n ((_obj$1 = {}),\n (_obj$1[_vm.defaultIcon] = !_vm.iconSlotIsPopulated),\n (_obj$1[\"action-item__menutoggle--with-title\"] =\n _vm.menuTitle),\n (_obj$1[\"action-item__menutoggle--primary\"] = _vm.primary),\n _obj$1),\n attrs: {\n slot: \"trigger\",\n disabled: _vm.disabled,\n \"aria-label\": _vm.ariaLabel,\n \"aria-haspopup\": \"true\",\n \"aria-controls\": _vm.randomId,\n \"test-attr\": \"1\",\n \"aria-expanded\": _vm.opened ? \"true\" : \"false\"\n },\n on: { focus: _vm.onFocus, blur: _vm.onBlur },\n slot: \"trigger\"\n },\n [\n _vm._t(\"icon\"),\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.menuTitle) + \"\\n\\t\\t\")\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.opened,\n expression: \"opened\"\n }\n ],\n ref: \"menu\",\n class: { open: _vm.opened },\n attrs: { tabindex: \"-1\" },\n on: {\n keydown: [\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\n \"Up\",\n \"ArrowUp\"\n ])\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n return _vm.focusPreviousAction($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\"\n ])\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n return _vm.focusNextAction($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n return _vm.focusNextAction($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n if (!$event.shiftKey) {\n return null\n }\n if ($event.ctrlKey || $event.altKey || $event.metaKey) {\n return null\n }\n return _vm.focusPreviousAction($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k(\n $event.keyCode,\n \"page-up\",\n undefined,\n $event.key,\n undefined\n )\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n return _vm.focusFirstAction($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k(\n $event.keyCode,\n \"page-down\",\n undefined,\n $event.key,\n undefined\n )\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n return _vm.focusLastAction($event)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"esc\", 27, $event.key, [\n \"Esc\",\n \"Escape\"\n ])\n ) {\n return null\n }\n if (\n $event.ctrlKey ||\n $event.shiftKey ||\n $event.altKey ||\n $event.metaKey\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.closeMenu($event)\n }\n ],\n mousemove: _vm.onMouseFocusAction\n }\n },\n [\n _c(\n \"ul\",\n { attrs: { id: _vm.randomId, tabindex: \"-1\" } },\n [_vm.opened ? [_vm._t(\"default\")] : _vm._e()],\n 2\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=template&id=45093cca&\":\n/*!*********************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Popover/Popover.vue?vue&type=template&id=45093cca& ***!\n \\*********************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"VPopover\",\n _vm._g(\n _vm._b(\n {\n ref: \"popover\",\n attrs: {\n \"popover-base-class\": \"popover\",\n \"popover-wrapper-class\": \"popover__wrapper\",\n \"popover-arrow-class\": \"popover__arrow\",\n \"popover-inner-class\": \"popover__inner\"\n }\n },\n \"VPopover\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n [\n _vm._t(\"trigger\"),\n _vm._v(\" \"),\n _c(\"template\", { slot: \"popover\" }, [_vm._t(\"default\")], 2)\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ \"./src/components/Actions/Actions.vue\":\n/*!********************************************!*\\\n !*** ./src/components/Actions/Actions.vue ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Actions_vue_vue_type_template_id_4f45864b_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Actions.vue?vue&type=template&id=4f45864b&scoped=true& */ \"./src/components/Actions/Actions.vue?vue&type=template&id=4f45864b&scoped=true&\");\n/* harmony import */ var _Actions_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Actions.vue?vue&type=script&lang=js& */ \"./src/components/Actions/Actions.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _Actions_vue_vue_type_style_index_0_id_4f45864b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true& */ \"./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _Actions_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Actions.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/Actions/Actions.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _Actions_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Actions_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _Actions_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _Actions_vue_vue_type_template_id_4f45864b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _Actions_vue_vue_type_template_id_4f45864b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"4f45864b\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _Actions_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _Actions_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Actions/Actions.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/Actions/Actions.vue?vue&type=custom&index=0&blockType=docs\":\n/*!***********************************************************************************!*\\\n !*** ./src/components/Actions/Actions.vue?vue&type=custom&index=0&blockType=docs ***!\n \\***********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Actions/Actions.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************!*\\\n !*** ./src/components/Actions/Actions.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./Actions.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true&\":\n/*!******************************************************************************************************!*\\\n !*** ./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true& ***!\n \\******************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_style_index_0_id_4f45864b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=style&index=0&id=4f45864b&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/Actions/Actions.vue?vue&type=template&id=4f45864b&scoped=true&\":\n/*!***************************************************************************************!*\\\n !*** ./src/components/Actions/Actions.vue?vue&type=template&id=4f45864b&scoped=true& ***!\n \\***************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_template_id_4f45864b_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./Actions.vue?vue&type=template&id=4f45864b&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Actions/Actions.vue?vue&type=template&id=4f45864b&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_template_id_4f45864b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Actions_vue_vue_type_template_id_4f45864b_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Actions/index.js\":\n/*!*****************************************!*\\\n !*** ./src/components/Actions/index.js ***!\n \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Actions */ \"./src/components/Actions/Actions.vue\");\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Actions__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/Popover/Popover.vue\":\n/*!********************************************!*\\\n !*** ./src/components/Popover/Popover.vue ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Popover_vue_vue_type_template_id_45093cca___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Popover.vue?vue&type=template&id=45093cca& */ \"./src/components/Popover/Popover.vue?vue&type=template&id=45093cca&\");\n/* harmony import */ var _Popover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Popover.vue?vue&type=script&lang=js& */ \"./src/components/Popover/Popover.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _Popover_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Popover.vue?vue&type=style&index=0&lang=scss& */ \"./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _Popover_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Popover.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/Popover/Popover.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _Popover_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Popover_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _Popover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _Popover_vue_vue_type_template_id_45093cca___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _Popover_vue_vue_type_template_id_45093cca___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _Popover_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _Popover_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/Popover/Popover.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/Popover/Popover.vue?vue&type=custom&index=0&blockType=docs\":\n/*!***********************************************************************************!*\\\n !*** ./src/components/Popover/Popover.vue?vue&type=custom&index=0&blockType=docs ***!\n \\***********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Popover/Popover.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************!*\\\n !*** ./src/components/Popover/Popover.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./Popover.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss&\":\n/*!******************************************************************************!*\\\n !*** ./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss& ***!\n \\******************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./Popover.vue?vue&type=style&index=0&lang=scss& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=style&index=0&lang=scss&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/Popover/Popover.vue?vue&type=template&id=45093cca&\":\n/*!***************************************************************************!*\\\n !*** ./src/components/Popover/Popover.vue?vue&type=template&id=45093cca& ***!\n \\***************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_template_id_45093cca___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./Popover.vue?vue&type=template&id=45093cca& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Popover/Popover.vue?vue&type=template&id=45093cca&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_template_id_45093cca___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Popover_vue_vue_type_template_id_45093cca___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/Popover/index.js\":\n/*!*****************************************!*\\\n !*** ./src/components/Popover/index.js ***!\n \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Popover__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Popover */ \"./src/components/Popover/Popover.vue\");\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Popover__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/directives/Tooltip/index.js\":\n/*!*****************************************!*\\\n !*** ./src/directives/Tooltip/index.js ***!\n \\*****************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! v-tooltip */ \"v-tooltip\");\n/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(v_tooltip__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.scss */ \"./src/directives/Tooltip/index.scss\");\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n // force scope the tooltip and use .vue-tooltip\n// instead of .tooltip to avoid server compatibility\n// issues and the use of !important\n\nv_tooltip__WEBPACK_IMPORTED_MODULE_0__[\"VTooltip\"].options.defaultTemplate = \"<div class=\\\"vue-tooltip\\\" role=\\\"tooltip\\\" data-v-\".concat(\"84c461f\", \"><div class=\\\"tooltip-arrow\\\"></div><div class=\\\"tooltip-inner\\\"></div></div>\");\nv_tooltip__WEBPACK_IMPORTED_MODULE_0__[\"VTooltip\"].options.defaultHtml = false;\n/* harmony default export */ __webpack_exports__[\"default\"] = (v_tooltip__WEBPACK_IMPORTED_MODULE_0__[\"VTooltip\"]);\n\n/***/ }),\n\n/***/ \"./src/directives/Tooltip/index.scss\":\n/*!*******************************************!*\\\n !*** ./src/directives/Tooltip/index.scss ***!\n \\*******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_index_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!./index.scss */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./src/directives/Tooltip/index.scss\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_index_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_index_scss__WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./src/fonts/iconfont-vue-84c461f.eot\":\n/*!********************************************!*\\\n !*** ./src/fonts/iconfont-vue-84c461f.eot ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"data:application/vnd.ms-fontobject;base64,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\");\n\n/***/ }),\n\n/***/ \"./src/fonts/iconfont-vue-84c461f.svg\":\n/*!********************************************!*\\\n !*** ./src/fonts/iconfont-vue-84c461f.svg ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLTg0YzQ2MWYiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtODRjNDYxZiIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4=\");\n\n/***/ }),\n\n/***/ \"./src/fonts/iconfont-vue-84c461f.ttf\":\n/*!********************************************!*\\\n !*** ./src/fonts/iconfont-vue-84c461f.ttf ***!\n \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"data:font/ttf;base64,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AAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtODRjNDYxZlJlZ3VsYXJpY29uZm9udC12dWUtODRjNDYxZmljb25mb250LXZ1ZS04NGM0NjFmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtODRjNDYxZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOAA0AGMANAA2ADEAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOAA0AGMANAA2ADEAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADgANABjADQANgAxAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOAA0AGMANAA2ADEAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\");\n\n/***/ }),\n\n/***/ \"./src/fonts/iconfont-vue-84c461f.woff\":\n/*!*********************************************!*\\\n !*** ./src/fonts/iconfont-vue-84c461f.woff ***!\n \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"data:font/woff;base64,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PAE55eh8gAAAAQAAAAEAAD/s/DtfDzz1AAsTiAAAAADc1Uf1AAAAANyEa/X/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtODRjNDYxZlJlZ3VsYXJpY29uZm9udC12dWUtODRjNDYxZmljb25mb250LXZ1ZS04NGM0NjFmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtODRjNDYxZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOAA0AGMANAA2ADEAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOAA0AGMANAA2ADEAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADgANABjADQANgAxAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOAA0AGMANAA2ADEAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\");\n\n/***/ }),\n\n/***/ \"./src/l10n.js\":\n/*!*********************!*\\\n !*** ./src/l10n.js ***!\n \\*********************/\n/*! exports provided: t, n */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return t; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return n; });\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nextcloud/l10n/dist/gettext */ \"@nextcloud/l10n/dist/gettext\");\n/* harmony import */ var _nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar gtBuilder = Object(_nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_1__[\"getGettextBuilder\"])().detectLocale(); // Decompress Translations to gettext format and add to gtBuilder\n\n[{\"locale\":\"br\",\"translations\":{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",\"Actions\":\"Oberioù\",\"Activities\":\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",\"Choose\":\"Dibab\",\"Close\":\"Serriñ\",\"Custom\":\"Personelañ\",\"Flags\":\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",\"Next\":\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",\"Objects\":\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",\"Previous\":\"A-raok\",\"Search\":\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",\"Settings\":\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",\"Symbols\":\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{\"locale\":\"ca\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",\"Actions\":\"Accions\",\"Activities\":\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Choose\":\"Tria\",\"Close\":\"Tanca\",\"Custom\":\"Personalitzat\",\"Flags\":\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",\"Next\":\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",\"Objects\":\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",\"Previous\":\"Anterior\",\"Search\":\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",\"Settings\":\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",\"Symbols\":\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{\"locale\":\"cs_CZ\",\"translations\":{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",\"Actions\":\"Akce\",\"Activities\":\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Choose\":\"Zvolit\",\"Close\":\"Zavřít\",\"Custom\":\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",\"Flags\":\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",\"Next\":\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",\"Objects\":\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Previous\":\"Předchozí\",\"Search\":\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",\"Settings\":\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",\"Submit\":\"Odeslat\",\"Symbols\":\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{\"locale\":\"da\",\"translations\":{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",\"Actions\":\"Handlinger\",\"Activities\":\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",\"Choose\":\"Vælg\",\"Close\":\"Luk\",\"Custom\":\"Brugerdefineret\",\"Flags\":\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",\"Next\":\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",\"Objects\":\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",\"Previous\":\"Forrige\",\"Search\":\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",\"Settings\":\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",\"Symbols\":\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{\"locale\":\"de\",\"translations\":{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",\"Actions\":\"Aktionen\",\"Activities\":\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Choose\":\"Auswählen\",\"Close\":\"Schließen\",\"Custom\":\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",\"Flags\":\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"Next\":\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",\"Objects\":\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Previous\":\"Vorherige\",\"Search\":\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",\"Settings\":\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",\"Submit\":\"Einreichen\",\"Symbols\":\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{\"locale\":\"de_DE\",\"translations\":{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",\"Actions\":\"Aktionen\",\"Activities\":\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Choose\":\"Auswählen\",\"Close\":\"Schließen\",\"Custom\":\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",\"Flags\":\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"Next\":\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",\"Objects\":\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Previous\":\"Vorherige\",\"Search\":\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",\"Settings\":\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",\"Submit\":\"Einreichen\",\"Symbols\":\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{\"locale\":\"el\",\"translations\":{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",\"Actions\":\"Ενέργειες\",\"Activities\":\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",\"Choose\":\"Επιλογή\",\"Close\":\"Κλείσιμο\",\"Custom\":\"Προσαρμογή\",\"Flags\":\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",\"Next\":\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",\"Objects\":\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",\"Previous\":\"Προηγούμενο\",\"Search\":\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",\"Settings\":\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",\"Symbols\":\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{\"locale\":\"eo\",\"translations\":{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",\"Actions\":\"Agoj\",\"Activities\":\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",\"Choose\":\"Elektu\",\"Close\":\"Fermu\",\"Custom\":\"Propra\",\"Flags\":\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",\"Next\":\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",\"Objects\":\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",\"Previous\":\"Antaŭa\",\"Search\":\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",\"Settings\":\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",\"Symbols\":\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{\"locale\":\"es\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",\"Actions\":\"Acciones\",\"Activities\":\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",\"Choose\":\"Elegir\",\"Close\":\"Cerrar\",\"Custom\":\"Personalizado\",\"Flags\":\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",\"Next\":\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",\"Objects\":\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",\"Previous\":\"Anterior\",\"Search\":\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",\"Settings\":\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",\"Symbols\":\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{\"locale\":\"eu\",\"translations\":{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",\"Choose\":\"Aukeratu\",\"Close\":\"Itxi\",\"Next\":\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",\"Previous\":\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",\"Settings\":\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{\"locale\":\"fi_FI\",\"translations\":{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",\"Actions\":\"Toiminnot\",\"Activities\":\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",\"Choose\":\"Valitse\",\"Close\":\"Sulje\",\"Custom\":\"Mukautettu\",\"Flags\":\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",\"Next\":\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",\"Objects\":\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",\"Previous\":\"Edellinen\",\"Search\":\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",\"Settings\":\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",\"Symbols\":\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{\"locale\":\"fr\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",\"Actions\":\"Actions\",\"Activities\":\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",\"Choose\":\"Choisir\",\"Close\":\"Fermer\",\"Custom\":\"Personnalisé\",\"Flags\":\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",\"Next\":\"Suivant\",\"No emoji found\":\"Pas démoji trouvé\",\"No results\":\"Aucun résultat\",\"Objects\":\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",\"Previous\":\"Précédent\",\"Search\":\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",\"Settings\":\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",\"Symbols\":\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{\"locale\":\"gl\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",\"Actions\":\"Accións\",\"Activities\":\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Choose\":\"Escoller\",\"Close\":\"Pechar\",\"Custom\":\"Personalizado\",\"Flags\":\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",\"Next\":\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",\"Objects\":\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",\"Previous\":\"Anterir\",\"Search\":\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",\"Settings\":\"Axustes\",\"Settings navigation\":\"Navegación de axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",\"Symbols\":\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{\"locale\":\"he\",\"translations\":{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",\"Actions\":\"פעולות\",\"Activities\":\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",\"Choose\":\"בחירה\",\"Close\":\"סגירה\",\"Custom\":\"בהתאמה אישית\",\"Flags\":\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",\"Next\":\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",\"Objects\":\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",\"Previous\":\"הקודם\",\"Search\":\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",\"Settings\":\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",\"Symbols\":\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{\"locale\":\"hu_HU\",\"translations\":{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",\"Actions\":\"Műveletek\",\"Activities\":\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",\"Choose\":\"Válassszon\",\"Close\":\"Bezárás\",\"Custom\":\"Egyéni\",\"Flags\":\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",\"Next\":\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",\"Objects\":\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",\"Previous\":\"Előző\",\"Search\":\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",\"Settings\":\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",\"Symbols\":\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{\"locale\":\"is\",\"translations\":{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",\"Actions\":\"Aðgerðir\",\"Activities\":\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",\"Choose\":\"Velja\",\"Close\":\"Loka\",\"Custom\":\"Sérsniðið\",\"Flags\":\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",\"Next\":\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",\"Objects\":\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",\"Previous\":\"Fyrri\",\"Search\":\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",\"Settings\":\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",\"Symbols\":\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{\"locale\":\"it\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",\"Actions\":\"Azioni\",\"Activities\":\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Choose\":\"Scegli\",\"Close\":\"Chiudi\",\"Custom\":\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",\"Flags\":\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",\"Next\":\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",\"Objects\":\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",\"Previous\":\"Precedente\",\"Search\":\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",\"Settings\":\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",\"Submit\":\"Invia\",\"Symbols\":\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{\"locale\":\"ja_JP\",\"translations\":{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",\"Actions\":\"操作\",\"Activities\":\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Choose\":\"選択\",\"Close\":\"閉じる\",\"Custom\":\"カスタム\",\"Flags\":\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",\"Next\":\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",\"Objects\":\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",\"Previous\":\"前\",\"Search\":\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",\"Settings\":\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",\"Symbols\":\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{\"locale\":\"lt_LT\",\"translations\":{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",\"Actions\":\"Veiksmai\",\"Activities\":\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",\"Choose\":\"Pasirinkti\",\"Close\":\"Užverti\",\"Custom\":\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",\"Flags\":\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",\"Next\":\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",\"Objects\":\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",\"Previous\":\"Ankstesnis\",\"Search\":\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",\"Settings\":\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",\"Submit\":\"Pateikti\",\"Symbols\":\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{\"locale\":\"lv\",\"translations\":{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",\"Choose\":\"Izvēlēties\",\"Close\":\"Aizvērt\",\"Next\":\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",\"Previous\":\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",\"Settings\":\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{\"locale\":\"mk\",\"translations\":{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",\"Actions\":\"Акции\",\"Activities\":\"Активности\",\"Animals & Nature\":\"Животни & Природа\",\"Choose\":\"Избери\",\"Close\":\"Затвори\",\"Custom\":\"Прилагодени\",\"Flags\":\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",\"Next\":\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",\"Objects\":\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",\"Previous\":\"Предходно\",\"Search\":\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",\"Settings\":\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",\"Symbols\":\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{\"locale\":\"nb_NO\",\"translations\":{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",\"Actions\":\"Handlinger\",\"Activities\":\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",\"Choose\":\"Velg\",\"Close\":\"Lukk\",\"Custom\":\"Selvvalgt\",\"Flags\":\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",\"Next\":\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",\"Objects\":\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",\"Previous\":\"Forrige\",\"Search\":\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",\"Settings\":\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",\"Symbols\":\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{\"locale\":\"nl\",\"translations\":{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",\"Actions\":\"Acties\",\"Activities\":\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Choose\":\"Kies\",\"Close\":\"Sluiten\",\"Custom\":\"Aangepast\",\"Flags\":\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",\"Next\":\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",\"Objects\":\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",\"Previous\":\"Vorige\",\"Search\":\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",\"Settings\":\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",\"Symbols\":\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{\"locale\":\"oc\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",\"Actions\":\"Accions\",\"Choose\":\"Causir\",\"Close\":\"Tampar\",\"Next\":\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",\"Previous\":\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",\"Settings\":\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{\"locale\":\"pl\",\"translations\":{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",\"Actions\":\"Działania\",\"Activities\":\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Choose\":\"Wybierz\",\"Close\":\"Zamknij\",\"Custom\":\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",\"Flags\":\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",\"Next\":\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",\"Objects\":\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Previous\":\"Poprzedni\",\"Search\":\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",\"Settings\":\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",\"Submit\":\"Wyślij\",\"Symbols\":\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{\"locale\":\"pt_BR\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",\"Actions\":\"Ações\",\"Activities\":\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Choose\":\"Escolher\",\"Close\":\"Fechar\",\"Custom\":\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",\"Flags\":\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",\"Next\":\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",\"Objects\":\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Previous\":\"Anterior\",\"Search\":\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",\"Settings\":\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",\"Submit\":\"Enviar\",\"Symbols\":\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{\"locale\":\"pt_PT\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",\"Actions\":\"Ações\",\"Choose\":\"Escolher\",\"Close\":\"Fechar\",\"Next\":\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",\"Previous\":\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",\"Settings\":\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{\"locale\":\"ru\",\"translations\":{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",\"Choose\":\"Выберите\",\"Close\":\"Закрыть\",\"Next\":\"Следующее\",\"No results\":\"Результаты отсуствуют\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"Previous\":\"Предыдущее\",\"Select a tag\":\"Выберите метку\",\"Settings\":\"Параметры\",\"Start slideshow\":\"Начать показ слайдов\"}},{\"locale\":\"sk_SK\",\"translations\":{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",\"Actions\":\"Akcie\",\"Activities\":\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Choose\":\"Vybrať\",\"Close\":\"Zatvoriť\",\"Custom\":\"Zvyk\",\"Flags\":\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Next\":\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",\"Objects\":\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",\"Previous\":\"Predchádzajúci\",\"Search\":\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",\"Settings\":\"Nastavenia\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",\"Symbols\":\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\"}},{\"locale\":\"sl\",\"translations\":{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",\"Actions\":\"Dejanja\",\"Activities\":\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",\"Choose\":\"Izbor\",\"Close\":\"Zapri\",\"Custom\":\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",\"Flags\":\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",\"Next\":\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",\"Objects\":\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",\"Previous\":\"Predhodni\",\"Search\":\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",\"Settings\":\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",\"Submit\":\"Pošlji\",\"Symbols\":\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{\"locale\":\"sv\",\"translations\":{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",\"Actions\":\"Åtgärder\",\"Activities\":\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Choose\":\"Välj\",\"Close\":\"Stäng\",\"Custom\":\"Anpassad\",\"Flags\":\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",\"Next\":\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",\"Objects\":\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",\"Previous\":\"Föregående\",\"Search\":\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",\"Settings\":\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",\"Symbols\":\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{\"locale\":\"tr\",\"translations\":{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",\"Actions\":\"İşlemler\",\"Activities\":\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Choose\":\"Seçin\",\"Close\":\"Kapat\",\"Custom\":\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",\"Flags\":\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",\"Next\":\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",\"Objects\":\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Previous\":\"Önceki\",\"Search\":\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",\"Settings\":\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",\"Submit\":\"Gönder\",\"Symbols\":\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{\"locale\":\"uk\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",\"Actions\":\"Дії\",\"Activities\":\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",\"Choose\":\"Виберіть\",\"Close\":\"Закрити\",\"Custom\":\"Власне\",\"Flags\":\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",\"Next\":\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",\"Objects\":\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",\"Previous\":\"Назад\",\"Search\":\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",\"Settings\":\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",\"Symbols\":\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{\"locale\":\"zh_CN\",\"translations\":{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",\"Actions\":\"行为\",\"Activities\":\"活动\",\"Animals & Nature\":\"动物 & 自然\",\"Choose\":\"选择\",\"Close\":\"关闭\",\"Custom\":\"自定义\",\"Flags\":\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",\"Next\":\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",\"Objects\":\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",\"Previous\":\"上一个\",\"Search\":\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",\"Settings\":\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",\"Symbols\":\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{\"locale\":\"zh_HK\",\"translations\":{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",\"Actions\":\"動作\",\"Activities\":\"活動\",\"Animals & Nature\":\"動物與自然\",\"Choose\":\"選擇\",\"Close\":\"關閉\",\"Custom\":\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",\"Flags\":\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",\"Next\":\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",\"Objects\":\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Previous\":\"上一個\",\"Search\":\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",\"Settings\":\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",\"Submit\":\"提交\",\"Symbols\":\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{\"locale\":\"zh_TW\",\"translations\":{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",\"Actions\":\"動作\",\"Activities\":\"活動\",\"Animals & Nature\":\"動物與自然\",\"Choose\":\"選擇\",\"Close\":\"關閉\",\"Custom\":\"自定義\",\"Flags\":\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",\"Next\":\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",\"Objects\":\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Previous\":\"上一個\",\"Search\":\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",\"Settings\":\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",\"Symbols\":\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach(function (lang) {\n var translations = {};\n\n for (var key in lang.translations) {\n // Plural\n if (lang.translations[key].pluralId) {\n translations[key] = {\n msgid: key,\n msgid_plural: lang.translations[key].pluralId,\n msgstr: lang.translations[key].msgstr\n };\n continue;\n } // Singular\n\n\n translations[key] = {\n msgid: key,\n msgstr: [lang.translations[key]]\n };\n }\n\n gtBuilder.addTranslation(lang.locale, {\n translations: {\n '': translations\n }\n });\n});\nvar gt = gtBuilder.build();\nvar n = gt.ngettext.bind(gt);\nvar t = gt.gettext.bind(gt);\n\n\n/***/ }),\n\n/***/ \"./src/utils/GenRandomId.js\":\n/*!**********************************!*\\\n !*** ./src/utils/GenRandomId.js ***!\n \\**********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ \"core-js/modules/es.string.replace.js\");\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"core-js/modules/es.regexp.to-string.js\");\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar GenRandomId = function GenRandomId(length) {\n return Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, length || 5);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GenRandomId);\n\n/***/ }),\n\n/***/ \"./src/utils/ValidateSlot.js\":\n/*!***********************************!*\\\n !*** ./src/utils/ValidateSlot.js ***!\n \\***********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ \"core-js/modules/es.array.concat.js\");\n/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ \"core-js/modules/es.array.splice.js\");\n/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Validate children of a vue component\n *\n * @param {Object[]} slots the vue component slot\n * @param {String[]} allowed the allowed components name\n * @param {Object} vm the vue component instance\n */\n\nvar ValidateSlot = function ValidateSlot(slots, allowed, vm) {\n if (slots === undefined) {\n return;\n }\n\n for (var index = slots.length - 1; index >= 0; index--) {\n var node = slots[index]; // also check against allowed to avoid uninitiated vnodes with no componentOptions\n\n var isHtmlElement = !node.componentOptions && node.tag && allowed.indexOf(node.tag) === -1;\n var isVueComponent = !!node.componentOptions && typeof node.componentOptions.tag === 'string';\n var isForbiddenComponent = isVueComponent && allowed.indexOf(node.componentOptions.tag) === -1; // if html element or not a vue component or vue component not in allowed tags\n\n if (isHtmlElement || !isVueComponent || isForbiddenComponent) {\n // only warn when html elment or forbidden component\n // sometimes text nodes are present which are hardly removeable by the developer and spam the warnings\n if (isHtmlElement || isForbiddenComponent) {\n vue__WEBPACK_IMPORTED_MODULE_3___default.a.util.warn(\"\".concat(isHtmlElement ? node.tag : node.componentOptions.tag, \" is not allowed inside the \").concat(vm.$options.name, \" component\"), vm);\n } // cleanup\n\n\n slots.splice(index, 1);\n }\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ValidateSlot);\n\n/***/ }),\n\n/***/ \"@nextcloud/l10n/dist/gettext\":\n/*!***********************************************!*\\\n !*** external \"@nextcloud/l10n/dist/gettext\" ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@nextcloud/l10n/dist/gettext\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.concat.js\":\n/*!*****************************************************!*\\\n !*** external \"core-js/modules/es.array.concat.js\" ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.concat.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.filter.js\":\n/*!*****************************************************!*\\\n !*** external \"core-js/modules/es.array.filter.js\" ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.filter.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.from.js\":\n/*!***************************************************!*\\\n !*** external \"core-js/modules/es.array.from.js\" ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.from.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.iterator.js\":\n/*!*******************************************************!*\\\n !*** external \"core-js/modules/es.array.iterator.js\" ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.slice.js\":\n/*!****************************************************!*\\\n !*** external \"core-js/modules/es.array.slice.js\" ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.slice.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.splice.js\":\n/*!*****************************************************!*\\\n !*** external \"core-js/modules/es.array.splice.js\" ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.splice.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.function.name.js\":\n/*!******************************************************!*\\\n !*** external \"core-js/modules/es.function.name.js\" ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.function.name.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.object.get-own-property-descriptor.js\":\n/*!***************************************************************************!*\\\n !*** external \"core-js/modules/es.object.get-own-property-descriptor.js\" ***!\n \\***************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.object.get-own-property-descriptor.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.object.get-own-property-descriptors.js\":\n/*!****************************************************************************!*\\\n !*** external \"core-js/modules/es.object.get-own-property-descriptors.js\" ***!\n \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.object.get-own-property-descriptors.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.object.keys.js\":\n/*!****************************************************!*\\\n !*** external \"core-js/modules/es.object.keys.js\" ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.object.keys.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.object.to-string.js\":\n/*!*********************************************************!*\\\n !*** external \"core-js/modules/es.object.to-string.js\" ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.object.to-string.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.regexp.exec.js\":\n/*!****************************************************!*\\\n !*** external \"core-js/modules/es.regexp.exec.js\" ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.regexp.exec.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.regexp.to-string.js\":\n/*!*********************************************************!*\\\n !*** external \"core-js/modules/es.regexp.to-string.js\" ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.regexp.to-string.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.iterator.js\":\n/*!********************************************************!*\\\n !*** external \"core-js/modules/es.string.iterator.js\" ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.replace.js\":\n/*!*******************************************************!*\\\n !*** external \"core-js/modules/es.string.replace.js\" ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.replace.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.trim.js\":\n/*!****************************************************!*\\\n !*** external \"core-js/modules/es.string.trim.js\" ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.trim.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.symbol.description.js\":\n/*!***********************************************************!*\\\n !*** external \"core-js/modules/es.symbol.description.js\" ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.symbol.description.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.symbol.iterator.js\":\n/*!********************************************************!*\\\n !*** external \"core-js/modules/es.symbol.iterator.js\" ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.symbol.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.symbol.js\":\n/*!***********************************************!*\\\n !*** external \"core-js/modules/es.symbol.js\" ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.symbol.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/web.dom-collections.for-each.js\":\n/*!******************************************************************!*\\\n !*** external \"core-js/modules/web.dom-collections.for-each.js\" ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/web.dom-collections.for-each.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/web.dom-collections.iterator.js\":\n/*!******************************************************************!*\\\n !*** external \"core-js/modules/web.dom-collections.iterator.js\" ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/web.dom-collections.iterator.js\");\n\n/***/ }),\n\n/***/ \"v-tooltip\":\n/*!****************************!*\\\n !*** external \"v-tooltip\" ***!\n \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"v-tooltip\");\n\n/***/ }),\n\n/***/ \"vue\":\n/*!**********************!*\\\n !*** external \"vue\" ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue\");\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQWN0aW9ucy9BY3Rpb25zLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3NyYy9jb21wb25lbnRzL1BvcG92ZXIvUG9wb3Zlci52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9kaXJlY3RpdmVzL1Rvb2x0aXAvaW5kZXguc2NzcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9ucy9BY3Rpb25zLnZ1ZT9lNTg1Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Qb3BvdmVyL1BvcG92ZXIudnVlPzQ2M2YiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvZ2V0VXJsLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25zL0FjdGlvbnMudnVlPzA5NDAiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXIvUG9wb3Zlci52dWU/MjY2ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25zL0FjdGlvbnMudnVlP2RjZjkiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXIvUG9wb3Zlci52dWU/MGRkNiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9ucy9BY3Rpb25zLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9ucy9BY3Rpb25zLnZ1ZT9iN2RmIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BY3Rpb25zL0FjdGlvbnMudnVlP2MzNzgiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FjdGlvbnMvQWN0aW9ucy52dWU/YTljYSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQWN0aW9ucy9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlci9Qb3BvdmVyLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlci9Qb3BvdmVyLnZ1ZT8wMWQyIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Qb3BvdmVyL1BvcG92ZXIudnVlPzE0YzYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXIvUG9wb3Zlci52dWU/NzJmNiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlci9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2RpcmVjdGl2ZXMvVG9vbHRpcC9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2RpcmVjdGl2ZXMvVG9vbHRpcC9pbmRleC5zY3NzP2FmZTgiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5lb3QiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5zdmciLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi50dGYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi53b2ZmIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvbDEwbi5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL3V0aWxzL0dlblJhbmRvbUlkLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvdXRpbHMvVmFsaWRhdGVTbG90LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJAbmV4dGNsb3VkL2wxMG4vZGlzdC9nZXR0ZXh0XCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZnJvbS5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuaXRlcmF0b3IuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNsaWNlLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zcGxpY2UuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3IuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3JzLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50by1zdHJpbmcuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pdGVyYXRvci5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnJlcGxhY2UuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy50cmltLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5zeW1ib2wuZGVzY3JpcHRpb24uanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC5pdGVyYXRvci5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLml0ZXJhdG9yLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcInYtdG9vbHRpcFwiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJ2dWVcIiJdLCJuYW1lcyI6WyJBY3Rpb25zIiwiUG9wb3ZlciIsIlZUb29sdGlwIiwib3B0aW9ucyIsImRlZmF1bHRUZW1wbGF0ZSIsIlNDT1BFX1ZFUlNJT04iLCJkZWZhdWx0SHRtbCIsImd0QnVpbGRlciIsImdldEdldHRleHRCdWlsZGVyIiwiZGV0ZWN0TG9jYWxlIiwiVFJBTlNMQVRJT05TIiwiZm9yRWFjaCIsImxhbmciLCJ0cmFuc2xhdGlvbnMiLCJrZXkiLCJwbHVyYWxJZCIsIm1zZ2lkIiwibXNnaWRfcGx1cmFsIiwibXNnc3RyIiwiYWRkVHJhbnNsYXRpb24iLCJsb2NhbGUiLCJndCIsImJ1aWxkIiwibiIsIm5nZXR0ZXh0IiwiYmluZCIsInQiLCJnZXR0ZXh0IiwiR2VuUmFuZG9tSWQiLCJsZW5ndGgiLCJNYXRoIiwicmFuZG9tIiwidG9TdHJpbmciLCJyZXBsYWNlIiwic3Vic3RyIiwiVmFsaWRhdGVTbG90Iiwic2xvdHMiLCJhbGxvd2VkIiwidm0iLCJ1bmRlZmluZWQiLCJpbmRleCIsIm5vZGUiLCJpc0h0bWxFbGVtZW50IiwiY29tcG9uZW50T3B0aW9ucyIsInRhZyIsImluZGV4T2YiLCJpc1Z1ZUNvbXBvbmVudCIsImlzRm9yYmlkZGVuQ29tcG9uZW50IiwiVnVlIiwidXRpbCIsIndhcm4iLCIkb3B0aW9ucyIsIm5hbWUiLCJzcGxpY2UiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQ7QUFDbkQsQ0FBQztBQUNELE87UUNWQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTs7O1FBR0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLDBDQUEwQyxnQ0FBZ0M7UUFDMUU7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSx3REFBd0Qsa0JBQWtCO1FBQzFFO1FBQ0EsaURBQWlELGNBQWM7UUFDL0Q7O1FBRUE7UUFDQTtR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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLG1CQUFtQjtBQUM3QywwQkFBMEIsaUJBQWlCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FB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b0NDLG9CQUF4QyxFQUE4RDtBQUM3RDtBQUNBO0FBQ0EsVUFBSUwsYUFBYSxJQUFJSyxvQkFBckIsRUFBMkM7QUFDMUNDLGtEQUFHLENBQUNDLElBQUosQ0FBU0MsSUFBVCxXQUFpQlIsYUFBYSxHQUFHRCxJQUFJLENBQUNHLEdBQVIsR0FBY0gsSUFBSSxDQUFDRSxnQkFBTCxDQUFzQkMsR0FBbEUsd0NBQW1HTixFQUFFLENBQUNhLFFBQUgsQ0FBWUMsSUFBL0csaUJBQWlJZCxFQUFqSTtBQUNBLE9BTDRELENBTzdEOzs7QUFDQUYsV0FBSyxDQUFDaUIsTUFBTixDQUFhYixLQUFiLEVBQW9CLENBQXBCO0FBQ0E7QUFDRDtBQUNELENBeEJEOztBQTBCZUwsMkVBQWYsRTs7Ozs7Ozs7Ozs7QUN4REEseUQ7Ozs7Ozs7Ozs7O0FDQUEsK0Q7Ozs7Ozs7Ozs7O0FDQUEsK0Q7Ozs7Ozs7Ozs7O0FDQUEsNkQ7Ozs7Ozs7Ozs7O0FDQUEsaUU7Ozs7Ozs7Ozs7O0FDQUEsOEQ7Ozs7Ozs7Ozs7O0FDQUEsK0Q7Ozs7Ozs7Ozs7O0FDQUEsZ0U7Ozs7Ozs7Ozs7O0FDQUEscUY7Ozs7Ozs7Ozs7O0FDQUEsc0Y7Ozs7Ozs7Ozs7O0FDQUEsOEQ7Ozs7Ozs7Ozs7O0FDQUEsbUU7Ozs7Ozs7Ozs7O0FDQUEsOEQ7Ozs7Ozs7Ozs7O0FDQUEsbUU7Ozs7Ozs7Ozs7O0FDQUEsa0U7Ozs7Ozs7Ozs7O0FDQUEsaUU7Ozs7Ozs7Ozs7O0FDQUEsOEQ7Ozs7Ozs7Ozs7O0FDQUEscUU7Ozs7Ozs7Ozs7O0FDQUEsa0U7Ozs7Ozs7Ozs7O0FDQUEseUQ7Ozs7Ozs7Ozs7O0FDQUEsNEU7Ozs7Ozs7Ozs7O0FDQUEsNEU7Ozs7Ozs7Ozs7O0FDQUEsc0M7Ozs7Ozs7Ozs7O0FDQUEsZ0MiLCJmaWxlIjoiQ29tcG9uZW50cy9BY3Rpb25zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoXCJDb21wb25lbnRzL0FjdGlvbnNcIiwgW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiQ29tcG9uZW50cy9BY3Rpb25zXCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcIk5leHRjbG91ZFZ1ZVwiXSA9IHJvb3RbXCJOZXh0Y2xvdWRWdWVcIl0gfHwge30sIHJvb3RbXCJOZXh0Y2xvdWRWdWVcIl1bXCJDb21wb25lbnRzL0FjdGlvbnNcIl0gPSBmYWN0b3J5KCk7XG59KSh3aW5kb3csIGZ1bmN0aW9uKCkge1xucmV0dXJuICIsIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbiBcdFx0fVxuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4gXHQvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbiBcdC8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4gXHQvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbiBcdFx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcbiBcdFx0aWYoKG1vZGUgJiA0KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcbiBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCAnZGVmYXVsdCcsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHZhbHVlIH0pO1xuIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4gXHRcdHJldHVybiBucztcbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiL2Rpc3QvXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSBcIi4vc3JjL2NvbXBvbmVudHMvQWN0aW9ucy9pbmRleC5qc1wiKTtcbiIsIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLSBAYXV0aG9yIE1hcmNvIEFtYnJvc2luaSA8bWFyY29hbWJyb3NpbmlAcG0ubWVcbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjwhLS0gQWNjZXNzaWJpbGl0eSBndWlkZWxpbmVzOlxuaHR0cHM6Ly93d3cudzMub3JnL1RSL3dhaS1hcmlhLXByYWN0aWNlcy9leGFtcGxlcy9tZW51LWJ1dHRvbi9tZW51LWJ1dHRvbi1hY3Rpb25zLmh0bWwgLS0+XG5cbjxkb2NzPlxuIyMjIFNpbmdsZSBhY3Rpb25cblxuYGBgXG48QWN0aW9ucz5cblx0PEFjdGlvbkJ1dHRvbiBpY29uPVwiaWNvbi1kZWxldGVcIiBAY2xpY2s9XCJhbGVydCgnRGVsZXRlJylcIj5EZWxldGU8L0FjdGlvbkJ1dHRvbj5cbjwvQWN0aW9ucz5cbmBgYFxuXG4jIyMgTXVsdGlwbGUgYWN0aW9uc1xuXG5gYGBcbjxBY3Rpb25zPlxuXHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWVkaXRcIiBAY2xpY2s9XCJhbGVydCgnRWRpdCcpXCI+RWRpdDwvQWN0aW9uQnV0dG9uPlxuXHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWRlbGV0ZVwiIEBjbGljaz1cImFsZXJ0KCdEZWxldGUnKVwiPkRlbGV0ZTwvQWN0aW9uQnV0dG9uPlxuXHQ8QWN0aW9uTGluayBpY29uPVwiaWNvbi1leHRlcm5hbFwiIHRpdGxlPVwiTGlua1wiIGhyZWY9XCJodHRwczovL25leHRjbG91ZC5jb21cIiAvPlxuPC9BY3Rpb25zPlxuYGBgXG5cbiMjIyBNdWx0aXBsZSBhY3Rpb25zIHdpdGggY3VzdG9tIGljb25cblxuYGBgXG48QWN0aW9ucyBkZWZhdWx0LWljb249XCJpY29uLWVkaXRcIj5cblx0PEFjdGlvbkJ1dHRvbiBpY29uPVwiaWNvbi1lZGl0XCIgQGNsaWNrPVwiYWxlcnQoJ0VkaXQnKVwiPkVkaXQ8L0FjdGlvbkJ1dHRvbj5cblx0PEFjdGlvbkJ1dHRvbiBpY29uPVwiaWNvbi1kZWxldGVcIiBAY2xpY2s9XCJhbGVydCgnRGVsZXRlJylcIj5EZWxldGU8L0FjdGlvbkJ1dHRvbj5cblx0PEFjdGlvbkxpbmsgaWNvbj1cImljb24tZXh0ZXJuYWxcIiB0aXRsZT1cIkxpbmtcIiBocmVmPVwiaHR0cHM6Ly9uZXh0Y2xvdWQuY29tXCIgLz5cbjwvQWN0aW9ucz5cbmBgYFxuXG4jIyMgV2l0aCBtZW51IHRpdGxlXG5cbmBgYFxuPEFjdGlvbnMgZGVmYXVsdC1pY29uPVwiaWNvbi1lZGl0XCIgbWVudS10aXRsZT1cIk9iamVjdCBtYW5hZ2VtZW50XCI+XG5cdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tZWRpdFwiPlJlbmFtZTwvQWN0aW9uQnV0dG9uPlxuXHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWRlbGV0ZVwiPkRlbGV0ZTwvQWN0aW9uQnV0dG9uPlxuXHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWNvbmZpcm1cIj5WYWxpZGF0ZTwvQWN0aW9uQnV0dG9uPlxuXHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWRvd25sb2FkXCI+RG93bmxvYWQ8L0FjdGlvbkJ1dHRvbj5cbjwvQWN0aW9ucz5cbmBgYFxuXG4jIyMgVmFyaW91cyBpY29ucyBzdHlsZXNcbmBgYFxuPEFjdGlvbnMgOnByaW1hcnk9XCJ0cnVlXCI+XG5cdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tZWRpdFwiPkVkaXQ8L0FjdGlvbkJ1dHRvbj5cblx0PEFjdGlvbkJ1dHRvbiBpY29uPVwiaWNvbi1kZWxldGVcIj5EZWxldGU8L0FjdGlvbkJ1dHRvbj5cbjwvQWN0aW9ucz5cbmBgYFxuXG5gYGBcbjxBY3Rpb25zIGRlZmF1bHQtaWNvbj1cImljb24tYWRkLXdoaXRlXCIgOnByaW1hcnk9XCJ0cnVlXCIgbWVudS10aXRsZT1cIk9iamVjdCBtYW5hZ2VtZW50XCI+XG5cdDxBY3Rpb25CdXR0b24gaWNvbj1cImljb24tZWRpdFwiPlJlbmFtZTwvQWN0aW9uQnV0dG9uPlxuXHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWRlbGV0ZVwiPkRlbGV0ZTwvQWN0aW9uQnV0dG9uPlxuXHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWNvbmZpcm1cIj5WYWxpZGF0ZTwvQWN0aW9uQnV0dG9uPlxuXHQ8QWN0aW9uQnV0dG9uIGljb249XCJpY29uLWRvd25sb2FkXCI+RG93bmxvYWQ8L0FjdGlvbkJ1dHRvbj5cbjwvQWN0aW9ucz5cbmBgYFxuXG4jIyMgQ3VzdG9tIGljb24gc2xvdFxuVG8gYmUgdXNlZCB3aXRoIGB2dWUtbWF0ZXJpYWwtZGVzaWduLWljb25zYCBvbmx5LiBGb3IgaWNvbiBjbGFzc2VzIHVzZSB0aGUgYGRlZmF1bHQtaWNvbmAgc2xvdC5cbkl0IGNhbiBiZSB1c2VkIHdpdGggb25lIG9yIG11bHRpcGxlIGFjdGlvbnMuXG5gYGBcbjx0ZW1wbGF0ZT5cblx0PGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7YWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cblx0XHQ8YnV0dG9uIEBjbGljaz1cInRvZ2dsZWQgPSAhdG9nZ2xlZFwiPlRvZ2dsZSBtdWx0aXBsZSBhY3Rpb248L2J1dHRvbj5cblx0XHQ8QWN0aW9ucz5cblx0XHRcdDxEb3RzSG9yaXpvbnRhbENpcmNsZU91dGxpbmVcblx0XHRcdFx0c2xvdD1cImljb25cIlxuXHRcdFx0XHQ6c2l6ZT1cIjE2XCJcblx0XHRcdFx0ZGVjb3JhdGl2ZSAvPlxuXHRcdFx0PEFjdGlvbkJ1dHRvbj5cblx0XHRcdFx0PE1pY3JvcGhvbmVPZmZcblx0XHRcdFx0XHRzbG90PVwiaWNvblwiXG5cdFx0XHRcdFx0OnNpemU9XCIxNlwiXG5cdFx0XHRcdFx0ZGVjb3JhdGl2ZSAvPlxuXHRcdFx0XHRNdXRlXG5cdFx0XHQ8L0FjdGlvbkJ1dHRvbj5cblx0XHRcdDxBY3Rpb25CdXR0b24gdi1pZj1cInRvZ2dsZWRcIiBpY29uPVwiaWNvbi1kZWxldGVcIj5EZWxldGU8L0FjdGlvbkJ1dHRvbj5cblx0XHQ8L0FjdGlvbnM+XG5cdFx0PEFjdGlvbnM+XG5cdFx0PC9BY3Rpb25zPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG48c2NyaXB0PlxuaW1wb3J0IERvdHNIb3Jpem9udGFsQ2lyY2xlT3V0bGluZSBmcm9tICd2dWUtbWF0ZXJpYWwtZGVzaWduLWljb25zL0RvdHNIb3Jpem9udGFsQ2lyY2xlT3V0bGluZSdcbmltcG9ydCBNaWNyb3Bob25lT2ZmIGZyb20gJ3Z1ZS1tYXRlcmlhbC1kZXNpZ24taWNvbnMvTWljcm9waG9uZU9mZidcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRjb21wb25lbnRzOiB7XG5cdFx0RG90c0hvcml6b250YWxDaXJjbGVPdXRsaW5lLFxuXHRcdE1pY3JvcGhvbmVPZmYsXG5cdH0sXG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHRvZ2dsZWQ6IGZhbHNlXG5cdFx0fVxuXHR9XG59XG48L3NjcmlwdD5cbmBgYFxuXG4jIyMgQ3VzdG9tIGljb24gc2xvdCBpbiBjaGlsZCBlbGVtZW50c1xuYGBgXG48QWN0aW9ucyA6cHJpbWFyeT1cInRydWVcIj5cblx0PEFjdGlvbkJ1dHRvbj48dGVtcGxhdGUgI2ljb24+PE1hZ25pZnlJY29uIC8+PC90ZW1wbGF0ZT5TZWFyY2g8L0FjdGlvbkJ1dHRvbj5cblx0PEFjdGlvbkJ1dHRvbiBpY29uPVwiaWNvbi1kZWxldGVcIj5EZWxldGU8L0FjdGlvbkJ1dHRvbj5cbjwvQWN0aW9ucz5cbmBgYFxuXG48L2RvY3M+XG48dGVtcGxhdGU+XG5cdDwhLS0gaWYgb25seSBvbmUgYWN0aW9uLCBjaGVjayBpZiB3ZSBuZWVkIHRvIGJpbmQgdG8gY2xpY2sgb3Igbm90IC0tPlxuXHQ8ZWxlbWVudCB2LWlmPVwiaXNWYWxpZFNpbmdsZUFjdGlvbiAmJiAhZm9yY2VNZW51XCJcblx0XHR2LXRvb2x0aXAuYXV0bz1cImZpcnN0QWN0aW9uLnRleHRcIlxuXHRcdHYtYmluZD1cImZpcnN0QWN0aW9uQmluZGluZ1wiXG5cdFx0OmNsYXNzPVwie1xuXHRcdFx0W2ZpcnN0QWN0aW9uLmljb25dOiBmaXJzdEFjdGlvbi5pY29uLFxuXHRcdFx0W2ZpcnN0QWN0aW9uQ2xhc3NdOiBmaXJzdEFjdGlvbkNsYXNzIH1cIlxuXHRcdGNsYXNzPVwiYWN0aW9uLWl0ZW0gYWN0aW9uLWl0ZW0tLXNpbmdsZVwiXG5cdFx0cmVsPVwibm9yZWZlcnJlciBub29wZW5lclwiXG5cdFx0OmRpc2FibGVkPVwiZGlzYWJsZWRcIlxuXHRcdEBmb2N1cz1cIm9uRm9jdXNcIlxuXHRcdEBibHVyPVwib25CbHVyXCJcblx0XHRAW2ZpcnN0QWN0aW9uRXZlbnRCaW5kaW5nXT1cImV4ZWNGaXJzdEFjdGlvblwiPlxuXHRcdDwhLS0gUmVuZGVyIHRoZSBpY29uIHNsb3QgY29udGVudCBvZiB0aGUgZmlyc3QgYWN0aW9uIC0tPlxuXHRcdDxWTm9kZXMgOnZub2Rlcz1cImZpcnN0QWN0aW9uSWNvblNsb3RcIiAvPlxuXG5cdFx0PCEtLSBmYWtlIHNsb3QgdG8gZ2F0aGVyIG1haW4gYWN0aW9uIC0tPlxuXHRcdDxzcGFuIDphcmlhLWhpZGRlbj1cInRydWVcIiBoaWRkZW4+XG5cdFx0XHQ8IS0tIEBzbG90IEFsbCBhY3Rpb24gZWxlbWVudHMgcGFzc2VkIGludG8gdGhlIGRlZmF1bHQgc2xvdCB3aWxsIGJlIHVzZWQgLS0+XG5cdFx0XHQ8c2xvdCAvPlxuXHRcdDwvc3Bhbj5cblx0PC9lbGVtZW50PlxuXG5cdDwhLS0gbW9yZSB0aGFuIG9uZSBhY3Rpb24gLS0+XG5cdDxkaXYgdi1lbHNlXG5cdFx0di1zaG93PVwiaGFzTXVsdGlwbGVBY3Rpb25zIHx8IGZvcmNlTWVudVwiXG5cdFx0OmNsYXNzPVwieydhY3Rpb24taXRlbS0tb3Blbic6IG9wZW5lZH1cIlxuXHRcdGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cblx0XHQ8IS0tIElmIG1vcmUgdGhhbiBvbmUgYWN0aW9uLCBjcmVhdGUgYSBwb3BvdmVybWVudSAtLT5cblx0XHQ8UG9wb3ZlclxuXHRcdFx0OmRlbGF5PVwiMFwiXG5cdFx0XHQ6aGFuZGxlLXJlc2l6ZT1cInRydWVcIlxuXHRcdFx0Om9wZW4uc3luYz1cIm9wZW5lZFwiXG5cdFx0XHQ6cGxhY2VtZW50PVwicGxhY2VtZW50XCJcblx0XHRcdDpib3VuZGFyaWVzLWVsZW1lbnQ9XCJib3VuZGFyaWVzRWxlbWVudFwiXG5cdFx0XHQ6Y29udGFpbmVyPVwiY29udGFpbmVyXCJcblx0XHRcdEBzaG93PVwib3Blbk1lbnVcIlxuXHRcdFx0QGFmdGVyLXNob3c9XCJvbk9wZW5cIlxuXHRcdFx0QGhpZGU9XCJjbG9zZU1lbnVcIj5cblx0XHRcdDwhLS0gTWVudSBvcGVuL2Nsb3NlIHRyaWdnZXIgYnV0dG9uIC0tPlxuXHRcdFx0PGJ1dHRvbiBzbG90PVwidHJpZ2dlclwiXG5cdFx0XHRcdHJlZj1cIm1lbnVCdXR0b25cIlxuXHRcdFx0XHQ6ZGlzYWJsZWQ9XCJkaXNhYmxlZFwiXG5cdFx0XHRcdGNsYXNzPVwiaWNvbiBhY3Rpb24taXRlbV9fbWVudXRvZ2dsZVwiXG5cdFx0XHRcdDpjbGFzcz1cIntcblx0XHRcdFx0XHRbZGVmYXVsdEljb25dOiAhaWNvblNsb3RJc1BvcHVsYXRlZCxcblx0XHRcdFx0XHQnYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGUtLXdpdGgtdGl0bGUnOiBtZW51VGl0bGUsXG5cdFx0XHRcdFx0J2FjdGlvbi1pdGVtX19tZW51dG9nZ2xlLS1wcmltYXJ5JzogcHJpbWFyeVxuXHRcdFx0XHR9XCJcblx0XHRcdFx0OmFyaWEtbGFiZWw9XCJhcmlhTGFiZWxcIlxuXHRcdFx0XHRhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG5cdFx0XHRcdDphcmlhLWNvbnRyb2xzPVwicmFuZG9tSWRcIlxuXHRcdFx0XHR0ZXN0LWF0dHI9XCIxXCJcblx0XHRcdFx0OmFyaWEtZXhwYW5kZWQ9XCJvcGVuZWQgPyAndHJ1ZScgOiAnZmFsc2UnXCJcblx0XHRcdFx0QGZvY3VzPVwib25Gb2N1c1wiXG5cdFx0XHRcdEBibHVyPVwib25CbHVyXCI+XG5cdFx0XHRcdDxzbG90IG5hbWU9XCJpY29uXCIgLz5cblx0XHRcdFx0e3sgbWVudVRpdGxlIH19XG5cdFx0XHQ8L2J1dHRvbj5cblxuXHRcdFx0PCEtLSBNZW51IGNvbnRlbnQgLS0+XG5cdFx0XHQ8ZGl2IHYtc2hvdz1cIm9wZW5lZFwiXG5cdFx0XHRcdHJlZj1cIm1lbnVcIlxuXHRcdFx0XHQ6Y2xhc3M9XCJ7IG9wZW46IG9wZW5lZCB9XCJcblx0XHRcdFx0dGFiaW5kZXg9XCItMVwiXG5cdFx0XHRcdEBrZXlkb3duLnVwLmV4YWN0PVwiZm9jdXNQcmV2aW91c0FjdGlvblwiXG5cdFx0XHRcdEBrZXlkb3duLmRvd24uZXhhY3Q9XCJmb2N1c05leHRBY3Rpb25cIlxuXHRcdFx0XHRAa2V5ZG93bi50YWIuZXhhY3Q9XCJmb2N1c05leHRBY3Rpb25cIlxuXHRcdFx0XHRAa2V5ZG93bi5zaGlmdC50YWIuZXhhY3Q9XCJmb2N1c1ByZXZpb3VzQWN0aW9uXCJcblx0XHRcdFx0QGtleWRvd24ucGFnZS11cC5leGFjdD1cImZvY3VzRmlyc3RBY3Rpb25cIlxuXHRcdFx0XHRAa2V5ZG93bi5wYWdlLWRvd24uZXhhY3Q9XCJmb2N1c0xhc3RBY3Rpb25cIlxuXHRcdFx0XHRAa2V5ZG93bi5lc2MuZXhhY3QucHJldmVudD1cImNsb3NlTWVudVwiXG5cdFx0XHRcdEBtb3VzZW1vdmU9XCJvbk1vdXNlRm9jdXNBY3Rpb25cIj5cblx0XHRcdFx0PCEtLSBtZW51IGNvbnRlbnQgLS0+XG5cdFx0XHRcdDx1bCA6aWQ9XCJyYW5kb21JZFwiIHRhYmluZGV4PVwiLTFcIj5cblx0XHRcdFx0XHQ8dGVtcGxhdGUgdi1pZj1cIm9wZW5lZFwiPlxuXHRcdFx0XHRcdFx0PHNsb3QgLz5cblx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdFx0XHQ8L3VsPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9Qb3BvdmVyPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG48c2NyaXB0PlxuaW1wb3J0IFRvb2x0aXAgZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9Ub29sdGlwJ1xuaW1wb3J0IEdlblJhbmRvbUlkIGZyb20gJy4uLy4uL3V0aWxzL0dlblJhbmRvbUlkJ1xuaW1wb3J0IFZhbGlkYXRlU2xvdCBmcm9tICcuLi8uLi91dGlscy9WYWxpZGF0ZVNsb3QnXG5pbXBvcnQgeyB0IH0gZnJvbSAnLi4vLi4vbDEwbidcbmltcG9ydCBQb3BvdmVyIGZyb20gJy4uL1BvcG92ZXInXG5cbi8vIFRoaXMgaXMgdGhlIGxpc3Qgb2YgQUxMIHRoZSBBTExPV0VEIGNvbXBvbmVudHNcbi8vIGluIHRoZSBkZWZhdWx0IFNMT1RcbmNvbnN0IGFsbG93ZWRDaGlsZHJlbiA9IFtcblx0J0FjdGlvbkJ1dHRvbicsXG5cdCdBY3Rpb25DaGVja2JveCcsXG5cdCdBY3Rpb25JbnB1dCcsXG5cdCdBY3Rpb25MaW5rJyxcblx0J0FjdGlvblJhZGlvJyxcblx0J0FjdGlvblJvdXRlcicsXG5cdCdBY3Rpb25TZXBhcmF0b3InLFxuXHQnQWN0aW9uVGV4dCcsXG5cdCdBY3Rpb25UZXh0RWRpdGFibGUnLFxuXVxuXG5jb25zdCBmb2N1c2FibGVTZWxlY3RvciA9ICcuZm9jdXNhYmxlJ1xuXG4vKipcbiAqIFRoZSBBY3Rpb25zIGNvbXBvbmVudCBjYW4gYmUgdXNlZCB0byBkaXNwbGF5IG9uZSBvcmUgbW9yZSBhY3Rpb25zLlxuICogSWYgb25seSBhIHNpbmdsZSBhY3Rpb24gaXMgcHJvdmlkZWQsIGl0IHdpbGwgYmUgcmVuZGVyZWQgYXMgYW4gaW5saW5lIGljb24uXG4gKiBGb3IgbW9yZSwgYSBtZW51IGluZGljYXRvciB3aWxsIGJlIHNob3duIGFuZCBhIHBvcG92ZXJtZW51IGNvbnRhaW5pbmcgdGhlXG4gKiBhY3Rpb25zIHdpbGwgYmUgb3BlbmVkIG9uIGNsaWNrLlxuICpcbiAqIEBzaW5jZSAwLjEwLjBcbiAqL1xuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnQWN0aW9ucycsXG5cblx0ZGlyZWN0aXZlczoge1xuXHRcdHRvb2x0aXA6IFRvb2x0aXAsXG5cdH0sXG5cblx0Y29tcG9uZW50czoge1xuXHRcdFBvcG92ZXIsXG5cblx0XHQvLyBDb21wb25lbnQgdG8gcmVuZGVyIHRoZSBmaXJzdCBhY3Rpb24gaWNvbiBzbG90IGNvbnRlbnQgKHZub2Rlcylcblx0XHRWTm9kZXM6IHtcblx0XHRcdGZ1bmN0aW9uYWw6IHRydWUsXG5cdFx0XHRyZW5kZXI6IChoLCBjb250ZXh0KSA9PiBjb250ZXh0LnByb3BzLnZub2Rlcyxcblx0XHR9LFxuXHR9LFxuXG5cdHByb3BzOiB7XG5cdFx0LyoqXG5cdFx0ICogU3BlY2lmeSB0aGUgb3BlbiBzdGF0ZSBvZiB0aGUgcG9wb3ZlciBtZW51XG5cdFx0ICovXG5cdFx0b3Blbjoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBGb3JjZSB0aGUgYWN0aW9ucyB0byBkaXNwbGF5IGluIGEgdGhyZWUgZG90IG1lbnVcblx0XHQgKi9cblx0XHRmb3JjZU1lbnU6IHtcblx0XHRcdHR5cGU6IEJvb2xlYW4sXG5cdFx0XHRkZWZhdWx0OiBmYWxzZSxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogU3BlY2lmeSB0aGUgbWVudSB0aXRsZVxuXHRcdCAqL1xuXHRcdG1lbnVUaXRsZToge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogbnVsbCxcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogQXBwbHkgcHJpbWFyeSBzdHlsaW5nIGZvciB0aGlzIG1lbnVcblx0XHQgKi9cblx0XHRwcmltYXJ5OiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEljb24gdG8gc2hvdyBmb3IgdGhlIHRvZ2dsZSBtZW51IGJ1dHRvblxuXHRcdCAqIHdoZW4gbW9yZSB0aGFuIG9uZSBhY3Rpb24gaXMgaW5zaWRlIHRoZSBhY3Rpb25zIGNvbXBvbmVudC5cblx0XHQgKiBPbmx5IHJlcGxhY2UgdGhlIGRlZmF1bHQgdGhyZWUtZG90IGljb24gaWYgcmVhbGx5IG5lY2Vzc2FyeS5cblx0XHQgKi9cblx0XHRkZWZhdWx0SWNvbjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogJ2FjdGlvbi1pdGVtX19tZW51dG9nZ2xlLS1kZWZhdWx0LWljb24nLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBBcmlhIGxhYmVsIGZvciB0aGUgYWN0aW9ucyBtZW51XG5cdFx0ICovXG5cdFx0YXJpYUxhYmVsOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiB0KCdBY3Rpb25zJyksXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIFdhbnRlZCBkaXJlY3Rpb24gb2YgdGhlIG1lbnVcblx0XHQgKi9cblx0XHRwbGFjZW1lbnQ6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdGRlZmF1bHQ6ICdib3R0b20nLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBET00gZWxlbWVudCBmb3IgdGhlIGFjdGlvbnMnIHBvcG92ZXIgYm91bmRhcmllc1xuXHRcdCAqL1xuXHRcdGJvdW5kYXJpZXNFbGVtZW50OiB7XG5cdFx0XHR0eXBlOiBFbGVtZW50LFxuXHRcdFx0ZGVmYXVsdDogKCkgPT4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYm9keScpLFxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBTZWxlY3RvciBmb3IgdGhlIGFjdGlvbnMnIHBvcG92ZXIgY29udGFpbmVyXG5cdFx0ICovXG5cdFx0Y29udGFpbmVyOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRkZWZhdWx0OiAnYm9keScsXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIERpc2FibGVkIHN0YXRlIG9mIHRoZSBtYWluIGJ1dHRvbiAoc2luZ2xlIGFjdGlvbiBvciBtZW51IHRvZ2dsZSlcblx0XHQgKi9cblx0XHRkaXNhYmxlZDoge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdH0sXG5cblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0YWN0aW9uczogW10sXG5cdFx0XHRvcGVuZWQ6IHRoaXMub3Blbixcblx0XHRcdGZvY3VzSW5kZXg6IDAsXG5cdFx0XHRyYW5kb21JZDogJ21lbnUtJyArIEdlblJhbmRvbUlkKCksXG5cdFx0XHQvLyBNYWtpbmcgY2hpbGRyZW4gcmVhY3RpdmUhXG5cdFx0XHQvLyBCeSBiaW5kaW5nIHRoaXMgaGVyZSwgdnVlanMgd2lsbCB0cmFjayB0aGUgb2JqZWN0IGNvbnRlbnRcblx0XHRcdC8vIE5lZWRlZCBmb3IgZmlyc3RBY3Rpb24gcmVhY3Rpdml0eSAhISFcblx0XHRcdGNoaWxkcmVuOiB0aGlzLiRjaGlsZHJlbixcblx0XHR9XG5cdH0sXG5cblx0Y29tcHV0ZWQ6IHtcblx0XHQvKipcblx0XHQgKiBJcyB0aGVyZSBtb3JlIHRoYW4gb25lIGFjdGlvbj9cblx0XHQgKiBAcmV0dXJucyB7Ym9vbGVhbn1cblx0XHQgKi9cblx0XHRoYXNNdWx0aXBsZUFjdGlvbnMoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5hY3Rpb25zLmxlbmd0aCA+IDFcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIElzIHRoZXJlIGFueSBmaXJzdCBhY3Rpb24gP1xuXHRcdCAqIEFuZCBpcyBpdCBhbGxvd2VkIGFzIGEgc3RhbmRhbG9uZSBlbGVtZW50ID9cblx0XHQgKiBAcmV0dXJucyB7Ym9vbGVhbn1cblx0XHQgKi9cblx0XHRpc1ZhbGlkU2luZ2xlQWN0aW9uKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuYWN0aW9ucy5sZW5ndGggPT09IDFcblx0XHRcdFx0JiYgdGhpcy5maXJzdEFjdGlvbkVsZW1lbnQgIT09IG51bGxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIEZpcnN0IGFjdGlvbiB2bm9kZVxuXHRcdCAqIEByZXR1cm5zIHtPYmplY3R9IHJldHVybiB0aGUgZmlyc3QgYWN0aW9uIHZ1ZSB2bm9kZVxuXHRcdCAqL1xuXHRcdGZpcnN0QWN0aW9uVk5vZGUoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5hY3Rpb25zWzBdXG5cdFx0fSxcblx0XHQvKipcblx0XHQgKiBSZWFjdGl2ZSBiaW5kaW5nIHRvIHRoZSBmaXJzdCBjaGlsZHJlblxuXHRcdCAqIFNpbmNlIHdlJ3JlIGhlcmUsIGl0IG1lYW5zIHdlIGFscmVhZHkgcGFzc2VkIGFsbCB0aGUgcHJvcGVyIGNoZWNrc1xuXHRcdCAqIHdlIGNhbiBhc3N1bWUgdGhlIGZpcnN0IGFjdGlvbiBpcyB0aGUgZmlyc3QgY2hpbGRyZW4gdG9vXG5cdFx0ICogQHJldHVybnMge09iamVjdH0gZmlyc3QgYWN0aW9uIHZ1ZSBjaGlsZHJlbiBvYmplY3Rcblx0XHQgKi9cblx0XHRmaXJzdEFjdGlvbigpIHtcblx0XHRcdHJldHVybiB0aGlzLmNoaWxkcmVuWzBdXG5cdFx0XHRcdD8gdGhpcy5jaGlsZHJlblswXVxuXHRcdFx0XHQ6IHt9XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEJpbmRpbmcgb2YgdGhlIGZpcnN0IGFjdGlvbiB0byB0aGUgdGVtcGxhdGVcblx0XHQgKiBAcmV0dXJucyB7T2JqZWN0fSB2dWUgdGVtcGxhdGUgdi1iaW5kIHNob3J0Y3V0XG5cdFx0ICovXG5cdFx0Zmlyc3RBY3Rpb25CaW5kaW5nKCkge1xuXHRcdFx0aWYgKHRoaXMuZmlyc3RBY3Rpb25WTm9kZSAmJiB0aGlzLmZpcnN0QWN0aW9uVk5vZGUuY29tcG9uZW50T3B0aW9ucykge1xuXHRcdFx0XHRjb25zdCB0YWcgPSB0aGlzLmZpcnN0QWN0aW9uVk5vZGUuY29tcG9uZW50T3B0aW9ucy50YWdcblx0XHRcdFx0aWYgKHRhZyA9PT0gJ0FjdGlvbkxpbmsnKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdGlzOiAnYScsXG5cdFx0XHRcdFx0XHRocmVmOiB0aGlzLmZpcnN0QWN0aW9uLmhyZWYsXG5cdFx0XHRcdFx0XHR0YXJnZXQ6IHRoaXMuZmlyc3RBY3Rpb24udGFyZ2V0LFxuXHRcdFx0XHRcdFx0J2FyaWEtbGFiZWwnOiB0aGlzLmZpcnN0QWN0aW9uLmFyaWFMYWJlbCxcblx0XHRcdFx0XHRcdC4uLnRoaXMuZmlyc3RBY3Rpb24uJGF0dHJzLFxuXHRcdFx0XHRcdFx0Li4udGhpcy5maXJzdEFjdGlvbi4kcHJvcHMsXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh0YWcgPT09ICdBY3Rpb25Sb3V0ZXInKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdGlzOiAncm91dGVyLWxpbmsnLFxuXHRcdFx0XHRcdFx0dG86IHRoaXMuZmlyc3RBY3Rpb24udG8sXG5cdFx0XHRcdFx0XHRleGFjdDogdGhpcy5maXJzdEFjdGlvbi5leGFjdCxcblx0XHRcdFx0XHRcdCdhcmlhLWxhYmVsJzogdGhpcy5maXJzdEFjdGlvbi5hcmlhTGFiZWwsXG5cdFx0XHRcdFx0XHQuLi50aGlzLmZpcnN0QWN0aW9uLiRhdHRycyxcblx0XHRcdFx0XHRcdC4uLnRoaXMuZmlyc3RBY3Rpb24uJHByb3BzLFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAodGFnID09PSAnQWN0aW9uQnV0dG9uJykge1xuXHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRpczogJ2J1dHRvbicsXG5cdFx0XHRcdFx0XHQnYXJpYS1sYWJlbCc6IHRoaXMuZmlyc3RBY3Rpb24uYXJpYUxhYmVsLFxuXHRcdFx0XHRcdFx0Li4udGhpcy5maXJzdEFjdGlvbi4kYXR0cnMsXG5cdFx0XHRcdFx0XHQuLi50aGlzLmZpcnN0QWN0aW9uLiRwcm9wcyxcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC8vIG90aGVyIGFjdGlvbiB0eXBlcyBhcmUgbm90IGFsbG93ZWQgYXMgc3RhbmRhbG9uZSBidXR0b25zXG5cdFx0XHRyZXR1cm4gbnVsbFxuXHRcdH0sXG5cblx0XHQvLyByZXR1cm4gdGhlIGV2ZW50IHRvIGJpbmQgaWYgdGhlIGZpcnN0QWN0aW9uVk5vZGUgaGF2ZSBhbiBhY3Rpb25cblx0XHRmaXJzdEFjdGlvbkV2ZW50KCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZmlyc3RBY3Rpb25WTm9kZT8uY29tcG9uZW50T3B0aW9ucz8ubGlzdGVuZXJzPy5jbGlja1xuXHRcdH0sXG5cdFx0Zmlyc3RBY3Rpb25FdmVudEJpbmRpbmcoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5maXJzdEFjdGlvbkV2ZW50ID8gJ2NsaWNrJyA6IG51bGxcblx0XHR9LFxuXHRcdC8vIHJldHVybiB0aGUgZmlyc3QgYWN0aW9uIGljb24gc2xvdCB2bm9kZXMgYXJyYXlcblx0XHRmaXJzdEFjdGlvbkljb25TbG90KCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZmlyc3RBY3Rpb24/LiRzbG90cz8uaWNvblxuXHRcdH0sXG5cdFx0Zmlyc3RBY3Rpb25DbGFzcygpIHtcblx0XHRcdGNvbnN0IHN0YXRpY0NsYXNzID0gdGhpcy5maXJzdEFjdGlvblZOb2RlICYmIHRoaXMuZmlyc3RBY3Rpb25WTm9kZS5kYXRhLnN0YXRpY0NsYXNzXG5cdFx0XHRjb25zdCBkeW5DbGFzcyA9IHRoaXMuZmlyc3RBY3Rpb25WTm9kZSAmJiB0aGlzLmZpcnN0QWN0aW9uVk5vZGUuZGF0YS5jbGFzc1xuXHRcdFx0cmV0dXJuIChzdGF0aWNDbGFzcyArICcgJyArIGR5bkNsYXNzKS50cmltKClcblx0XHR9LFxuXG5cdFx0aWNvblNsb3RJc1BvcHVsYXRlZCgpIHtcblx0XHRcdHJldHVybiAhIXRoaXMuJHNsb3RzLmljb25cblx0XHR9LFxuXHR9LFxuXG5cdHdhdGNoOiB7XG5cdFx0Ly8gV2F0Y2ggcGFyZW50IHByb3Bcblx0XHRvcGVuKHN0YXRlKSB7XG5cdFx0XHRpZiAoc3RhdGUgPT09IHRoaXMub3BlbmVkKSB7XG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLm9wZW5lZCA9IHN0YXRlXG5cdFx0fSxcblx0fSxcblx0YmVmb3JlTW91bnQoKSB7XG5cdFx0Ly8gaW5pdCBhY3Rpb25zXG5cdFx0dGhpcy5pbml0QWN0aW9ucygpXG5cblx0XHQvLyBmaWx0ZXIgaW52YWxpZCBtZW51IGl0ZW1zXG5cdFx0VmFsaWRhdGVTbG90KHRoaXMuJHNsb3RzLmRlZmF1bHQsIGFsbG93ZWRDaGlsZHJlbiwgdGhpcylcblx0fSxcblx0YmVmb3JlVXBkYXRlKCkge1xuXHRcdC8vICEgc2luY2Ugd2UncmUgdXNpbmcgJHNsb3RzIHRvIG1hbmFnZSBvdXIgYWN0aW9uc1xuXHRcdC8vICEgd2UgTkVFRCB0byB1cGRhdGUgdGhlIGFjdGlvbnMgaWYgYW55dGhpbmcgY2hhbmdlXG5cblx0XHQvLyB1cGRhdGUgY2hpbGRyZW4gJiBhY3Rpb25zXG5cdFx0Ly8gbm8gbmVlZCB0byBpbml0IGFjdGlvbnMgYWdhaW4gc2luY2Ugd2UgYm91bmQgaXQgdG8gJGNoaWxkcmVuXG5cdFx0Ly8gYW5kIHRoZSBhcnJheSBpcyBub3cgcmVhY3RpdmVcblx0XHQvLyBpbml0IGFjdGlvbnNcblx0XHR0aGlzLmluaXRBY3Rpb25zKClcblx0XHRWYWxpZGF0ZVNsb3QodGhpcy4kc2xvdHMuZGVmYXVsdCwgYWxsb3dlZENoaWxkcmVuLCB0aGlzKVxuXHR9LFxuXG5cdG1ldGhvZHM6IHtcblx0XHQvLyBNRU5VIFNUQVRFIE1BTkFHRU1FTlRcblx0XHRvcGVuTWVudShlKSB7XG5cdFx0XHRpZiAodGhpcy5vcGVuZWQpIHtcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cblx0XHRcdHRoaXMub3BlbmVkID0gdHJ1ZVxuXG5cdFx0XHQvKipcblx0XHRcdCAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgcG9wb3ZlciBtZW51IG9wZW4gc3RhdGUgaXMgY2hhbmdlZFxuXHRcdFx0ICogQHR5cGUge2Jvb2xlYW59XG5cdFx0XHQgKi9cblx0XHRcdHRoaXMuJGVtaXQoJ3VwZGF0ZTpvcGVuJywgdHJ1ZSlcblxuXHRcdFx0LyoqXG5cdFx0XHQgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHBvcG92ZXIgbWVudSBpcyBjbG9zZWRcblx0XHRcdCAqL1xuXHRcdFx0dGhpcy4kZW1pdCgnb3BlbicpXG5cdFx0fSxcblx0XHRjbG9zZU1lbnUoZSkge1xuXHRcdFx0aWYgKCF0aGlzLm9wZW5lZCkge1xuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblxuXHRcdFx0dGhpcy5vcGVuZWQgPSBmYWxzZVxuXG5cdFx0XHQvKipcblx0XHRcdCAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgcG9wb3ZlciBtZW51IG9wZW4gc3RhdGUgaXMgY2hhbmdlZFxuXHRcdFx0ICogQHR5cGUge2Jvb2xlYW59XG5cdFx0XHQgKi9cblx0XHRcdHRoaXMuJGVtaXQoJ3VwZGF0ZTpvcGVuJywgZmFsc2UpXG5cblx0XHRcdC8qKlxuXHRcdFx0ICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBwb3BvdmVyIG1lbnUgaXMgY2xvc2VkXG5cdFx0XHQgKi9cblx0XHRcdHRoaXMuJGVtaXQoJ2Nsb3NlJylcblxuXHRcdFx0Ly8gY2xvc2UgZXZlcnl0aGluZ1xuXHRcdFx0dGhpcy5vcGVuZWQgPSBmYWxzZVxuXHRcdFx0dGhpcy5mb2N1c0luZGV4ID0gMFxuXG5cdFx0XHQvLyBmb2N1cyBiYWNrIHRoZSBtZW51IGJ1dHRvblxuXHRcdFx0dGhpcy4kcmVmcy5tZW51QnV0dG9uLmZvY3VzKClcblx0XHR9LFxuXG5cdFx0b25PcGVuKGV2ZW50KSB7XG5cdFx0XHR0aGlzLiRuZXh0VGljaygoKSA9PiB7XG5cdFx0XHRcdHRoaXMuZm9jdXNGaXJzdEFjdGlvbihldmVudClcblx0XHRcdH0pXG5cdFx0fSxcblxuXHRcdC8vIE1FTlUgS0VZUyAmIEZPQ1VTIE1BTkFHRU1FTlRcblx0XHQvLyBmb2N1cyBuZWFyZXN0IGZvY3VzYWJsZSBpdGVtIG9uIG1vdXNlIG1vdmVcblx0XHQvLyBETyBOT1QgY2hhbmdlIHRoZSBmb2N1cyBpZiB0aGUgdGFyZ2V0IGlzIGFscmVhZHkgZm9jdXNlZFxuXHRcdC8vIHRoaXMgd2lsbCBwcmV2ZW50IGlzc3VlcyB3aXRoIGlucHV0IGJlaW5nIHVuZm9jdXNlZFxuXHRcdC8vIG9uIG1vdXNlIG1vdmVcblx0XHRvbk1vdXNlRm9jdXNBY3Rpb24oZXZlbnQpIHtcblx0XHRcdGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBldmVudC50YXJnZXQpIHtcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IG1lbnVJdGVtID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJ2xpJylcblx0XHRcdGlmIChtZW51SXRlbSkge1xuXHRcdFx0XHRjb25zdCBmb2N1c2FibGVJdGVtID0gbWVudUl0ZW0ucXVlcnlTZWxlY3Rvcihmb2N1c2FibGVTZWxlY3Rvcilcblx0XHRcdFx0aWYgKGZvY3VzYWJsZUl0ZW0pIHtcblx0XHRcdFx0XHRjb25zdCBmb2N1c0xpc3QgPSB0aGlzLiRyZWZzLm1lbnUucXVlcnlTZWxlY3RvckFsbChmb2N1c2FibGVTZWxlY3Rvcilcblx0XHRcdFx0XHRjb25zdCBmb2N1c0luZGV4ID0gWy4uLmZvY3VzTGlzdF0uaW5kZXhPZihmb2N1c2FibGVJdGVtKVxuXHRcdFx0XHRcdGlmIChmb2N1c0luZGV4ID4gLTEpIHtcblx0XHRcdFx0XHRcdHRoaXMuZm9jdXNJbmRleCA9IGZvY3VzSW5kZXhcblx0XHRcdFx0XHRcdHRoaXMuZm9jdXNBY3Rpb24oKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0cmVtb3ZlQ3VycmVudEFjdGl2ZSgpIHtcblx0XHRcdGNvbnN0IGN1cnJlbnRBY3RpdmVFbGVtZW50ID0gdGhpcy4kcmVmcy5tZW51LnF1ZXJ5U2VsZWN0b3IoJ2xpLmFjdGl2ZScpXG5cdFx0XHRpZiAoY3VycmVudEFjdGl2ZUVsZW1lbnQpIHtcblx0XHRcdFx0Y3VycmVudEFjdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJylcblx0XHRcdH1cblx0XHR9LFxuXHRcdGZvY3VzQWN0aW9uKCkge1xuXHRcdFx0Ly8gVE9ETzogaGF2ZSBhIGdsb2JhbCBkaXNhYmxlZCBzdGF0ZSBmb3Igbm9uIGlucHV0IGVsZW1lbnRzXG5cdFx0XHRjb25zdCBmb2N1c0VsZW1lbnQgPSB0aGlzLiRyZWZzLm1lbnUucXVlcnlTZWxlY3RvckFsbChmb2N1c2FibGVTZWxlY3RvcilbdGhpcy5mb2N1c0luZGV4XVxuXHRcdFx0aWYgKGZvY3VzRWxlbWVudCkge1xuXHRcdFx0XHR0aGlzLnJlbW92ZUN1cnJlbnRBY3RpdmUoKVxuXHRcdFx0XHRjb25zdCBsaU1lbnVQYXJlbnQgPSBmb2N1c0VsZW1lbnQuY2xvc2VzdCgnbGkuYWN0aW9uJylcblx0XHRcdFx0Zm9jdXNFbGVtZW50LmZvY3VzKClcblx0XHRcdFx0aWYgKGxpTWVudVBhcmVudCkge1xuXHRcdFx0XHRcdGxpTWVudVBhcmVudC5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRmb2N1c1ByZXZpb3VzQWN0aW9uKGV2ZW50KSB7XG5cdFx0XHRpZiAodGhpcy5vcGVuZWQpIHtcblx0XHRcdFx0aWYgKHRoaXMuZm9jdXNJbmRleCA9PT0gMCkge1xuXHRcdFx0XHRcdC8vIEZpcnN0IGVsZW1lbnQgb3ZlcmZsb3dzIHRvIGJvZHktbmF2aWdhdGlvbiAobm8gcHJldmVudERlZmF1bHQhKSBhbmQgY2xvc2VzIEFjdGlvbnMtbWVudVxuXHRcdFx0XHRcdHRoaXMuY2xvc2VNZW51KClcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLnByZXZlbnRJZkV2ZW50KGV2ZW50KVxuXHRcdFx0XHRcdHRoaXMuZm9jdXNJbmRleCA9IHRoaXMuZm9jdXNJbmRleCAtIDFcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmZvY3VzQWN0aW9uKClcblx0XHRcdH1cblx0XHR9LFxuXHRcdGZvY3VzTmV4dEFjdGlvbihldmVudCkge1xuXHRcdFx0aWYgKHRoaXMub3BlbmVkKSB7XG5cdFx0XHRcdGNvbnN0IGluZGV4TGVuZ3RoID0gdGhpcy4kcmVmcy5tZW51LnF1ZXJ5U2VsZWN0b3JBbGwoZm9jdXNhYmxlU2VsZWN0b3IpLmxlbmd0aCAtIDFcblx0XHRcdFx0aWYgKHRoaXMuZm9jdXNJbmRleCA9PT0gaW5kZXhMZW5ndGgpIHtcblx0XHRcdFx0XHQvLyBMYXN0IGVsZW1lbnQgb3ZlcmZsb3dzIHRvIGJvZHktbmF2aWdhdGlvbiAobm8gcHJldmVudERlZmF1bHQhKSBhbmQgY2xvc2VzIEFjdGlvbnMtbWVudVxuXHRcdFx0XHRcdHRoaXMuY2xvc2VNZW51KClcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLnByZXZlbnRJZkV2ZW50KGV2ZW50KVxuXHRcdFx0XHRcdHRoaXMuZm9jdXNJbmRleCA9IHRoaXMuZm9jdXNJbmRleCArIDFcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmZvY3VzQWN0aW9uKClcblx0XHRcdH1cblx0XHR9LFxuXHRcdGZvY3VzRmlyc3RBY3Rpb24oZXZlbnQpIHtcblx0XHRcdGlmICh0aGlzLm9wZW5lZCkge1xuXHRcdFx0XHR0aGlzLnByZXZlbnRJZkV2ZW50KGV2ZW50KVxuXHRcdFx0XHR0aGlzLmZvY3VzSW5kZXggPSAwXG5cdFx0XHRcdHRoaXMuZm9jdXNBY3Rpb24oKVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Zm9jdXNMYXN0QWN0aW9uKGV2ZW50KSB7XG5cdFx0XHRpZiAodGhpcy5vcGVuZWQpIHtcblx0XHRcdFx0dGhpcy5wcmV2ZW50SWZFdmVudChldmVudClcblx0XHRcdFx0dGhpcy5mb2N1c0luZGV4ID0gdGhpcy4kZWwucXVlcnlTZWxlY3RvckFsbChmb2N1c2FibGVTZWxlY3RvcikubGVuZ3RoIC0gMVxuXHRcdFx0XHR0aGlzLmZvY3VzQWN0aW9uKClcblx0XHRcdH1cblx0XHR9LFxuXG5cdFx0cHJldmVudElmRXZlbnQoZXZlbnQpIHtcblx0XHRcdGlmIChldmVudCkge1xuXHRcdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpXG5cdFx0XHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdC8vIEFDVElPTlMgTUFOQUdFTUVOVFxuXHRcdC8vIGV4ZWMgdGhlIGZpcnN0IGFjdGlvblxuXHRcdGV4ZWNGaXJzdEFjdGlvbihldmVudCkge1xuXHRcdFx0aWYgKHRoaXMuZmlyc3RBY3Rpb25FdmVudCkge1xuXHRcdFx0XHR0aGlzLmZpcnN0QWN0aW9uRXZlbnQoZXZlbnQpXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRpbml0QWN0aW9ucygpIHtcblx0XHRcdC8vIGZpbHRlciBvdXQgaW52YWxpZCBzbG90c1xuXHRcdFx0dGhpcy5hY3Rpb25zID0gKHRoaXMuJHNsb3RzLmRlZmF1bHQgfHwgW10pLmZpbHRlcihub2RlID0+ICEhbm9kZSAmJiAhIW5vZGUuY29tcG9uZW50T3B0aW9ucylcblx0XHR9LFxuXHRcdG9uRm9jdXMoZXZlbnQpIHtcblx0XHRcdHRoaXMuJGVtaXQoJ2ZvY3VzJywgZXZlbnQpXG5cdFx0fSxcblx0XHRvbkJsdXIoZXZlbnQpIHtcblx0XHRcdHRoaXMuJGVtaXQoJ2JsdXInLCBldmVudClcblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbkBpbXBvcnQgJy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlJztcblxuLmFjdGlvbi1pdGVtIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0Ly8gcHV0IGEgZ3JleSByb3VuZCBiYWNrZ3JvdW5kIHdoZW4gbWVudSBpcyBvcGVuZWRcblx0Ly8gb3IgaG92ZXItZm9jdXNlZFxuXHQmLS1zaW5nbGU6aG92ZXIsXG5cdCYtLXNpbmdsZTpmb2N1cyxcblx0Ji0tc2luZ2xlOmFjdGl2ZSxcblx0Jl9fbWVudXRvZ2dsZTpob3Zlcixcblx0Jl9fbWVudXRvZ2dsZTpmb2N1cyxcblx0Jl9fbWVudXRvZ2dsZTphY3RpdmUge1xuXHRcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XG5cdFx0Ly8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGljb24tZm9jdXMtYmc7XG5cdH1cblxuXHQvLyBUT0RPOiBoYW5kbGUgdGhpcyBpbiB0aGUgZnV0dXJlIGJ1dHRvbiBjb21wb25lbnRcblx0Jl9fbWVudXRvZ2dsZTpkaXNhYmxlZCxcblx0Ji0tc2luZ2xlOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAuMyAhaW1wb3J0YW50O1xuXHR9XG5cblx0Ji5hY3Rpb24taXRlbS0tb3BlbiAuYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGUge1xuXHRcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGw7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyO1xuXHR9XG5cblx0Ly8gaWNvbnNcblx0Ji0tc2luZ2xlLFxuXHQmX19tZW51dG9nZ2xlIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1pbi13aWR0aDogJGNsaWNrYWJsZS1hcmVhO1xuXHRcdGhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAkaWNvbi1tYXJnaW47XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3JkZXItcmFkaXVzOiAkY2xpY2thYmxlLWFyZWEgLyAyO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR9XG5cblx0Ly8gaWNvbi1tb3JlXG5cdCZfX21lbnV0b2dnbGUge1xuXHRcdC8vIGFsaWduIG1lbnUgaWNvbiBpbiBjZW50ZXJcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0b3BhY2l0eTogJG9wYWNpdHlfbm9ybWFsO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGxpbmUtaGVpZ2h0OiAkaWNvbi1zaXplO1xuXG5cdFx0Ly8gaW1hZ2Ugc2xvdFxuXHRcdC9kZWVwLyBzcGFuIHtcblx0XHRcdHdpZHRoOiAkaWNvbi1zaXplO1xuXHRcdFx0aGVpZ2h0OiAkaWNvbi1zaXplO1xuXHRcdFx0bGluZS1oZWlnaHQ6ICRpY29uLXNpemU7XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0fVxuXG5cdFx0Ji0tZGVmYXVsdC1pY29uIHtcblx0XHRcdEBpbmNsdWRlIGljb25mb250KCdtb3JlJyk7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRmb250LXNpemU6ICRpY29uLXNpemU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji0td2l0aC10aXRsZSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6ICRjbGlja2FibGUtYXJlYTtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xuXHRcdFx0Ly8gd2l0aCBhIHRpdGxlLCB3ZSBuZWVkIHRvIGRpc3BsYXkgdGhpcyBhcyBhIHJlYWwgYnV0dG9uXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmspO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogJGljb24tbWFyZ2luIGNlbnRlcjtcblx0XHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0XHRcdC8vIG5vbi1iYWNrZ3JvdW5kIGljb24gY2xhc3Ncblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6ICRpY29uLW1hcmdpbjtcblx0XHRcdFx0bGVmdDogJGljb24tbWFyZ2luO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLXByaW1hcnkge1xuXHRcdFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcblx0XHRcdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1lbGVtZW50KTtcblx0XHRcdC5hY3Rpb24taXRlbS0tb3BlbiAmLFxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudC1saWdodCkgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLS1zaW5nbGUge1xuXHRcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcblx0XHR9XG5cdFx0Ly8gaGlkZSBhbnl0aGluZyB0aGUgc2xvdCBpcyBkaXNwbGF5aW5nXG5cdFx0JiA+IFtoaWRkZW5dIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi5pZSxcbi5lZGdlIHtcblx0LmFjdGlvbi1pdGVtX19tZW51LFxuXHQuYWN0aW9uLWl0ZW1fX21lbnUgLmFjdGlvbi1pdGVtX19tZW51X2Fycm93IHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuXHR9XG59XG5cbjwvc3R5bGU+XG4iLCI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAgLVxuICAtIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICAtXG4gIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbi0tPlxuXG48ZG9jcz5cblxuIyMjIEdlbmVyYWwgZGVzY3JpcHRpb25cblxuVGhpcyBjb21wb25lbnQgaXMganVzdCBhIHdyYXBwZXIgZm9yIHRoZSB2LWNvbXBvbmVudCBwbHVnaW4gYnkgQWtyeXVtLFxucGxlYXNlIHJlZmVyIHRvIHRoaXMgZG9jdW1lbnRhdGlvbiBmb3IgY3VzdG9taXphdGlvbjpcbmh0dHBzOi8vZ2l0aHViLmNvbS9Ba3J5dW0vdi10b29sdGlwXG5cblRoaXMgY29tcG9uZW50cyBoYXMgdHdvIHNsb3RzOlxuKiAndHJpZ2dlcicgd2hpY2ggY2FuIGJlIGFueSBodG1sIGVsZW1lbnQgYW5kIGl0IHdpbGwgdHJpZ2dlciB0aGUgcG9wb3ZlclxudGhpcyBzbG90IGlzIG9wdGlvbmFsIHNpbmNlIHlvdSBjYW4gdG9nZ2xlIHRoZSBwb3BvdmVyIGFsc28gYnkgdXBkYXRpbmcgdGhlXG5vcGVuIHByb3Agb24gdGhpcyBjb21wb25lbnQ7XG5cbiogYSBkZWZhdWx0IHNsb3QgdGhhdCBpcyBmb3IgdGhlIGNvbnRlbnQgb2YgdGhlIHBvcG92ZXIuXG5cbiMjIyBFeGFtcGxlc1xuXG5XaXRoIGEgYDxidXR0b24+YCBhcyBhIHRyaWdnZXI6XG5gYGB2dWVcbjx0ZW1wbGF0ZT5cblx0PFBvcG92ZXI+XG5cdFx0PGJ1dHRvbiBzbG90PVwidHJpZ2dlclwiPiBJIGFtIHRoZSB0cmlnZ2VyIDwvYnV0dG9uPlxuXHRcdDx0ZW1wbGF0ZT5cblx0XHQ8aDI+dGhpcyBpcyBzb21lIGNvbnRlbnQ8L2gyPlxuXHRcdDwvdGVtcGxhdGU+XG5cdDwvUG9wb3Zlcj5cbjwvdGVtcGxhdGU+XG5gYGBcbjwvZG9jcz5cblxuPHRlbXBsYXRlPlxuXHQ8VlBvcG92ZXJcblx0XHRyZWY9XCJwb3BvdmVyXCJcblx0XHR2LWJpbmQ9XCIkYXR0cnNcIlxuXHRcdHBvcG92ZXItYmFzZS1jbGFzcz1cInBvcG92ZXJcIlxuXHRcdHBvcG92ZXItd3JhcHBlci1jbGFzcz1cInBvcG92ZXJfX3dyYXBwZXJcIlxuXHRcdHBvcG92ZXItYXJyb3ctY2xhc3M9XCJwb3BvdmVyX19hcnJvd1wiXG5cdFx0cG9wb3Zlci1pbm5lci1jbGFzcz1cInBvcG92ZXJfX2lubmVyXCJcblx0XHR2LW9uPVwiJGxpc3RlbmVyc1wiPlxuXHRcdDwhLS0gVGhpcyB3aWxsIGJlIHRoZSBwb3BvdmVyIHRhcmdldCAoZm9yIHRoZSBldmVudHMgYW5kIHBvc2l0aW9uKSAtLT5cblx0XHQ8c2xvdCBuYW1lPVwidHJpZ2dlclwiIC8+XG5cdFx0PCEtLSBUaGlzIHdpbGwgYmUgdGhlIGNvbnRlbnQgb2YgdGhlIHBvcG92ZXIgLS0+XG5cdFx0PHRlbXBsYXRlIHNsb3Q9XCJwb3BvdmVyXCI+XG5cdFx0XHQ8c2xvdCAvPlxuXHRcdDwvdGVtcGxhdGU+XG5cdDwvVlBvcG92ZXI+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IHsgVlBvcG92ZXIgfSBmcm9tICd2LXRvb2x0aXAnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ1BvcG92ZXInLFxuXHRjb21wb25lbnRzOiB7XG5cdFx0VlBvcG92ZXIsXG5cdH0sXG5cblx0bW91bnRlZCgpIHtcblx0XHR0aGlzLiR3YXRjaChcblx0XHRcdCgpID0+IHtcblx0XHRcdFx0Ly8gcmVxdWlyZWQgYmVjYXVzZSB2LXRvb2x0aXAgZG9lc24ndCBwcm92aWRlIGV2ZW50c1xuXHRcdFx0XHQvLyBhbmQgQHNob3cgaXMgdG9vIGVhcmx5XG5cdFx0XHRcdC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vQWtyeXVtL3YtdG9vbHRpcC9pc3N1ZXMvNjYxXG5cdFx0XHRcdHJldHVybiB0aGlzLiRyZWZzLnBvcG92ZXIuaXNPcGVuXG5cdFx0XHR9LFxuXHRcdFx0KHZhbCkgPT4ge1xuXHRcdFx0XHRpZiAodmFsKSB7XG5cdFx0XHRcdFx0LyoqXG5cdFx0XHRcdFx0ICogVHJpZ2dlcmVkIGFmdGVyIHRoZSB0b29sdGlwIHdhcyB2aXN1YWxseSBkaXNwbGF5ZWQuXG5cdFx0XHRcdFx0ICpcblx0XHRcdFx0XHQgKiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHRoZSAnc2hvdycgYW5kICdhcHBseS1zaG93JyB3aGljaFxuXHRcdFx0XHRcdCAqIHJ1biBlYXJsaWVyIHRoYW4gdGhpcyB3aGVyZSB0aGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCB0aGVcblx0XHRcdFx0XHQgKiB0b29sdGlwIGlzIGFscmVhZHkgdmlzaWJsZSBhbmQgaW4gdGhlIERPTS5cblx0XHRcdFx0XHQgKi9cblx0XHRcdFx0XHR0aGlzLiRlbWl0KCdhZnRlci1zaG93Jylcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHQvKipcblx0XHRcdFx0XHQgKiBUcmlnZ2VyZWQgYWZ0ZXIgdGhlIHRvb2x0aXAgd2FzIHZpc3VhbGx5IGhpZGRlbi5cblx0XHRcdFx0XHQgKi9cblx0XHRcdFx0XHR0aGlzLiRlbWl0KCdhZnRlci1oaWRlJylcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdClcblx0fSxcbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIj5cbiRhcnJvdy13aWR0aDogMTBweDtcblxuLnBvcG92ZXIge1xuXHR6LWluZGV4OiAxMDAwMDA7XG5cdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cblx0ZmlsdGVyOiBkcm9wLXNoYWRvdygwIDFweCAxMHB4IHZhcigtLWNvbG9yLWJveC1zaGFkb3cpKTtcblxuXHQmX19pbm5lciB7XG5cdFx0cGFkZGluZzogMDtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xuXHR9XG5cblx0Jl9fYXJyb3cge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHdpZHRoOiAwO1xuXHRcdGhlaWdodDogMDtcblx0XHRtYXJnaW46ICRhcnJvdy13aWR0aDtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcblx0fVxuXG5cdCZbeC1wbGFjZW1lbnRePSd0b3AnXSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogJGFycm93LXdpZHRoO1xuXG5cdFx0LnBvcG92ZXJfX2Fycm93IHtcblx0XHRcdGJvdHRvbTogLSRhcnJvdy13aWR0aDtcblx0XHRcdGxlZnQ6IGNhbGMoNTAlIC0gJGFycm93LXdpZHRoKTtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAkYXJyb3ctd2lkdGggJGFycm93LXdpZHRoIDAgJGFycm93LXdpZHRoO1xuXHRcdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdCZbeC1wbGFjZW1lbnRePSdib3R0b20nXSB7XG5cdFx0bWFyZ2luLXRvcDogJGFycm93LXdpZHRoO1xuXG5cdFx0LnBvcG92ZXJfX2Fycm93IHtcblx0XHRcdHRvcDogLSRhcnJvdy13aWR0aDtcblx0XHRcdGxlZnQ6IGNhbGMoNTAlIC0gJGFycm93LXdpZHRoKTtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAwICRhcnJvdy13aWR0aCAkYXJyb3ctd2lkdGggJGFycm93LXdpZHRoO1xuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdCZbeC1wbGFjZW1lbnRePSdyaWdodCddIHtcblx0XHRtYXJnaW4tbGVmdDogJGFycm93LXdpZHRoO1xuXG5cdFx0LnBvcG92ZXJfX2Fycm93IHtcblx0XHRcdHRvcDogY2FsYyg1MCUgLSAkYXJyb3ctd2lkdGgpO1xuXHRcdFx0bGVmdDogLSRhcnJvdy13aWR0aDtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAkYXJyb3ctd2lkdGggJGFycm93LXdpZHRoICRhcnJvdy13aWR0aCAwO1xuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdFx0XHRib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQmW3gtcGxhY2VtZW50Xj0nbGVmdCddIHtcblx0XHRtYXJnaW4tcmlnaHQ6ICRhcnJvdy13aWR0aDtcblxuXHRcdC5wb3BvdmVyX19hcnJvdyB7XG5cdFx0XHR0b3A6IGNhbGMoNTAlIC0gJGFycm93LXdpZHRoKTtcblx0XHRcdHJpZ2h0OiAtJGFycm93LXdpZHRoO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRib3JkZXItd2lkdGg6ICRhcnJvdy13aWR0aCAwICRhcnJvdy13aWR0aCAkYXJyb3ctd2lkdGg7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQmW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbi1xdWljayksIHZpc2liaWxpdHkgdmFyKC0tYW5pbWF0aW9uLXF1aWNrKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0JlthcmlhLWhpZGRlbj0nZmFsc2UnXSB7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbi1xdWljayk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG48L3N0eWxlPlxuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbi8qKlxcbiogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTYsIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4qIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE2LCBSb2JpbiBBcHBlbG1hbiA8cm9iaW5AaWNld2luZC5ubD5cXG4qIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE2LCBKYW4tQ2hyaXN0b3BoIEJvcmNoYXJkdCA8aGV5QGphbmNib3JjaGFyZHQubmV0PlxcbiogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTYsIEVyaWsgUGVsbGlra2EgPGVyaWtAcGVsbGlra2Eub3JnPlxcbiogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTUsIFZpbmNlbnQgUGV0cnkgPHB2aW5jZTgxQG93bmNsb3VkLmNvbT5cXG4qXFxuKiBCb290c3RyYXAgdjMuMy41IChodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbSlcXG4qIENvcHlyaWdodCAyMDExLTIwMTUgVHdpdHRlciwgSW5jLlxcbiogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcXG4qL1xcbi52dWUtdG9vbHRpcFtkYXRhLXYtODRjNDYxZl0ge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgei1pbmRleDogMTAwMDAwO1xcbiAgcmlnaHQ6IGF1dG87XFxuICBsZWZ0OiBhdXRvO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXJnaW46IDA7XFxuICAvKiBkZWZhdWx0IHRvIHRvcCAqL1xcbiAgbWFyZ2luLXRvcDogLTNweDtcXG4gIHBhZGRpbmc6IDEwcHggMDtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxuICB0ZXh0LWFsaWduOiBzdGFydDtcXG4gIG9wYWNpdHk6IDA7XFxuICBsaW5lLWhlaWdodDogMS42O1xcbiAgbGluZS1icmVhazogYXV0bztcXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxcHggMTBweCB2YXIoLS1jb2xvci1ib3gtc2hhZG93KSk7IH1cXG4gIC52dWUtdG9vbHRpcFtkYXRhLXYtODRjNDYxZl1beC1wbGFjZW1lbnRePSd0b3AnXSAudG9vbHRpcC1hcnJvdyB7XFxuICAgIGJvdHRvbTogMDtcXG4gICAgbWFyZ2luLXRvcDogMDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgYm9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMCAxMHB4O1xcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuICAudnVlLXRvb2x0aXBbZGF0YS12LTg0YzQ2MWZdW3gtcGxhY2VtZW50Xj0nYm90dG9tJ10gLnRvb2x0aXAtYXJyb3cge1xcbiAgICB0b3A6IDA7XFxuICAgIG1hcmdpbi10b3A6IDA7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIGJvcmRlci13aWR0aDogMCAxMHB4IDEwcHggMTBweDtcXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbiAgLnZ1ZS10b29sdGlwW2RhdGEtdi04NGM0NjFmXVt4LXBsYWNlbWVudF49J3JpZ2h0J10gLnRvb2x0aXAtYXJyb3cge1xcbiAgICByaWdodDogMTAwJTtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgYm9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMTBweCAwO1xcbiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbiAgLnZ1ZS10b29sdGlwW2RhdGEtdi04NGM0NjFmXVt4LXBsYWNlbWVudF49J2xlZnQnXSAudG9vbHRpcC1hcnJvdyB7XFxuICAgIGxlZnQ6IDEwMCU7XFxuICAgIG1hcmdpbi1yaWdodDogMDtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIGJvcmRlci13aWR0aDogMTBweCAwIDEwcHggMTBweDtcXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuICAudnVlLXRvb2x0aXBbZGF0YS12LTg0YzQ2MWZdW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cywgdmlzaWJpbGl0eSAuMTVzO1xcbiAgICBvcGFjaXR5OiAwOyB9XFxuICAudnVlLXRvb2x0aXBbZGF0YS12LTg0YzQ2MWZdW2FyaWEtaGlkZGVuPSdmYWxzZSddIHtcXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzO1xcbiAgICBvcGFjaXR5OiAxOyB9XFxuICAudnVlLXRvb2x0aXBbZGF0YS12LTg0YzQ2MWZdIC50b29sdGlwLWlubmVyIHtcXG4gICAgbWF4LXdpZHRoOiAzNTBweDtcXG4gICAgcGFkZGluZzogNXB4IDhweDtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7IH1cXG4gIC52dWUtdG9vbHRpcFtkYXRhLXYtODRjNDYxZl0gLnRvb2x0aXAtYXJyb3cge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHotaW5kZXg6IDE7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBoZWlnaHQ6IDA7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpOyB9XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vaW5kZXguc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUFwQkY7Ozs7Ozs7Ozs7Q0ErQkM7QUFqQkQ7RUFDQyxrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLFdBQVc7RUFDWCxVQUFVO0VBQ1YsY0FBYztFQUNkLFNBQVM7RUFDVCxtQkFBQTtFQUNBLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixVQUFVO0VBQ1YsZ0JBQWdCO0VBRWhCLGdCQUFnQjtFQUNoQix1REFBdUQsRUFBQTtFQWhCeEQ7SUFxQkcsU0FBUztJQUNULGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsOEJBMUJlO0lBMkJmLCtCQUErQjtJQUMvQixnQ0FBZ0M7SUFDaEMsOEJBQThCLEVBQUE7RUEzQmpDO0lBa0NHLE1BQU07SUFDTixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLDhCQXZDZTtJQXdDZiw2QkFBNkI7SUFDN0IsK0JBQStCO0lBQy9CLDhCQUE4QixFQUFBO0VBeENqQztJQStDRyxXQUFXO0lBQ1gsZUFBZTtJQUNmLGNBQWM7SUFDZCw4QkFBc0Q7SUFDdEQsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQyw4QkFBOEIsRUFBQTtFQXJEakM7SUE0REcsVUFBVTtJQUNWLGVBQWU7SUFDZixjQUFjO0lBQ2QsOEJBakVlO0lBa0VmLDZCQUE2QjtJQUM3QiwrQkFBK0I7SUFDL0IsZ0NBQWdDLEVBQUE7RUFsRW5DO0lBd0VFLGtCQUFrQjtJQUNsQix5Q0FBeUM7SUFDekMsVUFBVSxFQUFBO0VBMUVaO0lBNkVFLG1CQUFtQjtJQUNuQix3QkFBd0I7SUFDeEIsVUFBVSxFQUFBO0VBL0VaO0lBb0ZFLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLDZCQUE2QjtJQUM3QixtQ0FBbUM7SUFDbkMsOENBQThDLEVBQUE7RUF6RmhEO0lBOEZFLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsUUFBUTtJQUNSLFNBQVM7SUFDVCxTQUFTO0lBQ1QsbUJBQW1CO0lBQ25CLDBDQUEwQyxFQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG4vKipcXG4qIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE2LCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxNiwgUm9iaW4gQXBwZWxtYW4gPHJvYmluQGljZXdpbmQubmw+XFxuKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxNiwgSmFuLUNocmlzdG9waCBCb3JjaGFyZHQgPGhleUBqYW5jYm9yY2hhcmR0Lm5ldD5cXG4qIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE2LCBFcmlrIFBlbGxpa2thIDxlcmlrQHBlbGxpa2thLm9yZz5cXG4qIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE1LCBWaW5jZW50IFBldHJ5IDxwdmluY2U4MUBvd25jbG91ZC5jb20+XFxuKlxcbiogQm9vdHN0cmFwIHYzLjMuNSAoaHR0cDovL2dldGJvb3RzdHJhcC5jb20pXFxuKiBDb3B5cmlnaHQgMjAxMS0yMDE1IFR3aXR0ZXIsIEluYy5cXG4qIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXFxuKi9cXG5cXG4kYXJyb3ctd2lkdGg6IDEwcHg7XFxuXFxuLnZ1ZS10b29sdGlwW2RhdGEtdi0jeyRzY29wZV92ZXJzaW9ufV0ge1xcblxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHR6LWluZGV4OiAxMDAwMDA7XFxuXFx0cmlnaHQ6IGF1dG87XFxuXFx0bGVmdDogYXV0bztcXG5cXHRkaXNwbGF5OiBibG9jaztcXG5cXHRtYXJnaW46IDA7XFxuXFx0LyogZGVmYXVsdCB0byB0b3AgKi9cXG5cXHRtYXJnaW4tdG9wOiAtM3B4O1xcblxcdHBhZGRpbmc6IDEwcHggMDtcXG5cXHR0ZXh0LWFsaWduOiBsZWZ0O1xcblxcdHRleHQtYWxpZ246IHN0YXJ0O1xcblxcdG9wYWNpdHk6IDA7XFxuXFx0bGluZS1oZWlnaHQ6IDEuNjtcXG5cXG5cXHRsaW5lLWJyZWFrOiBhdXRvO1xcblxcdGZpbHRlcjogZHJvcC1zaGFkb3coMCAxcHggMTBweCB2YXIoLS1jb2xvci1ib3gtc2hhZG93KSk7XFxuXFxuXFx0Ly8gVE9QXFxuXFx0Jlt4LXBsYWNlbWVudF49J3RvcCddIHtcXG5cXHRcXHQudG9vbHRpcC1hcnJvdyB7XFxuXFx0XFx0XFx0Ym90dG9tOiAwO1xcblxcdFxcdFxcdG1hcmdpbi10b3A6IDA7XFxuXFx0XFx0XFx0bWFyZ2luLWJvdHRvbTogMDtcXG5cXHRcXHRcXHRib3JkZXItd2lkdGg6ICRhcnJvdy13aWR0aCAkYXJyb3ctd2lkdGggMCAkYXJyb3ctd2lkdGg7XFxuXFx0XFx0XFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHRcXHRib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHRcXHRib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQvLyBCT1RUT01cXG5cXHQmW3gtcGxhY2VtZW50Xj0nYm90dG9tJ10ge1xcblxcdFxcdC50b29sdGlwLWFycm93IHtcXG5cXHRcXHRcXHR0b3A6IDA7XFxuXFx0XFx0XFx0bWFyZ2luLXRvcDogMDtcXG5cXHRcXHRcXHRtYXJnaW4tYm90dG9tOiAwO1xcblxcdFxcdFxcdGJvcmRlci13aWR0aDogMCAkYXJyb3ctd2lkdGggJGFycm93LXdpZHRoICRhcnJvdy13aWR0aDtcXG5cXHRcXHRcXHRib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHRcXHRib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdFxcdFxcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdC8vIFJJR0hUXFxuXFx0Jlt4LXBsYWNlbWVudF49J3JpZ2h0J10ge1xcblxcdFxcdC50b29sdGlwLWFycm93IHtcXG5cXHRcXHRcXHRyaWdodDogMTAwJTtcXG5cXHRcXHRcXHRtYXJnaW4tcmlnaHQ6IDA7XFxuXFx0XFx0XFx0bWFyZ2luLWxlZnQ6IDA7XFxuXFx0XFx0XFx0Ym9yZGVyLXdpZHRoOiAkYXJyb3ctd2lkdGggJGFycm93LXdpZHRoICRhcnJvdy13aWR0aCAwO1xcblxcdFxcdFxcdGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdFxcdFxcdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdFxcdFxcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdC8vIExFRlRcXG5cXHQmW3gtcGxhY2VtZW50Xj0nbGVmdCddIHtcXG5cXHRcXHQudG9vbHRpcC1hcnJvdyB7XFxuXFx0XFx0XFx0bGVmdDogMTAwJTtcXG5cXHRcXHRcXHRtYXJnaW4tcmlnaHQ6IDA7XFxuXFx0XFx0XFx0bWFyZ2luLWxlZnQ6IDA7XFxuXFx0XFx0XFx0Ym9yZGVyLXdpZHRoOiAkYXJyb3ctd2lkdGggMCAkYXJyb3ctd2lkdGggJGFycm93LXdpZHRoO1xcblxcdFxcdFxcdGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdFxcdFxcdGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0XFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQvLyBISURERU4gLyBTSE9XTlxcblxcdCZbYXJpYS1oaWRkZW49J3RydWUnXSB7XFxuXFx0XFx0dmlzaWJpbGl0eTogaGlkZGVuO1xcblxcdFxcdHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cywgdmlzaWJpbGl0eSAuMTVzO1xcblxcdFxcdG9wYWNpdHk6IDA7XFxuXFx0fVxcblxcdCZbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xcblxcdFxcdHZpc2liaWxpdHk6IHZpc2libGU7XFxuXFx0XFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzO1xcblxcdFxcdG9wYWNpdHk6IDE7XFxuXFx0fVxcblxcblxcdC8vIENPTlRFTlRcXG5cXHQudG9vbHRpcC1pbm5lciB7XFxuXFx0XFx0bWF4LXdpZHRoOiAzNTBweDtcXG5cXHRcXHRwYWRkaW5nOiA1cHggOHB4O1xcblxcdFxcdHRleHQtYWxpZ246IGNlbnRlcjtcXG5cXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRcXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcblxcdH1cXG5cXG5cXHQvLyBBUlJPV1xcblxcdC50b29sdGlwLWFycm93IHtcXG5cXHRcXHRwb3NpdGlvbjogYWJzb2x1dGU7XFxuXFx0XFx0ei1pbmRleDogMTtcXG5cXHRcXHR3aWR0aDogMDtcXG5cXHRcXHRoZWlnaHQ6IDA7XFxuXFx0XFx0bWFyZ2luOiAwO1xcblxcdFxcdGJvcmRlci1zdHlsZTogc29saWQ7XFxuXFx0XFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcblxcdH1cXG59XFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvZ2V0VXJsLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLmVvdFwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi53b2ZmXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzJfX18gZnJvbSBcIi4uLy4uL2ZvbnRzL2ljb25mb250LXZ1ZS04NGM0NjFmLnR0ZlwiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8zX19fIGZyb20gXCIuLi8uLi9mb250cy9pY29uZm9udC12dWUtODRjNDYxZi5zdmdcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzFfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzJfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8zX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICBzcmM6IHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gKyBcIik7XFxuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXFxuICBzcmM6IHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gKyBcIikgZm9ybWF0KFxcXCJlbWJlZGRlZC1vcGVudHlwZVxcXCIpLCB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8xX19fICsgXCIpIGZvcm1hdChcXFwid29mZlxcXCIpLCB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fICsgXCIpIGZvcm1hdChcXFwidHJ1ZXR5cGVcXFwiKSwgdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyArIFwiKSBmb3JtYXQoXFxcInN2Z1xcXCIpO1xcbiAgLyogTGVnYWN5IGlPUyAqL1xcbn1cXG4uaWNvbltkYXRhLXYtNGY0NTg2NGJdIHtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxufVxcbi5pY29uLmFycm93LWxlZnQtZG91YmxlW2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIFcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1sZWZ0W2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIJcXFwiO1xcbn1cXG4uaWNvbi5hcnJvdy1yaWdodC1kb3VibGVbZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6og1xcXCI7XFxufVxcbi5pY29uLmFycm93LXJpZ2h0W2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIRcXFwiO1xcbn1cXG4uaWNvbi5icmVhZGNydW1iW2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIVcXFwiO1xcbn1cXG4uaWNvbi5jaGVja21hcmtbZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6ohlxcXCI7XFxufVxcbi5pY29uLmNsb3NlW2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIdcXFwiO1xcbn1cXG4uaWNvbi5jb25maXJtW2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIhcXFwiO1xcbn1cXG4uaWNvbi5pbmZvW2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIlcXFwiO1xcbn1cXG4uaWNvbi5tZW51W2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqIpcXFwiO1xcbn1cXG4uaWNvbi5tb3JlW2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqItcXFwiO1xcbn1cXG4uaWNvbi5wYXVzZVtkYXRhLXYtNGY0NTg2NGJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiMXFxcIjtcXG59XFxuLmljb24ucGxheVtkYXRhLXYtNGY0NTg2NGJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiNXFxcIjtcXG59XFxuLmljb24udHJpYW5nbGUtc1tkYXRhLXYtNGY0NTg2NGJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiOXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtYXdheVtkYXRhLXYtNGY0NTg2NGJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiPXFxcIjtcXG59XFxuLmljb24udXNlci1zdGF0dXMtZG5kW2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgZm9udC1mYW1pbHk6IFxcXCJpY29uZm9udC12dWUtODRjNDYxZlxcXCI7XFxuICAgIGNvbnRlbnQ6IFxcXCLuqJBcXFwiO1xcbn1cXG4uaWNvbi51c2VyLXN0YXR1cy1pbnZpc2libGVbZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICBmb250LWZhbWlseTogXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjtcXG4gICAgY29udGVudDogXFxcIu6okVxcXCI7XFxufVxcbi5pY29uLnVzZXItc3RhdHVzLW9ubGluZVtkYXRhLXYtNGY0NTg2NGJdOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICBjb250ZW50OiBcXFwi7qiSXFxcIjtcXG59XFxuLmFjdGlvbi1pdGVtW2RhdGEtdi00ZjQ1ODY0Yl0ge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbn1cXG4uYWN0aW9uLWl0ZW0tLXNpbmdsZVtkYXRhLXYtNGY0NTg2NGJdOmhvdmVyLCAuYWN0aW9uLWl0ZW0tLXNpbmdsZVtkYXRhLXYtNGY0NTg2NGJdOmZvY3VzLCAuYWN0aW9uLWl0ZW0tLXNpbmdsZVtkYXRhLXYtNGY0NTg2NGJdOmFjdGl2ZSwgLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlW2RhdGEtdi00ZjQ1ODY0Yl06aG92ZXIsIC5hY3Rpb24taXRlbV9fbWVudXRvZ2dsZVtkYXRhLXYtNGY0NTg2NGJdOmZvY3VzLCAuYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGVbZGF0YS12LTRmNDU4NjRiXTphY3RpdmUge1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyNywgMTI3LCAxMjcsIDAuMjUpO1xcbn1cXG4uYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGVbZGF0YS12LTRmNDU4NjRiXTpkaXNhYmxlZCwgLmFjdGlvbi1pdGVtLS1zaW5nbGVbZGF0YS12LTRmNDU4NjRiXTpkaXNhYmxlZCB7XFxuICAgIG9wYWNpdHk6IC4zICFpbXBvcnRhbnQ7XFxufVxcbi5hY3Rpb24taXRlbS5hY3Rpb24taXRlbS0tb3BlbiAuYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGVbZGF0YS12LTRmNDU4NjRiXSB7XFxuICAgIG9wYWNpdHk6IDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI3LCAxMjcsIDEyNywgMC4yNSk7XFxufVxcbi5hY3Rpb24taXRlbS0tc2luZ2xlW2RhdGEtdi00ZjQ1ODY0Yl0sIC5hY3Rpb24taXRlbV9fbWVudXRvZ2dsZVtkYXRhLXYtNGY0NTg2NGJdIHtcXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgd2lkdGg6IGF1dG87XFxuICAgIG1pbi13aWR0aDogNDRweDtcXG4gICAgaGVpZ2h0OiA0NHB4O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDE0cHg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgYm9yZGVyOiBub25lO1xcbiAgICBib3JkZXItcmFkaXVzOiAyMnB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG59XFxuLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlW2RhdGEtdi00ZjQ1ODY0Yl0ge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgb3BhY2l0eTogMC43O1xcbiAgICBmb250LXdlaWdodDogYm9sZDtcXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XFxufVxcbi5hY3Rpb24taXRlbV9fbWVudXRvZ2dsZVtkYXRhLXYtNGY0NTg2NGJdIHNwYW4ge1xcbiAgICAgIHdpZHRoOiAxNnB4O1xcbiAgICAgIGhlaWdodDogMTZweDtcXG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcXG59XFxuLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlW2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiAnJztcXG59XFxuLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlLS1kZWZhdWx0LWljb25bZGF0YS12LTRmNDU4NjRiXTpiZWZvcmUge1xcbiAgICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgICBmb250LXdlaWdodDogNDAwO1xcbiAgICAgIGNvbnRlbnQ6IFxcXCLuqItcXFwiO1xcbn1cXG4uYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGUtLWRlZmF1bHQtaWNvbltkYXRhLXYtNGY0NTg2NGJdOjpiZWZvcmUge1xcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcXG59XFxuLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlLS13aXRoLXRpdGxlW2RhdGEtdi00ZjQ1ODY0Yl0ge1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XFxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgICBvcGFjaXR5OiAxO1xcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXJrKTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmspO1xcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE0cHggY2VudGVyO1xcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG59XFxuLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlLS13aXRoLXRpdGxlW2RhdGEtdi00ZjQ1ODY0Yl06YmVmb3JlIHtcXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICAgIHRvcDogMTRweDtcXG4gICAgICAgIGxlZnQ6IDE0cHg7XFxufVxcbi5hY3Rpb24taXRlbV9fbWVudXRvZ2dsZS0tcHJpbWFyeVtkYXRhLXYtNGY0NTg2NGJdIHtcXG4gICAgICBvcGFjaXR5OiAxO1xcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xcbiAgICAgIGJvcmRlcjogbm9uZTtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcbn1cXG4uYWN0aW9uLWl0ZW0tLW9wZW4gLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlLS1wcmltYXJ5W2RhdGEtdi00ZjQ1ODY0Yl0sIC5hY3Rpb24taXRlbV9fbWVudXRvZ2dsZS0tcHJpbWFyeVtkYXRhLXYtNGY0NTg2NGJdOmhvdmVyLCAuYWN0aW9uLWl0ZW1fX21lbnV0b2dnbGUtLXByaW1hcnlbZGF0YS12LTRmNDU4NjRiXTpmb2N1cywgLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlLS1wcmltYXJ5W2RhdGEtdi00ZjQ1ODY0Yl06YWN0aXZlIHtcXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpICFpbXBvcnRhbnQ7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQtbGlnaHQpICFpbXBvcnRhbnQ7XFxufVxcbi5hY3Rpb24taXRlbS0tc2luZ2xlW2RhdGEtdi00ZjQ1ODY0Yl0ge1xcbiAgICBvcGFjaXR5OiAwLjc7XFxufVxcbi5hY3Rpb24taXRlbS0tc2luZ2xlW2RhdGEtdi00ZjQ1ODY0Yl06aG92ZXIsIC5hY3Rpb24taXRlbS0tc2luZ2xlW2RhdGEtdi00ZjQ1ODY0Yl06Zm9jdXMsIC5hY3Rpb24taXRlbS0tc2luZ2xlW2RhdGEtdi00ZjQ1ODY0Yl06YWN0aXZlIHtcXG4gICAgICBvcGFjaXR5OiAxO1xcbn1cXG4uYWN0aW9uLWl0ZW0tLXNpbmdsZSA+IFtoaWRkZW5dW2RhdGEtdi00ZjQ1ODY0Yl0ge1xcbiAgICAgIGRpc3BsYXk6IG5vbmU7XFxufVxcbi5pZSAuYWN0aW9uLWl0ZW1fX21lbnVbZGF0YS12LTRmNDU4NjRiXSxcXG4uaWUgLmFjdGlvbi1pdGVtX19tZW51IC5hY3Rpb24taXRlbV9fbWVudV9hcnJvd1tkYXRhLXYtNGY0NTg2NGJdLFxcbi5lZGdlIC5hY3Rpb24taXRlbV9fbWVudVtkYXRhLXYtNGY0NTg2NGJdLFxcbi5lZGdlIC5hY3Rpb24taXRlbV9fbWVudSAuYWN0aW9uLWl0ZW1fX21lbnVfYXJyb3dbZGF0YS12LTRmNDU4NjRiXSB7XFxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9BY3Rpb25zLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9mb250cy9zY3NzL2ljb25mb250LXZ1ZS5z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YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbkBpbXBvcnQgJy4uLy4uL2ZvbnRzL3Njc3MvaWNvbmZvbnQtdnVlJztcXG5cXG4uYWN0aW9uLWl0ZW0ge1xcblxcdHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuXFxuXFx0Ly8gcHV0IGEgZ3JleSByb3VuZCBiYWNrZ3JvdW5kIHdoZW4gbWVudSBpcyBvcGVuZWRcXG5cXHQvLyBvciBob3Zlci1mb2N1c2VkXFxuXFx0Ji0tc2luZ2xlOmhvdmVyLFxcblxcdCYtLXNpbmdsZTpmb2N1cyxcXG5cXHQmLS1zaW5nbGU6YWN0aXZlLFxcblxcdCZfX21lbnV0b2dnbGU6aG92ZXIsXFxuXFx0Jl9fbWVudXRvZ2dsZTpmb2N1cyxcXG5cXHQmX19tZW51dG9nZ2xlOmFjdGl2ZSB7XFxuXFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHQvLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1mb2N1cy1iZztcXG5cXHR9XFxuXFxuXFx0Ly8gVE9ETzogaGFuZGxlIHRoaXMgaW4gdGhlIGZ1dHVyZSBidXR0b24gY29tcG9uZW50XFxuXFx0Jl9fbWVudXRvZ2dsZTpkaXNhYmxlZCxcXG5cXHQmLS1zaW5nbGU6ZGlzYWJsZWQge1xcblxcdFxcdG9wYWNpdHk6IC4zICFpbXBvcnRhbnQ7XFxuXFx0fVxcblxcblxcdCYuYWN0aW9uLWl0ZW0tLW9wZW4gLmFjdGlvbi1pdGVtX19tZW51dG9nZ2xlIHtcXG5cXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdGJhY2tncm91bmQtY29sb3I6ICRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjtcXG5cXHR9XFxuXFxuXFx0Ly8gaWNvbnNcXG5cXHQmLS1zaW5nbGUsXFxuXFx0Jl9fbWVudXRvZ2dsZSB7XFxuXFx0XFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcXG5cXHRcXHR3aWR0aDogYXV0bztcXG5cXHRcXHRtaW4td2lkdGg6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRoZWlnaHQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRtYXJnaW46IDA7XFxuXFx0XFx0cGFkZGluZzogJGljb24tbWFyZ2luO1xcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRib3JkZXI6IG5vbmU7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogJGNsaWNrYWJsZS1hcmVhIC8gMjtcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHR9XFxuXFxuXFx0Ly8gaWNvbi1tb3JlXFxuXFx0Jl9fbWVudXRvZ2dsZSB7XFxuXFx0XFx0Ly8gYWxpZ24gbWVudSBpY29uIGluIGNlbnRlclxcblxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXHRcXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG5cXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFx0XFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XFxuXFx0XFx0bGluZS1oZWlnaHQ6ICRpY29uLXNpemU7XFxuXFxuXFx0XFx0Ly8gaW1hZ2Ugc2xvdFxcblxcdFxcdC9kZWVwLyBzcGFuIHtcXG5cXHRcXHRcXHR3aWR0aDogJGljb24tc2l6ZTtcXG5cXHRcXHRcXHRoZWlnaHQ6ICRpY29uLXNpemU7XFxuXFx0XFx0XFx0bGluZS1oZWlnaHQ6ICRpY29uLXNpemU7XFxuXFx0XFx0fVxcblxcblxcdFxcdCY6YmVmb3JlIHtcXG5cXHRcXHRcXHRjb250ZW50OiAnJztcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ji0tZGVmYXVsdC1pY29uIHtcXG5cXHRcXHRcXHRAaW5jbHVkZSBpY29uZm9udCgnbW9yZScpO1xcblxcdFxcdFxcdCY6OmJlZm9yZSB7XFxuXFx0XFx0XFx0XFx0Zm9udC1zaXplOiAkaWNvbi1zaXplO1xcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ji0td2l0aC10aXRsZSB7XFxuXFx0XFx0XFx0cG9zaXRpb246IHJlbGF0aXZlO1xcblxcdFxcdFxcdHBhZGRpbmctbGVmdDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHRcXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XFxuXFx0XFx0XFx0Ly8gd2l0aCBhIHRpdGxlLCB3ZSBuZWVkIHRvIGRpc3BsYXkgdGhpcyBhcyBhIHJlYWwgYnV0dG9uXFxuXFx0XFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrKTtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaWNvbi1tYXJnaW4gY2VudGVyO1xcblxcdFxcdFxcdGZvbnQtc2l6ZTogaW5oZXJpdDtcXG5cXHRcXHRcXHQvLyBub24tYmFja2dyb3VuZCBpY29uIGNsYXNzXFxuXFx0XFx0XFx0JjpiZWZvcmUge1xcblxcdFxcdFxcdFxcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG5cXHRcXHRcXHRcXHR0b3A6ICRpY29uLW1hcmdpbjtcXG5cXHRcXHRcXHRcXHRsZWZ0OiAkaWNvbi1tYXJnaW47XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXG5cXHRcXHQmLS1wcmltYXJ5IHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xcblxcdFxcdFxcdGJvcmRlcjogbm9uZTtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xcblxcdFxcdFxcdC5hY3Rpb24taXRlbS0tb3BlbiAmLFxcblxcdFxcdFxcdCY6aG92ZXIsXFxuXFx0XFx0XFx0Jjpmb2N1cyxcXG5cXHRcXHRcXHQmOmFjdGl2ZSB7XFxuXFx0XFx0XFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCkgIWltcG9ydGFudDtcXG5cXHRcXHRcXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQtbGlnaHQpICFpbXBvcnRhbnQ7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Ji0tc2luZ2xlIHtcXG5cXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFx0XFx0Jjpob3ZlcixcXG5cXHRcXHQmOmZvY3VzLFxcblxcdFxcdCY6YWN0aXZlIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdH1cXG5cXHRcXHQvLyBoaWRlIGFueXRoaW5nIHRoZSBzbG90IGlzIGRpc3BsYXlpbmdcXG5cXHRcXHQmID4gW2hpZGRlbl0ge1xcblxcdFxcdFxcdGRpc3BsYXk6IG5vbmU7XFxuXFx0XFx0fVxcblxcdH1cXG59XFxuXFxuLmllLFxcbi5lZGdlIHtcXG5cXHQuYWN0aW9uLWl0ZW1fX21lbnUsXFxuXFx0LmFjdGlvbi1pdGVtX19tZW51IC5hY3Rpb24taXRlbV9fbWVudV9hcnJvdyB7XFxuXFx0XFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcXG5cXHR9XFxufVxcblxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIixcIiRfX2ljb25mb250X19kYXRhOiBtYXAtbWVyZ2UoaWYoZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cygnX19pY29uZm9udF9fZGF0YScpLCAkX19pY29uZm9udF9fZGF0YSwgKCkpLCAoXFxuXFx0XFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIjogKFxcblxcdFxcdFxcXCJhcnJvdy1sZWZ0LWRvdWJsZVxcXCI6IFxcXCJcXFxcZWEwMVxcXCIsXFxuXFx0XFx0XFxcImFycm93LWxlZnRcXFwiOiBcXFwiXFxcXGVhMDJcXFwiLFxcblxcdFxcdFxcXCJhcnJvdy1yaWdodC1kb3VibGVcXFwiOiBcXFwiXFxcXGVhMDNcXFwiLFxcblxcdFxcdFxcXCJhcnJvdy1yaWdodFxcXCI6IFxcXCJcXFxcZWEwNFxcXCIsXFxuXFx0XFx0XFxcImJyZWFkY3J1bWJcXFwiOiBcXFwiXFxcXGVhMDVcXFwiLFxcblxcdFxcdFxcXCJjaGVja21hcmtcXFwiOiBcXFwiXFxcXGVhMDZcXFwiLFxcblxcdFxcdFxcXCJjbG9zZVxcXCI6IFxcXCJcXFxcZWEwN1xcXCIsXFxuXFx0XFx0XFxcImNvbmZpcm1cXFwiOiBcXFwiXFxcXGVhMDhcXFwiLFxcblxcdFxcdFxcXCJpbmZvXFxcIjogXFxcIlxcXFxlYTA5XFxcIixcXG5cXHRcXHRcXFwibWVudVxcXCI6IFxcXCJcXFxcZWEwYVxcXCIsXFxuXFx0XFx0XFxcIm1vcmVcXFwiOiBcXFwiXFxcXGVhMGJcXFwiLFxcblxcdFxcdFxcXCJwYXVzZVxcXCI6IFxcXCJcXFxcZWEwY1xcXCIsXFxuXFx0XFx0XFxcInBsYXlcXFwiOiBcXFwiXFxcXGVhMGRcXFwiLFxcblxcdFxcdFxcXCJ0cmlhbmdsZS1zXFxcIjogXFxcIlxcXFxlYTBlXFxcIixcXG5cXHRcXHRcXFwidXNlci1zdGF0dXMtYXdheVxcXCI6IFxcXCJcXFxcZWEwZlxcXCIsXFxuXFx0XFx0XFxcInVzZXItc3RhdHVzLWRuZFxcXCI6IFxcXCJcXFxcZWExMFxcXCIsXFxuXFx0XFx0XFxcInVzZXItc3RhdHVzLWludmlzaWJsZVxcXCI6IFxcXCJcXFxcZWExMVxcXCIsXFxuXFx0XFx0XFxcInVzZXItc3RhdHVzLW9ubGluZVxcXCI6IFxcXCJcXFxcZWExMlxcXCJcXG5cXHQpXFxuKSk7XFxuXFxuXFxuJGNyZWF0ZS1mb250LWZhY2U6IHRydWUgIWRlZmF1bHQ7IC8vIHNob3VsZCB0aGUgQGZvbnQtZmFjZSB0YWcgZ2V0IGNyZWF0ZWQ/XFxuXFxuLy8gc2hvdWxkIHRoZXJlIGJlIGEgY3VzdG9tIGNsYXNzIGZvciBlYWNoIGljb24/IHdpbGwgYmUgLmZpbGVuYW1lXFxuJGNyZWF0ZS1pY29uLWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7IFxcblxcbi8vIHdoYXQgaXMgdGhlIGNvbW1vbiBjbGFzcyBuYW1lIHRoYXQgaWNvbnMgc2hhcmU/IGluIHRoaXMgY2FzZSBpY29ucyBuZWVkIHRvIGhhdmUgLmljb24uZmlsZW5hbWUgaW4gdGhlaXIgY2xhc3Nlc1xcbi8vIHRoaXMgcmVxdWlyZXMgeW91IHRvIGhhdmUgMiBjbGFzc2VzIG9uIGVhY2ggaWNvbiBodG1sIGVsZW1lbnQsIGJ1dCByZWR1Y2VkIHJlZGVjbGFyYXRpb24gb2YgdGhlIGZvbnQgZmFtaWx5XFxuLy8gZm9yIGVhY2ggaWNvblxcbiRpY29uLWNvbW1vbi1jbGFzczogJ2ljb24nICFkZWZhdWx0O1xcblxcbi8vIGlmIHlvdSB3aGlzaCB0byBwcmVmaXggeW91ciBmaWxlbmFtZXMsIGhlcmUgeW91IGNhbiBkbyBzby5cXG4vLyBpZiB0aGlzIHN0cmluZyBzdGF5cyBlbXB0eSwgeW91ciBjbGFzc2VzIHdpbGwgdXNlIHRoZSBmaWxlbmFtZSwgZm9yIGV4YW1wbGVcXG4vLyBhbiBpY29uIGNhbGxlZCBzdGFyLnN2ZyB3aWxsIHJlc3VsdCBpbiBhIGNsYXNzIGNhbGxlZCAuc3Rhclxcbi8vIGlmIHlvdSB1c2UgdGhlIHByZWZpeCB0byBiZSAnaWNvbi0nIGl0IHdvdWxkIHJlc3VsdCBpbiAuaWNvbi1zdGFyXFxuJGljb24tcHJlZml4OiAnJyAhZGVmYXVsdDsgXFxuXFxuLy8gaGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgY29ycmVjdCBmb250IGdyb3VwXFxuQGZ1bmN0aW9uIGljb25mb250LWdyb3VwKCRncm91cDogbnVsbCkge1xcbiAgQGlmIChudWxsID09ICRncm91cCkge1xcbiAgICAkZ3JvdXA6IG50aChtYXAta2V5cygkX19pY29uZm9udF9fZGF0YSksIDEpO1xcbiAgfVxcbiAgQGlmIChmYWxzZSA9PSBtYXAtaGFzLWtleSgkX19pY29uZm9udF9fZGF0YSwgJGdyb3VwKSkge1xcbiAgICBAd2FybiAnVW5kZWZpbmVkIEljb25mb250IEZhbWlseSEnO1xcbiAgICBAcmV0dXJuICgpO1xcbiAgfVxcbiAgQHJldHVybiBtYXAtZ2V0KCRfX2ljb25mb250X19kYXRhLCAkZ3JvdXApO1xcbn1cXG5cXG4vLyBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGljb24gb2YgYSBncm91cFxcbkBmdW5jdGlvbiBpY29uZm9udC1pdGVtKCRuYW1lKSB7XFxuICAkc2xhc2g6IHN0ci1pbmRleCgkbmFtZSwgJy8nKTtcXG4gICRncm91cDogbnVsbDtcXG4gIEBpZiAoJHNsYXNoKSB7XFxuICAgICRncm91cDogc3RyLXNsaWNlKCRuYW1lLCAwLCAkc2xhc2ggLSAxKTtcXG4gICAgJG5hbWU6IHN0ci1zbGljZSgkbmFtZSwgJHNsYXNoICsgMSk7XFxuICB9IEBlbHNlIHtcXG4gICAgJGdyb3VwOiBudGgobWFwLWtleXMoJF9faWNvbmZvbnRfX2RhdGEpLCAxKTtcXG4gIH1cXG4gICRncm91cDogaWNvbmZvbnQtZ3JvdXAoJGdyb3VwKTtcXG4gIEBpZiAoZmFsc2UgPT0gbWFwLWhhcy1rZXkoJGdyb3VwLCAkbmFtZSkpIHtcXG4gICAgQHdhcm4gJ1VuZGVmaW5lZCBJY29uZm9udCBHbHlwaCEnO1xcbiAgICBAcmV0dXJuICcnO1xcbiAgfVxcbiAgQHJldHVybiBtYXAtZ2V0KCRncm91cCwgJG5hbWUpO1xcbn1cXG5cXG4vLyBjb21wbGV0ZSBtaXhpbmcgdG8gaW5jbHVkZSB0aGUgaWNvblxcbi8vIHVzYWdlOlxcbi8vIC5teV9pY29ueyBAaW5jbHVkZSBpY29uZm9udCgnc3RhcicpIH1cXG5AbWl4aW4gaWNvbmZvbnQoJGljb24pIHtcXG4gICRzbGFzaDogc3RyLWluZGV4KCRpY29uLCAnLycpO1xcbiAgJGdyb3VwOiBudWxsO1xcbiAgQGlmICgkc2xhc2gpIHtcXG4gICAgJGdyb3VwOiBzdHItc2xpY2UoJGljb24sIDAsICRzbGFzaCAtIDEpO1xcbiAgfSBAZWxzZSB7XFxuICAgICRncm91cDogbnRoKG1hcC1rZXlzKCRfX2ljb25mb250X19kYXRhKSwgMSk7XFxuICB9XFxuICAmOmJlZm9yZSB7XFxuICAgIGZvbnQtZmFtaWx5OiAkZ3JvdXA7XFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgY29udGVudDogaWNvbmZvbnQtaXRlbSgkaWNvbik7XFxuICB9XFxufVxcblxcbi8vIGNyZWF0ZXMgdGhlIGZvbnQgZmFjZSB0YWcgaWYgdGhlIHZhcmlhYmxlIGlzIHNldCB0byB0cnVlIChkZWZhdWx0KVxcbkBpZiAkY3JlYXRlLWZvbnQtZmFjZSA9PSB0cnVlIHtcXG4gIEBmb250LWZhY2Uge1xcbiAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgIHNyYzogdXJsKCcuLi9pY29uZm9udC12dWUtODRjNDYxZi5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xcbiAgIHNyYzogdXJsKCcuLi9pY29uZm9udC12dWUtODRjNDYxZi5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXFxuICAgICAgdXJsKCcuLi9pY29uZm9udC12dWUtODRjNDYxZi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIFByZXR0eSBNb2Rlcm4gQnJvd3NlcnMgKi9cXG4gICAgICB1cmwoJy4uL2ljb25mb250LXZ1ZS04NGM0NjFmLnR0ZicpICBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXFxuICAgICAgdXJsKCcuLi9pY29uZm9udC12dWUtODRjNDYxZi5zdmcnKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXFxuICB9XFxufVxcblxcbi8vIGNyZWF0ZXMgaWNvbiBjbGFzc2VzIGZvciBlYWNoIGluZGl2aWR1YWwgbG9hZGVkIHN2ZyAoZGVmYXVsdClcXG5AaWYgJGNyZWF0ZS1pY29uLWNsYXNzZXMgPT0gdHJ1ZSB7XFxuICAuI3skaWNvbi1jb21tb24tY2xhc3N9IHtcXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICBmb250LXdlaWdodDogNDAwO1xcblxcbiAgICBAZWFjaCAkaWNvbiwgJGNvbnRlbnQgaW4gbWFwLWdldCgkX19pY29uZm9udF9fZGF0YSwgXFxcImljb25mb250LXZ1ZS04NGM0NjFmXFxcIikge1xcbiAgICAgICYuI3skaWNvbi1wcmVmaXh9I3skaWNvbn06YmVmb3JlIHtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWZcXFwiO1xcbiAgICAgICAgY29udGVudDogaWNvbmZvbnQtaXRlbShcXFwiaWNvbmZvbnQtdnVlLTg0YzQ2MWYvI3skaWNvbn1cXFwiKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG4ucG9wb3ZlciB7XFxuICB6LWluZGV4OiAxMDAwMDA7XFxuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDFweCAxMHB4IHZhcigtLWNvbG9yLWJveC1zaGFkb3cpKTtcXG59XFxuLnBvcG92ZXJfX2lubmVyIHtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcbn1cXG4ucG9wb3Zlcl9fYXJyb3cge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHotaW5kZXg6IDE7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBoZWlnaHQ6IDA7XFxuICAgIG1hcmdpbjogMTBweDtcXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcbn1cXG4ucG9wb3Zlclt4LXBsYWNlbWVudF49J3RvcCddIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcXG59XFxuLnBvcG92ZXJbeC1wbGFjZW1lbnRePSd0b3AnXSAucG9wb3Zlcl9fYXJyb3cge1xcbiAgICAgIGJvdHRvbTogLTEwcHg7XFxuICAgICAgbGVmdDogY2FsYyg1MCUgLSAkYXJyb3ctd2lkdGgpO1xcbiAgICAgIG1hcmdpbi10b3A6IDA7XFxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICBib3JkZXItd2lkdGg6IDEwcHggMTBweCAwIDEwcHg7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxufVxcbi5wb3BvdmVyW3gtcGxhY2VtZW50Xj0nYm90dG9tJ10ge1xcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xcbn1cXG4ucG9wb3Zlclt4LXBsYWNlbWVudF49J2JvdHRvbSddIC5wb3BvdmVyX19hcnJvdyB7XFxuICAgICAgdG9wOiAtMTBweDtcXG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtICRhcnJvdy13aWR0aCk7XFxuICAgICAgbWFyZ2luLXRvcDogMDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgIGJvcmRlci13aWR0aDogMCAxMHB4IDEwcHggMTBweDtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG59XFxuLnBvcG92ZXJbeC1wbGFjZW1lbnRePSdyaWdodCddIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XFxufVxcbi5wb3BvdmVyW3gtcGxhY2VtZW50Xj0ncmlnaHQnXSAucG9wb3Zlcl9fYXJyb3cge1xcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAkYXJyb3ctd2lkdGgpO1xcbiAgICAgIGxlZnQ6IC0xMHB4O1xcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBib3JkZXItd2lkdGg6IDEwcHggMTBweCAxMHB4IDA7XFxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcbn1cXG4ucG9wb3Zlclt4LXBsYWNlbWVudF49J2xlZnQnXSB7XFxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcXG59XFxuLnBvcG92ZXJbeC1wbGFjZW1lbnRePSdsZWZ0J10gLnBvcG92ZXJfX2Fycm93IHtcXG4gICAgICB0b3A6IGNhbGMoNTAlIC0gJGFycm93LXdpZHRoKTtcXG4gICAgICByaWdodDogLTEwcHg7XFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgIGJvcmRlci13aWR0aDogMTBweCAwIDEwcHggMTBweDtcXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcbn1cXG4ucG9wb3ZlclthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbi1xdWljayksIHZpc2liaWxpdHkgdmFyKC0tYW5pbWF0aW9uLXF1aWNrKTtcXG4gICAgb3BhY2l0eTogMDtcXG59XFxuLnBvcG92ZXJbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbi1xdWljayk7XFxuICAgIG9wYWNpdHk6IDE7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL1BvcG92ZXIudnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBQTJGRjtFQUNDLGVBQWU7RUFDZix5QkFBeUI7RUFFekIsdURBQXVEO0FBQUE7QUFFdkQ7SUFDQyxVQUFVO0lBQ1YsNkJBQTZCO0lBQzdCLG1DQUFtQztJQUNuQyx3Q0FBd0M7QUFBQTtBQUd6QztJQUNDLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsUUFBUTtJQUNSLFNBQVM7SUFDVCxZQXBCZ0I7SUFxQmhCLG1CQUFtQjtJQUNuQiwwQ0FBMEM7QUFBQTtBQXBCNUM7SUF3QkUsbUJBMUJnQjtBQUFBO0FBRWxCO01BMkJHLGFBN0JlO01BOEJmLDhCQUE4QjtNQUM5QixhQUFhO01BQ2IsZ0JBQWdCO01BQ2hCLDhCQWpDZTtNQWtDZiwwQ0FBMEM7TUFDMUMsMkNBQTJDO01BQzNDLHlDQUF5QztBQUFBO0FBbEM1QztJQXVDRSxnQkF6Q2dCO0FBQUE7QUFFbEI7TUEwQ0csVUE1Q2U7TUE2Q2YsOEJBQThCO01BQzlCLGFBQWE7TUFDYixnQkFBZ0I7TUFDaEIsOEJBaERlO01BaURmLHdDQUF3QztNQUN4QywwQ0FBMEM7TUFDMUMseUNBQXlDO0FBQUE7QUFqRDVDO0lBc0RFLGlCQXhEZ0I7QUFBQTtBQUVsQjtNQXlERyw2QkFBNkI7TUFDN0IsV0E1RGU7TUE2RGYsZUFBZTtNQUNmLGNBQWM7TUFDZCw4QkFBc0Q7TUFDdEQsd0NBQXdDO01BQ3hDLDJDQUEyQztNQUMzQyx5Q0FBeUM7QUFBQTtBQWhFNUM7SUFxRUUsa0JBdkVnQjtBQUFBO0FBRWxCO01Bd0VHLDZCQUE2QjtNQUM3QixZQTNFZTtNQTRFZixlQUFlO01BQ2YsY0FBYztNQUNkLDhCQTlFZTtNQStFZix3Q0FBd0M7TUFDeEMsMENBQTBDO01BQzFDLDJDQUEyQztBQUFBO0FBL0U5QztJQW9GRSxrQkFBa0I7SUFDbEIsNkVBQTZFO0lBQzdFLFVBQVU7QUFBQTtBQXRGWjtJQTBGRSxtQkFBbUI7SUFDbkIsMENBQTBDO0lBQzFDLFVBQVU7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuJGFycm93LXdpZHRoOiAxMHB4O1xcblxcbi5wb3BvdmVyIHtcXG5cXHR6LWluZGV4OiAxMDAwMDA7XFxuXFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcXG5cXG5cXHRmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMXB4IDEwcHggdmFyKC0tY29sb3ItYm94LXNoYWRvdykpO1xcblxcblxcdCZfX2lubmVyIHtcXG5cXHRcXHRwYWRkaW5nOiAwO1xcblxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcblxcdFxcdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xcblxcdFxcdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuXFx0fVxcblxcblxcdCZfX2Fycm93IHtcXG5cXHRcXHRwb3NpdGlvbjogYWJzb2x1dGU7XFxuXFx0XFx0ei1pbmRleDogMTtcXG5cXHRcXHR3aWR0aDogMDtcXG5cXHRcXHRoZWlnaHQ6IDA7XFxuXFx0XFx0bWFyZ2luOiAkYXJyb3ctd2lkdGg7XFxuXFx0XFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcXG5cXHRcXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLW1haW4tYmFja2dyb3VuZCk7XFxuXFx0fVxcblxcblxcdCZbeC1wbGFjZW1lbnRePSd0b3AnXSB7XFxuXFx0XFx0bWFyZ2luLWJvdHRvbTogJGFycm93LXdpZHRoO1xcblxcblxcdFxcdC5wb3BvdmVyX19hcnJvdyB7XFxuXFx0XFx0XFx0Ym90dG9tOiAtJGFycm93LXdpZHRoO1xcblxcdFxcdFxcdGxlZnQ6IGNhbGMoNTAlIC0gJGFycm93LXdpZHRoKTtcXG5cXHRcXHRcXHRtYXJnaW4tdG9wOiAwO1xcblxcdFxcdFxcdG1hcmdpbi1ib3R0b206IDA7XFxuXFx0XFx0XFx0Ym9yZGVyLXdpZHRoOiAkYXJyb3ctd2lkdGggJGFycm93LXdpZHRoIDAgJGFycm93LXdpZHRoO1xcblxcdFxcdFxcdGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG5cXHRcXHRcXHRib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcblxcdFxcdFxcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0Jlt4LXBsYWNlbWVudF49J2JvdHRvbSddIHtcXG5cXHRcXHRtYXJnaW4tdG9wOiAkYXJyb3ctd2lkdGg7XFxuXFxuXFx0XFx0LnBvcG92ZXJfX2Fycm93IHtcXG5cXHRcXHRcXHR0b3A6IC0kYXJyb3ctd2lkdGg7XFxuXFx0XFx0XFx0bGVmdDogY2FsYyg1MCUgLSAkYXJyb3ctd2lkdGgpO1xcblxcdFxcdFxcdG1hcmdpbi10b3A6IDA7XFxuXFx0XFx0XFx0bWFyZ2luLWJvdHRvbTogMDtcXG5cXHRcXHRcXHRib3JkZXItd2lkdGg6IDAgJGFycm93LXdpZHRoICRhcnJvdy13aWR0aCAkYXJyb3ctd2lkdGg7XFxuXFx0XFx0XFx0Ym9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG5cXHRcXHRcXHRib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxuXFx0XFx0XFx0Ym9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQmW3gtcGxhY2VtZW50Xj0ncmlnaHQnXSB7XFxuXFx0XFx0bWFyZ2luLWxlZnQ6ICRhcnJvdy13aWR0aDtcXG5cXG5cXHRcXHQucG9wb3Zlcl9fYXJyb3cge1xcblxcdFxcdFxcdHRvcDogY2FsYyg1MCUgLSAkYXJyb3ctd2lkdGgpO1xcblxcdFxcdFxcdGxlZnQ6IC0kYXJyb3ctd2lkdGg7XFxuXFx0XFx0XFx0bWFyZ2luLXJpZ2h0OiAwO1xcblxcdFxcdFxcdG1hcmdpbi1sZWZ0OiAwO1xcblxcdFxcdFxcdGJvcmRlci13aWR0aDogJGFycm93LXdpZHRoICRhcnJvdy13aWR0aCAkYXJyb3ctd2lkdGggMDtcXG5cXHRcXHRcXHRib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xcblxcdFxcdFxcdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxuXFx0XFx0XFx0Ym9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQmW3gtcGxhY2VtZW50Xj0nbGVmdCddIHtcXG5cXHRcXHRtYXJnaW4tcmlnaHQ6ICRhcnJvdy13aWR0aDtcXG5cXG5cXHRcXHQucG9wb3Zlcl9fYXJyb3cge1xcblxcdFxcdFxcdHRvcDogY2FsYyg1MCUgLSAkYXJyb3ctd2lkdGgpO1xcblxcdFxcdFxcdHJpZ2h0OiAtJGFycm93LXdpZHRoO1xcblxcdFxcdFxcdG1hcmdpbi1yaWdodDogMDtcXG5cXHRcXHRcXHRtYXJnaW4tbGVmdDogMDtcXG5cXHRcXHRcXHRib3JkZXItd2lkdGg6ICRhcnJvdy13aWR0aCAwICRhcnJvdy13aWR0aCAkYXJyb3ctd2lkdGg7XFxuXFx0XFx0XFx0Ym9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG5cXHRcXHRcXHRib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XFxuXFx0XFx0XFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdCZbYXJpYS1oaWRkZW49J3RydWUnXSB7XFxuXFx0XFx0dmlzaWJpbGl0eTogaGlkZGVuO1xcblxcdFxcdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uLXF1aWNrKSwgdmlzaWJpbGl0eSB2YXIoLS1hbmltYXRpb24tcXVpY2spO1xcblxcdFxcdG9wYWNpdHk6IDA7XFxuXFx0fVxcblxcblxcdCZbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xcblxcdFxcdHZpc2liaWxpdHk6IHZpc2libGU7XFxuXFx0XFx0dHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1hbmltYXRpb24tcXVpY2spO1xcblxcdFxcdG9wYWNpdHk6IDE7XFxuXFx0fVxcbn1cXG5cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIlwidXNlIHN0cmljdFwiO1xuXG4vKlxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuICBBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuLy8gY3NzIGJhc2UgY29kZSwgaW5qZWN0ZWQgYnkgdGhlIGNzcy1sb2FkZXJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jLW5hbWVzXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKSB7XG4gIHZhciBsaXN0ID0gW107IC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblxuICBsaXN0LnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICB2YXIgY29udGVudCA9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSk7XG5cbiAgICAgIGlmIChpdGVtWzJdKSB7XG4gICAgICAgIHJldHVybiBcIkBtZWRpYSBcIi5jb25jYXQoaXRlbVsyXSwgXCIge1wiKS5jb25jYXQoY29udGVudCwgXCJ9XCIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9KS5qb2luKFwiXCIpO1xuICB9OyAvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xuXG5cbiAgbGlzdC5pID0gZnVuY3Rpb24gKG1vZHVsZXMsIG1lZGlhUXVlcnksIGRlZHVwZSkge1xuICAgIGlmICh0eXBlb2YgbW9kdWxlcyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICBtb2R1bGVzID0gW1tudWxsLCBtb2R1bGVzLCBcIlwiXV07XG4gICAgfVxuXG4gICAgdmFyIGFscmVhZHlJbXBvcnRlZE1vZHVsZXMgPSB7fTtcblxuICAgIGlmIChkZWR1cGUpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcbiAgICAgICAgdmFyIGlkID0gdGhpc1tpXVswXTtcblxuICAgICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICAgIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBtb2R1bGVzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIGl0ZW0gPSBbXS5jb25jYXQobW9kdWxlc1tfaV0pO1xuXG4gICAgICBpZiAoZGVkdXBlICYmIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRpbnVlXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobWVkaWFRdWVyeSkge1xuICAgICAgICBpZiAoIWl0ZW1bMl0pIHtcbiAgICAgICAgICBpdGVtWzJdID0gbWVkaWFRdWVyeTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtWzJdID0gXCJcIi5jb25jYXQobWVkaWFRdWVyeSwgXCIgYW5kIFwiKS5jb25jYXQoaXRlbVsyXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGlzdC5wdXNoKGl0ZW0pO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gbGlzdDtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF9zbGljZWRUb0FycmF5KGFyciwgaSkgeyByZXR1cm4gX2FycmF5V2l0aEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkgfHwgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFyciwgaSkgfHwgX25vbkl0ZXJhYmxlUmVzdCgpOyB9XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVJlc3QoKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7IH1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikgeyBpZiAoIW8pIHJldHVybjsgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTsgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpOyBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lOyBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTsgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pOyB9XG5cbmZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7IGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoOyBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHsgYXJyMltpXSA9IGFycltpXTsgfSByZXR1cm4gYXJyMjsgfVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcInVuZGVmaW5lZFwiIHx8ICEoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChhcnIpKSkgcmV0dXJuOyB2YXIgX2FyciA9IFtdOyB2YXIgX24gPSB0cnVlOyB2YXIgX2QgPSBmYWxzZTsgdmFyIF9lID0gdW5kZWZpbmVkOyB0cnkgeyBmb3IgKHZhciBfaSA9IGFycltTeW1ib2wuaXRlcmF0b3JdKCksIF9zOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7IF9hcnIucHVzaChfcy52YWx1ZSk7IGlmIChpICYmIF9hcnIubGVuZ3RoID09PSBpKSBicmVhazsgfSB9IGNhdGNoIChlcnIpIHsgX2QgPSB0cnVlOyBfZSA9IGVycjsgfSBmaW5hbGx5IHsgdHJ5IHsgaWYgKCFfbiAmJiBfaVtcInJldHVyblwiXSAhPSBudWxsKSBfaVtcInJldHVyblwiXSgpOyB9IGZpbmFsbHkgeyBpZiAoX2QpIHRocm93IF9lOyB9IH0gcmV0dXJuIF9hcnI7IH1cblxuZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKGFycikgeyBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyOyB9XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtKSB7XG4gIHZhciBfaXRlbSA9IF9zbGljZWRUb0FycmF5KGl0ZW0sIDQpLFxuICAgICAgY29udGVudCA9IF9pdGVtWzFdLFxuICAgICAgY3NzTWFwcGluZyA9IF9pdGVtWzNdO1xuXG4gIGlmICh0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gICAgdmFyIGJhc2U2NCA9IGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGNzc01hcHBpbmcpKSkpO1xuICAgIHZhciBkYXRhID0gXCJzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxcIi5jb25jYXQoYmFzZTY0KTtcbiAgICB2YXIgc291cmNlTWFwcGluZyA9IFwiLyojIFwiLmNvbmNhdChkYXRhLCBcIiAqL1wiKTtcbiAgICB2YXIgc291cmNlVVJMcyA9IGNzc01hcHBpbmcuc291cmNlcy5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuICAgICAgcmV0dXJuIFwiLyojIHNvdXJjZVVSTD1cIi5jb25jYXQoY3NzTWFwcGluZy5zb3VyY2VSb290IHx8IFwiXCIpLmNvbmNhdChzb3VyY2UsIFwiICovXCIpO1xuICAgIH0pO1xuICAgIHJldHVybiBbY29udGVudF0uY29uY2F0KHNvdXJjZVVSTHMpLmNvbmNhdChbc291cmNlTWFwcGluZ10pLmpvaW4oXCJcXG5cIik7XG4gIH1cblxuICByZXR1cm4gW2NvbnRlbnRdLmpvaW4oXCJcXG5cIik7XG59OyIsIlwidXNlIHN0cmljdFwiO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICh1cmwsIG9wdGlvbnMpIHtcbiAgaWYgKCFvcHRpb25zKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgb3B0aW9ucyA9IHt9O1xuICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZSwgbm8tcGFyYW0tcmVhc3NpZ25cblxuXG4gIHVybCA9IHVybCAmJiB1cmwuX19lc01vZHVsZSA/IHVybC5kZWZhdWx0IDogdXJsO1xuXG4gIGlmICh0eXBlb2YgdXJsICE9PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIHVybDtcbiAgfSAvLyBJZiB1cmwgaXMgYWxyZWFkeSB3cmFwcGVkIGluIHF1b3RlcywgcmVtb3ZlIHRoZW1cblxuXG4gIGlmICgvXlsnXCJdLipbJ1wiXSQvLnRlc3QodXJsKSkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgIHVybCA9IHVybC5zbGljZSgxLCAtMSk7XG4gIH1cblxuICBpZiAob3B0aW9ucy5oYXNoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgdXJsICs9IG9wdGlvbnMuaGFzaDtcbiAgfSAvLyBTaG91bGQgdXJsIGJlIHdyYXBwZWQ/XG4gIC8vIFNlZSBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXZhbHVlcy0zLyN1cmxzXG5cblxuICBpZiAoL1tcIicoKSBcXHRcXG5dLy50ZXN0KHVybCkgfHwgb3B0aW9ucy5uZWVkUXVvdGVzKSB7XG4gICAgcmV0dXJuIFwiXFxcIlwiLmNvbmNhdCh1cmwucmVwbGFjZSgvXCIvZywgJ1xcXFxcIicpLnJlcGxhY2UoL1xcbi9nLCBcIlxcXFxuXCIpLCBcIlxcXCJcIik7XG4gIH1cblxuICByZXR1cm4gdXJsO1xufTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9ucy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00ZjQ1ODY0YiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiaW1wb3J0IGFwaSBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgICAgICAgaW1wb3J0IGNvbnRlbnQgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BvcG92ZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1zY3NzJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsIlwidXNlIHN0cmljdFwiO1xuXG52YXIgaXNPbGRJRSA9IGZ1bmN0aW9uIGlzT2xkSUUoKSB7XG4gIHZhciBtZW1vO1xuICByZXR1cm4gZnVuY3Rpb24gbWVtb3JpemUoKSB7XG4gICAgaWYgKHR5cGVvZiBtZW1vID09PSAndW5kZWZpbmVkJykge1xuICAgICAgLy8gVGVzdCBmb3IgSUUgPD0gOSBhcyBwcm9wb3NlZCBieSBCcm93c2VyaGFja3NcbiAgICAgIC8vIEBzZWUgaHR0cDovL2Jyb3dzZXJoYWNrcy5jb20vI2hhY2stZTcxZDg2OTJmNjUzMzQxNzNmZWU3MTVjMjIyY2I4MDVcbiAgICAgIC8vIFRlc3RzIGZvciBleGlzdGVuY2Ugb2Ygc3RhbmRhcmQgZ2xvYmFscyBpcyB0byBhbGxvdyBzdHlsZS1sb2FkZXJcbiAgICAgIC8vIHRvIG9wZXJhdGUgY29ycmVjdGx5IGludG8gbm9uLXN0YW5kYXJkIGVudmlyb25tZW50c1xuICAgICAgLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlci9pc3N1ZXMvMTc3XG4gICAgICBtZW1vID0gQm9vbGVhbih3aW5kb3cgJiYgZG9jdW1lbnQgJiYgZG9jdW1lbnQuYWxsICYmICF3aW5kb3cuYXRvYik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lbW87XG4gIH07XG59KCk7XG5cbnZhciBnZXRUYXJnZXQgPSBmdW5jdGlvbiBnZXRUYXJnZXQoKSB7XG4gIHZhciBtZW1vID0ge307XG4gIHJldHVybiBmdW5jdGlvbiBtZW1vcml6ZSh0YXJnZXQpIHtcbiAgICBpZiAodHlwZW9mIG1lbW9bdGFyZ2V0XSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHZhciBzdHlsZVRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGFyZ2V0KTsgLy8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcblxuICAgICAgaWYgKHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCAmJiBzdHlsZVRhcmdldCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIFRoaXMgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24gaWYgYWNjZXNzIHRvIGlmcmFtZSBpcyBibG9ja2VkXG4gICAgICAgICAgLy8gZHVlIHRvIGNyb3NzLW9yaWdpbiByZXN0cmljdGlvbnNcbiAgICAgICAgICBzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgICAgICAgICBzdHlsZVRhcmdldCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbWVtb1t0YXJnZXRdID0gc3R5bGVUYXJnZXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lbW9bdGFyZ2V0XTtcbiAgfTtcbn0oKTtcblxudmFyIHN0eWxlc0luRG9tID0gW107XG5cbmZ1bmN0aW9uIGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpIHtcbiAgdmFyIHJlc3VsdCA9IC0xO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzSW5Eb20ubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoc3R5bGVzSW5Eb21baV0uaWRlbnRpZmllciA9PT0gaWRlbnRpZmllcikge1xuICAgICAgcmVzdWx0ID0gaTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIG1vZHVsZXNUb0RvbShsaXN0LCBvcHRpb25zKSB7XG4gIHZhciBpZENvdW50TWFwID0ge307XG4gIHZhciBpZGVudGlmaWVycyA9IFtdO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAgIHZhciBpdGVtID0gbGlzdFtpXTtcbiAgICB2YXIgaWQgPSBvcHRpb25zLmJhc2UgPyBpdGVtWzBdICsgb3B0aW9ucy5iYXNlIDogaXRlbVswXTtcbiAgICB2YXIgY291bnQgPSBpZENvdW50TWFwW2lkXSB8fCAwO1xuICAgIHZhciBpZGVudGlmaWVyID0gXCJcIi5jb25jYXQoaWQsIFwiIFwiKS5jb25jYXQoY291bnQpO1xuICAgIGlkQ291bnRNYXBbaWRdID0gY291bnQgKyAxO1xuICAgIHZhciBpbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuICAgIHZhciBvYmogPSB7XG4gICAgICBjc3M6IGl0ZW1bMV0sXG4gICAgICBtZWRpYTogaXRlbVsyXSxcbiAgICAgIHNvdXJjZU1hcDogaXRlbVszXVxuICAgIH07XG5cbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICBzdHlsZXNJbkRvbVtpbmRleF0ucmVmZXJlbmNlcysrO1xuICAgICAgc3R5bGVzSW5Eb21baW5kZXhdLnVwZGF0ZXIob2JqKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVzSW5Eb20ucHVzaCh7XG4gICAgICAgIGlkZW50aWZpZXI6IGlkZW50aWZpZXIsXG4gICAgICAgIHVwZGF0ZXI6IGFkZFN0eWxlKG9iaiwgb3B0aW9ucyksXG4gICAgICAgIHJlZmVyZW5jZXM6IDFcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlkZW50aWZpZXJzLnB1c2goaWRlbnRpZmllcik7XG4gIH1cblxuICByZXR1cm4gaWRlbnRpZmllcnM7XG59XG5cbmZ1bmN0aW9uIGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKSB7XG4gIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHZhciBhdHRyaWJ1dGVzID0gb3B0aW9ucy5hdHRyaWJ1dGVzIHx8IHt9O1xuXG4gIGlmICh0eXBlb2YgYXR0cmlidXRlcy5ub25jZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB2YXIgbm9uY2UgPSB0eXBlb2YgX193ZWJwYWNrX25vbmNlX18gIT09ICd1bmRlZmluZWQnID8gX193ZWJwYWNrX25vbmNlX18gOiBudWxsO1xuXG4gICAgaWYgKG5vbmNlKSB7XG4gICAgICBhdHRyaWJ1dGVzLm5vbmNlID0gbm9uY2U7XG4gICAgfVxuICB9XG5cbiAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgc3R5bGUuc2V0QXR0cmlidXRlKGtleSwgYXR0cmlidXRlc1trZXldKTtcbiAgfSk7XG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zLmluc2VydCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIG9wdGlvbnMuaW5zZXJ0KHN0eWxlKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG9wdGlvbnMuaW5zZXJ0IHx8ICdoZWFkJyk7XG5cbiAgICBpZiAoIXRhcmdldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmluZCBhIHN0eWxlIHRhcmdldC4gVGhpcyBwcm9iYWJseSBtZWFucyB0aGF0IHRoZSB2YWx1ZSBmb3IgdGhlICdpbnNlcnQnIHBhcmFtZXRlciBpcyBpbnZhbGlkLlwiKTtcbiAgICB9XG5cbiAgICB0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuICB9XG5cbiAgcmV0dXJuIHN0eWxlO1xufVxuXG5mdW5jdGlvbiByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpIHtcbiAgLy8gaXN0YW5idWwgaWdub3JlIGlmXG4gIGlmIChzdHlsZS5wYXJlbnROb2RlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3R5bGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZSk7XG59XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cblxuXG52YXIgcmVwbGFjZVRleHQgPSBmdW5jdGlvbiByZXBsYWNlVGV4dCgpIHtcbiAgdmFyIHRleHRTdG9yZSA9IFtdO1xuICByZXR1cm4gZnVuY3Rpb24gcmVwbGFjZShpbmRleCwgcmVwbGFjZW1lbnQpIHtcbiAgICB0ZXh0U3RvcmVbaW5kZXhdID0gcmVwbGFjZW1lbnQ7XG4gICAgcmV0dXJuIHRleHRTdG9yZS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJyk7XG4gIH07XG59KCk7XG5cbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcoc3R5bGUsIGluZGV4LCByZW1vdmUsIG9iaikge1xuICB2YXIgY3NzID0gcmVtb3ZlID8gJycgOiBvYmoubWVkaWEgPyBcIkBtZWRpYSBcIi5jb25jYXQob2JqLm1lZGlhLCBcIiB7XCIpLmNvbmNhdChvYmouY3NzLCBcIn1cIikgOiBvYmouY3NzOyAvLyBGb3Igb2xkIElFXG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICAqL1xuXG4gIGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG4gICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcyk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpO1xuICAgIHZhciBjaGlsZE5vZGVzID0gc3R5bGUuY2hpbGROb2RlcztcblxuICAgIGlmIChjaGlsZE5vZGVzW2luZGV4XSkge1xuICAgICAgc3R5bGUucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pO1xuICAgIH1cblxuICAgIGlmIChjaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgICAgc3R5bGUuaW5zZXJ0QmVmb3JlKGNzc05vZGUsIGNoaWxkTm9kZXNbaW5kZXhdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGUuYXBwZW5kQ2hpbGQoY3NzTm9kZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFwcGx5VG9UYWcoc3R5bGUsIG9wdGlvbnMsIG9iaikge1xuICB2YXIgY3NzID0gb2JqLmNzcztcbiAgdmFyIG1lZGlhID0gb2JqLm1lZGlhO1xuICB2YXIgc291cmNlTWFwID0gb2JqLnNvdXJjZU1hcDtcblxuICBpZiAobWVkaWEpIHtcbiAgICBzdHlsZS5zZXRBdHRyaWJ1dGUoJ21lZGlhJywgbWVkaWEpO1xuICB9IGVsc2Uge1xuICAgIHN0eWxlLnJlbW92ZUF0dHJpYnV0ZSgnbWVkaWEnKTtcbiAgfVxuXG4gIGlmIChzb3VyY2VNYXAgJiYgdHlwZW9mIGJ0b2EgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgY3NzICs9IFwiXFxuLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxcIi5jb25jYXQoYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKSwgXCIgKi9cIik7XG4gIH0gLy8gRm9yIG9sZCBJRVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAgKi9cblxuXG4gIGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG4gICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuICB9IGVsc2Uge1xuICAgIHdoaWxlIChzdHlsZS5maXJzdENoaWxkKSB7XG4gICAgICBzdHlsZS5yZW1vdmVDaGlsZChzdHlsZS5maXJzdENoaWxkKTtcbiAgICB9XG5cbiAgICBzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcbiAgfVxufVxuXG52YXIgc2luZ2xldG9uID0gbnVsbDtcbnZhciBzaW5nbGV0b25Db3VudGVyID0gMDtcblxuZnVuY3Rpb24gYWRkU3R5bGUob2JqLCBvcHRpb25zKSB7XG4gIHZhciBzdHlsZTtcbiAgdmFyIHVwZGF0ZTtcbiAgdmFyIHJlbW92ZTtcblxuICBpZiAob3B0aW9ucy5zaW5nbGV0b24pIHtcbiAgICB2YXIgc3R5bGVJbmRleCA9IHNpbmdsZXRvbkNvdW50ZXIrKztcbiAgICBzdHlsZSA9IHNpbmdsZXRvbiB8fCAoc2luZ2xldG9uID0gaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpKTtcbiAgICB1cGRhdGUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIGZhbHNlKTtcbiAgICByZW1vdmUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIHRydWUpO1xuICB9IGVsc2Uge1xuICAgIHN0eWxlID0gaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpO1xuICAgIHVwZGF0ZSA9IGFwcGx5VG9UYWcuYmluZChudWxsLCBzdHlsZSwgb3B0aW9ucyk7XG5cbiAgICByZW1vdmUgPSBmdW5jdGlvbiByZW1vdmUoKSB7XG4gICAgICByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuICAgIH07XG4gIH1cblxuICB1cGRhdGUob2JqKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZVN0eWxlKG5ld09iaikge1xuICAgIGlmIChuZXdPYmopIHtcbiAgICAgIGlmIChuZXdPYmouY3NzID09PSBvYmouY3NzICYmIG5ld09iai5tZWRpYSA9PT0gb2JqLm1lZGlhICYmIG5ld09iai5zb3VyY2VNYXAgPT09IG9iai5zb3VyY2VNYXApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUob2JqID0gbmV3T2JqKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVtb3ZlKCk7XG4gICAgfVxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChsaXN0LCBvcHRpb25zKSB7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OyAvLyBGb3JjZSBzaW5nbGUtdGFnIHNvbHV0aW9uIG9uIElFNi05LCB3aGljaCBoYXMgYSBoYXJkIGxpbWl0IG9uIHRoZSAjIG9mIDxzdHlsZT5cbiAgLy8gdGFncyBpdCB3aWxsIGFsbG93IG9uIGEgcGFnZVxuXG4gIGlmICghb3B0aW9ucy5zaW5nbGV0b24gJiYgdHlwZW9mIG9wdGlvbnMuc2luZ2xldG9uICE9PSAnYm9vbGVhbicpIHtcbiAgICBvcHRpb25zLnNpbmdsZXRvbiA9IGlzT2xkSUUoKTtcbiAgfVxuXG4gIGxpc3QgPSBsaXN0IHx8IFtdO1xuICB2YXIgbGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKGxpc3QsIG9wdGlvbnMpO1xuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlKG5ld0xpc3QpIHtcbiAgICBuZXdMaXN0ID0gbmV3TGlzdCB8fCBbXTtcblxuICAgIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3TGlzdCkgIT09ICdbb2JqZWN0IEFycmF5XScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxhc3RJZGVudGlmaWVycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGlkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbaV07XG4gICAgICB2YXIgaW5kZXggPSBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKTtcbiAgICAgIHN0eWxlc0luRG9tW2luZGV4XS5yZWZlcmVuY2VzLS07XG4gICAgfVxuXG4gICAgdmFyIG5ld0xhc3RJZGVudGlmaWVycyA9IG1vZHVsZXNUb0RvbShuZXdMaXN0LCBvcHRpb25zKTtcblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBsYXN0SWRlbnRpZmllcnMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgX2lkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbX2ldO1xuXG4gICAgICB2YXIgX2luZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoX2lkZW50aWZpZXIpO1xuXG4gICAgICBpZiAoc3R5bGVzSW5Eb21bX2luZGV4XS5yZWZlcmVuY2VzID09PSAwKSB7XG4gICAgICAgIHN0eWxlc0luRG9tW19pbmRleF0udXBkYXRlcigpO1xuXG4gICAgICAgIHN0eWxlc0luRG9tLnNwbGljZShfaW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhc3RJZGVudGlmaWVycyA9IG5ld0xhc3RJZGVudGlmaWVycztcbiAgfTtcbn07IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX29iaiwgX29iaiQxXG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF92bS5pc1ZhbGlkU2luZ2xlQWN0aW9uICYmICFfdm0uZm9yY2VNZW51XG4gICAgPyBfYyhcbiAgICAgICAgXCJlbGVtZW50XCIsXG4gICAgICAgIF92bS5fYihcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcInRvb2x0aXBcIixcbiAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtdG9vbHRpcC5hdXRvXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IF92bS5maXJzdEFjdGlvbi50ZXh0LFxuICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiZmlyc3RBY3Rpb24udGV4dFwiLFxuICAgICAgICAgICAgICAgIG1vZGlmaWVyczogeyBhdXRvOiB0cnVlIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFjdGlvbi1pdGVtIGFjdGlvbi1pdGVtLS1zaW5nbGVcIixcbiAgICAgICAgICAgIGNsYXNzOlxuICAgICAgICAgICAgICAoKF9vYmogPSB7fSksXG4gICAgICAgICAgICAgIChfb2JqW192bS5maXJzdEFjdGlvbi5pY29uXSA9IF92bS5maXJzdEFjdGlvbi5pY29uKSxcbiAgICAgICAgICAgICAgKF9vYmpbX3ZtLmZpcnN0QWN0aW9uQ2xhc3NdID0gX3ZtLmZpcnN0QWN0aW9uQ2xhc3MpLFxuICAgICAgICAgICAgICBfb2JqKSxcbiAgICAgICAgICAgIGF0dHJzOiB7IHJlbDogXCJub3JlZmVycmVyIG5vb3BlbmVyXCIsIGRpc2FibGVkOiBfdm0uZGlzYWJsZWQgfSxcbiAgICAgICAgICAgIG9uOiBfdm0uX2QoeyBmb2N1czogX3ZtLm9uRm9jdXMsIGJsdXI6IF92bS5vbkJsdXIgfSwgW1xuICAgICAgICAgICAgICBfdm0uZmlyc3RBY3Rpb25FdmVudEJpbmRpbmcsXG4gICAgICAgICAgICAgIF92bS5leGVjRmlyc3RBY3Rpb25cbiAgICAgICAgICAgIF0pXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImVsZW1lbnRcIixcbiAgICAgICAgICBfdm0uZmlyc3RBY3Rpb25CaW5kaW5nLFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcIlZOb2Rlc1wiLCB7IGF0dHJzOiB7IHZub2RlczogX3ZtLmZpcnN0QWN0aW9uSWNvblNsb3QgfSB9KSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJzcGFuXCIsXG4gICAgICAgICAgICB7IGF0dHJzOiB7IFwiYXJpYS1oaWRkZW5cIjogdHJ1ZSwgaGlkZGVuOiBcIlwiIH0gfSxcbiAgICAgICAgICAgIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSxcbiAgICAgICAgICAgIDJcbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgIClcbiAgICA6IF9jKFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7XG4gICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LXNob3dcIixcbiAgICAgICAgICAgICAgdmFsdWU6IF92bS5oYXNNdWx0aXBsZUFjdGlvbnMgfHwgX3ZtLmZvcmNlTWVudSxcbiAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJoYXNNdWx0aXBsZUFjdGlvbnMgfHwgZm9yY2VNZW51XCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImFjdGlvbi1pdGVtXCIsXG4gICAgICAgICAgY2xhc3M6IHsgXCJhY3Rpb24taXRlbS0tb3BlblwiOiBfdm0ub3BlbmVkIH1cbiAgICAgICAgfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJQb3BvdmVyXCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgZGVsYXk6IDAsXG4gICAgICAgICAgICAgICAgXCJoYW5kbGUtcmVzaXplXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgb3BlbjogX3ZtLm9wZW5lZCxcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IF92bS5wbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgXCJib3VuZGFyaWVzLWVsZW1lbnRcIjogX3ZtLmJvdW5kYXJpZXNFbGVtZW50LFxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogX3ZtLmNvbnRhaW5lclxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgIFwidXBkYXRlOm9wZW5cIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICBfdm0ub3BlbmVkID0gJGV2ZW50XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzaG93OiBfdm0ub3Blbk1lbnUsXG4gICAgICAgICAgICAgICAgXCJhZnRlci1zaG93XCI6IF92bS5vbk9wZW4sXG4gICAgICAgICAgICAgICAgaGlkZTogX3ZtLmNsb3NlTWVudVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICBcImJ1dHRvblwiLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHJlZjogXCJtZW51QnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJpY29uIGFjdGlvbi1pdGVtX19tZW51dG9nZ2xlXCIsXG4gICAgICAgICAgICAgICAgICBjbGFzczpcbiAgICAgICAgICAgICAgICAgICAgKChfb2JqJDEgPSB7fSksXG4gICAgICAgICAgICAgICAgICAgIChfb2JqJDFbX3ZtLmRlZmF1bHRJY29uXSA9ICFfdm0uaWNvblNsb3RJc1BvcHVsYXRlZCksXG4gICAgICAgICAgICAgICAgICAgIChfb2JqJDFbXCJhY3Rpb24taXRlbV9fbWVudXRvZ2dsZS0td2l0aC10aXRsZVwiXSA9XG4gICAgICAgICAgICAgICAgICAgICAgX3ZtLm1lbnVUaXRsZSksXG4gICAgICAgICAgICAgICAgICAgIChfb2JqJDFbXCJhY3Rpb24taXRlbV9fbWVudXRvZ2dsZS0tcHJpbWFyeVwiXSA9IF92bS5wcmltYXJ5KSxcbiAgICAgICAgICAgICAgICAgICAgX29iaiQxKSxcbiAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgIHNsb3Q6IFwidHJpZ2dlclwiLFxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogX3ZtLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICBcImFyaWEtbGFiZWxcIjogX3ZtLmFyaWFMYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgXCJhcmlhLWhhc3BvcHVwXCI6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgICAgICBcImFyaWEtY29udHJvbHNcIjogX3ZtLnJhbmRvbUlkLFxuICAgICAgICAgICAgICAgICAgICBcInRlc3QtYXR0clwiOiBcIjFcIixcbiAgICAgICAgICAgICAgICAgICAgXCJhcmlhLWV4cGFuZGVkXCI6IF92bS5vcGVuZWQgPyBcInRydWVcIiA6IFwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIG9uOiB7IGZvY3VzOiBfdm0ub25Gb2N1cywgYmx1cjogX3ZtLm9uQmx1ciB9LFxuICAgICAgICAgICAgICAgICAgc2xvdDogXCJ0cmlnZ2VyXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF92bS5fdChcImljb25cIiksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRcIiArIF92bS5fcyhfdm0ubWVudVRpdGxlKSArIFwiXFxuXFx0XFx0XCIpXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LXNob3dcIixcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLm9wZW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIm9wZW5lZFwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICByZWY6IFwibWVudVwiLFxuICAgICAgICAgICAgICAgICAgY2xhc3M6IHsgb3BlbjogX3ZtLm9wZW5lZCB9LFxuICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdGFiaW5kZXg6IFwiLTFcIiB9LFxuICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAga2V5ZG93bjogW1xuICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAhJGV2ZW50LnR5cGUuaW5kZXhPZihcImtleVwiKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwidXBcIiwgMzgsICRldmVudC5rZXksIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlVwXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJBcnJvd1VwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuY3RybEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuc2hpZnRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LmFsdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQubWV0YUtleVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmZvY3VzUHJldmlvdXNBY3Rpb24oJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICEkZXZlbnQudHlwZS5pbmRleE9mKFwia2V5XCIpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJkb3duXCIsIDQwLCAkZXZlbnQua2V5LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJEb3duXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJBcnJvd0Rvd25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5jdHJsS2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5zaGlmdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuYWx0S2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5tZXRhS2V5XG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uZm9jdXNOZXh0QWN0aW9uKCRldmVudClcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAhJGV2ZW50LnR5cGUuaW5kZXhPZihcImtleVwiKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwidGFiXCIsIDksICRldmVudC5rZXksIFwiVGFiXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LmN0cmxLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnNoaWZ0S2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5hbHRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50Lm1ldGFLZXlcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5mb2N1c05leHRBY3Rpb24oJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICEkZXZlbnQudHlwZS5pbmRleE9mKFwia2V5XCIpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJ0YWJcIiwgOSwgJGV2ZW50LmtleSwgXCJUYWJcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkZXZlbnQuY3RybEtleSB8fCAkZXZlbnQuYWx0S2V5IHx8ICRldmVudC5tZXRhS2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmZvY3VzUHJldmlvdXNBY3Rpb24oJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICEkZXZlbnQudHlwZS5pbmRleE9mKFwia2V5XCIpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQua2V5Q29kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBhZ2UtdXBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LmtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5jdHJsS2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5zaGlmdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuYWx0S2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5tZXRhS2V5XG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uZm9jdXNGaXJzdEFjdGlvbigkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgISRldmVudC50eXBlLmluZGV4T2YoXCJrZXlcIikgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9rKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5rZXlDb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGFnZS1kb3duXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuY3RybEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuc2hpZnRLZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LmFsdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQubWV0YUtleVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmZvY3VzTGFzdEFjdGlvbigkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgISRldmVudC50eXBlLmluZGV4T2YoXCJrZXlcIikgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcImVzY1wiLCAyNywgJGV2ZW50LmtleSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiRXNjXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJFc2NhcGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5jdHJsS2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5zaGlmdEtleSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuYWx0S2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5tZXRhS2V5XG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLmNsb3NlTWVudSgkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBtb3VzZW1vdmU6IF92bS5vbk1vdXNlRm9jdXNBY3Rpb25cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICBcInVsXCIsXG4gICAgICAgICAgICAgICAgICAgIHsgYXR0cnM6IHsgaWQ6IF92bS5yYW5kb21JZCwgdGFiaW5kZXg6IFwiLTFcIiB9IH0sXG4gICAgICAgICAgICAgICAgICAgIFtfdm0ub3BlbmVkID8gW192bS5fdChcImRlZmF1bHRcIildIDogX3ZtLl9lKCldLFxuICAgICAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcIlZQb3BvdmVyXCIsXG4gICAgX3ZtLl9nKFxuICAgICAgX3ZtLl9iKFxuICAgICAgICB7XG4gICAgICAgICAgcmVmOiBcInBvcG92ZXJcIixcbiAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgXCJwb3BvdmVyLWJhc2UtY2xhc3NcIjogXCJwb3BvdmVyXCIsXG4gICAgICAgICAgICBcInBvcG92ZXItd3JhcHBlci1jbGFzc1wiOiBcInBvcG92ZXJfX3dyYXBwZXJcIixcbiAgICAgICAgICAgIFwicG9wb3Zlci1hcnJvdy1jbGFzc1wiOiBcInBvcG92ZXJfX2Fycm93XCIsXG4gICAgICAgICAgICBcInBvcG92ZXItaW5uZXItY2xhc3NcIjogXCJwb3BvdmVyX19pbm5lclwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIlZQb3BvdmVyXCIsXG4gICAgICAgIF92bS4kYXR0cnMsXG4gICAgICAgIGZhbHNlXG4gICAgICApLFxuICAgICAgX3ZtLiRsaXN0ZW5lcnNcbiAgICApLFxuICAgIFtcbiAgICAgIF92bS5fdChcInRyaWdnZXJcIiksXG4gICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgX2MoXCJ0ZW1wbGF0ZVwiLCB7IHNsb3Q6IFwicG9wb3ZlclwiIH0sIFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwgMilcbiAgICBdLFxuICAgIDJcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsIi8qIGdsb2JhbHMgX19WVUVfU1NSX0NPTlRFWFRfXyAqL1xuXG4vLyBJTVBPUlRBTlQ6IERvIE5PVCB1c2UgRVMyMDE1IGZlYXR1cmVzIGluIHRoaXMgZmlsZSAoZXhjZXB0IGZvciBtb2R1bGVzKS5cbi8vIFRoaXMgbW9kdWxlIGlzIGEgcnVudGltZSB1dGlsaXR5IGZvciBjbGVhbmVyIGNvbXBvbmVudCBtb2R1bGUgb3V0cHV0IGFuZCB3aWxsXG4vLyBiZSBpbmNsdWRlZCBpbiB0aGUgZmluYWwgd2VicGFjayB1c2VyIGJ1bmRsZS5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbm9ybWFsaXplQ29tcG9uZW50IChcbiAgc2NyaXB0RXhwb3J0cyxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZ1bmN0aW9uYWxUZW1wbGF0ZSxcbiAgaW5qZWN0U3R5bGVzLFxuICBzY29wZUlkLFxuICBtb2R1bGVJZGVudGlmaWVyLCAvKiBzZXJ2ZXIgb25seSAqL1xuICBzaGFkb3dNb2RlIC8qIHZ1ZS1jbGkgb25seSAqL1xuKSB7XG4gIC8vIFZ1ZS5leHRlbmQgY29uc3RydWN0b3IgZXhwb3J0IGludGVyb3BcbiAgdmFyIG9wdGlvbnMgPSB0eXBlb2Ygc2NyaXB0RXhwb3J0cyA9PT0gJ2Z1bmN0aW9uJ1xuICAgID8gc2NyaXB0RXhwb3J0cy5vcHRpb25zXG4gICAgOiBzY3JpcHRFeHBvcnRzXG5cbiAgLy8gcmVuZGVyIGZ1bmN0aW9uc1xuICBpZiAocmVuZGVyKSB7XG4gICAgb3B0aW9ucy5yZW5kZXIgPSByZW5kZXJcbiAgICBvcHRpb25zLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZuc1xuICAgIG9wdGlvbnMuX2NvbXBpbGVkID0gdHJ1ZVxuICB9XG5cbiAgLy8gZnVuY3Rpb25hbCB0ZW1wbGF0ZVxuICBpZiAoZnVuY3Rpb25hbFRlbXBsYXRlKSB7XG4gICAgb3B0aW9ucy5mdW5jdGlvbmFsID0gdHJ1ZVxuICB9XG5cbiAgLy8gc2NvcGVkSWRcbiAgaWYgKHNjb3BlSWQpIHtcbiAgICBvcHRpb25zLl9zY29wZUlkID0gJ2RhdGEtdi0nICsgc2NvcGVJZFxuICB9XG5cbiAgdmFyIGhvb2tcbiAgaWYgKG1vZHVsZUlkZW50aWZpZXIpIHsgLy8gc2VydmVyIGJ1aWxkXG4gICAgaG9vayA9IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICAvLyAyLjMgaW5qZWN0aW9uXG4gICAgICBjb250ZXh0ID1cbiAgICAgICAgY29udGV4dCB8fCAvLyBjYWNoZWQgY2FsbFxuICAgICAgICAodGhpcy4kdm5vZGUgJiYgdGhpcy4kdm5vZGUuc3NyQ29udGV4dCkgfHwgLy8gc3RhdGVmdWxcbiAgICAgICAgKHRoaXMucGFyZW50ICYmIHRoaXMucGFyZW50LiR2bm9kZSAmJiB0aGlzLnBhcmVudC4kdm5vZGUuc3NyQ29udGV4dCkgLy8gZnVuY3Rpb25hbFxuICAgICAgLy8gMi4yIHdpdGggcnVuSW5OZXdDb250ZXh0OiB0cnVlXG4gICAgICBpZiAoIWNvbnRleHQgJiYgdHlwZW9mIF9fVlVFX1NTUl9DT05URVhUX18gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGNvbnRleHQgPSBfX1ZVRV9TU1JfQ09OVEVYVF9fXG4gICAgICB9XG4gICAgICAvLyBpbmplY3QgY29tcG9uZW50IHN0eWxlc1xuICAgICAgaWYgKGluamVjdFN0eWxlcykge1xuICAgICAgICBpbmplY3RTdHlsZXMuY2FsbCh0aGlzLCBjb250ZXh0KVxuICAgICAgfVxuICAgICAgLy8gcmVnaXN0ZXIgY29tcG9uZW50IG1vZHVsZSBpZGVudGlmaWVyIGZvciBhc3luYyBjaHVuayBpbmZlcnJlbmNlXG4gICAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cykge1xuICAgICAgICBjb250ZXh0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cy5hZGQobW9kdWxlSWRlbnRpZmllcilcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdXNlZCBieSBzc3IgaW4gY2FzZSBjb21wb25lbnQgaXMgY2FjaGVkIGFuZCBiZWZvcmVDcmVhdGVcbiAgICAvLyBuZXZlciBnZXRzIGNhbGxlZFxuICAgIG9wdGlvbnMuX3NzclJlZ2lzdGVyID0gaG9va1xuICB9IGVsc2UgaWYgKGluamVjdFN0eWxlcykge1xuICAgIGhvb2sgPSBzaGFkb3dNb2RlXG4gICAgICA/IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaW5qZWN0U3R5bGVzLmNhbGwoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICAob3B0aW9ucy5mdW5jdGlvbmFsID8gdGhpcy5wYXJlbnQgOiB0aGlzKS4kcm9vdC4kb3B0aW9ucy5zaGFkb3dSb290XG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIDogaW5qZWN0U3R5bGVzXG4gIH1cblxuICBpZiAoaG9vaykge1xuICAgIGlmIChvcHRpb25zLmZ1bmN0aW9uYWwpIHtcbiAgICAgIC8vIGZvciB0ZW1wbGF0ZS1vbmx5IGhvdC1yZWxvYWQgYmVjYXVzZSBpbiB0aGF0IGNhc2UgdGhlIHJlbmRlciBmbiBkb2Vzbid0XG4gICAgICAvLyBnbyB0aHJvdWdoIHRoZSBub3JtYWxpemVyXG4gICAgICBvcHRpb25zLl9pbmplY3RTdHlsZXMgPSBob29rXG4gICAgICAvLyByZWdpc3RlciBmb3IgZnVuY3Rpb25hbCBjb21wb25lbnQgaW4gdnVlIGZpbGVcbiAgICAgIHZhciBvcmlnaW5hbFJlbmRlciA9IG9wdGlvbnMucmVuZGVyXG4gICAgICBvcHRpb25zLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcldpdGhTdHlsZUluamVjdGlvbiAoaCwgY29udGV4dCkge1xuICAgICAgICBob29rLmNhbGwoY29udGV4dClcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsUmVuZGVyKGgsIGNvbnRleHQpXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGluamVjdCBjb21wb25lbnQgcmVnaXN0cmF0aW9uIGFzIGJlZm9yZUNyZWF0ZSBob29rXG4gICAgICB2YXIgZXhpc3RpbmcgPSBvcHRpb25zLmJlZm9yZUNyZWF0ZVxuICAgICAgb3B0aW9ucy5iZWZvcmVDcmVhdGUgPSBleGlzdGluZ1xuICAgICAgICA/IFtdLmNvbmNhdChleGlzdGluZywgaG9vaylcbiAgICAgICAgOiBbaG9va11cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGV4cG9ydHM6IHNjcmlwdEV4cG9ydHMsXG4gICAgb3B0aW9uczogb3B0aW9uc1xuICB9XG59XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0FjdGlvbnMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTRmNDU4NjRiJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0FjdGlvbnMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BY3Rpb25zLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9BY3Rpb25zLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTRmNDU4NjRiJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNGY0NTg2NGJcIixcbiAgbnVsbFxuICBcbilcblxuLyogY3VzdG9tIGJsb2NrcyAqL1xuaW1wb3J0IGJsb2NrMCBmcm9tIFwiLi9BY3Rpb25zLnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNGY0NTg2NGInKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNGY0NTg2NGInLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNGY0NTg2NGInLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL0FjdGlvbnMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTRmNDU4NjRiJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzRmNDU4NjRiJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9BY3Rpb25zL0FjdGlvbnMudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FjdGlvbnMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQWN0aW9ucy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25zLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTRmNDU4NjRiJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BY3Rpb25zLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00ZjQ1ODY0YiZzY29wZWQ9dHJ1ZSZcIiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBBY3Rpb25zIGZyb20gJy4vQWN0aW9ucydcblxuZXhwb3J0IGRlZmF1bHQgQWN0aW9uc1xuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9Qb3BvdmVyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00NTA5M2NjYSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9Qb3BvdmVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vUG9wb3Zlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vUG9wb3Zlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZsYW5nPXNjc3MmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL1BvcG92ZXIudnVlP3Z1ZSZ0eXBlPWN1c3RvbSZpbmRleD0wJmJsb2NrVHlwZT1kb2NzXCJcbmlmICh0eXBlb2YgYmxvY2swID09PSAnZnVuY3Rpb24nKSBibG9jazAoY29tcG9uZW50KVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIi9ob21lL2xvdWlzL3dvcmtzcGFjZS9uZXh0Y2xvdWQvdG9vbHMvbmV4dGNsb3VkLXZ1ZS9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanNcIilcbiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpXG4gIGlmIChhcGkuY29tcGF0aWJsZSkge1xuICAgIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCc0NTA5M2NjYScpKSB7XG4gICAgICBhcGkuY3JlYXRlUmVjb3JkKCc0NTA5M2NjYScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVsb2FkKCc0NTA5M2NjYScsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH1cbiAgICBtb2R1bGUuaG90LmFjY2VwdChcIi4vUG9wb3Zlci52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NDUwOTNjY2EmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignNDUwOTNjY2EnLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL1BvcG92ZXIvUG9wb3Zlci52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUG9wb3Zlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Qb3BvdmVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BvcG92ZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1zY3NzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BvcG92ZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTQ1MDkzY2NhJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBNYXJjbyBBbWJyb3NpbmkgPG1hcmNvYW1icm9zaW5pQHBtLm1lPlxuICpcbiAqIEBhdXRob3IgTWFyY28gQW1icm9zaW5pIDxtYXJjb2FtYnJvc2luaUBwbS5tZT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuaW1wb3J0IFBvcG92ZXIgZnJvbSAnLi9Qb3BvdmVyJ1xuXG5leHBvcnQgZGVmYXVsdCBQb3BvdmVyXG4iLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEp1bGl1cyBIw6RydGwgPGp1c0BiaXRncmlkLm5ldD5cbiAqXG4gKiBAYXV0aG9yIEp1bGl1cyBIw6RydGwgPGp1c0BiaXRncmlkLm5ldD5cbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuaW1wb3J0IHsgVlRvb2x0aXAgfSBmcm9tICd2LXRvb2x0aXAnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuLy8gZm9yY2Ugc2NvcGUgdGhlIHRvb2x0aXAgYW5kIHVzZSAudnVlLXRvb2x0aXBcbi8vIGluc3RlYWQgb2YgLnRvb2x0aXAgdG8gYXZvaWQgc2VydmVyIGNvbXBhdGliaWxpdHlcbi8vIGlzc3VlcyBhbmQgdGhlIHVzZSBvZiAhaW1wb3J0YW50XG5WVG9vbHRpcC5vcHRpb25zLmRlZmF1bHRUZW1wbGF0ZSA9IGA8ZGl2IGNsYXNzPVwidnVlLXRvb2x0aXBcIiByb2xlPVwidG9vbHRpcFwiIGRhdGEtdi0ke1NDT1BFX1ZFUlNJT059PjxkaXYgY2xhc3M9XCJ0b29sdGlwLWFycm93XCI+PC9kaXY+PGRpdiBjbGFzcz1cInRvb2x0aXAtaW5uZXJcIj48L2Rpdj48L2Rpdj5gXG5WVG9vbHRpcC5vcHRpb25zLmRlZmF1bHRIdG1sID0gZmFsc2VcblxuZXhwb3J0IGRlZmF1bHQgVlRvb2x0aXBcbiIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuL2luZGV4LnNjc3NcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJleHBvcnQgZGVmYXVsdCBcImRhdGE6YXBwbGljYXRpb24vdm5kLm1zLWZvbnRvYmplY3Q7YmFzZTY0LHJnOEFBT1FPQUFBQkFBSUFBQUFBQUFJQUJRTUFBQUFBQUFBQlFKQUJBQUFBQUV4UUFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBTy96c1B3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDZ0FBR2tBWXdCdkFHNEFaZ0J2QUc0QWRBQXRBSFlBZFFCbEFDMEFPQUEwQUdNQU5BQTJBREVBWmdBQUFBQUFBQllBQUZZQVpRQnlBSE1BYVFCdkFHNEFJQUF4QUM0QU1BQUFLQUFBYVFCakFHOEFiZ0JtQUc4QWJnQjBBQzBBZGdCMUFHVUFMUUE0QURRQVl3QTBBRFlBTVFCbUFBQUFBQUFCQUFBQUNnQ0FBQU1BSUU5VEx6SjA0NC9SQUFBQXJBQUFBR0JqYldGd0FBM3J1QUFBQVF3QUFBRkNaMng1WnNkSE9Vd0FBQUpRQUFBSC9HaGxZV1FyNnhmM0FBQUtUQUFBQURab2FHVmhKdjBUaFFBQUNvUUFBQUFrYUcxMGVHZSsvLzhBQUFxb0FBQUFOR3h2WTJFTnZBOW1BQUFLM0FBQUFDaHRZWGh3QVNBQVZ3QUFDd1FBQUFBZ2JtRnRaVzNFK1ZRQUFBc2tBQUFDcG5CdmMzUS9WTDdYQUFBTnpBQUFBUllBQkJMS0FaQUFCUUFBREdVTnJBQUFBcndNWlEyc0FBQUpZQUQxQlFvQUFBSUFCUU1BQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFBQUFBQVVHWkZaQUJBNmdIcUVoT0lBQUFCd2hPSUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFEQUFBQUF3QUFBQndBQVFBQUFBQUFQQUFEQUFFQUFBQWNBQVFBSUFBQUFBUUFCQUFCQUFEcUV2Ly9BQURxQWYvL0ZnQUFBUUFBQUFBQUFBRUdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0FBQUFBT3BnOURBQVVBQ3dBQUNRSVJDUVFSQ1FFT3B2cUNCWDc3dWdSRytvTDZnZ1YrKzdvRVJnOUMrb0w2Z2dFNEJFWUVSZ0U0K29MNmdnRTRCRVlFUmdBQkFBQUFBQTF1RWxBQUJRQUFDUUVSQ1FFUkJoc0hVL2QwQ0l3SnhQaXQvc2dJaXdpTS9zY0FBZ0FBQUFBUDN3OURBQVVBQ3dBQUNRSVJDUVFSQ1FFRTRnVisrb0lFUnZ1NkJYNEZmL3FCQkViN3VnUkdCWDRGZnY3SSs3cjd1djdJQlg0RmZ2N0krN3I3dWdBQkFBQUFBQTZtRWxBQUJRQUFDUUVSQ1FFUkRXNzRyUWlMOTNVSnhBZFRBVG4zZFBkMUFUZ0FBUUFBQUFBR054T0lBQVVBQUJNSENRRVhBWlNVQlhMNmpwUUZveE9JVmZhUjlwRlZDY1FBQUFFQUFBQUFFWWNQZ3dBRkFBQUpCUS9OOS9QNysvNUdCYjhKeHcrRDkvTUVCZjVIK2tFSnhnQUJBQUFBQUJFWEVSY0FDd0FBQ1FzUkYvM3Qrc0Q2d1AzdEJVRDZ3QUlUQlVBRlFBSVQrc0FFaFAzdEJVRDZ3QUlUQlVBRlFBSVQrc0FGUVAzdCtzQUFBZi8vQUFBVGt4THNBRE1BQUFFaUJ3NEJGeFlYQVNFbUJ3WUhCZ2NHRkJjV0Z4WVhGamNoQVFZSEJoY1dGeDRCRnhZWEZqYzJOd0UyTnpZbkppY0JMZ0VLWUdWUFNrWVFFa2dGMS9IZ1RUNDZLU2NVRkJRVUp5azZQazBPSVBvcE54b1lBd01iR1ZZMU56cytPajgxQiswN0ZSVVVGVHo0RXl4MEV1dzVOS3haWUVmNktnRWJHQzRzT1RoNE9Ea3NMaGdiQXZvcE5UODdQam8zTmxZWkdnTURHQms0Qit3OFVWQlBVandIN0MweUFBQUFBZ0FBQUFBT3BoSlFBQmdBUmdBQUFTSUhEZ0VIQmhRWEhnRVhGakkzUGdFM05qUW5MZ0VuSmdFaUJ3WUhCaFFYRmhjV015RVJJU0lIQmdjR0ZCY1dGeFkzSVRJM05qYzJOQ2NtSnlZaklSRTBKeVluSmlNSmRtOW1ZcGdwS3lzcG1HSm0zbVppbHlvckt5cVhZbWI4TmxaSVJ5a3JLeWxIU0ZZQ2NmMlBWa2hIS1NzcktVZElWZ2RUVlVoSEtTc3JLVWRJVmYyUEt5bEhTVlVTVUNzcWwyTmwzMlZpbUNrckt5bVlZbVhmWldPWEtpdjU1U3NwUjBpclNFY3BLL25tS3lsSFNhcEpSeWtyQVNvcFIwbXFTVWNwS3dkVFZVaEhLU3NBQUFNQUFBQUFFUmNSRndBREFBY0FDd0FBQVJFaEVRRVJJUkVCRVNFUkFuRU9wdkZhRHFieFdnNm1FUmY5andKeCtlYjlqd0p4K2VYOWp3SnhBQU1BQUFBQUVwNEw1d0FZQURFQVNnQUFBVElYSGdFWEZoUUhEZ0VIQmlJbkxnRW5KalEzUGdFM05pRXlGeDRCRnhZVUJ3NEJCd1lpSnk0Qkp5WTBOejRCTnpZaE1oY2VBUmNXRkFjT0FRY0dJaWN1QVNjbU5EYytBVGMyQXcxd1pXS1lLU3NyS1poaVpkOW1ZcGNxS3lzcWwySm1CeVp2Wm1LWEtpc3JLcGRpWnQ1bVlwY3FLeXNxbDJKbUJ5WnZabUtYS2lzcktwZGladDlsWXBncEt5c3BtR0psQytjcktwZGladDVtWXBjcUt5c3FsMkptM21aaWx5b3JLeXFYWW1iZVptS1hLaXNyS3BkaVp0NW1ZcGNxS3lzcWwySm0zbVppbHlvckt5cVhZbWJlWm1LWEtpc0FBQUFBQWdBQUFBQVAzdy9mQUFNQUJ3QUFBUkVoRVNFUklSRURxZ1RpQW5FRTRnL2Y4OHNNTmZQTEREVUFBQUFCQUFBQUFCRVhFUmNBQWdBQUNRSUNjUTZtOFZvUkYvaXQrSzBBQVFBQUFBQU9wZ3cxQUFJQUFBa0NCT0lFNGdUaUREWDdIZ1RnQUFILzRBQUFFMmtUYVFBeEFBQUJCQVVFQlFRREFnTUNFUkFURWhNU0JRUUZCQ0VnSlNRbEpCTVNFeElUQmdBRkJDRWdKU1FuSmljbUF3SVJFQk1TQUFocy9waitzZjY2L3UzKzdzYkthMjZBZStubEFUa0JQQUZ5QVg0QmxnRnhBV0VCVmdFdUFTcnI3Sm1jT0x6K0tmNzUvdlArNnY2Ky9zNysyZjM3dUx0aloxQk9BU2NUYVM2WGsrbm4vdGYrMC82ci9wLytqLzVxL29MK2p2N0Uvc2ZsNkh5QWEyakZ3Z0VOQVE0QlF3RkxBV25NL3RwT1VHZGp1N2o3L1FFbkFUSUJRZ0VsQVJNQkRRSExBQUlBQUFBQUU0Z1RpQUFrQUVBQUFBRWdCUVFGQkFNQ0F3SVFFeElURWdVRUJRUWdKU1FsSkJNU0V4SVFBd0lEQWlVa0pTUUJJVElYSGdFWEZoUUhEZ0VIQmlNaElpY3VBU2NtTkRjK0FUYzJDY1QrYXY2Qy9vNyt4UDdINWVoOGdJQjg2T1VCT1FFOEFYSUJmZ01zQVg0QmNnRThBVG5sNkh5QWdIem81ZjdIL3NUK2p2NkMrc0VIVTF0WFZJUWtKaVlraEZSWFcvaXRYRmRVaENRbUppU0VWRmNUaUlCODZPWCt4LzdFL283K2d2elUvb0wranY3RS9zZmw2SHlBZ0h6bzVRRTVBVHdCY2dGK0F5d0JmZ0Z5QVR3Qk9lWG9mSUQ0RVNZbGhGTlh1RmRUaENVbUppV0VVMWU0VjFPRUpTWUFBQUFDQUFBQUFCT0lFNGdBSkFBOUFBQUJJQVVFQlFRREFnTUNFQk1TRXhJRkJBVUVJQ1VrSlNRVEVoTVNFQU1DQXdJbEpDVWtBU0FGQkFBVEVoQURBZ0FGQkNBbEpBQURBaEFURWdBbEpBbkUvbXIrZ3Y2Ty9zVCt4K1hvZklDQWZPamxBVGtCUEFGeUFYNERMQUYrQVhJQlBBRTU1ZWg4Z0lCODZPWCt4LzdFL283K2d2NXFBVGNCRndFUEFadHdkSFJ3L21YKzhmN3AvWkwrNmY3eC9tVndkSFJ3QVpzQkR3RVhFNGlBZk9qbC9zZit4UDZPL29MODFQNkMvbzcreFA3SDVlaDhnSUI4Nk9VQk9RRThBWElCZmdNc0FYNEJjZ0U4QVRubDZIeUEvQmgwY1A1bC92SCs2ZjJTL3VuKzhmNWxjSFIwY0FHYkFROEJGd0p1QVJjQkR3R2JjSFFBQUFBQ0FBQUFBQk9JRTRnQUF3QW9BQUFCSVJFaEFTQUZCQVVFQXdJREFoQVRFaE1TQlFRRkJDQWxKQ1VrRXhJVEVoQURBZ01DSlNRbEpBWGNCOUQ0TUFQby9tcitndjZPL3NUK3grWG9mSUNBZk9qbEFUa0JQQUZ5QVg0RExBRitBWElCUEFFNTVlaDhnSUI4Nk9YK3gvN0UvbzcrZ2dYY0I5QUYzSUI4Nk9YK3gvN0UvbzcrZ3Z6VS9vTCtqdjdFL3NmbDZIeUFnSHpvNVFFNUFUd0JjZ0YrQXl3QmZnRnlBVHdCT2VYb2ZJQUFBQUVBQUFBQkFBQS83UHc3WHc4ODlRQUxFNGdBQUFBQTNOVkg5UUFBQUFEY2hHdjEvK0FBQUJPVEU0Z0FBQUFJQUFJQUFBQUFBQUFBQVFBQUU0Z0FBQUFBRTRqLzRQLzFFNU1BQVFBQUFBQUFBQUFBQUFBQUFBQUFBQWNBQUFBQUU0Z0FBQk9JQUFBVGlBQUFFNGdBQUFZMkFBQVRpQUFBQUFELy93QUFBQUFBQUFBQUFBQUFBUC9nQUFBQUFBQUFBQUFBQUFBaUFEWUFXQUJzQUlBQWxBQzBBUTRCZkFHYUFoQUNKZ0kwQWtJQ3FBTWlBNllEL2dBQkFBQUFFd0JMQUFNQUFBQUFBQUlBQUFBS0FBb0FBQUQvQUFBQUFBQUFBQUFBRUFER0FBRUFBQUFBQUFFQUZBQUFBQUVBQUFBQUFBSUFCd0FVQUFFQUFBQUFBQU1BRkFBYkFBRUFBQUFBQUFRQUZBQXZBQUVBQUFBQUFBVUFDd0JEQUFFQUFBQUFBQVlBRkFCT0FBRUFBQUFBQUFvQUt3QmlBQUVBQUFBQUFBc0FFd0NOQUFNQUFRUUpBQUVBS0FDZ0FBTUFBUVFKQUFJQURnRElBQU1BQVFRSkFBTUFLQURXQUFNQUFRUUpBQVFBS0FEK0FBTUFBUVFKQUFVQUZnRW1BQU1BQVFRSkFBWUFLQUU4QUFNQUFRUUpBQW9BVmdGa0FBTUFBUVFKQUFzQUpnRzZhV052Ym1admJuUXRkblZsTFRnMFl6UTJNV1pTWldkMWJHRnlhV052Ym1admJuUXRkblZsTFRnMFl6UTJNV1pwWTI5dVptOXVkQzEyZFdVdE9EUmpORFl4WmxabGNuTnBiMjRnTVM0d2FXTnZibVp2Ym5RdGRuVmxMVGcwWXpRMk1XWkhaVzVsY21GMFpXUWdZbmtnYzNabk1uUjBaaUJtY205dElFWnZiblJsYkd4dklIQnliMnBsWTNRdWFIUjBjRG92TDJadmJuUmxiR3h2TG1OdmJRQnBBR01BYndCdUFHWUFid0J1QUhRQUxRQjJBSFVBWlFBdEFEZ0FOQUJqQURRQU5nQXhBR1lBVWdCbEFHY0FkUUJzQUdFQWNnQnBBR01BYndCdUFHWUFid0J1QUhRQUxRQjJBSFVBWlFBdEFEZ0FOQUJqQURRQU5nQXhBR1lBYVFCakFHOEFiZ0JtQUc4QWJnQjBBQzBBZGdCMUFHVUFMUUE0QURRQVl3QTBBRFlBTVFCbUFGWUFaUUJ5QUhNQWFRQnZBRzRBSUFBeEFDNEFNQUJwQUdNQWJ3QnVBR1lBYndCdUFIUUFMUUIyQUhVQVpRQXRBRGdBTkFCakFEUUFOZ0F4QUdZQVJ3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCekFIWUFad0F5QUhRQWRBQm1BQ0FBWmdCeUFHOEFiUUFnQUVZQWJ3QnVBSFFBWlFCc0FHd0Fid0FnQUhBQWNnQnZBR29BWlFCakFIUUFMZ0JvQUhRQWRBQndBRG9BTHdBdkFHWUFid0J1QUhRQVpRQnNBR3dBYndBdUFHTUFid0J0QUFBQUFnQUFBQUFBQUFBeUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFd0FUQUFBQkFnRURBUVFCQlFFR0FRY0JDQUVKQVFvQkN3RU1BUTBCRGdFUEFSQUJFUUVTQVJNUllYSnliM2N0YkdWbWRDMWtiM1ZpYkdVS1lYSnliM2N0YkdWbWRCSmhjbkp2ZHkxeWFXZG9kQzFrYjNWaWJHVUxZWEp5YjNjdGNtbG5hSFFLWW5KbFlXUmpjblZ0WWdsamFHVmphMjFoY21zRlkyeHZjMlVIWTI5dVptbHliUVJwYm1adkJHMWxiblVFYlc5eVpRVndZWFZ6WlFSd2JHRjVDblJ5YVdGdVoyeGxMWE1RZFhObGNpMXpkR0YwZFhNdFlYZGhlUTkxYzJWeUxYTjBZWFIxY3kxa2JtUVZkWE5sY2kxemRHRjBkWE10YVc1MmFYTnBZbXhsRW5WelpYSXRjM1JoZEhWekxXOXViR2x1WlFBQVwiIiwiZXhwb3J0IGRlZmF1bHQgXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQnpkR0Z1WkdGc2IyNWxQU0p1YnlJL1Bqd2hSRTlEVkZsUVJTQnpkbWNnVUZWQ1RFbERJQ0l0THk5WE0wTXZMMFJVUkNCVFZrY2dNUzR4THk5RlRpSWdJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MMGR5WVhCb2FXTnpMMU5XUnk4eExqRXZSRlJFTDNOMlp6RXhMbVIwWkNJZ1BqeHpkbWNnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajQ4YldWMFlXUmhkR0UrUEM5dFpYUmhaR0YwWVQ0OFpHVm1jejQ4Wm05dWRDQnBaRDBpYVdOdmJtWnZiblF0ZG5WbExUZzBZelEyTVdZaUlHaHZjbWw2TFdGa2RpMTRQU0kxTURBd0lqNDhabTl1ZEMxbVlXTmxJR1p2Ym5RdFptRnRhV3g1UFNKcFkyOXVabTl1ZEMxMmRXVXRPRFJqTkRZeFppSWdabTl1ZEMxM1pXbG5hSFE5SWpRd01DSWdabTl1ZEMxemRISmxkR05vUFNKdWIzSnRZV3dpSUhWdWFYUnpMWEJsY2kxbGJUMGlOVEF3TUNJZ2NHRnViM05sTFRFOUlqSWdNQ0ExSURNZ01DQXdJREFnTUNBd0lEQWlJR0Z6WTJWdWREMGlOVEF3TUNJZ1pHVnpZMlZ1ZEQwaU1DSWdlQzFvWldsbmFIUTlJakFpSUdKaWIzZzlJaTB6TWlBd0lEVXdNVEVnTlRBd01DSWdkVzVrWlhKc2FXNWxMWFJvYVdOcmJtVnpjejBpTUNJZ2RXNWtaWEpzYVc1bExYQnZjMmwwYVc5dVBTSTFNQ0lnZFc1cFkyOWtaUzF5WVc1blpUMGlWU3RsWVRBeExXVmhNVElpSUM4K1BHMXBjM05wYm1jdFoyeDVjR2dnYUc5eWFYb3RZV1IyTFhnOUlqQWlJQ0F2UGp4bmJIbHdhQ0JuYkhsd2FDMXVZVzFsUFNKaGNuSnZkeTFzWldaMExXUnZkV0pzWlNJZ2RXNXBZMjlrWlQwaUppTjRaV0V3TVRzaUlHUTlJazB6TnpVd0lETTVNRFlnYkMweE5EQTJJQzB4TkRBMklHd3hOREEySUMweE5EQTJJR3d3SURNeE1pQnNMVEV3T1RRZ01UQTVOQ0JzTVRBNU5DQXhNRGswSUd3d0lETXhNaUJhVFRJek5EUWdNemt3TmlCc0xURTBNRFlnTFRFME1EWWdiREUwTURZZ0xURTBNRFlnYkRBZ016RXlJR3d0TVRBNU5DQXhNRGswSUd3eE1EazBJREV3T1RRZ2JEQWdNekV5SUZvaUlDOCtQR2RzZVhCb0lHZHNlWEJvTFc1aGJXVTlJbUZ5Y205M0xXeGxablFpSUhWdWFXTnZaR1U5SWlZamVHVmhNREk3SWlCa1BTSk5NVFUyTXlBeU5UQXdJR3d4T0RjMUlDMHhPRGMxSUd3d0lDMHpNVElnYkMweU1UZzRJREl4T0RjZ2JESXhPRGdnTWpFNE9DQnNNQ0F0TXpFeklHd3RNVGczTlNBdE1UZzNOU0JhSWlBdlBqeG5iSGx3YUNCbmJIbHdhQzF1WVcxbFBTSmhjbkp2ZHkxeWFXZG9kQzFrYjNWaWJHVWlJSFZ1YVdOdlpHVTlJaVlqZUdWaE1ETTdJaUJrUFNKTk1USTFNQ0F4TURrMElHd3hOREEySURFME1EWWdiQzB4TkRBMklERTBNRFlnYkRBZ0xUTXhNaUJzTVRBNU5DQXRNVEE1TkNCc0xURXdPVFFnTFRFd09UUWdiREFnTFRNeE1pQmFUVEkyTlRZZ01UQTVOQ0JzTVRRd055QXhOREEySUd3dE1UUXdOeUF4TkRBMklHd3dJQzB6TVRJZ2JERXdPVFFnTFRFd09UUWdiQzB4TURrMElDMHhNRGswSUd3d0lDMHpNVElnV2lJZ0x6NDhaMng1Y0dnZ1oyeDVjR2d0Ym1GdFpUMGlZWEp5YjNjdGNtbG5hSFFpSUhWdWFXTnZaR1U5SWlZamVHVmhNRFE3SWlCa1BTSk5NelF6T0NBeU5UQXdJR3d0TVRnM05TQXhPRGMxSUd3d0lETXhNeUJzTWpFNE55QXRNakU0T0NCc0xUSXhPRGNnTFRJeE9EY2diREFnTXpFeUlHd3hPRGMxSURFNE56VWdXaUlnTHo0OFoyeDVjR2dnWjJ4NWNHZ3RibUZ0WlQwaVluSmxZV1JqY25WdFlpSWdkVzVwWTI5a1pUMGlKaU40WldFd05Uc2lJR1E5SWsweE5EZ2dOVEF3TUNCc0xURTBPQ0F0T0RVZ2JERXpPVFFnTFRJME1UVWdiQzB4TXprMElDMHlOREUxSUd3eE5EZ2dMVGcxSUd3eE5EUXpJREkxTURBZ2JDMHhORFF6SURJMU1EQWdXaUlnTHo0OFoyeDVjR2dnWjJ4NWNHZ3RibUZ0WlQwaVkyaGxZMnR0WVhKcklpQjFibWxqYjJSbFBTSW1JM2hsWVRBMk95SWdaRDBpVFRRd05EVWdNemszTVNCc0xUSXdOakVnTFRJd05qRWdiQzB4TURJNUlERXdNamtnYkMwME5ESWdMVFEwTVNCc01UUTNNU0F0TVRRM01TQnNNalV3TXlBeU5UQXlJR3d0TkRReUlEUTBNaUJhSWlBdlBqeG5iSGx3YUNCbmJIbHdhQzF1WVcxbFBTSmpiRzl6WlNJZ2RXNXBZMjlrWlQwaUppTjRaV0V3TnpzaUlHUTlJazAwTXpjMUlERXhOVFlnYkMwMU16RWdMVFV6TVNCc0xURXpORFFnTVRNME5DQnNMVEV6TkRRZ0xURXpORFFnYkMwMU16RWdOVE14SUd3eE16UTBJREV6TkRRZ2JDMHhNelEwSURFek5EUWdiRFV6TVNBMU16RWdiREV6TkRRZ0xURXpORFFnYkRFek5EUWdNVE0wTkNCc05UTXhJQzAxTXpFZ2JDMHhNelEwSUMweE16UTBJR3d4TXpRMElDMHhNelEwSUZvaUlDOCtQR2RzZVhCb0lHZHNlWEJvTFc1aGJXVTlJbU52Ym1acGNtMGlJSFZ1YVdOdlpHVTlJaVlqZUdWaE1EZzdJaUJrUFNKTk1qWTFOaUEwT0RRMElIRXRNVEF4SURBZ0xURTRNQ0F0TlRjZ2NTMDNOQ0F0TlRJZ0xURXdPU0F0TVRNNElIRXRNelVnTFRnMklDMHhPU0F0TVRjMUlIRXhPQ0F0T1RZZ09UQWdMVEUyTnlCc01UUTVOU0F0TVRRNU5DQnNMVE0yTVRZZ01DQnhMVGMzSURFZ0xURXpPU0F0TWpZZ2NTMDFPQ0F0TWpRZ0xUazVJQzAzTUNCeExUTTVJQzAwTkNBdE5Ua2dMVEV3TVNCeExUSXdJQzAxTmlBdE1qQWdMVEV4TmlCeE1DQXROakFnTWpBZ0xURXhOaUJ4TWpBZ0xUVTNJRFU1SUMweE1ERWdjVFF4SUMwME5pQTVPU0F0TnpBZ2NUWXlJQzB5TnlBeE16a2dMVEkxSUd3ek5qRTJJREFnYkMweE5EazFJQzB4TkRrMUlIRXROVFVnTFRVeklDMDRNU0F0TVRFMklIRXRNalFnTFRVNUlDMHlNU0F0TVRJeElIRXpJQzAxT0NBek1DQXRNVEV6SUhFeU5TQXROVFFnTmpnZ0xUazNJSEUwTXlBdE5ETWdPVFlnTFRZNElIRTFOU0F0TWpZZ01URTBJQzB5T1NCeE5qSWdMVE1nTVRJd0lESXhJSEUyTXlBeU5TQXhNVFlnT0RFZ2JESXdNamtnTWpBeU9DQnhOVGtnTmpBZ09EQWdNVFF4SUhFeU1TQTRNQ0F4SURFMU9TQnhMVEl4SURneUlDMDRNU0F4TkRJZ2JDMHlNREk1SURJd01qZ2djUzAwTkNBME5TQXRNVEF5SURjd0lIRXROVGdnTWpVZ0xURXlNaUF5TlNCYUlpQXZQanhuYkhsd2FDQm5iSGx3YUMxdVlXMWxQU0pwYm1adklpQjFibWxqYjJSbFBTSW1JM2hsWVRBNU95SWdaRDBpVFRJME1qSWdORFk0T0NCeExURXhNU0F3SUMweU1UTWdMVFF6SUhFdE9UZ2dMVFF5SUMweE56UWdMVEV4Tnk0MUlIRXROellnTFRjMUxqVWdMVEV4TnlBdE1UYzBMalVnY1MwME15QXRNVEF4SUMwME15QXRNakV5TGpVZ2NUQWdMVEV4TVM0MUlEUXpJQzB5TVRJdU5TQnhOREVnTFRrNElERXhOeUF0TVRjMElIRTNOaUF0TnpZZ01UYzBJQzB4TVRjZ2NURXdNaUF0TkRNZ01qRXpJQzAwTXlCeE1URXhJREFnTWpFeklEUXpJSEU1T0NBME1TQXhOek11TlNBeE1UY2djVGMxTGpVZ056WWdNVEUzTGpVZ01UYzBJSEUwTXlBeE1ERWdORE1nTWpFeUxqVWdjVEFnTVRFeExqVWdMVFF6SURJeE1pNDFJSEV0TkRJZ09Ua2dMVEV4Tnk0MUlERTNOQzQxSUhFdE56VXVOU0EzTlM0MUlDMHhOek11TlNBeE1UY3VOU0J4TFRFd01pQTBNeUF0TWpFeklEUXpJRnBOTVRVMk15QXpNVEkxSUhFdE9EWWdNQ0F0TVRVNElDMDBNeUJ4TFRjeElDMDBNU0F0TVRFeUlDMHhNVElnY1MwME15QXROeklnTFRReklDMHhOVGN1TlNCeE1DQXRPRFV1TlNBME15QXRNVFUzTGpVZ2NUUXhJQzAzTVNBeE1USWdMVEV4TWlCeE56SWdMVFF6SURFMU9DQXRORE1nYkRZeU5TQXdJR3d3SUMweE5UWXlJR3d0TmpJMUlEQWdjUzA0TmlBd0lDMHhOVGdnTFRReklIRXROekVnTFRReElDMHhNVElnTFRFeE1pQnhMVFF6SUMwM015QXRORE1nTFRFMU9DQnhNQ0F0T0RVZ05ETWdMVEUxT0NCeE5ERWdMVGN4SURFeE1pQXRNVEV5SUhFM01pQXRORE1nTVRVNElDMDBNaUJzTVRnM05TQXdJSEU0TlNBd0lERTFOeUEwTWlCeE56RWdOREVnTVRFeUlERXhNaUJ4TkRNZ056TWdORE1nTVRVNElIRXdJRGcxSUMwME15QXhOVGdnY1MwME1TQTNNU0F0TVRFeUlERXhNaUJ4TFRjeUlEUXpJQzB4TlRjZ05ETWdiQzAyTWpVZ01DQnNNQ0F4T0RjMUlIRXdJRGcxSUMwME15QXhOVGNnY1MwME1TQTNNU0F0TVRFeUlERXhNaUJ4TFRjeklEUXpJQzB4TlRnZ05ETWdiQzA1TXpjZ01DQmFJaUF2UGp4bmJIbHdhQ0JuYkhsd2FDMXVZVzFsUFNKdFpXNTFJaUIxYm1samIyUmxQU0ltSTNobFlUQmhPeUlnWkQwaVRUWXlOU0EwTXpjMUlHd3dJQzAyTWpVZ2JETTNOVEFnTUNCc01DQTJNalVnYkMwek56VXdJREFnV2swMk1qVWdNamd4TXlCc01DQXROakkxSUd3ek56VXdJREFnYkRBZ05qSTFJR3d0TXpjMU1DQXdJRnBOTmpJMUlERXlOVEFnYkRBZ0xUWXlOU0JzTXpjMU1DQXdJR3d3SURZeU5TQnNMVE0zTlRBZ01DQmFJaUF2UGp4bmJIbHdhQ0JuYkhsd2FDMXVZVzFsUFNKdGIzSmxJaUIxYm1samIyUmxQU0ltSTNobFlUQmlPeUlnWkQwaVRUYzRNU0F6TURRM0lIRXhNVElnTUNBeU1UTWdMVFF6SUhFNU9DQXRORElnTVRjMElDMHhNVGN1TlNCeE56WWdMVGMxTGpVZ01URTNJQzB4TnpNdU5TQnhORE1nTFRFd01pQTBNeUF0TWpFeklIRXdJQzB4TVRFZ0xUUXpJQzB5TVRNZ2NTMDBNU0F0T1RnZ0xURXhOeUF0TVRjekxqVWdjUzAzTmlBdE56VXVOU0F0TVRjMElDMHhNVGN1TlNCeExURXdNU0F0TkRNZ0xUSXhNaTQxSUMwME15QnhMVEV4TVM0MUlEQWdMVEl4TXk0MUlEUXpJSEV0T1RnZ05ESWdMVEUzTXk0MUlERXhOeTQxSUhFdE56VXVOU0EzTlM0MUlDMHhNVGN1TlNBeE56TXVOU0J4TFRReklERXdNaUF0TkRNZ01qRXpJSEV3SURFeE1TQTBNeUF5TVRNZ2NUUXlJRGs0SURFeE55NDFJREUzTXk0MUlIRTNOUzQxSURjMUxqVWdNVGN6TGpVZ01URTNMalVnY1RFd01pQTBNeUF5TVRNZ05ETWdXazB5TlRBd0lETXdORGNnY1RFeE1TQXdJREl4TXlBdE5ETWdjVGs0SUMwME1pQXhOek11TlNBdE1URTNMalVnY1RjMUxqVWdMVGMxTGpVZ01URTNMalVnTFRFM015NDFJSEUwTXlBdE1UQXlJRFF6SUMweU1UTWdjVEFnTFRFeE1TQXRORE1nTFRJeE15QnhMVFF5SUMwNU9DQXRNVEUzTGpVZ0xURTNNeTQxSUhFdE56VXVOU0F0TnpVdU5TQXRNVGN6TGpVZ0xURXhOeTQxSUhFdE1UQXlJQzAwTXlBdE1qRXpJQzAwTXlCeExURXhNU0F3SUMweU1UTWdORE1nY1MwNU9DQTBNaUF0TVRjekxqVWdNVEUzTGpVZ2NTMDNOUzQxSURjMUxqVWdMVEV4Tnk0MUlERTNNeTQxSUhFdE5ETWdNVEF5SUMwME15QXlNVE1nY1RBZ01URXhJRFF6SURJeE15QnhORElnT1RnZ01URTNMalVnTVRjekxqVWdjVGMxTGpVZ056VXVOU0F4TnpNdU5TQXhNVGN1TlNCeE1UQXlJRFF6SURJeE15QTBNeUJhVFRReU1Ua2dNekEwTnlCeE1URXhJREFnTWpFeklDMDBNeUJ4T1RnZ0xUUXlJREUzTXk0MUlDMHhNVGN1TlNCeE56VXVOU0F0TnpVdU5TQXhNVGN1TlNBdE1UY3pMalVnY1RReklDMHhNRElnTkRNZ0xUSXhNeUJ4TUNBdE1URXhJQzAwTXlBdE1qRXpJSEV0TkRJZ0xUazRJQzB4TVRjdU5TQXRNVGN6TGpVZ2NTMDNOUzQxSUMwM05TNDFJQzB4TnpNdU5TQXRNVEUzTGpVZ2NTMHhNRElnTFRReklDMHlNVE11TlNBdE5ETWdjUzB4TVRFdU5TQXdJQzB5TVRJdU5TQTBNeUJ4TFRrNElEUXlJQzB4TnpRZ01URTNMalVnY1MwM05pQTNOUzQxSUMweE1UY2dNVGN6TGpVZ2NTMDBNeUF4TURJZ0xUUXpJREl4TXlCeE1DQXhNVEVnTkRNZ01qRXpJSEUwTVNBNU9DQXhNVGNnTVRjekxqVWdjVGMySURjMUxqVWdNVGMwSURFeE55NDFJSEV4TURFZ05ETWdNakV6SURReklGb2lJQzgrUEdkc2VYQm9JR2RzZVhCb0xXNWhiV1U5SW5CaGRYTmxJaUIxYm1samIyUmxQU0ltSTNobFlUQmpPeUlnWkQwaVRUa3pPQ0EwTURZeklHd3dJQzB6TVRJMUlHd3hNalV3SURBZ2JEQWdNekV5TlNCc0xURXlOVEFnTUNCYVRUSTRNVE1nTkRBMk15QnNNQ0F0TXpFeU5TQnNNVEkxTUNBd0lHd3dJRE14TWpVZ2JDMHhNalV3SURBZ1dpSWdMejQ4WjJ4NWNHZ2daMng1Y0dndGJtRnRaVDBpY0d4aGVTSWdkVzVwWTI5a1pUMGlKaU40WldFd1pEc2lJR1E5SWswMk1qVWdORE0zTlNCc016YzFNQ0F0TVRnM05TQnNMVE0zTlRBZ0xURTROelVnYkRBZ016YzFNQ0JhSWlBdlBqeG5iSGx3YUNCbmJIbHdhQzF1WVcxbFBTSjBjbWxoYm1kc1pTMXpJaUIxYm1samIyUmxQU0ltSTNobFlUQmxPeUlnWkQwaVRURXlOVEFnTXpFeU5TQnNNVEkxTUNBdE1USTFNQ0JzTVRJMU1DQXhNalE0SUd3dE1qVXdNQ0F5SUZvaUlDOCtQR2RzZVhCb0lHZHNlWEJvTFc1aGJXVTlJblZ6WlhJdGMzUmhkSFZ6TFdGM1lYa2lJSFZ1YVdOdlpHVTlJaVlqZUdWaE1HWTdJaUJrUFNKTk1qRTFOaUEwT1RZNUlIRXRNell3SUMwME5pQXROamsxSUMweE9UY2djUzB6TWpZZ0xURTBOeUF0TmpBeElDMHpPREFnY1MweU56UWdMVEl6TVNBdE5EY3lJQzAxTWpnZ2NTMHlNRElnTFRNd01TQXRNekE1SUMwMk5ESWdjUzB4TVRBZ0xUTTFNeUF0TVRFd0lDMDNNaklnY1RBZ0xUUXdOaUF4TWpnZ0xUYzRPQ0J4TVRJeklDMHpOekFnTXpVMklDMDJPRFlnY1RJeU9TQXRNekV6SURVME1pQXROVFF5SUhFek1UWWdMVEl6TWlBMk9EWWdMVE0xTmlCeE16Z3lJQzB4TWpnZ056ZzRJQzB4TWpnZ2NUTTJPU0F3SURjeU1pQXhNRGNnY1RNME1pQXhNRFFnTmpRMElETXdNU0J4TWprNElERTVOQ0ExTXpNZ05EWXpJSEV5TXpZZ01qY3dJRE00T1NBMU9UTWdjVEUxTmlBek16RWdNakV5SURZNU1pQnhMVEU0T0NBdE1qQTBJQzAwTWpNdU5TQXRNelV4SUhFdE1qTTFMalVnTFRFME55QXRORGs0TGpVZ0xUSXlOU0J4TFRJMk9TQXRPREFnTFRVME55QXRPREFnY1Mwek1qSWdNQ0F0TmpJNElERXdNeUJ4TFRJNU5TQTVPU0F0TlRRNElESTROaUJ4TFRJMU1TQXhPRFFnTFRRek5TQTBNelVnY1MweE9EY2dNalV6SUMweU9EWWdOVFE0SUhFdE1UQXpJRE13TmlBdE1UQXpJRFl5T0NCeE1DQXlPVE1nT0RBZ05UWTRJSEUzT0NBeU5qa2dNakkxTGpVZ05EazRMalVnY1RFME55NDFJREl5T1M0MUlETTFNQzQxSURRd01pNDFJRm9pSUM4K1BHZHNlWEJvSUdkc2VYQm9MVzVoYldVOUluVnpaWEl0YzNSaGRIVnpMV1J1WkNJZ2RXNXBZMjlrWlQwaUppTjRaV0V4TURzaUlHUTlJazB5TlRBd0lEVXdNREFnY1MwME1EWWdNQ0F0TnpnNElDMHhNamdnY1Mwek56QWdMVEV5TkNBdE5qZzJJQzB6TlRZZ2NTMHpNVE1nTFRJeU9TQXROVFF5SUMwMU5ESWdjUzB5TXpJZ0xUTXhOaUF0TXpVMklDMDJPRFlnY1MweE1qZ2dMVE00TWlBdE1USTRJQzAzT0RnZ2NUQWdMVFF3TmlBeE1qZ2dMVGM0T0NCeE1USTBJQzB6TnpBZ016VTJJQzAyT0RZZ2NUSXlPU0F0TXpFeklEVTBNaUF0TlRReUlIRXpNVFlnTFRJek1pQTJPRFlnTFRNMU5pQnhNemd5SUMweE1qZ2dOemc0SUMweE1qZ2djVFF3TmlBd0lEYzRPQ0F4TWpnZ2NUTTNNQ0F4TWpRZ05qZzJJRE0xTmlCeE16RXpJREl5T1NBMU5ESWdOVFF5SUhFeU16SWdNekUySURNMU5pQTJPRFlnY1RFeU9DQXpPRElnTVRJNElEYzRPQ0J4TUNBME1EWWdMVEV5T0NBM09EZ2djUzB4TWpRZ016Y3dJQzB6TlRZZ05qZzJJSEV0TWpJNUlETXhNeUF0TlRReUlEVTBNaUJ4TFRNeE5pQXlNeklnTFRZNE5pQXpOVFlnY1Mwek9ESWdNVEk0SUMwM09EZ2dNVEk0SUZwTk1UVTJNeUF5T1RZNUlHd3hPRGMxSURBZ2NUa3hJREFnTVRjNElDMHpPQ0J4T0RRZ0xUTTNJREUxTUNBdE1UQXpJSEUyTmlBdE5qWWdNVEF5SUMweE5Ea2djVE00SUMwNE55QXpPQ0F0TVRjNUlIRXdJQzA1TWlBdE16Z2dMVEUzT1NCeExUTTJJQzA0TXlBdE1UQXlJQzB4TkRrZ2NTMDJOaUF0TmpZZ0xURTFNQ0F0TVRBeklIRXRPRGNnTFRNNElDMHhOemdnTFRNNElHd3RNVGczTlNBd0lIRXRPVElnTUNBdE1UYzVJRE00SUhFdE9EUWdNemNnTFRFMU1DQXhNRE1nY1MwMk5pQTJOaUF0TVRBeUlERTBPU0J4TFRNNElEZzNJQzB6T0NBeE56a2djVEFnT1RJZ016Z2dNVGM1SUhFek5pQTRNeUF4TURJZ01UUTVJSEUyTmlBMk5pQXhOVEFnTVRBeklIRTROeUF6T0NBeE56a2dNemdnV2lJZ0x6NDhaMng1Y0dnZ1oyeDVjR2d0Ym1GdFpUMGlkWE5sY2kxemRHRjBkWE10YVc1MmFYTnBZbXhsSWlCMWJtbGpiMlJsUFNJbUkzaGxZVEV4T3lJZ1pEMGlUVEkxTURBZ05UQXdNQ0J4TFRRd05pQXdJQzAzT0RnZ0xURXlPQ0J4TFRNM01DQXRNVEkwSUMwMk9EWWdMVE0xTmlCeExUTXhNeUF0TWpJNUlDMDFORElnTFRVME1pQnhMVEl6TWlBdE16RTJJQzB6TlRZZ0xUWTROaUJ4TFRFeU9DQXRNemd5SUMweE1qZ2dMVGM0T0NCeE1DQXROREEySURFeU9DQXROemc0SUhFeE1qUWdMVE0zTUNBek5UWWdMVFk0TmlCeE1qSTVJQzB6TVRNZ05UUXlJQzAxTkRJZ2NUTXhOaUF0TWpNeUlEWTROaUF0TXpVMklIRXpPRElnTFRFeU9DQTNPRGdnTFRFeU9DQnhOREEySURBZ056ZzRJREV5T0NCeE16Y3dJREV5TkNBMk9EWWdNelUySUhFek1UTWdNakk1SURVME1pQTFORElnY1RJek1pQXpNVFlnTXpVMklEWTROaUJ4TVRJNElETTRNaUF4TWpnZ056ZzRJSEV3SURRd05pQXRNVEk0SURjNE9DQnhMVEV5TkNBek56QWdMVE0xTmlBMk9EWWdjUzB5TWprZ016RXpJQzAxTkRJZ05UUXlJSEV0TXpFMklESXpNaUF0TmpnMklETTFOaUJ4TFRNNE1pQXhNamdnTFRjNE9DQXhNamdnV2sweU5UQXdJRFF3TURBZ2NUTXhNU0F3SURVNU1DQXRNVEUySUhFeU56RWdMVEV4TWlBME56WXVOU0F0TXpFM0xqVWdjVEl3TlM0MUlDMHlNRFV1TlNBek1UY3VOU0F0TkRjMkxqVWdjVEV4TmlBdE1qYzVJREV4TmlBdE5Ua3dJSEV3SUMwek1URWdMVEV4TmlBdE5Ua3dJSEV0TVRFeUlDMHlOekVnTFRNeE55NDFJQzAwTnpZdU5TQnhMVEl3TlM0MUlDMHlNRFV1TlNBdE5EYzJMalVnTFRNeE55NDFJSEV0TWpjNUlDMHhNVFlnTFRVNU1DQXRNVEUySUhFdE16RXhJREFnTFRVNU1DQXhNVFlnY1MweU56RWdNVEV5SUMwME56WXVOU0F6TVRjdU5TQnhMVEl3TlM0MUlESXdOUzQxSUMwek1UY3VOU0EwTnpZdU5TQnhMVEV4TmlBeU56a2dMVEV4TmlBMU9UQWdjVEFnTXpFeElERXhOaUExT1RBZ2NURXhNaUF5TnpFZ016RTNMalVnTkRjMkxqVWdjVEl3TlM0MUlESXdOUzQxSURRM05pNDFJRE14Tnk0MUlIRXlOemtnTVRFMklEVTVNQ0F4TVRZZ1dpSWdMejQ4WjJ4NWNHZ2daMng1Y0dndGJtRnRaVDBpZFhObGNpMXpkR0YwZFhNdGIyNXNhVzVsSWlCMWJtbGpiMlJsUFNJbUkzaGxZVEV5T3lJZ1pEMGlUVEUxTURBZ01UVXdNQ0JzTWpBd01DQXdJR3d3SURJd01EQWdiQzB5TURBd0lEQWdiREFnTFRJd01EQWdXazB5TlRBd0lEVXdNREFnY1MwME1EWWdNQ0F0TnpnNElDMHhNamdnY1Mwek56QWdMVEV5TkNBdE5qZzJJQzB6TlRZZ2NTMHpNVE1nTFRJeU9TQXROVFF5SUMwMU5ESWdjUzB5TXpJZ0xUTXhOaUF0TXpVMklDMDJPRFlnY1MweE1qZ2dMVE00TWlBdE1USTRJQzAzT0RnZ2NUQWdMVFF3TmlBeE1qZ2dMVGM0T0NCeE1USTBJQzB6TnpBZ016VTJJQzAyT0RZZ2NUSXlPU0F0TXpFeklEVTBNaUF0TlRReUlIRXpNVFlnTFRJek1pQTJPRFlnTFRNMU5pQnhNemd5SUMweE1qZ2dOemc0SUMweE1qZ2djVFF3TmlBd0lEYzRPQ0F4TWpnZ2NUTTNNQ0F4TWpRZ05qZzJJRE0xTmlCeE16RXpJREl5T1NBMU5ESWdOVFF5SUhFeU16SWdNekUySURNMU5pQTJPRFlnY1RFeU9DQXpPRElnTVRJNElEYzRPQ0J4TUNBME1EWWdMVEV5T0NBM09EZ2djUzB4TWpRZ016Y3dJQzB6TlRZZ05qZzJJSEV0TWpJNUlETXhNeUF0TlRReUlEVTBNaUJ4TFRNeE5pQXlNeklnTFRZNE5pQXpOVFlnY1Mwek9ESWdNVEk0SUMwM09EZ2dNVEk0SUZvaUlDOCtQQzltYjI1MFBqd3ZaR1ZtY3o0OEwzTjJaejQ9XCIiLCJleHBvcnQgZGVmYXVsdCBcImRhdGE6Zm9udC90dGY7YmFzZTY0LEFBRUFBQUFLQUlBQUF3QWdUMU12TW5Uamo5RUFBQUNzQUFBQVlHTnRZWEFBRGV1NEFBQUJEQUFBQVVKbmJIbG14MGM1VEFBQUFsQUFBQWY4YUdWaFpDdnJGL2NBQUFwTUFBQUFObWhvWldFbS9ST0ZBQUFLaEFBQUFDUm9iWFI0Wjc3Ly93QUFDcWdBQUFBMGJHOWpZUTI4RDJZQUFBcmNBQUFBS0cxaGVIQUJJQUJYQUFBTEJBQUFBQ0J1WVcxbGJjVDVWQUFBQ3lRQUFBS21jRzl6ZEQ5VXZ0Y0FBQTNNQUFBQkZnQUVFc29Ca0FBRkFBQU1aUTJzQUFBQ3ZBeGxEYXdBQUFsZ0FQVUZDZ0FBQWdBRkF3QUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUJRWmtWa0FFRHFBZW9TRTRnQUFBSENFNGdBQUFBQUFBRUFBQUFBQUFBQUFBQUFBQ0FBQUFBQUFBTUFBQUFEQUFBQUhBQUJBQUFBQUFBOEFBTUFBUUFBQUJ3QUJBQWdBQUFBQkFBRUFBRUFBT29TLy84QUFPb0IvLzhXQUFBQkFBQUFBQUFBQVFZQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUFBQTZtRDBNQUJRQUxBQUFKQWhFSkJCRUpBUTZtK29JRmZ2dTZCRWI2Z3ZxQ0JYNzd1Z1JHRDBMNmd2cUNBVGdFUmdSR0FUajZndnFDQVRnRVJnUkdBQUVBQUFBQURXNFNVQUFGQUFBSkFSRUpBUkVHR3dkVDkzUUlqQW5FK0szK3lBaUxDSXoreHdBQ0FBQUFBQS9mRDBNQUJRQUxBQUFKQWhFSkJCRUpBUVRpQlg3NmdnUkcrN29GZmdWLytvRUVSdnU2QkVZRmZnVisvc2o3dXZ1Ni9zZ0ZmZ1YrL3NqN3V2dTZBQUVBQUFBQURxWVNVQUFGQUFBSkFSRUpBUkVOYnZpdENJdjNkUW5FQjFNQk9mZDA5M1VCT0FBQkFBQUFBQVkzRTRnQUJRQUFFd2NKQVJjQmxKUUZjdnFPbEFXakU0aFY5cEgya1ZVSnhBQUFBUUFBQUFBUmh3K0RBQVVBQUFrRkQ4MzM4L3Y3L2tZRnZ3bkhENFAzOHdRRi9rZjZRUW5HQUFFQUFBQUFFUmNSRndBTEFBQUpDeEVYL2UzNndQckEvZTBGUVByQUFoTUZRQVZBQWhQNndBU0UvZTBGUVByQUFoTUZRQVZBQWhQNndBVkEvZTM2d0FBQi8vOEFBQk9URXV3QU13QUFBU0lIRGdFWEZoY0JJU1lIQmdjR0J3WVVGeFlYRmhjV055RUJCZ2NHRnhZWEhnRVhGaGNXTnpZM0FUWTNOaWNtSndFdUFRcGdaVTlLUmhBU1NBWFg4ZUJOUGpvcEp4UVVGQlFuS1RvK1RRNGcraWszR2hnREF4c1pWalUzT3o0NlB6VUg3VHNWRlJRVlBQZ1RMSFFTN0RrMHJGbGdSL29xQVJzWUxpdzVPSGc0T1N3dUdCc0MraWsxUHpzK09qYzJWaGthQXdNWUdUZ0g3RHhSVUU5U1BBZnNMVElBQUFBQ0FBQUFBQTZtRWxBQUdBQkdBQUFCSWdjT0FRY0dGQmNlQVJjV01qYytBVGMyTkNjdUFTY21BU0lIQmdjR0ZCY1dGeFl6SVJFaElnY0dCd1lVRnhZWEZqY2hNamMyTnpZMEp5WW5KaU1oRVRRbkppY21Jd2wyYjJaaW1Da3JLeW1ZWW1iZVptS1hLaXNyS3BkaVp2dzJWa2hIS1NzcktVZElWZ0p4L1k5V1NFY3BLeXNwUjBoV0IxTlZTRWNwS3lzcFIwaFYvWThyS1VkSlZSSlFLeXFYWTJYZlpXS1lLU3NyS1poaVpkOWxZNWNxSy9ubEt5bEhTS3RJUnlrcitlWXJLVWRKcWtsSEtTc0JLaWxIU2FwSlJ5a3JCMU5WU0VjcEt3QUFBd0FBQUFBUkZ4RVhBQU1BQndBTEFBQUJFU0VSQVJFaEVRRVJJUkVDY1E2bThWb09wdkZhRHFZUkYvMlBBbkg1NXYyUEFuSDU1ZjJQQW5FQUF3QUFBQUFTbmd2bkFCZ0FNUUJLQUFBQk1oY2VBUmNXRkFjT0FRY0dJaWN1QVNjbU5EYytBVGMySVRJWEhnRVhGaFFIRGdFSEJpSW5MZ0VuSmpRM1BnRTNOaUV5Rng0QkZ4WVVCdzRCQndZaUp5NEJKeVkwTno0Qk56WUREWEJsWXBncEt5c3BtR0psMzJaaWx5b3JLeXFYWW1ZSEptOW1ZcGNxS3lzcWwySm0zbVppbHlvckt5cVhZbVlISm05bVlwY3FLeXNxbDJKbTMyVmltQ2tyS3ltWVltVUw1eXNxbDJKbTNtWmlseW9yS3lxWFltYmVabUtYS2lzcktwZGladDVtWXBjcUt5c3FsMkptM21aaWx5b3JLeXFYWW1iZVptS1hLaXNyS3BkaVp0NW1ZcGNxS3dBQUFBQUNBQUFBQUEvZkQ5OEFBd0FIQUFBQkVTRVJJUkVoRVFPcUJPSUNjUVRpRDkvenl3dzE4OHNNTlFBQUFBRUFBQUFBRVJjUkZ3QUNBQUFKQWdKeERxYnhXaEVYK0szNHJRQUJBQUFBQUE2bUREVUFBZ0FBQ1FJRTRnVGlCT0lNTmZzZUJPQUFBZi9nQUFBVGFSTnBBREVBQUFFRUJRUUZCQU1DQXdJUkVCTVNFeElGQkFVRUlTQWxKQ1VrRXhJVEVoTUdBQVVFSVNBbEpDY21KeVlEQWhFUUV4SUFDR3orbVA2eC9ycis3Zjd1eHNwcmJvQjc2ZVVCT1FFOEFYSUJmZ0dXQVhFQllRRldBUzRCS3V2c21adzR2UDRwL3ZuKzgvN3EvcjcrenY3Wi9mdTR1Mk5uVUU0Qkp4TnBMcGVUNmVmKzEvN1QvcXYrbi82UC9tcitndjZPL3NUK3grWG9mSUJyYU1YQ0FRMEJEZ0ZEQVVzQmFjeisyazVRWjJPN3VQdjlBU2NCTWdGQ0FTVUJFd0VOQWNzQUFnQUFBQUFUaUJPSUFDUUFRQUFBQVNBRkJBVUVBd0lEQWhBVEVoTVNCUVFGQkNBbEpDVWtFeElURWhBREFnTUNKU1FsSkFFaE1oY2VBUmNXRkFjT0FRY0dJeUVpSnk0Qkp5WTBOejRCTnpZSnhQNXEvb0wranY3RS9zZmw2SHlBZ0h6bzVRRTVBVHdCY2dGK0F5d0JmZ0Z5QVR3Qk9lWG9mSUNBZk9qbC9zZit4UDZPL29MNndRZFRXMWRVaENRbUppU0VWRmRiK0sxY1YxU0VKQ1ltSklSVVZ4T0lnSHpvNWY3SC9zVCtqdjZDL05UK2d2Nk8vc1QreCtYb2ZJQ0FmT2psQVRrQlBBRnlBWDRETEFGK0FYSUJQQUU1NWVoOGdQZ1JKaVdFVTFlNFYxT0VKU1ltSllSVFY3aFhVNFFsSmdBQUFBSUFBQUFBRTRnVGlBQWtBRDBBQUFFZ0JRUUZCQU1DQXdJUUV4SVRFZ1VFQlFRZ0pTUWxKQk1TRXhJUUF3SURBaVVrSlNRQklBVUVBQk1TRUFNQ0FBVUVJQ1VrQUFNQ0VCTVNBQ1VrQ2NUK2F2NkMvbzcreFA3SDVlaDhnSUI4Nk9VQk9RRThBWElCZmdNc0FYNEJjZ0U4QVRubDZIeUFnSHpvNWY3SC9zVCtqdjZDL21vQk53RVhBUThCbTNCMGRIRCtaZjd4L3VuOWt2N3AvdkgrWlhCMGRIQUJtd0VQQVJjVGlJQjg2T1greC83RS9vNytndnpVL29MK2p2N0Uvc2ZsNkh5QWdIem81UUU1QVR3QmNnRitBeXdCZmdGeUFUd0JPZVhvZklEOEdIUncvbVgrOGY3cC9aTCs2Zjd4L21Wd2RIUndBWnNCRHdFWEFtNEJGd0VQQVp0d2RBQUFBQUlBQUFBQUU0Z1RpQUFEQUNnQUFBRWhFU0VCSUFVRUJRUURBZ01DRUJNU0V4SUZCQVVFSUNVa0pTUVRFaE1TRUFNQ0F3SWxKQ1VrQmR3SDBQZ3dBK2orYXY2Qy9vNyt4UDdINWVoOGdJQjg2T1VCT1FFOEFYSUJmZ01zQVg0QmNnRThBVG5sNkh5QWdIem81ZjdIL3NUK2p2NkNCZHdIMEFYY2dIem81ZjdIL3NUK2p2NkMvTlQrZ3Y2Ty9zVCt4K1hvZklDQWZPamxBVGtCUEFGeUFYNERMQUYrQVhJQlBBRTU1ZWg4Z0FBQUFRQUFBQUVBQUQvcy9EdGZEenoxQUFzVGlBQUFBQURjMVVmMUFBQUFBTnlFYS9YLzRBQUFFNU1UaUFBQUFBZ0FBZ0FBQUFBQUFBQUJBQUFUaUFBQUFBQVRpUC9nLy9VVGt3QUJBQUFBQUFBQUFBQUFBQUFBQUFBQUJ3QUFBQUFUaUFBQUU0Z0FBQk9JQUFBVGlBQUFCallBQUJPSUFBQUFBUC8vQUFBQUFBQUFBQUFBQUFBQS8rQUFBQUFBQUFBQUFBQUFBQ0lBTmdCWUFHd0FnQUNVQUxRQkRnRjhBWm9DRUFJbUFqUUNRZ0tvQXlJRHBnUCtBQUVBQUFBVEFFc0FBd0FBQUFBQUFnQUFBQW9BQ2dBQUFQOEFBQUFBQUFBQUFBQVFBTVlBQVFBQUFBQUFBUUFVQUFBQUFRQUFBQUFBQWdBSEFCUUFBUUFBQUFBQUF3QVVBQnNBQVFBQUFBQUFCQUFVQUM4QUFRQUFBQUFBQlFBTEFFTUFBUUFBQUFBQUJnQVVBRTRBQVFBQUFBQUFDZ0FyQUdJQUFRQUFBQUFBQ3dBVEFJMEFBd0FCQkFrQUFRQW9BS0FBQXdBQkJBa0FBZ0FPQU1nQUF3QUJCQWtBQXdBb0FOWUFBd0FCQkFrQUJBQW9BUDRBQXdBQkJBa0FCUUFXQVNZQUF3QUJCQWtBQmdBb0FUd0FBd0FCQkFrQUNnQldBV1FBQXdBQkJBa0FDd0FtQWJwcFkyOXVabTl1ZEMxMmRXVXRPRFJqTkRZeFpsSmxaM1ZzWVhKcFkyOXVabTl1ZEMxMmRXVXRPRFJqTkRZeFptbGpiMjVtYjI1MExYWjFaUzA0TkdNME5qRm1WbVZ5YzJsdmJpQXhMakJwWTI5dVptOXVkQzEyZFdVdE9EUmpORFl4WmtkbGJtVnlZWFJsWkNCaWVTQnpkbWN5ZEhSbUlHWnliMjBnUm05dWRHVnNiRzhnY0hKdmFtVmpkQzVvZEhSd09pOHZabTl1ZEdWc2JHOHVZMjl0QUdrQVl3QnZBRzRBWmdCdkFHNEFkQUF0QUhZQWRRQmxBQzBBT0FBMEFHTUFOQUEyQURFQVpnQlNBR1VBWndCMUFHd0FZUUJ5QUdrQVl3QnZBRzRBWmdCdkFHNEFkQUF0QUhZQWRRQmxBQzBBT0FBMEFHTUFOQUEyQURFQVpnQnBBR01BYndCdUFHWUFid0J1QUhRQUxRQjJBSFVBWlFBdEFEZ0FOQUJqQURRQU5nQXhBR1lBVmdCbEFISUFjd0JwQUc4QWJnQWdBREVBTGdBd0FHa0FZd0J2QUc0QVpnQnZBRzRBZEFBdEFIWUFkUUJsQUMwQU9BQTBBR01BTkFBMkFERUFaZ0JIQUdVQWJnQmxBSElBWVFCMEFHVUFaQUFnQUdJQWVRQWdBSE1BZGdCbkFESUFkQUIwQUdZQUlBQm1BSElBYndCdEFDQUFSZ0J2QUc0QWRBQmxBR3dBYkFCdkFDQUFjQUJ5QUc4QWFnQmxBR01BZEFBdUFHZ0FkQUIwQUhBQU9nQXZBQzhBWmdCdkFHNEFkQUJsQUd3QWJBQnZBQzRBWXdCdkFHMEFBQUFDQUFBQUFBQUFBRElBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBVEFCTUFBQUVDQVFNQkJBRUZBUVlCQndFSUFRa0JDZ0VMQVF3QkRRRU9BUThCRUFFUkFSSUJFeEZoY25KdmR5MXNaV1owTFdSdmRXSnNaUXBoY25KdmR5MXNaV1owRW1GeWNtOTNMWEpwWjJoMExXUnZkV0pzWlF0aGNuSnZkeTF5YVdkb2RBcGljbVZoWkdOeWRXMWlDV05vWldOcmJXRnlhd1ZqYkc5elpRZGpiMjVtYVhKdEJHbHVabThFYldWdWRRUnRiM0psQlhCaGRYTmxCSEJzWVhrS2RISnBZVzVuYkdVdGN4QjFjMlZ5TFhOMFlYUjFjeTFoZDJGNUQzVnpaWEl0YzNSaGRIVnpMV1J1WkJWMWMyVnlMWE4wWVhSMWN5MXBiblpwYzJsaWJHVVNkWE5sY2kxemRHRjBkWE10YjI1c2FXNWxBQUE9XCIiLCJleHBvcnQgZGVmYXVsdCBcImRhdGE6Zm9udC93b2ZmO2Jhc2U2NCxkMDlHUmdBQkFBQUFBQThzQUFvQUFBQUFEdVFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQlBVeTh5QUFBQTlBQUFBR0FBQUFCZ2RPT1AwV050WVhBQUFBRlVBQUFCUWdBQUFVSUFEZXU0WjJ4NVpnQUFBcGdBQUFmOEFBQUgvTWRIT1V4b1pXRmtBQUFLbEFBQUFEWUFBQUEySytzWDkyaG9aV0VBQUFyTUFBQUFKQUFBQUNRbS9ST0ZhRzEwZUFBQUN2QUFBQUEwQUFBQU5HZSsvLzlzYjJOaEFBQUxKQUFBQUNnQUFBQW9EYndQWm0xaGVIQUFBQXRNQUFBQUlBQUFBQ0FCSUFCWGJtRnRaUUFBQzJ3QUFBS21BQUFDcG0zRStWUndiM04wQUFBT0ZBQUFBUllBQUFFV1AxUysxd0FFRXNvQmtBQUZBQUFNWlEyc0FBQUN2QXhsRGF3QUFBbGdBUFVGQ2dBQUFnQUZBd0FBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFCUVprVmtBRURxQWVvU0U0Z0FBQUhDRTRnQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUNBQUFBQUFBQU1BQUFBREFBQUFIQUFCQUFBQUFBQThBQU1BQVFBQUFCd0FCQUFnQUFBQUJBQUVBQUVBQU9vUy8vOEFBT29CLy84V0FBQUJBQUFBQUFBQUFRWUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFBQUE2bUQwTUFCUUFMQUFBSkFoRUpCQkVKQVE2bStvSUZmdnU2QkViNmd2cUNCWDc3dWdSR0QwTDZndnFDQVRnRVJnUkdBVGo2Z3ZxQ0FUZ0VSZ1JHQUFFQUFBQUFEVzRTVUFBRkFBQUpBUkVKQVJFR0d3ZFQ5M1FJakFuRStLMyt5QWlMQ0l6K3h3QUNBQUFBQUEvZkQwTUFCUUFMQUFBSkFoRUpCQkVKQVFUaUJYNzZnZ1JHKzdvRmZnVi8rb0VFUnZ1NkJFWUZmZ1YrL3NqN3V2dTYvc2dGZmdWKy9zajd1dnU2QUFFQUFBQUFEcVlTVUFBRkFBQUpBUkVKQVJFTmJ2aXRDSXYzZFFuRUIxTUJPZmQwOTNVQk9BQUJBQUFBQUFZM0U0Z0FCUUFBRXdjSkFSY0JsSlFGY3ZxT2xBV2pFNGhWOXBIMmtWVUp4QUFBQVFBQUFBQVJodytEQUFVQUFBa0ZEODMzOC92Ny9rWUZ2d25IRDRQMzh3UUYva2Y2UVFuR0FBRUFBQUFBRVJjUkZ3QUxBQUFKQ3hFWC9lMzZ3UHJBL2UwRlFQckFBaE1GUUFWQUFoUDZ3QVNFL2UwRlFQckFBaE1GUUFWQUFoUDZ3QVZBL2UzNndBQUIvLzhBQUJPVEV1d0FNd0FBQVNJSERnRVhGaGNCSVNZSEJnY0dCd1lVRnhZWEZoY1dOeUVCQmdjR0Z4WVhIZ0VYRmhjV056WTNBVFkzTmljbUp3RXVBUXBnWlU5S1JoQVNTQVhYOGVCTlBqb3BKeFFVRkJRbktUbytUUTRnK2lrM0doZ0RBeHNaVmpVM096NDZQelVIN1RzVkZSUVZQUGdUTEhRUzdEazByRmxnUi9vcUFSc1lMaXc1T0hnNE9Td3VHQnNDK2lrMVB6cytPamMyVmhrYUF3TVlHVGdIN0R4UlVFOVNQQWZzTFRJQUFBQUNBQUFBQUE2bUVsQUFHQUJHQUFBQklnY09BUWNHRkJjZUFSY1dNamMrQVRjMk5DY3VBU2NtQVNJSEJnY0dGQmNXRnhZeklSRWhJZ2NHQndZVUZ4WVhGamNoTWpjMk56WTBKeVluSmlNaEVUUW5KaWNtSXdsMmIyWmltQ2tyS3ltWVltYmVabUtYS2lzcktwZGladncyVmtoSEtTc3JLVWRJVmdKeC9ZOVdTRWNwS3lzcFIwaFdCMU5WU0VjcEt5c3BSMGhWL1k4cktVZEpWUkpRS3lxWFkyWGZaV0tZS1NzcktaaGlaZDlsWTVjcUsvbmxLeWxIU0t0SVJ5a3IrZVlyS1VkSnFrbEhLU3NCS2lsSFNhcEpSeWtyQjFOVlNFY3BLd0FBQXdBQUFBQVJGeEVYQUFNQUJ3QUxBQUFCRVNFUkFSRWhFUUVSSVJFQ2NRNm04Vm9PcHZGYURxWVJGLzJQQW5INTV2MlBBbkg1NWYyUEFuRUFBd0FBQUFBU25ndm5BQmdBTVFCS0FBQUJNaGNlQVJjV0ZBY09BUWNHSWljdUFTY21ORGMrQVRjMklUSVhIZ0VYRmhRSERnRUhCaUluTGdFbkpqUTNQZ0UzTmlFeUZ4NEJGeFlVQnc0QkJ3WWlKeTRCSnlZME56NEJOellERFhCbFlwZ3BLeXNwbUdKbDMyWmlseW9yS3lxWFltWUhKbTltWXBjcUt5c3FsMkptM21aaWx5b3JLeXFYWW1ZSEptOW1ZcGNxS3lzcWwySm0zMlZpbUNrckt5bVlZbVVMNXlzcWwySm0zbVppbHlvckt5cVhZbWJlWm1LWEtpc3JLcGRpWnQ1bVlwY3FLeXNxbDJKbTNtWmlseW9yS3lxWFltYmVabUtYS2lzcktwZGladDVtWXBjcUt3QUFBQUFDQUFBQUFBL2ZEOThBQXdBSEFBQUJFU0VSSVJFaEVRT3FCT0lDY1FUaUQ5L3p5d3cxODhzTU5RQUFBQUVBQUFBQUVSY1JGd0FDQUFBSkFnSnhEcWJ4V2hFWCtLMzRyUUFCQUFBQUFBNm1ERFVBQWdBQUNRSUU0Z1RpQk9JTU5mc2VCT0FBQWYvZ0FBQVRhUk5wQURFQUFBRUVCUVFGQkFNQ0F3SVJFQk1TRXhJRkJBVUVJU0FsSkNVa0V4SVRFaE1HQUFVRUlTQWxKQ2NtSnlZREFoRVFFeElBQ0d6K21QNngvcnIrN2Y3dXhzcHJib0I3NmVVQk9RRThBWElCZmdHV0FYRUJZUUZXQVM0Qkt1dnNtWnc0dlA0cC92bis4LzdxL3I3K3p2N1ovZnU0dTJOblVFNEJKeE5wTHBlVDZlZisxLzdUL3F2K24vNlAvbXIrZ3Y2Ty9zVCt4K1hvZklCcmFNWENBUTBCRGdGREFVc0JhY3orMms1UVoyTzd1UHY5QVNjQk1nRkNBU1VCRXdFTkFjc0FBZ0FBQUFBVGlCT0lBQ1FBUUFBQUFTQUZCQVVFQXdJREFoQVRFaE1TQlFRRkJDQWxKQ1VrRXhJVEVoQURBZ01DSlNRbEpBRWhNaGNlQVJjV0ZBY09BUWNHSXlFaUp5NEJKeVkwTno0Qk56WUp4UDVxL29MK2p2N0Uvc2ZsNkh5QWdIem81UUU1QVR3QmNnRitBeXdCZmdGeUFUd0JPZVhvZklDQWZPamwvc2YreFA2Ty9vTDZ3UWRUVzFkVWhDUW1KaVNFVkZkYitLMWNWMVNFSkNZbUpJUlVWeE9JZ0h6bzVmN0gvc1QranY2Qy9OVCtndjZPL3NUK3grWG9mSUNBZk9qbEFUa0JQQUZ5QVg0RExBRitBWElCUEFFNTVlaDhnUGdSSmlXRVUxZTRWMU9FSlNZbUpZUlRWN2hYVTRRbEpnQUFBQUlBQUFBQUU0Z1RpQUFrQUQwQUFBRWdCUVFGQkFNQ0F3SVFFeElURWdVRUJRUWdKU1FsSkJNU0V4SVFBd0lEQWlVa0pTUUJJQVVFQUJNU0VBTUNBQVVFSUNVa0FBTUNFQk1TQUNVa0NjVCthdjZDL283K3hQN0g1ZWg4Z0lCODZPVUJPUUU4QVhJQmZnTXNBWDRCY2dFOEFUbmw2SHlBZ0h6bzVmN0gvc1QranY2Qy9tb0JOd0VYQVE4Qm0zQjBkSEQrWmY3eC91bjlrdjdwL3ZIK1pYQjBkSEFCbXdFUEFSY1RpSUI4Nk9YK3gvN0UvbzcrZ3Z6VS9vTCtqdjdFL3NmbDZIeUFnSHpvNVFFNUFUd0JjZ0YrQXl3QmZnRnlBVHdCT2VYb2ZJRDhHSFJ3L21YKzhmN3AvWkwrNmY3eC9tVndkSFJ3QVpzQkR3RVhBbTRCRndFUEFadHdkQUFBQUFJQUFBQUFFNGdUaUFBREFDZ0FBQUVoRVNFQklBVUVCUVFEQWdNQ0VCTVNFeElGQkFVRUlDVWtKU1FURWhNU0VBTUNBd0lsSkNVa0Jkd0gwUGd3QStqK2F2NkMvbzcreFA3SDVlaDhnSUI4Nk9VQk9RRThBWElCZmdNc0FYNEJjZ0U4QVRubDZIeUFnSHpvNWY3SC9zVCtqdjZDQmR3SDBBWGNnSHpvNWY3SC9zVCtqdjZDL05UK2d2Nk8vc1QreCtYb2ZJQ0FmT2psQVRrQlBBRnlBWDRETEFGK0FYSUJQQUU1NWVoOGdBQUFBUUFBQUFFQUFEL3MvRHRmRHp6MUFBc1RpQUFBQUFEYzFVZjFBQUFBQU55RWEvWC80QUFBRTVNVGlBQUFBQWdBQWdBQUFBQUFBQUFCQUFBVGlBQUFBQUFUaVAvZy8vVVRrd0FCQUFBQUFBQUFBQUFBQUFBQUFBQUFCd0FBQUFBVGlBQUFFNGdBQUJPSUFBQVRpQUFBQmpZQUFCT0lBQUFBQVAvL0FBQUFBQUFBQUFBQUFBQUEvK0FBQUFBQUFBQUFBQUFBQUNJQU5nQllBR3dBZ0FDVUFMUUJEZ0Y4QVpvQ0VBSW1BalFDUWdLb0F5SURwZ1ArQUFFQUFBQVRBRXNBQXdBQUFBQUFBZ0FBQUFvQUNnQUFBUDhBQUFBQUFBQUFBQUFRQU1ZQUFRQUFBQUFBQVFBVUFBQUFBUUFBQUFBQUFnQUhBQlFBQVFBQUFBQUFBd0FVQUJzQUFRQUFBQUFBQkFBVUFDOEFBUUFBQUFBQUJRQUxBRU1BQVFBQUFBQUFCZ0FVQUU0QUFRQUFBQUFBQ2dBckFHSUFBUUFBQUFBQUN3QVRBSTBBQXdBQkJBa0FBUUFvQUtBQUF3QUJCQWtBQWdBT0FNZ0FBd0FCQkFrQUF3QW9BTllBQXdBQkJBa0FCQUFvQVA0QUF3QUJCQWtBQlFBV0FTWUFBd0FCQkFrQUJnQW9BVHdBQXdBQkJBa0FDZ0JXQVdRQUF3QUJCQWtBQ3dBbUFicHBZMjl1Wm05dWRDMTJkV1V0T0RSak5EWXhabEpsWjNWc1lYSnBZMjl1Wm05dWRDMTJkV1V0T0RSak5EWXhabWxqYjI1bWIyNTBMWFoxWlMwNE5HTTBOakZtVm1WeWMybHZiaUF4TGpCcFkyOXVabTl1ZEMxMmRXVXRPRFJqTkRZeFprZGxibVZ5WVhSbFpDQmllU0J6ZG1jeWRIUm1JR1p5YjIwZ1JtOXVkR1ZzYkc4Z2NISnZhbVZqZEM1b2RIUndPaTh2Wm05dWRHVnNiRzh1WTI5dEFHa0FZd0J2QUc0QVpnQnZBRzRBZEFBdEFIWUFkUUJsQUMwQU9BQTBBR01BTkFBMkFERUFaZ0JTQUdVQVp3QjFBR3dBWVFCeUFHa0FZd0J2QUc0QVpnQnZBRzRBZEFBdEFIWUFkUUJsQUMwQU9BQTBBR01BTkFBMkFERUFaZ0JwQUdNQWJ3QnVBR1lBYndCdUFIUUFMUUIyQUhVQVpRQXRBRGdBTkFCakFEUUFOZ0F4QUdZQVZnQmxBSElBY3dCcEFHOEFiZ0FnQURFQUxnQXdBR2tBWXdCdkFHNEFaZ0J2QUc0QWRBQXRBSFlBZFFCbEFDMEFPQUEwQUdNQU5BQTJBREVBWmdCSEFHVUFiZ0JsQUhJQVlRQjBBR1VBWkFBZ0FHSUFlUUFnQUhNQWRnQm5BRElBZEFCMEFHWUFJQUJtQUhJQWJ3QnRBQ0FBUmdCdkFHNEFkQUJsQUd3QWJBQnZBQ0FBY0FCeUFHOEFhZ0JsQUdNQWRBQXVBR2dBZEFCMEFIQUFPZ0F2QUM4QVpnQnZBRzRBZEFCbEFHd0FiQUJ2QUM0QVl3QnZBRzBBQUFBQ0FBQUFBQUFBQURJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVRBQk1BQUFFQ0FRTUJCQUVGQVFZQkJ3RUlBUWtCQ2dFTEFRd0JEUUVPQVE4QkVBRVJBUklCRXhGaGNuSnZkeTFzWldaMExXUnZkV0pzWlFwaGNuSnZkeTFzWldaMEVtRnljbTkzTFhKcFoyaDBMV1J2ZFdKc1pRdGhjbkp2ZHkxeWFXZG9kQXBpY21WaFpHTnlkVzFpQ1dOb1pXTnJiV0Z5YXdWamJHOXpaUWRqYjI1bWFYSnRCR2x1Wm04RWJXVnVkUVJ0YjNKbEJYQmhkWE5sQkhCc1lYa0tkSEpwWVc1bmJHVXRjeEIxYzJWeUxYTjBZWFIxY3kxaGQyRjVEM1Z6WlhJdGMzUmhkSFZ6TFdSdVpCVjFjMlZ5TFhOMFlYUjFjeTFwYm5acGMybGliR1VTZFhObGNpMXpkR0YwZFhNdGIyNXNhVzVsQUFBPVwiIiwiaW1wb3J0IHsgZ2V0R2V0dGV4dEJ1aWxkZXIgfSBmcm9tICdAbmV4dGNsb3VkL2wxMG4vZGlzdC9nZXR0ZXh0J1xuXG5jb25zdCBndEJ1aWxkZXIgPSBnZXRHZXR0ZXh0QnVpbGRlcigpXG5cdC5kZXRlY3RMb2NhbGUoKVxuXG4vLyBEZWNvbXByZXNzIFRyYW5zbGF0aW9ucyB0byBnZXR0ZXh0IGZvcm1hdCBhbmQgYWRkIHRvIGd0QnVpbGRlclxuVFJBTlNMQVRJT05TLmZvckVhY2goKGxhbmcpID0+IHtcblx0Y29uc3QgdHJhbnNsYXRpb25zID0ge31cblxuXHRmb3IgKGNvbnN0IGtleSBpbiBsYW5nLnRyYW5zbGF0aW9ucykge1xuXHRcdC8vIFBsdXJhbFxuXHRcdGlmIChsYW5nLnRyYW5zbGF0aW9uc1trZXldLnBsdXJhbElkKSB7XG5cdFx0XHR0cmFuc2xhdGlvbnNba2V5XSA9IHtcblx0XHRcdFx0bXNnaWQ6IGtleSxcblx0XHRcdFx0bXNnaWRfcGx1cmFsOiBsYW5nLnRyYW5zbGF0aW9uc1trZXldLnBsdXJhbElkLFxuXHRcdFx0XHRtc2dzdHI6IGxhbmcudHJhbnNsYXRpb25zW2tleV0ubXNnc3RyLFxuXHRcdFx0fVxuXHRcdFx0Y29udGludWVcblx0XHR9XG5cblx0XHQvLyBTaW5ndWxhclxuXHRcdHRyYW5zbGF0aW9uc1trZXldID0ge1xuXHRcdFx0bXNnaWQ6IGtleSxcblx0XHRcdG1zZ3N0cjogW1xuXHRcdFx0XHRsYW5nLnRyYW5zbGF0aW9uc1trZXldLFxuXHRcdFx0XSxcblx0XHR9XG5cdH1cblxuXHRndEJ1aWxkZXIuYWRkVHJhbnNsYXRpb24obGFuZy5sb2NhbGUsIHtcblx0XHR0cmFuc2xhdGlvbnM6IHtcblx0XHRcdCcnOiB0cmFuc2xhdGlvbnMsXG5cdFx0fSxcblx0fSlcbn0pXG5cbmNvbnN0IGd0ID0gZ3RCdWlsZGVyLmJ1aWxkKClcblxuY29uc3QgbiA9IGd0Lm5nZXR0ZXh0LmJpbmQoZ3QpXG5jb25zdCB0ID0gZ3QuZ2V0dGV4dC5iaW5kKGd0KVxuXG5leHBvcnQgeyB0LCBuIH1cbiIsIlxuLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbmNvbnN0IEdlblJhbmRvbUlkID0gKGxlbmd0aCkgPT4ge1xuXHRyZXR1cm4gTWF0aC5yYW5kb20oKVxuXHRcdC50b1N0cmluZygzNilcblx0XHQucmVwbGFjZSgvW15hLXpdKy9nLCAnJylcblx0XHQuc3Vic3RyKDAsIGxlbmd0aCB8fCA1KVxufVxuXG5leHBvcnQgZGVmYXVsdCBHZW5SYW5kb21JZFxuIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFkgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cbmltcG9ydCBWdWUgZnJvbSAndnVlJ1xuXG4vKipcbiAqIFZhbGlkYXRlIGNoaWxkcmVuIG9mIGEgdnVlIGNvbXBvbmVudFxuICpcbiAqIEBwYXJhbSB7T2JqZWN0W119IHNsb3RzIHRoZSB2dWUgY29tcG9uZW50IHNsb3RcbiAqIEBwYXJhbSB7U3RyaW5nW119IGFsbG93ZWQgdGhlIGFsbG93ZWQgY29tcG9uZW50cyBuYW1lXG4gKiBAcGFyYW0ge09iamVjdH0gdm0gdGhlIHZ1ZSBjb21wb25lbnQgaW5zdGFuY2VcbiAqL1xuY29uc3QgVmFsaWRhdGVTbG90ID0gKHNsb3RzLCBhbGxvd2VkLCB2bSkgPT4ge1xuXHRpZiAoc2xvdHMgPT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVyblxuXHR9XG5cblx0Zm9yIChsZXQgaW5kZXggPSBzbG90cy5sZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG5cdFx0Y29uc3Qgbm9kZSA9IHNsb3RzW2luZGV4XVxuXHRcdC8vIGFsc28gY2hlY2sgYWdhaW5zdCBhbGxvd2VkIHRvIGF2b2lkIHVuaW5pdGlhdGVkIHZub2RlcyB3aXRoIG5vIGNvbXBvbmVudE9wdGlvbnNcblx0XHRjb25zdCBpc0h0bWxFbGVtZW50ID0gIW5vZGUuY29tcG9uZW50T3B0aW9ucyAmJiBub2RlLnRhZyAmJiBhbGxvd2VkLmluZGV4T2Yobm9kZS50YWcpID09PSAtMVxuXHRcdGNvbnN0IGlzVnVlQ29tcG9uZW50ID0gISFub2RlLmNvbXBvbmVudE9wdGlvbnMgJiYgdHlwZW9mIG5vZGUuY29tcG9uZW50T3B0aW9ucy50YWcgPT09ICdzdHJpbmcnXG5cdFx0Y29uc3QgaXNGb3JiaWRkZW5Db21wb25lbnQgPSBpc1Z1ZUNvbXBvbmVudCAmJiBhbGxvd2VkLmluZGV4T2Yobm9kZS5jb21wb25lbnRPcHRpb25zLnRhZykgPT09IC0xXG5cblx0XHQvLyBpZiBodG1sIGVsZW1lbnQgb3Igbm90IGEgdnVlIGNvbXBvbmVudCBvciB2dWUgY29tcG9uZW50IG5vdCBpbiBhbGxvd2VkIHRhZ3Ncblx0XHRpZiAoaXNIdG1sRWxlbWVudCB8fCAhaXNWdWVDb21wb25lbnQgfHwgaXNGb3JiaWRkZW5Db21wb25lbnQpIHtcblx0XHRcdC8vIG9ubHkgd2FybiB3aGVuIGh0bWwgZWxtZW50IG9yIGZvcmJpZGRlbiBjb21wb25lbnRcblx0XHRcdC8vIHNvbWV0aW1lcyB0ZXh0IG5vZGVzIGFyZSBwcmVzZW50IHdoaWNoIGFyZSBoYXJkbHkgcmVtb3ZlYWJsZSBieSB0aGUgZGV2ZWxvcGVyIGFuZCBzcGFtIHRoZSB3YXJuaW5nc1xuXHRcdFx0aWYgKGlzSHRtbEVsZW1lbnQgfHwgaXNGb3JiaWRkZW5Db21wb25lbnQpIHtcblx0XHRcdFx0VnVlLnV0aWwud2FybihgJHtpc0h0bWxFbGVtZW50ID8gbm9kZS50YWcgOiBub2RlLmNvbXBvbmVudE9wdGlvbnMudGFnfSBpcyBub3QgYWxsb3dlZCBpbnNpZGUgdGhlICR7dm0uJG9wdGlvbnMubmFtZX0gY29tcG9uZW50YCwgdm0pXG5cdFx0XHR9XG5cblx0XHRcdC8vIGNsZWFudXBcblx0XHRcdHNsb3RzLnNwbGljZShpbmRleCwgMSlcblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVmFsaWRhdGVTbG90XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAbmV4dGNsb3VkL2wxMG4vZGlzdC9nZXR0ZXh0XCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZnJvbS5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuaXRlcmF0b3IuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNsaWNlLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zcGxpY2UuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3IuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3JzLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50by1zdHJpbmcuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pdGVyYXRvci5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnJlcGxhY2UuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy50cmltLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5zeW1ib2wuZGVzY3JpcHRpb24uanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC5pdGVyYXRvci5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLml0ZXJhdG9yLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInYtdG9vbHRpcFwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJ2dWVcIik7Il0sInNvdXJjZVJvb3QiOiIifQ==","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear' \n * that is a function which will clear the timer to prevent previously scheduled executions. \n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {Function} function to wrap\n * @param {Number} timeout in ms (`100`)\n * @param {Boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nfunction debounce(func, wait, immediate){\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n };\n\n var debounced = function(){\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n \n debounced.flush = function() {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n \n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n};\n\n// Adds compatibility for ES modules\ndebounce.debounce = debounce;\n\nmodule.exports = debounce;\n","'use strict';\nconst stripAnsi = require('strip-ansi');\nconst charRegex = require('char-regex');\n\nconst stringLength = string => {\n\tif (string === '') {\n\t\treturn 0;\n\t}\n\n\tconst strippedString = stripAnsi(string);\n\n\tif (strippedString === '') {\n\t\treturn 0;\n\t}\n\n\treturn strippedString.match(charRegex()).length;\n};\n\nmodule.exports = stringLength;\n","'use strict';\nconst ansiRegex = require('ansi-regex');\n\nmodule.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;\n","'use strict';\n\nmodule.exports = ({onlyFirst = false} = {}) => {\n\tconst pattern = [\n\t\t'[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n};\n","\"use strict\"\r\n\r\n// Based on: https://github.com/lodash/lodash/blob/6018350ac10d5ce6a5b7db625140b82aeab804df/.internal/unicodeSize.js\r\n\r\nmodule.exports = () => {\r\n\t// Used to compose unicode character classes.\r\n\tconst astralRange = \"\\\\ud800-\\\\udfff\"\r\n\tconst comboMarksRange = \"\\\\u0300-\\\\u036f\"\r\n\tconst comboHalfMarksRange = \"\\\\ufe20-\\\\ufe2f\"\r\n\tconst comboSymbolsRange = \"\\\\u20d0-\\\\u20ff\"\r\n\tconst comboMarksExtendedRange = \"\\\\u1ab0-\\\\u1aff\"\r\n\tconst comboMarksSupplementRange = \"\\\\u1dc0-\\\\u1dff\"\r\n\tconst comboRange = comboMarksRange + comboHalfMarksRange + comboSymbolsRange + comboMarksExtendedRange + comboMarksSupplementRange\r\n\tconst varRange = \"\\\\ufe0e\\\\ufe0f\"\r\n\tconst familyRange = \"\\\\uD83D\\\\uDC69\\\\uD83C\\\\uDFFB\\\\u200D\\\\uD83C\\\\uDF93\"\r\n\r\n\t// Used to compose unicode capture groups.\r\n\tconst astral = `[${astralRange}]`\r\n\tconst combo = `[${comboRange}]`\r\n\tconst fitz = \"\\\\ud83c[\\\\udffb-\\\\udfff]\"\r\n\tconst modifier = `(?:${combo}|${fitz})`\r\n\tconst nonAstral = `[^${astralRange}]`\r\n\tconst regional = \"(?:\\\\uD83C[\\\\uDDE6-\\\\uDDFF]){2}\"\r\n\tconst surrogatePair = \"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\"\r\n\tconst zwj = \"\\\\u200d\"\r\n\tconst blackFlag = \"(?:\\\\ud83c\\\\udff4\\\\udb40\\\\udc67\\\\udb40\\\\udc62\\\\udb40(?:\\\\udc65|\\\\udc73|\\\\udc77)\\\\udb40(?:\\\\udc6e|\\\\udc63|\\\\udc6c)\\\\udb40(?:\\\\udc67|\\\\udc74|\\\\udc73)\\\\udb40\\\\udc7f)\"\r\n\tconst family = `[${familyRange}]`\r\n\r\n\t// Used to compose unicode regexes.\r\n\tconst optModifier = `${modifier}?`\r\n\tconst optVar = `[${varRange}]?`\r\n\tconst optJoin = `(?:${zwj}(?:${[nonAstral, regional, surrogatePair].join(\"|\")})${optVar + optModifier})*`\r\n\tconst seq = optVar + optModifier + optJoin\r\n\tconst nonAstralCombo = `${nonAstral}${combo}?`\r\n\tconst symbol = `(?:${[nonAstralCombo, combo, regional, surrogatePair, astral, family].join(\"|\")})`\r\n\r\n\t// Used to match [String symbols](https://mathiasbynens.be/notes/javascript-unicode).\r\n\treturn new RegExp(`${blackFlag}|${fitz}(?=${fitz})|${symbol + seq}`, \"g\")\r\n}\r\n","if (!Array.prototype.find) {\n Array.prototype.find = function(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined')\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function')\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value\n }\n }\n return undefined\n };\n}\n\nif (window && typeof window.CustomEvent !== \"function\") {\n function CustomEvent$1(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: undefined\n };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt\n }\n\n if (typeof window.Event !== 'undefined') {\n CustomEvent$1.prototype = window.Event.prototype;\n }\n\n window.CustomEvent = CustomEvent$1;\n}\n\nclass TributeEvents {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.events = this;\n }\n\n static keys() {\n return [\n {\n key: 9,\n value: \"TAB\"\n },\n {\n key: 8,\n value: \"DELETE\"\n },\n {\n key: 13,\n value: \"ENTER\"\n },\n {\n key: 27,\n value: \"ESCAPE\"\n },\n {\n key: 32,\n value: \"SPACE\"\n },\n {\n key: 38,\n value: \"UP\"\n },\n {\n key: 40,\n value: \"DOWN\"\n }\n ];\n }\n\n bind(element) {\n element.boundKeydown = this.keydown.bind(element, this);\n element.boundKeyup = this.keyup.bind(element, this);\n element.boundInput = this.input.bind(element, this);\n\n element.addEventListener(\"keydown\", element.boundKeydown, false);\n element.addEventListener(\"keyup\", element.boundKeyup, false);\n element.addEventListener(\"input\", element.boundInput, false);\n }\n\n unbind(element) {\n element.removeEventListener(\"keydown\", element.boundKeydown, false);\n element.removeEventListener(\"keyup\", element.boundKeyup, false);\n element.removeEventListener(\"input\", element.boundInput, false);\n\n delete element.boundKeydown;\n delete element.boundKeyup;\n delete element.boundInput;\n }\n\n keydown(instance, event) {\n if (instance.shouldDeactivate(event)) {\n instance.tribute.isActive = false;\n instance.tribute.hideMenu();\n }\n\n let element = this;\n instance.commandEvent = false;\n\n TributeEvents.keys().forEach(o => {\n if (o.key === event.keyCode) {\n instance.commandEvent = true;\n instance.callbacks()[o.value.toLowerCase()](event, element);\n }\n });\n }\n\n input(instance, event) {\n instance.inputEvent = true;\n instance.keyup.call(this, instance, event);\n }\n\n click(instance, event) {\n let tribute = instance.tribute;\n if (tribute.menu && tribute.menu.contains(event.target)) {\n let li = event.target;\n event.preventDefault();\n event.stopPropagation();\n while (li.nodeName.toLowerCase() !== \"li\") {\n li = li.parentNode;\n if (!li || li === tribute.menu) {\n throw new Error(\"cannot find the <li> container for the click\");\n }\n }\n tribute.selectItemAtIndex(li.getAttribute(\"data-index\"), event);\n tribute.hideMenu();\n\n // TODO: should fire with externalTrigger and target is outside of menu\n } else if (tribute.current.element && !tribute.current.externalTrigger) {\n tribute.current.externalTrigger = false;\n setTimeout(() => tribute.hideMenu());\n }\n }\n\n keyup(instance, event) {\n if (instance.inputEvent) {\n instance.inputEvent = false;\n }\n instance.updateSelection(this);\n\n if (event.keyCode === 27) return;\n\n if (!instance.tribute.allowSpaces && instance.tribute.hasTrailingSpace) {\n instance.tribute.hasTrailingSpace = false;\n instance.commandEvent = true;\n instance.callbacks()[\"space\"](event, this);\n return;\n }\n\n if (!instance.tribute.isActive) {\n if (instance.tribute.autocompleteMode) {\n instance.callbacks().triggerChar(event, this, \"\");\n } else {\n let keyCode = instance.getKeyCode(instance, this, event);\n\n if (isNaN(keyCode) || !keyCode) return;\n\n let trigger = instance.tribute.triggers().find(trigger => {\n return trigger.charCodeAt(0) === keyCode;\n });\n\n if (typeof trigger !== \"undefined\") {\n instance.callbacks().triggerChar(event, this, trigger);\n }\n }\n }\n\n if (\n instance.tribute.current.mentionText.length <\n instance.tribute.current.collection.menuShowMinLength\n ) {\n return;\n }\n\n if (\n ((instance.tribute.current.trigger ||\n instance.tribute.autocompleteMode) &&\n instance.commandEvent === false) ||\n (instance.tribute.isActive && event.keyCode === 8)\n ) {\n instance.tribute.showMenuFor(this, true);\n }\n }\n\n shouldDeactivate(event) {\n if (!this.tribute.isActive) return false;\n\n if (this.tribute.current.mentionText.length === 0) {\n let eventKeyPressed = false;\n TributeEvents.keys().forEach(o => {\n if (event.keyCode === o.key) eventKeyPressed = true;\n });\n\n return !eventKeyPressed;\n }\n\n return false;\n }\n\n getKeyCode(instance, el, event) {\n let tribute = instance.tribute;\n let info = tribute.range.getTriggerInfo(\n false,\n tribute.hasTrailingSpace,\n true,\n tribute.allowSpaces,\n tribute.autocompleteMode\n );\n\n if (info) {\n return info.mentionTriggerChar.charCodeAt(0);\n } else {\n return false;\n }\n }\n\n updateSelection(el) {\n this.tribute.current.element = el;\n let info = this.tribute.range.getTriggerInfo(\n false,\n this.tribute.hasTrailingSpace,\n true,\n this.tribute.allowSpaces,\n this.tribute.autocompleteMode\n );\n\n if (info) {\n this.tribute.current.selectedPath = info.mentionSelectedPath;\n this.tribute.current.mentionText = info.mentionText;\n this.tribute.current.selectedOffset = info.mentionSelectedOffset;\n }\n }\n\n callbacks() {\n return {\n triggerChar: (e, el, trigger) => {\n let tribute = this.tribute;\n tribute.current.trigger = trigger;\n\n let collectionItem = tribute.collection.find(item => {\n return item.trigger === trigger;\n });\n\n tribute.current.collection = collectionItem;\n\n if (\n tribute.current.mentionText.length >=\n tribute.current.collection.menuShowMinLength &&\n tribute.inputEvent\n ) {\n tribute.showMenuFor(el, true);\n }\n },\n enter: (e, el) => {\n // choose selection\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n setTimeout(() => {\n this.tribute.selectItemAtIndex(this.tribute.menuSelected, e);\n this.tribute.hideMenu();\n }, 0);\n }\n },\n escape: (e, el) => {\n if (this.tribute.isActive) {\n e.preventDefault();\n e.stopPropagation();\n this.tribute.isActive = false;\n this.tribute.hideMenu();\n }\n },\n tab: (e, el) => {\n // choose first match\n this.callbacks().enter(e, el);\n },\n space: (e, el) => {\n if (this.tribute.isActive) {\n if (this.tribute.spaceSelectsMatch) {\n this.callbacks().enter(e, el);\n } else if (!this.tribute.allowSpaces) {\n e.stopPropagation();\n setTimeout(() => {\n this.tribute.hideMenu();\n this.tribute.isActive = false;\n }, 0);\n }\n }\n },\n up: (e, el) => {\n // navigate up ul\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n let count = this.tribute.current.filteredItems.length,\n selected = this.tribute.menuSelected;\n\n if (count > selected && selected > 0) {\n this.tribute.menuSelected--;\n this.setActiveLi();\n } else if (selected === 0) {\n this.tribute.menuSelected = count - 1;\n this.setActiveLi();\n this.tribute.menu.scrollTop = this.tribute.menu.scrollHeight;\n }\n }\n },\n down: (e, el) => {\n // navigate down ul\n if (this.tribute.isActive && this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n let count = this.tribute.current.filteredItems.length - 1,\n selected = this.tribute.menuSelected;\n\n if (count > selected) {\n this.tribute.menuSelected++;\n this.setActiveLi();\n } else if (count === selected) {\n this.tribute.menuSelected = 0;\n this.setActiveLi();\n this.tribute.menu.scrollTop = 0;\n }\n }\n },\n delete: (e, el) => {\n if (\n this.tribute.isActive &&\n this.tribute.current.mentionText.length < 1\n ) {\n this.tribute.hideMenu();\n } else if (this.tribute.isActive) {\n this.tribute.showMenuFor(el);\n }\n }\n };\n }\n\n setActiveLi(index) {\n let lis = this.tribute.menu.querySelectorAll(\"li\"),\n length = lis.length >>> 0;\n\n if (index) this.tribute.menuSelected = parseInt(index);\n\n for (let i = 0; i < length; i++) {\n let li = lis[i];\n if (i === this.tribute.menuSelected) {\n li.classList.add(this.tribute.current.collection.selectClass);\n\n let liClientRect = li.getBoundingClientRect();\n let menuClientRect = this.tribute.menu.getBoundingClientRect();\n\n if (liClientRect.bottom > menuClientRect.bottom) {\n let scrollDistance = liClientRect.bottom - menuClientRect.bottom;\n this.tribute.menu.scrollTop += scrollDistance;\n } else if (liClientRect.top < menuClientRect.top) {\n let scrollDistance = menuClientRect.top - liClientRect.top;\n this.tribute.menu.scrollTop -= scrollDistance;\n }\n } else {\n li.classList.remove(this.tribute.current.collection.selectClass);\n }\n }\n }\n\n getFullHeight(elem, includeMargin) {\n let height = elem.getBoundingClientRect().height;\n\n if (includeMargin) {\n let style = elem.currentStyle || window.getComputedStyle(elem);\n return (\n height + parseFloat(style.marginTop) + parseFloat(style.marginBottom)\n );\n }\n\n return height;\n }\n}\n\nclass TributeMenuEvents {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.menuEvents = this;\n this.menu = this.tribute.menu;\n }\n\n bind(menu) {\n this.menuClickEvent = this.tribute.events.click.bind(null, this);\n this.menuContainerScrollEvent = this.debounce(\n () => {\n if (this.tribute.isActive) {\n this.tribute.showMenuFor(this.tribute.current.element, false);\n }\n },\n 300,\n false\n );\n this.windowResizeEvent = this.debounce(\n () => {\n if (this.tribute.isActive) {\n this.tribute.range.positionMenuAtCaret(true);\n }\n },\n 300,\n false\n );\n\n // fixes IE11 issues with mousedown\n this.tribute.range\n .getDocument()\n .addEventListener(\"MSPointerDown\", this.menuClickEvent, false);\n this.tribute.range\n .getDocument()\n .addEventListener(\"mousedown\", this.menuClickEvent, false);\n window.addEventListener(\"resize\", this.windowResizeEvent);\n\n if (this.menuContainer) {\n this.menuContainer.addEventListener(\n \"scroll\",\n this.menuContainerScrollEvent,\n false\n );\n } else {\n window.addEventListener(\"scroll\", this.menuContainerScrollEvent);\n }\n }\n\n unbind(menu) {\n this.tribute.range\n .getDocument()\n .removeEventListener(\"mousedown\", this.menuClickEvent, false);\n this.tribute.range\n .getDocument()\n .removeEventListener(\"MSPointerDown\", this.menuClickEvent, false);\n window.removeEventListener(\"resize\", this.windowResizeEvent);\n\n if (this.menuContainer) {\n this.menuContainer.removeEventListener(\n \"scroll\",\n this.menuContainerScrollEvent,\n false\n );\n } else {\n window.removeEventListener(\"scroll\", this.menuContainerScrollEvent);\n }\n }\n\n debounce(func, wait, immediate) {\n var timeout;\n return () => {\n var context = this,\n args = arguments;\n var later = () => {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n}\n\n// Thanks to https://github.com/jeff-collins/ment.io\n\nclass TributeRange {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.range = this;\n }\n\n getDocument() {\n let iframe;\n if (this.tribute.current.collection) {\n iframe = this.tribute.current.collection.iframe;\n }\n\n if (!iframe) {\n return document\n }\n\n return iframe.contentWindow.document\n }\n\n positionMenuAtCaret(scrollTo) {\n let context = this.tribute.current,\n coordinates;\n\n let info = this.getTriggerInfo(false, this.tribute.hasTrailingSpace, true, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (typeof info !== 'undefined') {\n\n if(!this.tribute.positionMenu){\n this.tribute.menu.style.cssText = `display: block;`;\n return\n }\n\n if (!this.isContentEditable(context.element)) {\n coordinates = this.getTextAreaOrInputUnderlinePosition(this.tribute.current.element,\n info.mentionPosition);\n }\n else {\n coordinates = this.getContentEditableCaretPosition(info.mentionPosition);\n }\n\n this.tribute.menu.style.cssText = `top: ${coordinates.top}px;\n left: ${coordinates.left}px;\n right: ${coordinates.right}px;\n bottom: ${coordinates.bottom}px;\n position: absolute;\n display: block;`;\n\n if (coordinates.left === 'auto') {\n this.tribute.menu.style.left = 'auto';\n }\n\n if (coordinates.top === 'auto') {\n this.tribute.menu.style.top = 'auto';\n }\n\n if (scrollTo) this.scrollIntoView();\n\n window.setTimeout(() => {\n let menuDimensions = {\n width: this.tribute.menu.offsetWidth,\n height: this.tribute.menu.offsetHeight\n };\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n let menuIsOffScreenHorizontally = window.innerWidth > menuDimensions.width && (menuIsOffScreen.left || menuIsOffScreen.right);\n let menuIsOffScreenVertically = window.innerHeight > menuDimensions.height && (menuIsOffScreen.top || menuIsOffScreen.bottom);\n if (menuIsOffScreenHorizontally || menuIsOffScreenVertically) {\n this.tribute.menu.style.cssText = 'display: none';\n this.positionMenuAtCaret(scrollTo);\n }\n }, 0);\n\n } else {\n this.tribute.menu.style.cssText = 'display: none';\n }\n }\n\n get menuContainerIsBody() {\n return this.tribute.menuContainer === document.body || !this.tribute.menuContainer;\n }\n\n\n selectElement(targetElement, path, offset) {\n let range;\n let elem = targetElement;\n\n if (path) {\n for (var i = 0; i < path.length; i++) {\n elem = elem.childNodes[path[i]];\n if (elem === undefined) {\n return\n }\n while (elem.length < offset) {\n offset -= elem.length;\n elem = elem.nextSibling;\n }\n if (elem.childNodes.length === 0 && !elem.length) {\n elem = elem.previousSibling;\n }\n }\n }\n let sel = this.getWindowSelection();\n\n range = this.getDocument().createRange();\n range.setStart(elem, offset);\n range.setEnd(elem, offset);\n range.collapse(true);\n\n try {\n sel.removeAllRanges();\n } catch (error) {}\n\n sel.addRange(range);\n targetElement.focus();\n }\n\n replaceTriggerText(text, requireLeadingSpace, hasTrailingSpace, originalEvent, item) {\n let info = this.getTriggerInfo(true, hasTrailingSpace, requireLeadingSpace, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (info !== undefined) {\n let context = this.tribute.current;\n let replaceEvent = new CustomEvent('tribute-replaced', {\n detail: {\n item: item,\n instance: context,\n context: info,\n event: originalEvent,\n }\n });\n\n if (!this.isContentEditable(context.element)) {\n let myField = this.tribute.current.element;\n let textSuffix = typeof this.tribute.replaceTextSuffix == 'string'\n ? this.tribute.replaceTextSuffix\n : ' ';\n text += textSuffix;\n let startPos = info.mentionPosition;\n let endPos = info.mentionPosition + info.mentionText.length + textSuffix.length;\n if (!this.tribute.autocompleteMode) {\n endPos += info.mentionTriggerChar.length - 1;\n }\n myField.value = myField.value.substring(0, startPos) + text +\n myField.value.substring(endPos, myField.value.length);\n myField.selectionStart = startPos + text.length;\n myField.selectionEnd = startPos + text.length;\n } else {\n // add a space to the end of the pasted text\n let textSuffix = typeof this.tribute.replaceTextSuffix == 'string'\n ? this.tribute.replaceTextSuffix\n : '\\xA0';\n text += textSuffix;\n let endPos = info.mentionPosition + info.mentionText.length;\n if (!this.tribute.autocompleteMode) {\n endPos += info.mentionTriggerChar.length;\n }\n this.pasteHtml(text, info.mentionPosition, endPos);\n }\n\n context.element.dispatchEvent(new CustomEvent('input', { bubbles: true }));\n context.element.dispatchEvent(replaceEvent);\n }\n }\n\n pasteHtml(html, startPos, endPos) {\n let range, sel;\n sel = this.getWindowSelection();\n range = this.getDocument().createRange();\n range.setStart(sel.anchorNode, startPos);\n range.setEnd(sel.anchorNode, endPos);\n range.deleteContents();\n\n let el = this.getDocument().createElement('div');\n el.innerHTML = html;\n let frag = this.getDocument().createDocumentFragment(),\n node, lastNode;\n while ((node = el.firstChild)) {\n lastNode = frag.appendChild(node);\n }\n range.insertNode(frag);\n\n // Preserve the selection\n if (lastNode) {\n range = range.cloneRange();\n range.setStartAfter(lastNode);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n }\n\n getWindowSelection() {\n if (this.tribute.collection.iframe) {\n return this.tribute.collection.iframe.contentWindow.getSelection()\n }\n\n return window.getSelection()\n }\n\n getNodePositionInParent(element) {\n if (element.parentNode === null) {\n return 0\n }\n\n for (var i = 0; i < element.parentNode.childNodes.length; i++) {\n let node = element.parentNode.childNodes[i];\n\n if (node === element) {\n return i\n }\n }\n }\n\n getContentEditableSelectedPath(ctx) {\n let sel = this.getWindowSelection();\n let selected = sel.anchorNode;\n let path = [];\n let offset;\n\n if (selected != null) {\n let i;\n let ce = selected.contentEditable;\n while (selected !== null && ce !== 'true') {\n i = this.getNodePositionInParent(selected);\n path.push(i);\n selected = selected.parentNode;\n if (selected !== null) {\n ce = selected.contentEditable;\n }\n }\n path.reverse();\n\n // getRangeAt may not exist, need alternative\n offset = sel.getRangeAt(0).startOffset;\n\n return {\n selected: selected,\n path: path,\n offset: offset\n }\n }\n }\n\n getTextPrecedingCurrentSelection() {\n let context = this.tribute.current,\n text = '';\n\n if (!this.isContentEditable(context.element)) {\n let textComponent = this.tribute.current.element;\n if (textComponent) {\n let startPos = textComponent.selectionStart;\n if (textComponent.value && startPos >= 0) {\n text = textComponent.value.substring(0, startPos);\n }\n }\n\n } else {\n let selectedElem = this.getWindowSelection().anchorNode;\n\n if (selectedElem != null) {\n let workingNodeContent = selectedElem.textContent;\n let selectStartOffset = this.getWindowSelection().getRangeAt(0).startOffset;\n\n if (workingNodeContent && selectStartOffset >= 0) {\n text = workingNodeContent.substring(0, selectStartOffset);\n }\n }\n }\n\n return text\n }\n\n getLastWordInText(text) {\n text = text.replace(/\\u00A0/g, ' '); // https://stackoverflow.com/questions/29850407/how-do-i-replace-unicode-character-u00a0-with-a-space-in-javascript\n let wordsArray = text.split(/\\s+/);\n let worldsCount = wordsArray.length - 1;\n return wordsArray[worldsCount].trim()\n }\n\n getTriggerInfo(menuAlreadyActive, hasTrailingSpace, requireLeadingSpace, allowSpaces, isAutocomplete) {\n let ctx = this.tribute.current;\n let selected, path, offset;\n\n if (!this.isContentEditable(ctx.element)) {\n selected = this.tribute.current.element;\n } else {\n let selectionInfo = this.getContentEditableSelectedPath(ctx);\n\n if (selectionInfo) {\n selected = selectionInfo.selected;\n path = selectionInfo.path;\n offset = selectionInfo.offset;\n }\n }\n\n let effectiveRange = this.getTextPrecedingCurrentSelection();\n let lastWordOfEffectiveRange = this.getLastWordInText(effectiveRange);\n\n if (isAutocomplete) {\n return {\n mentionPosition: effectiveRange.length - lastWordOfEffectiveRange.length,\n mentionText: lastWordOfEffectiveRange,\n mentionSelectedElement: selected,\n mentionSelectedPath: path,\n mentionSelectedOffset: offset\n }\n }\n\n if (effectiveRange !== undefined && effectiveRange !== null) {\n let mostRecentTriggerCharPos = -1;\n let triggerChar;\n\n this.tribute.collection.forEach(config => {\n let c = config.trigger;\n let idx = config.requireLeadingSpace ?\n this.lastIndexWithLeadingSpace(effectiveRange, c) :\n effectiveRange.lastIndexOf(c);\n\n if (idx > mostRecentTriggerCharPos) {\n mostRecentTriggerCharPos = idx;\n triggerChar = c;\n requireLeadingSpace = config.requireLeadingSpace;\n }\n });\n\n if (mostRecentTriggerCharPos >= 0 &&\n (\n mostRecentTriggerCharPos === 0 ||\n !requireLeadingSpace ||\n /[\\xA0\\s]/g.test(\n effectiveRange.substring(\n mostRecentTriggerCharPos - 1,\n mostRecentTriggerCharPos)\n )\n )\n ) {\n let currentTriggerSnippet = effectiveRange.substring(mostRecentTriggerCharPos + triggerChar.length,\n effectiveRange.length);\n\n triggerChar = effectiveRange.substring(mostRecentTriggerCharPos, mostRecentTriggerCharPos + triggerChar.length);\n let firstSnippetChar = currentTriggerSnippet.substring(0, 1);\n let leadingSpace = currentTriggerSnippet.length > 0 &&\n (\n firstSnippetChar === ' ' ||\n firstSnippetChar === '\\xA0'\n );\n if (hasTrailingSpace) {\n currentTriggerSnippet = currentTriggerSnippet.trim();\n }\n\n let regex = allowSpaces ? /[^\\S ]/g : /[\\xA0\\s]/g;\n\n this.tribute.hasTrailingSpace = regex.test(currentTriggerSnippet);\n\n if (!leadingSpace && (menuAlreadyActive || !(regex.test(currentTriggerSnippet)))) {\n return {\n mentionPosition: mostRecentTriggerCharPos,\n mentionText: currentTriggerSnippet,\n mentionSelectedElement: selected,\n mentionSelectedPath: path,\n mentionSelectedOffset: offset,\n mentionTriggerChar: triggerChar\n }\n }\n }\n }\n }\n\n lastIndexWithLeadingSpace (str, trigger) {\n let reversedStr = str.split('').reverse().join('');\n let index = -1;\n\n for (let cidx = 0, len = str.length; cidx < len; cidx++) {\n let firstChar = cidx === str.length - 1;\n let leadingSpace = /\\s/.test(reversedStr[cidx + 1]);\n\n let match = true;\n for (let triggerIdx = trigger.length - 1; triggerIdx >= 0; triggerIdx--) {\n if (trigger[triggerIdx] !== reversedStr[cidx-triggerIdx]) {\n match = false;\n break\n }\n }\n\n if (match && (firstChar || leadingSpace)) {\n index = str.length - 1 - cidx;\n break\n }\n }\n\n return index\n }\n\n isContentEditable(element) {\n return element.nodeName !== 'INPUT' && element.nodeName !== 'TEXTAREA'\n }\n\n isMenuOffScreen(coordinates, menuDimensions) {\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let menuTop = typeof coordinates.top === 'number' ? coordinates.top : windowTop + windowHeight - coordinates.bottom - menuDimensions.height;\n let menuRight = typeof coordinates.right === 'number' ? coordinates.right : coordinates.left + menuDimensions.width;\n let menuBottom = typeof coordinates.bottom === 'number' ? coordinates.bottom : coordinates.top + menuDimensions.height;\n let menuLeft = typeof coordinates.left === 'number' ? coordinates.left : windowLeft + windowWidth - coordinates.right - menuDimensions.width;\n\n return {\n top: menuTop < Math.floor(windowTop),\n right: menuRight > Math.ceil(windowLeft + windowWidth),\n bottom: menuBottom > Math.ceil(windowTop + windowHeight),\n left: menuLeft < Math.floor(windowLeft)\n }\n }\n\n getMenuDimensions() {\n // Width of the menu depends of its contents and position\n // We must check what its width would be without any obstruction\n // This way, we can achieve good positioning for flipping the menu\n let dimensions = {\n width: null,\n height: null\n };\n\n this.tribute.menu.style.cssText = `top: 0px;\n left: 0px;\n position: fixed;\n display: block;\n visibility; hidden;`;\n dimensions.width = this.tribute.menu.offsetWidth;\n dimensions.height = this.tribute.menu.offsetHeight;\n\n this.tribute.menu.style.cssText = `display: none;`;\n\n return dimensions\n }\n\n getTextAreaOrInputUnderlinePosition(element, position, flipped) {\n let properties = ['direction', 'boxSizing', 'width', 'height', 'overflowX',\n 'overflowY', 'borderTopWidth', 'borderRightWidth',\n 'borderBottomWidth', 'borderLeftWidth', 'paddingTop',\n 'paddingRight', 'paddingBottom', 'paddingLeft',\n 'fontStyle', 'fontVariant', 'fontWeight', 'fontStretch',\n 'fontSize', 'fontSizeAdjust', 'lineHeight', 'fontFamily',\n 'textAlign', 'textTransform', 'textIndent',\n 'textDecoration', 'letterSpacing', 'wordSpacing'\n ];\n\n let isFirefox = (window.mozInnerScreenX !== null);\n\n let div = this.getDocument().createElement('div');\n div.id = 'input-textarea-caret-position-mirror-div';\n this.getDocument().body.appendChild(div);\n\n let style = div.style;\n let computed = window.getComputedStyle ? getComputedStyle(element) : element.currentStyle;\n\n style.whiteSpace = 'pre-wrap';\n if (element.nodeName !== 'INPUT') {\n style.wordWrap = 'break-word';\n }\n\n // position off-screen\n style.position = 'absolute';\n style.visibility = 'hidden';\n\n // transfer the element's properties to the div\n properties.forEach(prop => {\n style[prop] = computed[prop];\n });\n\n if (isFirefox) {\n style.width = `${(parseInt(computed.width) - 2)}px`;\n if (element.scrollHeight > parseInt(computed.height))\n style.overflowY = 'scroll';\n } else {\n style.overflow = 'hidden';\n }\n\n div.textContent = element.value.substring(0, position);\n\n if (element.nodeName === 'INPUT') {\n div.textContent = div.textContent.replace(/\\s/g, ' ');\n }\n\n let span = this.getDocument().createElement('span');\n span.textContent = element.value.substring(position) || '.';\n div.appendChild(span);\n\n let rect = element.getBoundingClientRect();\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let top = 0;\n let left = 0;\n if (this.menuContainerIsBody) {\n top = rect.top;\n left = rect.left;\n }\n\n let coordinates = {\n top: top + windowTop + span.offsetTop + parseInt(computed.borderTopWidth) + parseInt(computed.fontSize) - element.scrollTop,\n left: left + windowLeft + span.offsetLeft + parseInt(computed.borderLeftWidth)\n };\n\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n\n let menuDimensions = this.getMenuDimensions();\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.right) {\n coordinates.right = windowWidth - coordinates.left;\n coordinates.left = 'auto';\n }\n\n let parentHeight = this.tribute.menuContainer\n ? this.tribute.menuContainer.offsetHeight\n : this.getDocument().body.offsetHeight;\n\n if (menuIsOffScreen.bottom) {\n let parentRect = this.tribute.menuContainer\n ? this.tribute.menuContainer.getBoundingClientRect()\n : this.getDocument().body.getBoundingClientRect();\n let scrollStillAvailable = parentHeight - (windowHeight - parentRect.top);\n\n coordinates.bottom = scrollStillAvailable + (windowHeight - rect.top - span.offsetTop);\n coordinates.top = 'auto';\n }\n\n menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n if (menuIsOffScreen.left) {\n coordinates.left = windowWidth > menuDimensions.width\n ? windowLeft + windowWidth - menuDimensions.width\n : windowLeft;\n delete coordinates.right;\n }\n if (menuIsOffScreen.top) {\n coordinates.top = windowHeight > menuDimensions.height\n ? windowTop + windowHeight - menuDimensions.height\n : windowTop;\n delete coordinates.bottom;\n }\n\n this.getDocument().body.removeChild(div);\n return coordinates\n }\n\n getContentEditableCaretPosition(selectedNodePosition) {\n let range;\n let sel = this.getWindowSelection();\n\n range = this.getDocument().createRange();\n range.setStart(sel.anchorNode, selectedNodePosition);\n range.setEnd(sel.anchorNode, selectedNodePosition);\n\n range.collapse(false);\n\n let rect = range.getBoundingClientRect();\n let doc = document.documentElement;\n let windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n let windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n\n let left = rect.left;\n let top = rect.top;\n\n let coordinates = {\n left: left + windowLeft,\n top: top + rect.height + windowTop\n };\n let windowWidth = window.innerWidth;\n let windowHeight = window.innerHeight;\n\n let menuDimensions = this.getMenuDimensions();\n let menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.right) {\n coordinates.left = 'auto';\n coordinates.right = windowWidth - rect.left - windowLeft;\n }\n\n let parentHeight = this.tribute.menuContainer\n ? this.tribute.menuContainer.offsetHeight\n : this.getDocument().body.offsetHeight;\n\n if (menuIsOffScreen.bottom) {\n let parentRect = this.tribute.menuContainer\n ? this.tribute.menuContainer.getBoundingClientRect()\n : this.getDocument().body.getBoundingClientRect();\n let scrollStillAvailable = parentHeight - (windowHeight - parentRect.top);\n\n coordinates.top = 'auto';\n coordinates.bottom = scrollStillAvailable + (windowHeight - rect.top);\n }\n\n menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n if (menuIsOffScreen.left) {\n coordinates.left = windowWidth > menuDimensions.width\n ? windowLeft + windowWidth - menuDimensions.width\n : windowLeft;\n delete coordinates.right;\n }\n if (menuIsOffScreen.top) {\n coordinates.top = windowHeight > menuDimensions.height\n ? windowTop + windowHeight - menuDimensions.height\n : windowTop;\n delete coordinates.bottom;\n }\n\n if (!this.menuContainerIsBody) {\n coordinates.left = coordinates.left ? coordinates.left - this.tribute.menuContainer.offsetLeft : coordinates.left;\n coordinates.top = coordinates.top ? coordinates.top - this.tribute.menuContainer.offsetTop : coordinates.top;\n }\n\n return coordinates\n }\n\n scrollIntoView(elem) {\n let reasonableBuffer = 20,\n clientRect;\n let maxScrollDisplacement = 100;\n let e = this.menu;\n\n if (typeof e === 'undefined') return;\n\n while (clientRect === undefined || clientRect.height === 0) {\n clientRect = e.getBoundingClientRect();\n\n if (clientRect.height === 0) {\n e = e.childNodes[0];\n if (e === undefined || !e.getBoundingClientRect) {\n return\n }\n }\n }\n\n let elemTop = clientRect.top;\n let elemBottom = elemTop + clientRect.height;\n\n if (elemTop < 0) {\n window.scrollTo(0, window.pageYOffset + clientRect.top - reasonableBuffer);\n } else if (elemBottom > window.innerHeight) {\n let maxY = window.pageYOffset + clientRect.top - reasonableBuffer;\n\n if (maxY - window.pageYOffset > maxScrollDisplacement) {\n maxY = window.pageYOffset + maxScrollDisplacement;\n }\n\n let targetY = window.pageYOffset - (window.innerHeight - elemBottom);\n\n if (targetY > maxY) {\n targetY = maxY;\n }\n\n window.scrollTo(0, targetY);\n }\n }\n}\n\n// Thanks to https://github.com/mattyork/fuzzy\nclass TributeSearch {\n constructor(tribute) {\n this.tribute = tribute;\n this.tribute.search = this;\n }\n\n simpleFilter(pattern, array) {\n return array.filter(string => {\n return this.test(pattern, string)\n })\n }\n\n test(pattern, string) {\n return this.match(pattern, string) !== null\n }\n\n match(pattern, string, opts) {\n opts = opts || {};\n let len = string.length,\n pre = opts.pre || '',\n post = opts.post || '',\n compareString = opts.caseSensitive && string || string.toLowerCase();\n\n if (opts.skip) {\n return {rendered: string, score: 0}\n }\n\n pattern = opts.caseSensitive && pattern || pattern.toLowerCase();\n\n let patternCache = this.traverse(compareString, pattern, 0, 0, []);\n if (!patternCache) {\n return null\n }\n return {\n rendered: this.render(string, patternCache.cache, pre, post),\n score: patternCache.score\n }\n }\n\n traverse(string, pattern, stringIndex, patternIndex, patternCache) {\n // if the pattern search at end\n if (pattern.length === patternIndex) {\n\n // calculate score and copy the cache containing the indices where it's found\n return {\n score: this.calculateScore(patternCache),\n cache: patternCache.slice()\n }\n }\n\n // if string at end or remaining pattern > remaining string\n if (string.length === stringIndex || pattern.length - patternIndex > string.length - stringIndex) {\n return undefined\n }\n\n let c = pattern[patternIndex];\n let index = string.indexOf(c, stringIndex);\n let best, temp;\n\n while (index > -1) {\n patternCache.push(index);\n temp = this.traverse(string, pattern, index + 1, patternIndex + 1, patternCache);\n patternCache.pop();\n\n // if downstream traversal failed, return best answer so far\n if (!temp) {\n return best\n }\n\n if (!best || best.score < temp.score) {\n best = temp;\n }\n\n index = string.indexOf(c, index + 1);\n }\n\n return best\n }\n\n calculateScore(patternCache) {\n let score = 0;\n let temp = 1;\n\n patternCache.forEach((index, i) => {\n if (i > 0) {\n if (patternCache[i - 1] + 1 === index) {\n temp += temp + 1;\n }\n else {\n temp = 1;\n }\n }\n\n score += temp;\n });\n\n return score\n }\n\n render(string, indices, pre, post) {\n var rendered = string.substring(0, indices[0]);\n\n indices.forEach((index, i) => {\n rendered += pre + string[index] + post +\n string.substring(index + 1, (indices[i + 1]) ? indices[i + 1] : string.length);\n });\n\n return rendered\n }\n\n filter(pattern, arr, opts) {\n opts = opts || {};\n return arr\n .reduce((prev, element, idx, arr) => {\n let str = element;\n\n if (opts.extract) {\n str = opts.extract(element);\n\n if (!str) { // take care of undefineds / nulls / etc.\n str = '';\n }\n }\n\n let rendered = this.match(pattern, str, opts);\n\n if (rendered != null) {\n prev[prev.length] = {\n string: rendered.rendered,\n score: rendered.score,\n index: idx,\n original: element\n };\n }\n\n return prev\n }, [])\n\n .sort((a, b) => {\n let compare = b.score - a.score;\n if (compare) return compare\n return a.index - b.index\n })\n }\n}\n\nclass Tribute {\n constructor({\n values = null,\n iframe = null,\n selectClass = \"highlight\",\n containerClass = \"tribute-container\",\n itemClass = \"\",\n trigger = \"@\",\n autocompleteMode = false,\n selectTemplate = null,\n menuItemTemplate = null,\n lookup = \"key\",\n fillAttr = \"value\",\n collection = null,\n menuContainer = null,\n noMatchTemplate = null,\n requireLeadingSpace = true,\n allowSpaces = false,\n replaceTextSuffix = null,\n positionMenu = true,\n spaceSelectsMatch = false,\n searchOpts = {},\n menuItemLimit = null,\n menuShowMinLength = 0\n }) {\n this.autocompleteMode = autocompleteMode;\n this.menuSelected = 0;\n this.current = {};\n this.inputEvent = false;\n this.isActive = false;\n this.menuContainer = menuContainer;\n this.allowSpaces = allowSpaces;\n this.replaceTextSuffix = replaceTextSuffix;\n this.positionMenu = positionMenu;\n this.hasTrailingSpace = false;\n this.spaceSelectsMatch = spaceSelectsMatch;\n\n if (this.autocompleteMode) {\n trigger = \"\";\n allowSpaces = false;\n }\n\n if (values) {\n this.collection = [\n {\n // symbol that starts the lookup\n trigger: trigger,\n\n // is it wrapped in an iframe\n iframe: iframe,\n\n // class applied to selected item\n selectClass: selectClass,\n\n // class applied to the Container\n containerClass: containerClass,\n\n // class applied to each item\n itemClass: itemClass,\n\n // function called on select that retuns the content to insert\n selectTemplate: (\n selectTemplate || Tribute.defaultSelectTemplate\n ).bind(this),\n\n // function called that returns content for an item\n menuItemTemplate: (\n menuItemTemplate || Tribute.defaultMenuItemTemplate\n ).bind(this),\n\n // function called when menu is empty, disables hiding of menu.\n noMatchTemplate: (t => {\n if (typeof t === \"string\") {\n if (t.trim() === \"\") return null;\n return t;\n }\n if (typeof t === \"function\") {\n return t.bind(this);\n }\n\n return (\n noMatchTemplate ||\n function() {\n return \"<li>No Match Found!</li>\";\n }.bind(this)\n );\n })(noMatchTemplate),\n\n // column to search against in the object\n lookup: lookup,\n\n // column that contains the content to insert by default\n fillAttr: fillAttr,\n\n // array of objects or a function returning an array of objects\n values: values,\n\n requireLeadingSpace: requireLeadingSpace,\n\n searchOpts: searchOpts,\n\n menuItemLimit: menuItemLimit,\n\n menuShowMinLength: menuShowMinLength\n }\n ];\n } else if (collection) {\n if (this.autocompleteMode)\n console.warn(\n \"Tribute in autocomplete mode does not work for collections\"\n );\n this.collection = collection.map(item => {\n return {\n trigger: item.trigger || trigger,\n iframe: item.iframe || iframe,\n selectClass: item.selectClass || selectClass,\n containerClass: item.containerClass || containerClass,\n itemClass: item.itemClass || itemClass,\n selectTemplate: (\n item.selectTemplate || Tribute.defaultSelectTemplate\n ).bind(this),\n menuItemTemplate: (\n item.menuItemTemplate || Tribute.defaultMenuItemTemplate\n ).bind(this),\n // function called when menu is empty, disables hiding of menu.\n noMatchTemplate: (t => {\n if (typeof t === \"string\") {\n if (t.trim() === \"\") return null;\n return t;\n }\n if (typeof t === \"function\") {\n return t.bind(this);\n }\n\n return (\n noMatchTemplate ||\n function() {\n return \"<li>No Match Found!</li>\";\n }.bind(this)\n );\n })(noMatchTemplate),\n lookup: item.lookup || lookup,\n fillAttr: item.fillAttr || fillAttr,\n values: item.values,\n requireLeadingSpace: item.requireLeadingSpace,\n searchOpts: item.searchOpts || searchOpts,\n menuItemLimit: item.menuItemLimit || menuItemLimit,\n menuShowMinLength: item.menuShowMinLength || menuShowMinLength\n };\n });\n } else {\n throw new Error(\"[Tribute] No collection specified.\");\n }\n\n new TributeRange(this);\n new TributeEvents(this);\n new TributeMenuEvents(this);\n new TributeSearch(this);\n }\n\n get isActive() {\n return this._isActive;\n }\n\n set isActive(val) {\n if (this._isActive != val) {\n this._isActive = val;\n if (this.current.element) {\n let noMatchEvent = new CustomEvent(`tribute-active-${val}`);\n this.current.element.dispatchEvent(noMatchEvent);\n }\n }\n }\n\n static defaultSelectTemplate(item) {\n if (typeof item === \"undefined\")\n return `${this.current.collection.trigger}${this.current.mentionText}`;\n if (this.range.isContentEditable(this.current.element)) {\n return (\n '<span class=\"tribute-mention\">' +\n (this.current.collection.trigger +\n item.original[this.current.collection.fillAttr]) +\n \"</span>\"\n );\n }\n\n return (\n this.current.collection.trigger +\n item.original[this.current.collection.fillAttr]\n );\n }\n\n static defaultMenuItemTemplate(matchItem) {\n return matchItem.string;\n }\n\n static inputTypes() {\n return [\"TEXTAREA\", \"INPUT\"];\n }\n\n triggers() {\n return this.collection.map(config => {\n return config.trigger;\n });\n }\n\n attach(el) {\n if (!el) {\n throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");\n }\n\n // Check if it is a jQuery collection\n if (typeof jQuery !== \"undefined\" && el instanceof jQuery) {\n el = el.get();\n }\n\n // Is el an Array/Array-like object?\n if (\n el.constructor === NodeList ||\n el.constructor === HTMLCollection ||\n el.constructor === Array\n ) {\n let length = el.length;\n for (var i = 0; i < length; ++i) {\n this._attach(el[i]);\n }\n } else {\n this._attach(el);\n }\n }\n\n _attach(el) {\n if (el.hasAttribute(\"data-tribute\")) {\n console.warn(\"Tribute was already bound to \" + el.nodeName);\n }\n\n this.ensureEditable(el);\n this.events.bind(el);\n el.setAttribute(\"data-tribute\", true);\n }\n\n ensureEditable(element) {\n if (Tribute.inputTypes().indexOf(element.nodeName) === -1) {\n if (element.contentEditable) {\n element.contentEditable = true;\n } else {\n throw new Error(\"[Tribute] Cannot bind to \" + element.nodeName);\n }\n }\n }\n\n createMenu(containerClass) {\n let wrapper = this.range.getDocument().createElement(\"div\"),\n ul = this.range.getDocument().createElement(\"ul\");\n wrapper.className = containerClass;\n wrapper.appendChild(ul);\n\n if (this.menuContainer) {\n return this.menuContainer.appendChild(wrapper);\n }\n\n return this.range.getDocument().body.appendChild(wrapper);\n }\n\n showMenuFor(element, scrollTo) {\n // Only proceed if menu isn't already shown for the current element & mentionText\n if (\n this.isActive &&\n this.current.element === element &&\n this.current.mentionText === this.currentMentionTextSnapshot\n ) {\n return;\n }\n this.currentMentionTextSnapshot = this.current.mentionText;\n\n // create the menu if it doesn't exist.\n if (!this.menu) {\n this.menu = this.createMenu(this.current.collection.containerClass);\n element.tributeMenu = this.menu;\n this.menuEvents.bind(this.menu);\n }\n\n this.isActive = true;\n this.menuSelected = 0;\n\n if (!this.current.mentionText) {\n this.current.mentionText = \"\";\n }\n\n const processValues = values => {\n // Tribute may not be active any more by the time the value callback returns\n if (!this.isActive) {\n return;\n }\n\n let items = this.search.filter(this.current.mentionText, values, {\n pre: this.current.collection.searchOpts.pre || \"<span>\",\n post: this.current.collection.searchOpts.post || \"</span>\",\n skip: this.current.collection.searchOpts.skip,\n extract: el => {\n if (typeof this.current.collection.lookup === \"string\") {\n return el[this.current.collection.lookup];\n } else if (typeof this.current.collection.lookup === \"function\") {\n return this.current.collection.lookup(el, this.current.mentionText);\n } else {\n throw new Error(\n \"Invalid lookup attribute, lookup must be string or function.\"\n );\n }\n }\n });\n\n if (this.current.collection.menuItemLimit) {\n items = items.slice(0, this.current.collection.menuItemLimit);\n }\n\n this.current.filteredItems = items;\n\n let ul = this.menu.querySelector(\"ul\");\n\n this.range.positionMenuAtCaret(scrollTo);\n\n if (!items.length) {\n let noMatchEvent = new CustomEvent(\"tribute-no-match\", {\n detail: this.menu\n });\n this.current.element.dispatchEvent(noMatchEvent);\n if (\n (typeof this.current.collection.noMatchTemplate === \"function\" &&\n !this.current.collection.noMatchTemplate()) ||\n !this.current.collection.noMatchTemplate\n ) {\n this.hideMenu();\n } else {\n typeof this.current.collection.noMatchTemplate === \"function\"\n ? (ul.innerHTML = this.current.collection.noMatchTemplate())\n : (ul.innerHTML = this.current.collection.noMatchTemplate);\n }\n\n return;\n }\n\n ul.innerHTML = \"\";\n let fragment = this.range.getDocument().createDocumentFragment();\n\n items.forEach((item, index) => {\n let li = this.range.getDocument().createElement(\"li\");\n li.setAttribute(\"data-index\", index);\n li.className = this.current.collection.itemClass;\n li.addEventListener(\"mousemove\", e => {\n let [li, index] = this._findLiTarget(e.target);\n if (e.movementY !== 0) {\n this.events.setActiveLi(index);\n }\n });\n if (this.menuSelected === index) {\n li.classList.add(this.current.collection.selectClass);\n }\n li.innerHTML = this.current.collection.menuItemTemplate(item);\n fragment.appendChild(li);\n });\n ul.appendChild(fragment);\n };\n\n if (typeof this.current.collection.values === \"function\") {\n this.current.collection.values(this.current.mentionText, processValues);\n } else {\n processValues(this.current.collection.values);\n }\n }\n\n _findLiTarget(el) {\n if (!el) return [];\n const index = el.getAttribute(\"data-index\");\n return !index ? this._findLiTarget(el.parentNode) : [el, index];\n }\n\n showMenuForCollection(element, collectionIndex) {\n if (element !== document.activeElement) {\n this.placeCaretAtEnd(element);\n }\n\n this.current.collection = this.collection[collectionIndex || 0];\n this.current.externalTrigger = true;\n this.current.element = element;\n\n if (element.isContentEditable)\n this.insertTextAtCursor(this.current.collection.trigger);\n else this.insertAtCaret(element, this.current.collection.trigger);\n\n this.showMenuFor(element);\n }\n\n // TODO: make sure this works for inputs/textareas\n placeCaretAtEnd(el) {\n el.focus();\n if (\n typeof window.getSelection != \"undefined\" &&\n typeof document.createRange != \"undefined\"\n ) {\n var range = document.createRange();\n range.selectNodeContents(el);\n range.collapse(false);\n var sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(range);\n } else if (typeof document.body.createTextRange != \"undefined\") {\n var textRange = document.body.createTextRange();\n textRange.moveToElementText(el);\n textRange.collapse(false);\n textRange.select();\n }\n }\n\n // for contenteditable\n insertTextAtCursor(text) {\n var sel, range;\n sel = window.getSelection();\n range = sel.getRangeAt(0);\n range.deleteContents();\n var textNode = document.createTextNode(text);\n range.insertNode(textNode);\n range.selectNodeContents(textNode);\n range.collapse(false);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n\n // for regular inputs\n insertAtCaret(textarea, text) {\n var scrollPos = textarea.scrollTop;\n var caretPos = textarea.selectionStart;\n\n var front = textarea.value.substring(0, caretPos);\n var back = textarea.value.substring(\n textarea.selectionEnd,\n textarea.value.length\n );\n textarea.value = front + text + back;\n caretPos = caretPos + text.length;\n textarea.selectionStart = caretPos;\n textarea.selectionEnd = caretPos;\n textarea.focus();\n textarea.scrollTop = scrollPos;\n }\n\n hideMenu() {\n if (this.menu) {\n this.menu.style.cssText = \"display: none;\";\n this.isActive = false;\n this.menuSelected = 0;\n this.current = {};\n }\n }\n\n selectItemAtIndex(index, originalEvent) {\n index = parseInt(index);\n if (typeof index !== \"number\" || isNaN(index)) return;\n let item = this.current.filteredItems[index];\n let content = this.current.collection.selectTemplate(item);\n if (content !== null) this.replaceText(content, originalEvent, item);\n }\n\n replaceText(content, originalEvent, item) {\n this.range.replaceTriggerText(content, true, true, originalEvent, item);\n }\n\n _append(collection, newValues, replace) {\n if (typeof collection.values === \"function\") {\n throw new Error(\"Unable to append to values, as it is a function.\");\n } else if (!replace) {\n collection.values = collection.values.concat(newValues);\n } else {\n collection.values = newValues;\n }\n }\n\n append(collectionIndex, newValues, replace) {\n let index = parseInt(collectionIndex);\n if (typeof index !== \"number\")\n throw new Error(\"please provide an index for the collection to update.\");\n\n let collection = this.collection[index];\n\n this._append(collection, newValues, replace);\n }\n\n appendCurrent(newValues, replace) {\n if (this.isActive) {\n this._append(this.current.collection, newValues, replace);\n } else {\n throw new Error(\n \"No active state. Please use append instead and pass an index.\"\n );\n }\n }\n\n detach(el) {\n if (!el) {\n throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");\n }\n\n // Check if it is a jQuery collection\n if (typeof jQuery !== \"undefined\" && el instanceof jQuery) {\n el = el.get();\n }\n\n // Is el an Array/Array-like object?\n if (\n el.constructor === NodeList ||\n el.constructor === HTMLCollection ||\n el.constructor === Array\n ) {\n let length = el.length;\n for (var i = 0; i < length; ++i) {\n this._detach(el[i]);\n }\n } else {\n this._detach(el);\n }\n }\n\n _detach(el) {\n this.events.unbind(el);\n if (el.tributeMenu) {\n this.menuEvents.unbind(el.tributeMenu);\n }\n\n setTimeout(() => {\n el.removeAttribute(\"data-tribute\");\n this.isActive = false;\n if (el.tributeMenu) {\n el.tributeMenu.remove();\n }\n });\n }\n}\n\n/**\n * Tribute.js\n * Native ES6 JavaScript @mention Plugin\n **/\n\nexport default Tribute;\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueColor=t():e.VueColor=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"\",t(t.s=60)}([function(e,t){function n(e,t){var n=e[1]||\"\",i=e[3];if(!i)return n;if(t&&\"function\"==typeof btoa){var o=r(i);return[n].concat(i.sources.map(function(e){return\"/*# sourceURL=\"+i.sourceRoot+e+\" */\"})).concat([o]).join(\"\\n\")}return[n].join(\"\\n\")}function r(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=n(t,e);return t[2]?\"@media \"+t[2]+\"{\"+r+\"}\":r}).join(\"\")},t.i=function(e,n){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var r={},i=0;i<this.length;i++){var o=this[i][0];\"number\"==typeof o&&(r[o]=!0)}for(i=0;i<e.length;i++){var a=e[i];\"number\"==typeof a[0]&&r[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]=\"(\"+a[2]+\") and (\"+n+\")\"),t.push(a))}},t}},function(e,t,n){function r(e){for(var t=0;t<e.length;t++){var n=e[t],r=u[n.id];if(r){r.refs++;for(var i=0;i<r.parts.length;i++)r.parts[i](n.parts[i]);for(;i<n.parts.length;i++)r.parts.push(o(n.parts[i]));r.parts.length>n.parts.length&&(r.parts.length=n.parts.length)}else{for(var a=[],i=0;i<n.parts.length;i++)a.push(o(n.parts[i]));u[n.id]={id:n.id,refs:1,parts:a}}}}function i(){var e=document.createElement(\"style\");return e.type=\"text/css\",f.appendChild(e),e}function o(e){var t,n,r=document.querySelector(\"style[\"+b+'~=\"'+e.id+'\"]');if(r){if(p)return v;r.parentNode.removeChild(r)}if(x){var o=h++;r=d||(d=i()),t=a.bind(null,r,o,!1),n=a.bind(null,r,o,!0)}else r=i(),t=s.bind(null,r),n=function(){r.parentNode.removeChild(r)};return t(e),function(r){if(r){if(r.css===e.css&&r.media===e.media&&r.sourceMap===e.sourceMap)return;t(e=r)}else n()}}function a(e,t,n,r){var i=n?\"\":r.css;if(e.styleSheet)e.styleSheet.cssText=m(t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function s(e,t){var n=t.css,r=t.media,i=t.sourceMap;if(r&&e.setAttribute(\"media\",r),g.ssrId&&e.setAttribute(b,t.id),i&&(n+=\"\\n/*# sourceURL=\"+i.sources[0]+\" */\",n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+\" */\"),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var c=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!c)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var l=n(64),u={},f=c&&(document.head||document.getElementsByTagName(\"head\")[0]),d=null,h=0,p=!1,v=function(){},g=null,b=\"data-vue-ssr-id\",x=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,n,i){p=n,g=i||{};var o=l(e,t);return r(o),function(t){for(var n=[],i=0;i<o.length;i++){var a=o[i],s=u[a.id];s.refs--,n.push(s)}t?(o=l(e,t),r(o)):o=[];for(var i=0;i<n.length;i++){var s=n[i];if(0===s.refs){for(var c=0;c<s.parts.length;c++)s.parts[c]();delete u[s.id]}}}};var m=function(){var e=[];return function(t,n){return e[t]=n,e.filter(Boolean).join(\"\\n\")}}()},function(e,t){e.exports=function(e,t,n,r,i,o){var a,s=e=e||{},c=typeof e.default;\"object\"!==c&&\"function\"!==c||(a=e,s=e.default);var l=\"function\"==typeof s?s.options:s;t&&(l.render=t.render,l.staticRenderFns=t.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),i&&(l._scopeId=i);var u;if(o?(u=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},l._ssrRegister=u):r&&(u=r),u){var f=l.functional,d=f?l.render:l.beforeCreate;f?(l._injectStyles=u,l.render=function(e,t){return u.call(t),d(e,t)}):l.beforeCreate=d?[].concat(d,u):[u]}return{esModule:a,exports:s,options:l}}},function(e,t,n){\"use strict\";function r(e,t){var n,r=e&&e.a;!(n=e&&e.hsl?(0,o.default)(e.hsl):e&&e.hex&&e.hex.length>0?(0,o.default)(e.hex):e&&e.hsv?(0,o.default)(e.hsv):e&&e.rgba?(0,o.default)(e.rgba):e&&e.rgb?(0,o.default)(e.rgb):(0,o.default)(e))||void 0!==n._a&&null!==n._a||n.setAlpha(r||1);var i=n.toHsl(),a=n.toHsv();return 0===i.s&&(a.h=i.h=e.h||e.hsl&&e.hsl.h||t||0),{hsl:i,hex:n.toHexString().toUpperCase(),hex8:n.toHex8String().toUpperCase(),rgba:n.toRgb(),hsv:a,oldHue:e.h||t||i.h,source:e.source,a:e.a||n.getAlpha()}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(65),o=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={props:[\"value\"],data:function(){return{val:r(this.value)}},computed:{colors:{get:function(){return this.val},set:function(e){this.val=e,this.$emit(\"input\",e)}}},watch:{value:function(e){this.val=r(e)}},methods:{colorChange:function(e,t){this.oldHue=this.colors.hsl.h,this.colors=r(e,t||this.oldHue)},isValidHex:function(e){return(0,o.default)(e).isValid()},simpleCheckForValidColor:function(e){for(var t=[\"r\",\"g\",\"b\",\"a\",\"h\",\"s\",\"l\",\"v\"],n=0,r=0,i=0;i<t.length;i++){var o=t[i];e[o]&&(n++,isNaN(e[o])||r++)}if(n===r)return e},paletteUpperCase:function(e){return e.map(function(e){return e.toUpperCase()})},isTransparent:function(e){return 0===(0,o.default)(e).getAlpha()}}}},function(e,t){var n=e.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(e,t,n){\"use strict\";function r(e){c||n(66)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(36),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(68),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/common/EditableInput.vue\",t.default=f.exports},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(8),i=n(18);e.exports=n(9)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var r=n(16),i=n(42),o=n(25),a=Object.defineProperty;t.f=n(9)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},function(e,t,n){e.exports=!n(17)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(e,t,n){var r=n(90),i=n(24);e.exports=function(e){return r(i(e))}},function(e,t,n){var r=n(29)(\"wks\"),i=n(19),o=n(4).Symbol,a=\"function\"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)(\"Symbol.\"+e))}).store=r},function(e,t){e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},function(e,t,n){\"use strict\";function r(e){c||n(111)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(51),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(113),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/common/Hue.vue\",t.default=f.exports},function(e,t){e.exports=!0},function(e,t){var n=e.exports={version:\"2.6.11\"};\"number\"==typeof __e&&(__e=n)},function(e,t,n){var r=n(12);e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},function(e,t,n){\"use strict\";function r(e){c||n(123)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(54),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(127),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/common/Saturation.vue\",t.default=f.exports},function(e,t,n){\"use strict\";function r(e){c||n(128)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(55),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(133),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/common/Alpha.vue\",t.default=f.exports},function(e,t,n){\"use strict\";function r(e){c||n(130)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(56),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(132),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/common/Checkboard.vue\",t.default=f.exports},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError(\"Can't call method on \"+e);return e}},function(e,t,n){var r=n(12);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if(\"function\"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError(\"Can't convert object to primitive value\")}},function(e,t){e.exports={}},function(e,t,n){var r=n(46),i=n(30);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t,n){var r=n(29)(\"keys\"),i=n(19);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t,n){var r=n(15),i=n(4),o=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:r.version,mode:n(14)?\"pure\":\"global\",copyright:\"© 2019 Denis Pushkarev (zloirock.ru)\"})},function(e,t){e.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(e,t,n){var r=n(8).f,i=n(6),o=n(11)(\"toStringTag\");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t,n){t.f=n(11)},function(e,t,n){var r=n(4),i=n(15),o=n(14),a=n(32),s=n(8).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});\"_\"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=r(i),a=n(5),s=r(a),c=[\"#4D4D4D\",\"#999999\",\"#FFFFFF\",\"#F44E3B\",\"#FE9200\",\"#FCDC00\",\"#DBDF00\",\"#A4DD00\",\"#68CCCA\",\"#73D8FF\",\"#AEA1FF\",\"#FDA1FF\",\"#333333\",\"#808080\",\"#CCCCCC\",\"#D33115\",\"#E27300\",\"#FCC400\",\"#B0BC00\",\"#68BC00\",\"#16A5A5\",\"#009CE0\",\"#7B64FF\",\"#FA28FF\",\"#000000\",\"#666666\",\"#B3B3B3\",\"#9F0500\",\"#C45100\",\"#FB9E00\",\"#808900\",\"#194D33\",\"#0C797D\",\"#0062B1\",\"#653294\",\"#AB149E\"];t.default={name:\"Compact\",mixins:[o.default],props:{palette:{type:Array,default:function(){return c}}},components:{\"ed-in\":s.default},computed:{pick:function(){return this.colors.hex.toUpperCase()}},methods:{handlerClick:function(e){this.colorChange({hex:e,source:\"hex\"})}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"editableInput\",props:{label:String,labelText:String,desc:String,value:[String,Number],max:Number,min:Number,arrowOffset:{type:Number,default:1}},computed:{val:{get:function(){return this.value},set:function(e){if(!(void 0!==this.max&&+e>this.max))return e;this.$refs.input.value=this.max}},labelId:function(){return\"input__label__\"+this.label+\"__\"+Math.random().toString().slice(2,5)},labelSpanText:function(){return this.labelText||this.label}},methods:{update:function(e){this.handleChange(e.target.value)},handleChange:function(e){var t={};t[this.label]=e,void 0===t.hex&&void 0===t[\"#\"]?this.$emit(\"change\",t):e.length>5&&this.$emit(\"change\",t)},handleKeyDown:function(e){var t=this.val,n=Number(t);if(n){var r=this.arrowOffset||1;38===e.keyCode&&(t=n+r,this.handleChange(t),e.preventDefault()),40===e.keyCode&&(t=n-r,this.handleChange(t),e.preventDefault())}}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(3),i=function(e){return e&&e.__esModule?e:{default:e}}(r),o=[\"#FFFFFF\",\"#F2F2F2\",\"#E6E6E6\",\"#D9D9D9\",\"#CCCCCC\",\"#BFBFBF\",\"#B3B3B3\",\"#A6A6A6\",\"#999999\",\"#8C8C8C\",\"#808080\",\"#737373\",\"#666666\",\"#595959\",\"#4D4D4D\",\"#404040\",\"#333333\",\"#262626\",\"#0D0D0D\",\"#000000\"];t.default={name:\"Grayscale\",mixins:[i.default],props:{palette:{type:Array,default:function(){return o}}},components:{},computed:{pick:function(){return this.colors.hex.toUpperCase()}},methods:{handlerClick:function(e){this.colorChange({hex:e,source:\"hex\"})}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(5),o=r(i),a=n(3),s=r(a);t.default={name:\"Material\",mixins:[s.default],components:{\"ed-in\":o.default},methods:{onChange:function(e){e&&(e.hex?this.isValidHex(e.hex)&&this.colorChange({hex:e.hex,source:\"hex\"}):(e.r||e.g||e.b)&&this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"}))}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(81),o=r(i),a=n(3),s=r(a),c=n(13),l=r(c);t.default={name:\"Slider\",mixins:[s.default],props:{swatches:{type:Array,default:function(){return[{s:.5,l:.8},{s:.5,l:.65},{s:.5,l:.5},{s:.5,l:.35},{s:.5,l:.2}]}}},components:{hue:l.default},computed:{normalizedSwatches:function(){return this.swatches.map(function(e){return\"object\"!==(void 0===e?\"undefined\":(0,o.default)(e))?{s:.5,l:e}:e})}},methods:{isActive:function(e,t){var n=this.colors.hsl;return 1===n.l&&1===e.l||(0===n.l&&0===e.l||Math.abs(n.l-e.l)<.01&&Math.abs(n.s-e.s)<.01)},hueChange:function(e){this.colorChange(e)},handleSwClick:function(e,t){this.colorChange({h:this.colors.hsl.h,s:t.s,l:t.l,source:\"hsl\"})}}}},function(e,t,n){\"use strict\";var r=n(14),i=n(41),o=n(44),a=n(7),s=n(26),c=n(88),l=n(31),u=n(95),f=n(11)(\"iterator\"),d=!([].keys&&\"next\"in[].keys()),h=function(){return this};e.exports=function(e,t,n,p,v,g,b){c(n,t,p);var x,m,_,w=function(e){if(!d&&e in F)return F[e];switch(e){case\"keys\":case\"values\":return function(){return new n(this,e)}}return function(){return new n(this,e)}},y=t+\" Iterator\",C=\"values\"==v,k=!1,F=e.prototype,S=F[f]||F[\"@@iterator\"]||v&&F[v],A=S||w(v),O=v?C?w(\"entries\"):A:void 0,E=\"Array\"==t?F.entries||S:S;if(E&&(_=u(E.call(new e)))!==Object.prototype&&_.next&&(l(_,y,!0),r||\"function\"==typeof _[f]||a(_,f,h)),C&&S&&\"values\"!==S.name&&(k=!0,A=function(){return S.call(this)}),r&&!b||!d&&!k&&F[f]||a(F,f,A),s[t]=A,s[y]=h,v)if(x={values:C?A:w(\"values\"),keys:g?A:w(\"keys\"),entries:O},b)for(m in x)m in F||o(F,m,x[m]);else i(i.P+i.F*(d||k),t,x);return x}},function(e,t,n){var r=n(4),i=n(15),o=n(86),a=n(7),s=n(6),c=function(e,t,n){var l,u,f,d=e&c.F,h=e&c.G,p=e&c.S,v=e&c.P,g=e&c.B,b=e&c.W,x=h?i:i[t]||(i[t]={}),m=x.prototype,_=h?r:p?r[t]:(r[t]||{}).prototype;h&&(n=t);for(l in n)(u=!d&&_&&void 0!==_[l])&&s(x,l)||(f=u?_[l]:n[l],x[l]=h&&\"function\"!=typeof _[l]?n[l]:g&&u?o(f,r):b&&_[l]==f?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(f):v&&\"function\"==typeof f?o(Function.call,f):f,v&&((x.virtual||(x.virtual={}))[l]=f,e&c.R&&m&&!m[l]&&a(m,l,f)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,t,n){e.exports=!n(9)&&!n(17)(function(){return 7!=Object.defineProperty(n(43)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(e,t,n){var r=n(12),i=n(4).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},function(e,t,n){e.exports=n(7)},function(e,t,n){var r=n(16),i=n(89),o=n(30),a=n(28)(\"IE_PROTO\"),s=function(){},c=function(){var e,t=n(43)(\"iframe\"),r=o.length;for(t.style.display=\"none\",n(94).appendChild(t),t.src=\"javascript:\",e=t.contentWindow.document,e.open(),e.write(\"<script>document.F=Object<\\/script>\"),e.close(),c=e.F;r--;)delete c.prototype[o[r]];return c()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=c(),void 0===t?n:i(n,t)}},function(e,t,n){var r=n(6),i=n(10),o=n(91)(!1),a=n(28)(\"IE_PROTO\");e.exports=function(e,t){var n,s=i(e),c=0,l=[];for(n in s)n!=a&&r(s,n)&&l.push(n);for(;t.length>c;)r(s,n=t[c++])&&(~o(l,n)||l.push(n));return l}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(24);e.exports=function(e){return Object(r(e))}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){var r=n(46),i=n(30).concat(\"length\",\"prototype\");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"Hue\",props:{value:Object,direction:{type:String,default:\"horizontal\"}},data:function(){return{oldHue:0,pullDirection:\"\"}},computed:{colors:function(){var e=this.value.hsl.h;return 0!==e&&e-this.oldHue>0&&(this.pullDirection=\"right\"),0!==e&&e-this.oldHue<0&&(this.pullDirection=\"left\"),this.oldHue=e,this.value},directionClass:function(){return{\"vc-hue--horizontal\":\"horizontal\"===this.direction,\"vc-hue--vertical\":\"vertical\"===this.direction}},pointerTop:function(){return\"vertical\"===this.direction?0===this.colors.hsl.h&&\"right\"===this.pullDirection?0:-100*this.colors.hsl.h/360+100+\"%\":0},pointerLeft:function(){return\"vertical\"===this.direction?0:0===this.colors.hsl.h&&\"right\"===this.pullDirection?\"100%\":100*this.colors.hsl.h/360+\"%\"}},methods:{handleChange:function(e,t){!t&&e.preventDefault();var n=this.$refs.container;if(n){var r,i,o=n.clientWidth,a=n.clientHeight,s=n.getBoundingClientRect().left+window.pageXOffset,c=n.getBoundingClientRect().top+window.pageYOffset,l=e.pageX||(e.touches?e.touches[0].pageX:0),u=e.pageY||(e.touches?e.touches[0].pageY:0),f=l-s,d=u-c;\"vertical\"===this.direction?(d<0?r=360:d>a?r=0:(i=-100*d/a+100,r=360*i/100),this.colors.hsl.h!==r&&this.$emit(\"change\",{h:r,s:this.colors.hsl.s,l:this.colors.hsl.l,a:this.colors.hsl.a,source:\"hsl\"})):(f<0?r=0:f>o?r=360:(i=100*f/o,r=360*i/100),this.colors.hsl.h!==r&&this.$emit(\"change\",{h:r,s:this.colors.hsl.s,l:this.colors.hsl.l,a:this.colors.hsl.a,source:\"hsl\"}))}},handleMouseDown:function(e){this.handleChange(e,!0),window.addEventListener(\"mousemove\",this.handleChange),window.addEventListener(\"mouseup\",this.handleMouseUp)},handleMouseUp:function(e){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener(\"mousemove\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleMouseUp)}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(118),o=r(i),a=n(3),s=r(a),c=[\"red\",\"pink\",\"purple\",\"deepPurple\",\"indigo\",\"blue\",\"lightBlue\",\"cyan\",\"teal\",\"green\",\"lightGreen\",\"lime\",\"yellow\",\"amber\",\"orange\",\"deepOrange\",\"brown\",\"blueGrey\",\"black\"],l=[\"900\",\"700\",\"500\",\"300\",\"100\"],u=function(){var e=[];return c.forEach(function(t){var n=[];\"black\"===t.toLowerCase()||\"white\"===t.toLowerCase()?n=n.concat([\"#000000\",\"#FFFFFF\"]):l.forEach(function(e){var r=o.default[t][e];n.push(r.toUpperCase())}),e.push(n)}),e}();t.default={name:\"Swatches\",mixins:[s.default],props:{palette:{type:Array,default:function(){return u}}},computed:{pick:function(){return this.colors.hex}},methods:{equal:function(e){return e.toLowerCase()===this.colors.hex.toLowerCase()},handlerClick:function(e){this.colorChange({hex:e,source:\"hex\"})}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=r(i),a=n(5),s=r(a),c=n(20),l=r(c),u=n(13),f=r(u),d=n(21),h=r(d);t.default={name:\"Photoshop\",mixins:[o.default],props:{head:{type:String,default:\"Color Picker\"},disableFields:{type:Boolean,default:!1},hasResetButton:{type:Boolean,default:!1},acceptLabel:{type:String,default:\"OK\"},cancelLabel:{type:String,default:\"Cancel\"},resetLabel:{type:String,default:\"Reset\"},newLabel:{type:String,default:\"new\"},currentLabel:{type:String,default:\"current\"}},components:{saturation:l.default,hue:f.default,alpha:h.default,\"ed-in\":s.default},data:function(){return{currentColor:\"#FFF\"}},computed:{hsv:function(){var e=this.colors.hsv;return{h:e.h.toFixed(),s:(100*e.s).toFixed(),v:(100*e.v).toFixed()}},hex:function(){var e=this.colors.hex;return e&&e.replace(\"#\",\"\")}},created:function(){this.currentColor=this.colors.hex},methods:{childChange:function(e){this.colorChange(e)},inputChange:function(e){e&&(e[\"#\"]?this.isValidHex(e[\"#\"])&&this.colorChange({hex:e[\"#\"],source:\"hex\"}):e.r||e.g||e.b||e.a?this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"}):(e.h||e.s||e.v)&&this.colorChange({h:e.h||this.colors.hsv.h,s:e.s/100||this.colors.hsv.s,v:e.v/100||this.colors.hsv.v,source:\"hsv\"}))},clickCurrentColor:function(){this.colorChange({hex:this.currentColor,source:\"hex\"})},handleAccept:function(){this.$emit(\"ok\")},handleCancel:function(){this.$emit(\"cancel\")},handleReset:function(){this.$emit(\"reset\")}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(125),o=r(i),a=n(126),s=r(a);t.default={name:\"Saturation\",props:{value:Object},computed:{colors:function(){return this.value},bgColor:function(){return\"hsl(\"+this.colors.hsv.h+\", 100%, 50%)\"},pointerTop:function(){return-100*this.colors.hsv.v+1+100+\"%\"},pointerLeft:function(){return 100*this.colors.hsv.s+\"%\"}},methods:{throttle:(0,s.default)(function(e,t){e(t)},20,{leading:!0,trailing:!1}),handleChange:function(e,t){!t&&e.preventDefault();var n=this.$refs.container;if(n){var r=n.clientWidth,i=n.clientHeight,a=n.getBoundingClientRect().left+window.pageXOffset,s=n.getBoundingClientRect().top+window.pageYOffset,c=e.pageX||(e.touches?e.touches[0].pageX:0),l=e.pageY||(e.touches?e.touches[0].pageY:0),u=(0,o.default)(c-a,0,r),f=(0,o.default)(l-s,0,i),d=u/r,h=(0,o.default)(-f/i+1,0,1);this.throttle(this.onChange,{h:this.colors.hsv.h,s:d,v:h,a:this.colors.hsv.a,source:\"hsva\"})}},onChange:function(e){this.$emit(\"change\",e)},handleMouseDown:function(e){window.addEventListener(\"mousemove\",this.handleChange),window.addEventListener(\"mouseup\",this.handleChange),window.addEventListener(\"mouseup\",this.handleMouseUp)},handleMouseUp:function(e){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener(\"mousemove\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleMouseUp)}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(22),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default={name:\"Alpha\",props:{value:Object,onChange:Function},components:{checkboard:i.default},computed:{colors:function(){return this.value},gradientColor:function(){var e=this.colors.rgba,t=[e.r,e.g,e.b].join(\",\");return\"linear-gradient(to right, rgba(\"+t+\", 0) 0%, rgba(\"+t+\", 1) 100%)\"}},methods:{handleChange:function(e,t){!t&&e.preventDefault();var n=this.$refs.container;if(n){var r,i=n.clientWidth,o=n.getBoundingClientRect().left+window.pageXOffset,a=e.pageX||(e.touches?e.touches[0].pageX:0),s=a-o;r=s<0?0:s>i?1:Math.round(100*s/i)/100,this.colors.a!==r&&this.$emit(\"change\",{h:this.colors.hsl.h,s:this.colors.hsl.s,l:this.colors.hsl.l,a:r,source:\"rgba\"})}},handleMouseDown:function(e){this.handleChange(e,!0),window.addEventListener(\"mousemove\",this.handleChange),window.addEventListener(\"mouseup\",this.handleMouseUp)},handleMouseUp:function(){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener(\"mousemove\",this.handleChange),window.removeEventListener(\"mouseup\",this.handleMouseUp)}}}},function(e,t,n){\"use strict\";function r(e,t,n){if(\"undefined\"==typeof document)return null;var r=document.createElement(\"canvas\");r.width=r.height=2*n;var i=r.getContext(\"2d\");return i?(i.fillStyle=e,i.fillRect(0,0,r.width,r.height),i.fillStyle=t,i.fillRect(0,0,n,n),i.translate(n,n),i.fillRect(0,0,n,n),r.toDataURL()):null}function i(e,t,n){var i=e+\",\"+t+\",\"+n;if(o[i])return o[i];var a=r(e,t,n);return o[i]=a,a}Object.defineProperty(t,\"__esModule\",{value:!0});var o={};t.default={name:\"Checkboard\",props:{size:{type:[Number,String],default:8},white:{type:String,default:\"#fff\"},grey:{type:String,default:\"#e6e6e6\"}},computed:{bgStyle:function(){return{\"background-image\":\"url(\"+i(this.white,this.grey,this.size)+\")\"}}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=r(i),a=n(5),s=r(a),c=n(20),l=r(c),u=n(13),f=r(u),d=n(21),h=r(d),p=n(22),v=r(p),g=[\"#D0021B\",\"#F5A623\",\"#F8E71C\",\"#8B572A\",\"#7ED321\",\"#417505\",\"#BD10E0\",\"#9013FE\",\"#4A90E2\",\"#50E3C2\",\"#B8E986\",\"#000000\",\"#4A4A4A\",\"#9B9B9B\",\"#FFFFFF\",\"rgba(0,0,0,0)\"];t.default={name:\"Sketch\",mixins:[o.default],components:{saturation:l.default,hue:f.default,alpha:h.default,\"ed-in\":s.default,checkboard:v.default},props:{presetColors:{type:Array,default:function(){return g}},disableAlpha:{type:Boolean,default:!1},disableFields:{type:Boolean,default:!1}},computed:{hex:function(){var e=void 0;return e=this.colors.a<1?this.colors.hex8:this.colors.hex,e.replace(\"#\",\"\")},activeColor:function(){var e=this.colors.rgba;return\"rgba(\"+[e.r,e.g,e.b,e.a].join(\",\")+\")\"}},methods:{handlePreset:function(e){this.colorChange({hex:e,source:\"hex\"})},childChange:function(e){this.colorChange(e)},inputChange:function(e){e&&(e.hex?this.isValidHex(e.hex)&&this.colorChange({hex:e.hex,source:\"hex\"}):(e.r||e.g||e.b||e.a)&&this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"}))}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=r(i),a=n(5),s=r(a),c=n(20),l=r(c),u=n(13),f=r(u),d=n(21),h=r(d),p=n(22),v=r(p);t.default={name:\"Chrome\",mixins:[o.default],props:{disableAlpha:{type:Boolean,default:!1},disableFields:{type:Boolean,default:!1}},components:{saturation:l.default,hue:f.default,alpha:h.default,\"ed-in\":s.default,checkboard:v.default},data:function(){return{fieldsIndex:0,highlight:!1}},computed:{hsl:function(){var e=this.colors.hsl,t=e.h,n=e.s,r=e.l;return{h:t.toFixed(),s:(100*n).toFixed()+\"%\",l:(100*r).toFixed()+\"%\"}},activeColor:function(){var e=this.colors.rgba;return\"rgba(\"+[e.r,e.g,e.b,e.a].join(\",\")+\")\"},hasAlpha:function(){return this.colors.a<1}},methods:{childChange:function(e){this.colorChange(e)},inputChange:function(e){if(e)if(e.hex)this.isValidHex(e.hex)&&this.colorChange({hex:e.hex,source:\"hex\"});else if(e.r||e.g||e.b||e.a)this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"});else if(e.h||e.s||e.l){var t=e.s?e.s.replace(\"%\",\"\")/100:this.colors.hsl.s,n=e.l?e.l.replace(\"%\",\"\")/100:this.colors.hsl.l;this.colorChange({h:e.h||this.colors.hsl.h,s:t,l:n,source:\"hsl\"})}},toggleViews:function(){if(this.fieldsIndex>=2)return void(this.fieldsIndex=0);this.fieldsIndex++},showHighlight:function(){this.highlight=!0},hideHighlight:function(){this.highlight=!1}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(5),o=r(i),a=n(3),s=r(a),c=[\"#FF6900\",\"#FCB900\",\"#7BDCB5\",\"#00D084\",\"#8ED1FC\",\"#0693E3\",\"#ABB8C3\",\"#EB144C\",\"#F78DA7\",\"#9900EF\"];t.default={name:\"Twitter\",mixins:[s.default],components:{editableInput:o.default},props:{width:{type:[String,Number],default:276},defaultColors:{type:Array,default:function(){return c}},triangle:{default:\"top-left\",validator:function(e){return[\"hide\",\"top-left\",\"top-right\"].includes(e)}}},computed:{hsv:function(){var e=this.colors.hsv;return{h:e.h.toFixed(),s:(100*e.s).toFixed(),v:(100*e.v).toFixed()}},hex:function(){var e=this.colors.hex;return e&&e.replace(\"#\",\"\")}},methods:{equal:function(e){return e.toLowerCase()===this.colors.hex.toLowerCase()},handlerClick:function(e){this.colorChange({hex:e,source:\"hex\"})},inputChange:function(e){e&&(e[\"#\"]?this.isValidHex(e[\"#\"])&&this.colorChange({hex:e[\"#\"],source:\"hex\"}):e.r||e.g||e.b||e.a?this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"}):(e.h||e.s||e.v)&&this.colorChange({h:e.h||this.colors.hsv.h,s:e.s/100||this.colors.hsv.s,v:e.v/100||this.colors.hsv.v,source:\"hsv\"}))}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}var i=n(61),o=r(i),a=n(70),s=r(a),c=n(74),l=r(c),u=n(78),f=r(u),d=n(115),h=r(d),p=n(120),v=r(p),g=n(135),b=r(g),x=n(139),m=r(x),_=n(143),w=r(_),y=n(21),C=r(y),k=n(22),F=r(k),S=n(5),A=r(S),O=n(13),E=r(O),M=n(20),j=r(M),L=n(3),P=r(L),R={version:\"2.8.1\",Compact:o.default,Grayscale:s.default,Twitter:w.default,Material:l.default,Slider:f.default,Swatches:h.default,Photoshop:v.default,Sketch:b.default,Chrome:m.default,Alpha:C.default,Checkboard:F.default,EditableInput:A.default,Hue:E.default,Saturation:j.default,ColorMixin:P.default};e.exports=R},function(e,t,n){\"use strict\";function r(e){c||n(62)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(35),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(69),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Compact.vue\",t.default=f.exports},function(e,t,n){var r=n(63);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"6ce8a5a8\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-compact {\\n padding-top: 5px;\\n padding-left: 5px;\\n width: 245px;\\n border-radius: 2px;\\n box-sizing: border-box;\\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\\n background-color: #fff;\\n}\\n.vc-compact-colors {\\n overflow: hidden;\\n padding: 0;\\n margin: 0;\\n}\\n.vc-compact-color-item {\\n list-style: none;\\n width: 15px;\\n height: 15px;\\n float: left;\\n margin-right: 5px;\\n margin-bottom: 5px;\\n position: relative;\\n cursor: pointer;\\n}\\n.vc-compact-color-item--white {\\n box-shadow: inset 0 0 0 1px #ddd;\\n}\\n.vc-compact-color-item--white .vc-compact-dot {\\n background: #000;\\n}\\n.vc-compact-dot {\\n position: absolute;\\n top: 5px;\\n right: 5px;\\n bottom: 5px;\\n left: 5px;\\n border-radius: 50%;\\n opacity: 1;\\n background: #fff;\\n}\\n\",\"\"])},function(e,t){e.exports=function(e,t){for(var n=[],r={},i=0;i<t.length;i++){var o=t[i],a=o[0],s=o[1],c=o[2],l=o[3],u={id:e+\":\"+i,css:s,media:c,sourceMap:l};r[a]?r[a].parts.push(u):n.push(r[a]={id:a,parts:[u]})}return n}},function(e,t,n){var r;!function(i){function o(e,t){if(e=e||\"\",t=t||{},e instanceof o)return e;if(!(this instanceof o))return new o(e,t);var n=a(e);this._originalInput=e,this._r=n.r,this._g=n.g,this._b=n.b,this._a=n.a,this._roundA=G(100*this._a)/100,this._format=t.format||n.format,this._gradientType=t.gradientType,this._r<1&&(this._r=G(this._r)),this._g<1&&(this._g=G(this._g)),this._b<1&&(this._b=G(this._b)),this._ok=n.ok,this._tc_id=U++}function a(e){var t={r:0,g:0,b:0},n=1,r=null,i=null,o=null,a=!1,c=!1;return\"string\"==typeof e&&(e=N(e)),\"object\"==typeof e&&(H(e.r)&&H(e.g)&&H(e.b)?(t=s(e.r,e.g,e.b),a=!0,c=\"%\"===String(e.r).substr(-1)?\"prgb\":\"rgb\"):H(e.h)&&H(e.s)&&H(e.v)?(r=D(e.s),i=D(e.v),t=f(e.h,r,i),a=!0,c=\"hsv\"):H(e.h)&&H(e.s)&&H(e.l)&&(r=D(e.s),o=D(e.l),t=l(e.h,r,o),a=!0,c=\"hsl\"),e.hasOwnProperty(\"a\")&&(n=e.a)),n=O(n),{ok:a,format:e.format||c,r:V(255,q(t.r,0)),g:V(255,q(t.g,0)),b:V(255,q(t.b,0)),a:n}}function s(e,t,n){return{r:255*E(e,255),g:255*E(t,255),b:255*E(n,255)}}function c(e,t,n){e=E(e,255),t=E(t,255),n=E(n,255);var r,i,o=q(e,t,n),a=V(e,t,n),s=(o+a)/2;if(o==a)r=i=0;else{var c=o-a;switch(i=s>.5?c/(2-o-a):c/(o+a),o){case e:r=(t-n)/c+(t<n?6:0);break;case t:r=(n-e)/c+2;break;case n:r=(e-t)/c+4}r/=6}return{h:r,s:i,l:s}}function l(e,t,n){function r(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var i,o,a;if(e=E(e,360),t=E(t,100),n=E(n,100),0===t)i=o=a=n;else{var s=n<.5?n*(1+t):n+t-n*t,c=2*n-s;i=r(c,s,e+1/3),o=r(c,s,e),a=r(c,s,e-1/3)}return{r:255*i,g:255*o,b:255*a}}function u(e,t,n){e=E(e,255),t=E(t,255),n=E(n,255);var r,i,o=q(e,t,n),a=V(e,t,n),s=o,c=o-a;if(i=0===o?0:c/o,o==a)r=0;else{switch(o){case e:r=(t-n)/c+(t<n?6:0);break;case t:r=(n-e)/c+2;break;case n:r=(e-t)/c+4}r/=6}return{h:r,s:i,v:s}}function f(e,t,n){e=6*E(e,360),t=E(t,100),n=E(n,100);var r=i.floor(e),o=e-r,a=n*(1-t),s=n*(1-o*t),c=n*(1-(1-o)*t),l=r%6;return{r:255*[n,s,a,a,c,n][l],g:255*[c,n,n,s,a,a][l],b:255*[a,a,c,n,n,s][l]}}function d(e,t,n,r){var i=[R(G(e).toString(16)),R(G(t).toString(16)),R(G(n).toString(16))];return r&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(\"\")}function h(e,t,n,r,i){var o=[R(G(e).toString(16)),R(G(t).toString(16)),R(G(n).toString(16)),R(B(r))];return i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1)?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0):o.join(\"\")}function p(e,t,n,r){return[R(B(r)),R(G(e).toString(16)),R(G(t).toString(16)),R(G(n).toString(16))].join(\"\")}function v(e,t){t=0===t?0:t||10;var n=o(e).toHsl();return n.s-=t/100,n.s=M(n.s),o(n)}function g(e,t){t=0===t?0:t||10;var n=o(e).toHsl();return n.s+=t/100,n.s=M(n.s),o(n)}function b(e){return o(e).desaturate(100)}function x(e,t){t=0===t?0:t||10;var n=o(e).toHsl();return n.l+=t/100,n.l=M(n.l),o(n)}function m(e,t){t=0===t?0:t||10;var n=o(e).toRgb();return n.r=q(0,V(255,n.r-G(-t/100*255))),n.g=q(0,V(255,n.g-G(-t/100*255))),n.b=q(0,V(255,n.b-G(-t/100*255))),o(n)}function _(e,t){t=0===t?0:t||10;var n=o(e).toHsl();return n.l-=t/100,n.l=M(n.l),o(n)}function w(e,t){var n=o(e).toHsl(),r=(n.h+t)%360;return n.h=r<0?360+r:r,o(n)}function y(e){var t=o(e).toHsl();return t.h=(t.h+180)%360,o(t)}function C(e){var t=o(e).toHsl(),n=t.h;return[o(e),o({h:(n+120)%360,s:t.s,l:t.l}),o({h:(n+240)%360,s:t.s,l:t.l})]}function k(e){var t=o(e).toHsl(),n=t.h;return[o(e),o({h:(n+90)%360,s:t.s,l:t.l}),o({h:(n+180)%360,s:t.s,l:t.l}),o({h:(n+270)%360,s:t.s,l:t.l})]}function F(e){var t=o(e).toHsl(),n=t.h;return[o(e),o({h:(n+72)%360,s:t.s,l:t.l}),o({h:(n+216)%360,s:t.s,l:t.l})]}function S(e,t,n){t=t||6,n=n||30;var r=o(e).toHsl(),i=360/n,a=[o(e)];for(r.h=(r.h-(i*t>>1)+720)%360;--t;)r.h=(r.h+i)%360,a.push(o(r));return a}function A(e,t){t=t||6;for(var n=o(e).toHsv(),r=n.h,i=n.s,a=n.v,s=[],c=1/t;t--;)s.push(o({h:r,s:i,v:a})),a=(a+c)%1;return s}function O(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function E(e,t){L(e)&&(e=\"100%\");var n=P(e);return e=V(t,q(0,parseFloat(e))),n&&(e=parseInt(e*t,10)/100),i.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function M(e){return V(1,q(0,e))}function j(e){return parseInt(e,16)}function L(e){return\"string\"==typeof e&&-1!=e.indexOf(\".\")&&1===parseFloat(e)}function P(e){return\"string\"==typeof e&&-1!=e.indexOf(\"%\")}function R(e){return 1==e.length?\"0\"+e:\"\"+e}function D(e){return e<=1&&(e=100*e+\"%\"),e}function B(e){return i.round(255*parseFloat(e)).toString(16)}function T(e){return j(e)/255}function H(e){return!!J.CSS_UNIT.exec(e)}function N(e){e=e.replace(I,\"\").replace($,\"\").toLowerCase();var t=!1;if(W[e])e=W[e],t=!0;else if(\"transparent\"==e)return{r:0,g:0,b:0,a:0,format:\"name\"};var n;return(n=J.rgb.exec(e))?{r:n[1],g:n[2],b:n[3]}:(n=J.rgba.exec(e))?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=J.hsl.exec(e))?{h:n[1],s:n[2],l:n[3]}:(n=J.hsla.exec(e))?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=J.hsv.exec(e))?{h:n[1],s:n[2],v:n[3]}:(n=J.hsva.exec(e))?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=J.hex8.exec(e))?{r:j(n[1]),g:j(n[2]),b:j(n[3]),a:T(n[4]),format:t?\"name\":\"hex8\"}:(n=J.hex6.exec(e))?{r:j(n[1]),g:j(n[2]),b:j(n[3]),format:t?\"name\":\"hex\"}:(n=J.hex4.exec(e))?{r:j(n[1]+\"\"+n[1]),g:j(n[2]+\"\"+n[2]),b:j(n[3]+\"\"+n[3]),a:T(n[4]+\"\"+n[4]),format:t?\"name\":\"hex8\"}:!!(n=J.hex3.exec(e))&&{r:j(n[1]+\"\"+n[1]),g:j(n[2]+\"\"+n[2]),b:j(n[3]+\"\"+n[3]),format:t?\"name\":\"hex\"}}function z(e){var t,n;return e=e||{level:\"AA\",size:\"small\"},t=(e.level||\"AA\").toUpperCase(),n=(e.size||\"small\").toLowerCase(),\"AA\"!==t&&\"AAA\"!==t&&(t=\"AA\"),\"small\"!==n&&\"large\"!==n&&(n=\"small\"),{level:t,size:n}}var I=/^\\s+/,$=/\\s+$/,U=0,G=i.round,V=i.min,q=i.max,X=i.random;o.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,n,r,o,a,s=this.toRgb();return e=s.r/255,t=s.g/255,n=s.b/255,r=e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4),o=t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4),a=n<=.03928?n/12.92:i.pow((n+.055)/1.055,2.4),.2126*r+.7152*o+.0722*a},setAlpha:function(e){return this._a=O(e),this._roundA=G(100*this._a)/100,this},toHsv:function(){var e=u(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=u(this._r,this._g,this._b),t=G(360*e.h),n=G(100*e.s),r=G(100*e.v);return 1==this._a?\"hsv(\"+t+\", \"+n+\"%, \"+r+\"%)\":\"hsva(\"+t+\", \"+n+\"%, \"+r+\"%, \"+this._roundA+\")\"},toHsl:function(){var e=c(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=c(this._r,this._g,this._b),t=G(360*e.h),n=G(100*e.s),r=G(100*e.l);return 1==this._a?\"hsl(\"+t+\", \"+n+\"%, \"+r+\"%)\":\"hsla(\"+t+\", \"+n+\"%, \"+r+\"%, \"+this._roundA+\")\"},toHex:function(e){return d(this._r,this._g,this._b,e)},toHexString:function(e){return\"#\"+this.toHex(e)},toHex8:function(e){return h(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return\"#\"+this.toHex8(e)},toRgb:function(){return{r:G(this._r),g:G(this._g),b:G(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+G(this._r)+\", \"+G(this._g)+\", \"+G(this._b)+\")\":\"rgba(\"+G(this._r)+\", \"+G(this._g)+\", \"+G(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:G(100*E(this._r,255))+\"%\",g:G(100*E(this._g,255))+\"%\",b:G(100*E(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+G(100*E(this._r,255))+\"%, \"+G(100*E(this._g,255))+\"%, \"+G(100*E(this._b,255))+\"%)\":\"rgba(\"+G(100*E(this._r,255))+\"%, \"+G(100*E(this._g,255))+\"%, \"+G(100*E(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(Y[d(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t=\"#\"+p(this._r,this._g,this._b,this._a),n=t,r=this._gradientType?\"GradientType = 1, \":\"\";if(e){var i=o(e);n=\"#\"+p(i._r,i._g,i._b,i._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+r+\"startColorstr=\"+t+\",endColorstr=\"+n+\")\"},toString:function(e){var t=!!e;e=e||this._format;var n=!1,r=this._a<1&&this._a>=0;return t||!r||\"hex\"!==e&&\"hex6\"!==e&&\"hex3\"!==e&&\"hex4\"!==e&&\"hex8\"!==e&&\"name\"!==e?(\"rgb\"===e&&(n=this.toRgbString()),\"prgb\"===e&&(n=this.toPercentageRgbString()),\"hex\"!==e&&\"hex6\"!==e||(n=this.toHexString()),\"hex3\"===e&&(n=this.toHexString(!0)),\"hex4\"===e&&(n=this.toHex8String(!0)),\"hex8\"===e&&(n=this.toHex8String()),\"name\"===e&&(n=this.toName()),\"hsl\"===e&&(n=this.toHslString()),\"hsv\"===e&&(n=this.toHsvString()),n||this.toHexString()):\"name\"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return o(this.toString())},_applyModification:function(e,t){var n=e.apply(null,[this].concat([].slice.call(t)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(x,arguments)},brighten:function(){return this._applyModification(m,arguments)},darken:function(){return this._applyModification(_,arguments)},desaturate:function(){return this._applyModification(v,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(b,arguments)},spin:function(){return this._applyModification(w,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(S,arguments)},complement:function(){return this._applyCombination(y,arguments)},monochromatic:function(){return this._applyCombination(A,arguments)},splitcomplement:function(){return this._applyCombination(F,arguments)},triad:function(){return this._applyCombination(C,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},o.fromRatio=function(e,t){if(\"object\"==typeof e){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=\"a\"===r?e[r]:D(e[r]));e=n}return o(e,t)},o.equals=function(e,t){return!(!e||!t)&&o(e).toRgbString()==o(t).toRgbString()},o.random=function(){return o.fromRatio({r:X(),g:X(),b:X()})},o.mix=function(e,t,n){n=0===n?0:n||50;var r=o(e).toRgb(),i=o(t).toRgb(),a=n/100;return o({r:(i.r-r.r)*a+r.r,g:(i.g-r.g)*a+r.g,b:(i.b-r.b)*a+r.b,a:(i.a-r.a)*a+r.a})},o.readability=function(e,t){var n=o(e),r=o(t);return(i.max(n.getLuminance(),r.getLuminance())+.05)/(i.min(n.getLuminance(),r.getLuminance())+.05)},o.isReadable=function(e,t,n){var r,i,a=o.readability(e,t);switch(i=!1,r=z(n),r.level+r.size){case\"AAsmall\":case\"AAAlarge\":i=a>=4.5;break;case\"AAlarge\":i=a>=3;break;case\"AAAsmall\":i=a>=7}return i},o.mostReadable=function(e,t,n){var r,i,a,s,c=null,l=0;n=n||{},i=n.includeFallbackColors,a=n.level,s=n.size;for(var u=0;u<t.length;u++)(r=o.readability(e,t[u]))>l&&(l=r,c=o(t[u]));return o.isReadable(e,c,{level:a,size:s})||!i?c:(n.includeFallbackColors=!1,o.mostReadable(e,[\"#fff\",\"#000\"],n))};var W=o.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},Y=o.hexNames=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}(W),J=function(){var e=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\",t=\"[\\\\s|\\\\(]+(\"+e+\")[,|\\\\s]+(\"+e+\")[,|\\\\s]+(\"+e+\")\\\\s*\\\\)?\",n=\"[\\\\s|\\\\(]+(\"+e+\")[,|\\\\s]+(\"+e+\")[,|\\\\s]+(\"+e+\")[,|\\\\s]+(\"+e+\")\\\\s*\\\\)?\";return{CSS_UNIT:new RegExp(e),rgb:new RegExp(\"rgb\"+t),rgba:new RegExp(\"rgba\"+n),hsl:new RegExp(\"hsl\"+t),hsla:new RegExp(\"hsla\"+n),hsv:new RegExp(\"hsv\"+t),hsva:new RegExp(\"hsva\"+n),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();void 0!==e&&e.exports?e.exports=o:void 0!==(r=function(){return o}.call(t,n,t,e))&&(e.exports=r)}(Math)},function(e,t,n){var r=n(67);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"0f73e73c\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-editable-input {\\n position: relative;\\n}\\n.vc-input__input {\\n padding: 0;\\n border: 0;\\n outline: none;\\n}\\n.vc-input__label {\\n text-transform: capitalize;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-editable-input\"},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:e.val,expression:\"val\"}],ref:\"input\",staticClass:\"vc-input__input\",attrs:{\"aria-labelledby\":e.labelId},domProps:{value:e.val},on:{keydown:e.handleKeyDown,input:[function(t){t.target.composing||(e.val=t.target.value)},e.update]}}),e._v(\" \"),n(\"span\",{staticClass:\"vc-input__label\",attrs:{for:e.label,id:e.labelId}},[e._v(e._s(e.labelSpanText))]),e._v(\" \"),n(\"span\",{staticClass:\"vc-input__desc\"},[e._v(e._s(e.desc))])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-compact\",attrs:{role:\"application\",\"aria-label\":\"Compact color picker\"}},[n(\"ul\",{staticClass:\"vc-compact-colors\",attrs:{role:\"listbox\"}},e._l(e.paletteUpperCase(e.palette),function(t){return n(\"li\",{key:t,staticClass:\"vc-compact-color-item\",class:{\"vc-compact-color-item--white\":\"#FFFFFF\"===t},style:{background:t},attrs:{role:\"option\",\"aria-label\":\"color:\"+t,\"aria-selected\":t===e.pick},on:{click:function(n){return e.handlerClick(t)}}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t===e.pick,expression:\"c === pick\"}],staticClass:\"vc-compact-dot\"})])}),0)])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(71)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(37),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(73),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Grayscale.vue\",t.default=f.exports},function(e,t,n){var r=n(72);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"21ddbb74\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-grayscale {\\n width: 125px;\\n border-radius: 2px;\\n box-shadow: 0 2px 15px rgba(0,0,0,.12), 0 2px 10px rgba(0,0,0,.16);\\n background-color: #fff;\\n}\\n.vc-grayscale-colors {\\n border-radius: 2px;\\n overflow: hidden;\\n padding: 0;\\n margin: 0;\\n}\\n.vc-grayscale-color-item {\\n list-style: none;\\n width: 25px;\\n height: 25px;\\n float: left;\\n position: relative;\\n cursor: pointer;\\n}\\n.vc-grayscale-color-item--white .vc-grayscale-dot {\\n background: #000;\\n}\\n.vc-grayscale-dot {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: 6px;\\n height: 6px;\\n margin: -3px 0 0 -2px;\\n border-radius: 50%;\\n opacity: 1;\\n background: #fff;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-grayscale\",attrs:{role:\"application\",\"aria-label\":\"Grayscale color picker\"}},[n(\"ul\",{staticClass:\"vc-grayscale-colors\",attrs:{role:\"listbox\"}},e._l(e.paletteUpperCase(e.palette),function(t){return n(\"li\",{key:t,staticClass:\"vc-grayscale-color-item\",class:{\"vc-grayscale-color-item--white\":\"#FFFFFF\"==t},style:{background:t},attrs:{role:\"option\",\"aria-label\":\"Color:\"+t,\"aria-selected\":t===e.pick},on:{click:function(n){return e.handlerClick(t)}}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t===e.pick,expression:\"c === pick\"}],staticClass:\"vc-grayscale-dot\"})])}),0)])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(75)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(38),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(77),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Material.vue\",t.default=f.exports},function(e,t,n){var r=n(76);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"1ff3af73\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,'\\n.vc-material {\\n width: 98px;\\n height: 98px;\\n padding: 16px;\\n font-family: \"Roboto\";\\n position: relative;\\n border-radius: 2px;\\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\\n background-color: #fff;\\n}\\n.vc-material .vc-input__input {\\n width: 100%;\\n margin-top: 12px;\\n font-size: 15px;\\n color: #333;\\n height: 30px;\\n}\\n.vc-material .vc-input__label {\\n position: absolute;\\n top: 0;\\n left: 0;\\n font-size: 11px;\\n color: #999;\\n text-transform: capitalize;\\n}\\n.vc-material-hex {\\n border-bottom-width: 2px;\\n border-bottom-style: solid;\\n}\\n.vc-material-split {\\n display: flex;\\n margin-right: -10px;\\n padding-top: 11px;\\n}\\n.vc-material-third {\\n flex: 1;\\n padding-right: 10px;\\n}\\n',\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-material\",attrs:{role:\"application\",\"aria-label\":\"Material color picker\"}},[n(\"ed-in\",{staticClass:\"vc-material-hex\",style:{borderColor:e.colors.hex},attrs:{label:\"hex\"},on:{change:e.onChange},model:{value:e.colors.hex,callback:function(t){e.$set(e.colors,\"hex\",t)},expression:\"colors.hex\"}}),e._v(\" \"),n(\"div\",{staticClass:\"vc-material-split\"},[n(\"div\",{staticClass:\"vc-material-third\"},[n(\"ed-in\",{attrs:{label:\"r\"},on:{change:e.onChange},model:{value:e.colors.rgba.r,callback:function(t){e.$set(e.colors.rgba,\"r\",t)},expression:\"colors.rgba.r\"}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-material-third\"},[n(\"ed-in\",{attrs:{label:\"g\"},on:{change:e.onChange},model:{value:e.colors.rgba.g,callback:function(t){e.$set(e.colors.rgba,\"g\",t)},expression:\"colors.rgba.g\"}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-material-third\"},[n(\"ed-in\",{attrs:{label:\"b\"},on:{change:e.onChange},model:{value:e.colors.rgba.b,callback:function(t){e.$set(e.colors.rgba,\"b\",t)},expression:\"colors.rgba.b\"}})],1)])],1)},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(79)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(39),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(114),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Slider.vue\",t.default=f.exports},function(e,t,n){var r=n(80);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"7982aa43\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-slider {\\n position: relative;\\n width: 410px;\\n}\\n.vc-slider-hue-warp {\\n height: 12px;\\n position: relative;\\n}\\n.vc-slider-hue-warp .vc-hue-picker {\\n width: 14px;\\n height: 14px;\\n border-radius: 6px;\\n transform: translate(-7px, -2px);\\n background-color: rgb(248, 248, 248);\\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\\n}\\n.vc-slider-swatches {\\n display: flex;\\n margin-top: 20px;\\n}\\n.vc-slider-swatch {\\n margin-right: 1px;\\n flex: 1;\\n width: 20%;\\n}\\n.vc-slider-swatch:first-child {\\n margin-right: 1px;\\n}\\n.vc-slider-swatch:first-child .vc-slider-swatch-picker {\\n border-radius: 2px 0px 0px 2px;\\n}\\n.vc-slider-swatch:last-child {\\n margin-right: 0;\\n}\\n.vc-slider-swatch:last-child .vc-slider-swatch-picker {\\n border-radius: 0px 2px 2px 0px;\\n}\\n.vc-slider-swatch-picker {\\n cursor: pointer;\\n height: 12px;\\n}\\n.vc-slider-swatch:nth-child(n) .vc-slider-swatch-picker.vc-slider-swatch-picker--active {\\n transform: scaleY(1.8);\\n border-radius: 3.6px/2px;\\n}\\n.vc-slider-swatch-picker--white {\\n box-shadow: inset 0 0 0 1px #ddd;\\n}\\n.vc-slider-swatch-picker--active.vc-slider-swatch-picker--white {\\n box-shadow: inset 0 0 0 0.6px #ddd;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(82),o=r(i),a=n(100),s=r(a),c=\"function\"==typeof s.default&&\"symbol\"==typeof o.default?function(e){return typeof e}:function(e){return e&&\"function\"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?\"symbol\":typeof e};t.default=\"function\"==typeof s.default&&\"symbol\"===c(o.default)?function(e){return void 0===e?\"undefined\":c(e)}:function(e){return e&&\"function\"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?\"symbol\":void 0===e?\"undefined\":c(e)}},function(e,t,n){e.exports={default:n(83),__esModule:!0}},function(e,t,n){n(84),n(96),e.exports=n(32).f(\"iterator\")},function(e,t,n){\"use strict\";var r=n(85)(!0);n(40)(String,\"String\",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){var r=n(23),i=n(24);e.exports=function(e){return function(t,n){var o,a,s=String(i(t)),c=r(n),l=s.length;return c<0||c>=l?e?\"\":void 0:(o=s.charCodeAt(c),o<55296||o>56319||c+1===l||(a=s.charCodeAt(c+1))<56320||a>57343?e?s.charAt(c):o:e?s.slice(c,c+2):a-56320+(o-55296<<10)+65536)}}},function(e,t,n){var r=n(87);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},function(e,t,n){\"use strict\";var r=n(45),i=n(18),o=n(31),a={};n(7)(a,n(11)(\"iterator\"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+\" Iterator\")}},function(e,t,n){var r=n(8),i=n(16),o=n(27);e.exports=n(9)?Object.defineProperties:function(e,t){i(e);for(var n,a=o(t),s=a.length,c=0;s>c;)r.f(e,n=a[c++],t[n]);return e}},function(e,t,n){var r=n(47);e.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(e){return\"String\"==r(e)?e.split(\"\"):Object(e)}},function(e,t,n){var r=n(10),i=n(92),o=n(93);e.exports=function(e){return function(t,n,a){var s,c=r(t),l=i(c.length),u=o(a,l);if(e&&n!=n){for(;l>u;)if((s=c[u++])!=s)return!0}else for(;l>u;u++)if((e||u in c)&&c[u]===n)return e||u||0;return!e&&-1}}},function(e,t,n){var r=n(23),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){var r=n(23),i=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},function(e,t,n){var r=n(4).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(6),i=n(48),o=n(28)(\"IE_PROTO\"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:\"function\"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,n){n(97);for(var r=n(4),i=n(7),o=n(26),a=n(11)(\"toStringTag\"),s=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),c=0;c<s.length;c++){var l=s[c],u=r[l],f=u&&u.prototype;f&&!f[a]&&i(f,a,l),o[l]=o.Array}},function(e,t,n){\"use strict\";var r=n(98),i=n(99),o=n(26),a=n(10);e.exports=n(40)(Array,\"Array\",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):\"keys\"==t?i(0,n):\"values\"==t?i(0,e[n]):i(0,[n,e[n]])},\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){e.exports={default:n(101),__esModule:!0}},function(e,t,n){n(102),n(108),n(109),n(110),e.exports=n(15).Symbol},function(e,t,n){\"use strict\";var r=n(4),i=n(6),o=n(9),a=n(41),s=n(44),c=n(103).KEY,l=n(17),u=n(29),f=n(31),d=n(19),h=n(11),p=n(32),v=n(33),g=n(104),b=n(105),x=n(16),m=n(12),_=n(48),w=n(10),y=n(25),C=n(18),k=n(45),F=n(106),S=n(107),A=n(49),O=n(8),E=n(27),M=S.f,j=O.f,L=F.f,P=r.Symbol,R=r.JSON,D=R&&R.stringify,B=h(\"_hidden\"),T=h(\"toPrimitive\"),H={}.propertyIsEnumerable,N=u(\"symbol-registry\"),z=u(\"symbols\"),I=u(\"op-symbols\"),$=Object.prototype,U=\"function\"==typeof P&&!!A.f,G=r.QObject,V=!G||!G.prototype||!G.prototype.findChild,q=o&&l(function(){return 7!=k(j({},\"a\",{get:function(){return j(this,\"a\",{value:7}).a}})).a})?function(e,t,n){var r=M($,t);r&&delete $[t],j(e,t,n),r&&e!==$&&j($,t,r)}:j,X=function(e){var t=z[e]=k(P.prototype);return t._k=e,t},W=U&&\"symbol\"==typeof P.iterator?function(e){return\"symbol\"==typeof e}:function(e){return e instanceof P},Y=function(e,t,n){return e===$&&Y(I,t,n),x(e),t=y(t,!0),x(n),i(z,t)?(n.enumerable?(i(e,B)&&e[B][t]&&(e[B][t]=!1),n=k(n,{enumerable:C(0,!1)})):(i(e,B)||j(e,B,C(1,{})),e[B][t]=!0),q(e,t,n)):j(e,t,n)},J=function(e,t){x(e);for(var n,r=g(t=w(t)),i=0,o=r.length;o>i;)Y(e,n=r[i++],t[n]);return e},K=function(e,t){return void 0===t?k(e):J(k(e),t)},Z=function(e){var t=H.call(this,e=y(e,!0));return!(this===$&&i(z,e)&&!i(I,e))&&(!(t||!i(this,e)||!i(z,e)||i(this,B)&&this[B][e])||t)},Q=function(e,t){if(e=w(e),t=y(t,!0),e!==$||!i(z,t)||i(I,t)){var n=M(e,t);return!n||!i(z,t)||i(e,B)&&e[B][t]||(n.enumerable=!0),n}},ee=function(e){for(var t,n=L(w(e)),r=[],o=0;n.length>o;)i(z,t=n[o++])||t==B||t==c||r.push(t);return r},te=function(e){for(var t,n=e===$,r=L(n?I:w(e)),o=[],a=0;r.length>a;)!i(z,t=r[a++])||n&&!i($,t)||o.push(z[t]);return o};U||(P=function(){if(this instanceof P)throw TypeError(\"Symbol is not a constructor!\");var e=d(arguments.length>0?arguments[0]:void 0),t=function(n){this===$&&t.call(I,n),i(this,B)&&i(this[B],e)&&(this[B][e]=!1),q(this,e,C(1,n))};return o&&V&&q($,e,{configurable:!0,set:t}),X(e)},s(P.prototype,\"toString\",function(){return this._k}),S.f=Q,O.f=Y,n(50).f=F.f=ee,n(34).f=Z,A.f=te,o&&!n(14)&&s($,\"propertyIsEnumerable\",Z,!0),p.f=function(e){return X(h(e))}),a(a.G+a.W+a.F*!U,{Symbol:P});for(var ne=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),re=0;ne.length>re;)h(ne[re++]);for(var ie=E(h.store),oe=0;ie.length>oe;)v(ie[oe++]);a(a.S+a.F*!U,\"Symbol\",{for:function(e){return i(N,e+=\"\")?N[e]:N[e]=P(e)},keyFor:function(e){if(!W(e))throw TypeError(e+\" is not a symbol!\");for(var t in N)if(N[t]===e)return t},useSetter:function(){V=!0},useSimple:function(){V=!1}}),a(a.S+a.F*!U,\"Object\",{create:K,defineProperty:Y,defineProperties:J,getOwnPropertyDescriptor:Q,getOwnPropertyNames:ee,getOwnPropertySymbols:te});var ae=l(function(){A.f(1)});a(a.S+a.F*ae,\"Object\",{getOwnPropertySymbols:function(e){return A.f(_(e))}}),R&&a(a.S+a.F*(!U||l(function(){var e=P();return\"[null]\"!=D([e])||\"{}\"!=D({a:e})||\"{}\"!=D(Object(e))})),\"JSON\",{stringify:function(e){for(var t,n,r=[e],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=t=r[1],(m(t)||void 0!==e)&&!W(e))return b(t)||(t=function(e,t){if(\"function\"==typeof n&&(t=n.call(this,e,t)),!W(t))return t}),r[1]=t,D.apply(R,r)}}),P.prototype[T]||n(7)(P.prototype,T,P.prototype.valueOf),f(P,\"Symbol\"),f(Math,\"Math\",!0),f(r.JSON,\"JSON\",!0)},function(e,t,n){var r=n(19)(\"meta\"),i=n(12),o=n(6),a=n(8).f,s=0,c=Object.isExtensible||function(){return!0},l=!n(17)(function(){return c(Object.preventExtensions({}))}),u=function(e){a(e,r,{value:{i:\"O\"+ ++s,w:{}}})},f=function(e,t){if(!i(e))return\"symbol\"==typeof e?e:(\"string\"==typeof e?\"S\":\"P\")+e;if(!o(e,r)){if(!c(e))return\"F\";if(!t)return\"E\";u(e)}return e[r].i},d=function(e,t){if(!o(e,r)){if(!c(e))return!0;if(!t)return!1;u(e)}return e[r].w},h=function(e){return l&&p.NEED&&c(e)&&!o(e,r)&&u(e),e},p=e.exports={KEY:r,NEED:!1,fastKey:f,getWeak:d,onFreeze:h}},function(e,t,n){var r=n(27),i=n(49),o=n(34);e.exports=function(e){var t=r(e),n=i.f;if(n)for(var a,s=n(e),c=o.f,l=0;s.length>l;)c.call(e,a=s[l++])&&t.push(a);return t}},function(e,t,n){var r=n(47);e.exports=Array.isArray||function(e){return\"Array\"==r(e)}},function(e,t,n){var r=n(10),i=n(50).f,o={}.toString,a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(e){try{return i(e)}catch(e){return a.slice()}};e.exports.f=function(e){return a&&\"[object Window]\"==o.call(e)?s(e):i(r(e))}},function(e,t,n){var r=n(34),i=n(18),o=n(10),a=n(25),s=n(6),c=n(42),l=Object.getOwnPropertyDescriptor;t.f=n(9)?l:function(e,t){if(e=o(e),t=a(t,!0),c)try{return l(e,t)}catch(e){}if(s(e,t))return i(!r.f.call(e,t),e[t])}},function(e,t){},function(e,t,n){n(33)(\"asyncIterator\")},function(e,t,n){n(33)(\"observable\")},function(e,t,n){var r=n(112);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"7c5f1a1c\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-hue {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n bottom: 0px;\\n left: 0px;\\n border-radius: 2px;\\n}\\n.vc-hue--horizontal {\\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n}\\n.vc-hue--vertical {\\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n}\\n.vc-hue-container {\\n cursor: pointer;\\n margin: 0 2px;\\n position: relative;\\n height: 100%;\\n}\\n.vc-hue-pointer {\\n z-index: 2;\\n position: absolute;\\n}\\n.vc-hue-picker {\\n cursor: pointer;\\n margin-top: 1px;\\n width: 4px;\\n border-radius: 1px;\\n height: 8px;\\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\\n background: #fff;\\n transform: translateX(-2px) ;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{class:[\"vc-hue\",e.directionClass]},[n(\"div\",{ref:\"container\",staticClass:\"vc-hue-container\",attrs:{role:\"slider\",\"aria-valuenow\":e.colors.hsl.h,\"aria-valuemin\":\"0\",\"aria-valuemax\":\"360\"},on:{mousedown:e.handleMouseDown,touchmove:e.handleChange,touchstart:e.handleChange}},[n(\"div\",{staticClass:\"vc-hue-pointer\",style:{top:e.pointerTop,left:e.pointerLeft},attrs:{role:\"presentation\"}},[n(\"div\",{staticClass:\"vc-hue-picker\"})])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-slider\",attrs:{role:\"application\",\"aria-label\":\"Slider color picker\"}},[n(\"div\",{staticClass:\"vc-slider-hue-warp\"},[n(\"hue\",{on:{change:e.hueChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-slider-swatches\",attrs:{role:\"group\"}},e._l(e.normalizedSwatches,function(t,r){return n(\"div\",{key:r,staticClass:\"vc-slider-swatch\",attrs:{\"data-index\":r,\"aria-label\":\"color:\"+e.colors.hex,role:\"button\"},on:{click:function(n){return e.handleSwClick(r,t)}}},[n(\"div\",{staticClass:\"vc-slider-swatch-picker\",class:{\"vc-slider-swatch-picker--active\":e.isActive(t,r),\"vc-slider-swatch-picker--white\":1===t.l},style:{background:\"hsl(\"+e.colors.hsl.h+\", \"+100*t.s+\"%, \"+100*t.l+\"%)\"}})])}),0)])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(116)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(52),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(119),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Swatches.vue\",t.default=f.exports},function(e,t,n){var r=n(117);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"10f839a2\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-swatches {\\n width: 320px;\\n height: 240px;\\n overflow-y: scroll;\\n background-color: #fff;\\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\\n}\\n.vc-swatches-box {\\n padding: 16px 0 6px 16px;\\n overflow: hidden;\\n}\\n.vc-swatches-color-group {\\n padding-bottom: 10px;\\n width: 40px;\\n float: left;\\n margin-right: 10px;\\n}\\n.vc-swatches-color-it {\\n box-sizing: border-box;\\n width: 40px;\\n height: 24px;\\n cursor: pointer;\\n background: #880e4f;\\n margin-bottom: 1px;\\n overflow: hidden;\\n -ms-border-radius: 2px 2px 0 0;\\n -moz-border-radius: 2px 2px 0 0;\\n -o-border-radius: 2px 2px 0 0;\\n -webkit-border-radius: 2px 2px 0 0;\\n border-radius: 2px 2px 0 0;\\n}\\n.vc-swatches-color--white {\\n border: 1px solid #DDD;\\n}\\n.vc-swatches-pick {\\n fill: rgb(255, 255, 255);\\n margin-left: 8px;\\n display: block;\\n}\\n.vc-swatches-color--white .vc-swatches-pick {\\n fill: rgb(51, 51, 51);\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),n.d(t,\"red\",function(){return r}),n.d(t,\"pink\",function(){return i}),n.d(t,\"purple\",function(){return o}),n.d(t,\"deepPurple\",function(){return a}),n.d(t,\"indigo\",function(){return s}),n.d(t,\"blue\",function(){return c}),n.d(t,\"lightBlue\",function(){return l}),n.d(t,\"cyan\",function(){return u}),n.d(t,\"teal\",function(){return f}),n.d(t,\"green\",function(){return d}),n.d(t,\"lightGreen\",function(){return h}),n.d(t,\"lime\",function(){return p}),n.d(t,\"yellow\",function(){return v}),n.d(t,\"amber\",function(){return g}),n.d(t,\"orange\",function(){return b}),n.d(t,\"deepOrange\",function(){return x}),n.d(t,\"brown\",function(){return m}),n.d(t,\"grey\",function(){return _}),n.d(t,\"blueGrey\",function(){return w}),n.d(t,\"darkText\",function(){return y}),n.d(t,\"lightText\",function(){return C}),n.d(t,\"darkIcons\",function(){return k}),n.d(t,\"lightIcons\",function(){return F}),n.d(t,\"white\",function(){return S}),n.d(t,\"black\",function(){return A});var r={50:\"#ffebee\",100:\"#ffcdd2\",200:\"#ef9a9a\",300:\"#e57373\",400:\"#ef5350\",500:\"#f44336\",600:\"#e53935\",700:\"#d32f2f\",800:\"#c62828\",900:\"#b71c1c\",a100:\"#ff8a80\",a200:\"#ff5252\",a400:\"#ff1744\",a700:\"#d50000\"},i={50:\"#fce4ec\",100:\"#f8bbd0\",200:\"#f48fb1\",300:\"#f06292\",400:\"#ec407a\",500:\"#e91e63\",600:\"#d81b60\",700:\"#c2185b\",800:\"#ad1457\",900:\"#880e4f\",a100:\"#ff80ab\",a200:\"#ff4081\",a400:\"#f50057\",a700:\"#c51162\"},o={50:\"#f3e5f5\",100:\"#e1bee7\",200:\"#ce93d8\",300:\"#ba68c8\",400:\"#ab47bc\",500:\"#9c27b0\",600:\"#8e24aa\",700:\"#7b1fa2\",800:\"#6a1b9a\",900:\"#4a148c\",a100:\"#ea80fc\",a200:\"#e040fb\",a400:\"#d500f9\",a700:\"#aa00ff\"},a={50:\"#ede7f6\",100:\"#d1c4e9\",200:\"#b39ddb\",300:\"#9575cd\",400:\"#7e57c2\",500:\"#673ab7\",600:\"#5e35b1\",700:\"#512da8\",800:\"#4527a0\",900:\"#311b92\",a100:\"#b388ff\",a200:\"#7c4dff\",a400:\"#651fff\",a700:\"#6200ea\"},s={50:\"#e8eaf6\",100:\"#c5cae9\",200:\"#9fa8da\",300:\"#7986cb\",400:\"#5c6bc0\",500:\"#3f51b5\",600:\"#3949ab\",700:\"#303f9f\",800:\"#283593\",900:\"#1a237e\",a100:\"#8c9eff\",a200:\"#536dfe\",a400:\"#3d5afe\",a700:\"#304ffe\"},c={50:\"#e3f2fd\",100:\"#bbdefb\",200:\"#90caf9\",300:\"#64b5f6\",400:\"#42a5f5\",500:\"#2196f3\",600:\"#1e88e5\",700:\"#1976d2\",800:\"#1565c0\",900:\"#0d47a1\",a100:\"#82b1ff\",a200:\"#448aff\",a400:\"#2979ff\",a700:\"#2962ff\"},l={50:\"#e1f5fe\",100:\"#b3e5fc\",200:\"#81d4fa\",300:\"#4fc3f7\",400:\"#29b6f6\",500:\"#03a9f4\",600:\"#039be5\",700:\"#0288d1\",800:\"#0277bd\",900:\"#01579b\",a100:\"#80d8ff\",a200:\"#40c4ff\",a400:\"#00b0ff\",a700:\"#0091ea\"},u={50:\"#e0f7fa\",100:\"#b2ebf2\",200:\"#80deea\",300:\"#4dd0e1\",400:\"#26c6da\",500:\"#00bcd4\",600:\"#00acc1\",700:\"#0097a7\",800:\"#00838f\",900:\"#006064\",a100:\"#84ffff\",a200:\"#18ffff\",a400:\"#00e5ff\",a700:\"#00b8d4\"},f={50:\"#e0f2f1\",100:\"#b2dfdb\",200:\"#80cbc4\",300:\"#4db6ac\",400:\"#26a69a\",500:\"#009688\",600:\"#00897b\",700:\"#00796b\",800:\"#00695c\",900:\"#004d40\",a100:\"#a7ffeb\",a200:\"#64ffda\",a400:\"#1de9b6\",a700:\"#00bfa5\"},d={50:\"#e8f5e9\",100:\"#c8e6c9\",200:\"#a5d6a7\",300:\"#81c784\",400:\"#66bb6a\",500:\"#4caf50\",600:\"#43a047\",700:\"#388e3c\",800:\"#2e7d32\",900:\"#1b5e20\",a100:\"#b9f6ca\",a200:\"#69f0ae\",a400:\"#00e676\",a700:\"#00c853\"},h={50:\"#f1f8e9\",100:\"#dcedc8\",200:\"#c5e1a5\",300:\"#aed581\",400:\"#9ccc65\",500:\"#8bc34a\",600:\"#7cb342\",700:\"#689f38\",800:\"#558b2f\",900:\"#33691e\",a100:\"#ccff90\",a200:\"#b2ff59\",a400:\"#76ff03\",a700:\"#64dd17\"},p={50:\"#f9fbe7\",100:\"#f0f4c3\",200:\"#e6ee9c\",300:\"#dce775\",400:\"#d4e157\",500:\"#cddc39\",600:\"#c0ca33\",700:\"#afb42b\",800:\"#9e9d24\",900:\"#827717\",a100:\"#f4ff81\",a200:\"#eeff41\",a400:\"#c6ff00\",a700:\"#aeea00\"},v={50:\"#fffde7\",100:\"#fff9c4\",200:\"#fff59d\",300:\"#fff176\",400:\"#ffee58\",500:\"#ffeb3b\",600:\"#fdd835\",700:\"#fbc02d\",800:\"#f9a825\",900:\"#f57f17\",a100:\"#ffff8d\",a200:\"#ffff00\",a400:\"#ffea00\",a700:\"#ffd600\"},g={50:\"#fff8e1\",100:\"#ffecb3\",200:\"#ffe082\",300:\"#ffd54f\",400:\"#ffca28\",500:\"#ffc107\",600:\"#ffb300\",700:\"#ffa000\",800:\"#ff8f00\",900:\"#ff6f00\",a100:\"#ffe57f\",a200:\"#ffd740\",a400:\"#ffc400\",a700:\"#ffab00\"},b={50:\"#fff3e0\",100:\"#ffe0b2\",200:\"#ffcc80\",300:\"#ffb74d\",400:\"#ffa726\",500:\"#ff9800\",600:\"#fb8c00\",700:\"#f57c00\",800:\"#ef6c00\",900:\"#e65100\",a100:\"#ffd180\",a200:\"#ffab40\",a400:\"#ff9100\",a700:\"#ff6d00\"},x={50:\"#fbe9e7\",100:\"#ffccbc\",200:\"#ffab91\",300:\"#ff8a65\",400:\"#ff7043\",500:\"#ff5722\",600:\"#f4511e\",700:\"#e64a19\",800:\"#d84315\",900:\"#bf360c\",a100:\"#ff9e80\",a200:\"#ff6e40\",a400:\"#ff3d00\",a700:\"#dd2c00\"},m={50:\"#efebe9\",100:\"#d7ccc8\",200:\"#bcaaa4\",300:\"#a1887f\",400:\"#8d6e63\",500:\"#795548\",600:\"#6d4c41\",700:\"#5d4037\",800:\"#4e342e\",900:\"#3e2723\"},_={50:\"#fafafa\",100:\"#f5f5f5\",200:\"#eeeeee\",300:\"#e0e0e0\",400:\"#bdbdbd\",500:\"#9e9e9e\",600:\"#757575\",700:\"#616161\",800:\"#424242\",900:\"#212121\"},w={50:\"#eceff1\",100:\"#cfd8dc\",200:\"#b0bec5\",300:\"#90a4ae\",400:\"#78909c\",500:\"#607d8b\",600:\"#546e7a\",700:\"#455a64\",800:\"#37474f\",900:\"#263238\"},y={primary:\"rgba(0, 0, 0, 0.87)\",secondary:\"rgba(0, 0, 0, 0.54)\",disabled:\"rgba(0, 0, 0, 0.38)\",dividers:\"rgba(0, 0, 0, 0.12)\"},C={primary:\"rgba(255, 255, 255, 1)\",secondary:\"rgba(255, 255, 255, 0.7)\",disabled:\"rgba(255, 255, 255, 0.5)\",dividers:\"rgba(255, 255, 255, 0.12)\"},k={active:\"rgba(0, 0, 0, 0.54)\",inactive:\"rgba(0, 0, 0, 0.38)\"},F={active:\"rgba(255, 255, 255, 1)\",inactive:\"rgba(255, 255, 255, 0.5)\"},S=\"#ffffff\",A=\"#000000\";t.default={red:r,pink:i,purple:o,deepPurple:a,indigo:s,blue:c,lightBlue:l,cyan:u,teal:f,green:d,lightGreen:h,lime:p,yellow:v,amber:g,orange:b,deepOrange:x,brown:m,grey:_,blueGrey:w,darkText:y,lightText:C,darkIcons:k,lightIcons:F,white:S,black:A}},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-swatches\",attrs:{role:\"application\",\"aria-label\":\"Swatches color picker\",\"data-pick\":e.pick}},[n(\"div\",{staticClass:\"vc-swatches-box\",attrs:{role:\"listbox\"}},e._l(e.palette,function(t,r){return n(\"div\",{key:r,staticClass:\"vc-swatches-color-group\"},e._l(t,function(t){return n(\"div\",{key:t,class:[\"vc-swatches-color-it\",{\"vc-swatches-color--white\":\"#FFFFFF\"===t}],style:{background:t},attrs:{role:\"option\",\"aria-label\":\"Color:\"+t,\"aria-selected\":e.equal(t),\"data-color\":t},on:{click:function(n){return e.handlerClick(t)}}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.equal(t),expression:\"equal(c)\"}],staticClass:\"vc-swatches-pick\"},[n(\"svg\",{staticStyle:{width:\"24px\",height:\"24px\"},attrs:{viewBox:\"0 0 24 24\"}},[n(\"path\",{attrs:{d:\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"}})])])])}),0)}),0)])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(121)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(53),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(134),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Photoshop.vue\",t.default=f.exports},function(e,t,n){var r=n(122);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"080365d4\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,'\\n.vc-photoshop {\\n background: #DCDCDC;\\n border-radius: 4px;\\n box-shadow: 0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15);\\n box-sizing: initial;\\n width: 513px;\\n font-family: Roboto;\\n}\\n.vc-photoshop__disable-fields {\\n width: 390px;\\n}\\n.vc-ps-head {\\n background-image: linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%);\\n border-bottom: 1px solid #B1B1B1;\\n box-shadow: inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02);\\n height: 23px;\\n line-height: 24px;\\n border-radius: 4px 4px 0 0;\\n font-size: 13px;\\n color: #4D4D4D;\\n text-align: center;\\n}\\n.vc-ps-body {\\n padding: 15px;\\n display: flex;\\n}\\n.vc-ps-saturation-wrap {\\n width: 256px;\\n height: 256px;\\n position: relative;\\n border: 2px solid #B3B3B3;\\n border-bottom: 2px solid #F0F0F0;\\n overflow: hidden;\\n}\\n.vc-ps-saturation-wrap .vc-saturation-circle {\\n width: 12px;\\n height: 12px;\\n}\\n.vc-ps-hue-wrap {\\n position: relative;\\n height: 256px;\\n width: 19px;\\n margin-left: 10px;\\n border: 2px solid #B3B3B3;\\n border-bottom: 2px solid #F0F0F0;\\n}\\n.vc-ps-hue-pointer {\\n position: relative;\\n}\\n.vc-ps-hue-pointer--left,\\n.vc-ps-hue-pointer--right {\\n position: absolute;\\n width: 0;\\n height: 0;\\n border-style: solid;\\n border-width: 5px 0 5px 8px;\\n border-color: transparent transparent transparent #555;\\n}\\n.vc-ps-hue-pointer--left:after,\\n.vc-ps-hue-pointer--right:after {\\n content: \"\";\\n width: 0;\\n height: 0;\\n border-style: solid;\\n border-width: 4px 0 4px 6px;\\n border-color: transparent transparent transparent #fff;\\n position: absolute;\\n top: 1px;\\n left: 1px;\\n transform: translate(-8px, -5px);\\n}\\n.vc-ps-hue-pointer--left {\\n transform: translate(-13px, -4px);\\n}\\n.vc-ps-hue-pointer--right {\\n transform: translate(20px, -4px) rotate(180deg);\\n}\\n.vc-ps-controls {\\n width: 180px;\\n margin-left: 10px;\\n display: flex;\\n}\\n.vc-ps-controls__disable-fields {\\n width: auto;\\n}\\n.vc-ps-actions {\\n margin-left: 20px;\\n flex: 1;\\n}\\n.vc-ps-ac-btn {\\n cursor: pointer;\\n background-image: linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%);\\n border: 1px solid #878787;\\n border-radius: 2px;\\n height: 20px;\\n box-shadow: 0 1px 0 0 #EAEAEA;\\n font-size: 14px;\\n color: #000;\\n line-height: 20px;\\n text-align: center;\\n margin-bottom: 10px;\\n}\\n.vc-ps-previews {\\n width: 60px;\\n}\\n.vc-ps-previews__swatches {\\n border: 1px solid #B3B3B3;\\n border-bottom: 1px solid #F0F0F0;\\n margin-bottom: 2px;\\n margin-top: 1px;\\n}\\n.vc-ps-previews__pr-color {\\n height: 34px;\\n box-shadow: inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000;\\n}\\n.vc-ps-previews__label {\\n font-size: 14px;\\n color: #000;\\n text-align: center;\\n}\\n.vc-ps-fields {\\n padding-top: 5px;\\n padding-bottom: 9px;\\n width: 80px;\\n position: relative;\\n}\\n.vc-ps-fields .vc-input__input {\\n margin-left: 40%;\\n width: 40%;\\n height: 18px;\\n border: 1px solid #888888;\\n box-shadow: inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC;\\n margin-bottom: 5px;\\n font-size: 13px;\\n padding-left: 3px;\\n margin-right: 10px;\\n}\\n.vc-ps-fields .vc-input__label, .vc-ps-fields .vc-input__desc {\\n top: 0;\\n text-transform: uppercase;\\n font-size: 13px;\\n height: 18px;\\n line-height: 22px;\\n position: absolute;\\n}\\n.vc-ps-fields .vc-input__label {\\n left: 0;\\n width: 34px;\\n}\\n.vc-ps-fields .vc-input__desc {\\n right: 0;\\n width: 0;\\n}\\n.vc-ps-fields__divider {\\n height: 5px;\\n}\\n.vc-ps-fields__hex .vc-input__input {\\n margin-left: 20%;\\n width: 80%;\\n height: 18px;\\n border: 1px solid #888888;\\n box-shadow: inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC;\\n margin-bottom: 6px;\\n font-size: 13px;\\n padding-left: 3px;\\n}\\n.vc-ps-fields__hex .vc-input__label {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 14px;\\n text-transform: uppercase;\\n font-size: 13px;\\n height: 18px;\\n line-height: 22px;\\n}\\n',\"\"])},function(e,t,n){var r=n(124);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"b5380e52\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-saturation,\\n.vc-saturation--white,\\n.vc-saturation--black {\\n cursor: pointer;\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n}\\n.vc-saturation--white {\\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\\n}\\n.vc-saturation--black {\\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\\n}\\n.vc-saturation-pointer {\\n cursor: pointer;\\n position: absolute;\\n}\\n.vc-saturation-circle {\\n cursor: head;\\n width: 4px;\\n height: 4px;\\n box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3), 0 0 1px 2px rgba(0,0,0,.4);\\n border-radius: 50%;\\n transform: translate(-2px, -2px);\\n}\\n\",\"\"])},function(e,t){function n(e,t,n){return t<n?e<t?t:e>n?n:e:e<n?n:e>t?t:e}e.exports=n},function(e,t){function n(e,t,n){function r(t){var n=v,r=g;return v=g=void 0,k=t,x=e.apply(r,n)}function o(e){return k=e,m=setTimeout(u,t),F?r(e):x}function a(e){var n=e-_,r=e-k,i=t-n;return S?y(i,b-r):i}function l(e){var n=e-_,r=e-k;return void 0===_||n>=t||n<0||S&&r>=b}function u(){var e=C();if(l(e))return f(e);m=setTimeout(u,a(e))}function f(e){return m=void 0,A&&v?r(e):(v=g=void 0,x)}function d(){void 0!==m&&clearTimeout(m),k=0,v=_=g=m=void 0}function h(){return void 0===m?x:f(C())}function p(){var e=C(),n=l(e);if(v=arguments,g=this,_=e,n){if(void 0===m)return o(_);if(S)return m=setTimeout(u,t),r(_)}return void 0===m&&(m=setTimeout(u,t)),x}var v,g,b,x,m,_,k=0,F=!1,S=!1,A=!0;if(\"function\"!=typeof e)throw new TypeError(c);return t=s(t)||0,i(n)&&(F=!!n.leading,S=\"maxWait\"in n,b=S?w(s(n.maxWait)||0,t):b,A=\"trailing\"in n?!!n.trailing:A),p.cancel=d,p.flush=h,p}function r(e,t,r){var o=!0,a=!0;if(\"function\"!=typeof e)throw new TypeError(c);return i(r)&&(o=\"leading\"in r?!!r.leading:o,a=\"trailing\"in r?!!r.trailing:a),n(e,t,{leading:o,maxWait:t,trailing:a})}function i(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function o(e){return!!e&&\"object\"==typeof e}function a(e){return\"symbol\"==typeof e||o(e)&&_.call(e)==u}function s(e){if(\"number\"==typeof e)return e;if(a(e))return l;if(i(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(f,\"\");var n=h.test(e);return n||p.test(e)?v(e.slice(2),n?2:8):d.test(e)?l:+e}var c=\"Expected a function\",l=NaN,u=\"[object Symbol]\",f=/^\\s+|\\s+$/g,d=/^[-+]0x[0-9a-f]+$/i,h=/^0b[01]+$/i,p=/^0o[0-7]+$/i,v=parseInt,g=\"object\"==typeof global&&global&&global.Object===Object&&global,b=\"object\"==typeof self&&self&&self.Object===Object&&self,x=g||b||Function(\"return this\")(),m=Object.prototype,_=m.toString,w=Math.max,y=Math.min,C=function(){return x.Date.now()};e.exports=r},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{ref:\"container\",staticClass:\"vc-saturation\",style:{background:e.bgColor},on:{mousedown:e.handleMouseDown,touchmove:e.handleChange,touchstart:e.handleChange}},[n(\"div\",{staticClass:\"vc-saturation--white\"}),e._v(\" \"),n(\"div\",{staticClass:\"vc-saturation--black\"}),e._v(\" \"),n(\"div\",{staticClass:\"vc-saturation-pointer\",style:{top:e.pointerTop,left:e.pointerLeft}},[n(\"div\",{staticClass:\"vc-saturation-circle\"})])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){var r=n(129);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"4dc1b086\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-alpha {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n bottom: 0px;\\n left: 0px;\\n}\\n.vc-alpha-checkboard-wrap {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n bottom: 0px;\\n left: 0px;\\n overflow: hidden;\\n}\\n.vc-alpha-gradient {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n bottom: 0px;\\n left: 0px;\\n}\\n.vc-alpha-container {\\n cursor: pointer;\\n position: relative;\\n z-index: 2;\\n height: 100%;\\n margin: 0 3px;\\n}\\n.vc-alpha-pointer {\\n z-index: 2;\\n position: absolute;\\n}\\n.vc-alpha-picker {\\n cursor: pointer;\\n width: 4px;\\n border-radius: 1px;\\n height: 8px;\\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\\n background: #fff;\\n margin-top: 1px;\\n transform: translateX(-2px);\\n}\\n\",\"\"])},function(e,t,n){var r=n(131);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"7e15c05b\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-checkerboard {\\n position: absolute;\\n top: 0px;\\n right: 0px;\\n bottom: 0px;\\n left: 0px;\\n background-size: contain;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement;return(e._self._c||t)(\"div\",{staticClass:\"vc-checkerboard\",style:e.bgStyle})},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-alpha\"},[n(\"div\",{staticClass:\"vc-alpha-checkboard-wrap\"},[n(\"checkboard\")],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-alpha-gradient\",style:{background:e.gradientColor}}),e._v(\" \"),n(\"div\",{ref:\"container\",staticClass:\"vc-alpha-container\",on:{mousedown:e.handleMouseDown,touchmove:e.handleChange,touchstart:e.handleChange}},[n(\"div\",{staticClass:\"vc-alpha-pointer\",style:{left:100*e.colors.a+\"%\"}},[n(\"div\",{staticClass:\"vc-alpha-picker\"})])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{class:[\"vc-photoshop\",e.disableFields?\"vc-photoshop__disable-fields\":\"\"],attrs:{role:\"application\",\"aria-label\":\"PhotoShop color picker\"}},[n(\"div\",{staticClass:\"vc-ps-head\",attrs:{role:\"heading\"}},[e._v(e._s(e.head))]),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-body\"},[n(\"div\",{staticClass:\"vc-ps-saturation-wrap\"},[n(\"saturation\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-hue-wrap\"},[n(\"hue\",{attrs:{direction:\"vertical\"},on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}},[n(\"div\",{staticClass:\"vc-ps-hue-pointer\"},[n(\"i\",{staticClass:\"vc-ps-hue-pointer--left\"}),n(\"i\",{staticClass:\"vc-ps-hue-pointer--right\"})])])],1),e._v(\" \"),n(\"div\",{class:[\"vc-ps-controls\",e.disableFields?\"vc-ps-controls__disable-fields\":\"\"]},[n(\"div\",{staticClass:\"vc-ps-previews\"},[n(\"div\",{staticClass:\"vc-ps-previews__label\"},[e._v(e._s(e.newLabel))]),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-previews__swatches\"},[n(\"div\",{staticClass:\"vc-ps-previews__pr-color\",style:{background:e.colors.hex},attrs:{\"aria-label\":\"New color is \"+e.colors.hex}}),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-previews__pr-color\",style:{background:e.currentColor},attrs:{\"aria-label\":\"Current color is \"+e.currentColor},on:{click:e.clickCurrentColor}})]),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-previews__label\"},[e._v(e._s(e.currentLabel))])]),e._v(\" \"),e.disableFields?e._e():n(\"div\",{staticClass:\"vc-ps-actions\"},[n(\"div\",{staticClass:\"vc-ps-ac-btn\",attrs:{role:\"button\",\"aria-label\":e.acceptLabel},on:{click:e.handleAccept}},[e._v(e._s(e.acceptLabel))]),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-ac-btn\",attrs:{role:\"button\",\"aria-label\":e.cancelLabel},on:{click:e.handleCancel}},[e._v(e._s(e.cancelLabel))]),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-fields\"},[n(\"ed-in\",{attrs:{label:\"h\",desc:\"°\",value:e.hsv.h},on:{change:e.inputChange}}),e._v(\" \"),n(\"ed-in\",{attrs:{label:\"s\",desc:\"%\",value:e.hsv.s,max:100},on:{change:e.inputChange}}),e._v(\" \"),n(\"ed-in\",{attrs:{label:\"v\",desc:\"%\",value:e.hsv.v,max:100},on:{change:e.inputChange}}),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-fields__divider\"}),e._v(\" \"),n(\"ed-in\",{attrs:{label:\"r\",value:e.colors.rgba.r},on:{change:e.inputChange}}),e._v(\" \"),n(\"ed-in\",{attrs:{label:\"g\",value:e.colors.rgba.g},on:{change:e.inputChange}}),e._v(\" \"),n(\"ed-in\",{attrs:{label:\"b\",value:e.colors.rgba.b},on:{change:e.inputChange}}),e._v(\" \"),n(\"div\",{staticClass:\"vc-ps-fields__divider\"}),e._v(\" \"),n(\"ed-in\",{staticClass:\"vc-ps-fields__hex\",attrs:{label:\"#\",value:e.hex},on:{change:e.inputChange}})],1),e._v(\" \"),e.hasResetButton?n(\"div\",{staticClass:\"vc-ps-ac-btn\",attrs:{\"aria-label\":\"reset\"},on:{click:e.handleReset}},[e._v(e._s(e.resetLabel))]):e._e()])])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(136)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(57),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(138),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Sketch.vue\",t.default=f.exports},function(e,t,n){var r=n(137);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"612c6604\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-sketch {\\n position: relative;\\n width: 200px;\\n padding: 10px 10px 0;\\n box-sizing: initial;\\n background: #fff;\\n border-radius: 4px;\\n box-shadow: 0 0 0 1px rgba(0, 0, 0, .15), 0 8px 16px rgba(0, 0, 0, .15);\\n}\\n.vc-sketch-saturation-wrap {\\n width: 100%;\\n padding-bottom: 75%;\\n position: relative;\\n overflow: hidden;\\n}\\n.vc-sketch-controls {\\n display: flex;\\n}\\n.vc-sketch-sliders {\\n padding: 4px 0;\\n flex: 1;\\n}\\n.vc-sketch-sliders .vc-hue,\\n.vc-sketch-sliders .vc-alpha-gradient {\\n border-radius: 2px;\\n}\\n.vc-sketch-hue-wrap {\\n position: relative;\\n height: 10px;\\n}\\n.vc-sketch-alpha-wrap {\\n position: relative;\\n height: 10px;\\n margin-top: 4px;\\n overflow: hidden;\\n}\\n.vc-sketch-color-wrap {\\n width: 24px;\\n height: 24px;\\n position: relative;\\n margin-top: 4px;\\n margin-left: 4px;\\n border-radius: 3px;\\n}\\n.vc-sketch-active-color {\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n border-radius: 2px;\\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15), inset 0 0 4px rgba(0, 0, 0, .25);\\n z-index: 2;\\n}\\n.vc-sketch-color-wrap .vc-checkerboard {\\n background-size: auto;\\n}\\n.vc-sketch-field {\\n display: flex;\\n padding-top: 4px;\\n}\\n.vc-sketch-field .vc-input__input {\\n width: 90%;\\n padding: 4px 0 3px 10%;\\n border: none;\\n box-shadow: inset 0 0 0 1px #ccc;\\n font-size: 10px;\\n}\\n.vc-sketch-field .vc-input__label {\\n display: block;\\n text-align: center;\\n font-size: 11px;\\n color: #222;\\n padding-top: 3px;\\n padding-bottom: 4px;\\n text-transform: capitalize;\\n}\\n.vc-sketch-field--single {\\n flex: 1;\\n padding-left: 6px;\\n}\\n.vc-sketch-field--double {\\n flex: 2;\\n}\\n.vc-sketch-presets {\\n margin-right: -10px;\\n margin-left: -10px;\\n padding-left: 10px;\\n padding-top: 10px;\\n border-top: 1px solid #eee;\\n}\\n.vc-sketch-presets-color {\\n border-radius: 3px;\\n overflow: hidden;\\n position: relative;\\n display: inline-block;\\n margin: 0 10px 10px 0;\\n vertical-align: top;\\n cursor: pointer;\\n width: 16px;\\n height: 16px;\\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15);\\n}\\n.vc-sketch-presets-color .vc-checkerboard {\\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15);\\n border-radius: 3px;\\n}\\n.vc-sketch__disable-alpha .vc-sketch-color-wrap {\\n height: 10px;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{class:[\"vc-sketch\",e.disableAlpha?\"vc-sketch__disable-alpha\":\"\"],attrs:{role:\"application\",\"aria-label\":\"Sketch color picker\"}},[n(\"div\",{staticClass:\"vc-sketch-saturation-wrap\"},[n(\"saturation\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-sketch-controls\"},[n(\"div\",{staticClass:\"vc-sketch-sliders\"},[n(\"div\",{staticClass:\"vc-sketch-hue-wrap\"},[n(\"hue\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),e.disableAlpha?e._e():n(\"div\",{staticClass:\"vc-sketch-alpha-wrap\"},[n(\"alpha\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1)]),e._v(\" \"),n(\"div\",{staticClass:\"vc-sketch-color-wrap\"},[n(\"div\",{staticClass:\"vc-sketch-active-color\",style:{background:e.activeColor},attrs:{\"aria-label\":\"Current color is \"+e.activeColor}}),e._v(\" \"),n(\"checkboard\")],1)]),e._v(\" \"),e.disableFields?e._e():n(\"div\",{staticClass:\"vc-sketch-field\"},[n(\"div\",{staticClass:\"vc-sketch-field--double\"},[n(\"ed-in\",{attrs:{label:\"hex\",value:e.hex},on:{change:e.inputChange}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-sketch-field--single\"},[n(\"ed-in\",{attrs:{label:\"r\",value:e.colors.rgba.r},on:{change:e.inputChange}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-sketch-field--single\"},[n(\"ed-in\",{attrs:{label:\"g\",value:e.colors.rgba.g},on:{change:e.inputChange}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-sketch-field--single\"},[n(\"ed-in\",{attrs:{label:\"b\",value:e.colors.rgba.b},on:{change:e.inputChange}})],1),e._v(\" \"),e.disableAlpha?e._e():n(\"div\",{staticClass:\"vc-sketch-field--single\"},[n(\"ed-in\",{attrs:{label:\"a\",value:e.colors.a,\"arrow-offset\":.01,max:1},on:{change:e.inputChange}})],1)]),e._v(\" \"),n(\"div\",{staticClass:\"vc-sketch-presets\",attrs:{role:\"group\",\"aria-label\":\"A color preset, pick one to set as current color\"}},[e._l(e.presetColors,function(t){return[e.isTransparent(t)?n(\"div\",{key:t,staticClass:\"vc-sketch-presets-color\",attrs:{\"aria-label\":\"Color:\"+t},on:{click:function(n){return e.handlePreset(t)}}},[n(\"checkboard\")],1):n(\"div\",{key:t,staticClass:\"vc-sketch-presets-color\",style:{background:t},attrs:{\"aria-label\":\"Color:\"+t},on:{click:function(n){return e.handlePreset(t)}}})]})],2)])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(140)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(58),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(142),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Chrome.vue\",t.default=f.exports},function(e,t,n){var r=n(141);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"1cd16048\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-chrome {\\n background: #fff;\\n border-radius: 2px;\\n box-shadow: 0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3);\\n box-sizing: initial;\\n width: 225px;\\n font-family: Menlo;\\n background-color: #fff;\\n}\\n.vc-chrome-controls {\\n display: flex;\\n}\\n.vc-chrome-color-wrap {\\n position: relative;\\n width: 36px;\\n}\\n.vc-chrome-active-color {\\n position: relative;\\n width: 30px;\\n height: 30px;\\n border-radius: 15px;\\n overflow: hidden;\\n z-index: 1;\\n}\\n.vc-chrome-color-wrap .vc-checkerboard {\\n width: 30px;\\n height: 30px;\\n border-radius: 15px;\\n background-size: auto;\\n}\\n.vc-chrome-sliders {\\n flex: 1;\\n}\\n.vc-chrome-fields-wrap {\\n display: flex;\\n padding-top: 16px;\\n}\\n.vc-chrome-fields {\\n display: flex;\\n margin-left: -6px;\\n flex: 1;\\n}\\n.vc-chrome-field {\\n padding-left: 6px;\\n width: 100%;\\n}\\n.vc-chrome-toggle-btn {\\n width: 32px;\\n text-align: right;\\n position: relative;\\n}\\n.vc-chrome-toggle-icon {\\n margin-right: -4px;\\n margin-top: 12px;\\n cursor: pointer;\\n position: relative;\\n z-index: 2;\\n}\\n.vc-chrome-toggle-icon-highlight {\\n position: absolute;\\n width: 24px;\\n height: 28px;\\n background: #eee;\\n border-radius: 4px;\\n top: 10px;\\n left: 12px;\\n}\\n.vc-chrome-hue-wrap {\\n position: relative;\\n height: 10px;\\n margin-bottom: 8px;\\n}\\n.vc-chrome-alpha-wrap {\\n position: relative;\\n height: 10px;\\n}\\n.vc-chrome-hue-wrap .vc-hue {\\n border-radius: 2px;\\n}\\n.vc-chrome-alpha-wrap .vc-alpha-gradient {\\n border-radius: 2px;\\n}\\n.vc-chrome-hue-wrap .vc-hue-picker, .vc-chrome-alpha-wrap .vc-alpha-picker {\\n width: 12px;\\n height: 12px;\\n border-radius: 6px;\\n transform: translate(-6px, -2px);\\n background-color: rgb(248, 248, 248);\\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\\n}\\n.vc-chrome-body {\\n padding: 16px 16px 12px;\\n background-color: #fff;\\n}\\n.vc-chrome-saturation-wrap {\\n width: 100%;\\n padding-bottom: 55%;\\n position: relative;\\n border-radius: 2px 2px 0 0;\\n overflow: hidden;\\n}\\n.vc-chrome-saturation-wrap .vc-saturation-circle {\\n width: 12px;\\n height: 12px;\\n}\\n.vc-chrome-fields .vc-input__input {\\n font-size: 11px;\\n color: #333;\\n width: 100%;\\n border-radius: 2px;\\n border: none;\\n box-shadow: inset 0 0 0 1px #dadada;\\n height: 21px;\\n text-align: center;\\n}\\n.vc-chrome-fields .vc-input__label {\\n text-transform: uppercase;\\n font-size: 11px;\\n line-height: 11px;\\n color: #969696;\\n text-align: center;\\n display: block;\\n margin-top: 12px;\\n}\\n.vc-chrome__disable-alpha .vc-chrome-active-color {\\n width: 18px;\\n height: 18px;\\n}\\n.vc-chrome__disable-alpha .vc-chrome-color-wrap {\\n width: 30px;\\n}\\n.vc-chrome__disable-alpha .vc-chrome-hue-wrap {\\n margin-top: 4px;\\n margin-bottom: 4px;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{class:[\"vc-chrome\",e.disableAlpha?\"vc-chrome__disable-alpha\":\"\"],attrs:{role:\"application\",\"aria-label\":\"Chrome color picker\"}},[n(\"div\",{staticClass:\"vc-chrome-saturation-wrap\"},[n(\"saturation\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-chrome-body\"},[n(\"div\",{staticClass:\"vc-chrome-controls\"},[n(\"div\",{staticClass:\"vc-chrome-color-wrap\"},[n(\"div\",{staticClass:\"vc-chrome-active-color\",style:{background:e.activeColor},attrs:{\"aria-label\":\"current color is \"+e.colors.hex}}),e._v(\" \"),e.disableAlpha?e._e():n(\"checkboard\")],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-chrome-sliders\"},[n(\"div\",{staticClass:\"vc-chrome-hue-wrap\"},[n(\"hue\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1),e._v(\" \"),e.disableAlpha?e._e():n(\"div\",{staticClass:\"vc-chrome-alpha-wrap\"},[n(\"alpha\",{on:{change:e.childChange},model:{value:e.colors,callback:function(t){e.colors=t},expression:\"colors\"}})],1)])]),e._v(\" \"),e.disableFields?e._e():n(\"div\",{staticClass:\"vc-chrome-fields-wrap\"},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:0===e.fieldsIndex,expression:\"fieldsIndex === 0\"}],staticClass:\"vc-chrome-fields\"},[n(\"div\",{staticClass:\"vc-chrome-field\"},[e.hasAlpha?e._e():n(\"ed-in\",{attrs:{label:\"hex\",value:e.colors.hex},on:{change:e.inputChange}}),e._v(\" \"),e.hasAlpha?n(\"ed-in\",{attrs:{label:\"hex\",value:e.colors.hex8},on:{change:e.inputChange}}):e._e()],1)]),e._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:1===e.fieldsIndex,expression:\"fieldsIndex === 1\"}],staticClass:\"vc-chrome-fields\"},[n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"r\",value:e.colors.rgba.r},on:{change:e.inputChange}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"g\",value:e.colors.rgba.g},on:{change:e.inputChange}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"b\",value:e.colors.rgba.b},on:{change:e.inputChange}})],1),e._v(\" \"),e.disableAlpha?e._e():n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"a\",value:e.colors.a,\"arrow-offset\":.01,max:1},on:{change:e.inputChange}})],1)]),e._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:2===e.fieldsIndex,expression:\"fieldsIndex === 2\"}],staticClass:\"vc-chrome-fields\"},[n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"h\",value:e.hsl.h},on:{change:e.inputChange}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"s\",value:e.hsl.s},on:{change:e.inputChange}})],1),e._v(\" \"),n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"l\",value:e.hsl.l},on:{change:e.inputChange}})],1),e._v(\" \"),e.disableAlpha?e._e():n(\"div\",{staticClass:\"vc-chrome-field\"},[n(\"ed-in\",{attrs:{label:\"a\",value:e.colors.a,\"arrow-offset\":.01,max:1},on:{change:e.inputChange}})],1)]),e._v(\" \"),n(\"div\",{staticClass:\"vc-chrome-toggle-btn\",attrs:{role:\"button\",\"aria-label\":\"Change another color definition\"},on:{click:e.toggleViews}},[n(\"div\",{staticClass:\"vc-chrome-toggle-icon\"},[n(\"svg\",{staticStyle:{width:\"24px\",height:\"24px\"},attrs:{viewBox:\"0 0 24 24\"},on:{mouseover:e.showHighlight,mouseenter:e.showHighlight,mouseout:e.hideHighlight}},[n(\"path\",{attrs:{fill:\"#333\",d:\"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z\"}})])]),e._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.highlight,expression:\"highlight\"}],staticClass:\"vc-chrome-toggle-icon-highlight\"})])])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o},function(e,t,n){\"use strict\";function r(e){c||n(144)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(59),o=n.n(i);for(var a in i)\"default\"!==a&&function(e){n.d(t,e,function(){return i[e]})}(a);var s=n(146),c=!1,l=n(2),u=r,f=l(o.a,s.a,!1,u,null,null);f.options.__file=\"src/components/Twitter.vue\",t.default=f.exports},function(e,t,n){var r=n(145);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]),r.locals&&(e.exports=r.locals);n(1)(\"669a48a5\",r,!1,{})},function(e,t,n){t=e.exports=n(0)(!1),t.push([e.i,\"\\n.vc-twitter {\\n background: #fff;\\n border: 0 solid rgba(0,0,0,0.25);\\n box-shadow: 0 1px 4px rgba(0,0,0,0.25);\\n border-radius: 4px;\\n position: relative;\\n}\\n.vc-twitter-triangle {\\n width: 0px;\\n height: 0px;\\n border-style: solid;\\n border-width: 0 9px 10px 9px;\\n border-color: transparent transparent #fff transparent;\\n position: absolute;\\n}\\n.vc-twitter-triangle-shadow {\\n width: 0px;\\n height: 0px;\\n border-style: solid;\\n border-width: 0 9px 10px 9px;\\n border-color: transparent transparent rgba(0, 0, 0, .1) transparent;\\n position: absolute;\\n}\\n.vc-twitter-body {\\n padding: 15px 9px 9px 15px;\\n}\\n.vc-twitter .vc-editable-input {\\n position: relative;\\n}\\n.vc-twitter .vc-editable-input input {\\n width: 100px;\\n font-size: 14px;\\n color: #666;\\n border: 0px;\\n outline: none;\\n height: 28px;\\n box-shadow: inset 0 0 0 1px #F0F0F0;\\n box-sizing: content-box;\\n border-radius: 0 4px 4px 0;\\n float: left;\\n padding: 1px;\\n padding-left: 8px;\\n}\\n.vc-twitter .vc-editable-input span {\\n display: none;\\n}\\n.vc-twitter-hash {\\n background: #F0F0F0;\\n height: 30px;\\n width: 30px;\\n border-radius: 4px 0 0 4px;\\n float: left;\\n color: #98A1A4;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.vc-twitter-swatch {\\n width: 30px;\\n height: 30px;\\n float: left;\\n border-radius: 4px;\\n margin: 0 6px 6px 0;\\n cursor: pointer;\\n position: relative;\\n outline: none;\\n}\\n.vc-twitter-clear {\\n clear: both;\\n}\\n.vc-twitter-hide-triangle .vc-twitter-triangle {\\n display: none;\\n}\\n.vc-twitter-hide-triangle .vc-twitter-triangle-shadow {\\n display: none;\\n}\\n.vc-twitter-top-left-triangle .vc-twitter-triangle{\\n top: -10px;\\n left: 12px;\\n}\\n.vc-twitter-top-left-triangle .vc-twitter-triangle-shadow{\\n top: -11px;\\n left: 12px;\\n}\\n.vc-twitter-top-right-triangle .vc-twitter-triangle{\\n top: -10px;\\n right: 12px;\\n}\\n.vc-twitter-top-right-triangle .vc-twitter-triangle-shadow{\\n top: -11px;\\n right: 12px;\\n}\\n\",\"\"])},function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"vc-twitter\",class:{\"vc-twitter-hide-triangle \":\"hide\"===e.triangle,\"vc-twitter-top-left-triangle \":\"top-left\"===e.triangle,\"vc-twitter-top-right-triangle \":\"top-right\"===e.triangle},style:{width:\"number\"==typeof e.width?e.width+\"px\":e.width}},[n(\"div\",{staticClass:\"vc-twitter-triangle-shadow\"}),e._v(\" \"),n(\"div\",{staticClass:\"vc-twitter-triangle\"}),e._v(\" \"),n(\"div\",{staticClass:\"vc-twitter-body\"},[e._l(e.defaultColors,function(t,r){return n(\"span\",{key:r,staticClass:\"vc-twitter-swatch\",style:{background:t,boxShadow:\"0 0 4px \"+(e.equal(t)?t:\"transparent\")},on:{click:function(n){return e.handlerClick(t)}}})}),e._v(\" \"),n(\"div\",{staticClass:\"vc-twitter-hash\"},[e._v(\"#\")]),e._v(\" \"),n(\"editable-input\",{attrs:{label:\"#\",value:e.hex},on:{change:e.inputChange}}),e._v(\" \"),n(\"div\",{staticClass:\"vc-twitter-clear\"})],2)])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};t.a=o}])});","export function isDate(value) {\n return value instanceof Date || Object.prototype.toString.call(value) === '[object Date]';\n}\nexport function toDate(value) {\n if (isDate(value)) {\n return new Date(value.getTime());\n }\n\n if (value == null) {\n return new Date(NaN);\n }\n\n return new Date(value);\n}\nexport function isValidDate(value) {\n return isDate(value) && !isNaN(value.getTime());\n}\nexport function startOfWeek(value) {\n var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (!(firstDayOfWeek >= 0 && firstDayOfWeek <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6');\n }\n\n var date = toDate(value);\n var day = date.getDay();\n var diff = (day + 7 - firstDayOfWeek) % 7;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nexport function startOfWeekYear(value) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$firstDayOfWeek = _ref.firstDayOfWeek,\n firstDayOfWeek = _ref$firstDayOfWeek === void 0 ? 0 : _ref$firstDayOfWeek,\n _ref$firstWeekContain = _ref.firstWeekContainsDate,\n firstWeekContainsDate = _ref$firstWeekContain === void 0 ? 1 : _ref$firstWeekContain;\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7');\n }\n\n var date = toDate(value);\n var year = date.getFullYear();\n var firstDateOfFirstWeek = new Date(0);\n\n for (var i = year + 1; i >= year - 1; i--) {\n firstDateOfFirstWeek.setFullYear(i, 0, firstWeekContainsDate);\n firstDateOfFirstWeek.setHours(0, 0, 0, 0);\n firstDateOfFirstWeek = startOfWeek(firstDateOfFirstWeek, firstDayOfWeek);\n\n if (date.getTime() >= firstDateOfFirstWeek.getTime()) {\n break;\n }\n }\n\n return firstDateOfFirstWeek;\n}\nexport function getWeek(value) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$firstDayOfWeek = _ref2.firstDayOfWeek,\n firstDayOfWeek = _ref2$firstDayOfWeek === void 0 ? 0 : _ref2$firstDayOfWeek,\n _ref2$firstWeekContai = _ref2.firstWeekContainsDate,\n firstWeekContainsDate = _ref2$firstWeekContai === void 0 ? 1 : _ref2$firstWeekContai;\n\n var date = toDate(value);\n var firstDateOfThisWeek = startOfWeek(date, firstDayOfWeek);\n var firstDateOfFirstWeek = startOfWeekYear(date, {\n firstDayOfWeek: firstDayOfWeek,\n firstWeekContainsDate: firstWeekContainsDate\n });\n var diff = firstDateOfThisWeek.getTime() - firstDateOfFirstWeek.getTime();\n return Math.round(diff / (7 * 24 * 3600 * 1000)) + 1;\n}","var locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nexport default locale;","import { toDate, isValidDate, getWeek } from './util';\nimport defaultLocale from './locale/en';\nvar REGEX_FORMAT = /\\[([^\\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;\n\nfunction pad(val) {\n var len = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var output = \"\".concat(Math.abs(val));\n var sign = val < 0 ? '-' : '';\n\n while (output.length < len) {\n output = \"0\".concat(output);\n }\n\n return sign + output;\n}\n\nfunction formatTimezone(offset) {\n var delimeter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n return sign + pad(hours, 2) + delimeter + pad(minutes, 2);\n}\n\nvar meridiem = function meridiem(h, _, isLowercase) {\n var word = h < 12 ? 'AM' : 'PM';\n return isLowercase ? word.toLocaleLowerCase() : word;\n};\n\nvar formatFlags = {\n Y: function Y(date) {\n var y = date.getFullYear();\n return y <= 9999 ? \"\".concat(y) : \"+\".concat(y);\n },\n // Year: 00, 01, ..., 99\n YY: function YY(date) {\n return pad(date.getFullYear(), 4).substr(2);\n },\n // Year: 1900, 1901, ..., 2099\n YYYY: function YYYY(date) {\n return pad(date.getFullYear(), 4);\n },\n // Month: 1, 2, ..., 12\n M: function M(date) {\n return date.getMonth() + 1;\n },\n // Month: 01, 02, ..., 12\n MM: function MM(date) {\n return pad(date.getMonth() + 1, 2);\n },\n MMM: function MMM(date, locale) {\n return locale.monthsShort[date.getMonth()];\n },\n MMMM: function MMMM(date, locale) {\n return locale.months[date.getMonth()];\n },\n // Day of month: 1, 2, ..., 31\n D: function D(date) {\n return date.getDate();\n },\n // Day of month: 01, 02, ..., 31\n DD: function DD(date) {\n return pad(date.getDate(), 2);\n },\n // Hour: 0, 1, ... 23\n H: function H(date) {\n return date.getHours();\n },\n // Hour: 00, 01, ..., 23\n HH: function HH(date) {\n return pad(date.getHours(), 2);\n },\n // Hour: 1, 2, ..., 12\n h: function h(date) {\n var hours = date.getHours();\n\n if (hours === 0) {\n return 12;\n }\n\n if (hours > 12) {\n return hours % 12;\n }\n\n return hours;\n },\n // Hour: 01, 02, ..., 12\n hh: function hh() {\n var hours = formatFlags.h.apply(formatFlags, arguments);\n return pad(hours, 2);\n },\n // Minute: 0, 1, ..., 59\n m: function m(date) {\n return date.getMinutes();\n },\n // Minute: 00, 01, ..., 59\n mm: function mm(date) {\n return pad(date.getMinutes(), 2);\n },\n // Second: 0, 1, ..., 59\n s: function s(date) {\n return date.getSeconds();\n },\n // Second: 00, 01, ..., 59\n ss: function ss(date) {\n return pad(date.getSeconds(), 2);\n },\n // 1/10 of second: 0, 1, ..., 9\n S: function S(date) {\n return Math.floor(date.getMilliseconds() / 100);\n },\n // 1/100 of second: 00, 01, ..., 99\n SS: function SS(date) {\n return pad(Math.floor(date.getMilliseconds() / 10), 2);\n },\n // Millisecond: 000, 001, ..., 999\n SSS: function SSS(date) {\n return pad(date.getMilliseconds(), 3);\n },\n // Day of week: 0, 1, ..., 6\n d: function d(date) {\n return date.getDay();\n },\n // Day of week: 'Su', 'Mo', ..., 'Sa'\n dd: function dd(date, locale) {\n return locale.weekdaysMin[date.getDay()];\n },\n // Day of week: 'Sun', 'Mon',..., 'Sat'\n ddd: function ddd(date, locale) {\n return locale.weekdaysShort[date.getDay()];\n },\n // Day of week: 'Sunday', 'Monday', ...,'Saturday'\n dddd: function dddd(date, locale) {\n return locale.weekdays[date.getDay()];\n },\n // AM, PM\n A: function A(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), false);\n },\n // am, pm\n a: function a(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), true);\n },\n // Timezone: -01:00, +00:00, ... +12:00\n Z: function Z(date) {\n return formatTimezone(date.getTimezoneOffset(), ':');\n },\n // Timezone: -0100, +0000, ... +1200\n ZZ: function ZZ(date) {\n return formatTimezone(date.getTimezoneOffset());\n },\n // Seconds timestamp: 512969520\n X: function X(date) {\n return Math.floor(date.getTime() / 1000);\n },\n // Milliseconds timestamp: 512969520900\n x: function x(date) {\n return date.getTime();\n },\n w: function w(date, locale) {\n return getWeek(date, {\n firstDayOfWeek: locale.firstDayOfWeek,\n firstWeekContainsDate: locale.firstWeekContainsDate\n });\n },\n ww: function ww(date, locale) {\n return pad(formatFlags.w(date, locale), 2);\n }\n};\n\nfunction format(val, str) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var formatStr = str ? String(str) : 'YYYY-MM-DDTHH:mm:ss.SSSZ';\n var date = toDate(val);\n\n if (!isValidDate(date)) {\n return 'Invalid Date';\n }\n\n var locale = options.locale || defaultLocale;\n return formatStr.replace(REGEX_FORMAT, function (match, p1) {\n if (p1) {\n return p1;\n }\n\n if (typeof formatFlags[match] === 'function') {\n return \"\".concat(formatFlags[match](date, locale));\n }\n\n return match;\n });\n}\n\nexport default format;","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport defaultLocale from './locale/en';\nimport { startOfWeekYear } from './util';\nvar formattingTokens = /(\\[[^\\[]*\\])|(MM?M?M?|Do|DD?|ddd?d?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|S{1,3}|x|X|ZZ?|.)/g;\nvar match1 = /\\d/; // 0 - 9\n\nvar match2 = /\\d\\d/; // 00 - 99\n\nvar match3 = /\\d{3}/; // 000 - 999\n\nvar match4 = /\\d{4}/; // 0000 - 9999\n\nvar match1to2 = /\\d\\d?/; // 0 - 99\n\nvar matchShortOffset = /[+-]\\d\\d:?\\d\\d/; // +00:00 -00:00 +0000 or -0000\n\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n// const matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i; // Word\n\nvar YEAR = 'year';\nvar MONTH = 'month';\nvar DAY = 'day';\nvar HOUR = 'hour';\nvar MINUTE = 'minute';\nvar SECOND = 'second';\nvar MILLISECOND = 'millisecond';\nvar parseFlags = {};\n\nvar addParseFlag = function addParseFlag(token, regex, callback) {\n var tokens = Array.isArray(token) ? token : [token];\n var func;\n\n if (typeof callback === 'string') {\n func = function func(input) {\n var value = parseInt(input, 10);\n return _defineProperty({}, callback, value);\n };\n } else {\n func = callback;\n }\n\n tokens.forEach(function (key) {\n parseFlags[key] = [regex, func];\n });\n};\n\nvar escapeStringRegExp = function escapeStringRegExp(str) {\n return str.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n};\n\nvar matchWordRegExp = function matchWordRegExp(localeKey) {\n return function (locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n return new RegExp(array.map(escapeStringRegExp).join('|'));\n };\n};\n\nvar matchWordCallback = function matchWordCallback(localeKey, key) {\n return function (input, locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n var index = array.indexOf(input);\n\n if (index < 0) {\n throw new Error('Invalid Word');\n }\n\n return _defineProperty({}, key, index);\n };\n};\n\naddParseFlag('Y', matchSigned, YEAR);\naddParseFlag('YY', match2, function (input) {\n var year = new Date().getFullYear();\n var cent = Math.floor(year / 100);\n var value = parseInt(input, 10);\n value = (value > 68 ? cent - 1 : cent) * 100 + value;\n return _defineProperty({}, YEAR, value);\n});\naddParseFlag('YYYY', match4, YEAR);\naddParseFlag('M', match1to2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MM', match2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MMM', matchWordRegExp('monthsShort'), matchWordCallback('monthsShort', MONTH));\naddParseFlag('MMMM', matchWordRegExp('months'), matchWordCallback('months', MONTH));\naddParseFlag('D', match1to2, DAY);\naddParseFlag('DD', match2, DAY);\naddParseFlag(['H', 'h'], match1to2, HOUR);\naddParseFlag(['HH', 'hh'], match2, HOUR);\naddParseFlag('m', match1to2, MINUTE);\naddParseFlag('mm', match2, MINUTE);\naddParseFlag('s', match1to2, SECOND);\naddParseFlag('ss', match2, SECOND);\naddParseFlag('S', match1, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 100);\n});\naddParseFlag('SS', match2, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 10);\n});\naddParseFlag('SSS', match3, MILLISECOND);\n\nfunction matchMeridiem(locale) {\n return locale.meridiemParse || /[ap]\\.?m?\\.?/i;\n}\n\nfunction defaultIsPM(input) {\n return \"\".concat(input).toLowerCase().charAt(0) === 'p';\n}\n\naddParseFlag(['A', 'a'], matchMeridiem, function (input, locale) {\n var isPM = typeof locale.isPM === 'function' ? locale.isPM(input) : defaultIsPM(input);\n return {\n isPM: isPM\n };\n});\n\nfunction offsetFromString(str) {\n var _ref8 = str.match(/([+-]|\\d\\d)/g) || ['-', '0', '0'],\n _ref9 = _slicedToArray(_ref8, 3),\n symbol = _ref9[0],\n hour = _ref9[1],\n minute = _ref9[2];\n\n var minutes = parseInt(hour, 10) * 60 + parseInt(minute, 10);\n\n if (minutes === 0) {\n return 0;\n }\n\n return symbol === '+' ? -minutes : +minutes;\n}\n\naddParseFlag(['Z', 'ZZ'], matchShortOffset, function (input) {\n return {\n offset: offsetFromString(input)\n };\n});\naddParseFlag('x', matchSigned, function (input) {\n return {\n date: new Date(parseInt(input, 10))\n };\n});\naddParseFlag('X', matchTimestamp, function (input) {\n return {\n date: new Date(parseFloat(input) * 1000)\n };\n});\naddParseFlag('d', match1, 'weekday');\naddParseFlag('dd', matchWordRegExp('weekdaysMin'), matchWordCallback('weekdaysMin', 'weekday'));\naddParseFlag('ddd', matchWordRegExp('weekdaysShort'), matchWordCallback('weekdaysShort', 'weekday'));\naddParseFlag('dddd', matchWordRegExp('weekdays'), matchWordCallback('weekdays', 'weekday'));\naddParseFlag('w', match1to2, 'week');\naddParseFlag('ww', match2, 'week');\n\nfunction to24hour(hour, isPM) {\n if (hour !== undefined && isPM !== undefined) {\n if (isPM) {\n if (hour < 12) {\n return hour + 12;\n }\n } else if (hour === 12) {\n return 0;\n }\n }\n\n return hour;\n}\n\nfunction getFullInputArray(input) {\n var backupDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();\n var result = [0, 0, 1, 0, 0, 0, 0];\n var backupArr = [backupDate.getFullYear(), backupDate.getMonth(), backupDate.getDate(), backupDate.getHours(), backupDate.getMinutes(), backupDate.getSeconds(), backupDate.getMilliseconds()];\n var useBackup = true;\n\n for (var i = 0; i < 7; i++) {\n if (input[i] === undefined) {\n result[i] = useBackup ? backupArr[i] : result[i];\n } else {\n result[i] = input[i];\n useBackup = false;\n }\n }\n\n return result;\n}\n\nfunction createUTCDate() {\n var date;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var y = args[0];\n\n if (y < 100 && y >= 0) {\n args[0] += 400;\n date = new Date(Date.UTC.apply(Date, args)); // eslint-disable-next-line no-restricted-globals\n\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(Date, args));\n }\n\n return date;\n}\n\nfunction makeParser(dateString, format, locale) {\n var tokens = format.match(formattingTokens);\n\n if (!tokens) {\n throw new Error();\n }\n\n var length = tokens.length;\n var mark = {};\n\n for (var i = 0; i < length; i += 1) {\n var token = tokens[i];\n var parseTo = parseFlags[token];\n\n if (!parseTo) {\n var word = token.replace(/^\\[|\\]$/g, '');\n\n if (dateString.indexOf(word) === 0) {\n dateString = dateString.substr(word.length);\n } else {\n throw new Error('not match');\n }\n } else {\n var regex = typeof parseTo[0] === 'function' ? parseTo[0](locale) : parseTo[0];\n var parser = parseTo[1];\n var value = (regex.exec(dateString) || [])[0];\n var obj = parser(value, locale);\n mark = _objectSpread({}, mark, {}, obj);\n dateString = dateString.replace(value, '');\n }\n }\n\n return mark;\n}\n\nexport default function parse(str, format) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n try {\n var _options$locale = options.locale,\n _locale = _options$locale === void 0 ? defaultLocale : _options$locale,\n _options$backupDate = options.backupDate,\n backupDate = _options$backupDate === void 0 ? new Date() : _options$backupDate;\n\n var parseResult = makeParser(str, format, _locale);\n var year = parseResult.year,\n month = parseResult.month,\n day = parseResult.day,\n hour = parseResult.hour,\n minute = parseResult.minute,\n second = parseResult.second,\n millisecond = parseResult.millisecond,\n isPM = parseResult.isPM,\n date = parseResult.date,\n offset = parseResult.offset,\n weekday = parseResult.weekday,\n week = parseResult.week;\n\n if (date) {\n return date;\n }\n\n var inputArray = [year, month, day, hour, minute, second, millisecond];\n inputArray[3] = to24hour(inputArray[3], isPM); // check week\n\n if (week !== undefined && month === undefined && day === undefined) {\n // new Date(year, 3) make sure in current year\n var firstDate = startOfWeekYear(year === undefined ? backupDate : new Date(year, 3), {\n firstDayOfWeek: _locale.firstDayOfWeek,\n firstWeekContainsDate: _locale.firstWeekContainsDate\n });\n return new Date(firstDate.getTime() + (week - 1) * 7 * 24 * 3600 * 1000);\n }\n\n var utcDate = createUTCDate.apply(void 0, _toConsumableArray(getFullInputArray(inputArray, backupDate)));\n var offsetMilliseconds = (offset === undefined ? utcDate.getTimezoneOffset() : offset) * 60 * 1000;\n var parsedDate = new Date(utcDate.getTime() + offsetMilliseconds); // check weekday\n\n if (weekday !== undefined && parsedDate.getDay() !== weekday) {\n return new Date(NaN);\n }\n\n return parsedDate;\n } catch (e) {\n return new Date(NaN);\n }\n}","import { getWeek, format, parse } from 'date-format-parse';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _extends$1() {\n return _extends$1 = Object.assign || function (a) {\n for (var b, c = 1; c < arguments.length; c++) {\n for (var d in b = arguments[c], b) {\n Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]);\n }\n }\n\n return a;\n }, _extends$1.apply(this, arguments);\n}\n\nvar normalMerge = [\"attrs\", \"props\", \"domProps\"],\n toArrayMerge = [\"class\", \"style\", \"directives\"],\n functionalMerge = [\"on\", \"nativeOn\"],\n mergeJsxProps = function mergeJsxProps(a) {\n return a.reduce(function (c, a) {\n for (var b in a) {\n if (!c[b]) c[b] = a[b];else if (-1 !== normalMerge.indexOf(b)) c[b] = _extends$1({}, c[b], a[b]);else if (-1 !== toArrayMerge.indexOf(b)) {\n var d = c[b] instanceof Array ? c[b] : [c[b]],\n e = a[b] instanceof Array ? a[b] : [a[b]];\n c[b] = d.concat(e);\n } else if (-1 !== functionalMerge.indexOf(b)) {\n for (var f in a[b]) {\n if (c[b][f]) {\n var g = c[b][f] instanceof Array ? c[b][f] : [c[b][f]],\n h = a[b][f] instanceof Array ? a[b][f] : [a[b][f]];\n c[b][f] = g.concat(h);\n } else c[b][f] = a[b][f];\n }\n } else if (\"hook\" == b) for (var i in a[b]) {\n c[b][i] = c[b][i] ? mergeFn(c[b][i], a[b][i]) : a[b][i];\n } else c[b] = a[b];\n }\n\n return c;\n }, {});\n},\n mergeFn = function mergeFn(a, b) {\n return function () {\n a && a.apply(this, arguments), b && b.apply(this, arguments);\n };\n};\n\nvar helper = mergeJsxProps;\n\n// new Date(10, 0, 1) The year from 0 to 99 will be incremented by 1900 automatically.\nfunction createDate(y) {\n var M = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var d = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var h = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var m = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var s = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n var ms = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;\n var date = new Date(y, M, d, h, m, s, ms);\n\n if (y < 100 && y >= 0) {\n date.setFullYear(y);\n }\n\n return date;\n}\nfunction isValidDate(date) {\n return date instanceof Date && !isNaN(date);\n}\nfunction isValidRangeDate(date) {\n return Array.isArray(date) && date.length === 2 && date.every(isValidDate) && date[0] <= date[1];\n}\nfunction isValidDates(dates) {\n return Array.isArray(dates) && dates.every(isValidDate);\n}\nfunction getValidDate(value) {\n var date = new Date(value);\n\n if (isValidDate(date)) {\n return date;\n }\n\n for (var _len = arguments.length, backup = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n backup[_key - 1] = arguments[_key];\n }\n\n if (backup.length) {\n return getValidDate.apply(void 0, backup);\n }\n\n return new Date();\n}\nfunction startOfYear(value) {\n var date = new Date(value);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfMonth(value) {\n var date = new Date(value);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfDay(value) {\n var date = new Date(value);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction getCalendar(_ref) {\n var firstDayOfWeek = _ref.firstDayOfWeek,\n year = _ref.year,\n month = _ref.month;\n var arr = []; // change to the last day of the last month\n\n var calendar = createDate(year, month, 0);\n var lastDayInLastMonth = calendar.getDate(); // getDay() 0 is Sunday, 1 is Monday\n\n var firstDayInLastMonth = lastDayInLastMonth - (calendar.getDay() + 7 - firstDayOfWeek) % 7;\n\n for (var i = firstDayInLastMonth; i <= lastDayInLastMonth; i++) {\n arr.push(createDate(year, month, i - lastDayInLastMonth));\n } // change to the last day of the current month\n\n\n calendar.setMonth(month + 1, 0);\n var lastDayInCurrentMonth = calendar.getDate();\n\n for (var _i = 1; _i <= lastDayInCurrentMonth; _i++) {\n arr.push(createDate(year, month, _i));\n }\n\n var lastMonthLength = lastDayInLastMonth - firstDayInLastMonth + 1;\n var nextMonthLength = 6 * 7 - lastMonthLength - lastDayInCurrentMonth;\n\n for (var _i2 = 1; _i2 <= nextMonthLength; _i2++) {\n arr.push(createDate(year, month, lastDayInCurrentMonth + _i2));\n }\n\n return arr;\n}\nfunction setMonth(dirtyDate, dirtyMonth) {\n var date = new Date(dirtyDate);\n var month = Number(dirtyMonth);\n var year = date.getFullYear();\n var daysInMonth = createDate(year, month + 1, 0).getDate();\n var day = date.getDate();\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}\nfunction assignTime(target, source) {\n var date = new Date(target);\n var time = new Date(source);\n date.setHours(time.getHours(), time.getMinutes(), time.getSeconds());\n return date;\n}\n\n/**\n * chunk the array\n * @param {Array} arr\n * @param {Number} size\n */\nfunction chunk(arr, size) {\n if (!Array.isArray(arr)) {\n return [];\n }\n\n var result = [];\n var len = arr.length;\n var i = 0;\n size = size || len;\n\n while (i < len) {\n result.push(arr.slice(i, i += size));\n }\n\n return result;\n}\n/**\n * isObject\n * @param {*} obj\n * @returns {Boolean}\n */\n\nfunction isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}\n/**\n * pick object\n * @param {Object} obj\n * @param {Array|String} props\n */\n\nfunction pick(obj, props) {\n if (!isObject(obj)) return {};\n\n if (!Array.isArray(props)) {\n props = [props];\n }\n\n var res = {};\n props.forEach(function (prop) {\n if (prop in obj) {\n res[prop] = obj[prop];\n }\n });\n return res;\n}\n/**\n * deep merge two object without merging array\n * @param {object} target\n * @param {object} source\n */\n\nfunction mergeDeep(target, source) {\n if (!isObject(target)) {\n return {};\n }\n\n var result = target;\n\n if (isObject(source)) {\n Object.keys(source).forEach(function (key) {\n var value = source[key];\n\n if (isObject(value) && isObject(target[key])) {\n value = mergeDeep(target[key], value);\n }\n\n result = _objectSpread2({}, result, _defineProperty({}, key, value));\n });\n }\n\n return result;\n}\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar en = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nvar _default = locale;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n});\n\nvar en$1 = unwrapExports(en);\n\nvar lang = {\n formatLocale: en$1,\n yearFormat: 'YYYY',\n monthFormat: 'MMM',\n monthBeforeYear: true\n};\n\nvar defaultLocale = 'en';\nvar locales = {};\nlocales[defaultLocale] = lang;\nfunction locale(name, object, isLocal) {\n if (typeof name !== 'string') return locales[defaultLocale];\n var l = defaultLocale;\n\n if (locales[name]) {\n l = name;\n }\n\n if (object) {\n locales[name] = object;\n l = name;\n }\n\n if (!isLocal) {\n defaultLocale = l;\n }\n\n return locales[name] || locales[defaultLocale];\n}\n/**\n * get locale object\n * @param {string} name lang\n */\n\nfunction getLocale(name) {\n return locale(name, null, true);\n}\n\n/* istanbul ignore file */\nfunction rafThrottle(fn) {\n var isRunning = false;\n return function fnBinfRaf() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (isRunning) return;\n isRunning = true;\n requestAnimationFrame(function () {\n isRunning = false;\n fn.apply(_this, args);\n });\n };\n}\n\n/**\n * get the hidden element width, height\n * @param {HTMLElement} element dom\n */\nfunction getPopupElementSize(element) {\n var originalDisplay = element.style.display;\n var originalVisibility = element.style.visibility;\n element.style.display = 'block';\n element.style.visibility = 'hidden';\n var styles = window.getComputedStyle(element);\n var width = element.offsetWidth + parseInt(styles.marginLeft, 10) + parseInt(styles.marginRight, 10);\n var height = element.offsetHeight + parseInt(styles.marginTop, 10) + parseInt(styles.marginBottom, 10);\n element.style.display = originalDisplay;\n element.style.visibility = originalVisibility;\n return {\n width: width,\n height: height\n };\n}\n/**\n * get the popup position\n * @param {HTMLElement} el relative element\n * @param {Number} targetWidth target element's width\n * @param {Number} targetHeight target element's height\n * @param {Boolean} fixed\n */\n\nfunction getRelativePosition(el, targetWidth, targetHeight, fixed) {\n var left = 0;\n var top = 0;\n var offsetX = 0;\n var offsetY = 0;\n var relativeRect = el.getBoundingClientRect();\n var dw = document.documentElement.clientWidth;\n var dh = document.documentElement.clientHeight;\n\n if (fixed) {\n offsetX = window.pageXOffset + relativeRect.left;\n offsetY = window.pageYOffset + relativeRect.top;\n }\n\n if (dw - relativeRect.left < targetWidth && relativeRect.right < targetWidth) {\n left = offsetX - relativeRect.left + 1;\n } else if (relativeRect.left + relativeRect.width / 2 <= dw / 2) {\n left = offsetX;\n } else {\n left = offsetX + relativeRect.width - targetWidth;\n }\n\n if (relativeRect.top <= targetHeight && dh - relativeRect.bottom <= targetHeight) {\n top = offsetY + dh - relativeRect.top - targetHeight;\n } else if (relativeRect.top + relativeRect.height / 2 <= dh / 2) {\n top = offsetY + relativeRect.height;\n } else {\n top = offsetY - targetHeight;\n }\n\n return {\n left: \"\".concat(left, \"px\"),\n top: \"\".concat(top, \"px\")\n };\n}\nfunction getScrollParent(node) {\n var until = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body;\n\n if (!node || node === until) {\n return null;\n }\n\n var style = function style(value, prop) {\n return getComputedStyle(value, null).getPropertyValue(prop);\n };\n\n var regex = /(auto|scroll)/;\n var scroll = regex.test(style(node, 'overflow') + style(node, 'overflow-y') + style(node, 'overflow-x'));\n return scroll ? node : getScrollParent(node.parentNode, until);\n}\n\n//\nvar script = {\n name: 'Popup',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n appendToBody: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n top: '',\n left: ''\n };\n },\n watch: {\n visible: {\n immediate: true,\n handler: function handler(val) {\n var _this = this;\n\n this.$nextTick(function () {\n if (val) {\n _this.displayPopup();\n }\n });\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.appendToBody) {\n document.body.appendChild(this.$el);\n }\n\n this._clickoutEvent = 'ontouchend' in document ? 'touchstart' : 'mousedown';\n document.addEventListener(this._clickoutEvent, this.handleClickOutside); // change the popup position when resize or scroll\n\n var relativeElement = this.$parent.$el;\n this._displayPopup = rafThrottle(function () {\n return _this2.displayPopup();\n });\n this._scrollParent = getScrollParent(relativeElement) || window;\n\n this._scrollParent.addEventListener('scroll', this._displayPopup);\n\n window.addEventListener('resize', this._displayPopup);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.appendToBody && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n\n document.removeEventListener(this._clickoutEvent, this.handleClickOutside);\n\n this._scrollParent.removeEventListener('scroll', this._displayPopup);\n\n window.removeEventListener('resize', this._displayPopup);\n },\n methods: {\n handleClickOutside: function handleClickOutside(evt) {\n if (!this.visible) return;\n var target = evt.target;\n var el = this.$el;\n\n if (el && !el.contains(target)) {\n this.$emit('clickoutside', evt);\n }\n },\n displayPopup: function displayPopup() {\n if (!this.visible) return;\n var popup = this.$el;\n var relativeElement = this.$parent.$el;\n var appendToBody = this.appendToBody;\n\n if (!this._popupRect) {\n this._popupRect = getPopupElementSize(popup);\n }\n\n var _this$_popupRect = this._popupRect,\n width = _this$_popupRect.width,\n height = _this$_popupRect.height;\n\n var _getRelativePosition = getRelativePosition(relativeElement, width, height, appendToBody),\n left = _getRelativePosition.left,\n top = _getRelativePosition.top;\n\n this.left = left;\n this.top = top;\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('transition', {\n attrs: {\n \"name\": _vm.prefixClass + \"-zoom-in-down\"\n }\n }, [_vm.visible ? _c('div', {\n class: _vm.prefixClass + \"-datepicker-main \" + _vm.prefixClass + \"-datepicker-popup\",\n style: {\n top: _vm.top,\n left: _vm.left,\n position: 'absolute'\n }\n }, [_vm._t(\"default\")], 2) : _vm._e()]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$1 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M940.218182 107.054545h-209.454546V46.545455h-65.163636v60.50909H363.054545V46.545455H297.890909v60.50909H83.781818c-18.618182 0-32.581818 13.963636-32.581818 32.581819v805.236363c0 18.618182 13.963636 32.581818 32.581818 32.581818h861.090909c18.618182 0 32.581818-13.963636 32.581818-32.581818V139.636364c-4.654545-18.618182-18.618182-32.581818-37.236363-32.581819zM297.890909 172.218182V232.727273h65.163636V172.218182h307.2V232.727273h65.163637V172.218182h176.872727v204.8H116.363636V172.218182h181.527273zM116.363636 912.290909V442.181818h795.927273v470.109091H116.363636z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$1 = [];\n/* style */\n\nvar __vue_inject_styles__$1 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$1 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$1 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$1 = normalizeComponent({\n render: __vue_render__$1,\n staticRenderFns: __vue_staticRenderFns__$1\n}, __vue_inject_styles__$1, {}, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$2 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M810.005333 274.005333l-237.994667 237.994667 237.994667 237.994667-60.010667 60.010667-237.994667-237.994667-237.994667 237.994667-60.010667-60.010667 237.994667-237.994667-237.994667-237.994667 60.010667-60.010667 237.994667 237.994667 237.994667-237.994667z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$2 = [];\n/* style */\n\nvar __vue_inject_styles__$2 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$2 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$2 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$2 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$2 = normalizeComponent({\n render: __vue_render__$2,\n staticRenderFns: __vue_staticRenderFns__$2\n}, __vue_inject_styles__$2, {}, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$1 = {\n props: {\n type: String\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n }\n};\n\n/* script */\nvar __vue_script__$1 = script$1;\n/* template */\n\nvar __vue_render__$3 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('button', _vm._g({\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-icon-\" + _vm.type,\n attrs: {\n \"type\": \"button\"\n }\n }, _vm.$listeners), [_c('i', {\n class: _vm.prefixClass + \"-icon-\" + _vm.type\n })]);\n};\n\nvar __vue_staticRenderFns__$3 = [];\n/* style */\n\nvar __vue_inject_styles__$3 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$3 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$3 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$3 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$3 = normalizeComponent({\n render: __vue_render__$3,\n staticRenderFns: __vue_staticRenderFns__$3\n}, __vue_inject_styles__$3, __vue_script__$1, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, undefined, undefined, undefined);\n\nvar script$2 = {\n name: 'TableDate',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n getWeek: {\n default: function _default() {\n return getWeek;\n }\n },\n prefixClass: {\n default: 'mx'\n },\n onDateMouseEnter: {\n default: undefined\n },\n onDateMouseLeave: {\n default: undefined\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: false\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n getRowClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n firstDayOfWeek: function firstDayOfWeek() {\n return this.getLocale().formatLocale.firstDayOfWeek || 0;\n },\n yearMonth: function yearMonth() {\n var _this$getLocale = this.getLocale(),\n yearFormat = _this$getLocale.yearFormat,\n monthBeforeYear = _this$getLocale.monthBeforeYear,\n _this$getLocale$month = _this$getLocale.monthFormat,\n monthFormat = _this$getLocale$month === void 0 ? 'MMM' : _this$getLocale$month;\n\n var yearLabel = {\n panel: 'year',\n label: this.formatDate(this.calendar, yearFormat)\n };\n var monthLabel = {\n panel: 'month',\n label: this.formatDate(this.calendar, monthFormat)\n };\n return monthBeforeYear ? [monthLabel, yearLabel] : [yearLabel, monthLabel];\n },\n days: function days() {\n var locale = this.getLocale();\n var days = locale.days || locale.formatLocale.weekdaysMin;\n return days.concat(days).slice(this.firstDayOfWeek, this.firstDayOfWeek + 7);\n },\n dates: function dates() {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n var arr = getCalendar({\n firstDayOfWeek: this.firstDayOfWeek,\n year: year,\n month: month\n });\n return chunk(arr, 7);\n }\n },\n methods: {\n getNextCalendar: function getNextCalendar(diffMonth) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year, month + diffMonth);\n },\n handleIconLeftClick: function handleIconLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-1), 'last-month');\n },\n handleIconRightClick: function handleIconRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(1), 'next-month');\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-12), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(12), 'next-year');\n },\n handlePanelChange: function handlePanelChange(panel) {\n this.$emit('changepanel', panel);\n },\n handleMouseEnter: function handleMouseEnter(cell) {\n if (typeof this.onDateMouseEnter === 'function') {\n this.onDateMouseEnter(cell);\n }\n },\n handleMouseLeave: function handleMouseLeave(cell) {\n if (typeof this.onDateMouseLeave === 'function') {\n this.onDateMouseLeave(cell);\n }\n },\n handleCellClick: function handleCellClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var index = target.getAttribute('data-row-col');\n\n if (index) {\n var _index$split$map = index.split(',').map(function (v) {\n return parseInt(v, 10);\n }),\n _index$split$map2 = _slicedToArray(_index$split$map, 2),\n row = _index$split$map2[0],\n col = _index$split$map2[1];\n\n var date = this.dates[row][col];\n this.$emit('select', new Date(date));\n }\n },\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n getCellTitle: function getCellTitle(date) {\n var fmt = this.titleFormat;\n return this.formatDate(date, fmt);\n },\n getWeekNumber: function getWeekNumber(date) {\n return this.getWeek(date, this.getLocale().formatLocale);\n }\n }\n};\n\n/* script */\nvar __vue_script__$2 = script$2;\n/* template */\n\nvar __vue_render__$4 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-date\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"left\"\n },\n on: {\n \"click\": _vm.handleIconLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"right\"\n },\n on: {\n \"click\": _vm.handleIconRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, _vm._l(_vm.yearMonth, function (item) {\n return _c('button', {\n key: item.panel,\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-current-\" + item.panel,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function click($event) {\n return _vm.handlePanelChange(item.panel);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.label) + \"\\n \")]);\n }), 0)], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-date\"\n }, [_c('thead', [_c('tr', [_vm.showWeekNumber ? _c('th', {\n class: _vm.prefixClass + \"-week-number-header\"\n }) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.days, function (day) {\n return _c('th', {\n key: day\n }, [_vm._v(_vm._s(day))]);\n })], 2)]), _vm._v(\" \"), _c('tbody', {\n on: {\n \"click\": _vm.handleCellClick\n }\n }, _vm._l(_vm.dates, function (row, i) {\n return _c('tr', {\n key: i,\n class: [_vm.prefixClass + \"-date-row\", _vm.getRowClasses(row)]\n }, [_vm.showWeekNumber ? _c('td', {\n class: _vm.prefixClass + \"-week-number\",\n attrs: {\n \"data-row-col\": i + \",0\"\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.getWeekNumber(row[0])) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-row-col\": i + \",\" + j,\n \"title\": _vm.getCellTitle(cell)\n },\n on: {\n \"mouseenter\": function mouseenter($event) {\n return _vm.handleMouseEnter(cell);\n },\n \"mouseleave\": function mouseleave($event) {\n return _vm.handleMouseLeave(cell);\n }\n }\n }, [_c('div', [_vm._v(_vm._s(cell.getDate()))])]);\n })], 2);\n }), 0)])])]);\n};\n\nvar __vue_staticRenderFns__$4 = [];\n/* style */\n\nvar __vue_inject_styles__$4 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$4 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$4 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$4 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$4 = normalizeComponent({\n render: __vue_render__$4,\n staticRenderFns: __vue_staticRenderFns__$4\n}, __vue_inject_styles__$4, __vue_script__$2, __vue_scope_id__$4, __vue_is_functional_template__$4, __vue_module_identifier__$4, false, undefined, undefined, undefined);\n\n//\nvar script$3 = {\n name: 'TableMonth',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n calendarYear: function calendarYear() {\n return this.calendar.getFullYear();\n },\n months: function months() {\n var locale = this.getLocale();\n var monthsLocale = locale.months || locale.formatLocale.monthsShort;\n var months = monthsLocale.map(function (text, month) {\n return {\n text: text,\n month: month\n };\n });\n return chunk(months, 3);\n }\n },\n methods: {\n getNextCalendar: function getNextCalendar(diffYear) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year + diffYear, month);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-1), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(1), 'next-year');\n },\n handlePanelChange: function handlePanelChange() {\n this.$emit('changepanel', 'year');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var month = target.getAttribute('data-month');\n\n if (month) {\n this.$emit('select', parseInt(month, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$3 = script$3;\n/* template */\n\nvar __vue_render__$5 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-month\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handlePanelChange\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.calendarYear) + \"\\n \")])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-month\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.months, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell.month),\n attrs: {\n \"data-month\": cell.month\n }\n }, [_c('div', [_vm._v(_vm._s(cell.text))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$5 = [];\n/* style */\n\nvar __vue_inject_styles__$5 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$5 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$5 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$5 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$5 = normalizeComponent({\n render: __vue_render__$5,\n staticRenderFns: __vue_staticRenderFns__$5\n}, __vue_inject_styles__$5, __vue_script__$3, __vue_scope_id__$5, __vue_is_functional_template__$5, __vue_module_identifier__$5, false, undefined, undefined, undefined);\n\n//\nvar script$4 = {\n name: 'TableYear',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getYearPanel: {\n type: Function\n }\n },\n computed: {\n years: function years() {\n var calendar = new Date(this.calendar);\n\n if (typeof this.getYearPanel === 'function') {\n return this.getYearPanel(calendar);\n }\n\n return this.getYears(calendar);\n },\n firstYear: function firstYear() {\n return this.years[0][0];\n },\n lastYear: function lastYear() {\n var last = function last(arr) {\n return arr[arr.length - 1];\n };\n\n return last(last(this.years));\n }\n },\n methods: {\n getYears: function getYears(calendar) {\n var firstYear = Math.floor(calendar.getFullYear() / 10) * 10;\n var years = [];\n\n for (var i = 0; i < 10; i++) {\n years.push(firstYear + i);\n }\n\n return chunk(years, 2);\n },\n getNextCalendar: function getNextCalendar(diffYear) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year + diffYear, month);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-10), 'last-decade');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(10), 'next-decade');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var year = target.getAttribute('data-year');\n\n if (year) {\n this.$emit('select', parseInt(year, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$4 = script$4;\n/* template */\n\nvar __vue_render__$6 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-year\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('span', [_vm._v(_vm._s(_vm.firstYear))]), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-decade-separator\"\n }), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(_vm.lastYear))])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-year\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.years, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-year\": cell\n }\n }, [_c('div', [_vm._v(_vm._s(cell))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$6 = [];\n/* style */\n\nvar __vue_inject_styles__$6 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$6 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$6 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$6 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$6 = normalizeComponent({\n render: __vue_render__$6,\n staticRenderFns: __vue_staticRenderFns__$6\n}, __vue_inject_styles__$6, __vue_script__$4, __vue_scope_id__$6, __vue_is_functional_template__$6, __vue_module_identifier__$6, false, undefined, undefined, undefined);\n\nvar CalendarPanel = {\n name: 'CalendarPanel',\n inject: {\n prefixClass: {\n default: 'mx'\n },\n dispatchDatePicker: {\n default: function _default() {\n return function () {};\n }\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n defaultPanel: {\n type: String\n },\n disabledDate: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n type: {\n type: String,\n default: 'date'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: undefined\n },\n getYearPanel: {\n type: Function\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n calendar: Date,\n // update date when select year or month\n partialUpdate: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n var panels = ['date', 'month', 'year'];\n var index = Math.max(panels.indexOf(this.type), panels.indexOf(this.defaultPanel));\n var panel = index !== -1 ? panels[index] : 'date';\n return {\n panel: panel,\n innerCalendar: new Date()\n };\n },\n computed: {\n innerValue: function innerValue() {\n var value = Array.isArray(this.value) ? this.value : [this.value];\n var map = {\n year: startOfYear,\n month: startOfMonth,\n date: startOfDay\n };\n var start = map[this.type] || map.date;\n return value.filter(isValidDate).map(function (v) {\n return start(v);\n });\n },\n calendarYear: function calendarYear() {\n return this.innerCalendar.getFullYear();\n },\n calendarMonth: function calendarMonth() {\n return this.innerCalendar.getMonth();\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: 'initCalendar'\n },\n calendar: {\n handler: 'initCalendar'\n },\n defaultValue: {\n handler: 'initCalendar'\n }\n },\n methods: {\n initCalendar: function initCalendar() {\n var calendarDate = this.calendar;\n\n if (!isValidDate(calendarDate)) {\n var length = this.innerValue.length;\n calendarDate = getValidDate(length > 0 ? this.innerValue[length - 1] : this.defaultValue);\n }\n\n this.innerCalendar = startOfMonth(calendarDate);\n },\n isDisabled: function isDisabled(date) {\n return this.disabledDate(new Date(date), this.innerValue);\n },\n emitDate: function emitDate(date, type) {\n if (!this.isDisabled(date)) {\n this.$emit('select', date, type, this.innerValue); // someone need get the first selected date to set range value. (#429)\n\n this.dispatchDatePicker('pick', date, type);\n }\n },\n handleCalendarChange: function handleCalendarChange(calendar, type) {\n var oldCalendar = new Date(this.innerCalendar);\n this.innerCalendar = calendar;\n this.$emit('update:calendar', calendar);\n this.dispatchDatePicker('calendar-change', calendar, oldCalendar, type);\n },\n handelPanelChange: function handelPanelChange(panel) {\n var oldPanel = this.panel;\n this.panel = panel;\n this.dispatchDatePicker('panel-change', panel, oldPanel);\n },\n handleSelectYear: function handleSelectYear(year) {\n if (this.type === 'year') {\n var date = this.getYearCellDate(year);\n this.emitDate(date, 'year');\n } else {\n this.handleCalendarChange(createDate(year, this.calendarMonth), 'year');\n this.handelPanelChange('month');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date = new Date(this.innerValue[0]);\n\n _date.setFullYear(year);\n\n this.emitDate(_date, 'year');\n }\n }\n },\n handleSelectMonth: function handleSelectMonth(month) {\n if (this.type === 'month') {\n var date = this.getMonthCellDate(month);\n this.emitDate(date, 'month');\n } else {\n this.handleCalendarChange(createDate(this.calendarYear, month), 'month');\n this.handelPanelChange('date');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date2 = new Date(this.innerValue[0]);\n\n _date2.setFullYear(this.calendarYear);\n\n this.emitDate(setMonth(_date2, month), 'month');\n }\n }\n },\n handleSelectDate: function handleSelectDate(date) {\n this.emitDate(date, this.type === 'week' ? 'week' : 'date');\n },\n getMonthCellDate: function getMonthCellDate(month) {\n return createDate(this.calendarYear, month);\n },\n getYearCellDate: function getYearCellDate(year) {\n return createDate(year, 0);\n },\n getDateClasses: function getDateClasses(cellDate) {\n var notCurrentMonth = cellDate.getMonth() !== this.calendarMonth;\n var classes = [];\n\n if (cellDate.getTime() === new Date().setHours(0, 0, 0, 0)) {\n classes.push('today');\n }\n\n if (notCurrentMonth) {\n classes.push('not-current-month');\n }\n\n var state = this.getStateClass(cellDate);\n\n if (!(state === 'active' && notCurrentMonth)) {\n classes.push(state);\n }\n\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getMonthClasses: function getMonthClasses(month) {\n if (this.type !== 'month') {\n return this.calendarMonth === month ? 'active' : '';\n }\n\n var classes = [];\n var cellDate = this.getMonthCellDate(month);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getYearClasses: function getYearClasses(year) {\n if (this.type !== 'year') {\n return this.calendarYear === year ? 'active' : '';\n }\n\n var classes = [];\n var cellDate = this.getYearCellDate(year);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getStateClass: function getStateClass(cellDate) {\n if (this.isDisabled(cellDate)) {\n return 'disabled';\n }\n\n if (this.innerValue.some(function (v) {\n return v.getTime() === cellDate.getTime();\n })) {\n return 'active';\n }\n\n return '';\n },\n getWeekState: function getWeekState(row) {\n if (this.type !== 'week') return '';\n var start = row[0].getTime();\n var end = row[6].getTime();\n var active = this.innerValue.some(function (v) {\n var time = v.getTime();\n return time >= start && time <= end;\n });\n return active ? \"\".concat(this.prefixClass, \"-active-week\") : '';\n }\n },\n render: function render() {\n var h = arguments[0];\n var panel = this.panel,\n innerCalendar = this.innerCalendar;\n\n if (panel === 'year') {\n return h(__vue_component__$6, {\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getYearClasses,\n \"getYearPanel\": this.getYearPanel\n },\n \"on\": {\n \"select\": this.handleSelectYear,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n if (panel === 'month') {\n return h(__vue_component__$5, {\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getMonthClasses\n },\n \"on\": {\n \"select\": this.handleSelectMonth,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n return h(__vue_component__$4, {\n \"class\": _defineProperty({}, \"\".concat(this.prefixClass, \"-calendar-week-mode\"), this.type === 'week'),\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getDateClasses,\n \"getRowClasses\": this.getWeekState,\n \"titleFormat\": this.titleFormat,\n \"showWeekNumber\": typeof this.showWeekNumber === 'boolean' ? this.showWeekNumber : this.type === 'week'\n },\n \"on\": {\n \"select\": this.handleSelectDate,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n};\n\nvar CalendarRange = {\n name: 'CalendarRange',\n components: {\n CalendarPanel: CalendarPanel\n },\n provide: function provide() {\n return {\n onDateMouseEnter: this.onDateMouseEnter,\n onDateMouseLeave: this.onDateMouseLeave\n };\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, CalendarPanel.props),\n data: function data() {\n return {\n innerValue: [],\n calendars: [],\n hoveredValue: null\n };\n },\n computed: {\n // Minimum difference between start and end calendars\n calendarMinDiff: function calendarMinDiff() {\n var map = {\n date: 1,\n // type:date min 1 month\n month: 1 * 12,\n // type:month min 1 year\n year: 10 * 12 // type:year min 10 year\n\n };\n return map[this.type] || map.date;\n },\n calendarMaxDiff: function calendarMaxDiff() {\n return Infinity;\n },\n defaultValues: function defaultValues() {\n return Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n var _this = this;\n\n this.innerValue = isValidRangeDate(this.value) ? this.value : [new Date(NaN), new Date(NaN)];\n var calendars = this.innerValue.map(function (v, i) {\n return startOfMonth(getValidDate(v, _this.defaultValues[i]));\n });\n this.updateCalendars(calendars);\n }\n }\n },\n methods: {\n handleSelect: function handleSelect(date, type) {\n var _this$innerValue = _slicedToArray(this.innerValue, 2),\n startValue = _this$innerValue[0],\n endValue = _this$innerValue[1];\n\n if (isValidDate(startValue) && !isValidDate(endValue)) {\n if (startValue.getTime() > date.getTime()) {\n this.innerValue = [date, startValue];\n } else {\n this.innerValue = [startValue, date];\n }\n\n this.emitDate(this.innerValue, type);\n } else {\n this.innerValue = [date, new Date(NaN)];\n }\n },\n onDateMouseEnter: function onDateMouseEnter(cell) {\n this.hoveredValue = cell;\n },\n onDateMouseLeave: function onDateMouseLeave() {\n this.hoveredValue = null;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n updateStartCalendar: function updateStartCalendar(value) {\n this.updateCalendars([value, this.calendars[1]], 1);\n },\n updateEndCalendar: function updateEndCalendar(value) {\n this.updateCalendars([this.calendars[0], value], 0);\n },\n updateCalendars: function updateCalendars(calendars) {\n var adjustIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var gap = this.getCalendarGap(calendars);\n\n if (gap) {\n var calendar = new Date(calendars[adjustIndex]);\n calendar.setMonth(calendar.getMonth() + (adjustIndex === 0 ? -gap : gap));\n calendars[adjustIndex] = calendar;\n }\n\n this.calendars = calendars;\n },\n getCalendarGap: function getCalendarGap(calendars) {\n var _calendars = _slicedToArray(calendars, 2),\n calendarLeft = _calendars[0],\n calendarRight = _calendars[1];\n\n var yearDiff = calendarRight.getFullYear() - calendarLeft.getFullYear();\n var monthDiff = calendarRight.getMonth() - calendarLeft.getMonth();\n var diff = yearDiff * 12 + monthDiff;\n var min = this.calendarMinDiff;\n var max = this.calendarMaxDiff;\n\n if (diff < min) {\n return min - diff;\n }\n\n if (diff > max) {\n return max - diff;\n }\n\n return 0;\n },\n getRangeClasses: function getRangeClasses(cellDate, currentDates, classnames) {\n var classes = [].concat(this.getClasses(cellDate, currentDates, classnames));\n if (/disabled|active/.test(classnames)) return classes;\n\n var inRange = function inRange(data, range) {\n var fn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (v) {\n return v.getTime();\n };\n var value = fn(data);\n\n var _range$map = range.map(fn),\n _range$map2 = _slicedToArray(_range$map, 2),\n min = _range$map2[0],\n max = _range$map2[1];\n\n if (min > max) {\n var _ref = [max, min];\n min = _ref[0];\n max = _ref[1];\n }\n\n return value > min && value < max;\n };\n\n if (currentDates.length === 2 && inRange(cellDate, currentDates)) {\n return classes.concat('in-range');\n }\n\n if (currentDates.length === 1 && this.hoveredValue && inRange(cellDate, [currentDates[0], this.hoveredValue])) {\n return classes.concat('hover-in-range');\n }\n\n return classes;\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n var calendarRange = this.calendars.map(function (calendar, index) {\n var props = _objectSpread2({}, _this2.$props, {\n calendar: calendar,\n value: _this2.innerValue,\n defaultValue: _this2.defaultValues[index],\n getClasses: _this2.getRangeClasses,\n // don't update when range is true\n partialUpdate: false\n });\n\n var on = {\n select: _this2.handleSelect,\n 'update:calendar': index === 0 ? _this2.updateStartCalendar : _this2.updateEndCalendar\n };\n return h(\"calendar-panel\", {\n \"props\": _objectSpread2({}, props),\n \"on\": _objectSpread2({}, on)\n });\n });\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [calendarRange]);\n }\n};\n\nvar scrollBarWidth;\nfunction getScrollbarWidth () {\n if (typeof window === 'undefined') return 0;\n if (scrollBarWidth !== undefined) return scrollBarWidth;\n var outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll';\n outer.style.width = '100px';\n outer.style.position = 'absolute';\n outer.style.top = '-9999px';\n document.body.appendChild(outer);\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n scrollBarWidth = outer.offsetWidth - inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n return scrollBarWidth;\n}\n\n//\nvar script$5 = {\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n data: function data() {\n return {\n scrollbarWidth: 0,\n thumbTop: '',\n thumbHeight: ''\n };\n },\n created: function created() {\n this.scrollbarWidth = getScrollbarWidth();\n document.addEventListener('mouseup', this.handleDragend);\n },\n beforeDestroy: function beforeDestroy() {\n document.addEventListener('mouseup', this.handleDragend);\n },\n mounted: function mounted() {\n this.$nextTick(this.getThumbSize);\n },\n methods: {\n getThumbSize: function getThumbSize() {\n var wrap = this.$refs.wrap;\n if (!wrap) return;\n var heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;\n this.thumbHeight = heightPercentage < 100 ? \"\".concat(heightPercentage, \"%\") : '';\n },\n handleScroll: function handleScroll(evt) {\n var el = evt.currentTarget;\n var scrollHeight = el.scrollHeight,\n scrollTop = el.scrollTop;\n this.thumbTop = \"\".concat(scrollTop * 100 / scrollHeight, \"%\");\n },\n handleDragstart: function handleDragstart(evt) {\n evt.stopImmediatePropagation();\n this._draggable = true;\n var offsetTop = this.$refs.thumb.offsetTop;\n this._prevY = evt.clientY - offsetTop;\n document.addEventListener('mousemove', this.handleDraging);\n },\n handleDraging: function handleDraging(evt) {\n if (!this._draggable) return;\n var clientY = evt.clientY;\n var wrap = this.$refs.wrap;\n var scrollHeight = wrap.scrollHeight,\n clientHeight = wrap.clientHeight;\n var offsetY = clientY - this._prevY;\n var top = offsetY * scrollHeight / clientHeight;\n wrap.scrollTop = top;\n },\n handleDragend: function handleDragend() {\n if (this._draggable) {\n this._draggable = false;\n document.removeEventListener('mousemove', this.handleDraging);\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$5 = script$5;\n/* template */\n\nvar __vue_render__$7 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-scrollbar\",\n style: {\n position: 'relative',\n overflow: 'hidden'\n }\n }, [_c('div', {\n ref: \"wrap\",\n class: _vm.prefixClass + \"-scrollbar-wrap\",\n style: {\n marginRight: \"-\" + _vm.scrollbarWidth + \"px\"\n },\n on: {\n \"scroll\": _vm.handleScroll\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-scrollbar-track\"\n }, [_c('div', {\n ref: \"thumb\",\n class: _vm.prefixClass + \"-scrollbar-thumb\",\n style: {\n height: _vm.thumbHeight,\n top: _vm.thumbTop\n },\n on: {\n \"mousedown\": _vm.handleDragstart\n }\n })])]);\n};\n\nvar __vue_staticRenderFns__$7 = [];\n/* style */\n\nvar __vue_inject_styles__$7 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$7 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$7 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$7 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$7 = normalizeComponent({\n render: __vue_render__$7,\n staticRenderFns: __vue_staticRenderFns__$7\n}, __vue_inject_styles__$7, __vue_script__$5, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, undefined, undefined, undefined);\n\n//\n\nvar padNumber = function padNumber(value) {\n value = parseInt(value, 10);\n return value < 10 ? \"0\".concat(value) : \"\".concat(value);\n};\n\nvar generateOptions = function generateOptions(length, step, options) {\n if (Array.isArray(options)) {\n return options.filter(function (v) {\n return v >= 0 && v < length;\n });\n }\n\n if (step <= 0) {\n step = 1;\n }\n\n var arr = [];\n\n for (var i = 0; i < length; i += step) {\n arr.push(i);\n }\n\n return arr;\n};\n\nvar scrollTo = function scrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n // jump to target if duration zero\n if (duration <= 0) {\n requestAnimationFrame(function () {\n element.scrollTop = to;\n });\n return;\n }\n\n var difference = to - element.scrollTop;\n var tick = difference / duration * 10;\n requestAnimationFrame(function () {\n var scrollTop = element.scrollTop + tick;\n\n if (scrollTop >= to) {\n element.scrollTop = to;\n return;\n }\n\n element.scrollTop = scrollTop;\n scrollTo(element, to, duration - 10);\n });\n};\n\nvar script$6 = {\n name: 'ListColumns',\n components: {\n ScrollbarVertical: __vue_component__$7\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n scrollDuration: {\n type: Number,\n default: 100\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n showHour: {\n type: Boolean,\n default: true\n },\n showMinute: {\n type: Boolean,\n default: true\n },\n showSecond: {\n type: Boolean,\n default: true\n },\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n use12h: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n columns: function columns() {\n var cols = [];\n if (this.showHour) cols.push({\n type: 'hour',\n list: this.getHoursList()\n });\n if (this.showMinute) cols.push({\n type: 'minute',\n list: this.getMinutesList()\n });\n if (this.showSecond) cols.push({\n type: 'second',\n list: this.getSecondsList()\n });\n if (this.use12h) cols.push({\n type: 'ampm',\n list: this.getAMPMList()\n });\n return cols.filter(function (v) {\n return v.list.length > 0;\n });\n }\n },\n watch: {\n date: {\n handler: function handler() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.scrollToSelected(_this.scrollDuration);\n });\n }\n }\n },\n mounted: function mounted() {\n this.scrollToSelected(0);\n },\n methods: {\n getHoursList: function getHoursList() {\n var _this2 = this;\n\n return generateOptions(this.use12h ? 12 : 24, this.hourStep, this.hourOptions).map(function (num) {\n var date = new Date(_this2.date);\n var text = padNumber(num);\n\n if (_this2.use12h) {\n if (num === 0) {\n text = '12';\n }\n\n if (date.getHours() >= 12) {\n num += 12;\n }\n }\n\n var value = date.setHours(num);\n return {\n value: value,\n text: text\n };\n });\n },\n getMinutesList: function getMinutesList() {\n var _this3 = this;\n\n return generateOptions(60, this.minuteStep, this.minuteOptions).map(function (num) {\n var value = new Date(_this3.date).setMinutes(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getSecondsList: function getSecondsList() {\n var _this4 = this;\n\n return generateOptions(60, this.secondStep, this.secondOptions).map(function (num) {\n var value = new Date(_this4.date).setSeconds(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getAMPMList: function getAMPMList() {\n var _this5 = this;\n\n return ['AM', 'PM'].map(function (text, i) {\n var date = new Date(_this5.date);\n var value = date.setHours(date.getHours() % 12 + i * 12);\n return {\n text: text,\n value: value\n };\n });\n },\n scrollToSelected: function scrollToSelected(duration) {\n var elements = this.$el.querySelectorAll('.active');\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var scrollElement = getScrollParent(element, this.$el);\n\n if (scrollElement) {\n var to = element.offsetTop;\n scrollTo(scrollElement, to, duration);\n }\n }\n },\n handleSelect: function handleSelect(evt) {\n var target = evt.target,\n currentTarget = evt.currentTarget;\n if (target.tagName.toUpperCase() !== 'LI') return;\n var type = currentTarget.getAttribute('data-type');\n var colIndex = parseInt(currentTarget.getAttribute('data-index'), 10);\n var cellIndex = parseInt(target.getAttribute('data-index'), 10);\n var value = this.columns[colIndex].list[cellIndex].value;\n this.$emit('select', value, type);\n }\n }\n};\n\n/* script */\nvar __vue_script__$6 = script$6;\n/* template */\n\nvar __vue_render__$8 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time-columns\"\n }, _vm._l(_vm.columns, function (col, i) {\n return _c('scrollbar-vertical', {\n key: i,\n class: _vm.prefixClass + \"-time-column\"\n }, [_c('ul', {\n class: _vm.prefixClass + \"-time-list\",\n attrs: {\n \"data-type\": col.type,\n \"data-index\": i\n },\n on: {\n \"click\": _vm.handleSelect\n }\n }, _vm._l(col.list, function (item, j) {\n return _c('li', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-item\", _vm.getClasses(item.value)],\n attrs: {\n \"data-index\": j\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0)]);\n }), 1);\n};\n\nvar __vue_staticRenderFns__$8 = [];\n/* style */\n\nvar __vue_inject_styles__$8 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$8 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$8 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$8 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$8 = normalizeComponent({\n render: __vue_render__$8,\n staticRenderFns: __vue_staticRenderFns__$8\n}, __vue_inject_styles__$8, __vue_script__$6, __vue_scope_id__$8, __vue_is_functional_template__$8, __vue_module_identifier__$8, false, undefined, undefined, undefined);\n\n//\n\nfunction parseOption() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var values = time.split(':');\n\n if (values.length >= 2) {\n var hours = parseInt(values[0], 10);\n var minutes = parseInt(values[1], 10);\n return {\n hours: hours,\n minutes: minutes\n };\n }\n\n return null;\n}\n\nvar scrollTo$1 = function scrollTo(element, to) {\n if (element) {\n element.scrollTop = to;\n }\n};\n\nvar script$7 = {\n name: 'ListOptions',\n components: {\n ScrollbarVertical: __vue_component__$7\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n options: {\n type: [Object, Function],\n default: function _default() {\n return [];\n }\n },\n format: {\n type: String,\n default: 'HH:mm:ss'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n list: function list() {\n var result = [];\n var options = this.options;\n\n if (typeof options === 'function') {\n return options() || [];\n }\n\n var start = parseOption(options.start);\n var end = parseOption(options.end);\n var step = parseOption(options.step);\n var fmt = options.format || this.format;\n\n if (start && end && step) {\n var startMinutes = start.minutes + start.hours * 60;\n var endMinutes = end.minutes + end.hours * 60;\n var stepMinutes = step.minutes + step.hours * 60;\n var len = Math.floor((endMinutes - startMinutes) / stepMinutes);\n\n for (var i = 0; i <= len; i++) {\n var timeMinutes = startMinutes + i * stepMinutes;\n var hours = Math.floor(timeMinutes / 60);\n var minutes = timeMinutes % 60;\n var value = new Date(this.date).setHours(hours, minutes, 0);\n result.push({\n value: value,\n text: this.formatDate(value, fmt)\n });\n }\n }\n\n return result;\n }\n },\n mounted: function mounted() {\n this.scrollToSelected();\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n scrollToSelected: function scrollToSelected() {\n var element = this.$el.querySelector('.active');\n if (!element) return;\n var scrollElement = getScrollParent(element, this.$el);\n if (!scrollElement) return;\n var to = element.offsetTop;\n scrollTo$1(scrollElement, to);\n },\n handleSelect: function handleSelect(value) {\n this.$emit('select', value, 'time');\n }\n }\n};\n\n/* script */\nvar __vue_script__$7 = script$7;\n/* template */\n\nvar __vue_render__$9 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('scrollbar-vertical', _vm._l(_vm.list, function (item) {\n return _c('div', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-option\", _vm.getClasses(item.value)],\n on: {\n \"click\": function click($event) {\n return _vm.handleSelect(item.value);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0);\n};\n\nvar __vue_staticRenderFns__$9 = [];\n/* style */\n\nvar __vue_inject_styles__$9 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$9 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$9 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$9 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$9 = normalizeComponent({\n render: __vue_render__$9,\n staticRenderFns: __vue_staticRenderFns__$9\n}, __vue_inject_styles__$9, __vue_script__$7, __vue_scope_id__$9, __vue_is_functional_template__$9, __vue_module_identifier__$9, false, undefined, undefined, undefined);\n\n//\nvar script$8 = {\n name: 'TimePanel',\n components: {\n ListColumns: __vue_component__$8,\n ListOptions: __vue_component__$9\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n format: {\n default: 'HH:mm:ss'\n },\n timeTitleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n showTimeHeader: {\n type: Boolean,\n default: false\n },\n disabledTime: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n timePickerOptions: {\n type: [Object, Function],\n default: function _default() {\n return null;\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n showHour: {\n type: Boolean,\n default: undefined\n },\n showMinute: {\n type: Boolean,\n default: undefined\n },\n showSecond: {\n type: Boolean,\n default: undefined\n },\n use12h: {\n type: Boolean,\n default: undefined\n },\n scrollDuration: {\n type: Number,\n default: 100\n }\n },\n computed: {\n innerValue: function innerValue() {\n return getValidDate(this.value, this.defaultValue);\n },\n title: function title() {\n var titleFormat = this.timeTitleFormat;\n var date = new Date(this.innerValue);\n return this.formatDate(date, titleFormat);\n },\n innerForamt: function innerForamt() {\n return typeof this.format === 'string' ? this.format : 'HH:mm:ss';\n },\n ShowHourMinuteSecondAMPM: function ShowHourMinuteSecondAMPM() {\n var _this = this;\n\n var fmt = this.innerForamt;\n var defaultProps = {\n showHour: /[HhKk]/.test(fmt),\n showMinute: /m/.test(fmt),\n showSecond: /s/.test(fmt),\n use12h: /a/i.test(fmt)\n };\n var obj = {};\n Object.keys(defaultProps).forEach(function (key) {\n obj[key] = typeof _this[key] === 'boolean' ? _this[key] : defaultProps[key];\n });\n return obj;\n }\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n isDisabled: function isDisabled(date) {\n return this.disabledTime(new Date(date));\n },\n handleSelect: function handleSelect(value, type) {\n var date = new Date(value);\n\n if (!this.isDisabled(value)) {\n this.$emit('select', date, type);\n }\n },\n handleClickTitle: function handleClickTitle() {\n this.$emit('clicktitle');\n },\n getClasses: function getClasses(value) {\n var cellDate = new Date(value);\n\n if (this.isDisabled(value)) {\n return 'disabled';\n }\n\n if (cellDate.getTime() === this.innerValue.getTime()) {\n return 'active';\n }\n\n return '';\n }\n }\n};\n\n/* script */\nvar __vue_script__$8 = script$8;\n/* template */\n\nvar __vue_render__$a = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time\"\n }, [_vm.showTimeHeader ? _c('div', {\n class: _vm.prefixClass + \"-time-header\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-time-header-title\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handleClickTitle\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.title) + \"\\n \")])]) : _vm._e(), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-time-content\"\n }, [_vm.timePickerOptions ? _c('list-options', {\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"options\": _vm.timePickerOptions,\n \"format\": _vm.innerForamt\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }) : _c('list-columns', _vm._b({\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"hour-options\": _vm.hourOptions,\n \"minute-options\": _vm.minuteOptions,\n \"second-options\": _vm.secondOptions,\n \"hour-step\": _vm.hourStep,\n \"minute-step\": _vm.minuteStep,\n \"second-step\": _vm.secondStep,\n \"scroll-duration\": _vm.scrollDuration\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }, 'list-columns', _vm.ShowHourMinuteSecondAMPM, false))], 1)]);\n};\n\nvar __vue_staticRenderFns__$a = [];\n/* style */\n\nvar __vue_inject_styles__$a = undefined;\n/* scoped */\n\nvar __vue_scope_id__$a = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$a = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$a = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$a = normalizeComponent({\n render: __vue_render__$a,\n staticRenderFns: __vue_staticRenderFns__$a\n}, __vue_inject_styles__$a, __vue_script__$8, __vue_scope_id__$a, __vue_is_functional_template__$a, __vue_module_identifier__$a, false, undefined, undefined, undefined);\n\nvar TimeRange = {\n name: 'TimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, __vue_component__$a.props),\n data: function data() {\n return {\n startValue: new Date(NaN),\n endValue: new Date(NaN)\n };\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n if (isValidRangeDate(this.value)) {\n var _this$value = _slicedToArray(this.value, 2),\n startValue = _this$value[0],\n endValue = _this$value[1];\n\n this.startValue = startValue;\n this.endValue = endValue;\n } else {\n this.startValue = new Date(NaN);\n this.endValue = new Date(NaN);\n }\n }\n }\n },\n methods: {\n emitChange: function emitChange(type, index) {\n var date = [this.startValue, this.endValue];\n this.$emit('select', date, type === 'time' ? 'time-range' : type, index);\n },\n handleSelectStart: function handleSelectStart(date, type) {\n this.startValue = date; // check the NaN\n\n if (!(this.endValue.getTime() >= date.getTime())) {\n this.endValue = date;\n }\n\n this.emitChange(type, 0);\n },\n handleSelectEnd: function handleSelectEnd(date, type) {\n // check the NaN\n this.endValue = date;\n\n if (!(this.startValue.getTime() <= date.getTime())) {\n this.startValue = date;\n }\n\n this.emitChange(type, 1);\n },\n disabledStartTime: function disabledStartTime(date) {\n return this.disabledTime(date, 0);\n },\n disabledEndTime: function disabledEndTime(date) {\n return date.getTime() < this.startValue.getTime() || this.disabledTime(date, 1);\n }\n },\n render: function render() {\n var h = arguments[0];\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [h(__vue_component__$a, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.startValue,\n defaultValue: defaultValues[0],\n disabledTime: this.disabledStartTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectStart\n }))\n }), h(__vue_component__$a, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.endValue,\n defaultValue: defaultValues[1],\n disabledTime: this.disabledEndTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectEnd\n }))\n })]);\n }\n};\n\nvar DatetimePanel = {\n name: 'DatetimePanel',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarPanel.props, {}, __vue_component__$a.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n },\n defaultTimeVisible: function defaultTimeVisible(val) {\n this.$emit('update:show-time-panel', val);\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n },\n emitDate: function emitDate(date, type) {\n this.$emit('select', date, type);\n },\n handleSelect: function handleSelect(date, type) {\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var datetime = assignTime(date, getValidDate(this.value, this.defaultValue));\n\n if (this.disabledTime(new Date(datetime))) {\n // set the time of defalutValue;\n datetime = assignTime(date, this.defaultValue);\n\n if (this.disabledTime(new Date(datetime))) {\n // if disabled don't emit date\n this.currentValue = datetime;\n return;\n }\n }\n\n this.emitDate(datetime, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarPanel.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(__vue_component__$a.props)), {\n showTimeHeader: true,\n value: this.currentValue\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarPanel, helper([{}, calendarProps])), this.timeVisible && h(__vue_component__$a, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar DatetimeRange = {\n name: 'DatetimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarRange.props, {}, TimeRange.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n },\n defaultTimeVisible: function defaultTimeVisible(val) {\n this.$emit('update:show-time-panel', val);\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n handleSelect: function handleSelect(dates, type) {\n var _this = this;\n\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var datetimes = dates.map(function (date, i) {\n var time = isValidRangeDate(_this.value) ? _this.value[i] : defaultValues[i];\n return assignTime(date, time);\n });\n\n if (datetimes[1].getTime() < datetimes[0].getTime()) {\n datetimes = [datetimes[0], datetimes[0]];\n }\n\n if (datetimes.some(this.disabledTime)) {\n datetimes = dates.map(function (date, i) {\n return assignTime(date, defaultValues[i]);\n });\n\n if (datetimes.some(this.disabledTime)) {\n this.currentValue = datetimes;\n return;\n }\n }\n\n this.emitDate(datetimes, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarRange.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(TimeRange.props)), {\n value: this.currentValue,\n showTimeHeader: true\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarRange, helper([{}, calendarProps])), this.timeVisible && h(TimeRange, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar componentMap = {\n default: CalendarPanel,\n time: __vue_component__$a,\n datetime: DatetimePanel\n};\nvar componentRangeMap = {\n default: CalendarRange,\n time: TimeRange,\n datetime: DatetimeRange\n};\nvar DatePicker = {\n name: 'DatePicker',\n provide: function provide() {\n var _this = this;\n\n return {\n // make locale reactive\n getLocale: function getLocale() {\n return _this.locale;\n },\n getWeek: this.getWeek,\n prefixClass: this.prefixClass,\n dispatchDatePicker: this.$emit.bind(this)\n };\n },\n props: _objectSpread2({}, DatetimePanel.props, {\n value: {},\n valueType: {\n type: String,\n default: 'date' // date, format, timestamp, or token like 'YYYY-MM-DD'\n\n },\n type: {\n type: String,\n // ['date', 'datetime', 'time', 'year', 'month', 'week']\n default: 'date'\n },\n format: {\n type: String\n },\n formatter: {\n type: Object\n },\n range: {\n type: Boolean,\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n rangeSeparator: {\n type: String\n },\n lang: {\n type: [String, Object]\n },\n placeholder: {\n type: String,\n default: ''\n },\n editable: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n clearable: {\n type: Boolean,\n default: true\n },\n prefixClass: {\n type: String,\n default: 'mx'\n },\n inputClass: {},\n inputAttr: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n appendToBody: {\n type: Boolean,\n default: true\n },\n open: {\n type: Boolean,\n default: undefined\n },\n popupClass: {},\n popupStyle: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n inline: {\n type: Boolean,\n default: false\n },\n confirm: {\n type: Boolean,\n default: false\n },\n confirmText: {\n type: String,\n default: 'OK'\n },\n renderInputText: {\n type: Function\n },\n shortcuts: {\n type: Array,\n validator: function validator(value) {\n return Array.isArray(value) && value.every(function (v) {\n return isObject(v) && typeof v.text === 'string' && typeof v.onClick === 'function';\n });\n },\n default: function _default() {\n return [];\n }\n }\n }),\n data: function data() {\n return {\n // cache the innervalue, wait to confirm\n currentValue: null,\n userInput: null,\n defaultOpen: false\n };\n },\n computed: {\n popupVisible: function popupVisible() {\n return !this.disabled && (typeof this.open === 'boolean' ? this.open : this.defaultOpen);\n },\n innerRangeSeparator: function innerRangeSeparator() {\n return this.rangeSeparator || (this.multiple ? ',' : ' ~ ');\n },\n innerFormat: function innerFormat() {\n var map = {\n date: 'YYYY-MM-DD',\n datetime: 'YYYY-MM-DD HH:mm:ss',\n year: 'YYYY',\n month: 'YYYY-MM',\n time: 'HH:mm:ss',\n week: 'w'\n };\n return this.format || map[this.type] || map.date;\n },\n innerValue: function innerValue() {\n var value = this.value;\n\n if (this.validMultipleType) {\n value = Array.isArray(value) ? value : [];\n return value.map(this.value2date);\n }\n\n if (this.range) {\n value = Array.isArray(value) ? value.slice(0, 2) : [null, null];\n return value.map(this.value2date);\n }\n\n return this.value2date(value);\n },\n text: function text() {\n var _this2 = this;\n\n if (this.userInput !== null) {\n return this.userInput;\n }\n\n if (typeof this.renderInputText === 'function') {\n return this.renderInputText(this.innerValue);\n }\n\n if (!this.isValidValue(this.innerValue)) {\n return '';\n }\n\n if (Array.isArray(this.innerValue)) {\n return this.innerValue.map(function (v) {\n return _this2.formatDate(v);\n }).join(this.innerRangeSeparator);\n }\n\n return this.formatDate(this.innerValue);\n },\n showClearIcon: function showClearIcon() {\n return !this.disabled && this.clearable && this.text;\n },\n locale: function locale() {\n if (isObject(this.lang)) {\n return mergeDeep(getLocale(), this.lang);\n }\n\n return getLocale(this.lang);\n },\n validMultipleType: function validMultipleType() {\n var types = ['date', 'month', 'year'];\n return this.multiple && !this.range && types.indexOf(this.type) !== -1;\n }\n },\n watch: {\n innerValue: {\n immediate: true,\n handler: function handler(val) {\n this.currentValue = val;\n }\n }\n },\n created: function created() {\n if (_typeof(this.format) === 'object') {\n console.warn(\"[vue2-datepicker]: The prop `format` don't support Object any more. You can use the new prop `formatter` to replace it\");\n }\n },\n methods: {\n handleClickOutSide: function handleClickOutSide(evt) {\n var target = evt.target;\n\n if (!this.$el.contains(target)) {\n this.closePopup();\n }\n },\n getFormatter: function getFormatter(key) {\n return isObject(this.formatter) && this.formatter[key] || isObject(this.format) && this.format[key];\n },\n getWeek: function getWeek$1(date, options) {\n if (typeof this.getFormatter('getWeek') === 'function') {\n return this.getFormatter('getWeek')(date, options);\n }\n\n return getWeek(date, options);\n },\n parseDate: function parseDate(value, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('parse') === 'function') {\n return this.getFormatter('parse')(value, fmt);\n }\n\n var backupDate = new Date();\n return parse(value, fmt, {\n locale: this.locale.formatLocale,\n backupDate: backupDate\n });\n },\n formatDate: function formatDate(date, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('stringify') === 'function') {\n return this.getFormatter('stringify')(date, fmt);\n }\n\n return format(date, fmt, {\n locale: this.locale.formatLocale\n });\n },\n // transform the outer value to inner date\n value2date: function value2date(value) {\n switch (this.valueType) {\n case 'date':\n return value instanceof Date ? new Date(value.getTime()) : new Date(NaN);\n\n case 'timestamp':\n return typeof value === 'number' ? new Date(value) : new Date(NaN);\n\n case 'format':\n return typeof value === 'string' ? this.parseDate(value) : new Date(NaN);\n\n default:\n return typeof value === 'string' ? this.parseDate(value, this.valueType) : new Date(NaN);\n }\n },\n // transform the inner date to outer value\n date2value: function date2value(date) {\n if (!isValidDate(date)) return null;\n\n switch (this.valueType) {\n case 'date':\n return date;\n\n case 'timestamp':\n return date.getTime();\n\n case 'format':\n return this.formatDate(date);\n\n default:\n return this.formatDate(date, this.valueType);\n }\n },\n emitValue: function emitValue(date, type) {\n // fix IE11/10 trigger input event when input is focused. (placeholder !== '')\n this.userInput = null;\n var value = Array.isArray(date) ? date.map(this.date2value) : this.date2value(date);\n this.$emit('input', value);\n this.$emit('change', value, type);\n this.afterEmitValue(type);\n return value;\n },\n afterEmitValue: function afterEmitValue(type) {\n // this.type === 'datetime', click the time should close popup\n if (!type || type === this.type || type === 'time') {\n this.closePopup();\n }\n },\n isValidValue: function isValidValue(value) {\n if (this.validMultipleType) {\n return isValidDates(value);\n }\n\n if (this.range) {\n return isValidRangeDate(value);\n }\n\n return isValidDate(value);\n },\n isValidValueAndNotDisabled: function isValidValueAndNotDisabled(value) {\n if (!this.isValidValue(value)) {\n return false;\n }\n\n var disabledDate = typeof this.disabledDate === 'function' ? this.disabledDate : function () {\n return false;\n };\n var disabledTime = typeof this.disabledTime === 'function' ? this.disabledTime : function () {\n return false;\n };\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n return value.every(function (v) {\n return !disabledDate(v) && !disabledTime(v);\n });\n },\n handleMultipleDates: function handleMultipleDates(date, dates) {\n if (this.validMultipleType && dates) {\n var nextDates = dates.filter(function (v) {\n return v.getTime() !== date.getTime();\n });\n\n if (nextDates.length === dates.length) {\n nextDates.push(date);\n }\n\n return nextDates;\n }\n\n return date;\n },\n handleSelectDate: function handleSelectDate(val, type, dates) {\n val = this.handleMultipleDates(val, dates);\n\n if (this.confirm) {\n this.currentValue = val;\n } else {\n this.emitValue(val, this.validMultipleType ? \"multiple-\".concat(type) : type);\n }\n },\n clear: function clear() {\n this.emitValue(this.range ? [null, null] : null);\n this.$emit('clear');\n },\n handleClear: function handleClear(evt) {\n evt.stopPropagation();\n this.clear();\n },\n handleConfirmDate: function handleConfirmDate() {\n var value = this.emitValue(this.currentValue);\n this.$emit('confirm', value);\n },\n handleSelectShortcut: function handleSelectShortcut(evt) {\n var index = evt.currentTarget.getAttribute('data-index');\n var item = this.shortcuts[parseInt(index, 10)];\n\n if (isObject(item) && typeof item.onClick === 'function') {\n var date = item.onClick(this);\n\n if (date) {\n this.emitValue(date);\n }\n }\n },\n openPopup: function openPopup(evt) {\n if (this.popupVisible) return;\n this.defaultOpen = true;\n this.$emit('open', evt);\n this.$emit('update:open', true);\n },\n closePopup: function closePopup() {\n if (!this.popupVisible) return;\n this.defaultOpen = false;\n this.$emit('close');\n this.$emit('update:open', false);\n },\n blur: function blur() {\n // when use slot input\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n },\n focus: function focus() {\n if (this.$refs.input) {\n this.$refs.input.focus();\n }\n },\n handleInputChange: function handleInputChange() {\n var _this3 = this;\n\n if (!this.editable || this.userInput === null) return;\n var text = this.userInput.trim();\n this.userInput = null;\n\n if (text === '') {\n this.clear();\n return;\n }\n\n var date;\n\n if (this.validMultipleType) {\n date = text.split(this.innerRangeSeparator).map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else if (this.range) {\n var arr = text.split(this.innerRangeSeparator);\n\n if (arr.length !== 2) {\n // Maybe the separator during the day is the same as the separator for the date\n // eg: 2019-10-09-2020-01-02\n arr = text.split(this.innerRangeSeparator.trim());\n }\n\n date = arr.map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else {\n date = this.parseDate(text);\n }\n\n if (this.isValidValueAndNotDisabled(date)) {\n this.emitValue(date);\n this.blur();\n } else {\n this.$emit('input-error', text);\n }\n },\n handleInputInput: function handleInputInput(evt) {\n // slot input v-model\n this.userInput = typeof evt === 'string' ? evt : evt.target.value;\n },\n handleInputKeydown: function handleInputKeydown(evt) {\n var keyCode = evt.keyCode; // Tab 9 or Enter 13\n\n if (keyCode === 9) {\n this.closePopup();\n } else if (keyCode === 13) {\n this.handleInputChange();\n }\n },\n handleInputBlur: function handleInputBlur(evt) {\n // tab close\n this.$emit('blur', evt);\n },\n handleInputFocus: function handleInputFocus(evt) {\n this.openPopup(evt);\n this.$emit('focus', evt);\n },\n hasSlot: function hasSlot(name) {\n return !!(this.$slots[name] || this.$scopedSlots[name]);\n },\n renderSlot: function renderSlot(name, fallback, props) {\n var slotFn = this.$scopedSlots[name];\n\n if (slotFn) {\n return slotFn(props) || fallback;\n }\n\n return this.$slots[name] || fallback;\n },\n renderInput: function renderInput() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n\n var props = _objectSpread2({\n name: 'date',\n type: 'text',\n autocomplete: 'off',\n value: this.text,\n class: this.inputClass || \"\".concat(this.prefixClass, \"-input\"),\n readonly: !this.editable,\n disabled: this.disabled,\n placeholder: this.placeholder\n }, this.inputAttr);\n\n var value = props.value,\n className = props.class,\n attrs = _objectWithoutProperties(props, [\"value\", \"class\"]);\n\n var events = {\n keydown: this.handleInputKeydown,\n focus: this.handleInputFocus,\n blur: this.handleInputBlur,\n input: this.handleInputInput,\n change: this.handleInputChange\n };\n var input = this.renderSlot('input', h(\"input\", {\n \"domProps\": {\n \"value\": value\n },\n \"class\": className,\n \"attrs\": _objectSpread2({}, attrs),\n \"on\": _objectSpread2({}, events),\n \"ref\": \"input\"\n }), {\n props: props,\n events: events\n });\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-input-wrapper\"),\n \"on\": {\n \"mousedown\": this.openPopup\n }\n }, [input, this.showClearIcon ? h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-clear\"),\n \"on\": {\n \"mousedown\": this.handleClear\n }\n }, [this.renderSlot('icon-clear', h(__vue_component__$2))]) : null, h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-calendar\")\n }, [this.renderSlot('icon-calendar', h(__vue_component__$1))])]);\n },\n renderContent: function renderContent() {\n var h = this.$createElement;\n var map = this.range ? componentRangeMap : componentMap;\n var Component = map[this.type] || map.default;\n\n var props = _objectSpread2({}, pick(this.$props, Object.keys(Component.props)), {\n value: this.currentValue\n });\n\n var on = _objectSpread2({}, pick(this.$listeners, Component.emits || []), {\n select: this.handleSelectDate\n });\n\n var content = h(Component, helper([{}, {\n props: props,\n on: on,\n ref: 'picker'\n }]));\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-body\")\n }, [this.renderSlot('content', content, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderSidebar: function renderSidebar() {\n var _this4 = this;\n\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-sidebar\")\n }, [this.renderSlot('sidebar', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.shortcuts.map(function (v, i) {\n return h(\"button\", {\n \"key\": i,\n \"attrs\": {\n \"data-index\": i,\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-btn-text \").concat(prefixClass, \"-btn-shortcut\"),\n \"on\": {\n \"click\": _this4.handleSelectShortcut\n }\n }, [v.text]);\n })]);\n },\n renderHeader: function renderHeader() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-header\")\n }, [this.renderSlot('header', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderFooter: function renderFooter() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-footer\")\n }, [this.renderSlot('footer', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.confirm ? h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-datepicker-btn-confirm\"),\n \"on\": {\n \"click\": this.handleConfirmDate\n }\n }, [this.confirmText]) : null]);\n }\n },\n render: function render() {\n var _class;\n\n var h = arguments[0];\n var prefixClass = this.prefixClass,\n inline = this.inline,\n disabled = this.disabled;\n var sidedar = this.hasSlot('sidebar') || this.shortcuts.length ? this.renderSidebar() : null;\n var content = h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-content\")\n }, [this.hasSlot('header') ? this.renderHeader() : null, this.renderContent(), this.hasSlot('footer') || this.confirm ? this.renderFooter() : null]);\n return h(\"div\", {\n \"class\": (_class = {}, _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker\"), true), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-range\"), this.range), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-inline\"), inline), _defineProperty(_class, \"disabled\", disabled), _class)\n }, [!inline ? this.renderInput() : null, !inline ? h(__vue_component__, {\n \"ref\": \"popup\",\n \"class\": this.popupClass,\n \"style\": this.popupStyle,\n \"attrs\": {\n \"visible\": this.popupVisible,\n \"appendToBody\": this.appendToBody\n },\n \"on\": {\n \"clickoutside\": this.handleClickOutSide\n }\n }, [sidedar, content]) : h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-main\")\n }, [sidedar, content])]);\n }\n};\n\nDatePicker.locale = locale;\n\nDatePicker.install = function install(Vue) {\n Vue.component(DatePicker.name, DatePicker);\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n DatePicker.install(window.Vue);\n}\n\n_extends(DatePicker, {\n CalendarPanel: CalendarPanel,\n CalendarRange: CalendarRange,\n TimePanel: __vue_component__$a,\n TimeRange: TimeRange,\n DatetimePanel: DatetimePanel,\n DatetimeRange: DatetimeRange\n});\n\nexport default DatePicker;\n","function validate(binding) {\n if (typeof binding.value !== 'function') {\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\n return false\n }\n\n return true\n}\n\nfunction isPopup(popupItem, elements) {\n if (!popupItem || !elements)\n return false\n\n for (var i = 0, len = elements.length; i < len; i++) {\n try {\n if (popupItem.contains(elements[i])) {\n return true\n }\n if (elements[i].contains(popupItem)) {\n return false\n }\n } catch(e) {\n return false\n }\n }\n\n return false\n}\n\nfunction isServer(vNode) {\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\n}\n\nexports = module.exports = {\n bind: function (el, binding, vNode) {\n if (!validate(binding)) return\n\n // Define Handler and cache it on the element\n function handler(e) {\n if (!vNode.context) return\n\n // some components may have related popup item, on which we shall prevent the click outside event handler.\n var elements = e.path || (e.composedPath && e.composedPath())\n elements && elements.length > 0 && elements.unshift(e.target)\n\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\n\n el.__vueClickOutside__.callback(e)\n }\n\n // add Event Listeners\n el.__vueClickOutside__ = {\n handler: handler,\n callback: binding.value\n }\n const clickHandler = 'ontouchstart' in document.documentElement ? 'touchstart' : 'click';\n !isServer(vNode) && document.addEventListener(clickHandler, handler)\n },\n\n update: function (el, binding) {\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\n },\n\n unbind: function (el, binding, vNode) {\n // Remove Event Listeners\n const clickHandler = 'ontouchstart' in document.documentElement ? 'touchstart' : 'click';\n !isServer(vNode) && el.__vueClickOutside__ && document.removeEventListener(clickHandler, el.__vueClickOutside__.handler)\n delete el.__vueClickOutside__\n }\n}\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Components/AppNavigationCaption\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Components/AppNavigationCaption\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"Components/AppNavigationCaption\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/components/AppNavigationCaption/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'AppNavigationCaption',\n props: {\n title: {\n type: String,\n required: true\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.app-navigation-caption[data-v-6ee65822] {\\n font-weight: bold;\\n color: var(--color-text-maxcontrast);\\n line-height: 44px;\\n padding-left: 44px;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n opacity: 0.7;\\n box-shadow: none !important;\\n order: 1;\\n flex-shrink: 0;\\n}\\n.app-navigation-caption[data-v-6ee65822]:not(:first-child) {\\n margin-top: 22px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppNavigationCaption.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAAF;EACC,iBAAiB;EACjB,oCAAoC;EACpC,iBCCoB;EDApB,kBCAoB;EDCpB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,YAAY;EACZ,2BAA2B;EAC3B,QAAQ;EACR,cAAc;AAAA;AAIf;EACC,gBAA+B;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-caption {\\n\\tfont-weight: bold;\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tline-height: $clickable-area;\\n\\tpadding-left: $clickable-area;\\n\\twhite-space: nowrap;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\topacity: 0.7;\\n\\tbox-shadow: none !important;\\n\\torder: 1;\\n\\tflex-shrink: 0;\\n}\\n\\n// extra top space if it's not the first item on the list\\n.app-navigation-caption:not(:first-child) {\\n\\tmargin-top: $clickable-area / 2;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/api.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/api.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/cssWithMappingToString.js ***!\n \\************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_style_index_0_id_6ee65822_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_style_index_0_id_6ee65822_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_style_index_0_id_6ee65822_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!\n \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : undefined;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true&\":\n/*!***********************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true& ***!\n \\***********************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", { staticClass: \"app-navigation-caption\" }, [\n _vm._v(\"\\n\\t\" + _vm._s(_vm.title) + \"\\n\")\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue\":\n/*!**********************************************************************!*\\\n !*** ./src/components/AppNavigationCaption/AppNavigationCaption.vue ***!\n \\**********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationCaption_vue_vue_type_template_id_6ee65822_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true& */ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true&\");\n/* harmony import */ var _AppNavigationCaption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppNavigationCaption.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppNavigationCaption_vue_vue_type_style_index_0_id_6ee65822_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true& */ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppNavigationCaption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppNavigationCaption_vue_vue_type_template_id_6ee65822_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppNavigationCaption_vue_vue_type_template_id_6ee65822_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"6ee65822\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigationCaption/AppNavigationCaption.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=script&lang=js&\":\n/*!***********************************************************************************************!*\\\n !*** ./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=script&lang=js& ***!\n \\***********************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationCaption.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true&\":\n/*!********************************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true& ***!\n \\********************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_style_index_0_id_6ee65822_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=style&index=0&id=6ee65822&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true&\":\n/*!*****************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true& ***!\n \\*****************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_template_id_6ee65822_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationCaption/AppNavigationCaption.vue?vue&type=template&id=6ee65822&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_template_id_6ee65822_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationCaption_vue_vue_type_template_id_6ee65822_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationCaption/index.js\":\n/*!******************************************************!*\\\n !*** ./src/components/AppNavigationCaption/index.js ***!\n \\******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationCaption__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationCaption */ \"./src/components/AppNavigationCaption/AppNavigationCaption.vue\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppNavigationCaption__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkNhcHRpb24vQXBwTmF2aWdhdGlvbkNhcHRpb24udnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/OWJlOCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25DYXB0aW9uL0FwcE5hdmlnYXRpb25DYXB0aW9uLnZ1ZT85ZGFmIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25DYXB0aW9uL0FwcE5hdmlnYXRpb25DYXB0aW9uLnZ1ZT83MGI4Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25DYXB0aW9uL0FwcE5hdmlnYXRpb25DYXB0aW9uLnZ1ZT82MWFlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/MzFmNyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbkNhcHRpb24vQXBwTmF2aWdhdGlvbkNhcHRpb24udnVlPzgxNjAiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25DYXB0aW9uL2luZGV4LmpzIl0sIm5hbWVzIjpbIkFwcE5hdmlnYXRpb25DYXB0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1EO0FBQ25ELENBQUM7QUFDRCxPO1FDVkE7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7OztRQUdBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSwwQ0FBMEMsZ0NBQWdDO1FBQzFFO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0Esd0RBQXdELGtCQUFrQjtRQUMxRTtRQUNBLGlEQUFpRCxjQUFjO1FBQy9EOztRQUVBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQSx5Q0FB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Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDakdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBK0c7QUFDdkM7QUFDTDtBQUNzQzs7O0FBR3pHO0FBQzZGO0FBQzdGLGdCQUFnQiwyR0FBVTtBQUMxQixFQUFFLDBGQUFNO0FBQ1IsRUFBRSwyR0FBTTtBQUNSLEVBQUUsb0hBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxJQUFJLEtBQVUsRUFBRSxZQWlCZjtBQUNEO0FBQ2UsZ0Y7Ozs7Ozs7Ozs7OztBQ3ZDZjtBQUFBO0FBQUEsd0NBQTBMLENBQWdCLHdQQUFHLEVBQUMsQzs7Ozs7Ozs7Ozs7O0FDQTlNO0FBQUE7QUFBQSx3Qzs7Ozs7Ozs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBRWVBLDRIQUFmLEUiLCJmaWxlIjoiQ29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFwiQ29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uQ2FwdGlvblwiLCBbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJDb21wb25lbnRzL0FwcE5hdmlnYXRpb25DYXB0aW9uXCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcIk5leHRjbG91ZFZ1ZVwiXSA9IHJvb3RbXCJOZXh0Y2xvdWRWdWVcIl0gfHwge30sIHJvb3RbXCJOZXh0Y2xvdWRWdWVcIl1bXCJDb21wb25lbnRzL0FwcE5hdmlnYXRpb25DYXB0aW9uXCJdID0gZmFjdG9yeSgpO1xufSkod2luZG93LCBmdW5jdGlvbigpIHtcbnJldHVybiAiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIi9kaXN0L1wiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gXCIuL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25DYXB0aW9uL2luZGV4LmpzXCIpO1xuIiwiPHRlbXBsYXRlPlxuXHQ8bGkgY2xhc3M9XCJhcHAtbmF2aWdhdGlvbi1jYXB0aW9uXCI+XG5cdFx0e3sgdGl0bGUgfX1cblx0PC9saT5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ0FwcE5hdmlnYXRpb25DYXB0aW9uJyxcblx0cHJvcHM6IHtcblx0XHR0aXRsZToge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblx0fSxcbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4uYXBwLW5hdmlnYXRpb24tY2FwdGlvbiB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tYXhjb250cmFzdCk7XG5cdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XG5cdHBhZGRpbmctbGVmdDogJGNsaWNrYWJsZS1hcmVhO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0b3BhY2l0eTogMC43O1xuXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdG9yZGVyOiAxO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLy8gZXh0cmEgdG9wIHNwYWNlIGlmIGl0J3Mgbm90IHRoZSBmaXJzdCBpdGVtIG9uIHRoZSBsaXN0XG4uYXBwLW5hdmlnYXRpb24tY2FwdGlvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdG1hcmdpbi10b3A6ICRjbGlja2FibGUtYXJlYSAvIDI7XG59XG48L3N0eWxlPlxuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbi5hcHAtbmF2aWdhdGlvbi1jYXB0aW9uW2RhdGEtdi02ZWU2NTgyMl0ge1xcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tYXhjb250cmFzdCk7XFxuICBsaW5lLWhlaWdodDogNDRweDtcXG4gIHBhZGRpbmctbGVmdDogNDRweDtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuICBvcGFjaXR5OiAwLjc7XFxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XFxuICBvcmRlcjogMTtcXG4gIGZsZXgtc2hyaW5rOiAwO1xcbn1cXG4uYXBwLW5hdmlnYXRpb24tY2FwdGlvbltkYXRhLXYtNmVlNjU4MjJdOm5vdCg6Zmlyc3QtY2hpbGQpIHtcXG4gIG1hcmdpbi10b3A6IDIycHg7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL0FwcE5hdmlnYXRpb25DYXB0aW9uLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUFBRjtFQUNDLGlCQUFpQjtFQUNqQixvQ0FBb0M7RUFDcEMsaUJDQ29CO0VEQXBCLGtCQ0FvQjtFRENwQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixZQUFZO0VBQ1osMkJBQTJCO0VBQzNCLFFBQVE7RUFDUixjQUFjO0FBQUE7QUFJZjtFQUNDLGdCQUErQjtBQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIiRzY29wZV92ZXJzaW9uOlxcXCI4NGM0NjFmXFxcIjsgQGltcG9ydCAndmFyaWFibGVzJztcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG4uYXBwLW5hdmlnYXRpb24tY2FwdGlvbiB7XFxuXFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XFxuXFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtbWF4Y29udHJhc3QpO1xcblxcdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0cGFkZGluZy1sZWZ0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHRvdmVyZmxvdzogaGlkZGVuO1xcblxcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcblxcdG9wYWNpdHk6IDAuNztcXG5cXHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XFxuXFx0b3JkZXI6IDE7XFxuXFx0ZmxleC1zaHJpbms6IDA7XFxufVxcblxcbi8vIGV4dHJhIHRvcCBzcGFjZSBpZiBpdCdzIG5vdCB0aGUgZmlyc3QgaXRlbSBvbiB0aGUgbGlzdFxcbi5hcHAtbmF2aWdhdGlvbi1jYXB0aW9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcXG5cXHRtYXJnaW4tdG9wOiAkY2xpY2thYmxlLWFyZWEgLyAyO1xcbn1cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIlwidXNlIHN0cmljdFwiO1xuXG4vKlxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuICBBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuLy8gY3NzIGJhc2UgY29kZSwgaW5qZWN0ZWQgYnkgdGhlIGNzcy1sb2FkZXJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jLW5hbWVzXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKSB7XG4gIHZhciBsaXN0ID0gW107IC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblxuICBsaXN0LnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICB2YXIgY29udGVudCA9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSk7XG5cbiAgICAgIGlmIChpdGVtWzJdKSB7XG4gICAgICAgIHJldHVybiBcIkBtZWRpYSBcIi5jb25jYXQoaXRlbVsyXSwgXCIge1wiKS5jb25jYXQoY29udGVudCwgXCJ9XCIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9KS5qb2luKFwiXCIpO1xuICB9OyAvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xuXG5cbiAgbGlzdC5pID0gZnVuY3Rpb24gKG1vZHVsZXMsIG1lZGlhUXVlcnksIGRlZHVwZSkge1xuICAgIGlmICh0eXBlb2YgbW9kdWxlcyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICBtb2R1bGVzID0gW1tudWxsLCBtb2R1bGVzLCBcIlwiXV07XG4gICAgfVxuXG4gICAgdmFyIGFscmVhZHlJbXBvcnRlZE1vZHVsZXMgPSB7fTtcblxuICAgIGlmIChkZWR1cGUpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcbiAgICAgICAgdmFyIGlkID0gdGhpc1tpXVswXTtcblxuICAgICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICAgIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBtb2R1bGVzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIGl0ZW0gPSBbXS5jb25jYXQobW9kdWxlc1tfaV0pO1xuXG4gICAgICBpZiAoZGVkdXBlICYmIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRpbnVlXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobWVkaWFRdWVyeSkge1xuICAgICAgICBpZiAoIWl0ZW1bMl0pIHtcbiAgICAgICAgICBpdGVtWzJdID0gbWVkaWFRdWVyeTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtWzJdID0gXCJcIi5jb25jYXQobWVkaWFRdWVyeSwgXCIgYW5kIFwiKS5jb25jYXQoaXRlbVsyXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGlzdC5wdXNoKGl0ZW0pO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gbGlzdDtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF9zbGljZWRUb0FycmF5KGFyciwgaSkgeyByZXR1cm4gX2FycmF5V2l0aEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkgfHwgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFyciwgaSkgfHwgX25vbkl0ZXJhYmxlUmVzdCgpOyB9XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVJlc3QoKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7IH1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikgeyBpZiAoIW8pIHJldHVybjsgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTsgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpOyBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lOyBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTsgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pOyB9XG5cbmZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7IGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoOyBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHsgYXJyMltpXSA9IGFycltpXTsgfSByZXR1cm4gYXJyMjsgfVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcInVuZGVmaW5lZFwiIHx8ICEoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChhcnIpKSkgcmV0dXJuOyB2YXIgX2FyciA9IFtdOyB2YXIgX24gPSB0cnVlOyB2YXIgX2QgPSBmYWxzZTsgdmFyIF9lID0gdW5kZWZpbmVkOyB0cnkgeyBmb3IgKHZhciBfaSA9IGFycltTeW1ib2wuaXRlcmF0b3JdKCksIF9zOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7IF9hcnIucHVzaChfcy52YWx1ZSk7IGlmIChpICYmIF9hcnIubGVuZ3RoID09PSBpKSBicmVhazsgfSB9IGNhdGNoIChlcnIpIHsgX2QgPSB0cnVlOyBfZSA9IGVycjsgfSBmaW5hbGx5IHsgdHJ5IHsgaWYgKCFfbiAmJiBfaVtcInJldHVyblwiXSAhPSBudWxsKSBfaVtcInJldHVyblwiXSgpOyB9IGZpbmFsbHkgeyBpZiAoX2QpIHRocm93IF9lOyB9IH0gcmV0dXJuIF9hcnI7IH1cblxuZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKGFycikgeyBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyOyB9XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtKSB7XG4gIHZhciBfaXRlbSA9IF9zbGljZWRUb0FycmF5KGl0ZW0sIDQpLFxuICAgICAgY29udGVudCA9IF9pdGVtWzFdLFxuICAgICAgY3NzTWFwcGluZyA9IF9pdGVtWzNdO1xuXG4gIGlmICh0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gICAgdmFyIGJhc2U2NCA9IGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGNzc01hcHBpbmcpKSkpO1xuICAgIHZhciBkYXRhID0gXCJzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxcIi5jb25jYXQoYmFzZTY0KTtcbiAgICB2YXIgc291cmNlTWFwcGluZyA9IFwiLyojIFwiLmNvbmNhdChkYXRhLCBcIiAqL1wiKTtcbiAgICB2YXIgc291cmNlVVJMcyA9IGNzc01hcHBpbmcuc291cmNlcy5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuICAgICAgcmV0dXJuIFwiLyojIHNvdXJjZVVSTD1cIi5jb25jYXQoY3NzTWFwcGluZy5zb3VyY2VSb290IHx8IFwiXCIpLmNvbmNhdChzb3VyY2UsIFwiICovXCIpO1xuICAgIH0pO1xuICAgIHJldHVybiBbY29udGVudF0uY29uY2F0KHNvdXJjZVVSTHMpLmNvbmNhdChbc291cmNlTWFwcGluZ10pLmpvaW4oXCJcXG5cIik7XG4gIH1cblxuICByZXR1cm4gW2NvbnRlbnRdLmpvaW4oXCJcXG5cIik7XG59OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02ZWU2NTgyMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0IGRlZmF1bHQgY29udGVudC5sb2NhbHMgfHwge307IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBpc09sZElFID0gZnVuY3Rpb24gaXNPbGRJRSgpIHtcbiAgdmFyIG1lbW87XG4gIHJldHVybiBmdW5jdGlvbiBtZW1vcml6ZSgpIHtcbiAgICBpZiAodHlwZW9mIG1lbW8gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAvLyBUZXN0IGZvciBJRSA8PSA5IGFzIHByb3Bvc2VkIGJ5IEJyb3dzZXJoYWNrc1xuICAgICAgLy8gQHNlZSBodHRwOi8vYnJvd3NlcmhhY2tzLmNvbS8jaGFjay1lNzFkODY5MmY2NTMzNDE3M2ZlZTcxNWMyMjJjYjgwNVxuICAgICAgLy8gVGVzdHMgZm9yIGV4aXN0ZW5jZSBvZiBzdGFuZGFyZCBnbG9iYWxzIGlzIHRvIGFsbG93IHN0eWxlLWxvYWRlclxuICAgICAgLy8gdG8gb3BlcmF0ZSBjb3JyZWN0bHkgaW50byBub24tc3RhbmRhcmQgZW52aXJvbm1lbnRzXG4gICAgICAvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvc3R5bGUtbG9hZGVyL2lzc3Vlcy8xNzdcbiAgICAgIG1lbW8gPSBCb29sZWFuKHdpbmRvdyAmJiBkb2N1bWVudCAmJiBkb2N1bWVudC5hbGwgJiYgIXdpbmRvdy5hdG9iKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVtbztcbiAgfTtcbn0oKTtcblxudmFyIGdldFRhcmdldCA9IGZ1bmN0aW9uIGdldFRhcmdldCgpIHtcbiAgdmFyIG1lbW8gPSB7fTtcbiAgcmV0dXJuIGZ1bmN0aW9uIG1lbW9yaXplKHRhcmdldCkge1xuICAgIGlmICh0eXBlb2YgbWVtb1t0YXJnZXRdID09PSAndW5kZWZpbmVkJykge1xuICAgICAgdmFyIHN0eWxlVGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQpOyAvLyBTcGVjaWFsIGNhc2UgdG8gcmV0dXJuIGhlYWQgb2YgaWZyYW1lIGluc3RlYWQgb2YgaWZyYW1lIGl0c2VsZlxuXG4gICAgICBpZiAod2luZG93LkhUTUxJRnJhbWVFbGVtZW50ICYmIHN0eWxlVGFyZ2V0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxJRnJhbWVFbGVtZW50KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gVGhpcyB3aWxsIHRocm93IGFuIGV4Y2VwdGlvbiBpZiBhY2Nlc3MgdG8gaWZyYW1lIGlzIGJsb2NrZWRcbiAgICAgICAgICAvLyBkdWUgdG8gY3Jvc3Mtb3JpZ2luIHJlc3RyaWN0aW9uc1xuICAgICAgICAgIHN0eWxlVGFyZ2V0ID0gc3R5bGVUYXJnZXQuY29udGVudERvY3VtZW50LmhlYWQ7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgICAgICAgIHN0eWxlVGFyZ2V0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBtZW1vW3RhcmdldF0gPSBzdHlsZVRhcmdldDtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVtb1t0YXJnZXRdO1xuICB9O1xufSgpO1xuXG52YXIgc3R5bGVzSW5Eb20gPSBbXTtcblxuZnVuY3Rpb24gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcikge1xuICB2YXIgcmVzdWx0ID0gLTE7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXNJbkRvbS5sZW5ndGg7IGkrKykge1xuICAgIGlmIChzdHlsZXNJbkRvbVtpXS5pZGVudGlmaWVyID09PSBpZGVudGlmaWVyKSB7XG4gICAgICByZXN1bHQgPSBpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gbW9kdWxlc1RvRG9tKGxpc3QsIG9wdGlvbnMpIHtcbiAgdmFyIGlkQ291bnRNYXAgPSB7fTtcbiAgdmFyIGlkZW50aWZpZXJzID0gW107XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGl0ZW0gPSBsaXN0W2ldO1xuICAgIHZhciBpZCA9IG9wdGlvbnMuYmFzZSA/IGl0ZW1bMF0gKyBvcHRpb25zLmJhc2UgOiBpdGVtWzBdO1xuICAgIHZhciBjb3VudCA9IGlkQ291bnRNYXBbaWRdIHx8IDA7XG4gICAgdmFyIGlkZW50aWZpZXIgPSBcIlwiLmNvbmNhdChpZCwgXCIgXCIpLmNvbmNhdChjb3VudCk7XG4gICAgaWRDb3VudE1hcFtpZF0gPSBjb3VudCArIDE7XG4gICAgdmFyIGluZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcik7XG4gICAgdmFyIG9iaiA9IHtcbiAgICAgIGNzczogaXRlbVsxXSxcbiAgICAgIG1lZGlhOiBpdGVtWzJdLFxuICAgICAgc291cmNlTWFwOiBpdGVtWzNdXG4gICAgfTtcblxuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHN0eWxlc0luRG9tW2luZGV4XS5yZWZlcmVuY2VzKys7XG4gICAgICBzdHlsZXNJbkRvbVtpbmRleF0udXBkYXRlcihvYmopO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdHlsZXNJbkRvbS5wdXNoKHtcbiAgICAgICAgaWRlbnRpZmllcjogaWRlbnRpZmllcixcbiAgICAgICAgdXBkYXRlcjogYWRkU3R5bGUob2JqLCBvcHRpb25zKSxcbiAgICAgICAgcmVmZXJlbmNlczogMVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWRlbnRpZmllcnMucHVzaChpZGVudGlmaWVyKTtcbiAgfVxuXG4gIHJldHVybiBpZGVudGlmaWVycztcbn1cblxuZnVuY3Rpb24gaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpIHtcbiAgdmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgdmFyIGF0dHJpYnV0ZXMgPSBvcHRpb25zLmF0dHJpYnV0ZXMgfHwge307XG5cbiAgaWYgKHR5cGVvZiBhdHRyaWJ1dGVzLm5vbmNlID09PSAndW5kZWZpbmVkJykge1xuICAgIHZhciBub25jZSA9IHR5cGVvZiBfX3dlYnBhY2tfbm9uY2VfXyAhPT0gJ3VuZGVmaW5lZCcgPyBfX3dlYnBhY2tfbm9uY2VfXyA6IG51bGw7XG5cbiAgICBpZiAobm9uY2UpIHtcbiAgICAgIGF0dHJpYnV0ZXMubm9uY2UgPSBub25jZTtcbiAgICB9XG4gIH1cblxuICBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICBzdHlsZS5zZXRBdHRyaWJ1dGUoa2V5LCBhdHRyaWJ1dGVzW2tleV0pO1xuICB9KTtcblxuICBpZiAodHlwZW9mIG9wdGlvbnMuaW5zZXJ0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgb3B0aW9ucy5pbnNlcnQoc3R5bGUpO1xuICB9IGVsc2Uge1xuICAgIHZhciB0YXJnZXQgPSBnZXRUYXJnZXQob3B0aW9ucy5pbnNlcnQgfHwgJ2hlYWQnKTtcblxuICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBmaW5kIGEgc3R5bGUgdGFyZ2V0LiBUaGlzIHByb2JhYmx5IG1lYW5zIHRoYXQgdGhlIHZhbHVlIGZvciB0aGUgJ2luc2VydCcgcGFyYW1ldGVyIGlzIGludmFsaWQuXCIpO1xuICAgIH1cblxuICAgIHRhcmdldC5hcHBlbmRDaGlsZChzdHlsZSk7XG4gIH1cblxuICByZXR1cm4gc3R5bGU7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVN0eWxlRWxlbWVudChzdHlsZSkge1xuICAvLyBpc3RhbmJ1bCBpZ25vcmUgaWZcbiAgaWYgKHN0eWxlLnBhcmVudE5vZGUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzdHlsZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlKTtcbn1cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuXG5cbnZhciByZXBsYWNlVGV4dCA9IGZ1bmN0aW9uIHJlcGxhY2VUZXh0KCkge1xuICB2YXIgdGV4dFN0b3JlID0gW107XG4gIHJldHVybiBmdW5jdGlvbiByZXBsYWNlKGluZGV4LCByZXBsYWNlbWVudCkge1xuICAgIHRleHRTdG9yZVtpbmRleF0gPSByZXBsYWNlbWVudDtcbiAgICByZXR1cm4gdGV4dFN0b3JlLmZpbHRlcihCb29sZWFuKS5qb2luKCdcXG4nKTtcbiAgfTtcbn0oKTtcblxuZnVuY3Rpb24gYXBwbHlUb1NpbmdsZXRvblRhZyhzdHlsZSwgaW5kZXgsIHJlbW92ZSwgb2JqKSB7XG4gIHZhciBjc3MgPSByZW1vdmUgPyAnJyA6IG9iai5tZWRpYSA/IFwiQG1lZGlhIFwiLmNvbmNhdChvYmoubWVkaWEsIFwiIHtcIikuY29uY2F0KG9iai5jc3MsIFwifVwiKSA6IG9iai5jc3M7IC8vIEZvciBvbGQgSUVcblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgICovXG5cbiAgaWYgKHN0eWxlLnN0eWxlU2hlZXQpIHtcbiAgICBzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSByZXBsYWNlVGV4dChpbmRleCwgY3NzKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgY3NzTm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcyk7XG4gICAgdmFyIGNoaWxkTm9kZXMgPSBzdHlsZS5jaGlsZE5vZGVzO1xuXG4gICAgaWYgKGNoaWxkTm9kZXNbaW5kZXhdKSB7XG4gICAgICBzdHlsZS5yZW1vdmVDaGlsZChjaGlsZE5vZGVzW2luZGV4XSk7XG4gICAgfVxuXG4gICAgaWYgKGNoaWxkTm9kZXMubGVuZ3RoKSB7XG4gICAgICBzdHlsZS5pbnNlcnRCZWZvcmUoY3NzTm9kZSwgY2hpbGROb2Rlc1tpbmRleF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdHlsZS5hcHBlbmRDaGlsZChjc3NOb2RlKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYXBwbHlUb1RhZyhzdHlsZSwgb3B0aW9ucywgb2JqKSB7XG4gIHZhciBjc3MgPSBvYmouY3NzO1xuICB2YXIgbWVkaWEgPSBvYmoubWVkaWE7XG4gIHZhciBzb3VyY2VNYXAgPSBvYmouc291cmNlTWFwO1xuXG4gIGlmIChtZWRpYSkge1xuICAgIHN0eWxlLnNldEF0dHJpYnV0ZSgnbWVkaWEnLCBtZWRpYSk7XG4gIH0gZWxzZSB7XG4gICAgc3R5bGUucmVtb3ZlQXR0cmlidXRlKCdtZWRpYScpO1xuICB9XG5cbiAgaWYgKHNvdXJjZU1hcCAmJiB0eXBlb2YgYnRvYSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBjc3MgKz0gXCJcXG4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LFwiLmNvbmNhdChidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpLCBcIiAqL1wiKTtcbiAgfSAvLyBGb3Igb2xkIElFXG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICAqL1xuXG5cbiAgaWYgKHN0eWxlLnN0eWxlU2hlZXQpIHtcbiAgICBzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XG4gIH0gZWxzZSB7XG4gICAgd2hpbGUgKHN0eWxlLmZpcnN0Q2hpbGQpIHtcbiAgICAgIHN0eWxlLnJlbW92ZUNoaWxkKHN0eWxlLmZpcnN0Q2hpbGQpO1xuICAgIH1cblxuICAgIHN0eWxlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpO1xuICB9XG59XG5cbnZhciBzaW5nbGV0b24gPSBudWxsO1xudmFyIHNpbmdsZXRvbkNvdW50ZXIgPSAwO1xuXG5mdW5jdGlvbiBhZGRTdHlsZShvYmosIG9wdGlvbnMpIHtcbiAgdmFyIHN0eWxlO1xuICB2YXIgdXBkYXRlO1xuICB2YXIgcmVtb3ZlO1xuXG4gIGlmIChvcHRpb25zLnNpbmdsZXRvbikge1xuICAgIHZhciBzdHlsZUluZGV4ID0gc2luZ2xldG9uQ291bnRlcisrO1xuICAgIHN0eWxlID0gc2luZ2xldG9uIHx8IChzaW5nbGV0b24gPSBpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucykpO1xuICAgIHVwZGF0ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZSwgc3R5bGVJbmRleCwgZmFsc2UpO1xuICAgIHJlbW92ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZSwgc3R5bGVJbmRleCwgdHJ1ZSk7XG4gIH0gZWxzZSB7XG4gICAgc3R5bGUgPSBpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucyk7XG4gICAgdXBkYXRlID0gYXBwbHlUb1RhZy5iaW5kKG51bGwsIHN0eWxlLCBvcHRpb25zKTtcblxuICAgIHJlbW92ZSA9IGZ1bmN0aW9uIHJlbW92ZSgpIHtcbiAgICAgIHJlbW92ZVN0eWxlRWxlbWVudChzdHlsZSk7XG4gICAgfTtcbiAgfVxuXG4gIHVwZGF0ZShvYmopO1xuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlU3R5bGUobmV3T2JqKSB7XG4gICAgaWYgKG5ld09iaikge1xuICAgICAgaWYgKG5ld09iai5jc3MgPT09IG9iai5jc3MgJiYgbmV3T2JqLm1lZGlhID09PSBvYmoubWVkaWEgJiYgbmV3T2JqLnNvdXJjZU1hcCA9PT0gb2JqLnNvdXJjZU1hcCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZShvYmogPSBuZXdPYmopO1xuICAgIH0gZWxzZSB7XG4gICAgICByZW1vdmUoKTtcbiAgICB9XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGxpc3QsIG9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307IC8vIEZvcmNlIHNpbmdsZS10YWcgc29sdXRpb24gb24gSUU2LTksIHdoaWNoIGhhcyBhIGhhcmQgbGltaXQgb24gdGhlICMgb2YgPHN0eWxlPlxuICAvLyB0YWdzIGl0IHdpbGwgYWxsb3cgb24gYSBwYWdlXG5cbiAgaWYgKCFvcHRpb25zLnNpbmdsZXRvbiAmJiB0eXBlb2Ygb3B0aW9ucy5zaW5nbGV0b24gIT09ICdib29sZWFuJykge1xuICAgIG9wdGlvbnMuc2luZ2xldG9uID0gaXNPbGRJRSgpO1xuICB9XG5cbiAgbGlzdCA9IGxpc3QgfHwgW107XG4gIHZhciBsYXN0SWRlbnRpZmllcnMgPSBtb2R1bGVzVG9Eb20obGlzdCwgb3B0aW9ucyk7XG4gIHJldHVybiBmdW5jdGlvbiB1cGRhdGUobmV3TGlzdCkge1xuICAgIG5ld0xpc3QgPSBuZXdMaXN0IHx8IFtdO1xuXG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXdMaXN0KSAhPT0gJ1tvYmplY3QgQXJyYXldJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaWRlbnRpZmllciA9IGxhc3RJZGVudGlmaWVyc1tpXTtcbiAgICAgIHZhciBpbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuICAgICAgc3R5bGVzSW5Eb21baW5kZXhdLnJlZmVyZW5jZXMtLTtcbiAgICB9XG5cbiAgICB2YXIgbmV3TGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKG5ld0xpc3QsIG9wdGlvbnMpO1xuXG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGxhc3RJZGVudGlmaWVycy5sZW5ndGg7IF9pKyspIHtcbiAgICAgIHZhciBfaWRlbnRpZmllciA9IGxhc3RJZGVudGlmaWVyc1tfaV07XG5cbiAgICAgIHZhciBfaW5kZXggPSBnZXRJbmRleEJ5SWRlbnRpZmllcihfaWRlbnRpZmllcik7XG5cbiAgICAgIGlmIChzdHlsZXNJbkRvbVtfaW5kZXhdLnJlZmVyZW5jZXMgPT09IDApIHtcbiAgICAgICAgc3R5bGVzSW5Eb21bX2luZGV4XS51cGRhdGVyKCk7XG5cbiAgICAgICAgc3R5bGVzSW5Eb20uc3BsaWNlKF9pbmRleCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFzdElkZW50aWZpZXJzID0gbmV3TGFzdElkZW50aWZpZXJzO1xuICB9O1xufTsiLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFwibGlcIiwgeyBzdGF0aWNDbGFzczogXCJhcHAtbmF2aWdhdGlvbi1jYXB0aW9uXCIgfSwgW1xuICAgIF92bS5fdihcIlxcblxcdFwiICsgX3ZtLl9zKF92bS50aXRsZSkgKyBcIlxcblwiKVxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsIi8qIGdsb2JhbHMgX19WVUVfU1NSX0NPTlRFWFRfXyAqL1xuXG4vLyBJTVBPUlRBTlQ6IERvIE5PVCB1c2UgRVMyMDE1IGZlYXR1cmVzIGluIHRoaXMgZmlsZSAoZXhjZXB0IGZvciBtb2R1bGVzKS5cbi8vIFRoaXMgbW9kdWxlIGlzIGEgcnVudGltZSB1dGlsaXR5IGZvciBjbGVhbmVyIGNvbXBvbmVudCBtb2R1bGUgb3V0cHV0IGFuZCB3aWxsXG4vLyBiZSBpbmNsdWRlZCBpbiB0aGUgZmluYWwgd2VicGFjayB1c2VyIGJ1bmRsZS5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbm9ybWFsaXplQ29tcG9uZW50IChcbiAgc2NyaXB0RXhwb3J0cyxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZ1bmN0aW9uYWxUZW1wbGF0ZSxcbiAgaW5qZWN0U3R5bGVzLFxuICBzY29wZUlkLFxuICBtb2R1bGVJZGVudGlmaWVyLCAvKiBzZXJ2ZXIgb25seSAqL1xuICBzaGFkb3dNb2RlIC8qIHZ1ZS1jbGkgb25seSAqL1xuKSB7XG4gIC8vIFZ1ZS5leHRlbmQgY29uc3RydWN0b3IgZXhwb3J0IGludGVyb3BcbiAgdmFyIG9wdGlvbnMgPSB0eXBlb2Ygc2NyaXB0RXhwb3J0cyA9PT0gJ2Z1bmN0aW9uJ1xuICAgID8gc2NyaXB0RXhwb3J0cy5vcHRpb25zXG4gICAgOiBzY3JpcHRFeHBvcnRzXG5cbiAgLy8gcmVuZGVyIGZ1bmN0aW9uc1xuICBpZiAocmVuZGVyKSB7XG4gICAgb3B0aW9ucy5yZW5kZXIgPSByZW5kZXJcbiAgICBvcHRpb25zLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZuc1xuICAgIG9wdGlvbnMuX2NvbXBpbGVkID0gdHJ1ZVxuICB9XG5cbiAgLy8gZnVuY3Rpb25hbCB0ZW1wbGF0ZVxuICBpZiAoZnVuY3Rpb25hbFRlbXBsYXRlKSB7XG4gICAgb3B0aW9ucy5mdW5jdGlvbmFsID0gdHJ1ZVxuICB9XG5cbiAgLy8gc2NvcGVkSWRcbiAgaWYgKHNjb3BlSWQpIHtcbiAgICBvcHRpb25zLl9zY29wZUlkID0gJ2RhdGEtdi0nICsgc2NvcGVJZFxuICB9XG5cbiAgdmFyIGhvb2tcbiAgaWYgKG1vZHVsZUlkZW50aWZpZXIpIHsgLy8gc2VydmVyIGJ1aWxkXG4gICAgaG9vayA9IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICAvLyAyLjMgaW5qZWN0aW9uXG4gICAgICBjb250ZXh0ID1cbiAgICAgICAgY29udGV4dCB8fCAvLyBjYWNoZWQgY2FsbFxuICAgICAgICAodGhpcy4kdm5vZGUgJiYgdGhpcy4kdm5vZGUuc3NyQ29udGV4dCkgfHwgLy8gc3RhdGVmdWxcbiAgICAgICAgKHRoaXMucGFyZW50ICYmIHRoaXMucGFyZW50LiR2bm9kZSAmJiB0aGlzLnBhcmVudC4kdm5vZGUuc3NyQ29udGV4dCkgLy8gZnVuY3Rpb25hbFxuICAgICAgLy8gMi4yIHdpdGggcnVuSW5OZXdDb250ZXh0OiB0cnVlXG4gICAgICBpZiAoIWNvbnRleHQgJiYgdHlwZW9mIF9fVlVFX1NTUl9DT05URVhUX18gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGNvbnRleHQgPSBfX1ZVRV9TU1JfQ09OVEVYVF9fXG4gICAgICB9XG4gICAgICAvLyBpbmplY3QgY29tcG9uZW50IHN0eWxlc1xuICAgICAgaWYgKGluamVjdFN0eWxlcykge1xuICAgICAgICBpbmplY3RTdHlsZXMuY2FsbCh0aGlzLCBjb250ZXh0KVxuICAgICAgfVxuICAgICAgLy8gcmVnaXN0ZXIgY29tcG9uZW50IG1vZHVsZSBpZGVudGlmaWVyIGZvciBhc3luYyBjaHVuayBpbmZlcnJlbmNlXG4gICAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cykge1xuICAgICAgICBjb250ZXh0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cy5hZGQobW9kdWxlSWRlbnRpZmllcilcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdXNlZCBieSBzc3IgaW4gY2FzZSBjb21wb25lbnQgaXMgY2FjaGVkIGFuZCBiZWZvcmVDcmVhdGVcbiAgICAvLyBuZXZlciBnZXRzIGNhbGxlZFxuICAgIG9wdGlvbnMuX3NzclJlZ2lzdGVyID0gaG9va1xuICB9IGVsc2UgaWYgKGluamVjdFN0eWxlcykge1xuICAgIGhvb2sgPSBzaGFkb3dNb2RlXG4gICAgICA/IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaW5qZWN0U3R5bGVzLmNhbGwoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICAob3B0aW9ucy5mdW5jdGlvbmFsID8gdGhpcy5wYXJlbnQgOiB0aGlzKS4kcm9vdC4kb3B0aW9ucy5zaGFkb3dSb290XG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIDogaW5qZWN0U3R5bGVzXG4gIH1cblxuICBpZiAoaG9vaykge1xuICAgIGlmIChvcHRpb25zLmZ1bmN0aW9uYWwpIHtcbiAgICAgIC8vIGZvciB0ZW1wbGF0ZS1vbmx5IGhvdC1yZWxvYWQgYmVjYXVzZSBpbiB0aGF0IGNhc2UgdGhlIHJlbmRlciBmbiBkb2Vzbid0XG4gICAgICAvLyBnbyB0aHJvdWdoIHRoZSBub3JtYWxpemVyXG4gICAgICBvcHRpb25zLl9pbmplY3RTdHlsZXMgPSBob29rXG4gICAgICAvLyByZWdpc3RlciBmb3IgZnVuY3Rpb25hbCBjb21wb25lbnQgaW4gdnVlIGZpbGVcbiAgICAgIHZhciBvcmlnaW5hbFJlbmRlciA9IG9wdGlvbnMucmVuZGVyXG4gICAgICBvcHRpb25zLnJlbmRlciA9IGZ1bmN0aW9uIHJlbmRlcldpdGhTdHlsZUluamVjdGlvbiAoaCwgY29udGV4dCkge1xuICAgICAgICBob29rLmNhbGwoY29udGV4dClcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsUmVuZGVyKGgsIGNvbnRleHQpXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGluamVjdCBjb21wb25lbnQgcmVnaXN0cmF0aW9uIGFzIGJlZm9yZUNyZWF0ZSBob29rXG4gICAgICB2YXIgZXhpc3RpbmcgPSBvcHRpb25zLmJlZm9yZUNyZWF0ZVxuICAgICAgb3B0aW9ucy5iZWZvcmVDcmVhdGUgPSBleGlzdGluZ1xuICAgICAgICA/IFtdLmNvbmNhdChleGlzdGluZywgaG9vaylcbiAgICAgICAgOiBbaG9va11cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGV4cG9ydHM6IHNjcmlwdEV4cG9ydHMsXG4gICAgb3B0aW9uczogb3B0aW9uc1xuICB9XG59XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0FwcE5hdmlnYXRpb25DYXB0aW9uLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02ZWU2NTgyMiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0FwcE5hdmlnYXRpb25DYXB0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02ZWU2NTgyMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjZlZTY1ODIyXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzZlZTY1ODIyJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzZlZTY1ODIyJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzZlZTY1ODIyJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NmVlNjU4MjImc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignNmVlNjU4MjInLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25DYXB0aW9uL0FwcE5hdmlnYXRpb25DYXB0aW9uLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uQ2FwdGlvbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02ZWU2NTgyMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbkNhcHRpb24udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTZlZTY1ODIyJnNjb3BlZD10cnVlJlwiIiwiaW1wb3J0IEFwcE5hdmlnYXRpb25DYXB0aW9uIGZyb20gJy4vQXBwTmF2aWdhdGlvbkNhcHRpb24nXG5cbmV4cG9ydCBkZWZhdWx0IEFwcE5hdmlnYXRpb25DYXB0aW9uXG4iXSwic291cmNlUm9vdCI6IiJ9","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Components/AppNavigationNew\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Components/AppNavigationNew\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"Components/AppNavigationNew\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/components/AppNavigationNew/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n buttonId: {\n type: String,\n required: false,\n default: ''\n },\n buttonClass: {\n type: [String, Array, Object],\n required: false,\n default: ''\n },\n disabled: {\n type: Boolean,\n required: false,\n default: false\n },\n text: {\n type: String,\n required: true\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n/* 'New' button */\\n.app-navigation-new[data-v-cc6353a2] {\\n display: block;\\n padding: 10px;\\n}\\n.app-navigation-new button[data-v-cc6353a2] {\\n display: inline-block;\\n width: 100%;\\n padding: 10px;\\n padding-left: 34px;\\n background-position: 10px center;\\n text-align: left;\\n margin: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppNavigationNew.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAyCF,iBAAA;AACA;EACC,cAAc;EACd,aAAa;AAAA;AAFd;IAIE,qBAAqB;IACrB,WAAW;IACX,aAAa;IACb,kBAAkB;IAClB,gCAAgC;IAChC,gBAAgB;IAChB,SAAS;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* 'New' button */\\n.app-navigation-new {\\n\\tdisplay: block;\\n\\tpadding: 10px;\\n\\tbutton {\\n\\t\\tdisplay: inline-block;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 10px;\\n\\t\\tpadding-left: 34px;\\n\\t\\tbackground-position: 10px center;\\n\\t\\ttext-align: left;\\n\\t\\tmargin: 0;\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/api.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/api.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/cssWithMappingToString.js ***!\n \\************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_style_index_0_id_cc6353a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_style_index_0_id_cc6353a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_style_index_0_id_cc6353a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!\n \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : undefined;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true&\":\n/*!***************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true& ***!\n \\***************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"app-navigation-new\" }, [\n _c(\n \"button\",\n {\n class: _vm.buttonClass,\n attrs: { id: _vm.buttonId, type: \"button\", disabled: _vm.disabled },\n on: {\n click: function($event) {\n return _vm.$emit(\"click\")\n }\n }\n },\n [_vm._v(\"\\n\\t\\t\" + _vm._s(_vm.text) + \"\\n\\t\")]\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNew/AppNavigationNew.vue\":\n/*!**************************************************************!*\\\n !*** ./src/components/AppNavigationNew/AppNavigationNew.vue ***!\n \\**************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationNew_vue_vue_type_template_id_cc6353a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true& */ \"./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true&\");\n/* harmony import */ var _AppNavigationNew_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppNavigationNew.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppNavigationNew_vue_vue_type_style_index_0_id_cc6353a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true& */ \"./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppNavigationNew_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppNavigationNew_vue_vue_type_template_id_cc6353a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppNavigationNew_vue_vue_type_template_id_cc6353a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"cc6353a2\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigationNew/AppNavigationNew.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************!*\\\n !*** ./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationNew.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_style_index_0_id_cc6353a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=style&index=0&id=cc6353a2&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true&\":\n/*!*********************************************************************************************************!*\\\n !*** ./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true& ***!\n \\*********************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_template_id_cc6353a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationNew/AppNavigationNew.vue?vue&type=template&id=cc6353a2&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_template_id_cc6353a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationNew_vue_vue_type_template_id_cc6353a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationNew/index.js\":\n/*!**************************************************!*\\\n !*** ./src/components/AppNavigationNew/index.js ***!\n \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationNew__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationNew */ \"./src/components/AppNavigationNew/AppNavigationNew.vue\");\n/*\n * @copyright 2018 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2018 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppNavigationNew__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbk5ldy9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbk5ldy9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZT82MjgzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbk5ldy9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZT82Y2VjIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25OZXcvQXBwTmF2aWdhdGlvbk5ldy52dWU/ZGI4ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbk5ldy9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbk5ldy9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZT9mZTc4Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uTmV3L0FwcE5hdmlnYXRpb25OZXcudnVlPzI4YWMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25OZXcvQXBwTmF2aWdhdGlvbk5ldy52dWU/MTc2YiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbk5ldy9pbmRleC5qcyJdLCJuYW1lcyI6WyJBcHBOYXZpZ2F0aW9uTmV3Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1EO0FBQ25ELENBQUM7QUFDRCxPO1FDVkE7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7OztRQUdBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSwwQ0FBMEMsZ0NBQWdDO1FBQzFFO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0Esd0RBQXdELGtCQUFrQjtRQUMxRTtRQUNBLGlEQUFpRCxjQUFjO1FBQy9EOztRQUVBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQSx5Q0FBeUMsaUNBQWlDO1FBQzFFLGdIQUFnSCxtQkFBbUIsRUFBRTtRQUNySTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLDJCQUEy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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDakdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMkc7QUFDdkM7QUFDTDtBQUNzQzs7O0FBR3JHO0FBQzZGO0FBQzdGLGdCQUFnQiwyR0FBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSx1R0FBTTtBQUNSLEVBQUUsZ0hBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxJQUFJLEtBQVUsRUFBRSxZQWlCZjtBQUNEO0FBQ2UsZ0Y7Ozs7Ozs7Ozs7OztBQ3ZDZjtBQUFBO0FBQUEsd0NBQXNMLENBQWdCLG9QQUFHLEVBQUMsQzs7Ozs7Ozs7Ozs7O0FDQTFNO0FBQUE7QUFBQSx3Qzs7Ozs7Ozs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVlQSx3SEFBZixFIiwiZmlsZSI6IkNvbXBvbmVudHMvQXBwTmF2aWdhdGlvbk5ldy5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFwiQ29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uTmV3XCIsIFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkNvbXBvbmVudHMvQXBwTmF2aWdhdGlvbk5ld1wiXSA9IGZhY3RvcnkoKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJOZXh0Y2xvdWRWdWVcIl0gPSByb290W1wiTmV4dGNsb3VkVnVlXCJdIHx8IHt9LCByb290W1wiTmV4dGNsb3VkVnVlXCJdW1wiQ29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uTmV3XCJdID0gZmFjdG9yeSgpO1xufSkod2luZG93LCBmdW5jdGlvbigpIHtcbnJldHVybiAiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIi9kaXN0L1wiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gXCIuL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25OZXcvaW5kZXguanNcIik7XG4iLCI8IS0tXG4gLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBDaHJpc3RvcGggV3Vyc3QgPGNocmlzdG9waEB3aW56ZXJob2Ytd3Vyc3QuYXQ+XG4gLVxuIC0gQGF1dGhvciBDaHJpc3RvcGggV3Vyc3QgPGNocmlzdG9waEB3aW56ZXJob2Ytd3Vyc3QuYXQ+XG4gLVxuIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gLVxuIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gLVxuIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gLVxuIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuIC1cbiAtLT5cblxuPHRlbXBsYXRlPlxuXHQ8ZGl2IGNsYXNzPVwiYXBwLW5hdmlnYXRpb24tbmV3XCI+XG5cdFx0PGJ1dHRvbiA6aWQ9XCJidXR0b25JZFwiXG5cdFx0XHQ6Y2xhc3M9XCJidXR0b25DbGFzc1wiXG5cdFx0XHR0eXBlPVwiYnV0dG9uXCJcblx0XHRcdDpkaXNhYmxlZD1cImRpc2FibGVkXCJcblx0XHRcdEBjbGljaz1cIiRlbWl0KCdjbGljaycpXCI+XG5cdFx0XHR7eyB0ZXh0IH19XG5cdFx0PC9idXR0b24+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmV4cG9ydCBkZWZhdWx0IHtcblx0cHJvcHM6IHtcblx0XHRidXR0b25JZDoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0cmVxdWlyZWQ6IGZhbHNlLFxuXHRcdFx0ZGVmYXVsdDogJycsXG5cdFx0fSxcblx0XHRidXR0b25DbGFzczoge1xuXHRcdFx0dHlwZTogW1N0cmluZywgQXJyYXksIE9iamVjdF0sXG5cdFx0XHRyZXF1aXJlZDogZmFsc2UsXG5cdFx0XHRkZWZhdWx0OiAnJyxcblx0XHR9LFxuXHRcdGRpc2FibGVkOiB7XG5cdFx0XHR0eXBlOiBCb29sZWFuLFxuXHRcdFx0cmVxdWlyZWQ6IGZhbHNlLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblx0XHR0ZXh0OiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcsXG5cdFx0XHRyZXF1aXJlZDogdHJ1ZSxcblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG5cbiA8c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4vKiAnTmV3JyBidXR0b24gKi9cbi5hcHAtbmF2aWdhdGlvbi1uZXcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogMTBweDtcblx0YnV0dG9uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDM0cHg7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMTBweCBjZW50ZXI7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRtYXJnaW46IDA7XG5cdH1cbn1cbjwvc3R5bGU+XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuLyogJ05ldycgYnV0dG9uICovXFxuLmFwcC1uYXZpZ2F0aW9uLW5ld1tkYXRhLXYtY2M2MzUzYTJdIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcGFkZGluZzogMTBweDtcXG59XFxuLmFwcC1uYXZpZ2F0aW9uLW5ldyBidXR0b25bZGF0YS12LWNjNjM1M2EyXSB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIHBhZGRpbmc6IDEwcHg7XFxuICAgIHBhZGRpbmctbGVmdDogMzRweDtcXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTBweCBjZW50ZXI7XFxuICAgIHRleHQtYWxpZ246IGxlZnQ7XFxuICAgIG1hcmdpbjogMDtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQXBwTmF2aWdhdGlvbk5ldy52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FBeUNGLGlCQUFBO0FBQ0E7RUFDQyxjQUFjO0VBQ2QsYUFBYTtBQUFBO0FBRmQ7SUFJRSxxQkFBcUI7SUFDckIsV0FBVztJQUNYLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsZ0NBQWdDO0lBQ2hDLGdCQUFnQjtJQUNoQixTQUFTO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbi8qICdOZXcnIGJ1dHRvbiAqL1xcbi5hcHAtbmF2aWdhdGlvbi1uZXcge1xcblxcdGRpc3BsYXk6IGJsb2NrO1xcblxcdHBhZGRpbmc6IDEwcHg7XFxuXFx0YnV0dG9uIHtcXG5cXHRcXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuXFx0XFx0d2lkdGg6IDEwMCU7XFxuXFx0XFx0cGFkZGluZzogMTBweDtcXG5cXHRcXHRwYWRkaW5nLWxlZnQ6IDM0cHg7XFxuXFx0XFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMTBweCBjZW50ZXI7XFxuXFx0XFx0dGV4dC1hbGlnbjogbGVmdDtcXG5cXHRcXHRtYXJnaW46IDA7XFxuXFx0fVxcbn1cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIlwidXNlIHN0cmljdFwiO1xuXG4vKlxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuICBBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuLy8gY3NzIGJhc2UgY29kZSwgaW5qZWN0ZWQgYnkgdGhlIGNzcy1sb2FkZXJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jLW5hbWVzXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKSB7XG4gIHZhciBsaXN0ID0gW107IC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblxuICBsaXN0LnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICB2YXIgY29udGVudCA9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSk7XG5cbiAgICAgIGlmIChpdGVtWzJdKSB7XG4gICAgICAgIHJldHVybiBcIkBtZWRpYSBcIi5jb25jYXQoaXRlbVsyXSwgXCIge1wiKS5jb25jYXQoY29udGVudCwgXCJ9XCIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9KS5qb2luKFwiXCIpO1xuICB9OyAvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xuXG5cbiAgbGlzdC5pID0gZnVuY3Rpb24gKG1vZHVsZXMsIG1lZGlhUXVlcnksIGRlZHVwZSkge1xuICAgIGlmICh0eXBlb2YgbW9kdWxlcyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICBtb2R1bGVzID0gW1tudWxsLCBtb2R1bGVzLCBcIlwiXV07XG4gICAgfVxuXG4gICAgdmFyIGFscmVhZHlJbXBvcnRlZE1vZHVsZXMgPSB7fTtcblxuICAgIGlmIChkZWR1cGUpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcbiAgICAgICAgdmFyIGlkID0gdGhpc1tpXVswXTtcblxuICAgICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICAgIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBtb2R1bGVzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIGl0ZW0gPSBbXS5jb25jYXQobW9kdWxlc1tfaV0pO1xuXG4gICAgICBpZiAoZGVkdXBlICYmIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRpbnVlXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobWVkaWFRdWVyeSkge1xuICAgICAgICBpZiAoIWl0ZW1bMl0pIHtcbiAgICAgICAgICBpdGVtWzJdID0gbWVkaWFRdWVyeTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtWzJdID0gXCJcIi5jb25jYXQobWVkaWFRdWVyeSwgXCIgYW5kIFwiKS5jb25jYXQoaXRlbVsyXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGlzdC5wdXNoKGl0ZW0pO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gbGlzdDtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF9zbGljZWRUb0FycmF5KGFyciwgaSkgeyByZXR1cm4gX2FycmF5V2l0aEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkgfHwgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFyciwgaSkgfHwgX25vbkl0ZXJhYmxlUmVzdCgpOyB9XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVJlc3QoKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7IH1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikgeyBpZiAoIW8pIHJldHVybjsgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTsgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpOyBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lOyBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTsgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pOyB9XG5cbmZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7IGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoOyBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHsgYXJyMltpXSA9IGFycltpXTsgfSByZXR1cm4gYXJyMjsgfVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcInVuZGVmaW5lZFwiIHx8ICEoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChhcnIpKSkgcmV0dXJuOyB2YXIgX2FyciA9IFtdOyB2YXIgX24gPSB0cnVlOyB2YXIgX2QgPSBmYWxzZTsgdmFyIF9lID0gdW5kZWZpbmVkOyB0cnkgeyBmb3IgKHZhciBfaSA9IGFycltTeW1ib2wuaXRlcmF0b3JdKCksIF9zOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7IF9hcnIucHVzaChfcy52YWx1ZSk7IGlmIChpICYmIF9hcnIubGVuZ3RoID09PSBpKSBicmVhazsgfSB9IGNhdGNoIChlcnIpIHsgX2QgPSB0cnVlOyBfZSA9IGVycjsgfSBmaW5hbGx5IHsgdHJ5IHsgaWYgKCFfbiAmJiBfaVtcInJldHVyblwiXSAhPSBudWxsKSBfaVtcInJldHVyblwiXSgpOyB9IGZpbmFsbHkgeyBpZiAoX2QpIHRocm93IF9lOyB9IH0gcmV0dXJuIF9hcnI7IH1cblxuZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKGFycikgeyBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyOyB9XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtKSB7XG4gIHZhciBfaXRlbSA9IF9zbGljZWRUb0FycmF5KGl0ZW0sIDQpLFxuICAgICAgY29udGVudCA9IF9pdGVtWzFdLFxuICAgICAgY3NzTWFwcGluZyA9IF9pdGVtWzNdO1xuXG4gIGlmICh0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gICAgdmFyIGJhc2U2NCA9IGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGNzc01hcHBpbmcpKSkpO1xuICAgIHZhciBkYXRhID0gXCJzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxcIi5jb25jYXQoYmFzZTY0KTtcbiAgICB2YXIgc291cmNlTWFwcGluZyA9IFwiLyojIFwiLmNvbmNhdChkYXRhLCBcIiAqL1wiKTtcbiAgICB2YXIgc291cmNlVVJMcyA9IGNzc01hcHBpbmcuc291cmNlcy5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuICAgICAgcmV0dXJuIFwiLyojIHNvdXJjZVVSTD1cIi5jb25jYXQoY3NzTWFwcGluZy5zb3VyY2VSb290IHx8IFwiXCIpLmNvbmNhdChzb3VyY2UsIFwiICovXCIpO1xuICAgIH0pO1xuICAgIHJldHVybiBbY29udGVudF0uY29uY2F0KHNvdXJjZVVSTHMpLmNvbmNhdChbc291cmNlTWFwcGluZ10pLmpvaW4oXCJcXG5cIik7XG4gIH1cblxuICByZXR1cm4gW2NvbnRlbnRdLmpvaW4oXCJcXG5cIik7XG59OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWNjNjM1M2EyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJcInVzZSBzdHJpY3RcIjtcblxudmFyIGlzT2xkSUUgPSBmdW5jdGlvbiBpc09sZElFKCkge1xuICB2YXIgbWVtbztcbiAgcmV0dXJuIGZ1bmN0aW9uIG1lbW9yaXplKCkge1xuICAgIGlmICh0eXBlb2YgbWVtbyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIC8vIFRlc3QgZm9yIElFIDw9IDkgYXMgcHJvcG9zZWQgYnkgQnJvd3NlcmhhY2tzXG4gICAgICAvLyBAc2VlIGh0dHA6Ly9icm93c2VyaGFja3MuY29tLyNoYWNrLWU3MWQ4NjkyZjY1MzM0MTczZmVlNzE1YzIyMmNiODA1XG4gICAgICAvLyBUZXN0cyBmb3IgZXhpc3RlbmNlIG9mIHN0YW5kYXJkIGdsb2JhbHMgaXMgdG8gYWxsb3cgc3R5bGUtbG9hZGVyXG4gICAgICAvLyB0byBvcGVyYXRlIGNvcnJlY3RseSBpbnRvIG5vbi1zdGFuZGFyZCBlbnZpcm9ubWVudHNcbiAgICAgIC8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9zdHlsZS1sb2FkZXIvaXNzdWVzLzE3N1xuICAgICAgbWVtbyA9IEJvb2xlYW4od2luZG93ICYmIGRvY3VtZW50ICYmIGRvY3VtZW50LmFsbCAmJiAhd2luZG93LmF0b2IpO1xuICAgIH1cblxuICAgIHJldHVybiBtZW1vO1xuICB9O1xufSgpO1xuXG52YXIgZ2V0VGFyZ2V0ID0gZnVuY3Rpb24gZ2V0VGFyZ2V0KCkge1xuICB2YXIgbWVtbyA9IHt9O1xuICByZXR1cm4gZnVuY3Rpb24gbWVtb3JpemUodGFyZ2V0KSB7XG4gICAgaWYgKHR5cGVvZiBtZW1vW3RhcmdldF0gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB2YXIgc3R5bGVUYXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCk7IC8vIFNwZWNpYWwgY2FzZSB0byByZXR1cm4gaGVhZCBvZiBpZnJhbWUgaW5zdGVhZCBvZiBpZnJhbWUgaXRzZWxmXG5cbiAgICAgIGlmICh3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQgJiYgc3R5bGVUYXJnZXQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFjY2VzcyB0byBpZnJhbWUgaXMgYmxvY2tlZFxuICAgICAgICAgIC8vIGR1ZSB0byBjcm9zcy1vcmlnaW4gcmVzdHJpY3Rpb25zXG4gICAgICAgICAgc3R5bGVUYXJnZXQgPSBzdHlsZVRhcmdldC5jb250ZW50RG9jdW1lbnQuaGVhZDtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgICAgICAgc3R5bGVUYXJnZXQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG1lbW9bdGFyZ2V0XSA9IHN0eWxlVGFyZ2V0O1xuICAgIH1cblxuICAgIHJldHVybiBtZW1vW3RhcmdldF07XG4gIH07XG59KCk7XG5cbnZhciBzdHlsZXNJbkRvbSA9IFtdO1xuXG5mdW5jdGlvbiBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKSB7XG4gIHZhciByZXN1bHQgPSAtMTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlc0luRG9tLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHN0eWxlc0luRG9tW2ldLmlkZW50aWZpZXIgPT09IGlkZW50aWZpZXIpIHtcbiAgICAgIHJlc3VsdCA9IGk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBtb2R1bGVzVG9Eb20obGlzdCwgb3B0aW9ucykge1xuICB2YXIgaWRDb3VudE1hcCA9IHt9O1xuICB2YXIgaWRlbnRpZmllcnMgPSBbXTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgaXRlbSA9IGxpc3RbaV07XG4gICAgdmFyIGlkID0gb3B0aW9ucy5iYXNlID8gaXRlbVswXSArIG9wdGlvbnMuYmFzZSA6IGl0ZW1bMF07XG4gICAgdmFyIGNvdW50ID0gaWRDb3VudE1hcFtpZF0gfHwgMDtcbiAgICB2YXIgaWRlbnRpZmllciA9IFwiXCIuY29uY2F0KGlkLCBcIiBcIikuY29uY2F0KGNvdW50KTtcbiAgICBpZENvdW50TWFwW2lkXSA9IGNvdW50ICsgMTtcbiAgICB2YXIgaW5kZXggPSBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKTtcbiAgICB2YXIgb2JqID0ge1xuICAgICAgY3NzOiBpdGVtWzFdLFxuICAgICAgbWVkaWE6IGl0ZW1bMl0sXG4gICAgICBzb3VyY2VNYXA6IGl0ZW1bM11cbiAgICB9O1xuXG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgc3R5bGVzSW5Eb21baW5kZXhdLnJlZmVyZW5jZXMrKztcbiAgICAgIHN0eWxlc0luRG9tW2luZGV4XS51cGRhdGVyKG9iaik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0eWxlc0luRG9tLnB1c2goe1xuICAgICAgICBpZGVudGlmaWVyOiBpZGVudGlmaWVyLFxuICAgICAgICB1cGRhdGVyOiBhZGRTdHlsZShvYmosIG9wdGlvbnMpLFxuICAgICAgICByZWZlcmVuY2VzOiAxXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZGVudGlmaWVycy5wdXNoKGlkZW50aWZpZXIpO1xuICB9XG5cbiAgcmV0dXJuIGlkZW50aWZpZXJzO1xufVxuXG5mdW5jdGlvbiBpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucykge1xuICB2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICB2YXIgYXR0cmlidXRlcyA9IG9wdGlvbnMuYXR0cmlidXRlcyB8fCB7fTtcblxuICBpZiAodHlwZW9mIGF0dHJpYnV0ZXMubm9uY2UgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgdmFyIG5vbmNlID0gdHlwZW9mIF9fd2VicGFja19ub25jZV9fICE9PSAndW5kZWZpbmVkJyA/IF9fd2VicGFja19ub25jZV9fIDogbnVsbDtcblxuICAgIGlmIChub25jZSkge1xuICAgICAgYXR0cmlidXRlcy5ub25jZSA9IG5vbmNlO1xuICAgIH1cbiAgfVxuXG4gIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgIHN0eWxlLnNldEF0dHJpYnV0ZShrZXksIGF0dHJpYnV0ZXNba2V5XSk7XG4gIH0pO1xuXG4gIGlmICh0eXBlb2Ygb3B0aW9ucy5pbnNlcnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBvcHRpb25zLmluc2VydChzdHlsZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHRhcmdldCA9IGdldFRhcmdldChvcHRpb25zLmluc2VydCB8fCAnaGVhZCcpO1xuXG4gICAgaWYgKCF0YXJnZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGZpbmQgYSBzdHlsZSB0YXJnZXQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgdmFsdWUgZm9yIHRoZSAnaW5zZXJ0JyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cIik7XG4gICAgfVxuXG4gICAgdGFyZ2V0LmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgfVxuXG4gIHJldHVybiBzdHlsZTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKSB7XG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBpZlxuICBpZiAoc3R5bGUucGFyZW50Tm9kZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHN0eWxlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGUpO1xufVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5cblxudmFyIHJlcGxhY2VUZXh0ID0gZnVuY3Rpb24gcmVwbGFjZVRleHQoKSB7XG4gIHZhciB0ZXh0U3RvcmUgPSBbXTtcbiAgcmV0dXJuIGZ1bmN0aW9uIHJlcGxhY2UoaW5kZXgsIHJlcGxhY2VtZW50KSB7XG4gICAgdGV4dFN0b3JlW2luZGV4XSA9IHJlcGxhY2VtZW50O1xuICAgIHJldHVybiB0ZXh0U3RvcmUuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJ1xcbicpO1xuICB9O1xufSgpO1xuXG5mdW5jdGlvbiBhcHBseVRvU2luZ2xldG9uVGFnKHN0eWxlLCBpbmRleCwgcmVtb3ZlLCBvYmopIHtcbiAgdmFyIGNzcyA9IHJlbW92ZSA/ICcnIDogb2JqLm1lZGlhID8gXCJAbWVkaWEgXCIuY29uY2F0KG9iai5tZWRpYSwgXCIge1wiKS5jb25jYXQob2JqLmNzcywgXCJ9XCIpIDogb2JqLmNzczsgLy8gRm9yIG9sZCBJRVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAgKi9cblxuICBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IHJlcGxhY2VUZXh0KGluZGV4LCBjc3MpO1xuICB9IGVsc2Uge1xuICAgIHZhciBjc3NOb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKTtcbiAgICB2YXIgY2hpbGROb2RlcyA9IHN0eWxlLmNoaWxkTm9kZXM7XG5cbiAgICBpZiAoY2hpbGROb2Rlc1tpbmRleF0pIHtcbiAgICAgIHN0eWxlLnJlbW92ZUNoaWxkKGNoaWxkTm9kZXNbaW5kZXhdKTtcbiAgICB9XG5cbiAgICBpZiAoY2hpbGROb2Rlcy5sZW5ndGgpIHtcbiAgICAgIHN0eWxlLmluc2VydEJlZm9yZShjc3NOb2RlLCBjaGlsZE5vZGVzW2luZGV4XSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0eWxlLmFwcGVuZENoaWxkKGNzc05vZGUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhcHBseVRvVGFnKHN0eWxlLCBvcHRpb25zLCBvYmopIHtcbiAgdmFyIGNzcyA9IG9iai5jc3M7XG4gIHZhciBtZWRpYSA9IG9iai5tZWRpYTtcbiAgdmFyIHNvdXJjZU1hcCA9IG9iai5zb3VyY2VNYXA7XG5cbiAgaWYgKG1lZGlhKSB7XG4gICAgc3R5bGUuc2V0QXR0cmlidXRlKCdtZWRpYScsIG1lZGlhKTtcbiAgfSBlbHNlIHtcbiAgICBzdHlsZS5yZW1vdmVBdHRyaWJ1dGUoJ21lZGlhJyk7XG4gIH1cblxuICBpZiAoc291cmNlTWFwICYmIHR5cGVvZiBidG9hICE9PSAndW5kZWZpbmVkJykge1xuICAgIGNzcyArPSBcIlxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXCIuY29uY2F0KGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSksIFwiICovXCIpO1xuICB9IC8vIEZvciBvbGQgSUVcblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgICovXG5cblxuICBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzcztcbiAgfSBlbHNlIHtcbiAgICB3aGlsZSAoc3R5bGUuZmlyc3RDaGlsZCkge1xuICAgICAgc3R5bGUucmVtb3ZlQ2hpbGQoc3R5bGUuZmlyc3RDaGlsZCk7XG4gICAgfVxuXG4gICAgc3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG4gIH1cbn1cblxudmFyIHNpbmdsZXRvbiA9IG51bGw7XG52YXIgc2luZ2xldG9uQ291bnRlciA9IDA7XG5cbmZ1bmN0aW9uIGFkZFN0eWxlKG9iaiwgb3B0aW9ucykge1xuICB2YXIgc3R5bGU7XG4gIHZhciB1cGRhdGU7XG4gIHZhciByZW1vdmU7XG5cbiAgaWYgKG9wdGlvbnMuc2luZ2xldG9uKSB7XG4gICAgdmFyIHN0eWxlSW5kZXggPSBzaW5nbGV0b25Db3VudGVyKys7XG4gICAgc3R5bGUgPSBzaW5nbGV0b24gfHwgKHNpbmdsZXRvbiA9IGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKSk7XG4gICAgdXBkYXRlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCBmYWxzZSk7XG4gICAgcmVtb3ZlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCB0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBzdHlsZSA9IGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKTtcbiAgICB1cGRhdGUgPSBhcHBseVRvVGFnLmJpbmQobnVsbCwgc3R5bGUsIG9wdGlvbnMpO1xuXG4gICAgcmVtb3ZlID0gZnVuY3Rpb24gcmVtb3ZlKCkge1xuICAgICAgcmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKTtcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlKG9iaik7XG4gIHJldHVybiBmdW5jdGlvbiB1cGRhdGVTdHlsZShuZXdPYmopIHtcbiAgICBpZiAobmV3T2JqKSB7XG4gICAgICBpZiAobmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJiBuZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJiBuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdXBkYXRlKG9iaiA9IG5ld09iaik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbW92ZSgpO1xuICAgIH1cbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobGlzdCwgb3B0aW9ucykge1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsgLy8gRm9yY2Ugc2luZ2xlLXRhZyBzb2x1dGlvbiBvbiBJRTYtOSwgd2hpY2ggaGFzIGEgaGFyZCBsaW1pdCBvbiB0aGUgIyBvZiA8c3R5bGU+XG4gIC8vIHRhZ3MgaXQgd2lsbCBhbGxvdyBvbiBhIHBhZ2VcblxuICBpZiAoIW9wdGlvbnMuc2luZ2xldG9uICYmIHR5cGVvZiBvcHRpb25zLnNpbmdsZXRvbiAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgb3B0aW9ucy5zaW5nbGV0b24gPSBpc09sZElFKCk7XG4gIH1cblxuICBsaXN0ID0gbGlzdCB8fCBbXTtcbiAgdmFyIGxhc3RJZGVudGlmaWVycyA9IG1vZHVsZXNUb0RvbShsaXN0LCBvcHRpb25zKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZShuZXdMaXN0KSB7XG4gICAgbmV3TGlzdCA9IG5ld0xpc3QgfHwgW107XG5cbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ld0xpc3QpICE9PSAnW29iamVjdCBBcnJheV0nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsYXN0SWRlbnRpZmllcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBpZGVudGlmaWVyID0gbGFzdElkZW50aWZpZXJzW2ldO1xuICAgICAgdmFyIGluZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcik7XG4gICAgICBzdHlsZXNJbkRvbVtpbmRleF0ucmVmZXJlbmNlcy0tO1xuICAgIH1cblxuICAgIHZhciBuZXdMYXN0SWRlbnRpZmllcnMgPSBtb2R1bGVzVG9Eb20obmV3TGlzdCwgb3B0aW9ucyk7XG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIF9pZGVudGlmaWVyID0gbGFzdElkZW50aWZpZXJzW19pXTtcblxuICAgICAgdmFyIF9pbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKF9pZGVudGlmaWVyKTtcblxuICAgICAgaWYgKHN0eWxlc0luRG9tW19pbmRleF0ucmVmZXJlbmNlcyA9PT0gMCkge1xuICAgICAgICBzdHlsZXNJbkRvbVtfaW5kZXhdLnVwZGF0ZXIoKTtcblxuICAgICAgICBzdHlsZXNJbkRvbS5zcGxpY2UoX2luZGV4LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYXN0SWRlbnRpZmllcnMgPSBuZXdMYXN0SWRlbnRpZmllcnM7XG4gIH07XG59OyIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJhcHAtbmF2aWdhdGlvbi1uZXdcIiB9LCBbXG4gICAgX2MoXG4gICAgICBcImJ1dHRvblwiLFxuICAgICAge1xuICAgICAgICBjbGFzczogX3ZtLmJ1dHRvbkNsYXNzLFxuICAgICAgICBhdHRyczogeyBpZDogX3ZtLmJ1dHRvbklkLCB0eXBlOiBcImJ1dHRvblwiLCBkaXNhYmxlZDogX3ZtLmRpc2FibGVkIH0sXG4gICAgICAgIG9uOiB7XG4gICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIF92bS4kZW1pdChcImNsaWNrXCIpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW192bS5fdihcIlxcblxcdFxcdFwiICsgX3ZtLl9zKF92bS50ZXh0KSArIFwiXFxuXFx0XCIpXVxuICAgIClcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCIvKiBnbG9iYWxzIF9fVlVFX1NTUl9DT05URVhUX18gKi9cblxuLy8gSU1QT1JUQU5UOiBEbyBOT1QgdXNlIEVTMjAxNSBmZWF0dXJlcyBpbiB0aGlzIGZpbGUgKGV4Y2VwdCBmb3IgbW9kdWxlcykuXG4vLyBUaGlzIG1vZHVsZSBpcyBhIHJ1bnRpbWUgdXRpbGl0eSBmb3IgY2xlYW5lciBjb21wb25lbnQgbW9kdWxlIG91dHB1dCBhbmQgd2lsbFxuLy8gYmUgaW5jbHVkZWQgaW4gdGhlIGZpbmFsIHdlYnBhY2sgdXNlciBidW5kbGUuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG5vcm1hbGl6ZUNvbXBvbmVudCAoXG4gIHNjcmlwdEV4cG9ydHMsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmdW5jdGlvbmFsVGVtcGxhdGUsXG4gIGluamVjdFN0eWxlcyxcbiAgc2NvcGVJZCxcbiAgbW9kdWxlSWRlbnRpZmllciwgLyogc2VydmVyIG9ubHkgKi9cbiAgc2hhZG93TW9kZSAvKiB2dWUtY2xpIG9ubHkgKi9cbikge1xuICAvLyBWdWUuZXh0ZW5kIGNvbnN0cnVjdG9yIGV4cG9ydCBpbnRlcm9wXG4gIHZhciBvcHRpb25zID0gdHlwZW9mIHNjcmlwdEV4cG9ydHMgPT09ICdmdW5jdGlvbidcbiAgICA/IHNjcmlwdEV4cG9ydHMub3B0aW9uc1xuICAgIDogc2NyaXB0RXhwb3J0c1xuXG4gIC8vIHJlbmRlciBmdW5jdGlvbnNcbiAgaWYgKHJlbmRlcikge1xuICAgIG9wdGlvbnMucmVuZGVyID0gcmVuZGVyXG4gICAgb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnNcbiAgICBvcHRpb25zLl9jb21waWxlZCA9IHRydWVcbiAgfVxuXG4gIC8vIGZ1bmN0aW9uYWwgdGVtcGxhdGVcbiAgaWYgKGZ1bmN0aW9uYWxUZW1wbGF0ZSkge1xuICAgIG9wdGlvbnMuZnVuY3Rpb25hbCA9IHRydWVcbiAgfVxuXG4gIC8vIHNjb3BlZElkXG4gIGlmIChzY29wZUlkKSB7XG4gICAgb3B0aW9ucy5fc2NvcGVJZCA9ICdkYXRhLXYtJyArIHNjb3BlSWRcbiAgfVxuXG4gIHZhciBob29rXG4gIGlmIChtb2R1bGVJZGVudGlmaWVyKSB7IC8vIHNlcnZlciBidWlsZFxuICAgIGhvb2sgPSBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgLy8gMi4zIGluamVjdGlvblxuICAgICAgY29udGV4dCA9XG4gICAgICAgIGNvbnRleHQgfHwgLy8gY2FjaGVkIGNhbGxcbiAgICAgICAgKHRoaXMuJHZub2RlICYmIHRoaXMuJHZub2RlLnNzckNvbnRleHQpIHx8IC8vIHN0YXRlZnVsXG4gICAgICAgICh0aGlzLnBhcmVudCAmJiB0aGlzLnBhcmVudC4kdm5vZGUgJiYgdGhpcy5wYXJlbnQuJHZub2RlLnNzckNvbnRleHQpIC8vIGZ1bmN0aW9uYWxcbiAgICAgIC8vIDIuMiB3aXRoIHJ1bkluTmV3Q29udGV4dDogdHJ1ZVxuICAgICAgaWYgKCFjb250ZXh0ICYmIHR5cGVvZiBfX1ZVRV9TU1JfQ09OVEVYVF9fICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBjb250ZXh0ID0gX19WVUVfU1NSX0NPTlRFWFRfX1xuICAgICAgfVxuICAgICAgLy8gaW5qZWN0IGNvbXBvbmVudCBzdHlsZXNcbiAgICAgIGlmIChpbmplY3RTdHlsZXMpIHtcbiAgICAgICAgaW5qZWN0U3R5bGVzLmNhbGwodGhpcywgY29udGV4dClcbiAgICAgIH1cbiAgICAgIC8vIHJlZ2lzdGVyIGNvbXBvbmVudCBtb2R1bGUgaWRlbnRpZmllciBmb3IgYXN5bmMgY2h1bmsgaW5mZXJyZW5jZVxuICAgICAgaWYgKGNvbnRleHQgJiYgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMpIHtcbiAgICAgICAgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMuYWRkKG1vZHVsZUlkZW50aWZpZXIpXG4gICAgICB9XG4gICAgfVxuICAgIC8vIHVzZWQgYnkgc3NyIGluIGNhc2UgY29tcG9uZW50IGlzIGNhY2hlZCBhbmQgYmVmb3JlQ3JlYXRlXG4gICAgLy8gbmV2ZXIgZ2V0cyBjYWxsZWRcbiAgICBvcHRpb25zLl9zc3JSZWdpc3RlciA9IGhvb2tcbiAgfSBlbHNlIGlmIChpbmplY3RTdHlsZXMpIHtcbiAgICBob29rID0gc2hhZG93TW9kZVxuICAgICAgPyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGluamVjdFN0eWxlcy5jYWxsKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgKG9wdGlvbnMuZnVuY3Rpb25hbCA/IHRoaXMucGFyZW50IDogdGhpcykuJHJvb3QuJG9wdGlvbnMuc2hhZG93Um9vdFxuICAgICAgICApXG4gICAgICB9XG4gICAgICA6IGluamVjdFN0eWxlc1xuICB9XG5cbiAgaWYgKGhvb2spIHtcbiAgICBpZiAob3B0aW9ucy5mdW5jdGlvbmFsKSB7XG4gICAgICAvLyBmb3IgdGVtcGxhdGUtb25seSBob3QtcmVsb2FkIGJlY2F1c2UgaW4gdGhhdCBjYXNlIHRoZSByZW5kZXIgZm4gZG9lc24ndFxuICAgICAgLy8gZ28gdGhyb3VnaCB0aGUgbm9ybWFsaXplclxuICAgICAgb3B0aW9ucy5faW5qZWN0U3R5bGVzID0gaG9va1xuICAgICAgLy8gcmVnaXN0ZXIgZm9yIGZ1bmN0aW9uYWwgY29tcG9uZW50IGluIHZ1ZSBmaWxlXG4gICAgICB2YXIgb3JpZ2luYWxSZW5kZXIgPSBvcHRpb25zLnJlbmRlclxuICAgICAgb3B0aW9ucy5yZW5kZXIgPSBmdW5jdGlvbiByZW5kZXJXaXRoU3R5bGVJbmplY3Rpb24gKGgsIGNvbnRleHQpIHtcbiAgICAgICAgaG9vay5jYWxsKGNvbnRleHQpXG4gICAgICAgIHJldHVybiBvcmlnaW5hbFJlbmRlcihoLCBjb250ZXh0KVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpbmplY3QgY29tcG9uZW50IHJlZ2lzdHJhdGlvbiBhcyBiZWZvcmVDcmVhdGUgaG9va1xuICAgICAgdmFyIGV4aXN0aW5nID0gb3B0aW9ucy5iZWZvcmVDcmVhdGVcbiAgICAgIG9wdGlvbnMuYmVmb3JlQ3JlYXRlID0gZXhpc3RpbmdcbiAgICAgICAgPyBbXS5jb25jYXQoZXhpc3RpbmcsIGhvb2spXG4gICAgICAgIDogW2hvb2tdXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBleHBvcnRzOiBzY3JpcHRFeHBvcnRzLFxuICAgIG9wdGlvbnM6IG9wdGlvbnNcbiAgfVxufVxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1jYzYzNTNhMiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQXBwTmF2aWdhdGlvbk5ldy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vQXBwTmF2aWdhdGlvbk5ldy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1jYzYzNTNhMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcImNjNjM1M2EyXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJ2NjNjM1M2EyJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJ2NjNjM1M2EyJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJ2NjNjM1M2EyJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1jYzYzNTNhMiZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCdjYzYzNTNhMicsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvbk5ldy9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uTmV3LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25OZXcudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbk5ldy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1jYzYzNTNhMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvbk5ldy52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9Y2M2MzUzYTImc2NvcGVkPXRydWUmXCIiLCIvKlxuICogQGNvcHlyaWdodCAyMDE4IENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAqXG4gKiBAYXV0aG9yIDIwMTggQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cbmltcG9ydCBBcHBOYXZpZ2F0aW9uTmV3IGZyb20gJy4vQXBwTmF2aWdhdGlvbk5ldydcblxuZXhwb3J0IGRlZmF1bHQgQXBwTmF2aWdhdGlvbk5ld1xuIl0sInNvdXJjZVJvb3QiOiIifQ==","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Components/AppNavigationSettings\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Components/AppNavigationSettings\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"Components/AppNavigationSettings\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/components/AppNavigationSettings/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=script&lang=js&\":\n/*!***********************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=script&lang=js& ***!\n \\***********************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var v_click_outside__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! v-click-outside */ \"v-click-outside\");\n/* harmony import */ var v_click_outside__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(v_click_outside__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _l10n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../l10n */ \"./src/l10n.js\");\n/* harmony import */ var _mixins__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins */ \"./src/mixins/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n directives: {\n ClickOutside: v_click_outside__WEBPACK_IMPORTED_MODULE_0__[\"directive\"]\n },\n mixins: [_mixins__WEBPACK_IMPORTED_MODULE_2__[\"excludeClickOutsideClasses\"]],\n props: {\n title: {\n type: String,\n required: false,\n default: Object(_l10n__WEBPACK_IMPORTED_MODULE_1__[\"t\"])('Settings')\n }\n },\n data: function data() {\n return {\n open: false,\n clickOutsideConfig: {\n handler: this.closeMenu,\n middleware: this.clickOutsideMiddleware\n }\n };\n },\n methods: {\n toggleMenu: function toggleMenu() {\n this.open = !this.open;\n },\n closeMenu: function closeMenu() {\n this.open = false;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/MentionBubble.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/router */ \"@nextcloud/router\");\n/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_router__WEBPACK_IMPORTED_MODULE_0__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'MentionBubble',\n props: {\n id: {\n type: String,\n required: true\n },\n label: {\n type: String,\n required: true\n },\n icon: {\n type: String,\n required: true\n },\n source: {\n type: String,\n required: true\n },\n primary: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n avatarUrl: function avatarUrl() {\n return this.id && this.source === 'users' ? this.getAvatarUrl(this.id, 44) : null;\n },\n mentionText: function mentionText() {\n return this.id.indexOf(' ') === -1 ? \"@\".concat(this.id) : \"@\\\"\".concat(this.id, \"\\\"\");\n }\n },\n methods: {\n getAvatarUrl: function getAvatarUrl(user, size) {\n return Object(_nextcloud_router__WEBPACK_IMPORTED_MODULE_0__[\"generateUrl\"])('/avatar/{user}/{size}', {\n user: user,\n size: size\n });\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n#app-settings-content[data-v-9c9c397e] {\\n display: block;\\n padding: 10px;\\n background-color: var(--color-main-background);\\n /* restrict height of settings and make scrollable */\\n max-height: 300px;\\n overflow-y: auto;\\n box-sizing: border-box;\\n}\\n.slide-up-leave-active[data-v-9c9c397e],\\n.slide-up-enter-active[data-v-9c9c397e] {\\n transition-duration: var(--animation-slow);\\n transition-property: max-height, padding;\\n overflow-y: hidden !important;\\n}\\n.slide-up-enter[data-v-9c9c397e],\\n.slide-up-leave-to[data-v-9c9c397e] {\\n max-height: 0 !important;\\n padding: 0 10px !important;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./AppNavigationSettings.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AA2DF;EACC,cAAc;EACd,aAAa;EACb,8CAA8C;EAC9C,oDAAA;EACA,iBAAiB;EACjB,gBAAgB;EAChB,sBAAsB;AAAA;AAGvB;;EAEC,0CAA0C;EAC1C,wCAAwC;EACxC,6BAA6B;AAAA;AAG9B;;EAEC,wBAAwB;EACxB,0BAA0B;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n#app-settings-content {\\n\\tdisplay: block;\\n\\tpadding: 10px;\\n\\tbackground-color: var(--color-main-background);\\n\\t/* restrict height of settings and make scrollable */\\n\\tmax-height: 300px;\\n\\toverflow-y: auto;\\n\\tbox-sizing: border-box;\\n}\\n\\n.slide-up-leave-active,\\n.slide-up-enter-active {\\n\\ttransition-duration: var(--animation-slow);\\n\\ttransition-property: max-height, padding;\\n\\toverflow-y: hidden !important;\\n}\\n\\n.slide-up-enter,\\n.slide-up-leave-to {\\n\\tmax-height: 0 !important;\\n\\tpadding: 0 10px !important;\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n.mention-bubble--primary .mention-bubble__content[data-v-69f40ec8] {\\n color: var(--color-primary-text);\\n background-color: var(--color-primary-element);\\n}\\n.mention-bubble__wrapper[data-v-69f40ec8] {\\n max-width: 150px;\\n height: 18px;\\n vertical-align: text-bottom;\\n display: inline-flex;\\n align-items: center;\\n}\\n.mention-bubble__content[data-v-69f40ec8] {\\n display: inline-flex;\\n overflow: hidden;\\n align-items: center;\\n max-width: 100%;\\n height: 20px;\\n -webkit-user-select: none;\\n user-select: none;\\n padding-right: 6px;\\n padding-left: 2px;\\n border-radius: 10px;\\n background-color: var(--color-background-dark);\\n}\\n.mention-bubble__icon[data-v-69f40ec8] {\\n position: relative;\\n width: 16px;\\n height: 16px;\\n border-radius: 8px;\\n background-color: var(--color-background-darker);\\n background-repeat: no-repeat;\\n background-position: center;\\n background-size: 12px;\\n}\\n.mention-bubble__icon--with-avatar[data-v-69f40ec8] {\\n color: inherit;\\n background-size: cover;\\n}\\n.mention-bubble__title[data-v-69f40ec8] {\\n overflow: hidden;\\n margin-left: 2px;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.mention-bubble__title[data-v-69f40ec8]::before {\\n content: attr(title);\\n}\\n.mention-bubble__select[data-v-69f40ec8] {\\n position: absolute;\\n z-index: -1;\\n left: -1000px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./MentionBubble.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAiFD;EACC,gCAAgC;EAChC,8CAA8C;AAAA;AAG/C;EACC,gBAXsB;EAatB,YAAwC;EACxC,2BAA2B;EAC3B,oBAAoB;EACpB,mBAAmB;AAAA;AAGpB;EACC,oBAAoB;EACpB,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,YAzBkB;EA0BlB,yBAAyB;EACzB,iBAAiB;EACjB,kBAAkC;EAClC,iBA3BkB;EA4BlB,mBAAiC;EACjC,8CAA8C;AAAA;AAG/C;EACC,kBAAkB;EAClB,WAjCuD;EAkCvD,YAlCuD;EAmCvD,kBAAsC;EACtC,gDAAgD;EAChD,4BAA4B;EAC5B,2BAA2B;EAC3B,qBAA0D;AAAA;AAE1D;IACC,cAAc;IACd,sBAAsB;AAAA;AAIxB;EACC,gBAAgB;EAChB,gBAlDkB;EAmDlB,mBAAmB;EACnB,uBAAuB;AAAA;AAJvB;IAOC,oBAAoB;AAAA;AAKtB;EACC,kBAAkB;EAClB,WAAW;EACX,aAAa;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/api.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/api.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/cssWithMappingToString.js ***!\n \\************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_style_index_0_id_9c9c397e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_style_index_0_id_9c9c397e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_style_index_0_id_9c9c397e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_style_index_0_id_69f40ec8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_style_index_0_id_69f40ec8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_style_index_0_id_69f40ec8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!\n \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : undefined;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true&\":\n/*!*************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true& ***!\n \\*************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: _vm.clickOutsideConfig,\n expression: \"clickOutsideConfig\"\n }\n ],\n class: { open: _vm.open },\n attrs: { id: \"app-settings\" }\n },\n [\n _c(\"div\", { attrs: { id: \"app-settings-header\" } }, [\n _c(\n \"button\",\n { staticClass: \"settings-button\", on: { click: _vm.toggleMenu } },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.title) + \"\\n\\t\\t\")]\n )\n ]),\n _vm._v(\" \"),\n _c(\"transition\", { attrs: { name: \"slide-up\" } }, [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.open,\n expression: \"open\"\n }\n ],\n attrs: { id: \"app-settings-content\" }\n },\n [_vm._t(\"default\")],\n 2\n )\n ])\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true&\":\n/*!***************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/RichContenteditable/MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true& ***!\n \\***************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"span\",\n {\n staticClass: \"mention-bubble\",\n class: { \"mention-bubble--primary\": _vm.primary },\n attrs: { contenteditable: \"false\" }\n },\n [\n _c(\"span\", { staticClass: \"mention-bubble__wrapper\" }, [\n _c(\"span\", { staticClass: \"mention-bubble__content\" }, [\n _c(\"span\", {\n staticClass: \"mention-bubble__icon\",\n class: [\n _vm.icon,\n \"mention-bubble__icon--\" + (_vm.avatarUrl ? \"with-avatar\" : \"\")\n ],\n style: _vm.avatarUrl\n ? { backgroundImage: \"url(\" + _vm.avatarUrl + \")\" }\n : null\n }),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"mention-bubble__title\",\n attrs: { role: \"heading\", title: _vm.label }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"mention-bubble__select\", attrs: { role: \"none\" } },\n [_vm._v(_vm._s(_vm.mentionText))]\n )\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue\":\n/*!************************************************************************!*\\\n !*** ./src/components/AppNavigationSettings/AppNavigationSettings.vue ***!\n \\************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationSettings_vue_vue_type_template_id_9c9c397e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true& */ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true&\");\n/* harmony import */ var _AppNavigationSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppNavigationSettings.vue?vue&type=script&lang=js& */ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _AppNavigationSettings_vue_vue_type_style_index_0_id_9c9c397e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true& */ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _AppNavigationSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _AppNavigationSettings_vue_vue_type_template_id_9c9c397e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _AppNavigationSettings_vue_vue_type_template_id_9c9c397e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"9c9c397e\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/AppNavigationSettings/AppNavigationSettings.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=script&lang=js&\":\n/*!*************************************************************************************************!*\\\n !*** ./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=script&lang=js& ***!\n \\*************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationSettings.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_style_index_0_id_9c9c397e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=style&index=0&id=9c9c397e&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true&\":\n/*!*******************************************************************************************************************!*\\\n !*** ./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true& ***!\n \\*******************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_template_id_9c9c397e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/AppNavigationSettings/AppNavigationSettings.vue?vue&type=template&id=9c9c397e&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_template_id_9c9c397e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppNavigationSettings_vue_vue_type_template_id_9c9c397e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/AppNavigationSettings/index.js\":\n/*!*******************************************************!*\\\n !*** ./src/components/AppNavigationSettings/index.js ***!\n \\*******************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _AppNavigationSettings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppNavigationSettings */ \"./src/components/AppNavigationSettings/AppNavigationSettings.vue\");\n/*\n * @copyright 2018 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2018 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_AppNavigationSettings__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/MentionBubble.vue\":\n/*!**************************************************************!*\\\n !*** ./src/components/RichContenteditable/MentionBubble.vue ***!\n \\**************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _MentionBubble_vue_vue_type_template_id_69f40ec8_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true& */ \"./src/components/RichContenteditable/MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true&\");\n/* harmony import */ var _MentionBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MentionBubble.vue?vue&type=script&lang=js& */ \"./src/components/RichContenteditable/MentionBubble.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _MentionBubble_vue_vue_type_style_index_0_id_69f40ec8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true& */ \"./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _MentionBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _MentionBubble_vue_vue_type_template_id_69f40ec8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _MentionBubble_vue_vue_type_template_id_69f40ec8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"69f40ec8\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/RichContenteditable/MentionBubble.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/MentionBubble.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************!*\\\n !*** ./src/components/RichContenteditable/MentionBubble.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./MentionBubble.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true&\":\n/*!************************************************************************************************************************!*\\\n !*** ./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true& ***!\n \\************************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_style_index_0_id_69f40ec8_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=style&index=0&id=69f40ec8&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/RichContenteditable/MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true&\":\n/*!*********************************************************************************************************!*\\\n !*** ./src/components/RichContenteditable/MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true& ***!\n \\*********************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_template_id_69f40ec8_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/RichContenteditable/MentionBubble.vue?vue&type=template&id=69f40ec8&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_template_id_69f40ec8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MentionBubble_vue_vue_type_template_id_69f40ec8_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/l10n.js\":\n/*!*********************!*\\\n !*** ./src/l10n.js ***!\n \\*********************/\n/*! exports provided: t, n */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return t; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return n; });\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nextcloud/l10n/dist/gettext */ \"@nextcloud/l10n/dist/gettext\");\n/* harmony import */ var _nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar gtBuilder = Object(_nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_1__[\"getGettextBuilder\"])().detectLocale(); // Decompress Translations to gettext format and add to gtBuilder\n\n[{\"locale\":\"br\",\"translations\":{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",\"Actions\":\"Oberioù\",\"Activities\":\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",\"Choose\":\"Dibab\",\"Close\":\"Serriñ\",\"Custom\":\"Personelañ\",\"Flags\":\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",\"Next\":\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",\"Objects\":\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",\"Previous\":\"A-raok\",\"Search\":\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",\"Settings\":\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",\"Symbols\":\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{\"locale\":\"ca\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",\"Actions\":\"Accions\",\"Activities\":\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Choose\":\"Tria\",\"Close\":\"Tanca\",\"Custom\":\"Personalitzat\",\"Flags\":\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",\"Next\":\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",\"Objects\":\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",\"Previous\":\"Anterior\",\"Search\":\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",\"Settings\":\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",\"Symbols\":\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{\"locale\":\"cs_CZ\",\"translations\":{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",\"Actions\":\"Akce\",\"Activities\":\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Choose\":\"Zvolit\",\"Close\":\"Zavřít\",\"Custom\":\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",\"Flags\":\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",\"Next\":\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",\"Objects\":\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Previous\":\"Předchozí\",\"Search\":\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",\"Settings\":\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",\"Submit\":\"Odeslat\",\"Symbols\":\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{\"locale\":\"da\",\"translations\":{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",\"Actions\":\"Handlinger\",\"Activities\":\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",\"Choose\":\"Vælg\",\"Close\":\"Luk\",\"Custom\":\"Brugerdefineret\",\"Flags\":\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",\"Next\":\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",\"Objects\":\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",\"Previous\":\"Forrige\",\"Search\":\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",\"Settings\":\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",\"Symbols\":\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{\"locale\":\"de\",\"translations\":{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",\"Actions\":\"Aktionen\",\"Activities\":\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Choose\":\"Auswählen\",\"Close\":\"Schließen\",\"Custom\":\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",\"Flags\":\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"Next\":\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",\"Objects\":\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Previous\":\"Vorherige\",\"Search\":\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",\"Settings\":\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",\"Submit\":\"Einreichen\",\"Symbols\":\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{\"locale\":\"de_DE\",\"translations\":{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",\"Actions\":\"Aktionen\",\"Activities\":\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Choose\":\"Auswählen\",\"Close\":\"Schließen\",\"Custom\":\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",\"Flags\":\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"Next\":\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",\"Objects\":\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Previous\":\"Vorherige\",\"Search\":\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",\"Settings\":\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",\"Submit\":\"Einreichen\",\"Symbols\":\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{\"locale\":\"el\",\"translations\":{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",\"Actions\":\"Ενέργειες\",\"Activities\":\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",\"Choose\":\"Επιλογή\",\"Close\":\"Κλείσιμο\",\"Custom\":\"Προσαρμογή\",\"Flags\":\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",\"Next\":\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",\"Objects\":\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",\"Previous\":\"Προηγούμενο\",\"Search\":\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",\"Settings\":\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",\"Symbols\":\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{\"locale\":\"eo\",\"translations\":{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",\"Actions\":\"Agoj\",\"Activities\":\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",\"Choose\":\"Elektu\",\"Close\":\"Fermu\",\"Custom\":\"Propra\",\"Flags\":\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",\"Next\":\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",\"Objects\":\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",\"Previous\":\"Antaŭa\",\"Search\":\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",\"Settings\":\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",\"Symbols\":\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{\"locale\":\"es\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",\"Actions\":\"Acciones\",\"Activities\":\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",\"Choose\":\"Elegir\",\"Close\":\"Cerrar\",\"Custom\":\"Personalizado\",\"Flags\":\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",\"Next\":\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",\"Objects\":\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",\"Previous\":\"Anterior\",\"Search\":\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",\"Settings\":\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",\"Symbols\":\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{\"locale\":\"eu\",\"translations\":{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",\"Choose\":\"Aukeratu\",\"Close\":\"Itxi\",\"Next\":\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",\"Previous\":\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",\"Settings\":\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{\"locale\":\"fi_FI\",\"translations\":{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",\"Actions\":\"Toiminnot\",\"Activities\":\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",\"Choose\":\"Valitse\",\"Close\":\"Sulje\",\"Custom\":\"Mukautettu\",\"Flags\":\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",\"Next\":\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",\"Objects\":\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",\"Previous\":\"Edellinen\",\"Search\":\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",\"Settings\":\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",\"Symbols\":\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{\"locale\":\"fr\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",\"Actions\":\"Actions\",\"Activities\":\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",\"Choose\":\"Choisir\",\"Close\":\"Fermer\",\"Custom\":\"Personnalisé\",\"Flags\":\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",\"Next\":\"Suivant\",\"No emoji found\":\"Pas démoji trouvé\",\"No results\":\"Aucun résultat\",\"Objects\":\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",\"Previous\":\"Précédent\",\"Search\":\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",\"Settings\":\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",\"Symbols\":\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{\"locale\":\"gl\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",\"Actions\":\"Accións\",\"Activities\":\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Choose\":\"Escoller\",\"Close\":\"Pechar\",\"Custom\":\"Personalizado\",\"Flags\":\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",\"Next\":\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",\"Objects\":\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",\"Previous\":\"Anterir\",\"Search\":\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",\"Settings\":\"Axustes\",\"Settings navigation\":\"Navegación de axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",\"Symbols\":\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{\"locale\":\"he\",\"translations\":{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",\"Actions\":\"פעולות\",\"Activities\":\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",\"Choose\":\"בחירה\",\"Close\":\"סגירה\",\"Custom\":\"בהתאמה אישית\",\"Flags\":\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",\"Next\":\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",\"Objects\":\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",\"Previous\":\"הקודם\",\"Search\":\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",\"Settings\":\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",\"Symbols\":\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{\"locale\":\"hu_HU\",\"translations\":{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",\"Actions\":\"Műveletek\",\"Activities\":\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",\"Choose\":\"Válassszon\",\"Close\":\"Bezárás\",\"Custom\":\"Egyéni\",\"Flags\":\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",\"Next\":\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",\"Objects\":\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",\"Previous\":\"Előző\",\"Search\":\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",\"Settings\":\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",\"Symbols\":\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{\"locale\":\"is\",\"translations\":{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",\"Actions\":\"Aðgerðir\",\"Activities\":\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",\"Choose\":\"Velja\",\"Close\":\"Loka\",\"Custom\":\"Sérsniðið\",\"Flags\":\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",\"Next\":\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",\"Objects\":\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",\"Previous\":\"Fyrri\",\"Search\":\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",\"Settings\":\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",\"Symbols\":\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{\"locale\":\"it\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",\"Actions\":\"Azioni\",\"Activities\":\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Choose\":\"Scegli\",\"Close\":\"Chiudi\",\"Custom\":\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",\"Flags\":\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",\"Next\":\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",\"Objects\":\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",\"Previous\":\"Precedente\",\"Search\":\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",\"Settings\":\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",\"Submit\":\"Invia\",\"Symbols\":\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{\"locale\":\"ja_JP\",\"translations\":{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",\"Actions\":\"操作\",\"Activities\":\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Choose\":\"選択\",\"Close\":\"閉じる\",\"Custom\":\"カスタム\",\"Flags\":\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",\"Next\":\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",\"Objects\":\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",\"Previous\":\"前\",\"Search\":\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",\"Settings\":\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",\"Symbols\":\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{\"locale\":\"lt_LT\",\"translations\":{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",\"Actions\":\"Veiksmai\",\"Activities\":\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",\"Choose\":\"Pasirinkti\",\"Close\":\"Užverti\",\"Custom\":\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",\"Flags\":\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",\"Next\":\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",\"Objects\":\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",\"Previous\":\"Ankstesnis\",\"Search\":\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",\"Settings\":\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",\"Submit\":\"Pateikti\",\"Symbols\":\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{\"locale\":\"lv\",\"translations\":{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",\"Choose\":\"Izvēlēties\",\"Close\":\"Aizvērt\",\"Next\":\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",\"Previous\":\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",\"Settings\":\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{\"locale\":\"mk\",\"translations\":{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",\"Actions\":\"Акции\",\"Activities\":\"Активности\",\"Animals & Nature\":\"Животни & Природа\",\"Choose\":\"Избери\",\"Close\":\"Затвори\",\"Custom\":\"Прилагодени\",\"Flags\":\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",\"Next\":\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",\"Objects\":\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",\"Previous\":\"Предходно\",\"Search\":\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",\"Settings\":\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",\"Symbols\":\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{\"locale\":\"nb_NO\",\"translations\":{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",\"Actions\":\"Handlinger\",\"Activities\":\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",\"Choose\":\"Velg\",\"Close\":\"Lukk\",\"Custom\":\"Selvvalgt\",\"Flags\":\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",\"Next\":\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",\"Objects\":\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",\"Previous\":\"Forrige\",\"Search\":\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",\"Settings\":\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",\"Symbols\":\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{\"locale\":\"nl\",\"translations\":{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",\"Actions\":\"Acties\",\"Activities\":\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Choose\":\"Kies\",\"Close\":\"Sluiten\",\"Custom\":\"Aangepast\",\"Flags\":\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",\"Next\":\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",\"Objects\":\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",\"Previous\":\"Vorige\",\"Search\":\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",\"Settings\":\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",\"Symbols\":\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{\"locale\":\"oc\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",\"Actions\":\"Accions\",\"Choose\":\"Causir\",\"Close\":\"Tampar\",\"Next\":\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",\"Previous\":\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",\"Settings\":\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{\"locale\":\"pl\",\"translations\":{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",\"Actions\":\"Działania\",\"Activities\":\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Choose\":\"Wybierz\",\"Close\":\"Zamknij\",\"Custom\":\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",\"Flags\":\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",\"Next\":\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",\"Objects\":\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Previous\":\"Poprzedni\",\"Search\":\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",\"Settings\":\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",\"Submit\":\"Wyślij\",\"Symbols\":\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{\"locale\":\"pt_BR\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",\"Actions\":\"Ações\",\"Activities\":\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Choose\":\"Escolher\",\"Close\":\"Fechar\",\"Custom\":\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",\"Flags\":\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",\"Next\":\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",\"Objects\":\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Previous\":\"Anterior\",\"Search\":\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",\"Settings\":\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",\"Submit\":\"Enviar\",\"Symbols\":\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{\"locale\":\"pt_PT\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",\"Actions\":\"Ações\",\"Choose\":\"Escolher\",\"Close\":\"Fechar\",\"Next\":\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",\"Previous\":\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",\"Settings\":\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{\"locale\":\"ru\",\"translations\":{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",\"Choose\":\"Выберите\",\"Close\":\"Закрыть\",\"Next\":\"Следующее\",\"No results\":\"Результаты отсуствуют\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"Previous\":\"Предыдущее\",\"Select a tag\":\"Выберите метку\",\"Settings\":\"Параметры\",\"Start slideshow\":\"Начать показ слайдов\"}},{\"locale\":\"sk_SK\",\"translations\":{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",\"Actions\":\"Akcie\",\"Activities\":\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Choose\":\"Vybrať\",\"Close\":\"Zatvoriť\",\"Custom\":\"Zvyk\",\"Flags\":\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Next\":\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",\"Objects\":\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",\"Previous\":\"Predchádzajúci\",\"Search\":\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",\"Settings\":\"Nastavenia\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",\"Symbols\":\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\"}},{\"locale\":\"sl\",\"translations\":{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",\"Actions\":\"Dejanja\",\"Activities\":\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",\"Choose\":\"Izbor\",\"Close\":\"Zapri\",\"Custom\":\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",\"Flags\":\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",\"Next\":\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",\"Objects\":\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",\"Previous\":\"Predhodni\",\"Search\":\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",\"Settings\":\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",\"Submit\":\"Pošlji\",\"Symbols\":\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{\"locale\":\"sv\",\"translations\":{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",\"Actions\":\"Åtgärder\",\"Activities\":\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Choose\":\"Välj\",\"Close\":\"Stäng\",\"Custom\":\"Anpassad\",\"Flags\":\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",\"Next\":\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",\"Objects\":\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",\"Previous\":\"Föregående\",\"Search\":\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",\"Settings\":\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",\"Symbols\":\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{\"locale\":\"tr\",\"translations\":{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",\"Actions\":\"İşlemler\",\"Activities\":\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Choose\":\"Seçin\",\"Close\":\"Kapat\",\"Custom\":\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",\"Flags\":\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",\"Next\":\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",\"Objects\":\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Previous\":\"Önceki\",\"Search\":\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",\"Settings\":\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",\"Submit\":\"Gönder\",\"Symbols\":\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{\"locale\":\"uk\",\"translations\":{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",\"Actions\":\"Дії\",\"Activities\":\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",\"Choose\":\"Виберіть\",\"Close\":\"Закрити\",\"Custom\":\"Власне\",\"Flags\":\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",\"Next\":\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",\"Objects\":\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",\"Previous\":\"Назад\",\"Search\":\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",\"Settings\":\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",\"Symbols\":\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{\"locale\":\"zh_CN\",\"translations\":{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",\"Actions\":\"行为\",\"Activities\":\"活动\",\"Animals & Nature\":\"动物 & 自然\",\"Choose\":\"选择\",\"Close\":\"关闭\",\"Custom\":\"自定义\",\"Flags\":\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",\"Next\":\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",\"Objects\":\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",\"Previous\":\"上一个\",\"Search\":\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",\"Settings\":\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",\"Symbols\":\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{\"locale\":\"zh_HK\",\"translations\":{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",\"Actions\":\"動作\",\"Activities\":\"活動\",\"Animals & Nature\":\"動物與自然\",\"Choose\":\"選擇\",\"Close\":\"關閉\",\"Custom\":\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",\"Flags\":\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",\"Next\":\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",\"Objects\":\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Previous\":\"上一個\",\"Search\":\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",\"Settings\":\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",\"Submit\":\"提交\",\"Symbols\":\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{\"locale\":\"zh_TW\",\"translations\":{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",\"Actions\":\"動作\",\"Activities\":\"活動\",\"Animals & Nature\":\"動物與自然\",\"Choose\":\"選擇\",\"Close\":\"關閉\",\"Custom\":\"自定義\",\"Flags\":\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",\"Next\":\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",\"Objects\":\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Previous\":\"上一個\",\"Search\":\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",\"Settings\":\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",\"Symbols\":\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach(function (lang) {\n var translations = {};\n\n for (var key in lang.translations) {\n // Plural\n if (lang.translations[key].pluralId) {\n translations[key] = {\n msgid: key,\n msgid_plural: lang.translations[key].pluralId,\n msgstr: lang.translations[key].msgstr\n };\n continue;\n } // Singular\n\n\n translations[key] = {\n msgid: key,\n msgstr: [lang.translations[key]]\n };\n }\n\n gtBuilder.addTranslation(lang.locale, {\n translations: {\n '': translations\n }\n });\n});\nvar gt = gtBuilder.build();\nvar n = gt.ngettext.bind(gt);\nvar t = gt.gettext.bind(gt);\n\n\n/***/ }),\n\n/***/ \"./src/mixins/excludeClickOutsideClasses/index.js\":\n/*!********************************************************!*\\\n !*** ./src/mixins/excludeClickOutsideClasses/index.js ***!\n \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.slice.js */ \"core-js/modules/es.array.slice.js\");\n/* harmony import */ var core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.from.js */ \"core-js/modules/es.array.from.js\");\n/* harmony import */ var core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_from_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ \"core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"core-js/modules/es.symbol.description.js\");\n/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"core-js/modules/es.symbol.iterator.js\");\n/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_9__);\n\n\n\n\n\n\n\n\n\n\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n /**\n * A class-name or an array of class-names\n * to be ignored when clicking outside\n * an element\n */\n excludeClickOutsideClasses: {\n type: String | Array,\n default: function _default() {\n return [];\n }\n }\n },\n methods: {\n /**\n * Middleware Handler for V-Click-Outside\n *\n * @param {Event} event The click event\n * @returns {Boolean}\n */\n clickOutsideMiddleware: function clickOutsideMiddleware(event) {\n var excludedClassList = Array.isArray(this.excludeClickOutsideClasses) ? this.excludeClickOutsideClasses : [this.excludeClickOutsideClasses]; // No need to iterate through all parents\n // if class-list is empty\n\n if (excludedClassList.length === 0) {\n return true;\n }\n\n return !this.hasNodeOrAnyParentClass(event.target, excludedClassList);\n },\n\n /**\n * Checks if given node or any of it's parents have a class of classArray\n *\n * @param {Element} node Node to test\n * @param {Array} classArray List of classes to check for\n * @returns {Boolean}\n */\n hasNodeOrAnyParentClass: function hasNodeOrAnyParentClass(node, classArray) {\n var _iterator = _createForOfIteratorHelper(classArray),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _node$classList;\n\n var className = _step.value;\n\n if (node !== null && node !== void 0 && (_node$classList = node.classList) !== null && _node$classList !== void 0 && _node$classList.contains(className)) {\n return true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return !!node.parentElement && this.hasNodeOrAnyParentClass(node.parentElement, classArray);\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/mixins/index.js\":\n/*!*****************************!*\\\n !*** ./src/mixins/index.js ***!\n \\*****************************/\n/*! exports provided: excludeClickOutsideClasses, isFullscreen, isMobile, richEditor, userStatus */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _excludeClickOutsideClasses__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./excludeClickOutsideClasses */ \"./src/mixins/excludeClickOutsideClasses/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"excludeClickOutsideClasses\", function() { return _excludeClickOutsideClasses__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _isFullscreen__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isFullscreen */ \"./src/mixins/isFullscreen/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isFullscreen\", function() { return _isFullscreen__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _isMobile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isMobile */ \"./src/mixins/isMobile/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isMobile\", function() { return _isMobile__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _richEditor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./richEditor */ \"./src/mixins/richEditor/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"richEditor\", function() { return _richEditor__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _userStatus__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./userStatus */ \"./src/mixins/userStatus.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"userStatus\", function() { return _userStatus__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/mixins/isFullscreen/index.js\":\n/*!******************************************!*\\\n !*** ./src/mixins/isFullscreen/index.js ***!\n \\******************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data: function data() {\n return {\n isFullscreen: this._isFullscreen()\n };\n },\n beforeMount: function beforeMount() {\n window.addEventListener('resize', this._onResize);\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('resize', this._onResize);\n },\n methods: {\n _onResize: function _onResize() {\n // Update fullscreen mode\n this.isFullscreen = this._isFullscreen();\n },\n _isFullscreen: function _isFullscreen() {\n // if the window height is equal to the screen height,\n // we're in full screen mode\n return window.outerHeight === screen.height;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/mixins/isMobile/index.js\":\n/*!**************************************!*\\\n !*** ./src/mixins/isMobile/index.js ***!\n \\**************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_IsMobileState__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/IsMobileState */ \"./src/utils/IsMobileState.js\");\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data: function data() {\n return {\n isMobile: false\n };\n },\n mounted: function mounted() {\n _utils_IsMobileState__WEBPACK_IMPORTED_MODULE_0__[\"IsMobileState\"].$on('changed', this.onIsMobileChanged);\n this.isMobile = _utils_IsMobileState__WEBPACK_IMPORTED_MODULE_0__[\"IsMobileState\"].isMobile;\n },\n beforeDestroy: function beforeDestroy() {\n _utils_IsMobileState__WEBPACK_IMPORTED_MODULE_0__[\"IsMobileState\"].$off('changed', this.onIsMobileChanged);\n },\n methods: {\n onIsMobileChanged: function onIsMobileChanged(val) {\n this.isMobile = val;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/mixins/richEditor/index.js\":\n/*!****************************************!*\\\n !*** ./src/mixins/richEditor/index.js ***!\n \\****************************************/\n/*! exports provided: USERID_REGEX, USERID_REGEX_WITH_SPACE, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"USERID_REGEX\", function() { return USERID_REGEX; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"USERID_REGEX_WITH_SPACE\", function() { return USERID_REGEX_WITH_SPACE; });\n/* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ \"core-js/modules/es.regexp.constructor.js\");\n/* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"core-js/modules/es.regexp.to-string.js\");\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_flat_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.flat.js */ \"core-js/modules/es.array.flat.js\");\n/* harmony import */ var core_js_modules_es_array_flat_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_flat_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ \"core-js/modules/es.string.split.js\");\n/* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ \"core-js/modules/es.string.replace.js\");\n/* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ \"core-js/modules/es.array.join.js\");\n/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.string.starts-with.js */ \"core-js/modules/es.string.starts-with.js\");\n/* harmony import */ var core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_starts_with_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! escape-html */ \"escape-html\");\n/* harmony import */ var escape_html__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(escape_html__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var linkifyjs_string__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! linkifyjs/string */ \"linkifyjs/string\");\n/* harmony import */ var linkifyjs_string__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(linkifyjs_string__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var striptags__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! striptags */ \"striptags\");\n/* harmony import */ var striptags__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(striptags__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _components_RichContenteditable_MentionBubble__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../components/RichContenteditable/MentionBubble */ \"./src/components/RichContenteditable/MentionBubble.vue\");\n\n\n\n\n\n\n\n\n\n\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\n\n\n // Beginning or whitespace. Non-capturing group\n\nvar MENTION_START = '(?:^|\\\\s)'; // Anything that is not text or end-of-line. Non-capturing group\n\nvar MENTION_END = '(?:[^a-z]|$)';\nvar USERID_REGEX = new RegExp(\"\".concat(MENTION_START, \"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(MENTION_END, \")\"), 'gi');\nvar USERID_REGEX_WITH_SPACE = new RegExp(\"\".concat(MENTION_START, \"(@\\\"[a-zA-Z0-9 _.@\\\\-']+\\\")(\").concat(MENTION_END, \")\"), 'gi');\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n userData: {\n type: Object,\n default: function _default() {\n return {};\n }\n }\n },\n methods: {\n /**\n * Convert the value string to html for the inner content\n *\n * @param {string} value the content without html\n * @returns {string} rendered html\n */\n renderContent: function renderContent(value) {\n var _this = this;\n\n // Sanitize the value prop\n var sanitizedValue = escape_html__WEBPACK_IMPORTED_MODULE_9___default()(value); // Extract all the userIds\n\n var splitValue = sanitizedValue.split(USERID_REGEX).map(function (part) {\n return part.split(USERID_REGEX_WITH_SPACE);\n }).flat(); // Replace userIds by html\n\n return splitValue.map(function (part) {\n // When splitting, the string is always putting the userIds\n // on the the uneven indexes. We only want to generate the mentions html\n if (!part.startsWith('@')) {\n // This part doesn't contain a mention, let's make sure links are parsed\n return linkifyjs_string__WEBPACK_IMPORTED_MODULE_10___default()(part, {\n defaultProtocol: 'https',\n target: '_blank',\n className: 'external',\n attributes: {\n rel: 'noopener noreferrer'\n }\n });\n } // Extracting the id, nuking the \" and @\n\n\n var id = part.replace(/[@\"]/gi, ''); // Compiling template and prepend with the space we removed during the split\n\n return ' ' + _this.genSelectTemplate(id);\n }).join('').replace(/\\n/gmi, '<br>').replace(/&amp;/gmi, '&');\n },\n\n /**\n * Convert the innerHtml content to a string with mentions as text\n *\n * @param {string} content the content without html\n * @returns {string}\n */\n parseContent: function parseContent(content) {\n var text = content.replace(/<br>/gmi, '\\n');\n text = text.replace(/&nbsp;/gmi, ' ');\n text = text.replace(/&amp;/gmi, '&'); // Convert the mentions to text only\n // first we replace divs with new lines\n\n text = text.replace(/<\\/div>/gmi, '\\n'); // then we remove all leftover html\n\n text = striptags__WEBPACK_IMPORTED_MODULE_11___default()(text, '<div>');\n text = striptags__WEBPACK_IMPORTED_MODULE_11___default()(text);\n return text;\n },\n\n /**\n * Generate an autocompletion popup entry template\n *\n * @param {string} value the value to match against the userData\n * @returns {string}\n */\n genSelectTemplate: function genSelectTemplate(value) {\n var data = this.userData[value]; // Fallback to @mention in case no data matches\n\n if (!data) {\n // return `@${value}`\n return value.indexOf(' ') === -1 ? \"@\".concat(value) : \"@\\\"\".concat(value, \"\\\"\");\n } // Return template and make sure we strip of new lines and tabs\n\n\n return this.renderComponentHtml(data, _components_RichContenteditable_MentionBubble__WEBPACK_IMPORTED_MODULE_13__[\"default\"]).replace(/[\\n\\t]/gmi, '');\n },\n\n /**\n * Render a component and return its html content\n *\n * @param {Object} propsData the props to pass to the component\n * @param {Object} component the component to render\n * @returns {string} the rendered html\n */\n renderComponentHtml: function renderComponentHtml(propsData, component) {\n var View = vue__WEBPACK_IMPORTED_MODULE_12___default.a.extend(component);\n var Item = new View({\n propsData: propsData\n }); // Prepare mountpoint\n\n var wrapper = document.createElement('div');\n var mount = document.createElement('div');\n wrapper.style.display = 'none';\n wrapper.appendChild(mount);\n document.body.appendChild(wrapper); // Mount and get raw html\n\n Item.$mount(mount);\n var renderedHtml = wrapper.innerHTML; // Destroy\n\n Item.$destroy();\n wrapper.remove();\n return renderedHtml;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/mixins/userStatus.js\":\n/*!**********************************!*\\\n !*** ./src/mixins/userStatus.js ***!\n \\**********************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.promise.js */ \"core-js/modules/es.promise.js\");\n/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! regenerator-runtime/runtime.js */ \"regenerator-runtime/runtime.js\");\n/* harmony import */ var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @nextcloud/axios */ \"@nextcloud/axios\");\n/* harmony import */ var _nextcloud_axios__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_axios__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @nextcloud/router */ \"@nextcloud/router\");\n/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_router__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _nextcloud_capabilities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @nextcloud/capabilities */ \"@nextcloud/capabilities\");\n/* harmony import */ var _nextcloud_capabilities__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_capabilities__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _nextcloud_auth__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @nextcloud/auth */ \"@nextcloud/auth\");\n/* harmony import */ var _nextcloud_auth__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_auth__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data: function data() {\n return {\n hasStatus: false,\n userStatus: {\n status: null,\n message: null,\n icon: null\n }\n };\n },\n methods: {\n /**\n * Fetches the user-status from the server\n * @param {String} userId UserId of the user to fetch the status for\n *\n * @returns {Promise<void>}\n */\n fetchUserStatus: function fetchUserStatus(userId) {\n var _this = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var capabilities, _yield$axios$get, data, _data$ocs$data, status, message, icon, _e$response$data$ocs, _e$response$data$ocs$;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n capabilities = Object(_nextcloud_capabilities__WEBPACK_IMPORTED_MODULE_5__[\"getCapabilities\"])();\n\n if (!(!Object.prototype.hasOwnProperty.call(capabilities, 'user_status') || !capabilities.user_status.enabled)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 3:\n if (Object(_nextcloud_auth__WEBPACK_IMPORTED_MODULE_6__[\"getCurrentUser\"])()) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 5:\n _context.prev = 5;\n _context.next = 8;\n return _nextcloud_axios__WEBPACK_IMPORTED_MODULE_3___default.a.get(Object(_nextcloud_router__WEBPACK_IMPORTED_MODULE_4__[\"generateOcsUrl\"])('apps/user_status/api/v1', 2) + \"statuses/\".concat(encodeURIComponent(userId)));\n\n case 8:\n _yield$axios$get = _context.sent;\n data = _yield$axios$get.data;\n _data$ocs$data = data.ocs.data, status = _data$ocs$data.status, message = _data$ocs$data.message, icon = _data$ocs$data.icon;\n _this.userStatus.status = status;\n _this.userStatus.message = message || '';\n _this.userStatus.icon = icon || '';\n _this.hasStatus = true;\n _context.next = 22;\n break;\n\n case 17:\n _context.prev = 17;\n _context.t0 = _context[\"catch\"](5);\n\n if (!(_context.t0.response.status === 404 && ((_e$response$data$ocs = _context.t0.response.data.ocs) === null || _e$response$data$ocs === void 0 ? void 0 : (_e$response$data$ocs$ = _e$response$data$ocs.data) === null || _e$response$data$ocs$ === void 0 ? void 0 : _e$response$data$ocs$.length) === 0)) {\n _context.next = 21;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 21:\n console.error(_context.t0);\n\n case 22:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[5, 17]]);\n }))();\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/utils/IsMobileState.js\":\n/*!************************************!*\\\n !*** ./src/utils/IsMobileState.js ***!\n \\************************************/\n/*! exports provided: IsMobileState */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IsMobileState\", function() { return IsMobileState; });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n/**\n * @copyright Copyright (c) 2019 Kristof Hamann, Paul Schwörer\n *\n * @author Kristof Hamann\n * @author Paul Schwörer\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nvar IsMobileState = new vue__WEBPACK_IMPORTED_MODULE_0___default.a({\n data: function data() {\n return {\n isMobile: false\n };\n },\n watch: {\n isMobile: function isMobile(val) {\n this.$emit('changed', val);\n }\n },\n created: function created() {\n window.addEventListener('resize', this.handleWindowResize);\n this.handleWindowResize();\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('resize', this.handleWindowResize);\n },\n methods: {\n handleWindowResize: function handleWindowResize() {\n this.isMobile = document.documentElement.clientWidth < 1024;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"@nextcloud/auth\":\n/*!**********************************!*\\\n !*** external \"@nextcloud/auth\" ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@nextcloud/auth\");\n\n/***/ }),\n\n/***/ \"@nextcloud/axios\":\n/*!***********************************!*\\\n !*** external \"@nextcloud/axios\" ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@nextcloud/axios\");\n\n/***/ }),\n\n/***/ \"@nextcloud/capabilities\":\n/*!******************************************!*\\\n !*** external \"@nextcloud/capabilities\" ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@nextcloud/capabilities\");\n\n/***/ }),\n\n/***/ \"@nextcloud/l10n/dist/gettext\":\n/*!***********************************************!*\\\n !*** external \"@nextcloud/l10n/dist/gettext\" ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@nextcloud/l10n/dist/gettext\");\n\n/***/ }),\n\n/***/ \"@nextcloud/router\":\n/*!************************************!*\\\n !*** external \"@nextcloud/router\" ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"@nextcloud/router\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.flat.js\":\n/*!***************************************************!*\\\n !*** external \"core-js/modules/es.array.flat.js\" ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.flat.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.from.js\":\n/*!***************************************************!*\\\n !*** external \"core-js/modules/es.array.from.js\" ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.from.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.iterator.js\":\n/*!*******************************************************!*\\\n !*** external \"core-js/modules/es.array.iterator.js\" ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.join.js\":\n/*!***************************************************!*\\\n !*** external \"core-js/modules/es.array.join.js\" ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.join.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.map.js\":\n/*!**************************************************!*\\\n !*** external \"core-js/modules/es.array.map.js\" ***!\n \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.map.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.slice.js\":\n/*!****************************************************!*\\\n !*** external \"core-js/modules/es.array.slice.js\" ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.slice.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.function.name.js\":\n/*!******************************************************!*\\\n !*** external \"core-js/modules/es.function.name.js\" ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.function.name.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.object.to-string.js\":\n/*!*********************************************************!*\\\n !*** external \"core-js/modules/es.object.to-string.js\" ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.object.to-string.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.promise.js\":\n/*!************************************************!*\\\n !*** external \"core-js/modules/es.promise.js\" ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.promise.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.regexp.constructor.js\":\n/*!***********************************************************!*\\\n !*** external \"core-js/modules/es.regexp.constructor.js\" ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.regexp.constructor.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.regexp.exec.js\":\n/*!****************************************************!*\\\n !*** external \"core-js/modules/es.regexp.exec.js\" ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.regexp.exec.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.regexp.to-string.js\":\n/*!*********************************************************!*\\\n !*** external \"core-js/modules/es.regexp.to-string.js\" ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.regexp.to-string.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.iterator.js\":\n/*!********************************************************!*\\\n !*** external \"core-js/modules/es.string.iterator.js\" ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.replace.js\":\n/*!*******************************************************!*\\\n !*** external \"core-js/modules/es.string.replace.js\" ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.replace.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.split.js\":\n/*!*****************************************************!*\\\n !*** external \"core-js/modules/es.string.split.js\" ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.split.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.starts-with.js\":\n/*!***********************************************************!*\\\n !*** external \"core-js/modules/es.string.starts-with.js\" ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.starts-with.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.symbol.description.js\":\n/*!***********************************************************!*\\\n !*** external \"core-js/modules/es.symbol.description.js\" ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.symbol.description.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.symbol.iterator.js\":\n/*!********************************************************!*\\\n !*** external \"core-js/modules/es.symbol.iterator.js\" ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.symbol.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.symbol.js\":\n/*!***********************************************!*\\\n !*** external \"core-js/modules/es.symbol.js\" ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.symbol.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/web.dom-collections.for-each.js\":\n/*!******************************************************************!*\\\n !*** external \"core-js/modules/web.dom-collections.for-each.js\" ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/web.dom-collections.for-each.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/web.dom-collections.iterator.js\":\n/*!******************************************************************!*\\\n !*** external \"core-js/modules/web.dom-collections.iterator.js\" ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/web.dom-collections.iterator.js\");\n\n/***/ }),\n\n/***/ \"escape-html\":\n/*!******************************!*\\\n !*** external \"escape-html\" ***!\n \\******************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"escape-html\");\n\n/***/ }),\n\n/***/ \"linkifyjs/string\":\n/*!***********************************!*\\\n !*** external \"linkifyjs/string\" ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"linkifyjs/string\");\n\n/***/ }),\n\n/***/ \"regenerator-runtime/runtime.js\":\n/*!*************************************************!*\\\n !*** external \"regenerator-runtime/runtime.js\" ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"regenerator-runtime/runtime.js\");\n\n/***/ }),\n\n/***/ \"striptags\":\n/*!****************************!*\\\n !*** external \"striptags\" ***!\n \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"striptags\");\n\n/***/ }),\n\n/***/ \"v-click-outside\":\n/*!**********************************!*\\\n !*** external \"v-click-outside\" ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"v-click-outside\");\n\n/***/ }),\n\n/***/ \"vue\":\n/*!**********************!*\\\n !*** external \"vue\" ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue\");\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvblNldHRpbmdzL0FwcE5hdmlnYXRpb25TZXR0aW5ncy52dWUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL01lbnRpb25CdWJibGUudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MvQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZT9iNDhlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL01lbnRpb25CdWJibGUudnVlPzhkZGYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MvQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZT8wMmI4Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL01lbnRpb25CdWJibGUudnVlPzllYTIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvblNldHRpbmdzL0FwcE5hdmlnYXRpb25TZXR0aW5ncy52dWU/NzdhNSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUmljaENvbnRlbnRlZGl0YWJsZS9NZW50aW9uQnViYmxlLnZ1ZT84ODVhIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MvQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvblNldHRpbmdzL0FwcE5hdmlnYXRpb25TZXR0aW5ncy52dWU/M2UzYyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvblNldHRpbmdzL0FwcE5hdmlnYXRpb25TZXR0aW5ncy52dWU/OWI0NiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvblNldHRpbmdzL0FwcE5hdmlnYXRpb25TZXR0aW5ncy52dWU/MjdkMSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvQXBwTmF2aWdhdGlvblNldHRpbmdzL2luZGV4LmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL01lbnRpb25CdWJibGUudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL01lbnRpb25CdWJibGUudnVlPzY4MjUiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1JpY2hDb250ZW50ZWRpdGFibGUvTWVudGlvbkJ1YmJsZS52dWU/ZWQ4MCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUmljaENvbnRlbnRlZGl0YWJsZS9NZW50aW9uQnViYmxlLnZ1ZT9iMDQyIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvbDEwbi5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL21peGlucy9leGNsdWRlQ2xpY2tPdXRzaWRlQ2xhc3Nlcy9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL21peGlucy9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL21peGlucy9pc0Z1bGxzY3JlZW4vaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9taXhpbnMvaXNNb2JpbGUvaW5kZXguanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9taXhpbnMvcmljaEVkaXRvci9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL21peGlucy91c2VyU3RhdHVzLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvdXRpbHMvSXNNb2JpbGVTdGF0ZS5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiQG5leHRjbG91ZC9hdXRoXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcIkBuZXh0Y2xvdWQvYXhpb3NcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiQG5leHRjbG91ZC9jYXBhYmlsaXRpZXNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiQG5leHRjbG91ZC9sMTBuL2Rpc3QvZ2V0dGV4dFwiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJAbmV4dGNsb3VkL3JvdXRlclwiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmxhdC5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZnJvbS5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuaXRlcmF0b3IuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmpvaW4uanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc2xpY2UuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnByb21pc2UuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5jb25zdHJ1Y3Rvci5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50by1zdHJpbmcuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pdGVyYXRvci5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnJlcGxhY2UuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5zcGxpdC5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnN0YXJ0cy13aXRoLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5zeW1ib2wuZGVzY3JpcHRpb24uanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC5pdGVyYXRvci5qc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLml0ZXJhdG9yLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImVzY2FwZS1odG1sXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImxpbmtpZnlqcy9zdHJpbmdcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwicmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcInN0cmlwdGFnc1wiIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vZXh0ZXJuYWwgXCJ2LWNsaWNrLW91dHNpZGVcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwidnVlXCIiXSwibmFtZXMiOlsiQXBwTmF2aWdhdGlvblNldHRpbmdzIiwiZ3RCdWlsZGVyIiwiZ2V0R2V0dGV4dEJ1aWxkZXIiLCJkZXRlY3RMb2NhbGUiLCJUUkFOU0xBVElPTlMiLCJmb3JFYWNoIiwibGFuZyIsInRyYW5zbGF0aW9ucyIsImtleSIsInBsdXJhbElkIiwibXNnaWQiLCJtc2dpZF9wbHVyYWwiLCJtc2dzdHIiLCJhZGRUcmFuc2xhdGlvbiIsImxvY2FsZSIsImd0IiwiYnVpbGQiLCJuIiwibmdldHRleHQiLCJiaW5kIiwidCIsImdldHRleHQiLCJwcm9wcyIsImV4Y2x1ZGVDbGlja091dHNpZGVDbGFzc2VzIiwidHlwZSIsIlN0cmluZyIsIkFycmF5IiwiZGVmYXVsdCIsIm1ldGhvZHMiLCJjbGlja091dHNpZGVNaWRkbGV3YXJlIiwiZXZlbnQiLCJleGNsdWRlZENsYXNzTGlzdCIsImlzQXJyYXkiLCJsZW5ndGgiLCJoYXNOb2RlT3JBbnlQYXJlbnRDbGFzcyIsInRhcmdldCIsIm5vZGUiLCJjbGFzc0FycmF5IiwiY2xhc3NOYW1lIiwiY2xhc3NMaXN0IiwiY29udGFpbnMiLCJwYXJlbnRFbGVtZW50IiwiZGF0YSIsImlzRnVsbHNjcmVlbiIsIl9pc0Z1bGxzY3JlZW4iLCJiZWZvcmVNb3VudCIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJfb25SZXNpemUiLCJiZWZvcmVEZXN0cm95IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm91dGVySGVpZ2h0Iiwic2NyZWVuIiwiaGVpZ2h0IiwiaXNNb2JpbGUiLCJtb3VudGVkIiwiSXNNb2JpbGVTdGF0ZSIsIiRvbiIsIm9uSXNNb2JpbGVDaGFuZ2VkIiwiJG9mZiIsInZhbCIsIk1FTlRJT05fU1RBUlQiLCJNRU5USU9OX0VORCIsIlVTRVJJRF9SRUdFWCIsIlJlZ0V4cCIsIlVTRVJJRF9SRUdFWF9XSVRIX1NQQUNFIiwidXNlckRhdGEiLCJPYmplY3QiLCJyZW5kZXJDb250ZW50IiwidmFsdWUiLCJzYW5pdGl6ZWRWYWx1ZSIsImVzY2FwZUh0bWwiLCJzcGxpdFZhbHVlIiwic3BsaXQiLCJtYXAiLCJwYXJ0IiwiZmxhdCIsInN0YXJ0c1dpdGgiLCJsaW5raWZ5U3RyIiwiZGVmYXVsdFByb3RvY29sIiwiYXR0cmlidXRlcyIsInJlbCIsImlkIiwicmVwbGFjZSIsImdlblNlbGVjdFRlbXBsYXRlIiwiam9pbiIsInBhcnNlQ29udGVudCIsImNvbnRlbnQiLCJ0ZXh0Iiwic3RyaXBUYWdzIiwiaW5kZXhPZiIsInJlbmRlckNvbXBvbmVudEh0bWwiLCJNZW50aW9uQnViYmxlIiwicHJvcHNEYXRhIiwiY29tcG9uZW50IiwiVmlldyIsIlZ1ZSIsImV4dGVuZCIsIkl0ZW0iLCJ3cmFwcGVyIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwibW91bnQiLCJzdHlsZSIsImRpc3BsYXkiLCJhcHBlbmRDaGlsZCIsImJvZHkiLCIkbW91bnQiLCJyZW5kZXJlZEh0bWwiLCJpbm5lckhUTUwiLCIkZGVzdHJveSIsInJlbW92ZSIsImhhc1N0YXR1cyIsInVzZXJTdGF0dXMiLCJzdGF0dXMiLCJtZXNzYWdlIiwiaWNvbiIsImZldGNoVXNlclN0YXR1cyIsInVzZXJJZCIsImNhcGFiaWxpdGllcyIsImdldENhcGFiaWxpdGllcyIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInVzZXJfc3RhdHVzIiwiZW5hYmxlZCIsImdldEN1cnJlbnRVc2VyIiwiYXhpb3MiLCJnZXQiLCJnZW5lcmF0ZU9jc1VybCIsImVuY29kZVVSSUNvbXBvbmVudCIsIm9jcyIsInJlc3BvbnNlIiwiY29uc29sZSIsImVycm9yIiwid2F0Y2giLCIkZW1pdCIsImNyZWF0ZWQiLCJoYW5kbGVXaW5kb3dSZXNpemUiLCJkb2N1bWVudEVsZW1lbnQiLCJjbGllbnRXaWR0aCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRCxDQUFDO0FBQ0QsTztRQ1ZBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBOzs7UUFHQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0EsMENBQTBDLGdDQUFnQztRQUMxRTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLHdEQUF3RCxrQkFBa0I7UUFDMUU7UUFDQSxpREFBaUQsY0FBYztRQUMvRDs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0EseUNBQXlDLGlDQUFpQztRQUMxRSxnSEFBZ0gsbUJBQW1CLEVBQUU7UUFDckk7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSwyQkFBMkIsMEJBQTBCLEVBQUU7UUFDdkQsaUNBQWlD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O0FBQ1I4RyxzQkFEUSxnQ0FDYTtBQUNwQixXQUFLcEYsUUFBTCxHQUFnQjhDLFFBQVEsQ0FBQ3VDLGVBQVQsQ0FBeUJDLFdBQXpCLEdBQXVDLElBQXZEO0FBQ0E7QUFITztBQWxCMkIsQ0FBUixDQUF0QixDOzs7Ozs7Ozs7OztBQ3pCUCw0Qzs7Ozs7Ozs7Ozs7QUNBQSw2Qzs7Ozs7Ozs7Ozs7QUNBQSxvRDs7Ozs7Ozs7Ozs7QUNBQSx5RDs7Ozs7Ozs7Ozs7QUNBQSw4Qzs7Ozs7Ozs7Ozs7QUNBQSw2RDs7Ozs7Ozs7Ozs7QUNBQSw2RDs7Ozs7Ozs7Ozs7QUNBQSxpRTs7Ozs7Ozs7Ozs7QUNBQSw2RDs7Ozs7Ozs7Ozs7QUNBQSw0RDs7Ozs7Ozs7Ozs7QUNBQSw4RDs7Ozs7Ozs7Ozs7QUNBQSxnRTs7Ozs7Ozs7Ozs7QUNBQSxtRTs7Ozs7Ozs7Ozs7QUNBQSwwRDs7Ozs7Ozs7Ozs7QUNBQSxxRTs7Ozs7Ozs7Ozs7QUNBQSw4RDs7Ozs7Ozs7Ozs7QUNBQSxtRTs7Ozs7Ozs7Ozs7QUNBQSxrRTs7Ozs7Ozs7Ozs7QUNBQSxpRTs7Ozs7Ozs7Ozs7QUNBQSwrRDs7Ozs7Ozs7Ozs7QUNBQSxxRTs7Ozs7Ozs7Ozs7QUNBQSxxRTs7Ozs7Ozs7Ozs7QUNBQSxrRTs7Ozs7Ozs7Ozs7QUNBQSx5RDs7Ozs7Ozs7Ozs7QUNBQSw0RTs7Ozs7Ozs7Ozs7QUNBQSw0RTs7Ozs7Ozs7Ozs7QUNBQSx3Qzs7Ozs7Ozs7Ozs7QUNBQSw2Qzs7Ozs7Ozs7Ozs7QUNBQSwyRDs7Ozs7Ozs7Ozs7QUNBQSxzQzs7Ozs7Ozs7Ozs7QUNBQSw0Qzs7Ozs7Ozs7Ozs7QUNBQSxnQyIsImZpbGUiOiJDb21wb25lbnRzL0FwcE5hdmlnYXRpb25TZXR0aW5ncy5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFwiQ29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU2V0dGluZ3NcIiwgW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiQ29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU2V0dGluZ3NcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiTmV4dGNsb3VkVnVlXCJdID0gcm9vdFtcIk5leHRjbG91ZFZ1ZVwiXSB8fCB7fSwgcm9vdFtcIk5leHRjbG91ZFZ1ZVwiXVtcIkNvbXBvbmVudHMvQXBwTmF2aWdhdGlvblNldHRpbmdzXCJdID0gZmFjdG9yeSgpO1xufSkod2luZG93LCBmdW5jdGlvbigpIHtcbnJldHVybiAiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIi9kaXN0L1wiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gXCIuL3NyYy9jb21wb25lbnRzL0FwcE5hdmlnYXRpb25TZXR0aW5ncy9pbmRleC5qc1wiKTtcbiIsIjwhLS1cbiAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAtXG4gLSBAYXV0aG9yIENocmlzdG9waCBXdXJzdCA8Y2hyaXN0b3BoQHdpbnplcmhvZi13dXJzdC5hdD5cbiAtXG4gLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAtXG4gLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAtXG4gLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gLVxuIC0tPlxuXG48dGVtcGxhdGU+XG5cdDxkaXYgaWQ9XCJhcHAtc2V0dGluZ3NcIlxuXHRcdHYtY2xpY2stb3V0c2lkZT1cImNsaWNrT3V0c2lkZUNvbmZpZ1wiXG5cdFx0OmNsYXNzPVwieyBvcGVuIH1cIj5cblx0XHQ8ZGl2IGlkPVwiYXBwLXNldHRpbmdzLWhlYWRlclwiPlxuXHRcdFx0PGJ1dHRvbiBjbGFzcz1cInNldHRpbmdzLWJ1dHRvblwiXG5cdFx0XHRcdEBjbGljaz1cInRvZ2dsZU1lbnVcIj5cblx0XHRcdFx0e3sgdGl0bGUgfX1cblx0XHRcdDwvYnV0dG9uPlxuXHRcdDwvZGl2PlxuXHRcdDx0cmFuc2l0aW9uIG5hbWU9XCJzbGlkZS11cFwiPlxuXHRcdFx0PGRpdiB2LXNob3c9XCJvcGVuXCIgaWQ9XCJhcHAtc2V0dGluZ3MtY29udGVudFwiPlxuXHRcdFx0XHQ8c2xvdCAvPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC90cmFuc2l0aW9uPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgeyBkaXJlY3RpdmUgYXMgQ2xpY2tPdXRzaWRlIH0gZnJvbSAndi1jbGljay1vdXRzaWRlJ1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uLy4uL2wxMG4nXG5pbXBvcnQgeyBleGNsdWRlQ2xpY2tPdXRzaWRlQ2xhc3NlcyB9IGZyb20gJy4uLy4uL21peGlucydcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRkaXJlY3RpdmVzOiB7XG5cdFx0Q2xpY2tPdXRzaWRlLFxuXHR9LFxuXHRtaXhpbnM6IFtcblx0XHRleGNsdWRlQ2xpY2tPdXRzaWRlQ2xhc3Nlcyxcblx0XSxcblx0cHJvcHM6IHtcblx0XHR0aXRsZToge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0cmVxdWlyZWQ6IGZhbHNlLFxuXHRcdFx0ZGVmYXVsdDogdCgnU2V0dGluZ3MnKSxcblx0XHR9LFxuXHR9LFxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRvcGVuOiBmYWxzZSxcblx0XHRcdGNsaWNrT3V0c2lkZUNvbmZpZzoge1xuXHRcdFx0XHRoYW5kbGVyOiB0aGlzLmNsb3NlTWVudSxcblx0XHRcdFx0bWlkZGxld2FyZTogdGhpcy5jbGlja091dHNpZGVNaWRkbGV3YXJlLFxuXHRcdFx0fSxcblx0XHR9XG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHR0b2dnbGVNZW51KCkge1xuXHRcdFx0dGhpcy5vcGVuID0gIXRoaXMub3BlblxuXHRcdH0sXG5cdFx0Y2xvc2VNZW51KCkge1xuXHRcdFx0dGhpcy5vcGVuID0gZmFsc2Vcblx0XHR9LFxuXHR9LFxufVxuPC9zY3JpcHQ+XG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4jYXBwLXNldHRpbmdzLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iYWNrZ3JvdW5kKTtcblx0LyogcmVzdHJpY3QgaGVpZ2h0IG9mIHNldHRpbmdzIGFuZCBtYWtlIHNjcm9sbGFibGUgKi9cblx0bWF4LWhlaWdodDogMzAwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5zbGlkZS11cC1sZWF2ZS1hY3RpdmUsXG4uc2xpZGUtdXAtZW50ZXItYWN0aXZlIHtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tYW5pbWF0aW9uLXNsb3cpO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXgtaGVpZ2h0LCBwYWRkaW5nO1xuXHRvdmVyZmxvdy15OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLnNsaWRlLXVwLWVudGVyLFxuLnNsaWRlLXVwLWxlYXZlLXRvIHtcblx0bWF4LWhlaWdodDogMCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwIDEwcHggIWltcG9ydGFudDtcbn1cblxuPC9zdHlsZT5cbiIsIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAyMCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICAtIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICAtXG4gIC0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gIC0gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbi0tPlxuXG48dGVtcGxhdGU+XG5cdDxzcGFuIDpjbGFzcz1cInsnbWVudGlvbi1idWJibGUtLXByaW1hcnknOiBwcmltYXJ5fVwiXG5cdFx0Y2xhc3M9XCJtZW50aW9uLWJ1YmJsZVwiXG5cdFx0Y29udGVudGVkaXRhYmxlPVwiZmFsc2VcIj5cblx0XHQ8c3BhbiBjbGFzcz1cIm1lbnRpb24tYnViYmxlX193cmFwcGVyXCI+XG5cdFx0XHQ8c3BhbiBjbGFzcz1cIm1lbnRpb24tYnViYmxlX19jb250ZW50XCI+XG5cdFx0XHRcdDwhLS0gQXZhdGFyIG9yIGljb24gLS0+XG5cdFx0XHRcdDxzcGFuIDpjbGFzcz1cIltpY29uLCBgbWVudGlvbi1idWJibGVfX2ljb24tLSR7YXZhdGFyVXJsID8gJ3dpdGgtYXZhdGFyJyA6ICcnfWBdXCJcblx0XHRcdFx0XHQ6c3R5bGU9XCJhdmF0YXJVcmwgPyB7IGJhY2tncm91bmRJbWFnZTogYHVybCgke2F2YXRhclVybH0pYCB9IDogbnVsbFwiXG5cdFx0XHRcdFx0Y2xhc3M9XCJtZW50aW9uLWJ1YmJsZV9faWNvblwiIC8+XG5cblx0XHRcdFx0PCEtLSBUaXRsZSAtLT5cblx0XHRcdFx0PHNwYW4gcm9sZT1cImhlYWRpbmdcIiBjbGFzcz1cIm1lbnRpb24tYnViYmxlX190aXRsZVwiIDp0aXRsZT1cImxhYmVsXCIgLz5cblx0XHRcdDwvc3Bhbj5cblxuXHRcdFx0PCEtLSBTZWxlY3RhYmxlIHRleHQgZm9yIGNvcHkvcGFzdGUgLS0+XG5cdFx0XHQ8c3BhbiByb2xlPVwibm9uZVwiIGNsYXNzPVwibWVudGlvbi1idWJibGVfX3NlbGVjdFwiPnt7IG1lbnRpb25UZXh0IH19PC9zcGFuPlxuXHRcdDwvc3Bhbj5cblx0PC9zcGFuPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCB7IGdlbmVyYXRlVXJsIH0gZnJvbSAnQG5leHRjbG91ZC9yb3V0ZXInXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0bmFtZTogJ01lbnRpb25CdWJibGUnLFxuXG5cdHByb3BzOiB7XG5cdFx0aWQ6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdFx0bGFiZWw6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdFx0aWNvbjoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblx0XHRzb3VyY2U6IHtcblx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdH0sXG5cdFx0cHJpbWFyeToge1xuXHRcdFx0dHlwZTogQm9vbGVhbixcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdH0sXG5cdGNvbXB1dGVkOiB7XG5cdFx0YXZhdGFyVXJsKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuaWQgJiYgdGhpcy5zb3VyY2UgPT09ICd1c2Vycydcblx0XHRcdFx0PyB0aGlzLmdldEF2YXRhclVybCh0aGlzLmlkLCA0NClcblx0XHRcdFx0OiBudWxsXG5cdFx0fSxcblx0XHRtZW50aW9uVGV4dCgpIHtcblx0XHRcdHJldHVybiB0aGlzLmlkLmluZGV4T2YoJyAnKSA9PT0gLTFcblx0XHRcdFx0PyBgQCR7dGhpcy5pZH1gXG5cdFx0XHRcdDogYEBcIiR7dGhpcy5pZH1cImBcblx0XHR9LFxuXHR9LFxuXG5cdG1ldGhvZHM6IHtcblx0XHRnZXRBdmF0YXJVcmwodXNlciwgc2l6ZSkge1xuXHRcdFx0cmV0dXJuIGdlbmVyYXRlVXJsKCcvYXZhdGFyL3t1c2VyfS97c2l6ZX0nLCB7XG5cdFx0XHRcdHVzZXIsXG5cdFx0XHRcdHNpemUsXG5cdFx0XHR9KVxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuJGJ1YmJsZS1oZWlnaHQ6IDIwcHg7XG4kYnViYmxlLW1heC13aWR0aDogMTUwcHg7XG4kYnViYmxlLXBhZGRpbmc6IDJweDtcbiRidWJibGUtYXZhdGFyLXNpemU6ICRidWJibGUtaGVpZ2h0IC0gMiAqICRidWJibGUtcGFkZGluZztcblxuLm1lbnRpb24tYnViYmxlIHtcblx0Ji0tcHJpbWFyeSAmX19jb250ZW50IHtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWVsZW1lbnQpO1xuXHR9XG5cblx0Jl9fd3JhcHBlciB7XG5cdFx0bWF4LXdpZHRoOiAkYnViYmxlLW1heC13aWR0aDtcblx0XHQvLyBBbGlnbiB3aXRoIHRleHRcblx0XHRoZWlnaHQ6ICRidWJibGUtaGVpZ2h0IC0gJGJ1YmJsZS1wYWRkaW5nO1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6ICRidWJibGUtaGVpZ2h0IDtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRidWJibGUtcGFkZGluZyAqIDM7XG5cdFx0cGFkZGluZy1sZWZ0OiAkYnViYmxlLXBhZGRpbmc7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJ1YmJsZS1oZWlnaHQgLyAyO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7XG5cdH1cblxuXHQmX19pY29uIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6ICRidWJibGUtYXZhdGFyLXNpemU7XG5cdFx0aGVpZ2h0OiAkYnViYmxlLWF2YXRhci1zaXplO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRidWJibGUtYXZhdGFyLXNpemUgLyAyO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6ICRidWJibGUtYXZhdGFyLXNpemUgLSAyICogJGJ1YmJsZS1wYWRkaW5nO1xuXG5cdFx0Ji0td2l0aC1hdmF0YXIge1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1hcmdpbi1sZWZ0OiAkYnViYmxlLXBhZGRpbmc7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHQvLyBQdXQgbGFiZWwgaW4gOjpiZWZvcmUgc28gaXQgaXMgbm90IHNlbGVjdGFibGVcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogYXR0cih0aXRsZSk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gSGlkZSB0aGUgbWVudGlvbiBpZCBzbyBpdCBpcyBzZWxlY3RhYmxlXG5cdCZfX3NlbGVjdCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IC0xO1xuXHRcdGxlZnQ6IC0xMDAwcHg7XG5cdH1cbn1cblxuPC9zdHlsZT5cbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiQGNoYXJzZXQgXFxcIlVURi04XFxcIjtcXG4vKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG4jYXBwLXNldHRpbmdzLWNvbnRlbnRbZGF0YS12LTljOWMzOTdlXSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHBhZGRpbmc6IDEwcHg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcbiAgLyogcmVzdHJpY3QgaGVpZ2h0IG9mIHNldHRpbmdzIGFuZCBtYWtlIHNjcm9sbGFibGUgKi9cXG4gIG1heC1oZWlnaHQ6IDMwMHB4O1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcbi5zbGlkZS11cC1sZWF2ZS1hY3RpdmVbZGF0YS12LTljOWMzOTdlXSxcXG4uc2xpZGUtdXAtZW50ZXItYWN0aXZlW2RhdGEtdi05YzljMzk3ZV0ge1xcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tYW5pbWF0aW9uLXNsb3cpO1xcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbWF4LWhlaWdodCwgcGFkZGluZztcXG4gIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50O1xcbn1cXG4uc2xpZGUtdXAtZW50ZXJbZGF0YS12LTljOWMzOTdlXSxcXG4uc2xpZGUtdXAtbGVhdmUtdG9bZGF0YS12LTljOWMzOTdlXSB7XFxuICBtYXgtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XFxuICBwYWRkaW5nOiAwIDEwcHggIWltcG9ydGFudDtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUEyREY7RUFDQyxjQUFjO0VBQ2QsYUFBYTtFQUNiLDhDQUE4QztFQUM5QyxvREFBQTtFQUNBLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsc0JBQXNCO0FBQUE7QUFHdkI7O0VBRUMsMENBQTBDO0VBQzFDLHdDQUF3QztFQUN4Qyw2QkFBNkI7QUFBQTtBQUc5Qjs7RUFFQyx3QkFBd0I7RUFDeEIsMEJBQTBCO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbiNhcHAtc2V0dGluZ3MtY29udGVudCB7XFxuXFx0ZGlzcGxheTogYmxvY2s7XFxuXFx0cGFkZGluZzogMTBweDtcXG5cXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluLWJhY2tncm91bmQpO1xcblxcdC8qIHJlc3RyaWN0IGhlaWdodCBvZiBzZXR0aW5ncyBhbmQgbWFrZSBzY3JvbGxhYmxlICovXFxuXFx0bWF4LWhlaWdodDogMzAwcHg7XFxuXFx0b3ZlcmZsb3cteTogYXV0bztcXG5cXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbn1cXG5cXG4uc2xpZGUtdXAtbGVhdmUtYWN0aXZlLFxcbi5zbGlkZS11cC1lbnRlci1hY3RpdmUge1xcblxcdHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGlvbi1zbG93KTtcXG5cXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXgtaGVpZ2h0LCBwYWRkaW5nO1xcblxcdG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50O1xcbn1cXG5cXG4uc2xpZGUtdXAtZW50ZXIsXFxuLnNsaWRlLXVwLWxlYXZlLXRvIHtcXG5cXHRtYXgtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XFxuXFx0cGFkZGluZzogMCAxMHB4ICFpbXBvcnRhbnQ7XFxufVxcblxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJAY2hhcnNldCBcXFwiVVRGLThcXFwiO1xcbi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcbi5tZW50aW9uLWJ1YmJsZS0tcHJpbWFyeSAubWVudGlvbi1idWJibGVfX2NvbnRlbnRbZGF0YS12LTY5ZjQwZWM4XSB7XFxuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS10ZXh0KTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxufVxcbi5tZW50aW9uLWJ1YmJsZV9fd3JhcHBlcltkYXRhLXYtNjlmNDBlYzhdIHtcXG4gIG1heC13aWR0aDogMTUwcHg7XFxuICBoZWlnaHQ6IDE4cHg7XFxuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5tZW50aW9uLWJ1YmJsZV9fY29udGVudFtkYXRhLXYtNjlmNDBlYzhdIHtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDIwcHg7XFxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XFxuICBwYWRkaW5nLWxlZnQ6IDJweDtcXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmspO1xcbn1cXG4ubWVudGlvbi1idWJibGVfX2ljb25bZGF0YS12LTY5ZjQwZWM4XSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB3aWR0aDogMTZweDtcXG4gIGhlaWdodDogMTZweDtcXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFya2VyKTtcXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kLXNpemU6IDEycHg7XFxufVxcbi5tZW50aW9uLWJ1YmJsZV9faWNvbi0td2l0aC1hdmF0YXJbZGF0YS12LTY5ZjQwZWM4XSB7XFxuICAgIGNvbG9yOiBpbmhlcml0O1xcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xcbn1cXG4ubWVudGlvbi1idWJibGVfX3RpdGxlW2RhdGEtdi02OWY0MGVjOF0ge1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIG1hcmdpbi1sZWZ0OiAycHg7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxufVxcbi5tZW50aW9uLWJ1YmJsZV9fdGl0bGVbZGF0YS12LTY5ZjQwZWM4XTo6YmVmb3JlIHtcXG4gICAgY29udGVudDogYXR0cih0aXRsZSk7XFxufVxcbi5tZW50aW9uLWJ1YmJsZV9fc2VsZWN0W2RhdGEtdi02OWY0MGVjOF0ge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgei1pbmRleDogLTE7XFxuICBsZWZ0OiAtMTAwMHB4O1xcbn1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9NZW50aW9uQnViYmxlLnZ1ZVwiLFwid2VicGFjazovLy4vLi4vLi4vYXNzZXRzL3ZhcmlhYmxlcy5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RURxQkU7QUFpRkQ7RUFDQyxnQ0FBZ0M7RUFDaEMsOENBQThDO0FBQUE7QUFHL0M7RUFDQyxnQkFYc0I7RUFhdEIsWUFBd0M7RUFDeEMsMkJBQTJCO0VBQzNCLG9CQUFvQjtFQUNwQixtQkFBbUI7QUFBQTtBQUdwQjtFQUNDLG9CQUFvQjtFQUNwQixnQkFBZ0I7RUFDaEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixZQXpCa0I7RUEwQmxCLHlCQUF5QjtFQUN6QixpQkFBaUI7RUFDakIsa0JBQWtDO0VBQ2xDLGlCQTNCa0I7RUE0QmxCLG1CQUFpQztFQUNqQyw4Q0FBOEM7QUFBQTtBQUcvQztFQUNDLGtCQUFrQjtFQUNsQixXQWpDdUQ7RUFrQ3ZELFlBbEN1RDtFQW1DdkQsa0JBQXNDO0VBQ3RDLGdEQUFnRDtFQUNoRCw0QkFBNEI7RUFDNUIsMkJBQTJCO0VBQzNCLHFCQUEwRDtBQUFBO0FBRTFEO0lBQ0MsY0FBYztJQUNkLHNCQUFzQjtBQUFBO0FBSXhCO0VBQ0MsZ0JBQWdCO0VBQ2hCLGdCQWxEa0I7RUFtRGxCLG1CQUFtQjtFQUNuQix1QkFBdUI7QUFBQTtBQUp2QjtJQU9DLG9CQUFvQjtBQUFBO0FBS3RCO0VBQ0Msa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxhQUFhO0FBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiJHNjb3BlX3ZlcnNpb246XFxcIjg0YzQ2MWZcXFwiOyBAaW1wb3J0ICd2YXJpYWJsZXMnO1xcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcblxcbiRidWJibGUtaGVpZ2h0OiAyMHB4O1xcbiRidWJibGUtbWF4LXdpZHRoOiAxNTBweDtcXG4kYnViYmxlLXBhZGRpbmc6IDJweDtcXG4kYnViYmxlLWF2YXRhci1zaXplOiAkYnViYmxlLWhlaWdodCAtIDIgKiAkYnViYmxlLXBhZGRpbmc7XFxuXFxuLm1lbnRpb24tYnViYmxlIHtcXG5cXHQmLS1wcmltYXJ5ICZfX2NvbnRlbnQge1xcblxcdFxcdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xcblxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZWxlbWVudCk7XFxuXFx0fVxcblxcblxcdCZfX3dyYXBwZXIge1xcblxcdFxcdG1heC13aWR0aDogJGJ1YmJsZS1tYXgtd2lkdGg7XFxuXFx0XFx0Ly8gQWxpZ24gd2l0aCB0ZXh0XFxuXFx0XFx0aGVpZ2h0OiAkYnViYmxlLWhlaWdodCAtICRidWJibGUtcGFkZGluZztcXG5cXHRcXHR2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XFxuXFx0XFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XFxuXFx0XFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXHR9XFxuXFxuXFx0Jl9fY29udGVudCB7XFxuXFx0XFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XFxuXFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRhbGlnbi1pdGVtczogY2VudGVyO1xcblxcdFxcdG1heC13aWR0aDogMTAwJTtcXG5cXHRcXHRoZWlnaHQ6ICRidWJibGUtaGVpZ2h0IDtcXG5cXHRcXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcblxcdFxcdHVzZXItc2VsZWN0OiBub25lO1xcblxcdFxcdHBhZGRpbmctcmlnaHQ6ICRidWJibGUtcGFkZGluZyAqIDM7XFxuXFx0XFx0cGFkZGluZy1sZWZ0OiAkYnViYmxlLXBhZGRpbmc7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogJGJ1YmJsZS1oZWlnaHQgLyAyO1xcblxcdFxcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7XFxuXFx0fVxcblxcblxcdCZfX2ljb24ge1xcblxcdFxcdHBvc2l0aW9uOiByZWxhdGl2ZTtcXG5cXHRcXHR3aWR0aDogJGJ1YmJsZS1hdmF0YXItc2l6ZTtcXG5cXHRcXHRoZWlnaHQ6ICRidWJibGUtYXZhdGFyLXNpemU7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogJGJ1YmJsZS1hdmF0YXItc2l6ZSAvIDI7XFxuXFx0XFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrZXIpO1xcblxcdFxcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuXFx0XFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xcblxcdFxcdGJhY2tncm91bmQtc2l6ZTogJGJ1YmJsZS1hdmF0YXItc2l6ZSAtIDIgKiAkYnViYmxlLXBhZGRpbmc7XFxuXFxuXFx0XFx0Ji0td2l0aC1hdmF0YXIge1xcblxcdFxcdFxcdGNvbG9yOiBpbmhlcml0O1xcblxcdFxcdFxcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQmX190aXRsZSB7XFxuXFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRtYXJnaW4tbGVmdDogJGJ1YmJsZS1wYWRkaW5nO1xcblxcdFxcdHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0Ly8gUHV0IGxhYmVsIGluIDo6YmVmb3JlIHNvIGl0IGlzIG5vdCBzZWxlY3RhYmxlXFxuXFx0XFx0Jjo6YmVmb3JlIHtcXG5cXHRcXHRcXHRjb250ZW50OiBhdHRyKHRpdGxlKTtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdC8vIEhpZGUgdGhlIG1lbnRpb24gaWQgc28gaXQgaXMgc2VsZWN0YWJsZVxcblxcdCZfX3NlbGVjdCB7XFxuXFx0XFx0cG9zaXRpb246IGFic29sdXRlO1xcblxcdFxcdHotaW5kZXg6IC0xO1xcblxcdFxcdGxlZnQ6IC0xMDAwcHg7XFxuXFx0fVxcbn1cXG5cXG5cIixcIi8qKlxcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXFxuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXFxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxcbiAqXFxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXFxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cXG4gKlxcbiAqL1xcblxcbi8vIGh0dHBzOi8vdXhwbGFuZXQub3JnLzctcnVsZXMtZm9yLW1vYmlsZS11aS1idXR0b24tZGVzaWduLWU5Y2YyZWE1NDU1Nlxcbi8vIHJlY29tbWVuZGVkIGlzIDQ4cHhcXG4vLyA0NHB4IGlzIHdoYXQgd2UgY2hvb3NlIGFuZCBoYXZlIHZlcnkgZ29vZCB2aXN1YWwtdG8tdXNhYmlsaXR5IHJhdGlvXFxuJGNsaWNrYWJsZS1hcmVhOiA0NHB4O1xcblxcbi8vIGJhY2tncm91bmQgaWNvbiBzaXplXFxuLy8gYWxzbyB1c2VkIGZvciB0aGUgc2NzcyBpY29uIGZvbnRcXG4kaWNvbi1zaXplOiAxNnB4O1xcblxcbi8vIGljb24gcGFkZGluZyBmb3IgYSAkY2xpY2thYmxlLWFyZWEgd2lkdGggYW5kIGEgJGljb24tc2l6ZSBpY29uXFxuLy8gKCA0NHB4IC0gMTZweCApIC8gMlxcbiRpY29uLW1hcmdpbjogKCRjbGlja2FibGUtYXJlYSAtICRpY29uLXNpemUpIC8gMjtcXG5cXG4vLyB0cmFuc3BhcmVuY3kgYmFja2dyb3VuZCBmb3IgaWNvbnNcXG4kaWNvbi1mb2N1cy1iZzogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHBvcG92ZXJtZW51IGFycm93IHdpZHRoIGZyb20gdGhlIHRyaWFuZ2xlIGNlbnRlclxcbiRhcnJvdy13aWR0aDogOXB4O1xcblxcbi8vIG9wYWNpdGllc1xcbiRvcGFjaXR5X2Rpc2FibGVkOiAuNTtcXG4kb3BhY2l0eV9ub3JtYWw6IC43O1xcbiRvcGFjaXR5X2Z1bGw6IDE7XFxuXFxuLy8gbWVudSByb3VuZCBiYWNrZ3JvdW5kIGhvdmVyIGZlZWRiYWNrXFxuLy8gZ29vZCBsb29raW5nIG9uIGRhcmsgQU5EIHdoaXRlIGJnXFxuJGFjdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gdmFyaW91cyBzdHJ1Y3R1cmUgZGF0YSB1c2VkIGluIHRoZSBcXG4vLyBgQXBwTmF2aWdhdGlvbmAgY29tcG9uZW50XFxuJGhlYWRlci1oZWlnaHQ6IDUwcHg7XFxuJG5hdmlnYXRpb24td2lkdGg6IDMwMHB4O1xcblxcbi8vIG1vYmlsZSBicmVha3BvaW50XFxuJGJyZWFrcG9pbnQtbW9iaWxlOiAxMDI0cHg7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIlwidXNlIHN0cmljdFwiO1xuXG4vKlxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuICBBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuLy8gY3NzIGJhc2UgY29kZSwgaW5qZWN0ZWQgYnkgdGhlIGNzcy1sb2FkZXJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jLW5hbWVzXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKSB7XG4gIHZhciBsaXN0ID0gW107IC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblxuICBsaXN0LnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICB2YXIgY29udGVudCA9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSk7XG5cbiAgICAgIGlmIChpdGVtWzJdKSB7XG4gICAgICAgIHJldHVybiBcIkBtZWRpYSBcIi5jb25jYXQoaXRlbVsyXSwgXCIge1wiKS5jb25jYXQoY29udGVudCwgXCJ9XCIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9KS5qb2luKFwiXCIpO1xuICB9OyAvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xuXG5cbiAgbGlzdC5pID0gZnVuY3Rpb24gKG1vZHVsZXMsIG1lZGlhUXVlcnksIGRlZHVwZSkge1xuICAgIGlmICh0eXBlb2YgbW9kdWxlcyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICBtb2R1bGVzID0gW1tudWxsLCBtb2R1bGVzLCBcIlwiXV07XG4gICAgfVxuXG4gICAgdmFyIGFscmVhZHlJbXBvcnRlZE1vZHVsZXMgPSB7fTtcblxuICAgIGlmIChkZWR1cGUpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcbiAgICAgICAgdmFyIGlkID0gdGhpc1tpXVswXTtcblxuICAgICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICAgIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBtb2R1bGVzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIGl0ZW0gPSBbXS5jb25jYXQobW9kdWxlc1tfaV0pO1xuXG4gICAgICBpZiAoZGVkdXBlICYmIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRpbnVlXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobWVkaWFRdWVyeSkge1xuICAgICAgICBpZiAoIWl0ZW1bMl0pIHtcbiAgICAgICAgICBpdGVtWzJdID0gbWVkaWFRdWVyeTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtWzJdID0gXCJcIi5jb25jYXQobWVkaWFRdWVyeSwgXCIgYW5kIFwiKS5jb25jYXQoaXRlbVsyXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGlzdC5wdXNoKGl0ZW0pO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gbGlzdDtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF9zbGljZWRUb0FycmF5KGFyciwgaSkgeyByZXR1cm4gX2FycmF5V2l0aEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkgfHwgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFyciwgaSkgfHwgX25vbkl0ZXJhYmxlUmVzdCgpOyB9XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVJlc3QoKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7IH1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikgeyBpZiAoIW8pIHJldHVybjsgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTsgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpOyBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lOyBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTsgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pOyB9XG5cbmZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7IGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoOyBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHsgYXJyMltpXSA9IGFycltpXTsgfSByZXR1cm4gYXJyMjsgfVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcInVuZGVmaW5lZFwiIHx8ICEoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChhcnIpKSkgcmV0dXJuOyB2YXIgX2FyciA9IFtdOyB2YXIgX24gPSB0cnVlOyB2YXIgX2QgPSBmYWxzZTsgdmFyIF9lID0gdW5kZWZpbmVkOyB0cnkgeyBmb3IgKHZhciBfaSA9IGFycltTeW1ib2wuaXRlcmF0b3JdKCksIF9zOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7IF9hcnIucHVzaChfcy52YWx1ZSk7IGlmIChpICYmIF9hcnIubGVuZ3RoID09PSBpKSBicmVhazsgfSB9IGNhdGNoIChlcnIpIHsgX2QgPSB0cnVlOyBfZSA9IGVycjsgfSBmaW5hbGx5IHsgdHJ5IHsgaWYgKCFfbiAmJiBfaVtcInJldHVyblwiXSAhPSBudWxsKSBfaVtcInJldHVyblwiXSgpOyB9IGZpbmFsbHkgeyBpZiAoX2QpIHRocm93IF9lOyB9IH0gcmV0dXJuIF9hcnI7IH1cblxuZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKGFycikgeyBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyOyB9XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtKSB7XG4gIHZhciBfaXRlbSA9IF9zbGljZWRUb0FycmF5KGl0ZW0sIDQpLFxuICAgICAgY29udGVudCA9IF9pdGVtWzFdLFxuICAgICAgY3NzTWFwcGluZyA9IF9pdGVtWzNdO1xuXG4gIGlmICh0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gICAgdmFyIGJhc2U2NCA9IGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGNzc01hcHBpbmcpKSkpO1xuICAgIHZhciBkYXRhID0gXCJzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxcIi5jb25jYXQoYmFzZTY0KTtcbiAgICB2YXIgc291cmNlTWFwcGluZyA9IFwiLyojIFwiLmNvbmNhdChkYXRhLCBcIiAqL1wiKTtcbiAgICB2YXIgc291cmNlVVJMcyA9IGNzc01hcHBpbmcuc291cmNlcy5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuICAgICAgcmV0dXJuIFwiLyojIHNvdXJjZVVSTD1cIi5jb25jYXQoY3NzTWFwcGluZy5zb3VyY2VSb290IHx8IFwiXCIpLmNvbmNhdChzb3VyY2UsIFwiICovXCIpO1xuICAgIH0pO1xuICAgIHJldHVybiBbY29udGVudF0uY29uY2F0KHNvdXJjZVVSTHMpLmNvbmNhdChbc291cmNlTWFwcGluZ10pLmpvaW4oXCJcXG5cIik7XG4gIH1cblxuICByZXR1cm4gW2NvbnRlbnRdLmpvaW4oXCJcXG5cIik7XG59OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OWM5YzM5N2UmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9NZW50aW9uQnViYmxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY5ZjQwZWM4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJcInVzZSBzdHJpY3RcIjtcblxudmFyIGlzT2xkSUUgPSBmdW5jdGlvbiBpc09sZElFKCkge1xuICB2YXIgbWVtbztcbiAgcmV0dXJuIGZ1bmN0aW9uIG1lbW9yaXplKCkge1xuICAgIGlmICh0eXBlb2YgbWVtbyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIC8vIFRlc3QgZm9yIElFIDw9IDkgYXMgcHJvcG9zZWQgYnkgQnJvd3NlcmhhY2tzXG4gICAgICAvLyBAc2VlIGh0dHA6Ly9icm93c2VyaGFja3MuY29tLyNoYWNrLWU3MWQ4NjkyZjY1MzM0MTczZmVlNzE1YzIyMmNiODA1XG4gICAgICAvLyBUZXN0cyBmb3IgZXhpc3RlbmNlIG9mIHN0YW5kYXJkIGdsb2JhbHMgaXMgdG8gYWxsb3cgc3R5bGUtbG9hZGVyXG4gICAgICAvLyB0byBvcGVyYXRlIGNvcnJlY3RseSBpbnRvIG5vbi1zdGFuZGFyZCBlbnZpcm9ubWVudHNcbiAgICAgIC8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9zdHlsZS1sb2FkZXIvaXNzdWVzLzE3N1xuICAgICAgbWVtbyA9IEJvb2xlYW4od2luZG93ICYmIGRvY3VtZW50ICYmIGRvY3VtZW50LmFsbCAmJiAhd2luZG93LmF0b2IpO1xuICAgIH1cblxuICAgIHJldHVybiBtZW1vO1xuICB9O1xufSgpO1xuXG52YXIgZ2V0VGFyZ2V0ID0gZnVuY3Rpb24gZ2V0VGFyZ2V0KCkge1xuICB2YXIgbWVtbyA9IHt9O1xuICByZXR1cm4gZnVuY3Rpb24gbWVtb3JpemUodGFyZ2V0KSB7XG4gICAgaWYgKHR5cGVvZiBtZW1vW3RhcmdldF0gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB2YXIgc3R5bGVUYXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCk7IC8vIFNwZWNpYWwgY2FzZSB0byByZXR1cm4gaGVhZCBvZiBpZnJhbWUgaW5zdGVhZCBvZiBpZnJhbWUgaXRzZWxmXG5cbiAgICAgIGlmICh3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQgJiYgc3R5bGVUYXJnZXQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFjY2VzcyB0byBpZnJhbWUgaXMgYmxvY2tlZFxuICAgICAgICAgIC8vIGR1ZSB0byBjcm9zcy1vcmlnaW4gcmVzdHJpY3Rpb25zXG4gICAgICAgICAgc3R5bGVUYXJnZXQgPSBzdHlsZVRhcmdldC5jb250ZW50RG9jdW1lbnQuaGVhZDtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgICAgICAgc3R5bGVUYXJnZXQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG1lbW9bdGFyZ2V0XSA9IHN0eWxlVGFyZ2V0O1xuICAgIH1cblxuICAgIHJldHVybiBtZW1vW3RhcmdldF07XG4gIH07XG59KCk7XG5cbnZhciBzdHlsZXNJbkRvbSA9IFtdO1xuXG5mdW5jdGlvbiBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKSB7XG4gIHZhciByZXN1bHQgPSAtMTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlc0luRG9tLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHN0eWxlc0luRG9tW2ldLmlkZW50aWZpZXIgPT09IGlkZW50aWZpZXIpIHtcbiAgICAgIHJlc3VsdCA9IGk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBtb2R1bGVzVG9Eb20obGlzdCwgb3B0aW9ucykge1xuICB2YXIgaWRDb3VudE1hcCA9IHt9O1xuICB2YXIgaWRlbnRpZmllcnMgPSBbXTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgaXRlbSA9IGxpc3RbaV07XG4gICAgdmFyIGlkID0gb3B0aW9ucy5iYXNlID8gaXRlbVswXSArIG9wdGlvbnMuYmFzZSA6IGl0ZW1bMF07XG4gICAgdmFyIGNvdW50ID0gaWRDb3VudE1hcFtpZF0gfHwgMDtcbiAgICB2YXIgaWRlbnRpZmllciA9IFwiXCIuY29uY2F0KGlkLCBcIiBcIikuY29uY2F0KGNvdW50KTtcbiAgICBpZENvdW50TWFwW2lkXSA9IGNvdW50ICsgMTtcbiAgICB2YXIgaW5kZXggPSBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKTtcbiAgICB2YXIgb2JqID0ge1xuICAgICAgY3NzOiBpdGVtWzFdLFxuICAgICAgbWVkaWE6IGl0ZW1bMl0sXG4gICAgICBzb3VyY2VNYXA6IGl0ZW1bM11cbiAgICB9O1xuXG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgc3R5bGVzSW5Eb21baW5kZXhdLnJlZmVyZW5jZXMrKztcbiAgICAgIHN0eWxlc0luRG9tW2luZGV4XS51cGRhdGVyKG9iaik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0eWxlc0luRG9tLnB1c2goe1xuICAgICAgICBpZGVudGlmaWVyOiBpZGVudGlmaWVyLFxuICAgICAgICB1cGRhdGVyOiBhZGRTdHlsZShvYmosIG9wdGlvbnMpLFxuICAgICAgICByZWZlcmVuY2VzOiAxXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZGVudGlmaWVycy5wdXNoKGlkZW50aWZpZXIpO1xuICB9XG5cbiAgcmV0dXJuIGlkZW50aWZpZXJzO1xufVxuXG5mdW5jdGlvbiBpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucykge1xuICB2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICB2YXIgYXR0cmlidXRlcyA9IG9wdGlvbnMuYXR0cmlidXRlcyB8fCB7fTtcblxuICBpZiAodHlwZW9mIGF0dHJpYnV0ZXMubm9uY2UgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgdmFyIG5vbmNlID0gdHlwZW9mIF9fd2VicGFja19ub25jZV9fICE9PSAndW5kZWZpbmVkJyA/IF9fd2VicGFja19ub25jZV9fIDogbnVsbDtcblxuICAgIGlmIChub25jZSkge1xuICAgICAgYXR0cmlidXRlcy5ub25jZSA9IG5vbmNlO1xuICAgIH1cbiAgfVxuXG4gIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgIHN0eWxlLnNldEF0dHJpYnV0ZShrZXksIGF0dHJpYnV0ZXNba2V5XSk7XG4gIH0pO1xuXG4gIGlmICh0eXBlb2Ygb3B0aW9ucy5pbnNlcnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBvcHRpb25zLmluc2VydChzdHlsZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHRhcmdldCA9IGdldFRhcmdldChvcHRpb25zLmluc2VydCB8fCAnaGVhZCcpO1xuXG4gICAgaWYgKCF0YXJnZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGZpbmQgYSBzdHlsZSB0YXJnZXQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgdmFsdWUgZm9yIHRoZSAnaW5zZXJ0JyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cIik7XG4gICAgfVxuXG4gICAgdGFyZ2V0LmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgfVxuXG4gIHJldHVybiBzdHlsZTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKSB7XG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBpZlxuICBpZiAoc3R5bGUucGFyZW50Tm9kZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHN0eWxlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGUpO1xufVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5cblxudmFyIHJlcGxhY2VUZXh0ID0gZnVuY3Rpb24gcmVwbGFjZVRleHQoKSB7XG4gIHZhciB0ZXh0U3RvcmUgPSBbXTtcbiAgcmV0dXJuIGZ1bmN0aW9uIHJlcGxhY2UoaW5kZXgsIHJlcGxhY2VtZW50KSB7XG4gICAgdGV4dFN0b3JlW2luZGV4XSA9IHJlcGxhY2VtZW50O1xuICAgIHJldHVybiB0ZXh0U3RvcmUuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJ1xcbicpO1xuICB9O1xufSgpO1xuXG5mdW5jdGlvbiBhcHBseVRvU2luZ2xldG9uVGFnKHN0eWxlLCBpbmRleCwgcmVtb3ZlLCBvYmopIHtcbiAgdmFyIGNzcyA9IHJlbW92ZSA/ICcnIDogb2JqLm1lZGlhID8gXCJAbWVkaWEgXCIuY29uY2F0KG9iai5tZWRpYSwgXCIge1wiKS5jb25jYXQob2JqLmNzcywgXCJ9XCIpIDogb2JqLmNzczsgLy8gRm9yIG9sZCBJRVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAgKi9cblxuICBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IHJlcGxhY2VUZXh0KGluZGV4LCBjc3MpO1xuICB9IGVsc2Uge1xuICAgIHZhciBjc3NOb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKTtcbiAgICB2YXIgY2hpbGROb2RlcyA9IHN0eWxlLmNoaWxkTm9kZXM7XG5cbiAgICBpZiAoY2hpbGROb2Rlc1tpbmRleF0pIHtcbiAgICAgIHN0eWxlLnJlbW92ZUNoaWxkKGNoaWxkTm9kZXNbaW5kZXhdKTtcbiAgICB9XG5cbiAgICBpZiAoY2hpbGROb2Rlcy5sZW5ndGgpIHtcbiAgICAgIHN0eWxlLmluc2VydEJlZm9yZShjc3NOb2RlLCBjaGlsZE5vZGVzW2luZGV4XSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0eWxlLmFwcGVuZENoaWxkKGNzc05vZGUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhcHBseVRvVGFnKHN0eWxlLCBvcHRpb25zLCBvYmopIHtcbiAgdmFyIGNzcyA9IG9iai5jc3M7XG4gIHZhciBtZWRpYSA9IG9iai5tZWRpYTtcbiAgdmFyIHNvdXJjZU1hcCA9IG9iai5zb3VyY2VNYXA7XG5cbiAgaWYgKG1lZGlhKSB7XG4gICAgc3R5bGUuc2V0QXR0cmlidXRlKCdtZWRpYScsIG1lZGlhKTtcbiAgfSBlbHNlIHtcbiAgICBzdHlsZS5yZW1vdmVBdHRyaWJ1dGUoJ21lZGlhJyk7XG4gIH1cblxuICBpZiAoc291cmNlTWFwICYmIHR5cGVvZiBidG9hICE9PSAndW5kZWZpbmVkJykge1xuICAgIGNzcyArPSBcIlxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXCIuY29uY2F0KGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSksIFwiICovXCIpO1xuICB9IC8vIEZvciBvbGQgSUVcblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgICovXG5cblxuICBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzcztcbiAgfSBlbHNlIHtcbiAgICB3aGlsZSAoc3R5bGUuZmlyc3RDaGlsZCkge1xuICAgICAgc3R5bGUucmVtb3ZlQ2hpbGQoc3R5bGUuZmlyc3RDaGlsZCk7XG4gICAgfVxuXG4gICAgc3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG4gIH1cbn1cblxudmFyIHNpbmdsZXRvbiA9IG51bGw7XG52YXIgc2luZ2xldG9uQ291bnRlciA9IDA7XG5cbmZ1bmN0aW9uIGFkZFN0eWxlKG9iaiwgb3B0aW9ucykge1xuICB2YXIgc3R5bGU7XG4gIHZhciB1cGRhdGU7XG4gIHZhciByZW1vdmU7XG5cbiAgaWYgKG9wdGlvbnMuc2luZ2xldG9uKSB7XG4gICAgdmFyIHN0eWxlSW5kZXggPSBzaW5nbGV0b25Db3VudGVyKys7XG4gICAgc3R5bGUgPSBzaW5nbGV0b24gfHwgKHNpbmdsZXRvbiA9IGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKSk7XG4gICAgdXBkYXRlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCBmYWxzZSk7XG4gICAgcmVtb3ZlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCB0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBzdHlsZSA9IGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKTtcbiAgICB1cGRhdGUgPSBhcHBseVRvVGFnLmJpbmQobnVsbCwgc3R5bGUsIG9wdGlvbnMpO1xuXG4gICAgcmVtb3ZlID0gZnVuY3Rpb24gcmVtb3ZlKCkge1xuICAgICAgcmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKTtcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlKG9iaik7XG4gIHJldHVybiBmdW5jdGlvbiB1cGRhdGVTdHlsZShuZXdPYmopIHtcbiAgICBpZiAobmV3T2JqKSB7XG4gICAgICBpZiAobmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJiBuZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJiBuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdXBkYXRlKG9iaiA9IG5ld09iaik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbW92ZSgpO1xuICAgIH1cbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobGlzdCwgb3B0aW9ucykge1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsgLy8gRm9yY2Ugc2luZ2xlLXRhZyBzb2x1dGlvbiBvbiBJRTYtOSwgd2hpY2ggaGFzIGEgaGFyZCBsaW1pdCBvbiB0aGUgIyBvZiA8c3R5bGU+XG4gIC8vIHRhZ3MgaXQgd2lsbCBhbGxvdyBvbiBhIHBhZ2VcblxuICBpZiAoIW9wdGlvbnMuc2luZ2xldG9uICYmIHR5cGVvZiBvcHRpb25zLnNpbmdsZXRvbiAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgb3B0aW9ucy5zaW5nbGV0b24gPSBpc09sZElFKCk7XG4gIH1cblxuICBsaXN0ID0gbGlzdCB8fCBbXTtcbiAgdmFyIGxhc3RJZGVudGlmaWVycyA9IG1vZHVsZXNUb0RvbShsaXN0LCBvcHRpb25zKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZShuZXdMaXN0KSB7XG4gICAgbmV3TGlzdCA9IG5ld0xpc3QgfHwgW107XG5cbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ld0xpc3QpICE9PSAnW29iamVjdCBBcnJheV0nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsYXN0SWRlbnRpZmllcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBpZGVudGlmaWVyID0gbGFzdElkZW50aWZpZXJzW2ldO1xuICAgICAgdmFyIGluZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcik7XG4gICAgICBzdHlsZXNJbkRvbVtpbmRleF0ucmVmZXJlbmNlcy0tO1xuICAgIH1cblxuICAgIHZhciBuZXdMYXN0SWRlbnRpZmllcnMgPSBtb2R1bGVzVG9Eb20obmV3TGlzdCwgb3B0aW9ucyk7XG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIF9pZGVudGlmaWVyID0gbGFzdElkZW50aWZpZXJzW19pXTtcblxuICAgICAgdmFyIF9pbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKF9pZGVudGlmaWVyKTtcblxuICAgICAgaWYgKHN0eWxlc0luRG9tW19pbmRleF0ucmVmZXJlbmNlcyA9PT0gMCkge1xuICAgICAgICBzdHlsZXNJbkRvbVtfaW5kZXhdLnVwZGF0ZXIoKTtcblxuICAgICAgICBzdHlsZXNJbkRvbS5zcGxpY2UoX2luZGV4LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYXN0SWRlbnRpZmllcnMgPSBuZXdMYXN0SWRlbnRpZmllcnM7XG4gIH07XG59OyIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXG4gICAgXCJkaXZcIixcbiAgICB7XG4gICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcImNsaWNrLW91dHNpZGVcIixcbiAgICAgICAgICByYXdOYW1lOiBcInYtY2xpY2stb3V0c2lkZVwiLFxuICAgICAgICAgIHZhbHVlOiBfdm0uY2xpY2tPdXRzaWRlQ29uZmlnLFxuICAgICAgICAgIGV4cHJlc3Npb246IFwiY2xpY2tPdXRzaWRlQ29uZmlnXCJcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIGNsYXNzOiB7IG9wZW46IF92bS5vcGVuIH0sXG4gICAgICBhdHRyczogeyBpZDogXCJhcHAtc2V0dGluZ3NcIiB9XG4gICAgfSxcbiAgICBbXG4gICAgICBfYyhcImRpdlwiLCB7IGF0dHJzOiB7IGlkOiBcImFwcC1zZXR0aW5ncy1oZWFkZXJcIiB9IH0sIFtcbiAgICAgICAgX2MoXG4gICAgICAgICAgXCJidXR0b25cIixcbiAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcInNldHRpbmdzLWJ1dHRvblwiLCBvbjogeyBjbGljazogX3ZtLnRvZ2dsZU1lbnUgfSB9LFxuICAgICAgICAgIFtfdm0uX3YoXCJcXG5cXHRcXHRcXHRcIiArIF92bS5fcyhfdm0udGl0bGUpICsgXCJcXG5cXHRcXHRcIildXG4gICAgICAgIClcbiAgICAgIF0pLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFwidHJhbnNpdGlvblwiLCB7IGF0dHJzOiB7IG5hbWU6IFwic2xpZGUtdXBcIiB9IH0sIFtcbiAgICAgICAgX2MoXG4gICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtc2hvd1wiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0ub3BlbixcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIm9wZW5cIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYXR0cnM6IHsgaWQ6IFwiYXBwLXNldHRpbmdzLWNvbnRlbnRcIiB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBbX3ZtLl90KFwiZGVmYXVsdFwiKV0sXG4gICAgICAgICAgMlxuICAgICAgICApXG4gICAgICBdKVxuICAgIF0sXG4gICAgMVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcInNwYW5cIixcbiAgICB7XG4gICAgICBzdGF0aWNDbGFzczogXCJtZW50aW9uLWJ1YmJsZVwiLFxuICAgICAgY2xhc3M6IHsgXCJtZW50aW9uLWJ1YmJsZS0tcHJpbWFyeVwiOiBfdm0ucHJpbWFyeSB9LFxuICAgICAgYXR0cnM6IHsgY29udGVudGVkaXRhYmxlOiBcImZhbHNlXCIgfVxuICAgIH0sXG4gICAgW1xuICAgICAgX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwibWVudGlvbi1idWJibGVfX3dyYXBwZXJcIiB9LCBbXG4gICAgICAgIF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcIm1lbnRpb24tYnViYmxlX19jb250ZW50XCIgfSwgW1xuICAgICAgICAgIF9jKFwic3BhblwiLCB7XG4gICAgICAgICAgICBzdGF0aWNDbGFzczogXCJtZW50aW9uLWJ1YmJsZV9faWNvblwiLFxuICAgICAgICAgICAgY2xhc3M6IFtcbiAgICAgICAgICAgICAgX3ZtLmljb24sXG4gICAgICAgICAgICAgIFwibWVudGlvbi1idWJibGVfX2ljb24tLVwiICsgKF92bS5hdmF0YXJVcmwgPyBcIndpdGgtYXZhdGFyXCIgOiBcIlwiKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHN0eWxlOiBfdm0uYXZhdGFyVXJsXG4gICAgICAgICAgICAgID8geyBiYWNrZ3JvdW5kSW1hZ2U6IFwidXJsKFwiICsgX3ZtLmF2YXRhclVybCArIFwiKVwiIH1cbiAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcInNwYW5cIiwge1xuICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWVudGlvbi1idWJibGVfX3RpdGxlXCIsXG4gICAgICAgICAgICBhdHRyczogeyByb2xlOiBcImhlYWRpbmdcIiwgdGl0bGU6IF92bS5sYWJlbCB9XG4gICAgICAgICAgfSlcbiAgICAgICAgXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFxuICAgICAgICAgIFwic3BhblwiLFxuICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWVudGlvbi1idWJibGVfX3NlbGVjdFwiLCBhdHRyczogeyByb2xlOiBcIm5vbmVcIiB9IH0sXG4gICAgICAgICAgW192bS5fdihfdm0uX3MoX3ZtLm1lbnRpb25UZXh0KSldXG4gICAgICAgIClcbiAgICAgIF0pXG4gICAgXVxuICApXG59XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiLyogZ2xvYmFscyBfX1ZVRV9TU1JfQ09OVEVYVF9fICovXG5cbi8vIElNUE9SVEFOVDogRG8gTk9UIHVzZSBFUzIwMTUgZmVhdHVyZXMgaW4gdGhpcyBmaWxlIChleGNlcHQgZm9yIG1vZHVsZXMpLlxuLy8gVGhpcyBtb2R1bGUgaXMgYSBydW50aW1lIHV0aWxpdHkgZm9yIGNsZWFuZXIgY29tcG9uZW50IG1vZHVsZSBvdXRwdXQgYW5kIHdpbGxcbi8vIGJlIGluY2x1ZGVkIGluIHRoZSBmaW5hbCB3ZWJwYWNrIHVzZXIgYnVuZGxlLlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBub3JtYWxpemVDb21wb25lbnQgKFxuICBzY3JpcHRFeHBvcnRzLFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZnVuY3Rpb25hbFRlbXBsYXRlLFxuICBpbmplY3RTdHlsZXMsXG4gIHNjb3BlSWQsXG4gIG1vZHVsZUlkZW50aWZpZXIsIC8qIHNlcnZlciBvbmx5ICovXG4gIHNoYWRvd01vZGUgLyogdnVlLWNsaSBvbmx5ICovXG4pIHtcbiAgLy8gVnVlLmV4dGVuZCBjb25zdHJ1Y3RvciBleHBvcnQgaW50ZXJvcFxuICB2YXIgb3B0aW9ucyA9IHR5cGVvZiBzY3JpcHRFeHBvcnRzID09PSAnZnVuY3Rpb24nXG4gICAgPyBzY3JpcHRFeHBvcnRzLm9wdGlvbnNcbiAgICA6IHNjcmlwdEV4cG9ydHNcblxuICAvLyByZW5kZXIgZnVuY3Rpb25zXG4gIGlmIChyZW5kZXIpIHtcbiAgICBvcHRpb25zLnJlbmRlciA9IHJlbmRlclxuICAgIG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zXG4gICAgb3B0aW9ucy5fY29tcGlsZWQgPSB0cnVlXG4gIH1cblxuICAvLyBmdW5jdGlvbmFsIHRlbXBsYXRlXG4gIGlmIChmdW5jdGlvbmFsVGVtcGxhdGUpIHtcbiAgICBvcHRpb25zLmZ1bmN0aW9uYWwgPSB0cnVlXG4gIH1cblxuICAvLyBzY29wZWRJZFxuICBpZiAoc2NvcGVJZCkge1xuICAgIG9wdGlvbnMuX3Njb3BlSWQgPSAnZGF0YS12LScgKyBzY29wZUlkXG4gIH1cblxuICB2YXIgaG9va1xuICBpZiAobW9kdWxlSWRlbnRpZmllcikgeyAvLyBzZXJ2ZXIgYnVpbGRcbiAgICBob29rID0gZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIC8vIDIuMyBpbmplY3Rpb25cbiAgICAgIGNvbnRleHQgPVxuICAgICAgICBjb250ZXh0IHx8IC8vIGNhY2hlZCBjYWxsXG4gICAgICAgICh0aGlzLiR2bm9kZSAmJiB0aGlzLiR2bm9kZS5zc3JDb250ZXh0KSB8fCAvLyBzdGF0ZWZ1bFxuICAgICAgICAodGhpcy5wYXJlbnQgJiYgdGhpcy5wYXJlbnQuJHZub2RlICYmIHRoaXMucGFyZW50LiR2bm9kZS5zc3JDb250ZXh0KSAvLyBmdW5jdGlvbmFsXG4gICAgICAvLyAyLjIgd2l0aCBydW5Jbk5ld0NvbnRleHQ6IHRydWVcbiAgICAgIGlmICghY29udGV4dCAmJiB0eXBlb2YgX19WVUVfU1NSX0NPTlRFWFRfXyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgY29udGV4dCA9IF9fVlVFX1NTUl9DT05URVhUX19cbiAgICAgIH1cbiAgICAgIC8vIGluamVjdCBjb21wb25lbnQgc3R5bGVzXG4gICAgICBpZiAoaW5qZWN0U3R5bGVzKSB7XG4gICAgICAgIGluamVjdFN0eWxlcy5jYWxsKHRoaXMsIGNvbnRleHQpXG4gICAgICB9XG4gICAgICAvLyByZWdpc3RlciBjb21wb25lbnQgbW9kdWxlIGlkZW50aWZpZXIgZm9yIGFzeW5jIGNodW5rIGluZmVycmVuY2VcbiAgICAgIGlmIChjb250ZXh0ICYmIGNvbnRleHQuX3JlZ2lzdGVyZWRDb21wb25lbnRzKSB7XG4gICAgICAgIGNvbnRleHQuX3JlZ2lzdGVyZWRDb21wb25lbnRzLmFkZChtb2R1bGVJZGVudGlmaWVyKVxuICAgICAgfVxuICAgIH1cbiAgICAvLyB1c2VkIGJ5IHNzciBpbiBjYXNlIGNvbXBvbmVudCBpcyBjYWNoZWQgYW5kIGJlZm9yZUNyZWF0ZVxuICAgIC8vIG5ldmVyIGdldHMgY2FsbGVkXG4gICAgb3B0aW9ucy5fc3NyUmVnaXN0ZXIgPSBob29rXG4gIH0gZWxzZSBpZiAoaW5qZWN0U3R5bGVzKSB7XG4gICAgaG9vayA9IHNoYWRvd01vZGVcbiAgICAgID8gZnVuY3Rpb24gKCkge1xuICAgICAgICBpbmplY3RTdHlsZXMuY2FsbChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIChvcHRpb25zLmZ1bmN0aW9uYWwgPyB0aGlzLnBhcmVudCA6IHRoaXMpLiRyb290LiRvcHRpb25zLnNoYWRvd1Jvb3RcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgOiBpbmplY3RTdHlsZXNcbiAgfVxuXG4gIGlmIChob29rKSB7XG4gICAgaWYgKG9wdGlvbnMuZnVuY3Rpb25hbCkge1xuICAgICAgLy8gZm9yIHRlbXBsYXRlLW9ubHkgaG90LXJlbG9hZCBiZWNhdXNlIGluIHRoYXQgY2FzZSB0aGUgcmVuZGVyIGZuIGRvZXNuJ3RcbiAgICAgIC8vIGdvIHRocm91Z2ggdGhlIG5vcm1hbGl6ZXJcbiAgICAgIG9wdGlvbnMuX2luamVjdFN0eWxlcyA9IGhvb2tcbiAgICAgIC8vIHJlZ2lzdGVyIGZvciBmdW5jdGlvbmFsIGNvbXBvbmVudCBpbiB2dWUgZmlsZVxuICAgICAgdmFyIG9yaWdpbmFsUmVuZGVyID0gb3B0aW9ucy5yZW5kZXJcbiAgICAgIG9wdGlvbnMucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyV2l0aFN0eWxlSW5qZWN0aW9uIChoLCBjb250ZXh0KSB7XG4gICAgICAgIGhvb2suY2FsbChjb250ZXh0KVxuICAgICAgICByZXR1cm4gb3JpZ2luYWxSZW5kZXIoaCwgY29udGV4dClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaW5qZWN0IGNvbXBvbmVudCByZWdpc3RyYXRpb24gYXMgYmVmb3JlQ3JlYXRlIGhvb2tcbiAgICAgIHZhciBleGlzdGluZyA9IG9wdGlvbnMuYmVmb3JlQ3JlYXRlXG4gICAgICBvcHRpb25zLmJlZm9yZUNyZWF0ZSA9IGV4aXN0aW5nXG4gICAgICAgID8gW10uY29uY2F0KGV4aXN0aW5nLCBob29rKVxuICAgICAgICA6IFtob29rXVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZXhwb3J0czogc2NyaXB0RXhwb3J0cyxcbiAgICBvcHRpb25zOiBvcHRpb25zXG4gIH1cbn1cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD05YzljMzk3ZSZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0FwcE5hdmlnYXRpb25TZXR0aW5ncy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05YzljMzk3ZSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjljOWMzOTdlXCIsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiL2hvbWUvbG91aXMvd29ya3NwYWNlL25leHRjbG91ZC90b29scy9uZXh0Y2xvdWQtdnVlL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzljOWMzOTdlJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzljOWMzOTdlJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzljOWMzOTdlJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTljOWMzOTdlJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzljOWMzOTdlJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MvQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHBOYXZpZ2F0aW9uU2V0dGluZ3MudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcE5hdmlnYXRpb25TZXR0aW5ncy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05YzljMzk3ZSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQXBwTmF2aWdhdGlvblNldHRpbmdzLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD05YzljMzk3ZSZzY29wZWQ9dHJ1ZSZcIiIsIi8qXG4gKiBAY29weXJpZ2h0IDIwMTggQ2hyaXN0b3BoIFd1cnN0IDxjaHJpc3RvcGhAd2luemVyaG9mLXd1cnN0LmF0PlxuICpcbiAqIEBhdXRob3IgMjAxOCBDaHJpc3RvcGggV3Vyc3QgPGNocmlzdG9waEB3aW56ZXJob2Ytd3Vyc3QuYXQ+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuaW1wb3J0IEFwcE5hdmlnYXRpb25TZXR0aW5ncyBmcm9tICcuL0FwcE5hdmlnYXRpb25TZXR0aW5ncydcblxuZXhwb3J0IGRlZmF1bHQgQXBwTmF2aWdhdGlvblNldHRpbmdzXG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL01lbnRpb25CdWJibGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTY5ZjQwZWM4JnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL01lbnRpb25CdWJibGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9NZW50aW9uQnViYmxlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9NZW50aW9uQnViYmxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY5ZjQwZWM4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNjlmNDBlYzhcIixcbiAgbnVsbFxuICBcbilcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNjlmNDBlYzgnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNjlmNDBlYzgnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNjlmNDBlYzgnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL01lbnRpb25CdWJibGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTY5ZjQwZWM4JnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzY5ZjQwZWM4Jywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJzcmMvY29tcG9uZW50cy9SaWNoQ29udGVudGVkaXRhYmxlL01lbnRpb25CdWJibGUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL01lbnRpb25CdWJibGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vTWVudGlvbkJ1YmJsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9NZW50aW9uQnViYmxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY5ZjQwZWM4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9NZW50aW9uQnViYmxlLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02OWY0MGVjOCZzY29wZWQ9dHJ1ZSZcIiIsImltcG9ydCB7IGdldEdldHRleHRCdWlsZGVyIH0gZnJvbSAnQG5leHRjbG91ZC9sMTBuL2Rpc3QvZ2V0dGV4dCdcblxuY29uc3QgZ3RCdWlsZGVyID0gZ2V0R2V0dGV4dEJ1aWxkZXIoKVxuXHQuZGV0ZWN0TG9jYWxlKClcblxuLy8gRGVjb21wcmVzcyBUcmFuc2xhdGlvbnMgdG8gZ2V0dGV4dCBmb3JtYXQgYW5kIGFkZCB0byBndEJ1aWxkZXJcblRSQU5TTEFUSU9OUy5mb3JFYWNoKChsYW5nKSA9PiB7XG5cdGNvbnN0IHRyYW5zbGF0aW9ucyA9IHt9XG5cblx0Zm9yIChjb25zdCBrZXkgaW4gbGFuZy50cmFuc2xhdGlvbnMpIHtcblx0XHQvLyBQbHVyYWxcblx0XHRpZiAobGFuZy50cmFuc2xhdGlvbnNba2V5XS5wbHVyYWxJZCkge1xuXHRcdFx0dHJhbnNsYXRpb25zW2tleV0gPSB7XG5cdFx0XHRcdG1zZ2lkOiBrZXksXG5cdFx0XHRcdG1zZ2lkX3BsdXJhbDogbGFuZy50cmFuc2xhdGlvbnNba2V5XS5wbHVyYWxJZCxcblx0XHRcdFx0bXNnc3RyOiBsYW5nLnRyYW5zbGF0aW9uc1trZXldLm1zZ3N0cixcblx0XHRcdH1cblx0XHRcdGNvbnRpbnVlXG5cdFx0fVxuXG5cdFx0Ly8gU2luZ3VsYXJcblx0XHR0cmFuc2xhdGlvbnNba2V5XSA9IHtcblx0XHRcdG1zZ2lkOiBrZXksXG5cdFx0XHRtc2dzdHI6IFtcblx0XHRcdFx0bGFuZy50cmFuc2xhdGlvbnNba2V5XSxcblx0XHRcdF0sXG5cdFx0fVxuXHR9XG5cblx0Z3RCdWlsZGVyLmFkZFRyYW5zbGF0aW9uKGxhbmcubG9jYWxlLCB7XG5cdFx0dHJhbnNsYXRpb25zOiB7XG5cdFx0XHQnJzogdHJhbnNsYXRpb25zLFxuXHRcdH0sXG5cdH0pXG59KVxuXG5jb25zdCBndCA9IGd0QnVpbGRlci5idWlsZCgpXG5cbmNvbnN0IG4gPSBndC5uZ2V0dGV4dC5iaW5kKGd0KVxuY29uc3QgdCA9IGd0LmdldHRleHQuYmluZChndClcblxuZXhwb3J0IHsgdCwgbiB9XG4iLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDIwIEdlb3JnIEVocmtlIDxnZW9yZy1uZXh0Y2xvdWRAZWhya2UuZW1haWw+XG4gKlxuICogQGF1dGhvciBHZW9yZyBFaHJrZSA8Z2VvcmctbmV4dGNsb3VkQGVocmtlLmVtYWlsPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQge1xuXHRwcm9wczoge1xuXHRcdC8qKlxuXHRcdCAqIEEgY2xhc3MtbmFtZSBvciBhbiBhcnJheSBvZiBjbGFzcy1uYW1lc1xuXHRcdCAqIHRvIGJlIGlnbm9yZWQgd2hlbiBjbGlja2luZyBvdXRzaWRlXG5cdFx0ICogYW4gZWxlbWVudFxuXHRcdCAqL1xuXHRcdGV4Y2x1ZGVDbGlja091dHNpZGVDbGFzc2VzOiB7XG5cdFx0XHR0eXBlOiBTdHJpbmcgfCBBcnJheSxcblx0XHRcdGRlZmF1bHQ6ICgpID0+IFtdLFxuXHRcdH0sXG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHQvKipcblx0XHQgKiBNaWRkbGV3YXJlIEhhbmRsZXIgZm9yIFYtQ2xpY2stT3V0c2lkZVxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtFdmVudH0gZXZlbnQgVGhlIGNsaWNrIGV2ZW50XG5cdFx0ICogQHJldHVybnMge0Jvb2xlYW59XG5cdFx0ICovXG5cdFx0Y2xpY2tPdXRzaWRlTWlkZGxld2FyZShldmVudCkge1xuXHRcdFx0Y29uc3QgZXhjbHVkZWRDbGFzc0xpc3QgPSBBcnJheS5pc0FycmF5KHRoaXMuZXhjbHVkZUNsaWNrT3V0c2lkZUNsYXNzZXMpXG5cdFx0XHRcdD8gdGhpcy5leGNsdWRlQ2xpY2tPdXRzaWRlQ2xhc3Nlc1xuXHRcdFx0XHQ6IFt0aGlzLmV4Y2x1ZGVDbGlja091dHNpZGVDbGFzc2VzXVxuXG5cdFx0XHQvLyBObyBuZWVkIHRvIGl0ZXJhdGUgdGhyb3VnaCBhbGwgcGFyZW50c1xuXHRcdFx0Ly8gaWYgY2xhc3MtbGlzdCBpcyBlbXB0eVxuXHRcdFx0aWYgKGV4Y2x1ZGVkQ2xhc3NMaXN0Lmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRyZXR1cm4gdHJ1ZVxuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gIXRoaXMuaGFzTm9kZU9yQW55UGFyZW50Q2xhc3MoZXZlbnQudGFyZ2V0LCBleGNsdWRlZENsYXNzTGlzdClcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIENoZWNrcyBpZiBnaXZlbiBub2RlIG9yIGFueSBvZiBpdCdzIHBhcmVudHMgaGF2ZSBhIGNsYXNzIG9mIGNsYXNzQXJyYXlcblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZSBOb2RlIHRvIHRlc3Rcblx0XHQgKiBAcGFyYW0ge0FycmF5fSBjbGFzc0FycmF5IExpc3Qgb2YgY2xhc3NlcyB0byBjaGVjayBmb3Jcblx0XHQgKiBAcmV0dXJucyB7Qm9vbGVhbn1cblx0XHQgKi9cblx0XHRoYXNOb2RlT3JBbnlQYXJlbnRDbGFzcyhub2RlLCBjbGFzc0FycmF5KSB7XG5cdFx0XHRmb3IgKGNvbnN0IGNsYXNzTmFtZSBvZiBjbGFzc0FycmF5KSB7XG5cdFx0XHRcdGlmIChub2RlPy5jbGFzc0xpc3Q/LmNvbnRhaW5zKGNsYXNzTmFtZSkpIHtcblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiAhIW5vZGUucGFyZW50RWxlbWVudCAmJiB0aGlzLmhhc05vZGVPckFueVBhcmVudENsYXNzKG5vZGUucGFyZW50RWxlbWVudCwgY2xhc3NBcnJheSlcblx0XHR9LFxuXHR9LFxufVxuIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbmltcG9ydCBleGNsdWRlQ2xpY2tPdXRzaWRlQ2xhc3NlcyBmcm9tICcuL2V4Y2x1ZGVDbGlja091dHNpZGVDbGFzc2VzJ1xuaW1wb3J0IGlzRnVsbHNjcmVlbiBmcm9tICcuL2lzRnVsbHNjcmVlbidcbmltcG9ydCBpc01vYmlsZSBmcm9tICcuL2lzTW9iaWxlJ1xuaW1wb3J0IHJpY2hFZGl0b3IgZnJvbSAnLi9yaWNoRWRpdG9yJ1xuaW1wb3J0IHVzZXJTdGF0dXMgZnJvbSAnLi91c2VyU3RhdHVzJ1xuXG5leHBvcnQge1xuXHRleGNsdWRlQ2xpY2tPdXRzaWRlQ2xhc3Nlcyxcblx0aXNGdWxsc2NyZWVuLFxuXHRpc01vYmlsZSxcblx0cmljaEVkaXRvcixcblx0dXNlclN0YXR1cyxcbn1cbiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGlzRnVsbHNjcmVlbjogdGhpcy5faXNGdWxsc2NyZWVuKCksXG5cdFx0fVxuXHR9LFxuXHRiZWZvcmVNb3VudCgpIHtcblx0XHR3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5fb25SZXNpemUpXG5cdH0sXG5cdGJlZm9yZURlc3Ryb3koKSB7XG5cdFx0d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uUmVzaXplKVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0X29uUmVzaXplKCkge1xuXHRcdFx0Ly8gVXBkYXRlIGZ1bGxzY3JlZW4gbW9kZVxuXHRcdFx0dGhpcy5pc0Z1bGxzY3JlZW4gPSB0aGlzLl9pc0Z1bGxzY3JlZW4oKVxuXHRcdH0sXG5cdFx0X2lzRnVsbHNjcmVlbigpIHtcblx0XHRcdC8vIGlmIHRoZSB3aW5kb3cgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0LFxuXHRcdFx0Ly8gd2UncmUgaW4gZnVsbCBzY3JlZW4gbW9kZVxuXHRcdFx0cmV0dXJuIHdpbmRvdy5vdXRlckhlaWdodCA9PT0gc2NyZWVuLmhlaWdodFxuXHRcdH0sXG5cdH0sXG59XG4iLCIvKipcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqXG4gKi9cblxuaW1wb3J0IHsgSXNNb2JpbGVTdGF0ZSB9IGZyb20gJy4uLy4uL3V0aWxzL0lzTW9iaWxlU3RhdGUnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0aXNNb2JpbGU6IGZhbHNlLFxuXHRcdH1cblx0fSxcblx0bW91bnRlZCgpIHtcblx0XHRJc01vYmlsZVN0YXRlLiRvbignY2hhbmdlZCcsIHRoaXMub25Jc01vYmlsZUNoYW5nZWQpXG5cdFx0dGhpcy5pc01vYmlsZSA9IElzTW9iaWxlU3RhdGUuaXNNb2JpbGVcblx0fSxcblx0YmVmb3JlRGVzdHJveSgpIHtcblx0XHRJc01vYmlsZVN0YXRlLiRvZmYoJ2NoYW5nZWQnLCB0aGlzLm9uSXNNb2JpbGVDaGFuZ2VkKVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0b25Jc01vYmlsZUNoYW5nZWQodmFsKSB7XG5cdFx0XHR0aGlzLmlzTW9iaWxlID0gdmFsXG5cdFx0fSxcblx0fSxcbn1cbiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMjAgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICpcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuXG5pbXBvcnQgZXNjYXBlSHRtbCBmcm9tICdlc2NhcGUtaHRtbCdcbmltcG9ydCBsaW5raWZ5U3RyIGZyb20gJ2xpbmtpZnlqcy9zdHJpbmcnXG5pbXBvcnQgc3RyaXBUYWdzIGZyb20gJ3N0cmlwdGFncydcbmltcG9ydCBWdWUgZnJvbSAndnVlJ1xuXG5pbXBvcnQgTWVudGlvbkJ1YmJsZSBmcm9tICcuLi8uLi9jb21wb25lbnRzL1JpY2hDb250ZW50ZWRpdGFibGUvTWVudGlvbkJ1YmJsZSdcblxuLy8gQmVnaW5uaW5nIG9yIHdoaXRlc3BhY2UuIE5vbi1jYXB0dXJpbmcgZ3JvdXBcbmNvbnN0IE1FTlRJT05fU1RBUlQgPSAnKD86XnxcXFxccyknXG4vLyBBbnl0aGluZyB0aGF0IGlzIG5vdCB0ZXh0IG9yIGVuZC1vZi1saW5lLiBOb24tY2FwdHVyaW5nIGdyb3VwXG5jb25zdCBNRU5USU9OX0VORCA9ICcoPzpbXmEtel18JCknXG5leHBvcnQgY29uc3QgVVNFUklEX1JFR0VYID0gbmV3IFJlZ0V4cChgJHtNRU5USU9OX1NUQVJUfShAW2EtekEtWjAtOV8uQFxcXFwtJ10rKSgke01FTlRJT05fRU5EfSlgLCAnZ2knKVxuZXhwb3J0IGNvbnN0IFVTRVJJRF9SRUdFWF9XSVRIX1NQQUNFID0gbmV3IFJlZ0V4cChgJHtNRU5USU9OX1NUQVJUfShAXCJbYS16QS1aMC05IF8uQFxcXFwtJ10rXCIpKCR7TUVOVElPTl9FTkR9KWAsICdnaScpXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0cHJvcHM6IHtcblx0XHR1c2VyRGF0YToge1xuXHRcdFx0dHlwZTogT2JqZWN0LFxuXHRcdFx0ZGVmYXVsdDogKCkgPT4gKHt9KSxcblx0XHR9LFxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0LyoqXG5cdFx0ICogQ29udmVydCB0aGUgdmFsdWUgc3RyaW5nIHRvIGh0bWwgZm9yIHRoZSBpbm5lciBjb250ZW50XG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgdGhlIGNvbnRlbnQgd2l0aG91dCBodG1sXG5cdFx0ICogQHJldHVybnMge3N0cmluZ30gcmVuZGVyZWQgaHRtbFxuXHRcdCAqL1xuXHRcdHJlbmRlckNvbnRlbnQodmFsdWUpIHtcblx0XHRcdC8vIFNhbml0aXplIHRoZSB2YWx1ZSBwcm9wXG5cdFx0XHRjb25zdCBzYW5pdGl6ZWRWYWx1ZSA9IGVzY2FwZUh0bWwodmFsdWUpXG5cblx0XHRcdC8vIEV4dHJhY3QgYWxsIHRoZSB1c2VySWRzXG5cdFx0XHRjb25zdCBzcGxpdFZhbHVlID0gc2FuaXRpemVkVmFsdWUuc3BsaXQoVVNFUklEX1JFR0VYKVxuXHRcdFx0XHQubWFwKHBhcnQgPT4gcGFydC5zcGxpdChVU0VSSURfUkVHRVhfV0lUSF9TUEFDRSkpLmZsYXQoKVxuXG5cdFx0XHQvLyBSZXBsYWNlIHVzZXJJZHMgYnkgaHRtbFxuXHRcdFx0cmV0dXJuIHNwbGl0VmFsdWVcblx0XHRcdFx0Lm1hcChwYXJ0ID0+IHtcblx0XHRcdFx0XHQvLyBXaGVuIHNwbGl0dGluZywgdGhlIHN0cmluZyBpcyBhbHdheXMgcHV0dGluZyB0aGUgdXNlcklkc1xuXHRcdFx0XHRcdC8vIG9uIHRoZSB0aGUgdW5ldmVuIGluZGV4ZXMuIFdlIG9ubHkgd2FudCB0byBnZW5lcmF0ZSB0aGUgbWVudGlvbnMgaHRtbFxuXHRcdFx0XHRcdGlmICghcGFydC5zdGFydHNXaXRoKCdAJykpIHtcblx0XHRcdFx0XHRcdC8vIFRoaXMgcGFydCBkb2Vzbid0IGNvbnRhaW4gYSBtZW50aW9uLCBsZXQncyBtYWtlIHN1cmUgbGlua3MgYXJlIHBhcnNlZFxuXHRcdFx0XHRcdFx0cmV0dXJuIGxpbmtpZnlTdHIocGFydCwge1xuXHRcdFx0XHRcdFx0XHRkZWZhdWx0UHJvdG9jb2w6ICdodHRwcycsXG5cdFx0XHRcdFx0XHRcdHRhcmdldDogJ19ibGFuaycsXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2V4dGVybmFsJyxcblx0XHRcdFx0XHRcdFx0YXR0cmlidXRlczoge1xuXHRcdFx0XHRcdFx0XHRcdHJlbDogJ25vb3BlbmVyIG5vcmVmZXJyZXInLFxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQvLyBFeHRyYWN0aW5nIHRoZSBpZCwgbnVraW5nIHRoZSBcIiBhbmQgQFxuXHRcdFx0XHRcdGNvbnN0IGlkID0gcGFydC5yZXBsYWNlKC9bQFwiXS9naSwgJycpXG5cblx0XHRcdFx0XHQvLyBDb21waWxpbmcgdGVtcGxhdGUgYW5kIHByZXBlbmQgd2l0aCB0aGUgc3BhY2Ugd2UgcmVtb3ZlZCBkdXJpbmcgdGhlIHNwbGl0XG5cdFx0XHRcdFx0cmV0dXJuICcgJyArIHRoaXMuZ2VuU2VsZWN0VGVtcGxhdGUoaWQpXG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5qb2luKCcnKVxuXHRcdFx0XHQucmVwbGFjZSgvXFxuL2dtaSwgJzxicj4nKVxuXHRcdFx0XHQucmVwbGFjZSgvJmFtcDsvZ21pLCAnJicpXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIENvbnZlcnQgdGhlIGlubmVySHRtbCBjb250ZW50IHRvIGEgc3RyaW5nIHdpdGggbWVudGlvbnMgYXMgdGV4dFxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnQgdGhlIGNvbnRlbnQgd2l0aG91dCBodG1sXG5cdFx0ICogQHJldHVybnMge3N0cmluZ31cblx0XHQgKi9cblx0XHRwYXJzZUNvbnRlbnQoY29udGVudCkge1xuXHRcdFx0bGV0IHRleHQgPSBjb250ZW50LnJlcGxhY2UoLzxicj4vZ21pLCAnXFxuJylcblx0XHRcdHRleHQgPSB0ZXh0LnJlcGxhY2UoLyZuYnNwOy9nbWksICcgJylcblx0XHRcdHRleHQgPSB0ZXh0LnJlcGxhY2UoLyZhbXA7L2dtaSwgJyYnKVxuXG5cdFx0XHQvLyBDb252ZXJ0IHRoZSBtZW50aW9ucyB0byB0ZXh0IG9ubHlcblx0XHRcdC8vIGZpcnN0IHdlIHJlcGxhY2UgZGl2cyB3aXRoIG5ldyBsaW5lc1xuXHRcdFx0dGV4dCA9IHRleHQucmVwbGFjZSgvPFxcL2Rpdj4vZ21pLCAnXFxuJylcblx0XHRcdC8vIHRoZW4gd2UgcmVtb3ZlIGFsbCBsZWZ0b3ZlciBodG1sXG5cdFx0XHR0ZXh0ID0gc3RyaXBUYWdzKHRleHQsICc8ZGl2PicpXG5cdFx0XHR0ZXh0ID0gc3RyaXBUYWdzKHRleHQpXG5cblx0XHRcdHJldHVybiB0ZXh0XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIEdlbmVyYXRlIGFuIGF1dG9jb21wbGV0aW9uIHBvcHVwIGVudHJ5IHRlbXBsYXRlXG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgdGhlIHZhbHVlIHRvIG1hdGNoIGFnYWluc3QgdGhlIHVzZXJEYXRhXG5cdFx0ICogQHJldHVybnMge3N0cmluZ31cblx0XHQgKi9cblx0XHRnZW5TZWxlY3RUZW1wbGF0ZSh2YWx1ZSkge1xuXHRcdFx0Y29uc3QgZGF0YSA9IHRoaXMudXNlckRhdGFbdmFsdWVdXG5cblx0XHRcdC8vIEZhbGxiYWNrIHRvIEBtZW50aW9uIGluIGNhc2Ugbm8gZGF0YSBtYXRjaGVzXG5cdFx0XHRpZiAoIWRhdGEpIHtcblx0XHRcdFx0Ly8gcmV0dXJuIGBAJHt2YWx1ZX1gXG5cdFx0XHRcdHJldHVybiB2YWx1ZS5pbmRleE9mKCcgJykgPT09IC0xXG5cdFx0XHRcdFx0PyBgQCR7dmFsdWV9YFxuXHRcdFx0XHRcdDogYEBcIiR7dmFsdWV9XCJgXG5cdFx0XHR9XG5cblx0XHRcdC8vIFJldHVybiB0ZW1wbGF0ZSBhbmQgbWFrZSBzdXJlIHdlIHN0cmlwIG9mIG5ldyBsaW5lcyBhbmQgdGFic1xuXHRcdFx0cmV0dXJuIHRoaXMucmVuZGVyQ29tcG9uZW50SHRtbChkYXRhLCBNZW50aW9uQnViYmxlKS5yZXBsYWNlKC9bXFxuXFx0XS9nbWksICcnKVxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBSZW5kZXIgYSBjb21wb25lbnQgYW5kIHJldHVybiBpdHMgaHRtbCBjb250ZW50XG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge09iamVjdH0gcHJvcHNEYXRhIHRoZSBwcm9wcyB0byBwYXNzIHRvIHRoZSBjb21wb25lbnRcblx0XHQgKiBAcGFyYW0ge09iamVjdH0gY29tcG9uZW50IHRoZSBjb21wb25lbnQgdG8gcmVuZGVyXG5cdFx0ICogQHJldHVybnMge3N0cmluZ30gdGhlIHJlbmRlcmVkIGh0bWxcblx0XHQgKi9cblx0XHRyZW5kZXJDb21wb25lbnRIdG1sKHByb3BzRGF0YSwgY29tcG9uZW50KSB7XG5cdFx0XHRjb25zdCBWaWV3ID0gVnVlLmV4dGVuZChjb21wb25lbnQpXG5cdFx0XHRjb25zdCBJdGVtID0gbmV3IFZpZXcoe1xuXHRcdFx0XHRwcm9wc0RhdGEsXG5cdFx0XHR9KVxuXG5cdFx0XHQvLyBQcmVwYXJlIG1vdW50cG9pbnRcblx0XHRcdGNvbnN0IHdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuXHRcdFx0Y29uc3QgbW91bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuXHRcdFx0d3JhcHBlci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnXG5cdFx0XHR3cmFwcGVyLmFwcGVuZENoaWxkKG1vdW50KVxuXHRcdFx0ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh3cmFwcGVyKVxuXG5cdFx0XHQvLyBNb3VudCBhbmQgZ2V0IHJhdyBodG1sXG5cdFx0XHRJdGVtLiRtb3VudChtb3VudClcblx0XHRcdGNvbnN0IHJlbmRlcmVkSHRtbCA9IHdyYXBwZXIuaW5uZXJIVE1MXG5cblx0XHRcdC8vIERlc3Ryb3lcblx0XHRcdEl0ZW0uJGRlc3Ryb3koKVxuXHRcdFx0d3JhcHBlci5yZW1vdmUoKVxuXG5cdFx0XHRyZXR1cm4gcmVuZGVyZWRIdG1sXG5cdFx0fSxcblx0fSxcbn1cbiIsIi8qKlxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMjAgR2VvcmcgRWhya2UgPGdlb3JnLW5leHRjbG91ZEBlaHJrZS5lbWFpbD5cbiAqXG4gKiBAYXV0aG9yIEdlb3JnIEVocmtlIDxnZW9yZy1uZXh0Y2xvdWRAZWhya2UuZW1haWw+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICpcbiAqL1xuaW1wb3J0IGF4aW9zIGZyb20gJ0BuZXh0Y2xvdWQvYXhpb3MnXG5pbXBvcnQgeyBnZW5lcmF0ZU9jc1VybCB9IGZyb20gJ0BuZXh0Y2xvdWQvcm91dGVyJ1xuaW1wb3J0IHsgZ2V0Q2FwYWJpbGl0aWVzIH0gZnJvbSAnQG5leHRjbG91ZC9jYXBhYmlsaXRpZXMnXG5pbXBvcnQgeyBnZXRDdXJyZW50VXNlciB9IGZyb20gJ0BuZXh0Y2xvdWQvYXV0aCdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRoYXNTdGF0dXM6IGZhbHNlLFxuXHRcdFx0dXNlclN0YXR1czoge1xuXHRcdFx0XHRzdGF0dXM6IG51bGwsXG5cdFx0XHRcdG1lc3NhZ2U6IG51bGwsXG5cdFx0XHRcdGljb246IG51bGwsXG5cdFx0XHR9LFxuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdC8qKlxuXHRcdCAqIEZldGNoZXMgdGhlIHVzZXItc3RhdHVzIGZyb20gdGhlIHNlcnZlclxuXHRcdCAqIEBwYXJhbSB7U3RyaW5nfSB1c2VySWQgVXNlcklkIG9mIHRoZSB1c2VyIHRvIGZldGNoIHRoZSBzdGF0dXMgZm9yXG5cdFx0ICpcblx0XHQgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cblx0XHQgKi9cblx0XHRhc3luYyBmZXRjaFVzZXJTdGF0dXModXNlcklkKSB7XG5cdFx0XHRjb25zdCBjYXBhYmlsaXRpZXMgPSBnZXRDYXBhYmlsaXRpZXMoKVxuXHRcdFx0aWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoY2FwYWJpbGl0aWVzLCAndXNlcl9zdGF0dXMnKSB8fCAhY2FwYWJpbGl0aWVzLnVzZXJfc3RhdHVzLmVuYWJsZWQpIHtcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cblx0XHRcdC8vIFVzZXIgc3RhdHVzIGVuZHBvaW50IGlzIG5vdCBhdmFpbGFibGUgZm9yIGd1ZXN0cy5cblx0XHRcdGlmICghZ2V0Q3VycmVudFVzZXIoKSkge1xuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgeyBkYXRhIH0gPSBhd2FpdCBheGlvcy5nZXQoZ2VuZXJhdGVPY3NVcmwoJ2FwcHMvdXNlcl9zdGF0dXMvYXBpL3YxJywgMikgKyBgc3RhdHVzZXMvJHtlbmNvZGVVUklDb21wb25lbnQodXNlcklkKX1gKVxuXHRcdFx0XHRjb25zdCB7XG5cdFx0XHRcdFx0c3RhdHVzLFxuXHRcdFx0XHRcdG1lc3NhZ2UsXG5cdFx0XHRcdFx0aWNvbixcblx0XHRcdFx0fSA9IGRhdGEub2NzLmRhdGFcblx0XHRcdFx0dGhpcy51c2VyU3RhdHVzLnN0YXR1cyA9IHN0YXR1c1xuXHRcdFx0XHR0aGlzLnVzZXJTdGF0dXMubWVzc2FnZSA9IG1lc3NhZ2UgfHwgJydcblx0XHRcdFx0dGhpcy51c2VyU3RhdHVzLmljb24gPSBpY29uIHx8ICcnXG5cdFx0XHRcdHRoaXMuaGFzU3RhdHVzID0gdHJ1ZVxuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRpZiAoZS5yZXNwb25zZS5zdGF0dXMgPT09IDQwNCAmJiBlLnJlc3BvbnNlLmRhdGEub2NzPy5kYXRhPy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0XHQvLyBVc2VyIGp1c3QgaGFzIG5vIHN0YXR1cyBzZXQsIHNvIGRvbid0IGxvZyBpdFxuXHRcdFx0XHRcdHJldHVyblxuXHRcdFx0XHR9XG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoZSlcblx0XHRcdH1cblx0XHR9LFxuXHR9LFxufVxuIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBLcmlzdG9mIEhhbWFubiwgUGF1bCBTY2h3w7ZyZXJcbiAqXG4gKiBAYXV0aG9yIEtyaXN0b2YgSGFtYW5uXG4gKiBAYXV0aG9yIFBhdWwgU2Nod8O2cmVyXG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5cbmltcG9ydCBWdWUgZnJvbSAndnVlJ1xuXG5leHBvcnQgY29uc3QgSXNNb2JpbGVTdGF0ZSA9IG5ldyBWdWUoe1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRpc01vYmlsZTogZmFsc2UsXG5cdFx0fVxuXHR9LFxuXHR3YXRjaDoge1xuXHRcdGlzTW9iaWxlKHZhbCkge1xuXHRcdFx0dGhpcy4kZW1pdCgnY2hhbmdlZCcsIHZhbClcblx0XHR9LFxuXHR9LFxuXHRjcmVhdGVkKCkge1xuXHRcdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmhhbmRsZVdpbmRvd1Jlc2l6ZSlcblx0XHR0aGlzLmhhbmRsZVdpbmRvd1Jlc2l6ZSgpXG5cdH0sXG5cdGJlZm9yZURlc3Ryb3koKSB7XG5cdFx0d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuaGFuZGxlV2luZG93UmVzaXplKVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0aGFuZGxlV2luZG93UmVzaXplKCkge1xuXHRcdFx0dGhpcy5pc01vYmlsZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCA8IDEwMjRcblx0XHR9LFxuXHR9LFxufSlcbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBuZXh0Y2xvdWQvYXV0aFwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAbmV4dGNsb3VkL2F4aW9zXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBuZXh0Y2xvdWQvY2FwYWJpbGl0aWVzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBuZXh0Y2xvdWQvbDEwbi9kaXN0L2dldHRleHRcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQG5leHRjbG91ZC9yb3V0ZXJcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZsYXQuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZyb20uanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lml0ZXJhdG9yLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5qb2luLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNsaWNlLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5wcm9taXNlLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuY29uc3RydWN0b3IuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAudG8tc3RyaW5nLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5yZXBsYWNlLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuc3BsaXQuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5zdGFydHMtd2l0aC5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmRlc2NyaXB0aW9uLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5zeW1ib2wuaXRlcmF0b3IuanNcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaC5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5pdGVyYXRvci5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJlc2NhcGUtaHRtbFwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJsaW5raWZ5anMvc3RyaW5nXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInJlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZS5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJzdHJpcHRhZ3NcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwidi1jbGljay1vdXRzaWRlXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInZ1ZVwiKTsiXSwic291cmNlUm9vdCI6IiJ9","/*!\n * vue-infinite-loading v2.4.5\n * (c) 2016-2020 PeachScript\n * MIT License\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueInfiniteLoading=e():t.VueInfiniteLoading=e()}(this,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var a in t)n.d(i,a,function(e){return t[e]}.bind(null,a));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"\",n(n.s=9)}([function(t,e,n){var i=n(6);\"string\"==typeof i&&(i=[[t.i,i,\"\"]]),i.locals&&(t.exports=i.locals);(0,n(3).default)(\"6223ff68\",i,!0,{})},function(t,e,n){var i=n(8);\"string\"==typeof i&&(i=[[t.i,i,\"\"]]),i.locals&&(t.exports=i.locals);(0,n(3).default)(\"27f0e51f\",i,!0,{})},function(t,e){t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=function(t,e){var n=t[1]||\"\",i=t[3];if(!i)return n;if(e&&\"function\"==typeof btoa){var a=(o=i,\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\"),r=i.sources.map((function(t){return\"/*# sourceURL=\"+i.sourceRoot+t+\" */\"}));return[n].concat(r).concat([a]).join(\"\\n\")}var o;return[n].join(\"\\n\")}(e,t);return e[2]?\"@media \"+e[2]+\"{\"+n+\"}\":n})).join(\"\")},e.i=function(t,n){\"string\"==typeof t&&(t=[[null,t,\"\"]]);for(var i={},a=0;a<this.length;a++){var r=this[a][0];\"number\"==typeof r&&(i[r]=!0)}for(a=0;a<t.length;a++){var o=t[a];\"number\"==typeof o[0]&&i[o[0]]||(n&&!o[2]?o[2]=n:n&&(o[2]=\"(\"+o[2]+\") and (\"+n+\")\"),e.push(o))}},e}},function(t,e,n){\"use strict\";function i(t,e){for(var n=[],i={},a=0;a<e.length;a++){var r=e[a],o=r[0],s={id:t+\":\"+a,css:r[1],media:r[2],sourceMap:r[3]};i[o]?i[o].parts.push(s):n.push(i[o]={id:o,parts:[s]})}return n}n.r(e),n.d(e,\"default\",(function(){return f}));var a=\"undefined\"!=typeof document;if(\"undefined\"!=typeof DEBUG&&DEBUG&&!a)throw new Error(\"vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\");var r={},o=a&&(document.head||document.getElementsByTagName(\"head\")[0]),s=null,l=0,d=!1,c=function(){},u=null,p=\"undefined\"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function f(t,e,n,a){d=n,u=a||{};var o=i(t,e);return b(o),function(e){for(var n=[],a=0;a<o.length;a++){var s=o[a];(l=r[s.id]).refs--,n.push(l)}e?b(o=i(t,e)):o=[];for(a=0;a<n.length;a++){var l;if(0===(l=n[a]).refs){for(var d=0;d<l.parts.length;d++)l.parts[d]();delete r[l.id]}}}}function b(t){for(var e=0;e<t.length;e++){var n=t[e],i=r[n.id];if(i){i.refs++;for(var a=0;a<i.parts.length;a++)i.parts[a](n.parts[a]);for(;a<n.parts.length;a++)i.parts.push(m(n.parts[a]));i.parts.length>n.parts.length&&(i.parts.length=n.parts.length)}else{var o=[];for(a=0;a<n.parts.length;a++)o.push(m(n.parts[a]));r[n.id]={id:n.id,refs:1,parts:o}}}}function h(){var t=document.createElement(\"style\");return t.type=\"text/css\",o.appendChild(t),t}function m(t){var e,n,i=document.querySelector('style[data-vue-ssr-id~=\"'+t.id+'\"]');if(i){if(d)return c;i.parentNode.removeChild(i)}if(p){var a=l++;i=s||(s=h()),e=w.bind(null,i,a,!1),n=w.bind(null,i,a,!0)}else i=h(),e=y.bind(null,i),n=function(){i.parentNode.removeChild(i)};return e(t),function(i){if(i){if(i.css===t.css&&i.media===t.media&&i.sourceMap===t.sourceMap)return;e(t=i)}else n()}}var g,v=(g=[],function(t,e){return g[t]=e,g.filter(Boolean).join(\"\\n\")});function w(t,e,n,i){var a=n?\"\":i.css;if(t.styleSheet)t.styleSheet.cssText=v(e,a);else{var r=document.createTextNode(a),o=t.childNodes;o[e]&&t.removeChild(o[e]),o.length?t.insertBefore(r,o[e]):t.appendChild(r)}}function y(t,e){var n=e.css,i=e.media,a=e.sourceMap;if(i&&t.setAttribute(\"media\",i),u.ssrId&&t.setAttribute(\"data-vue-ssr-id\",e.id),a&&(n+=\"\\n/*# sourceURL=\"+a.sources[0]+\" */\",n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}},function(t,e){function n(e){return\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?t.exports=n=function(t){return typeof t}:t.exports=n=function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},n(e)}t.exports=n},function(t,e,n){\"use strict\";n.r(e);var i=n(0),a=n.n(i);for(var r in i)\"default\"!==r&&function(t){n.d(e,t,(function(){return i[t]}))}(r);e.default=a.a},function(t,e,n){(t.exports=n(2)(!1)).push([t.i,'.loading-wave-dots[data-v-46b20d22]{position:relative}.loading-wave-dots[data-v-46b20d22] .wave-item{position:absolute;top:50%;left:50%;display:inline-block;margin-top:-4px;width:8px;height:8px;border-radius:50%;-webkit-animation:loading-wave-dots-data-v-46b20d22 linear 2.8s infinite;animation:loading-wave-dots-data-v-46b20d22 linear 2.8s infinite}.loading-wave-dots[data-v-46b20d22] .wave-item:first-child{margin-left:-36px}.loading-wave-dots[data-v-46b20d22] .wave-item:nth-child(2){margin-left:-20px;-webkit-animation-delay:.14s;animation-delay:.14s}.loading-wave-dots[data-v-46b20d22] .wave-item:nth-child(3){margin-left:-4px;-webkit-animation-delay:.28s;animation-delay:.28s}.loading-wave-dots[data-v-46b20d22] .wave-item:nth-child(4){margin-left:12px;-webkit-animation-delay:.42s;animation-delay:.42s}.loading-wave-dots[data-v-46b20d22] .wave-item:last-child{margin-left:28px;-webkit-animation-delay:.56s;animation-delay:.56s}@-webkit-keyframes loading-wave-dots-data-v-46b20d22{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}@keyframes loading-wave-dots-data-v-46b20d22{0%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}10%{-webkit-transform:translateY(-6px);transform:translateY(-6px);background:#999}20%{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}to{-webkit-transform:translateY(0);transform:translateY(0);background:#bbb}}.loading-circles[data-v-46b20d22] .circle-item{width:5px;height:5px;-webkit-animation:loading-circles-data-v-46b20d22 linear .75s infinite;animation:loading-circles-data-v-46b20d22 linear .75s infinite}.loading-circles[data-v-46b20d22] .circle-item:first-child{margin-top:-14.5px;margin-left:-2.5px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(2){margin-top:-11.26px;margin-left:6.26px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(3){margin-top:-2.5px;margin-left:9.5px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(4){margin-top:6.26px;margin-left:6.26px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(5){margin-top:9.5px;margin-left:-2.5px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(6){margin-top:6.26px;margin-left:-11.26px}.loading-circles[data-v-46b20d22] .circle-item:nth-child(7){margin-top:-2.5px;margin-left:-14.5px}.loading-circles[data-v-46b20d22] .circle-item:last-child{margin-top:-11.26px;margin-left:-11.26px}@-webkit-keyframes loading-circles-data-v-46b20d22{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}@keyframes loading-circles-data-v-46b20d22{0%{background:#dfdfdf}90%{background:#505050}to{background:#dfdfdf}}.loading-bubbles[data-v-46b20d22] .bubble-item{background:#666;-webkit-animation:loading-bubbles-data-v-46b20d22 linear .75s infinite;animation:loading-bubbles-data-v-46b20d22 linear .75s infinite}.loading-bubbles[data-v-46b20d22] .bubble-item:first-child{margin-top:-12.5px;margin-left:-.5px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(2){margin-top:-9.26px;margin-left:8.26px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(3){margin-top:-.5px;margin-left:11.5px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(4){margin-top:8.26px;margin-left:8.26px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(5){margin-top:11.5px;margin-left:-.5px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(6){margin-top:8.26px;margin-left:-9.26px}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(7){margin-top:-.5px;margin-left:-12.5px}.loading-bubbles[data-v-46b20d22] .bubble-item:last-child{margin-top:-9.26px;margin-left:-9.26px}@-webkit-keyframes loading-bubbles-data-v-46b20d22{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}@keyframes loading-bubbles-data-v-46b20d22{0%{width:1px;height:1px;box-shadow:0 0 0 3px #666}90%{width:1px;height:1px;box-shadow:0 0 0 0 #666}to{width:1px;height:1px;box-shadow:0 0 0 3px #666}}.loading-default[data-v-46b20d22]{position:relative;border:1px solid #999;-webkit-animation:loading-rotating-data-v-46b20d22 ease 1.5s infinite;animation:loading-rotating-data-v-46b20d22 ease 1.5s infinite}.loading-default[data-v-46b20d22]:before{content:\"\";position:absolute;display:block;top:0;left:50%;margin-top:-3px;margin-left:-3px;width:6px;height:6px;background-color:#999;border-radius:50%}.loading-spiral[data-v-46b20d22]{border:2px solid #777;border-right-color:transparent;-webkit-animation:loading-rotating-data-v-46b20d22 linear .85s infinite;animation:loading-rotating-data-v-46b20d22 linear .85s infinite}@-webkit-keyframes loading-rotating-data-v-46b20d22{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotating-data-v-46b20d22{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-bubbles[data-v-46b20d22],.loading-circles[data-v-46b20d22]{position:relative}.loading-bubbles[data-v-46b20d22] .bubble-item,.loading-circles[data-v-46b20d22] .circle-item{position:absolute;top:50%;left:50%;display:inline-block;border-radius:50%}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(2),.loading-circles[data-v-46b20d22] .circle-item:nth-child(2){-webkit-animation-delay:93ms;animation-delay:93ms}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(3),.loading-circles[data-v-46b20d22] .circle-item:nth-child(3){-webkit-animation-delay:.186s;animation-delay:.186s}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(4),.loading-circles[data-v-46b20d22] .circle-item:nth-child(4){-webkit-animation-delay:.279s;animation-delay:.279s}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(5),.loading-circles[data-v-46b20d22] .circle-item:nth-child(5){-webkit-animation-delay:.372s;animation-delay:.372s}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(6),.loading-circles[data-v-46b20d22] .circle-item:nth-child(6){-webkit-animation-delay:.465s;animation-delay:.465s}.loading-bubbles[data-v-46b20d22] .bubble-item:nth-child(7),.loading-circles[data-v-46b20d22] .circle-item:nth-child(7){-webkit-animation-delay:.558s;animation-delay:.558s}.loading-bubbles[data-v-46b20d22] .bubble-item:last-child,.loading-circles[data-v-46b20d22] .circle-item:last-child{-webkit-animation-delay:.651s;animation-delay:.651s}',\"\"])},function(t,e,n){\"use strict\";n.r(e);var i=n(1),a=n.n(i);for(var r in i)\"default\"!==r&&function(t){n.d(e,t,(function(){return i[t]}))}(r);e.default=a.a},function(t,e,n){(t.exports=n(2)(!1)).push([t.i,\".infinite-loading-container[data-v-644ea9c9]{clear:both;text-align:center}.infinite-loading-container[data-v-644ea9c9] [class^=loading-]{display:inline-block;margin:5px 0;width:28px;height:28px;font-size:28px;line-height:28px;border-radius:50%}.btn-try-infinite[data-v-644ea9c9]{margin-top:5px;padding:5px 10px;color:#999;font-size:14px;line-height:1;background:transparent;border:1px solid #ccc;border-radius:3px;outline:none;cursor:pointer}.btn-try-infinite[data-v-644ea9c9]:not(:active):hover{opacity:.8}\",\"\"])},function(t,e,n){\"use strict\";n.r(e);var i={throttleLimit:50,loopCheckTimeout:1e3,loopCheckMaxCalls:10},a=function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){return t={passive:!0},!0}});window.addEventListener(\"testpassive\",e,e),window.remove(\"testpassive\",e,e)}catch(t){}return t}(),r={STATE_CHANGER:[\"emit `loaded` and `complete` event through component instance of `$refs` may cause error, so it will be deprecated soon, please use the `$state` argument instead (`$state` just the special `$event` variable):\",\"\\ntemplate:\",'<infinite-loading @infinite=\"infiniteHandler\"></infinite-loading>',\"\\nscript:\\n...\\ninfiniteHandler($state) {\\n ajax('https://www.example.com/api/news')\\n .then((res) => {\\n if (res.data.length) {\\n $state.loaded();\\n } else {\\n $state.complete();\\n }\\n });\\n}\\n...\",\"\",\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/57#issuecomment-324370549\"].join(\"\\n\"),INFINITE_EVENT:\"`:on-infinite` property will be deprecated soon, please use `@infinite` event instead.\",IDENTIFIER:\"the `reset` event will be deprecated soon, please reset this component by change the `identifier` property.\"},o={INFINITE_LOOP:[\"executed the callback function more than \".concat(i.loopCheckMaxCalls,\" times for a short time, it looks like searched a wrong scroll wrapper that doest not has fixed height or maximum height, please check it. If you want to force to set a element as scroll wrapper ranther than automatic searching, you can do this:\"),'\\n\\x3c!-- add a special attribute for the real scroll wrapper --\\x3e\\n<div infinite-wrapper>\\n ...\\n \\x3c!-- set force-use-infinite-wrapper --\\x3e\\n <infinite-loading force-use-infinite-wrapper></infinite-loading>\\n</div>\\nor\\n<div class=\"infinite-wrapper\">\\n ...\\n \\x3c!-- set force-use-infinite-wrapper as css selector of the real scroll wrapper --\\x3e\\n <infinite-loading force-use-infinite-wrapper=\".infinite-wrapper\"></infinite-loading>\\n</div>\\n ',\"more details: https://github.com/PeachScript/vue-infinite-loading/issues/55#issuecomment-316934169\"].join(\"\\n\")},s={READY:0,LOADING:1,COMPLETE:2,ERROR:3},l={color:\"#666\",fontSize:\"14px\",padding:\"10px 0\"},d={mode:\"development\",props:{spinner:\"default\",distance:100,forceUseInfiniteWrapper:!1},system:i,slots:{noResults:\"No results :(\",noMore:\"No more data :)\",error:\"Opps, something went wrong :(\",errorBtnText:\"Retry\",spinner:\"\"},WARNINGS:r,ERRORS:o,STATUS:s},c=n(4),u=n.n(c),p={BUBBLES:{render:function(t){return t(\"span\",{attrs:{class:\"loading-bubbles\"}},Array.apply(Array,Array(8)).map((function(){return t(\"span\",{attrs:{class:\"bubble-item\"}})})))}},CIRCLES:{render:function(t){return t(\"span\",{attrs:{class:\"loading-circles\"}},Array.apply(Array,Array(8)).map((function(){return t(\"span\",{attrs:{class:\"circle-item\"}})})))}},DEFAULT:{render:function(t){return t(\"i\",{attrs:{class:\"loading-default\"}})}},SPIRAL:{render:function(t){return t(\"i\",{attrs:{class:\"loading-spiral\"}})}},WAVEDOTS:{render:function(t){return t(\"span\",{attrs:{class:\"loading-wave-dots\"}},Array.apply(Array,Array(5)).map((function(){return t(\"span\",{attrs:{class:\"wave-item\"}})})))}}};function f(t,e,n,i,a,r,o,s){var l,d=\"function\"==typeof t?t.options:t;if(e&&(d.render=e,d.staticRenderFns=n,d._compiled=!0),i&&(d.functional=!0),r&&(d._scopeId=\"data-v-\"+r),o?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},d._ssrRegister=l):a&&(l=s?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(d.functional){d._injectStyles=l;var c=d.render;d.render=function(t,e){return l.call(e),c(t,e)}}else{var u=d.beforeCreate;d.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:d}}var b=f({name:\"Spinner\",computed:{spinnerView:function(){return p[(this.$attrs.spinner||\"\").toUpperCase()]||this.spinnerInConfig},spinnerInConfig:function(){return d.slots.spinner&&\"string\"==typeof d.slots.spinner?{render:function(){return this._v(d.slots.spinner)}}:\"object\"===u()(d.slots.spinner)?d.slots.spinner:p[d.props.spinner.toUpperCase()]||p.DEFAULT}}},(function(){var t=this.$createElement;return(this._self._c||t)(this.spinnerView,{tag:\"component\"})}),[],!1,(function(t){var e=n(5);e.__inject__&&e.__inject__(t)}),\"46b20d22\",null).exports;function h(t){\"production\"!==d.mode&&console.warn(\"[Vue-infinite-loading warn]: \".concat(t))}function m(t){console.error(\"[Vue-infinite-loading error]: \".concat(t))}var g={timers:[],caches:[],throttle:function(t){var e=this;-1===this.caches.indexOf(t)&&(this.caches.push(t),this.timers.push(setTimeout((function(){t(),e.caches.splice(e.caches.indexOf(t),1),e.timers.shift()}),d.system.throttleLimit)))},reset:function(){this.timers.forEach((function(t){clearTimeout(t)})),this.timers.length=0,this.caches=[]}},v={isChecked:!1,timer:null,times:0,track:function(){var t=this;this.times+=1,clearTimeout(this.timer),this.timer=setTimeout((function(){t.isChecked=!0}),d.system.loopCheckTimeout),this.times>d.system.loopCheckMaxCalls&&(m(o.INFINITE_LOOP),this.isChecked=!0)}},w={key:\"_infiniteScrollHeight\",getScrollElm:function(t){return t===window?document.documentElement:t},save:function(t){var e=this.getScrollElm(t);e[this.key]=e.scrollHeight},restore:function(t){var e=this.getScrollElm(t);\"number\"==typeof e[this.key]&&(e.scrollTop=e.scrollHeight-e[this.key]+e.scrollTop),this.remove(e)},remove:function(t){void 0!==t[this.key]&&delete t[this.key]}};function y(t){return t.replace(/[A-Z]/g,(function(t){return\"-\".concat(t.toLowerCase())}))}function x(t){return t.offsetWidth+t.offsetHeight>0}var k=f({name:\"InfiniteLoading\",data:function(){return{scrollParent:null,scrollHandler:null,isFirstLoad:!0,status:s.READY,slots:d.slots}},components:{Spinner:b},computed:{isShowSpinner:function(){return this.status===s.LOADING},isShowError:function(){return this.status===s.ERROR},isShowNoResults:function(){return this.status===s.COMPLETE&&this.isFirstLoad},isShowNoMore:function(){return this.status===s.COMPLETE&&!this.isFirstLoad},slotStyles:function(){var t=this,e={};return Object.keys(d.slots).forEach((function(n){var i=y(n);(!t.$slots[i]&&!d.slots[n].render||t.$slots[i]&&!t.$slots[i][0].tag)&&(e[n]=l)})),e}},props:{distance:{type:Number,default:d.props.distance},spinner:String,direction:{type:String,default:\"bottom\"},forceUseInfiniteWrapper:{type:[Boolean,String],default:d.props.forceUseInfiniteWrapper},identifier:{default:+new Date},onInfinite:Function},watch:{identifier:function(){this.stateChanger.reset()}},mounted:function(){var t=this;this.$watch(\"forceUseInfiniteWrapper\",(function(){t.scrollParent=t.getScrollParent()}),{immediate:!0}),this.scrollHandler=function(e){t.status===s.READY&&(e&&e.constructor===Event&&x(t.$el)?g.throttle(t.attemptLoad):t.attemptLoad())},setTimeout((function(){t.scrollHandler(),t.scrollParent.addEventListener(\"scroll\",t.scrollHandler,a)}),1),this.$on(\"$InfiniteLoading:loaded\",(function(e){t.isFirstLoad=!1,\"top\"===t.direction&&t.$nextTick((function(){w.restore(t.scrollParent)})),t.status===s.LOADING&&t.$nextTick(t.attemptLoad.bind(null,!0)),e&&e.target===t||h(r.STATE_CHANGER)})),this.$on(\"$InfiniteLoading:complete\",(function(e){t.status=s.COMPLETE,t.$nextTick((function(){t.$forceUpdate()})),t.scrollParent.removeEventListener(\"scroll\",t.scrollHandler,a),e&&e.target===t||h(r.STATE_CHANGER)})),this.$on(\"$InfiniteLoading:reset\",(function(e){t.status=s.READY,t.isFirstLoad=!0,w.remove(t.scrollParent),t.scrollParent.addEventListener(\"scroll\",t.scrollHandler,a),setTimeout((function(){g.reset(),t.scrollHandler()}),1),e&&e.target===t||h(r.IDENTIFIER)})),this.stateChanger={loaded:function(){t.$emit(\"$InfiniteLoading:loaded\",{target:t})},complete:function(){t.$emit(\"$InfiniteLoading:complete\",{target:t})},reset:function(){t.$emit(\"$InfiniteLoading:reset\",{target:t})},error:function(){t.status=s.ERROR,g.reset()}},this.onInfinite&&h(r.INFINITE_EVENT)},deactivated:function(){this.status===s.LOADING&&(this.status=s.READY),this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler,a)},activated:function(){this.scrollParent.addEventListener(\"scroll\",this.scrollHandler,a)},methods:{attemptLoad:function(t){var e=this;this.status!==s.COMPLETE&&x(this.$el)&&this.getCurrentDistance()<=this.distance?(this.status=s.LOADING,\"top\"===this.direction&&this.$nextTick((function(){w.save(e.scrollParent)})),\"function\"==typeof this.onInfinite?this.onInfinite.call(null,this.stateChanger):this.$emit(\"infinite\",this.stateChanger),!t||this.forceUseInfiniteWrapper||v.isChecked||v.track()):this.status===s.LOADING&&(this.status=s.READY)},getCurrentDistance:function(){var t;\"top\"===this.direction?t=\"number\"==typeof this.scrollParent.scrollTop?this.scrollParent.scrollTop:this.scrollParent.pageYOffset:t=this.$el.getBoundingClientRect().top-(this.scrollParent===window?window.innerHeight:this.scrollParent.getBoundingClientRect().bottom);return t},getScrollParent:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.$el;return\"string\"==typeof this.forceUseInfiniteWrapper&&(t=document.querySelector(this.forceUseInfiniteWrapper)),t||(\"BODY\"===e.tagName?t=window:!this.forceUseInfiniteWrapper&&[\"scroll\",\"auto\"].indexOf(getComputedStyle(e).overflowY)>-1?t=e:(e.hasAttribute(\"infinite-wrapper\")||e.hasAttribute(\"data-infinite-wrapper\"))&&(t=e)),t||this.getScrollParent(e.parentNode)}},destroyed:function(){!this.status!==s.COMPLETE&&(g.reset(),w.remove(this.scrollParent),this.scrollParent.removeEventListener(\"scroll\",this.scrollHandler,a))}},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"infinite-loading-container\"},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isShowSpinner,expression:\"isShowSpinner\"}],staticClass:\"infinite-status-prompt\",style:t.slotStyles.spinner},[t._t(\"spinner\",[n(\"spinner\",{attrs:{spinner:t.spinner}})])],2),t._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isShowNoResults,expression:\"isShowNoResults\"}],staticClass:\"infinite-status-prompt\",style:t.slotStyles.noResults},[t._t(\"no-results\",[t.slots.noResults.render?n(t.slots.noResults,{tag:\"component\"}):[t._v(t._s(t.slots.noResults))]])],2),t._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isShowNoMore,expression:\"isShowNoMore\"}],staticClass:\"infinite-status-prompt\",style:t.slotStyles.noMore},[t._t(\"no-more\",[t.slots.noMore.render?n(t.slots.noMore,{tag:\"component\"}):[t._v(t._s(t.slots.noMore))]])],2),t._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isShowError,expression:\"isShowError\"}],staticClass:\"infinite-status-prompt\",style:t.slotStyles.error},[t._t(\"error\",[t.slots.error.render?n(t.slots.error,{tag:\"component\",attrs:{trigger:t.attemptLoad}}):[t._v(\"\\n \"+t._s(t.slots.error)+\"\\n \"),n(\"br\"),t._v(\" \"),n(\"button\",{staticClass:\"btn-try-infinite\",domProps:{textContent:t._s(t.slots.errorBtnText)},on:{click:t.attemptLoad}})]],{trigger:t.attemptLoad})],2)])}),[],!1,(function(t){var e=n(7);e.__inject__&&e.__inject__(t)}),\"644ea9c9\",null).exports;function E(t){d.mode=t.config.productionTip?\"development\":\"production\"}Object.defineProperty(k,\"install\",{configurable:!1,enumerable:!1,value:function(t,e){Object.assign(d.props,e&&e.props),Object.assign(d.slots,e&&e.slots),Object.assign(d.system,e&&e.system),t.component(\"infinite-loading\",k),E(t)}}),\"undefined\"!=typeof window&&window.Vue&&(window.Vue.component(\"infinite-loading\",k),E(window.Vue));e.default=k}])}));","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Components/PopoverMenu\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Components/PopoverMenu\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"Components/PopoverMenu\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/components/PopoverMenu/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=script&lang=js&\":\n/*!***************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=script&lang=js& ***!\n \\***************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _PopoverMenuItem__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PopoverMenuItem */ \"./src/components/PopoverMenu/PopoverMenuItem.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'PopoverMenu',\n components: {\n PopoverMenuItem: _PopoverMenuItem__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n props: {\n menu: {\n type: Array,\n default: function _default() {\n return [{\n href: 'https://nextcloud.com',\n icon: 'icon-links',\n text: 'Nextcloud'\n }];\n },\n required: true\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=script&lang=js&\":\n/*!*******************************************************************************************************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=script&lang=js& ***!\n \\*******************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"core-js/modules/es.regexp.to-string.js\");\n/* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.url.js */ \"core-js/modules/web.url.js\");\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'PopoverMenuItem',\n props: {\n item: {\n type: Object,\n required: true,\n default: function _default() {\n return {\n key: 'nextcloud-link',\n href: 'https://nextcloud.com',\n icon: 'icon-links',\n text: 'Nextcloud'\n };\n },\n // check the input types\n // TODO: add more validation of types\n validator: function validator(item) {\n // TODO: support radio\n if (item.input) {\n return ['text', 'checkbox'].indexOf(item.input) !== -1;\n }\n\n return true;\n }\n }\n },\n computed: {\n // random key for inputs binding if not provided\n key: function key() {\n return this.item.key ? this.item.key : Math.round(Math.random() * 16 * 1000000).toString(16);\n },\n iconIsUrl: function iconIsUrl() {\n try {\n // eslint-disable-next-line no-new\n new URL(this.item.icon);\n return true;\n } catch (_) {\n return false;\n }\n }\n },\n methods: {\n // allow us to use both link and an action on `a`\n // we still need to make sure item.action exists\n action: function action(event) {\n if (this.item.action) {\n this.item.action(event);\n }\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\nul[data-v-0a0eb719] {\\n display: flex;\\n flex-direction: column;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenu.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAqCF;EACC,aAAa;EACb,sBAAsB;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\nli[data-v-512ea768] {\\n display: flex;\\n flex: 0 0 auto;\\n /* css hack, only first not hidden */\\n}\\nli.hidden[data-v-512ea768] {\\n display: none;\\n}\\nli > button[data-v-512ea768],\\n li > a[data-v-512ea768],\\n li > .menuitem[data-v-512ea768] {\\n cursor: pointer;\\n line-height: 44px;\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n display: flex;\\n align-items: flex-start;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n font-weight: normal;\\n box-shadow: none;\\n width: 100%;\\n color: var(--color-main-text);\\n white-space: nowrap;\\n opacity: 0.7;\\n /* prevent .action class to break the design */\\n /* Add padding if contains icon+text */\\n /* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n /* checkbox/radio fixes */\\n /* no margin if hidden span before */\\n /* Inputs inside popover supports text, submit & reset */\\n}\\nli > button span[class^='icon-'][data-v-512ea768],\\n li > button span[class*=' icon-'][data-v-512ea768], li > button[class^='icon-'][data-v-512ea768], li > button[class*=' icon-'][data-v-512ea768],\\n li > a span[class^='icon-'][data-v-512ea768],\\n li > a span[class*=' icon-'][data-v-512ea768],\\n li > a[class^='icon-'][data-v-512ea768],\\n li > a[class*=' icon-'][data-v-512ea768],\\n li > .menuitem span[class^='icon-'][data-v-512ea768],\\n li > .menuitem span[class*=' icon-'][data-v-512ea768],\\n li > .menuitem[class^='icon-'][data-v-512ea768],\\n li > .menuitem[class*=' icon-'][data-v-512ea768] {\\n min-width: 0;\\n /* Overwrite icons*/\\n min-height: 0;\\n background-position: 14px center;\\n background-size: 16px;\\n}\\nli > button span[class^='icon-'][data-v-512ea768],\\n li > button span[class*=' icon-'][data-v-512ea768],\\n li > a span[class^='icon-'][data-v-512ea768],\\n li > a span[class*=' icon-'][data-v-512ea768],\\n li > .menuitem span[class^='icon-'][data-v-512ea768],\\n li > .menuitem span[class*=' icon-'][data-v-512ea768] {\\n /* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n padding: 22px 0 22px 44px;\\n}\\nli > button:not([class^='icon-']):not([class*='icon-']) > span[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > button:not([class^='icon-']):not([class*='icon-']) > input[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > button:not([class^='icon-']):not([class*='icon-']) > form[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > a:not([class^='icon-']):not([class*='icon-']) > span[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > a:not([class^='icon-']):not([class*='icon-']) > input[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > a:not([class^='icon-']):not([class*='icon-']) > form[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > .menuitem:not([class^='icon-']):not([class*='icon-']) > span[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > .menuitem:not([class^='icon-']):not([class*='icon-']) > input[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child,\\n li > .menuitem:not([class^='icon-']):not([class*='icon-']) > form[data-v-512ea768]:not([class^='icon-']):not([class*='icon-']):first-child {\\n margin-left: 44px;\\n}\\nli > button[class^='icon-'][data-v-512ea768], li > button[class*=' icon-'][data-v-512ea768],\\n li > a[class^='icon-'][data-v-512ea768],\\n li > a[class*=' icon-'][data-v-512ea768],\\n li > .menuitem[class^='icon-'][data-v-512ea768],\\n li > .menuitem[class*=' icon-'][data-v-512ea768] {\\n padding: 0 14px 0 44px;\\n}\\nli > button[data-v-512ea768]:not(:disabled):hover, li > button[data-v-512ea768]:not(:disabled):focus, li > button:not(:disabled).active[data-v-512ea768],\\n li > a[data-v-512ea768]:not(:disabled):hover,\\n li > a[data-v-512ea768]:not(:disabled):focus,\\n li > a:not(:disabled).active[data-v-512ea768],\\n li > .menuitem[data-v-512ea768]:not(:disabled):hover,\\n li > .menuitem[data-v-512ea768]:not(:disabled):focus,\\n li > .menuitem:not(:disabled).active[data-v-512ea768] {\\n opacity: 1 !important;\\n}\\nli > button.action[data-v-512ea768],\\n li > a.action[data-v-512ea768],\\n li > .menuitem.action[data-v-512ea768] {\\n padding: inherit !important;\\n}\\nli > button > span[data-v-512ea768],\\n li > a > span[data-v-512ea768],\\n li > .menuitem > span[data-v-512ea768] {\\n cursor: pointer;\\n white-space: nowrap;\\n}\\nli > button > p[data-v-512ea768],\\n li > a > p[data-v-512ea768],\\n li > .menuitem > p[data-v-512ea768] {\\n width: 150px;\\n line-height: 1.6em;\\n padding: 8px 0;\\n white-space: normal;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\nli > button > select[data-v-512ea768],\\n li > a > select[data-v-512ea768],\\n li > .menuitem > select[data-v-512ea768] {\\n margin: 0;\\n margin-left: 6px;\\n}\\nli > button[data-v-512ea768]:not(:empty),\\n li > a[data-v-512ea768]:not(:empty),\\n li > .menuitem[data-v-512ea768]:not(:empty) {\\n padding-right: 14px !important;\\n}\\nli > button > img[data-v-512ea768],\\n li > a > img[data-v-512ea768],\\n li > .menuitem > img[data-v-512ea768] {\\n width: 16px;\\n padding: 14px;\\n}\\nli > button > input.radio + label[data-v-512ea768],\\n li > button > input.checkbox + label[data-v-512ea768],\\n li > a > input.radio + label[data-v-512ea768],\\n li > a > input.checkbox + label[data-v-512ea768],\\n li > .menuitem > input.radio + label[data-v-512ea768],\\n li > .menuitem > input.checkbox + label[data-v-512ea768] {\\n padding: 0 !important;\\n width: 100%;\\n}\\nli > button > input.checkbox + label[data-v-512ea768]::before,\\n li > a > input.checkbox + label[data-v-512ea768]::before,\\n li > .menuitem > input.checkbox + label[data-v-512ea768]::before {\\n margin: -2px 13px 0;\\n}\\nli > button > input.radio + label[data-v-512ea768]::before,\\n li > a > input.radio + label[data-v-512ea768]::before,\\n li > .menuitem > input.radio + label[data-v-512ea768]::before {\\n margin: -2px 12px 0;\\n}\\nli > button > input[data-v-512ea768]:not([type=radio]):not([type=checkbox]):not([type=image]),\\n li > a > input[data-v-512ea768]:not([type=radio]):not([type=checkbox]):not([type=image]),\\n li > .menuitem > input[data-v-512ea768]:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n width: 150px;\\n}\\nli > button form[data-v-512ea768],\\n li > a form[data-v-512ea768],\\n li > .menuitem form[data-v-512ea768] {\\n display: flex;\\n flex: 1 1 auto;\\n /* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n}\\nli > button form[data-v-512ea768]:not(:first-child),\\n li > a form[data-v-512ea768]:not(:first-child),\\n li > .menuitem form[data-v-512ea768]:not(:first-child) {\\n margin-left: 5px;\\n}\\nli > button > span.hidden + form[data-v-512ea768],\\n li > button > span[style*='display:none'] + form[data-v-512ea768],\\n li > a > span.hidden + form[data-v-512ea768],\\n li > a > span[style*='display:none'] + form[data-v-512ea768],\\n li > .menuitem > span.hidden + form[data-v-512ea768],\\n li > .menuitem > span[style*='display:none'] + form[data-v-512ea768] {\\n margin-left: 0;\\n}\\nli > button input[data-v-512ea768],\\n li > a input[data-v-512ea768],\\n li > .menuitem input[data-v-512ea768] {\\n min-width: 44px;\\n max-height: 40px;\\n /* twice the element margin-y */\\n margin: 2px 0;\\n flex: 1 1 auto;\\n}\\nli > button input[data-v-512ea768]:not(:first-child),\\n li > a input[data-v-512ea768]:not(:first-child),\\n li > .menuitem input[data-v-512ea768]:not(:first-child) {\\n margin-left: 5px;\\n}\\nli:not(.hidden):not([style*='display:none']):first-of-type > button > form[data-v-512ea768], li:not(.hidden):not([style*='display:none']):first-of-type > button > input[data-v-512ea768], li:not(.hidden):not([style*='display:none']):first-of-type > a > form[data-v-512ea768], li:not(.hidden):not([style*='display:none']):first-of-type > a > input[data-v-512ea768], li:not(.hidden):not([style*='display:none']):first-of-type > .menuitem > form[data-v-512ea768], li:not(.hidden):not([style*='display:none']):first-of-type > .menuitem > input[data-v-512ea768] {\\n margin-top: 12px;\\n}\\nli:not(.hidden):not([style*='display:none']):last-of-type > button > form[data-v-512ea768], li:not(.hidden):not([style*='display:none']):last-of-type > button > input[data-v-512ea768], li:not(.hidden):not([style*='display:none']):last-of-type > a > form[data-v-512ea768], li:not(.hidden):not([style*='display:none']):last-of-type > a > input[data-v-512ea768], li:not(.hidden):not([style*='display:none']):last-of-type > .menuitem > form[data-v-512ea768], li:not(.hidden):not([style*='display:none']):last-of-type > .menuitem > input[data-v-512ea768] {\\n margin-bottom: 12px;\\n}\\nli > button[data-v-512ea768] {\\n padding: 0;\\n}\\nli > button span[data-v-512ea768] {\\n opacity: 1;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAAA,gBAAgB;ACAhB;;;;;;;;;;;;;;;;;;;;EDqBE;AAuLF;EACC,aAAa;EACb,cAAc;EAuJd,oCAAA;AAAqC;AAzJtC;IAKE,aAAa;AAAA;AALf;;;IAWE,eAAe;IACf,iBC/LmB;IDgMnB,SAAS;IACT,gBAAgB;IAChB,6BAA6B;IAC7B,aAAa;IACb,uBAAuB;IACvB,YAAY;IACZ,SAAS;IACT,UAAU;IACV,mBAAmB;IACnB,gBAAgB;IAChB,WAAW;IACX,6BAA6B;IAC7B,mBAAmB;IACnB,YC3LiB;IDqOjB,8CAAA;IA4BA,sCAAA;IAKA;sBA/PoB;IAsQpB,yBAAA;IA0BA,oCAAA;IAKA,wDAAA;AAAyD;AA3I3D;;;;;;;;;;MAiCG,YAAY;MAAE,mBAAA;MACd,aAAa;MACb,gCAA2C;MAC3C,qBCnNa;AAAA;AD+KhB;;;;;;MAyCG;gDAzK6C;MA2K7C,yBC9NkB;AAAA;ADmLrB;;;;;;;;;MAoDK,iBCvOgB;AAAA;ADmLrB;;;;;MA2DG,sBC9OkB;AAAA;ADmLrB;;;;;;;MAiEG,qBAAiC;AAAA;AAjEpC;;;MAsEG,2BAA2B;AAAA;AAtE9B;;;MA0EG,eAAe;MACf,mBAAmB;AAAA;AA3EtB;;;MAgFG,YAAY;MACZ,kBAAkB;MAClB,cAAc;MACd,mBAAmB;MAGnB,gBAAgB;MAChB,uBAAuB;AAAA;AAvF1B;;;MA4FG,SAAS;MACT,gBAAgB;AAAA;AA7FnB;;;MAkGG,8BAAsC;AAAA;AAlGzC;;;MAwGG,WCvRa;MDwRb,aCpR6C;AAAA;AD2KhD;;;;;;MA+GG,qBAAqB;MACrB,WAAW;AAAA;AAhHd;;;MAmHG,mBAAmB;AAAA;AAnHtB;;;MAsHG,mBAAmB;AAAA;AAtHtB;;;MAyHG,YAAY;AAAA;AAzHf;;;MA8HG,aAAa;MACb,cAAc;MACd;mCA5KgC;AA6KC;AAjIpC;;;QAmII,gBAAgB;AAAA;AAnIpB;;;;;;MAyIG,cAAc;AAAA;AAzIjB;;;MA6IG,eChUkB;MDiUlB,gBAAY;MAA0B,+BAAA;MACtC,aAAa;MACb,cAAc;AAAA;AAhJjB;;;QAmJI,gBAAgB;AAAA;AAnJpB;IA8JK,gBAA8B;AAAA;AA9JnC;IAqKK,mBAAiC;AAAA;AArKtC;IA2KE,UAAU;AAAA;AA3KZ;MA6KG,UC7Ua;AAAA\",\"sourcesContent\":[\"$scope_version:\\\"84c461f\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css&\":\n/*!****************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css& ***!\n \\****************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);\n// Module\n___CSS_LOADER_EXPORT___.push([module.i, \"\\nbutton.menuitem[data-v-512ea768] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-512ea768] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-512ea768]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-512ea768] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-512ea768] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenuItem.vue\"],\"names\":[],\"mappings\":\";AAmLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n\\n<template>\\n\\t<li class=\\\"popover__menuitem\\\">\\n\\t\\t<!-- If item.href is set, a link will be directly used -->\\n\\t\\t<a v-if=\\\"item.href\\\"\\n\\t\\t\\t:href=\\\"(item.href) ? item.href : '#' \\\"\\n\\t\\t\\t:target=\\\"(item.target) ? item.target : '' \\\"\\n\\t\\t\\t:download=\\\"item.download\\\"\\n\\t\\t\\tclass=\\\"focusable\\\"\\n\\t\\t\\trel=\\\"noreferrer noopener\\\"\\n\\t\\t\\t@click=\\\"action\\\">\\n\\t\\t\\t<span v-if=\\\"!iconIsUrl\\\" :class=\\\"item.icon\\\" />\\n\\t\\t\\t<img v-else :src=\\\"item.icon\\\">\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t<!-- If item.input is set instead, an put will be used -->\\n\\t\\t<span v-else-if=\\\"item.input\\\" class=\\\"menuitem\\\" :class=\\\"{active: item.active}\\\">\\n\\t\\t\\t<!-- does not show if input is checkbox -->\\n\\t\\t\\t<span v-if=\\\"item.input !== 'checkbox'\\\" :class=\\\"item.icon\\\" />\\n\\n\\t\\t\\t<!-- only shows if input is text -->\\n\\t\\t\\t<form v-if=\\\"item.input === 'text'\\\"\\n\\t\\t\\t\\t:class=\\\"item.input\\\"\\n\\t\\t\\t\\t@submit.prevent=\\\"item.action\\\">\\n\\t\\t\\t\\t<input :type=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t:value=\\\"item.value\\\"\\n\\t\\t\\t\\t\\t:placeholder=\\\"item.text\\\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\\\"submit\\\" value=\\\"\\\" class=\\\"icon-confirm\\\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t<!-- checkbox -->\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t<!-- eslint-disable-next-line -->\\n\\t\\t\\t\\t<input :id=\\\"key\\\" v-model=\\\"item.model\\\"\\n\\t\\t\\t\\t\\t:type=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t:class=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t@change=\\\"item.action\\\">\\n\\t\\t\\t\\t<label :for=\\\"key\\\" @click.stop.prevent=\\\"item.action\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t<!-- If item.action is set instead, a button will be used -->\\n\\t\\t<button v-else-if=\\\"item.action\\\"\\n\\t\\t\\tclass=\\\"menuitem focusable\\\"\\n\\t\\t\\t:class=\\\"{active: item.active}\\\"\\n\\t\\t\\t:disabled=\\\"item.disabled\\\"\\n\\t\\t\\t@click.stop.prevent=\\\"item.action\\\">\\n\\t\\t\\t<span :class=\\\"item.icon\\\" />\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t<!-- If item.longtext is set AND the item does not have an action -->\\n\\t\\t<span v-else class=\\\"menuitem\\\" :class=\\\"{active: item.active}\\\">\\n\\t\\t\\t<span :class=\\\"item.icon\\\" />\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: 'PopoverMenuItem',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: 'nextcloud-link',\\n\\t\\t\\t\\t\\thref: 'https://nextcloud.com',\\n\\t\\t\\t\\t\\ticon: 'icon-links',\\n\\t\\t\\t\\t\\ttext: 'Nextcloud',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn ['text', 'checkbox'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\\\"scss\\\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/api.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/api.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/css-loader/dist/runtime/cssWithMappingToString.js ***!\n \\************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_style_index_0_id_0a0eb719_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_style_index_0_id_0a0eb719_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_style_index_0_id_0a0eb719_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true&\":\n/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js??ref--1-3!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true& ***!\n \\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_1_id_512ea768_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_1_id_512ea768_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_1_id_512ea768_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css&\":\n/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css& ***!\n \\********************************************************************************************************************************************************************************************************************************************************************************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_0_id_512ea768_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css& */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css&\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_0_id_512ea768_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__[\"default\"], options);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_0_id_512ea768_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__[\"default\"].locals || {});\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!\n \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : undefined;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true&\":\n/*!*****************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true& ***!\n \\*****************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"ul\",\n { staticClass: \"popover__menu\" },\n _vm._l(_vm.menu, function(item, key) {\n return _c(\"PopoverMenuItem\", { key: key, attrs: { item: item } })\n }),\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true&\":\n/*!*********************************************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true& ***!\n \\*********************************************************************************************************************************************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", { staticClass: \"popover__menuitem\" }, [\n _vm.item.href\n ? _c(\n \"a\",\n {\n staticClass: \"focusable\",\n attrs: {\n href: _vm.item.href ? _vm.item.href : \"#\",\n target: _vm.item.target ? _vm.item.target : \"\",\n download: _vm.item.download,\n rel: \"noreferrer noopener\"\n },\n on: { click: _vm.action }\n },\n [\n !_vm.iconIsUrl\n ? _c(\"span\", { class: _vm.item.icon })\n : _c(\"img\", { attrs: { src: _vm.item.icon } }),\n _vm._v(\" \"),\n _vm.item.text && _vm.item.longtext\n ? _c(\"p\", [\n _c(\"strong\", { staticClass: \"menuitem-text\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\\t\\t\")\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"menuitem-text-detail\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" + _vm._s(_vm.item.longtext) + \"\\n\\t\\t\\t\"\n )\n ])\n ])\n : _vm.item.text\n ? _c(\"span\", [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\\t\")\n ])\n : _vm.item.longtext\n ? _c(\"p\", [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.item.longtext) + \"\\n\\t\\t\")\n ])\n : _vm._e()\n ]\n )\n : _vm.item.input\n ? _c(\n \"span\",\n { staticClass: \"menuitem\", class: { active: _vm.item.active } },\n [\n _vm.item.input !== \"checkbox\"\n ? _c(\"span\", { class: _vm.item.icon })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.item.input === \"text\"\n ? _c(\n \"form\",\n {\n class: _vm.item.input,\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.item.action($event)\n }\n }\n },\n [\n _c(\"input\", {\n attrs: {\n type: _vm.item.input,\n placeholder: _vm.item.text,\n required: \"\"\n },\n domProps: { value: _vm.item.value }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" }\n })\n ]\n )\n : [\n _vm.item.input === \"checkbox\"\n ? _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.item.model,\n expression: \"item.model\"\n }\n ],\n class: _vm.item.input,\n attrs: { id: _vm.key, type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.item.model)\n ? _vm._i(_vm.item.model, null) > -1\n : _vm.item.model\n },\n on: {\n change: [\n function($event) {\n var $$a = _vm.item.model,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n _vm.item,\n \"model\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n _vm.item,\n \"model\",\n $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1))\n )\n }\n } else {\n _vm.$set(_vm.item, \"model\", $$c)\n }\n },\n _vm.item.action\n ]\n }\n })\n : _vm.item.input === \"radio\"\n ? _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.item.model,\n expression: \"item.model\"\n }\n ],\n class: _vm.item.input,\n attrs: { id: _vm.key, type: \"radio\" },\n domProps: { checked: _vm._q(_vm.item.model, null) },\n on: {\n change: [\n function($event) {\n return _vm.$set(_vm.item, \"model\", null)\n },\n _vm.item.action\n ]\n }\n })\n : _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.item.model,\n expression: \"item.model\"\n }\n ],\n class: _vm.item.input,\n attrs: { id: _vm.key, type: _vm.item.input },\n domProps: { value: _vm.item.model },\n on: {\n change: _vm.item.action,\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.item, \"model\", $event.target.value)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: { for: _vm.key },\n on: {\n click: function($event) {\n $event.stopPropagation()\n $event.preventDefault()\n return _vm.item.action($event)\n }\n }\n },\n [_vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\\t\\t\")]\n )\n ]\n ],\n 2\n )\n : _vm.item.action\n ? _c(\n \"button\",\n {\n staticClass: \"menuitem focusable\",\n class: { active: _vm.item.active },\n attrs: { disabled: _vm.item.disabled },\n on: {\n click: function($event) {\n $event.stopPropagation()\n $event.preventDefault()\n return _vm.item.action($event)\n }\n }\n },\n [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text && _vm.item.longtext\n ? _c(\"p\", [\n _c(\"strong\", { staticClass: \"menuitem-text\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\\t\\t\")\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"menuitem-text-detail\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" + _vm._s(_vm.item.longtext) + \"\\n\\t\\t\\t\"\n )\n ])\n ])\n : _vm.item.text\n ? _c(\"span\", [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\\t\")\n ])\n : _vm.item.longtext\n ? _c(\"p\", [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.item.longtext) + \"\\n\\t\\t\")\n ])\n : _vm._e()\n ]\n )\n : _c(\n \"span\",\n { staticClass: \"menuitem\", class: { active: _vm.item.active } },\n [\n _c(\"span\", { class: _vm.item.icon }),\n _vm._v(\" \"),\n _vm.item.text && _vm.item.longtext\n ? _c(\"p\", [\n _c(\"strong\", { staticClass: \"menuitem-text\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\\t\\t\")\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"menuitem-text-detail\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" + _vm._s(_vm.item.longtext) + \"\\n\\t\\t\\t\"\n )\n ])\n ])\n : _vm.item.text\n ? _c(\"span\", [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.item.text) + \"\\n\\t\\t\")\n ])\n : _vm.item.longtext\n ? _c(\"p\", [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.item.longtext) + \"\\n\\t\\t\")\n ])\n : _vm._e()\n ]\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n/***/ }),\n\n/***/ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***!\n \\********************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenu.vue\":\n/*!****************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenu.vue ***!\n \\****************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _PopoverMenu_vue_vue_type_template_id_0a0eb719_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true& */ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true&\");\n/* harmony import */ var _PopoverMenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PopoverMenu.vue?vue&type=script&lang=js& */ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _PopoverMenu_vue_vue_type_style_index_0_id_0a0eb719_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true& */ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n/* harmony import */ var _PopoverMenu_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PopoverMenu.vue?vue&type=custom&index=0&blockType=docs */ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=custom&index=0&blockType=docs\");\n/* harmony import */ var _PopoverMenu_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_PopoverMenu_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\n _PopoverMenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _PopoverMenu_vue_vue_type_template_id_0a0eb719_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _PopoverMenu_vue_vue_type_template_id_0a0eb719_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"0a0eb719\",\n null\n \n)\n\n/* custom blocks */\n\nif (typeof _PopoverMenu_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default.a === 'function') _PopoverMenu_vue_vue_type_custom_index_0_blockType_docs__WEBPACK_IMPORTED_MODULE_4___default()(component)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/PopoverMenu/PopoverMenu.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=custom&index=0&blockType=docs\":\n/*!*******************************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenu.vue?vue&type=custom&index=0&blockType=docs ***!\n \\*******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=script&lang=js&\":\n/*!*****************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenu.vue?vue&type=script&lang=js& ***!\n \\*****************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenu.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true&\":\n/*!**************************************************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true& ***!\n \\**************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_style_index_0_id_0a0eb719_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=style&index=0&id=0a0eb719&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true&\":\n/*!***********************************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true& ***!\n \\***********************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_template_id_0a0eb719_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenu.vue?vue&type=template&id=0a0eb719&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_template_id_0a0eb719_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenu_vue_vue_type_template_id_0a0eb719_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenuItem.vue\":\n/*!********************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenuItem.vue ***!\n \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _PopoverMenuItem_vue_vue_type_template_id_512ea768_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true& */ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true&\");\n/* harmony import */ var _PopoverMenuItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PopoverMenuItem.vue?vue&type=script&lang=js& */ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _PopoverMenuItem_vue_vue_type_style_index_0_id_512ea768_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css& */ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css&\");\n/* harmony import */ var _PopoverMenuItem_vue_vue_type_style_index_1_id_512ea768_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true& */ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(\n _PopoverMenuItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _PopoverMenuItem_vue_vue_type_template_id_512ea768_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _PopoverMenuItem_vue_vue_type_template_id_512ea768_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"512ea768\",\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"src/components/PopoverMenu/PopoverMenuItem.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=script&lang=js&\":\n/*!*********************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=script&lang=js& ***!\n \\*********************************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenuItem.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css&\":\n/*!*****************************************************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css& ***!\n \\*****************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_0_id_512ea768_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=0&id=512ea768&scoped=true&lang=css&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true&\":\n/*!******************************************************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true& ***!\n \\******************************************************************************************************************/\n/*! no exports provided */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_resolve_url_loader_index_js_node_modules_sass_loader_dist_cjs_js_ref_1_3_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_style_index_1_id_512ea768_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/style-loader/dist/cjs.js!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true& */ \"./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=style&index=1&id=512ea768&lang=scss&scoped=true&\");\n/* empty/unused harmony star reexport */\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true&\":\n/*!***************************************************************************************************!*\\\n !*** ./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true& ***!\n \\***************************************************************************************************/\n/*! exports provided: render, staticRenderFns */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_template_id_512ea768_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/PopoverMenu/PopoverMenuItem.vue?vue&type=template&id=512ea768&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_template_id_512ea768_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PopoverMenuItem_vue_vue_type_template_id_512ea768_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n/***/ }),\n\n/***/ \"./src/components/PopoverMenu/index.js\":\n/*!*********************************************!*\\\n !*** ./src/components/PopoverMenu/index.js ***!\n \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _PopoverMenu__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PopoverMenu */ \"./src/components/PopoverMenu/PopoverMenu.vue\");\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_PopoverMenu__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/***/ }),\n\n/***/ \"core-js/modules/es.array.iterator.js\":\n/*!*******************************************************!*\\\n !*** external \"core-js/modules/es.array.iterator.js\" ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.array.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.object.to-string.js\":\n/*!*********************************************************!*\\\n !*** external \"core-js/modules/es.object.to-string.js\" ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.object.to-string.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.regexp.to-string.js\":\n/*!*********************************************************!*\\\n !*** external \"core-js/modules/es.regexp.to-string.js\" ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.regexp.to-string.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/es.string.iterator.js\":\n/*!********************************************************!*\\\n !*** external \"core-js/modules/es.string.iterator.js\" ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/es.string.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/web.dom-collections.iterator.js\":\n/*!******************************************************************!*\\\n !*** external \"core-js/modules/web.dom-collections.iterator.js\" ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/web.dom-collections.iterator.js\");\n\n/***/ }),\n\n/***/ \"core-js/modules/web.url.js\":\n/*!*********************************************!*\\\n !*** external \"core-js/modules/web.url.js\" ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"core-js/modules/web.url.js\");\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnUudnVlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnVJdGVtLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnUudnVlPzdhODIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXJNZW51L1BvcG92ZXJNZW51SXRlbS52dWU/ODQzYSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnVJdGVtLnZ1ZT9lMGE3Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvY3NzV2l0aE1hcHBpbmdUb1N0cmluZy5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnUudnVlPzIxYzYiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXJNZW51L1BvcG92ZXJNZW51SXRlbS52dWU/NWQ3NCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnVJdGVtLnZ1ZT8zNzJhIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXJNZW51L1BvcG92ZXJNZW51LnZ1ZT81NjZjIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Qb3BvdmVyTWVudS9Qb3BvdmVyTWVudUl0ZW0udnVlPzFjNTQiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanMiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXJNZW51L1BvcG92ZXJNZW51LnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnUudnVlPzdlOTQiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXJNZW51L1BvcG92ZXJNZW51LnZ1ZT8xMjA3Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Qb3BvdmVyTWVudS9Qb3BvdmVyTWVudS52dWU/OTgwNSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnVJdGVtLnZ1ZSIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnVJdGVtLnZ1ZT82M2U2Iiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Qb3BvdmVyTWVudS9Qb3BvdmVyTWVudUl0ZW0udnVlP2E5YzciLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS8uL3NyYy9jb21wb25lbnRzL1BvcG92ZXJNZW51L1BvcG92ZXJNZW51SXRlbS52dWU/OTE4OCIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnVJdGVtLnZ1ZT9jM2NlIiwid2VicGFjazovL05leHRjbG91ZFZ1ZS5bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9Qb3BvdmVyTWVudS9pbmRleC5qcyIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lml0ZXJhdG9yLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAudG8tc3RyaW5nLmpzXCIiLCJ3ZWJwYWNrOi8vTmV4dGNsb3VkVnVlLltuYW1lXS9leHRlcm5hbCBcImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuaXRlcmF0b3IuanNcIiIsIndlYnBhY2s6Ly9OZXh0Y2xvdWRWdWUuW25hbWVdL2V4dGVybmFsIFwiY29yZS1qcy9tb2R1bGVzL3dlYi51cmwuanNcIiJdLCJuYW1lcyI6WyJQb3BvdmVyTWVudSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFD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O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVlQSxtSEFBZixFOzs7Ozs7Ozs7OztBQ3ZCQSxpRTs7Ozs7Ozs7Ozs7QUNBQSxtRTs7Ozs7Ozs7Ozs7QUNBQSxtRTs7Ozs7Ozs7Ozs7QUNBQSxrRTs7Ozs7Ozs7Ozs7QUNBQSw0RTs7Ozs7Ozs7Ozs7QUNBQSx1RCIsImZpbGUiOiJDb21wb25lbnRzL1BvcG92ZXJNZW51LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoXCJDb21wb25lbnRzL1BvcG92ZXJNZW51XCIsIFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkNvbXBvbmVudHMvUG9wb3Zlck1lbnVcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiTmV4dGNsb3VkVnVlXCJdID0gcm9vdFtcIk5leHRjbG91ZFZ1ZVwiXSB8fCB7fSwgcm9vdFtcIk5leHRjbG91ZFZ1ZVwiXVtcIkNvbXBvbmVudHMvUG9wb3Zlck1lbnVcIl0gPSBmYWN0b3J5KCk7XG59KSh3aW5kb3csIGZ1bmN0aW9uKCkge1xucmV0dXJuICIsIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbiBcdFx0fVxuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4gXHQvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbiBcdC8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4gXHQvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbiBcdFx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcbiBcdFx0aWYoKG1vZGUgJiA0KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcbiBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCAnZGVmYXVsdCcsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHZhbHVlIH0pO1xuIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4gXHRcdHJldHVybiBucztcbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiL2Rpc3QvXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSBcIi4vc3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvaW5kZXguanNcIik7XG4iLCI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjxkb2NzPlxuXHRUaGlzIGNvbXBvbmVudCBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIHRoZSBbQWN0aW9uc10oIy9Db21wb25lbnRzP2lkPWFjdGlvbnMtMSkgY29tcG9uZW50IGluc3RlYWQuXG48L2RvY3M+XG5cbjx0ZW1wbGF0ZT5cblx0PHVsIGNsYXNzPVwicG9wb3Zlcl9fbWVudVwiPlxuXHRcdDxQb3BvdmVyTWVudUl0ZW0gdi1mb3I9XCIoaXRlbSwga2V5KSBpbiBtZW51XCIgOmtleT1cImtleVwiIDppdGVtPVwiaXRlbVwiIC8+XG5cdDwvdWw+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IFBvcG92ZXJNZW51SXRlbSBmcm9tICcuL1BvcG92ZXJNZW51SXRlbSdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnUG9wb3Zlck1lbnUnLFxuXHRjb21wb25lbnRzOiB7XG5cdFx0UG9wb3Zlck1lbnVJdGVtLFxuXHR9LFxuXHRwcm9wczoge1xuXHRcdG1lbnU6IHtcblx0XHRcdHR5cGU6IEFycmF5LFxuXHRcdFx0ZGVmYXVsdDogKCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gW3tcblx0XHRcdFx0XHRocmVmOiAnaHR0cHM6Ly9uZXh0Y2xvdWQuY29tJyxcblx0XHRcdFx0XHRpY29uOiAnaWNvbi1saW5rcycsXG5cdFx0XHRcdFx0dGV4dDogJ05leHRjbG91ZCcsXG5cdFx0XHRcdH1dXG5cdFx0XHR9LFxuXHRcdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0fSxcblx0fSxcbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG51bCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG48L3N0eWxlPlxuIiwiPCEtLVxuICAtIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE4IEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICAtIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXG4gIC0gTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICAtIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gIC0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48dGVtcGxhdGU+XG5cdDxsaSBjbGFzcz1cInBvcG92ZXJfX21lbnVpdGVtXCI+XG5cdFx0PCEtLSBJZiBpdGVtLmhyZWYgaXMgc2V0LCBhIGxpbmsgd2lsbCBiZSBkaXJlY3RseSB1c2VkIC0tPlxuXHRcdDxhIHYtaWY9XCJpdGVtLmhyZWZcIlxuXHRcdFx0OmhyZWY9XCIoaXRlbS5ocmVmKSA/IGl0ZW0uaHJlZiA6ICcjJyBcIlxuXHRcdFx0OnRhcmdldD1cIihpdGVtLnRhcmdldCkgPyBpdGVtLnRhcmdldCA6ICcnIFwiXG5cdFx0XHQ6ZG93bmxvYWQ9XCJpdGVtLmRvd25sb2FkXCJcblx0XHRcdGNsYXNzPVwiZm9jdXNhYmxlXCJcblx0XHRcdHJlbD1cIm5vcmVmZXJyZXIgbm9vcGVuZXJcIlxuXHRcdFx0QGNsaWNrPVwiYWN0aW9uXCI+XG5cdFx0XHQ8c3BhbiB2LWlmPVwiIWljb25Jc1VybFwiIDpjbGFzcz1cIml0ZW0uaWNvblwiIC8+XG5cdFx0XHQ8aW1nIHYtZWxzZSA6c3JjPVwiaXRlbS5pY29uXCI+XG5cdFx0XHQ8cCB2LWlmPVwiaXRlbS50ZXh0ICYmIGl0ZW0ubG9uZ3RleHRcIj5cblx0XHRcdFx0PHN0cm9uZyBjbGFzcz1cIm1lbnVpdGVtLXRleHRcIj5cblx0XHRcdFx0XHR7eyBpdGVtLnRleHQgfX1cblx0XHRcdFx0PC9zdHJvbmc+PGJyPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cIm1lbnVpdGVtLXRleHQtZGV0YWlsXCI+XG5cdFx0XHRcdFx0e3sgaXRlbS5sb25ndGV4dCB9fVxuXHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHQ8L3A+XG5cdFx0XHQ8c3BhbiB2LWVsc2UtaWY9XCJpdGVtLnRleHRcIj5cblx0XHRcdFx0e3sgaXRlbS50ZXh0IH19XG5cdFx0XHQ8L3NwYW4+XG5cdFx0XHQ8cCB2LWVsc2UtaWY9XCJpdGVtLmxvbmd0ZXh0XCI+XG5cdFx0XHRcdHt7IGl0ZW0ubG9uZ3RleHQgfX1cblx0XHRcdDwvcD5cblx0XHQ8L2E+XG5cblx0XHQ8IS0tIElmIGl0ZW0uaW5wdXQgaXMgc2V0IGluc3RlYWQsIGFuIHB1dCB3aWxsIGJlIHVzZWQgLS0+XG5cdFx0PHNwYW4gdi1lbHNlLWlmPVwiaXRlbS5pbnB1dFwiIGNsYXNzPVwibWVudWl0ZW1cIiA6Y2xhc3M9XCJ7YWN0aXZlOiBpdGVtLmFjdGl2ZX1cIj5cblx0XHRcdDwhLS0gZG9lcyBub3Qgc2hvdyBpZiBpbnB1dCBpcyBjaGVja2JveCAtLT5cblx0XHRcdDxzcGFuIHYtaWY9XCJpdGVtLmlucHV0ICE9PSAnY2hlY2tib3gnXCIgOmNsYXNzPVwiaXRlbS5pY29uXCIgLz5cblxuXHRcdFx0PCEtLSBvbmx5IHNob3dzIGlmIGlucHV0IGlzIHRleHQgLS0+XG5cdFx0XHQ8Zm9ybSB2LWlmPVwiaXRlbS5pbnB1dCA9PT0gJ3RleHQnXCJcblx0XHRcdFx0OmNsYXNzPVwiaXRlbS5pbnB1dFwiXG5cdFx0XHRcdEBzdWJtaXQucHJldmVudD1cIml0ZW0uYWN0aW9uXCI+XG5cdFx0XHRcdDxpbnB1dCA6dHlwZT1cIml0ZW0uaW5wdXRcIlxuXHRcdFx0XHRcdDp2YWx1ZT1cIml0ZW0udmFsdWVcIlxuXHRcdFx0XHRcdDpwbGFjZWhvbGRlcj1cIml0ZW0udGV4dFwiXG5cdFx0XHRcdFx0cmVxdWlyZWQ+XG5cdFx0XHRcdDxpbnB1dCB0eXBlPVwic3VibWl0XCIgdmFsdWU9XCJcIiBjbGFzcz1cImljb24tY29uZmlybVwiPlxuXHRcdFx0PC9mb3JtPlxuXG5cdFx0XHQ8IS0tIGNoZWNrYm94IC0tPlxuXHRcdFx0PHRlbXBsYXRlIHYtZWxzZT5cblx0XHRcdFx0PCEtLSBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgLS0+XG5cdFx0XHRcdDxpbnB1dCA6aWQ9XCJrZXlcIiB2LW1vZGVsPVwiaXRlbS5tb2RlbFwiXG5cdFx0XHRcdFx0OnR5cGU9XCJpdGVtLmlucHV0XCJcblx0XHRcdFx0XHQ6Y2xhc3M9XCJpdGVtLmlucHV0XCJcblx0XHRcdFx0XHRAY2hhbmdlPVwiaXRlbS5hY3Rpb25cIj5cblx0XHRcdFx0PGxhYmVsIDpmb3I9XCJrZXlcIiBAY2xpY2suc3RvcC5wcmV2ZW50PVwiaXRlbS5hY3Rpb25cIj5cblx0XHRcdFx0XHR7eyBpdGVtLnRleHQgfX1cblx0XHRcdFx0PC9sYWJlbD5cblx0XHRcdDwvdGVtcGxhdGU+XG5cdFx0PC9zcGFuPlxuXG5cdFx0PCEtLSBJZiBpdGVtLmFjdGlvbiBpcyBzZXQgaW5zdGVhZCwgYSBidXR0b24gd2lsbCBiZSB1c2VkIC0tPlxuXHRcdDxidXR0b24gdi1lbHNlLWlmPVwiaXRlbS5hY3Rpb25cIlxuXHRcdFx0Y2xhc3M9XCJtZW51aXRlbSBmb2N1c2FibGVcIlxuXHRcdFx0OmNsYXNzPVwie2FjdGl2ZTogaXRlbS5hY3RpdmV9XCJcblx0XHRcdDpkaXNhYmxlZD1cIml0ZW0uZGlzYWJsZWRcIlxuXHRcdFx0QGNsaWNrLnN0b3AucHJldmVudD1cIml0ZW0uYWN0aW9uXCI+XG5cdFx0XHQ8c3BhbiA6Y2xhc3M9XCJpdGVtLmljb25cIiAvPlxuXHRcdFx0PHAgdi1pZj1cIml0ZW0udGV4dCAmJiBpdGVtLmxvbmd0ZXh0XCI+XG5cdFx0XHRcdDxzdHJvbmcgY2xhc3M9XCJtZW51aXRlbS10ZXh0XCI+XG5cdFx0XHRcdFx0e3sgaXRlbS50ZXh0IH19XG5cdFx0XHRcdDwvc3Ryb25nPjxicj5cblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJtZW51aXRlbS10ZXh0LWRldGFpbFwiPlxuXHRcdFx0XHRcdHt7IGl0ZW0ubG9uZ3RleHQgfX1cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0PC9wPlxuXHRcdFx0PHNwYW4gdi1lbHNlLWlmPVwiaXRlbS50ZXh0XCI+XG5cdFx0XHRcdHt7IGl0ZW0udGV4dCB9fVxuXHRcdFx0PC9zcGFuPlxuXHRcdFx0PHAgdi1lbHNlLWlmPVwiaXRlbS5sb25ndGV4dFwiPlxuXHRcdFx0XHR7eyBpdGVtLmxvbmd0ZXh0IH19XG5cdFx0XHQ8L3A+XG5cdFx0PC9idXR0b24+XG5cblx0XHQ8IS0tIElmIGl0ZW0ubG9uZ3RleHQgaXMgc2V0IEFORCB0aGUgaXRlbSBkb2VzIG5vdCBoYXZlIGFuIGFjdGlvbiAtLT5cblx0XHQ8c3BhbiB2LWVsc2UgY2xhc3M9XCJtZW51aXRlbVwiIDpjbGFzcz1cInthY3RpdmU6IGl0ZW0uYWN0aXZlfVwiPlxuXHRcdFx0PHNwYW4gOmNsYXNzPVwiaXRlbS5pY29uXCIgLz5cblx0XHRcdDxwIHYtaWY9XCJpdGVtLnRleHQgJiYgaXRlbS5sb25ndGV4dFwiPlxuXHRcdFx0XHQ8c3Ryb25nIGNsYXNzPVwibWVudWl0ZW0tdGV4dFwiPlxuXHRcdFx0XHRcdHt7IGl0ZW0udGV4dCB9fVxuXHRcdFx0XHQ8L3N0cm9uZz48YnI+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwibWVudWl0ZW0tdGV4dC1kZXRhaWxcIj5cblx0XHRcdFx0XHR7eyBpdGVtLmxvbmd0ZXh0IH19XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdDwvcD5cblx0XHRcdDxzcGFuIHYtZWxzZS1pZj1cIml0ZW0udGV4dFwiPlxuXHRcdFx0XHR7eyBpdGVtLnRleHQgfX1cblx0XHRcdDwvc3Bhbj5cblx0XHRcdDxwIHYtZWxzZS1pZj1cIml0ZW0ubG9uZ3RleHRcIj5cblx0XHRcdFx0e3sgaXRlbS5sb25ndGV4dCB9fVxuXHRcdFx0PC9wPlxuXHRcdDwvc3Bhbj5cblx0PC9saT5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdQb3BvdmVyTWVudUl0ZW0nLFxuXHRwcm9wczoge1xuXHRcdGl0ZW06IHtcblx0XHRcdHR5cGU6IE9iamVjdCxcblx0XHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdFx0ZGVmYXVsdDogKCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdGtleTogJ25leHRjbG91ZC1saW5rJyxcblx0XHRcdFx0XHRocmVmOiAnaHR0cHM6Ly9uZXh0Y2xvdWQuY29tJyxcblx0XHRcdFx0XHRpY29uOiAnaWNvbi1saW5rcycsXG5cdFx0XHRcdFx0dGV4dDogJ05leHRjbG91ZCcsXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHQvLyBjaGVjayB0aGUgaW5wdXQgdHlwZXNcblx0XHRcdC8vIFRPRE86IGFkZCBtb3JlIHZhbGlkYXRpb24gb2YgdHlwZXNcblx0XHRcdHZhbGlkYXRvcjogaXRlbSA9PiB7XG5cdFx0XHRcdC8vIFRPRE86IHN1cHBvcnQgcmFkaW9cblx0XHRcdFx0aWYgKGl0ZW0uaW5wdXQpIHtcblx0XHRcdFx0XHRyZXR1cm4gWyd0ZXh0JywgJ2NoZWNrYm94J10uaW5kZXhPZihpdGVtLmlucHV0KSAhPT0gLTFcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdHJ1ZVxuXHRcdFx0fSxcblx0XHR9LFxuXHR9LFxuXHRjb21wdXRlZDoge1xuXHRcdC8vIHJhbmRvbSBrZXkgZm9yIGlucHV0cyBiaW5kaW5nIGlmIG5vdCBwcm92aWRlZFxuXHRcdGtleSgpIHtcblx0XHRcdHJldHVybiB0aGlzLml0ZW0ua2V5XG5cdFx0XHRcdD8gdGhpcy5pdGVtLmtleVxuXHRcdFx0XHQ6IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDE2ICogMTAwMDAwMCkudG9TdHJpbmcoMTYpXG5cdFx0fSxcblx0XHRpY29uSXNVcmwoKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmV3XG5cdFx0XHRcdG5ldyBVUkwodGhpcy5pdGVtLmljb24pXG5cdFx0XHRcdHJldHVybiB0cnVlXG5cdFx0XHR9IGNhdGNoIChfKSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZVxuXHRcdFx0fVxuXHRcdH0sXG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHQvLyBhbGxvdyB1cyB0byB1c2UgYm90aCBsaW5rIGFuZCBhbiBhY3Rpb24gb24gYGFgXG5cdFx0Ly8gd2Ugc3RpbGwgbmVlZCB0byBtYWtlIHN1cmUgaXRlbS5hY3Rpb24gZXhpc3RzXG5cdFx0YWN0aW9uKGV2ZW50KSB7XG5cdFx0XHRpZiAodGhpcy5pdGVtLmFjdGlvbikge1xuXHRcdFx0XHR0aGlzLml0ZW0uYWN0aW9uKGV2ZW50KVxuXHRcdFx0fVxuXHRcdH0sXG5cdH0sXG59XG48L3NjcmlwdD5cblxuPHN0eWxlIHNjb3BlZD5cblx0YnV0dG9uLm1lbnVpdGVtIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0YnV0dG9uLm1lbnVpdGVtICoge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXG5cdGJ1dHRvbi5tZW51aXRlbTpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR9XG5cblx0YnV0dG9uLm1lbnVpdGVtOmRpc2FibGVkICoge1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxuXG5cdC5tZW51aXRlbS5hY3RpdmUge1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDJweCAwIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdH1cbjwvc3R5bGU+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbmxpIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleDogMCAwIGF1dG87XG5cblx0Ji5oaWRkZW4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQ+IGJ1dHRvbixcblx0PiBhLFxuXHQ+IC5tZW51aXRlbSB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7IC8vIG90aGVyd2lzZSBTYWZhcmkgd2lsbCBjdXQgdGhlIGJvcmRlci1yYWRpdXMgYXJlYVxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcblxuXHRcdC8vIFRPRE8gc3BsaXQgaW50byBpbmRpdmlkdWFsIGNvbXBvbmVudHMgZm9yIHJlYWRhYmlsaXR5XG5cdFx0c3BhbltjbGFzc149J2ljb24tJ10sXG5cdFx0c3BhbltjbGFzcyo9JyBpY29uLSddLFxuXHRcdCZbY2xhc3NePSdpY29uLSddLFxuXHRcdCZbY2xhc3MqPScgaWNvbi0nXSB7XG5cdFx0XHRtaW4td2lkdGg6IDA7IC8qIE92ZXJ3cml0ZSBpY29ucyovXG5cdFx0XHRtaW4taGVpZ2h0OiAwO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogI3skaWNvbi1tYXJnaW59IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZTtcblx0XHR9XG5cblx0XHRzcGFuW2NsYXNzXj0naWNvbi0nXSxcblx0XHRzcGFuW2NsYXNzKj0nIGljb24tJ10ge1xuXHRcdFx0LyogS2VlcCBwYWRkaW5nIHRvIGRlZmluZSB0aGUgd2lkdGggdG9cblx0XHRcdFx0YXNzdXJlIGNvcnJlY3QgcG9zaXRpb24gb2YgYSBwb3NzaWJsZSB0ZXh0ICovXG5cdFx0XHRwYWRkaW5nOiAjeyRjbGlja2FibGUtYXJlYSAvIDJ9IDAgI3skY2xpY2thYmxlLWFyZWEgLyAyfSAkY2xpY2thYmxlLWFyZWE7XG5cdFx0fVxuXG5cdFx0Ly8gSWYgbm8gaWNvbnMgc2V0LCBmb3JjZSBsZWZ0IG1hcmdpbiB0byBhbGlnblxuXHRcdCY6bm90KFtjbGFzc149J2ljb24tJ10pOm5vdChbY2xhc3MqPSdpY29uLSddKSB7XG5cdFx0XHQ+IHNwYW4sXG5cdFx0XHQ+IGlucHV0LFxuXHRcdFx0PiBmb3JtIHtcblx0XHRcdFx0Jjpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogJGNsaWNrYWJsZS1hcmVhO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JltjbGFzc149J2ljb24tJ10sXG5cdFx0JltjbGFzcyo9JyBpY29uLSddIHtcblx0XHRcdHBhZGRpbmc6IDAgJGljb24tbWFyZ2luIDAgJGNsaWNrYWJsZS1hcmVhO1xuXHRcdH1cblxuXHRcdCY6bm90KDpkaXNhYmxlZCk6aG92ZXIsXG5cdFx0Jjpub3QoOmRpc2FibGVkKTpmb2N1cyxcblx0XHQmOm5vdCg6ZGlzYWJsZWQpLmFjdGl2ZSB7XG5cdFx0XHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0LyogcHJldmVudCAuYWN0aW9uIGNsYXNzIHRvIGJyZWFrIHRoZSBkZXNpZ24gKi9cblx0XHQmLmFjdGlvbiB7XG5cdFx0XHRwYWRkaW5nOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0PiBzcGFuIHtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0fVxuXG5cdFx0Ly8gbG9uZyB0ZXh0IGFyZWFcblx0XHQ+IHAge1xuXHRcdFx0d2lkdGg6IDE1MHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNmVtO1xuXHRcdFx0cGFkZGluZzogOHB4IDA7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG5cdFx0XHQvLyBpbiBjYXNlIHRoZXJlIGFyZSBubyBzcGFjZXMgbGlrZSBsb25nIGVtYWlsIGFkZHJlc3Nlc1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdH1cblxuXHRcdC8vIFRPRE86IGRvIHdlIHJlYWxseSBzdXBwb3J0cyBpdD9cblx0XHQ+IHNlbGVjdCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRtYXJnaW4tbGVmdDogNnB4O1xuXHRcdH1cblxuXHRcdC8qIEFkZCBwYWRkaW5nIGlmIGNvbnRhaW5zIGljb24rdGV4dCAqL1xuXHRcdCY6bm90KDplbXB0eSkge1xuXHRcdFx0cGFkZGluZy1yaWdodDogJGljb24tbWFyZ2luICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0LyogREVQUkVDQVRFRCEgb2xkIGltZyBpbiBwb3BvdmVyIGZhbGxiYWNrXG5cdFx0XHQqIFRPRE86IHRvIHJlbW92ZSAqL1xuXHRcdD4gaW1nIHtcblx0XHRcdHdpZHRoOiAkaWNvbi1zaXplO1xuXHRcdFx0cGFkZGluZzogJGljb24tbWFyZ2luO1xuXHRcdH1cblxuXHRcdC8qIGNoZWNrYm94L3JhZGlvIGZpeGVzICovXG5cdFx0PiBpbnB1dC5yYWRpbyArIGxhYmVsLFxuXHRcdD4gaW5wdXQuY2hlY2tib3ggKyBsYWJlbCB7XG5cdFx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdFx0PiBpbnB1dC5jaGVja2JveCArIGxhYmVsOjpiZWZvcmUge1xuXHRcdFx0bWFyZ2luOiAtMnB4IDEzcHggMDtcblx0XHR9XG5cdFx0PiBpbnB1dC5yYWRpbyArIGxhYmVsOjpiZWZvcmUge1xuXHRcdFx0bWFyZ2luOiAtMnB4IDEycHggMDtcblx0XHR9XG5cdFx0PiBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9aW1hZ2VdKSB7XG5cdFx0XHR3aWR0aDogMTUwcHg7XG5cdFx0fVxuXG5cdFx0Ly8gRm9ybXMgJiB0ZXh0IGlucHV0c1xuXHRcdGZvcm0ge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdFx0LyogcHV0IGEgc21hbGwgc3BhY2UgYmV0d2VlbiB0ZXh0IGFuZCBmb3JtXG5cdFx0XHRcdGlmIHRoZXJlIGlzIGFuIGVsZW1lbnQgYmVmb3JlICovXG5cdFx0XHQmOm5vdCg6Zmlyc3QtY2hpbGQpICB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8qIG5vIG1hcmdpbiBpZiBoaWRkZW4gc3BhbiBiZWZvcmUgKi9cblx0XHQ+IHNwYW4uaGlkZGVuICsgZm9ybSxcblx0XHQ+IHNwYW5bc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSArIGZvcm0ge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0fVxuXHRcdC8qIElucHV0cyBpbnNpZGUgcG9wb3ZlciBzdXBwb3J0cyB0ZXh0LCBzdWJtaXQgJiByZXNldCAqL1xuXHRcdGlucHV0IHtcblx0XHRcdG1pbi13aWR0aDogJGNsaWNrYWJsZS1hcmVhO1xuXHRcdFx0bWF4LWhlaWdodDogI3skY2xpY2thYmxlLWFyZWEgLSA0cHh9OyAvKiB0d2ljZSB0aGUgZWxlbWVudCBtYXJnaW4teSAqL1xuXHRcdFx0bWFyZ2luOiAycHggMDtcblx0XHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdFx0Ly8gc3BhY2UgYmV0d2VlbiBpbmxpbmUgaW5wdXRzXG5cdFx0XHQmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBUT0RPOiBkbyB0aGF0IGluIGpzLCBzaG91bGQgYmUgY2xlYW5lclxuXHQvKiBjc3MgaGFjaywgb25seSBmaXJzdCBub3QgaGlkZGVuICovXG5cdCY6bm90KC5oaWRkZW4pOm5vdChbc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSkge1xuXHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHQ+IGJ1dHRvbiwgPiBhLCA+IC5tZW51aXRlbSB7XG5cdFx0XHRcdD4gZm9ybSwgPiBpbnB1dCB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogJGljb24tbWFyZ2luIC0gMnB4OyAvLyBtaW51cyB0aGUgaW5wdXQgbWFyZ2luXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0PiBidXR0b24sID4gYSwgPiAubWVudWl0ZW0ge1xuXHRcdFx0XHQ+IGZvcm0sID4gaW5wdXQge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206ICRpY29uLW1hcmdpbiAtIDJweDsgLy8gbWludXMgdGhlIGlucHV0IG1hcmdpblxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdD4gYnV0dG9uIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHNwYW4ge1xuXHRcdFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcblx0XHR9XG5cdH1cbn1cbjwvc3R5bGU+XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxudWxbZGF0YS12LTBhMGViNzE5XSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vUG9wb3Zlck1lbnUudnVlXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9hc3NldHMvdmFyaWFibGVzLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRHFCRTtBQXFDRjtFQUNDLGFBQWE7RUFDYixzQkFBc0I7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxudWwge1xcblxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG59XFxuXCIsXCIvKipcXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOSBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cXG4gKlxcbiAqIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICpcXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cXG4gKlxcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXFxuICpcXG4gKi9cXG5cXG4vLyBodHRwczovL3V4cGxhbmV0Lm9yZy83LXJ1bGVzLWZvci1tb2JpbGUtdWktYnV0dG9uLWRlc2lnbi1lOWNmMmVhNTQ1NTZcXG4vLyByZWNvbW1lbmRlZCBpcyA0OHB4XFxuLy8gNDRweCBpcyB3aGF0IHdlIGNob29zZSBhbmQgaGF2ZSB2ZXJ5IGdvb2QgdmlzdWFsLXRvLXVzYWJpbGl0eSByYXRpb1xcbiRjbGlja2FibGUtYXJlYTogNDRweDtcXG5cXG4vLyBiYWNrZ3JvdW5kIGljb24gc2l6ZVxcbi8vIGFsc28gdXNlZCBmb3IgdGhlIHNjc3MgaWNvbiBmb250XFxuJGljb24tc2l6ZTogMTZweDtcXG5cXG4vLyBpY29uIHBhZGRpbmcgZm9yIGEgJGNsaWNrYWJsZS1hcmVhIHdpZHRoIGFuZCBhICRpY29uLXNpemUgaWNvblxcbi8vICggNDRweCAtIDE2cHggKSAvIDJcXG4kaWNvbi1tYXJnaW46ICgkY2xpY2thYmxlLWFyZWEgLSAkaWNvbi1zaXplKSAvIDI7XFxuXFxuLy8gdHJhbnNwYXJlbmN5IGJhY2tncm91bmQgZm9yIGljb25zXFxuJGljb24tZm9jdXMtYmc6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyBwb3BvdmVybWVudSBhcnJvdyB3aWR0aCBmcm9tIHRoZSB0cmlhbmdsZSBjZW50ZXJcXG4kYXJyb3ctd2lkdGg6IDlweDtcXG5cXG4vLyBvcGFjaXRpZXNcXG4kb3BhY2l0eV9kaXNhYmxlZDogLjU7XFxuJG9wYWNpdHlfbm9ybWFsOiAuNztcXG4kb3BhY2l0eV9mdWxsOiAxO1xcblxcbi8vIG1lbnUgcm91bmQgYmFja2dyb3VuZCBob3ZlciBmZWVkYmFja1xcbi8vIGdvb2QgbG9va2luZyBvbiBkYXJrIEFORCB3aGl0ZSBiZ1xcbiRhY3Rpb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgxMjcsIDEyNywgMTI3LCAuMjUpO1xcblxcbi8vIHZhcmlvdXMgc3RydWN0dXJlIGRhdGEgdXNlZCBpbiB0aGUgXFxuLy8gYEFwcE5hdmlnYXRpb25gIGNvbXBvbmVudFxcbiRoZWFkZXItaGVpZ2h0OiA1MHB4O1xcbiRuYXZpZ2F0aW9uLXdpZHRoOiAzMDBweDtcXG5cXG4vLyBtb2JpbGUgYnJlYWtwb2ludFxcbiRicmVha3BvaW50LW1vYmlsZTogMTAyNHB4O1xcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIkBjaGFyc2V0IFxcXCJVVEYtOFxcXCI7XFxuLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxubGlbZGF0YS12LTUxMmVhNzY4XSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleDogMCAwIGF1dG87XFxuICAvKiBjc3MgaGFjaywgb25seSBmaXJzdCBub3QgaGlkZGVuICovXFxufVxcbmxpLmhpZGRlbltkYXRhLXYtNTEyZWE3NjhdIHtcXG4gICAgZGlzcGxheTogbm9uZTtcXG59XFxubGkgPiBidXR0b25bZGF0YS12LTUxMmVhNzY4XSxcXG4gIGxpID4gYVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgbGkgPiAubWVudWl0ZW1bZGF0YS12LTUxMmVhNzY4XSB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XFxuICAgIGJvcmRlcjogMDtcXG4gICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbiAgICBoZWlnaHQ6IGF1dG87XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICBvcGFjaXR5OiAwLjc7XFxuICAgIC8qIHByZXZlbnQgLmFjdGlvbiBjbGFzcyB0byBicmVhayB0aGUgZGVzaWduICovXFxuICAgIC8qIEFkZCBwYWRkaW5nIGlmIGNvbnRhaW5zIGljb24rdGV4dCAqL1xcbiAgICAvKiBERVBSRUNBVEVEISBvbGQgaW1nIGluIHBvcG92ZXIgZmFsbGJhY2tcXG5cXHRcXHRcXHQqIFRPRE86IHRvIHJlbW92ZSAqL1xcbiAgICAvKiBjaGVja2JveC9yYWRpbyBmaXhlcyAqL1xcbiAgICAvKiBubyBtYXJnaW4gaWYgaGlkZGVuIHNwYW4gYmVmb3JlICovXFxuICAgIC8qIElucHV0cyBpbnNpZGUgcG9wb3ZlciBzdXBwb3J0cyB0ZXh0LCBzdWJtaXQgJiByZXNldCAqL1xcbn1cXG5saSA+IGJ1dHRvbiBzcGFuW2NsYXNzXj0naWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGJ1dHRvbiBzcGFuW2NsYXNzKj0nIGljb24tJ11bZGF0YS12LTUxMmVhNzY4XSwgbGkgPiBidXR0b25bY2xhc3NePSdpY29uLSddW2RhdGEtdi01MTJlYTc2OF0sIGxpID4gYnV0dG9uW2NsYXNzKj0nIGljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBhIHNwYW5bY2xhc3NePSdpY29uLSddW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYSBzcGFuW2NsYXNzKj0nIGljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBhW2NsYXNzXj0naWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGFbY2xhc3MqPScgaWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbSBzcGFuW2NsYXNzXj0naWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbSBzcGFuW2NsYXNzKj0nIGljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiAubWVudWl0ZW1bY2xhc3NePSdpY29uLSddW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gLm1lbnVpdGVtW2NsYXNzKj0nIGljb24tJ11bZGF0YS12LTUxMmVhNzY4XSB7XFxuICAgICAgbWluLXdpZHRoOiAwO1xcbiAgICAgIC8qIE92ZXJ3cml0ZSBpY29ucyovXFxuICAgICAgbWluLWhlaWdodDogMDtcXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNHB4IGNlbnRlcjtcXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHg7XFxufVxcbmxpID4gYnV0dG9uIHNwYW5bY2xhc3NePSdpY29uLSddW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYnV0dG9uIHNwYW5bY2xhc3MqPScgaWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGEgc3BhbltjbGFzc149J2ljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBhIHNwYW5bY2xhc3MqPScgaWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbSBzcGFuW2NsYXNzXj0naWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbSBzcGFuW2NsYXNzKj0nIGljb24tJ11bZGF0YS12LTUxMmVhNzY4XSB7XFxuICAgICAgLyogS2VlcCBwYWRkaW5nIHRvIGRlZmluZSB0aGUgd2lkdGggdG9cXG5cXHRcXHRcXHRcXHRhc3N1cmUgY29ycmVjdCBwb3NpdGlvbiBvZiBhIHBvc3NpYmxlIHRleHQgKi9cXG4gICAgICBwYWRkaW5nOiAyMnB4IDAgMjJweCA0NHB4O1xcbn1cXG5saSA+IGJ1dHRvbjpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pID4gc3BhbltkYXRhLXYtNTEyZWE3NjhdOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSk6Zmlyc3QtY2hpbGQsXFxuICAgIGxpID4gYnV0dG9uOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSkgPiBpbnB1dFtkYXRhLXYtNTEyZWE3NjhdOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSk6Zmlyc3QtY2hpbGQsXFxuICAgIGxpID4gYnV0dG9uOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSkgPiBmb3JtW2RhdGEtdi01MTJlYTc2OF06bm90KFtjbGFzc149J2ljb24tJ10pOm5vdChbY2xhc3MqPSdpY29uLSddKTpmaXJzdC1jaGlsZCxcXG4gICAgbGkgPiBhOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSkgPiBzcGFuW2RhdGEtdi01MTJlYTc2OF06bm90KFtjbGFzc149J2ljb24tJ10pOm5vdChbY2xhc3MqPSdpY29uLSddKTpmaXJzdC1jaGlsZCxcXG4gICAgbGkgPiBhOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSkgPiBpbnB1dFtkYXRhLXYtNTEyZWE3NjhdOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSk6Zmlyc3QtY2hpbGQsXFxuICAgIGxpID4gYTpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pID4gZm9ybVtkYXRhLXYtNTEyZWE3NjhdOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSk6Zmlyc3QtY2hpbGQsXFxuICAgIGxpID4gLm1lbnVpdGVtOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSkgPiBzcGFuW2RhdGEtdi01MTJlYTc2OF06bm90KFtjbGFzc149J2ljb24tJ10pOm5vdChbY2xhc3MqPSdpY29uLSddKTpmaXJzdC1jaGlsZCxcXG4gICAgbGkgPiAubWVudWl0ZW06bm90KFtjbGFzc149J2ljb24tJ10pOm5vdChbY2xhc3MqPSdpY29uLSddKSA+IGlucHV0W2RhdGEtdi01MTJlYTc2OF06bm90KFtjbGFzc149J2ljb24tJ10pOm5vdChbY2xhc3MqPSdpY29uLSddKTpmaXJzdC1jaGlsZCxcXG4gICAgbGkgPiAubWVudWl0ZW06bm90KFtjbGFzc149J2ljb24tJ10pOm5vdChbY2xhc3MqPSdpY29uLSddKSA+IGZvcm1bZGF0YS12LTUxMmVhNzY4XTpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pOmZpcnN0LWNoaWxkIHtcXG4gICAgICBtYXJnaW4tbGVmdDogNDRweDtcXG59XFxubGkgPiBidXR0b25bY2xhc3NePSdpY29uLSddW2RhdGEtdi01MTJlYTc2OF0sIGxpID4gYnV0dG9uW2NsYXNzKj0nIGljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBhW2NsYXNzXj0naWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGFbY2xhc3MqPScgaWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbVtjbGFzc149J2ljb24tJ11bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiAubWVudWl0ZW1bY2xhc3MqPScgaWNvbi0nXVtkYXRhLXYtNTEyZWE3NjhdIHtcXG4gICAgICBwYWRkaW5nOiAwIDE0cHggMCA0NHB4O1xcbn1cXG5saSA+IGJ1dHRvbltkYXRhLXYtNTEyZWE3NjhdOm5vdCg6ZGlzYWJsZWQpOmhvdmVyLCBsaSA+IGJ1dHRvbltkYXRhLXYtNTEyZWE3NjhdOm5vdCg6ZGlzYWJsZWQpOmZvY3VzLCBsaSA+IGJ1dHRvbjpub3QoOmRpc2FibGVkKS5hY3RpdmVbZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBhW2RhdGEtdi01MTJlYTc2OF06bm90KDpkaXNhYmxlZCk6aG92ZXIsXFxuICAgIGxpID4gYVtkYXRhLXYtNTEyZWE3NjhdOm5vdCg6ZGlzYWJsZWQpOmZvY3VzLFxcbiAgICBsaSA+IGE6bm90KDpkaXNhYmxlZCkuYWN0aXZlW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gLm1lbnVpdGVtW2RhdGEtdi01MTJlYTc2OF06bm90KDpkaXNhYmxlZCk6aG92ZXIsXFxuICAgIGxpID4gLm1lbnVpdGVtW2RhdGEtdi01MTJlYTc2OF06bm90KDpkaXNhYmxlZCk6Zm9jdXMsXFxuICAgIGxpID4gLm1lbnVpdGVtOm5vdCg6ZGlzYWJsZWQpLmFjdGl2ZVtkYXRhLXYtNTEyZWE3NjhdIHtcXG4gICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XFxufVxcbmxpID4gYnV0dG9uLmFjdGlvbltkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGEuYWN0aW9uW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gLm1lbnVpdGVtLmFjdGlvbltkYXRhLXYtNTEyZWE3NjhdIHtcXG4gICAgICBwYWRkaW5nOiBpbmhlcml0ICFpbXBvcnRhbnQ7XFxufVxcbmxpID4gYnV0dG9uID4gc3BhbltkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGEgPiBzcGFuW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gLm1lbnVpdGVtID4gc3BhbltkYXRhLXYtNTEyZWE3NjhdIHtcXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG59XFxubGkgPiBidXR0b24gPiBwW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYSA+IHBbZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiAubWVudWl0ZW0gPiBwW2RhdGEtdi01MTJlYTc2OF0ge1xcbiAgICAgIHdpZHRoOiAxNTBweDtcXG4gICAgICBsaW5lLWhlaWdodDogMS42ZW07XFxuICAgICAgcGFkZGluZzogOHB4IDA7XFxuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcbn1cXG5saSA+IGJ1dHRvbiA+IHNlbGVjdFtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGEgPiBzZWxlY3RbZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiAubWVudWl0ZW0gPiBzZWxlY3RbZGF0YS12LTUxMmVhNzY4XSB7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XFxufVxcbmxpID4gYnV0dG9uW2RhdGEtdi01MTJlYTc2OF06bm90KDplbXB0eSksXFxuICAgIGxpID4gYVtkYXRhLXYtNTEyZWE3NjhdOm5vdCg6ZW1wdHkpLFxcbiAgICBsaSA+IC5tZW51aXRlbVtkYXRhLXYtNTEyZWE3NjhdOm5vdCg6ZW1wdHkpIHtcXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNHB4ICFpbXBvcnRhbnQ7XFxufVxcbmxpID4gYnV0dG9uID4gaW1nW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYSA+IGltZ1tkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbSA+IGltZ1tkYXRhLXYtNTEyZWE3NjhdIHtcXG4gICAgICB3aWR0aDogMTZweDtcXG4gICAgICBwYWRkaW5nOiAxNHB4O1xcbn1cXG5saSA+IGJ1dHRvbiA+IGlucHV0LnJhZGlvICsgbGFiZWxbZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBidXR0b24gPiBpbnB1dC5jaGVja2JveCArIGxhYmVsW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYSA+IGlucHV0LnJhZGlvICsgbGFiZWxbZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBhID4gaW5wdXQuY2hlY2tib3ggKyBsYWJlbFtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IC5tZW51aXRlbSA+IGlucHV0LnJhZGlvICsgbGFiZWxbZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiAubWVudWl0ZW0gPiBpbnB1dC5jaGVja2JveCArIGxhYmVsW2RhdGEtdi01MTJlYTc2OF0ge1xcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcXG4gICAgICB3aWR0aDogMTAwJTtcXG59XFxubGkgPiBidXR0b24gPiBpbnB1dC5jaGVja2JveCArIGxhYmVsW2RhdGEtdi01MTJlYTc2OF06OmJlZm9yZSxcXG4gICAgbGkgPiBhID4gaW5wdXQuY2hlY2tib3ggKyBsYWJlbFtkYXRhLXYtNTEyZWE3NjhdOjpiZWZvcmUsXFxuICAgIGxpID4gLm1lbnVpdGVtID4gaW5wdXQuY2hlY2tib3ggKyBsYWJlbFtkYXRhLXYtNTEyZWE3NjhdOjpiZWZvcmUge1xcbiAgICAgIG1hcmdpbjogLTJweCAxM3B4IDA7XFxufVxcbmxpID4gYnV0dG9uID4gaW5wdXQucmFkaW8gKyBsYWJlbFtkYXRhLXYtNTEyZWE3NjhdOjpiZWZvcmUsXFxuICAgIGxpID4gYSA+IGlucHV0LnJhZGlvICsgbGFiZWxbZGF0YS12LTUxMmVhNzY4XTo6YmVmb3JlLFxcbiAgICBsaSA+IC5tZW51aXRlbSA+IGlucHV0LnJhZGlvICsgbGFiZWxbZGF0YS12LTUxMmVhNzY4XTo6YmVmb3JlIHtcXG4gICAgICBtYXJnaW46IC0ycHggMTJweCAwO1xcbn1cXG5saSA+IGJ1dHRvbiA+IGlucHV0W2RhdGEtdi01MTJlYTc2OF06bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPWltYWdlXSksXFxuICAgIGxpID4gYSA+IGlucHV0W2RhdGEtdi01MTJlYTc2OF06bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPWltYWdlXSksXFxuICAgIGxpID4gLm1lbnVpdGVtID4gaW5wdXRbZGF0YS12LTUxMmVhNzY4XTpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9aW1hZ2VdKSB7XFxuICAgICAgd2lkdGg6IDE1MHB4O1xcbn1cXG5saSA+IGJ1dHRvbiBmb3JtW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYSBmb3JtW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gLm1lbnVpdGVtIGZvcm1bZGF0YS12LTUxMmVhNzY4XSB7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBmbGV4OiAxIDEgYXV0bztcXG4gICAgICAvKiBwdXQgYSBzbWFsbCBzcGFjZSBiZXR3ZWVuIHRleHQgYW5kIGZvcm1cXG5cXHRcXHRcXHRcXHRpZiB0aGVyZSBpcyBhbiBlbGVtZW50IGJlZm9yZSAqL1xcbn1cXG5saSA+IGJ1dHRvbiBmb3JtW2RhdGEtdi01MTJlYTc2OF06bm90KDpmaXJzdC1jaGlsZCksXFxuICAgICAgbGkgPiBhIGZvcm1bZGF0YS12LTUxMmVhNzY4XTpub3QoOmZpcnN0LWNoaWxkKSxcXG4gICAgICBsaSA+IC5tZW51aXRlbSBmb3JtW2RhdGEtdi01MTJlYTc2OF06bm90KDpmaXJzdC1jaGlsZCkge1xcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcXG59XFxubGkgPiBidXR0b24gPiBzcGFuLmhpZGRlbiArIGZvcm1bZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBidXR0b24gPiBzcGFuW3N0eWxlKj0nZGlzcGxheTpub25lJ10gKyBmb3JtW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gYSA+IHNwYW4uaGlkZGVuICsgZm9ybVtkYXRhLXYtNTEyZWE3NjhdLFxcbiAgICBsaSA+IGEgPiBzcGFuW3N0eWxlKj0nZGlzcGxheTpub25lJ10gKyBmb3JtW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gLm1lbnVpdGVtID4gc3Bhbi5oaWRkZW4gKyBmb3JtW2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gLm1lbnVpdGVtID4gc3BhbltzdHlsZSo9J2Rpc3BsYXk6bm9uZSddICsgZm9ybVtkYXRhLXYtNTEyZWE3NjhdIHtcXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG59XFxubGkgPiBidXR0b24gaW5wdXRbZGF0YS12LTUxMmVhNzY4XSxcXG4gICAgbGkgPiBhIGlucHV0W2RhdGEtdi01MTJlYTc2OF0sXFxuICAgIGxpID4gLm1lbnVpdGVtIGlucHV0W2RhdGEtdi01MTJlYTc2OF0ge1xcbiAgICAgIG1pbi13aWR0aDogNDRweDtcXG4gICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xcbiAgICAgIC8qIHR3aWNlIHRoZSBlbGVtZW50IG1hcmdpbi15ICovXFxuICAgICAgbWFyZ2luOiAycHggMDtcXG4gICAgICBmbGV4OiAxIDEgYXV0bztcXG59XFxubGkgPiBidXR0b24gaW5wdXRbZGF0YS12LTUxMmVhNzY4XTpub3QoOmZpcnN0LWNoaWxkKSxcXG4gICAgICBsaSA+IGEgaW5wdXRbZGF0YS12LTUxMmVhNzY4XTpub3QoOmZpcnN0LWNoaWxkKSxcXG4gICAgICBsaSA+IC5tZW51aXRlbSBpbnB1dFtkYXRhLXYtNTEyZWE3NjhdOm5vdCg6Zmlyc3QtY2hpbGQpIHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XFxufVxcbmxpOm5vdCguaGlkZGVuKTpub3QoW3N0eWxlKj0nZGlzcGxheTpub25lJ10pOmZpcnN0LW9mLXR5cGUgPiBidXR0b24gPiBmb3JtW2RhdGEtdi01MTJlYTc2OF0sIGxpOm5vdCguaGlkZGVuKTpub3QoW3N0eWxlKj0nZGlzcGxheTpub25lJ10pOmZpcnN0LW9mLXR5cGUgPiBidXR0b24gPiBpbnB1dFtkYXRhLXYtNTEyZWE3NjhdLCBsaTpub3QoLmhpZGRlbik6bm90KFtzdHlsZSo9J2Rpc3BsYXk6bm9uZSddKTpmaXJzdC1vZi10eXBlID4gYSA+IGZvcm1bZGF0YS12LTUxMmVhNzY4XSwgbGk6bm90KC5oaWRkZW4pOm5vdChbc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSk6Zmlyc3Qtb2YtdHlwZSA+IGEgPiBpbnB1dFtkYXRhLXYtNTEyZWE3NjhdLCBsaTpub3QoLmhpZGRlbik6bm90KFtzdHlsZSo9J2Rpc3BsYXk6bm9uZSddKTpmaXJzdC1vZi10eXBlID4gLm1lbnVpdGVtID4gZm9ybVtkYXRhLXYtNTEyZWE3NjhdLCBsaTpub3QoLmhpZGRlbik6bm90KFtzdHlsZSo9J2Rpc3BsYXk6bm9uZSddKTpmaXJzdC1vZi10eXBlID4gLm1lbnVpdGVtID4gaW5wdXRbZGF0YS12LTUxMmVhNzY4XSB7XFxuICAgIG1hcmdpbi10b3A6IDEycHg7XFxufVxcbmxpOm5vdCguaGlkZGVuKTpub3QoW3N0eWxlKj0nZGlzcGxheTpub25lJ10pOmxhc3Qtb2YtdHlwZSA+IGJ1dHRvbiA+IGZvcm1bZGF0YS12LTUxMmVhNzY4XSwgbGk6bm90KC5oaWRkZW4pOm5vdChbc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSk6bGFzdC1vZi10eXBlID4gYnV0dG9uID4gaW5wdXRbZGF0YS12LTUxMmVhNzY4XSwgbGk6bm90KC5oaWRkZW4pOm5vdChbc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSk6bGFzdC1vZi10eXBlID4gYSA+IGZvcm1bZGF0YS12LTUxMmVhNzY4XSwgbGk6bm90KC5oaWRkZW4pOm5vdChbc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSk6bGFzdC1vZi10eXBlID4gYSA+IGlucHV0W2RhdGEtdi01MTJlYTc2OF0sIGxpOm5vdCguaGlkZGVuKTpub3QoW3N0eWxlKj0nZGlzcGxheTpub25lJ10pOmxhc3Qtb2YtdHlwZSA+IC5tZW51aXRlbSA+IGZvcm1bZGF0YS12LTUxMmVhNzY4XSwgbGk6bm90KC5oaWRkZW4pOm5vdChbc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSk6bGFzdC1vZi10eXBlID4gLm1lbnVpdGVtID4gaW5wdXRbZGF0YS12LTUxMmVhNzY4XSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XFxufVxcbmxpID4gYnV0dG9uW2RhdGEtdi01MTJlYTc2OF0ge1xcbiAgICBwYWRkaW5nOiAwO1xcbn1cXG5saSA+IGJ1dHRvbiBzcGFuW2RhdGEtdi01MTJlYTc2OF0ge1xcbiAgICAgIG9wYWNpdHk6IDE7XFxufVxcblwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL1BvcG92ZXJNZW51SXRlbS52dWVcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Fzc2V0cy92YXJpYWJsZXMuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VEcUJFO0FBdUxGO0VBQ0MsYUFBYTtFQUNiLGNBQWM7RUF1SmQsb0NBQUE7QUFBcUM7QUF6SnRDO0lBS0UsYUFBYTtBQUFBO0FBTGY7OztJQVdFLGVBQWU7SUFDZixpQkMvTG1CO0lEZ01uQixTQUFTO0lBQ1QsZ0JBQWdCO0lBQ2hCLDZCQUE2QjtJQUM3QixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWixTQUFTO0lBQ1QsVUFBVTtJQUNWLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsWUMzTGlCO0lEcU9qQiw4Q0FBQTtJQTRCQSxzQ0FBQTtJQUtBO3NCQS9Qb0I7SUFzUXBCLHlCQUFBO0lBMEJBLG9DQUFBO0lBS0Esd0RBQUE7QUFBeUQ7QUEzSTNEOzs7Ozs7Ozs7O01BaUNHLFlBQVk7TUFBRSxtQkFBQTtNQUNkLGFBQWE7TUFDYixnQ0FBMkM7TUFDM0MscUJDbk5hO0FBQUE7QUQrS2hCOzs7Ozs7TUF5Q0c7Z0RBeks2QztNQTJLN0MseUJDOU5rQjtBQUFBO0FEbUxyQjs7Ozs7Ozs7O01Bb0RLLGlCQ3ZPZ0I7QUFBQTtBRG1MckI7Ozs7O01BMkRHLHNCQzlPa0I7QUFBQTtBRG1MckI7Ozs7Ozs7TUFpRUcscUJBQWlDO0FBQUE7QUFqRXBDOzs7TUFzRUcsMkJBQTJCO0FBQUE7QUF0RTlCOzs7TUEwRUcsZUFBZTtNQUNmLG1CQUFtQjtBQUFBO0FBM0V0Qjs7O01BZ0ZHLFlBQVk7TUFDWixrQkFBa0I7TUFDbEIsY0FBYztNQUNkLG1CQUFtQjtNQUduQixnQkFBZ0I7TUFDaEIsdUJBQXVCO0FBQUE7QUF2RjFCOzs7TUE0RkcsU0FBUztNQUNULGdCQUFnQjtBQUFBO0FBN0ZuQjs7O01Ba0dHLDhCQUFzQztBQUFBO0FBbEd6Qzs7O01Bd0dHLFdDdlJhO01Ed1JiLGFDcFI2QztBQUFBO0FEMktoRDs7Ozs7O01BK0dHLHFCQUFxQjtNQUNyQixXQUFXO0FBQUE7QUFoSGQ7OztNQW1IRyxtQkFBbUI7QUFBQTtBQW5IdEI7OztNQXNIRyxtQkFBbUI7QUFBQTtBQXRIdEI7OztNQXlIRyxZQUFZO0FBQUE7QUF6SGY7OztNQThIRyxhQUFhO01BQ2IsY0FBYztNQUNkO21DQTVLZ0M7QUE2S0M7QUFqSXBDOzs7UUFtSUksZ0JBQWdCO0FBQUE7QUFuSXBCOzs7Ozs7TUF5SUcsY0FBYztBQUFBO0FBeklqQjs7O01BNklHLGVDaFVrQjtNRGlVbEIsZ0JBQVk7TUFBMEIsK0JBQUE7TUFDdEMsYUFBYTtNQUNiLGNBQWM7QUFBQTtBQWhKakI7OztRQW1KSSxnQkFBZ0I7QUFBQTtBQW5KcEI7SUE4SkssZ0JBQThCO0FBQUE7QUE5Sm5DO0lBcUtLLG1CQUFpQztBQUFBO0FBckt0QztJQTJLRSxVQUFVO0FBQUE7QUEzS1o7TUE2S0csVUM3VWE7QUFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIkc2NvcGVfdmVyc2lvbjpcXFwiODRjNDYxZlxcXCI7IEBpbXBvcnQgJ3ZhcmlhYmxlcyc7XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxubGkge1xcblxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0ZmxleDogMCAwIGF1dG87XFxuXFxuXFx0Ji5oaWRkZW4ge1xcblxcdFxcdGRpc3BsYXk6IG5vbmU7XFxuXFx0fVxcblxcblxcdD4gYnV0dG9uLFxcblxcdD4gYSxcXG5cXHQ+IC5tZW51aXRlbSB7XFxuXFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdFxcdGxpbmUtaGVpZ2h0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0Ym9yZGVyOiAwO1xcblxcdFxcdGJvcmRlci1yYWRpdXM6IDA7IC8vIG90aGVyd2lzZSBTYWZhcmkgd2lsbCBjdXQgdGhlIGJvcmRlci1yYWRpdXMgYXJlYVxcblxcdFxcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XFxuXFx0XFx0aGVpZ2h0OiBhdXRvO1xcblxcdFxcdG1hcmdpbjogMDtcXG5cXHRcXHRwYWRkaW5nOiAwO1xcblxcdFxcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuXFx0XFx0Ym94LXNoYWRvdzogbm9uZTtcXG5cXHRcXHR3aWR0aDogMTAwJTtcXG5cXHRcXHRjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcXG5cXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X25vcm1hbDtcXG5cXG5cXHRcXHQvLyBUT0RPIHNwbGl0IGludG8gaW5kaXZpZHVhbCBjb21wb25lbnRzIGZvciByZWFkYWJpbGl0eVxcblxcdFxcdHNwYW5bY2xhc3NePSdpY29uLSddLFxcblxcdFxcdHNwYW5bY2xhc3MqPScgaWNvbi0nXSxcXG5cXHRcXHQmW2NsYXNzXj0naWNvbi0nXSxcXG5cXHRcXHQmW2NsYXNzKj0nIGljb24tJ10ge1xcblxcdFxcdFxcdG1pbi13aWR0aDogMDsgLyogT3ZlcndyaXRlIGljb25zKi9cXG5cXHRcXHRcXHRtaW4taGVpZ2h0OiAwO1xcblxcdFxcdFxcdGJhY2tncm91bmQtcG9zaXRpb246ICN7JGljb24tbWFyZ2lufSBjZW50ZXI7XFxuXFx0XFx0XFx0YmFja2dyb3VuZC1zaXplOiAkaWNvbi1zaXplO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRzcGFuW2NsYXNzXj0naWNvbi0nXSxcXG5cXHRcXHRzcGFuW2NsYXNzKj0nIGljb24tJ10ge1xcblxcdFxcdFxcdC8qIEtlZXAgcGFkZGluZyB0byBkZWZpbmUgdGhlIHdpZHRoIHRvXFxuXFx0XFx0XFx0XFx0YXNzdXJlIGNvcnJlY3QgcG9zaXRpb24gb2YgYSBwb3NzaWJsZSB0ZXh0ICovXFxuXFx0XFx0XFx0cGFkZGluZzogI3skY2xpY2thYmxlLWFyZWEgLyAyfSAwICN7JGNsaWNrYWJsZS1hcmVhIC8gMn0gJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvLyBJZiBubyBpY29ucyBzZXQsIGZvcmNlIGxlZnQgbWFyZ2luIHRvIGFsaWduXFxuXFx0XFx0Jjpub3QoW2NsYXNzXj0naWNvbi0nXSk6bm90KFtjbGFzcyo9J2ljb24tJ10pIHtcXG5cXHRcXHRcXHQ+IHNwYW4sXFxuXFx0XFx0XFx0PiBpbnB1dCxcXG5cXHRcXHRcXHQ+IGZvcm0ge1xcblxcdFxcdFxcdFxcdCY6bm90KFtjbGFzc149J2ljb24tJ10pOm5vdChbY2xhc3MqPSdpY29uLSddKTpmaXJzdC1jaGlsZCB7XFxuXFx0XFx0XFx0XFx0XFx0bWFyZ2luLWxlZnQ6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRcXHR9XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXG5cXHRcXHQmW2NsYXNzXj0naWNvbi0nXSxcXG5cXHRcXHQmW2NsYXNzKj0nIGljb24tJ10ge1xcblxcdFxcdFxcdHBhZGRpbmc6IDAgJGljb24tbWFyZ2luIDAgJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQmOm5vdCg6ZGlzYWJsZWQpOmhvdmVyLFxcblxcdFxcdCY6bm90KDpkaXNhYmxlZCk6Zm9jdXMsXFxuXFx0XFx0Jjpub3QoOmRpc2FibGVkKS5hY3RpdmUge1xcblxcdFxcdFxcdG9wYWNpdHk6ICRvcGFjaXR5X2Z1bGwgIWltcG9ydGFudDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0LyogcHJldmVudCAuYWN0aW9uIGNsYXNzIHRvIGJyZWFrIHRoZSBkZXNpZ24gKi9cXG5cXHRcXHQmLmFjdGlvbiB7XFxuXFx0XFx0XFx0cGFkZGluZzogaW5oZXJpdCAhaW1wb3J0YW50O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQ+IHNwYW4ge1xcblxcdFxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRcXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvLyBsb25nIHRleHQgYXJlYVxcblxcdFxcdD4gcCB7XFxuXFx0XFx0XFx0d2lkdGg6IDE1MHB4O1xcblxcdFxcdFxcdGxpbmUtaGVpZ2h0OiAxLjZlbTtcXG5cXHRcXHRcXHRwYWRkaW5nOiA4cHggMDtcXG5cXHRcXHRcXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xcblxcblxcdFxcdFxcdC8vIGluIGNhc2UgdGhlcmUgYXJlIG5vIHNwYWNlcyBsaWtlIGxvbmcgZW1haWwgYWRkcmVzc2VzXFxuXFx0XFx0XFx0b3ZlcmZsb3c6IGhpZGRlbjtcXG5cXHRcXHRcXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ly8gVE9ETzogZG8gd2UgcmVhbGx5IHN1cHBvcnRzIGl0P1xcblxcdFxcdD4gc2VsZWN0IHtcXG5cXHRcXHRcXHRtYXJnaW46IDA7XFxuXFx0XFx0XFx0bWFyZ2luLWxlZnQ6IDZweDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0LyogQWRkIHBhZGRpbmcgaWYgY29udGFpbnMgaWNvbit0ZXh0ICovXFxuXFx0XFx0Jjpub3QoOmVtcHR5KSB7XFxuXFx0XFx0XFx0cGFkZGluZy1yaWdodDogJGljb24tbWFyZ2luICFpbXBvcnRhbnQ7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8qIERFUFJFQ0FURUQhIG9sZCBpbWcgaW4gcG9wb3ZlciBmYWxsYmFja1xcblxcdFxcdFxcdCogVE9ETzogdG8gcmVtb3ZlICovXFxuXFx0XFx0PiBpbWcge1xcblxcdFxcdFxcdHdpZHRoOiAkaWNvbi1zaXplO1xcblxcdFxcdFxcdHBhZGRpbmc6ICRpY29uLW1hcmdpbjtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0LyogY2hlY2tib3gvcmFkaW8gZml4ZXMgKi9cXG5cXHRcXHQ+IGlucHV0LnJhZGlvICsgbGFiZWwsXFxuXFx0XFx0PiBpbnB1dC5jaGVja2JveCArIGxhYmVsIHtcXG5cXHRcXHRcXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XFxuXFx0XFx0XFx0d2lkdGg6IDEwMCU7XFxuXFx0XFx0fVxcblxcdFxcdD4gaW5wdXQuY2hlY2tib3ggKyBsYWJlbDo6YmVmb3JlIHtcXG5cXHRcXHRcXHRtYXJnaW46IC0ycHggMTNweCAwO1xcblxcdFxcdH1cXG5cXHRcXHQ+IGlucHV0LnJhZGlvICsgbGFiZWw6OmJlZm9yZSB7XFxuXFx0XFx0XFx0bWFyZ2luOiAtMnB4IDEycHggMDtcXG5cXHRcXHR9XFxuXFx0XFx0PiBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9aW1hZ2VdKSB7XFxuXFx0XFx0XFx0d2lkdGg6IDE1MHB4O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvLyBGb3JtcyAmIHRleHQgaW5wdXRzXFxuXFx0XFx0Zm9ybSB7XFxuXFx0XFx0XFx0ZGlzcGxheTogZmxleDtcXG5cXHRcXHRcXHRmbGV4OiAxIDEgYXV0bztcXG5cXHRcXHRcXHQvKiBwdXQgYSBzbWFsbCBzcGFjZSBiZXR3ZWVuIHRleHQgYW5kIGZvcm1cXG5cXHRcXHRcXHRcXHRpZiB0aGVyZSBpcyBhbiBlbGVtZW50IGJlZm9yZSAqL1xcblxcdFxcdFxcdCY6bm90KDpmaXJzdC1jaGlsZCkgIHtcXG5cXHRcXHRcXHRcXHRtYXJnaW4tbGVmdDogNXB4O1xcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFx0XFx0Lyogbm8gbWFyZ2luIGlmIGhpZGRlbiBzcGFuIGJlZm9yZSAqL1xcblxcdFxcdD4gc3Bhbi5oaWRkZW4gKyBmb3JtLFxcblxcdFxcdD4gc3BhbltzdHlsZSo9J2Rpc3BsYXk6bm9uZSddICsgZm9ybSB7XFxuXFx0XFx0XFx0bWFyZ2luLWxlZnQ6IDA7XFxuXFx0XFx0fVxcblxcdFxcdC8qIElucHV0cyBpbnNpZGUgcG9wb3ZlciBzdXBwb3J0cyB0ZXh0LCBzdWJtaXQgJiByZXNldCAqL1xcblxcdFxcdGlucHV0IHtcXG5cXHRcXHRcXHRtaW4td2lkdGg6ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHRcXHRtYXgtaGVpZ2h0OiAjeyRjbGlja2FibGUtYXJlYSAtIDRweH07IC8qIHR3aWNlIHRoZSBlbGVtZW50IG1hcmdpbi15ICovXFxuXFx0XFx0XFx0bWFyZ2luOiAycHggMDtcXG5cXHRcXHRcXHRmbGV4OiAxIDEgYXV0bztcXG5cXHRcXHRcXHQvLyBzcGFjZSBiZXR3ZWVuIGlubGluZSBpbnB1dHNcXG5cXHRcXHRcXHQmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcXG5cXHRcXHRcXHRcXHRtYXJnaW4tbGVmdDogNXB4O1xcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdC8vIFRPRE86IGRvIHRoYXQgaW4ganMsIHNob3VsZCBiZSBjbGVhbmVyXFxuXFx0LyogY3NzIGhhY2ssIG9ubHkgZmlyc3Qgbm90IGhpZGRlbiAqL1xcblxcdCY6bm90KC5oaWRkZW4pOm5vdChbc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSkge1xcblxcdFxcdCY6Zmlyc3Qtb2YtdHlwZSB7XFxuXFx0XFx0XFx0PiBidXR0b24sID4gYSwgPiAubWVudWl0ZW0ge1xcblxcdFxcdFxcdFxcdD4gZm9ybSwgPiBpbnB1dCB7XFxuXFx0XFx0XFx0XFx0XFx0bWFyZ2luLXRvcDogJGljb24tbWFyZ2luIC0gMnB4OyAvLyBtaW51cyB0aGUgaW5wdXQgbWFyZ2luXFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFx0XFx0JjpsYXN0LW9mLXR5cGUge1xcblxcdFxcdFxcdD4gYnV0dG9uLCA+IGEsID4gLm1lbnVpdGVtIHtcXG5cXHRcXHRcXHRcXHQ+IGZvcm0sID4gaW5wdXQge1xcblxcdFxcdFxcdFxcdFxcdG1hcmdpbi1ib3R0b206ICRpY29uLW1hcmdpbiAtIDJweDsgLy8gbWludXMgdGhlIGlucHV0IG1hcmdpblxcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdH1cXG5cXHQ+IGJ1dHRvbiB7XFxuXFx0XFx0cGFkZGluZzogMDtcXG5cXHRcXHRzcGFuIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsO1xcblxcdFxcdH1cXG5cXHR9XFxufVxcblwiLFwiLyoqXFxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTkgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAqXFxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICpcXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gKlxcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XFxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcXG4gKiBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxcbiAqXFxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXFxuICogR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICpcXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAqXFxuICovXFxuXFxuLy8gaHR0cHM6Ly91eHBsYW5ldC5vcmcvNy1ydWxlcy1mb3ItbW9iaWxlLXVpLWJ1dHRvbi1kZXNpZ24tZTljZjJlYTU0NTU2XFxuLy8gcmVjb21tZW5kZWQgaXMgNDhweFxcbi8vIDQ0cHggaXMgd2hhdCB3ZSBjaG9vc2UgYW5kIGhhdmUgdmVyeSBnb29kIHZpc3VhbC10by11c2FiaWxpdHkgcmF0aW9cXG4kY2xpY2thYmxlLWFyZWE6IDQ0cHg7XFxuXFxuLy8gYmFja2dyb3VuZCBpY29uIHNpemVcXG4vLyBhbHNvIHVzZWQgZm9yIHRoZSBzY3NzIGljb24gZm9udFxcbiRpY29uLXNpemU6IDE2cHg7XFxuXFxuLy8gaWNvbiBwYWRkaW5nIGZvciBhICRjbGlja2FibGUtYXJlYSB3aWR0aCBhbmQgYSAkaWNvbi1zaXplIGljb25cXG4vLyAoIDQ0cHggLSAxNnB4ICkgLyAyXFxuJGljb24tbWFyZ2luOiAoJGNsaWNrYWJsZS1hcmVhIC0gJGljb24tc2l6ZSkgLyAyO1xcblxcbi8vIHRyYW5zcGFyZW5jeSBiYWNrZ3JvdW5kIGZvciBpY29uc1xcbiRpY29uLWZvY3VzLWJnOiByZ2JhKDEyNywgMTI3LCAxMjcsIC4yNSk7XFxuXFxuLy8gcG9wb3Zlcm1lbnUgYXJyb3cgd2lkdGggZnJvbSB0aGUgdHJpYW5nbGUgY2VudGVyXFxuJGFycm93LXdpZHRoOiA5cHg7XFxuXFxuLy8gb3BhY2l0aWVzXFxuJG9wYWNpdHlfZGlzYWJsZWQ6IC41O1xcbiRvcGFjaXR5X25vcm1hbDogLjc7XFxuJG9wYWNpdHlfZnVsbDogMTtcXG5cXG4vLyBtZW51IHJvdW5kIGJhY2tncm91bmQgaG92ZXIgZmVlZGJhY2tcXG4vLyBnb29kIGxvb2tpbmcgb24gZGFyayBBTkQgd2hpdGUgYmdcXG4kYWN0aW9uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoMTI3LCAxMjcsIDEyNywgLjI1KTtcXG5cXG4vLyB2YXJpb3VzIHN0cnVjdHVyZSBkYXRhIHVzZWQgaW4gdGhlIFxcbi8vIGBBcHBOYXZpZ2F0aW9uYCBjb21wb25lbnRcXG4kaGVhZGVyLWhlaWdodDogNTBweDtcXG4kbmF2aWdhdGlvbi13aWR0aDogMzAwcHg7XFxuXFxuLy8gbW9iaWxlIGJyZWFrcG9pbnRcXG4kYnJlYWtwb2ludC1tb2JpbGU6IDEwMjRweDtcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCJcXG5idXR0b24ubWVudWl0ZW1bZGF0YS12LTUxMmVhNzY4XSB7XFxuXFx0dGV4dC1hbGlnbjogbGVmdDtcXG59XFxuYnV0dG9uLm1lbnVpdGVtICpbZGF0YS12LTUxMmVhNzY4XSB7XFxuXFx0Y3Vyc29yOiBwb2ludGVyO1xcbn1cXG5idXR0b24ubWVudWl0ZW1bZGF0YS12LTUxMmVhNzY4XTpkaXNhYmxlZCB7XFxuXFx0b3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XFxuXFx0Y3Vyc29yOiBkZWZhdWx0O1xcbn1cXG5idXR0b24ubWVudWl0ZW06ZGlzYWJsZWQgKltkYXRhLXYtNTEyZWE3NjhdIHtcXG5cXHRjdXJzb3I6IGRlZmF1bHQ7XFxufVxcbi5tZW51aXRlbS5hY3RpdmVbZGF0YS12LTUxMmVhNzY4XSB7XFxuXFx0Ym94LXNoYWRvdzogaW5zZXQgMnB4IDAgdmFyKC0tY29sb3ItcHJpbWFyeSk7XFxuXFx0Ym9yZGVyLXJhZGl1czogMDtcXG59XFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vUG9wb3Zlck1lbnVJdGVtLnZ1ZVwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiO0FBbUxBO0NBQ0EsZ0JBQUE7QUFDQTtBQUVBO0NBQ0EsZUFBQTtBQUNBO0FBRUE7Q0FDQSx1QkFBQTtDQUNBLGVBQUE7QUFDQTtBQUVBO0NBQ0EsZUFBQTtBQUNBO0FBRUE7Q0FDQSw0Q0FBQTtDQUNBLGdCQUFBO0FBQ0FcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPCEtLVxcbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XFxuICAtXFxuICAtIEBhdXRob3IgSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxcbiAgLVxcbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cXG4gIC1cXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcXG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcXG4gIC0gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlXFxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXFxuICAtXFxuICAtIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXFxuICAtXFxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxcbiAgLVxcbiAgLS0+XFxuXFxuPHRlbXBsYXRlPlxcblxcdDxsaSBjbGFzcz1cXFwicG9wb3Zlcl9fbWVudWl0ZW1cXFwiPlxcblxcdFxcdDwhLS0gSWYgaXRlbS5ocmVmIGlzIHNldCwgYSBsaW5rIHdpbGwgYmUgZGlyZWN0bHkgdXNlZCAtLT5cXG5cXHRcXHQ8YSB2LWlmPVxcXCJpdGVtLmhyZWZcXFwiXFxuXFx0XFx0XFx0OmhyZWY9XFxcIihpdGVtLmhyZWYpID8gaXRlbS5ocmVmIDogJyMnIFxcXCJcXG5cXHRcXHRcXHQ6dGFyZ2V0PVxcXCIoaXRlbS50YXJnZXQpID8gaXRlbS50YXJnZXQgOiAnJyBcXFwiXFxuXFx0XFx0XFx0OmRvd25sb2FkPVxcXCJpdGVtLmRvd25sb2FkXFxcIlxcblxcdFxcdFxcdGNsYXNzPVxcXCJmb2N1c2FibGVcXFwiXFxuXFx0XFx0XFx0cmVsPVxcXCJub3JlZmVycmVyIG5vb3BlbmVyXFxcIlxcblxcdFxcdFxcdEBjbGljaz1cXFwiYWN0aW9uXFxcIj5cXG5cXHRcXHRcXHQ8c3BhbiB2LWlmPVxcXCIhaWNvbklzVXJsXFxcIiA6Y2xhc3M9XFxcIml0ZW0uaWNvblxcXCIgLz5cXG5cXHRcXHRcXHQ8aW1nIHYtZWxzZSA6c3JjPVxcXCJpdGVtLmljb25cXFwiPlxcblxcdFxcdFxcdDxwIHYtaWY9XFxcIml0ZW0udGV4dCAmJiBpdGVtLmxvbmd0ZXh0XFxcIj5cXG5cXHRcXHRcXHRcXHQ8c3Ryb25nIGNsYXNzPVxcXCJtZW51aXRlbS10ZXh0XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHR7eyBpdGVtLnRleHQgfX1cXG5cXHRcXHRcXHRcXHQ8L3N0cm9uZz48YnI+XFxuXFx0XFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIm1lbnVpdGVtLXRleHQtZGV0YWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHR7eyBpdGVtLmxvbmd0ZXh0IH19XFxuXFx0XFx0XFx0XFx0PC9zcGFuPlxcblxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHQ8c3BhbiB2LWVsc2UtaWY9XFxcIml0ZW0udGV4dFxcXCI+XFxuXFx0XFx0XFx0XFx0e3sgaXRlbS50ZXh0IH19XFxuXFx0XFx0XFx0PC9zcGFuPlxcblxcdFxcdFxcdDxwIHYtZWxzZS1pZj1cXFwiaXRlbS5sb25ndGV4dFxcXCI+XFxuXFx0XFx0XFx0XFx0e3sgaXRlbS5sb25ndGV4dCB9fVxcblxcdFxcdFxcdDwvcD5cXG5cXHRcXHQ8L2E+XFxuXFxuXFx0XFx0PCEtLSBJZiBpdGVtLmlucHV0IGlzIHNldCBpbnN0ZWFkLCBhbiBwdXQgd2lsbCBiZSB1c2VkIC0tPlxcblxcdFxcdDxzcGFuIHYtZWxzZS1pZj1cXFwiaXRlbS5pbnB1dFxcXCIgY2xhc3M9XFxcIm1lbnVpdGVtXFxcIiA6Y2xhc3M9XFxcInthY3RpdmU6IGl0ZW0uYWN0aXZlfVxcXCI+XFxuXFx0XFx0XFx0PCEtLSBkb2VzIG5vdCBzaG93IGlmIGlucHV0IGlzIGNoZWNrYm94IC0tPlxcblxcdFxcdFxcdDxzcGFuIHYtaWY9XFxcIml0ZW0uaW5wdXQgIT09ICdjaGVja2JveCdcXFwiIDpjbGFzcz1cXFwiaXRlbS5pY29uXFxcIiAvPlxcblxcblxcdFxcdFxcdDwhLS0gb25seSBzaG93cyBpZiBpbnB1dCBpcyB0ZXh0IC0tPlxcblxcdFxcdFxcdDxmb3JtIHYtaWY9XFxcIml0ZW0uaW5wdXQgPT09ICd0ZXh0J1xcXCJcXG5cXHRcXHRcXHRcXHQ6Y2xhc3M9XFxcIml0ZW0uaW5wdXRcXFwiXFxuXFx0XFx0XFx0XFx0QHN1Ym1pdC5wcmV2ZW50PVxcXCJpdGVtLmFjdGlvblxcXCI+XFxuXFx0XFx0XFx0XFx0PGlucHV0IDp0eXBlPVxcXCJpdGVtLmlucHV0XFxcIlxcblxcdFxcdFxcdFxcdFxcdDp2YWx1ZT1cXFwiaXRlbS52YWx1ZVxcXCJcXG5cXHRcXHRcXHRcXHRcXHQ6cGxhY2Vob2xkZXI9XFxcIml0ZW0udGV4dFxcXCJcXG5cXHRcXHRcXHRcXHRcXHRyZXF1aXJlZD5cXG5cXHRcXHRcXHRcXHQ8aW5wdXQgdHlwZT1cXFwic3VibWl0XFxcIiB2YWx1ZT1cXFwiXFxcIiBjbGFzcz1cXFwiaWNvbi1jb25maXJtXFxcIj5cXG5cXHRcXHRcXHQ8L2Zvcm0+XFxuXFxuXFx0XFx0XFx0PCEtLSBjaGVja2JveCAtLT5cXG5cXHRcXHRcXHQ8dGVtcGxhdGUgdi1lbHNlPlxcblxcdFxcdFxcdFxcdDwhLS0gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIC0tPlxcblxcdFxcdFxcdFxcdDxpbnB1dCA6aWQ9XFxcImtleVxcXCIgdi1tb2RlbD1cXFwiaXRlbS5tb2RlbFxcXCJcXG5cXHRcXHRcXHRcXHRcXHQ6dHlwZT1cXFwiaXRlbS5pbnB1dFxcXCJcXG5cXHRcXHRcXHRcXHRcXHQ6Y2xhc3M9XFxcIml0ZW0uaW5wdXRcXFwiXFxuXFx0XFx0XFx0XFx0XFx0QGNoYW5nZT1cXFwiaXRlbS5hY3Rpb25cXFwiPlxcblxcdFxcdFxcdFxcdDxsYWJlbCA6Zm9yPVxcXCJrZXlcXFwiIEBjbGljay5zdG9wLnByZXZlbnQ9XFxcIml0ZW0uYWN0aW9uXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHR7eyBpdGVtLnRleHQgfX1cXG5cXHRcXHRcXHRcXHQ8L2xhYmVsPlxcblxcdFxcdFxcdDwvdGVtcGxhdGU+XFxuXFx0XFx0PC9zcGFuPlxcblxcblxcdFxcdDwhLS0gSWYgaXRlbS5hY3Rpb24gaXMgc2V0IGluc3RlYWQsIGEgYnV0dG9uIHdpbGwgYmUgdXNlZCAtLT5cXG5cXHRcXHQ8YnV0dG9uIHYtZWxzZS1pZj1cXFwiaXRlbS5hY3Rpb25cXFwiXFxuXFx0XFx0XFx0Y2xhc3M9XFxcIm1lbnVpdGVtIGZvY3VzYWJsZVxcXCJcXG5cXHRcXHRcXHQ6Y2xhc3M9XFxcInthY3RpdmU6IGl0ZW0uYWN0aXZlfVxcXCJcXG5cXHRcXHRcXHQ6ZGlzYWJsZWQ9XFxcIml0ZW0uZGlzYWJsZWRcXFwiXFxuXFx0XFx0XFx0QGNsaWNrLnN0b3AucHJldmVudD1cXFwiaXRlbS5hY3Rpb25cXFwiPlxcblxcdFxcdFxcdDxzcGFuIDpjbGFzcz1cXFwiaXRlbS5pY29uXFxcIiAvPlxcblxcdFxcdFxcdDxwIHYtaWY9XFxcIml0ZW0udGV4dCAmJiBpdGVtLmxvbmd0ZXh0XFxcIj5cXG5cXHRcXHRcXHRcXHQ8c3Ryb25nIGNsYXNzPVxcXCJtZW51aXRlbS10ZXh0XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHR7eyBpdGVtLnRleHQgfX1cXG5cXHRcXHRcXHRcXHQ8L3N0cm9uZz48YnI+XFxuXFx0XFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIm1lbnVpdGVtLXRleHQtZGV0YWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHR7eyBpdGVtLmxvbmd0ZXh0IH19XFxuXFx0XFx0XFx0XFx0PC9zcGFuPlxcblxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHQ8c3BhbiB2LWVsc2UtaWY9XFxcIml0ZW0udGV4dFxcXCI+XFxuXFx0XFx0XFx0XFx0e3sgaXRlbS50ZXh0IH19XFxuXFx0XFx0XFx0PC9zcGFuPlxcblxcdFxcdFxcdDxwIHYtZWxzZS1pZj1cXFwiaXRlbS5sb25ndGV4dFxcXCI+XFxuXFx0XFx0XFx0XFx0e3sgaXRlbS5sb25ndGV4dCB9fVxcblxcdFxcdFxcdDwvcD5cXG5cXHRcXHQ8L2J1dHRvbj5cXG5cXG5cXHRcXHQ8IS0tIElmIGl0ZW0ubG9uZ3RleHQgaXMgc2V0IEFORCB0aGUgaXRlbSBkb2VzIG5vdCBoYXZlIGFuIGFjdGlvbiAtLT5cXG5cXHRcXHQ8c3BhbiB2LWVsc2UgY2xhc3M9XFxcIm1lbnVpdGVtXFxcIiA6Y2xhc3M9XFxcInthY3RpdmU6IGl0ZW0uYWN0aXZlfVxcXCI+XFxuXFx0XFx0XFx0PHNwYW4gOmNsYXNzPVxcXCJpdGVtLmljb25cXFwiIC8+XFxuXFx0XFx0XFx0PHAgdi1pZj1cXFwiaXRlbS50ZXh0ICYmIGl0ZW0ubG9uZ3RleHRcXFwiPlxcblxcdFxcdFxcdFxcdDxzdHJvbmcgY2xhc3M9XFxcIm1lbnVpdGVtLXRleHRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdHt7IGl0ZW0udGV4dCB9fVxcblxcdFxcdFxcdFxcdDwvc3Ryb25nPjxicj5cXG5cXHRcXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwibWVudWl0ZW0tdGV4dC1kZXRhaWxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdHt7IGl0ZW0ubG9uZ3RleHQgfX1cXG5cXHRcXHRcXHRcXHQ8L3NwYW4+XFxuXFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDxzcGFuIHYtZWxzZS1pZj1cXFwiaXRlbS50ZXh0XFxcIj5cXG5cXHRcXHRcXHRcXHR7eyBpdGVtLnRleHQgfX1cXG5cXHRcXHRcXHQ8L3NwYW4+XFxuXFx0XFx0XFx0PHAgdi1lbHNlLWlmPVxcXCJpdGVtLmxvbmd0ZXh0XFxcIj5cXG5cXHRcXHRcXHRcXHR7eyBpdGVtLmxvbmd0ZXh0IH19XFxuXFx0XFx0XFx0PC9wPlxcblxcdFxcdDwvc3Bhbj5cXG5cXHQ8L2xpPlxcbjwvdGVtcGxhdGU+XFxuXFxuPHNjcmlwdD5cXG5leHBvcnQgZGVmYXVsdCB7XFxuXFx0bmFtZTogJ1BvcG92ZXJNZW51SXRlbScsXFxuXFx0cHJvcHM6IHtcXG5cXHRcXHRpdGVtOiB7XFxuXFx0XFx0XFx0dHlwZTogT2JqZWN0LFxcblxcdFxcdFxcdHJlcXVpcmVkOiB0cnVlLFxcblxcdFxcdFxcdGRlZmF1bHQ6ICgpID0+IHtcXG5cXHRcXHRcXHRcXHRyZXR1cm4ge1xcblxcdFxcdFxcdFxcdFxcdGtleTogJ25leHRjbG91ZC1saW5rJyxcXG5cXHRcXHRcXHRcXHRcXHRocmVmOiAnaHR0cHM6Ly9uZXh0Y2xvdWQuY29tJyxcXG5cXHRcXHRcXHRcXHRcXHRpY29uOiAnaWNvbi1saW5rcycsXFxuXFx0XFx0XFx0XFx0XFx0dGV4dDogJ05leHRjbG91ZCcsXFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdH0sXFxuXFx0XFx0XFx0Ly8gY2hlY2sgdGhlIGlucHV0IHR5cGVzXFxuXFx0XFx0XFx0Ly8gVE9ETzogYWRkIG1vcmUgdmFsaWRhdGlvbiBvZiB0eXBlc1xcblxcdFxcdFxcdHZhbGlkYXRvcjogaXRlbSA9PiB7XFxuXFx0XFx0XFx0XFx0Ly8gVE9ETzogc3VwcG9ydCByYWRpb1xcblxcdFxcdFxcdFxcdGlmIChpdGVtLmlucHV0KSB7XFxuXFx0XFx0XFx0XFx0XFx0cmV0dXJuIFsndGV4dCcsICdjaGVja2JveCddLmluZGV4T2YoaXRlbS5pbnB1dCkgIT09IC0xXFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdFxcdHJldHVybiB0cnVlXFxuXFx0XFx0XFx0fSxcXG5cXHRcXHR9LFxcblxcdH0sXFxuXFx0Y29tcHV0ZWQ6IHtcXG5cXHRcXHQvLyByYW5kb20ga2V5IGZvciBpbnB1dHMgYmluZGluZyBpZiBub3QgcHJvdmlkZWRcXG5cXHRcXHRrZXkoKSB7XFxuXFx0XFx0XFx0cmV0dXJuIHRoaXMuaXRlbS5rZXlcXG5cXHRcXHRcXHRcXHQ/IHRoaXMuaXRlbS5rZXlcXG5cXHRcXHRcXHRcXHQ6IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDE2ICogMTAwMDAwMCkudG9TdHJpbmcoMTYpXFxuXFx0XFx0fSxcXG5cXHRcXHRpY29uSXNVcmwoKSB7XFxuXFx0XFx0XFx0dHJ5IHtcXG5cXHRcXHRcXHRcXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmV3XFxuXFx0XFx0XFx0XFx0bmV3IFVSTCh0aGlzLml0ZW0uaWNvbilcXG5cXHRcXHRcXHRcXHRyZXR1cm4gdHJ1ZVxcblxcdFxcdFxcdH0gY2F0Y2ggKF8pIHtcXG5cXHRcXHRcXHRcXHRyZXR1cm4gZmFsc2VcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fSxcXG5cXHR9LFxcblxcdG1ldGhvZHM6IHtcXG5cXHRcXHQvLyBhbGxvdyB1cyB0byB1c2UgYm90aCBsaW5rIGFuZCBhbiBhY3Rpb24gb24gYGFgXFxuXFx0XFx0Ly8gd2Ugc3RpbGwgbmVlZCB0byBtYWtlIHN1cmUgaXRlbS5hY3Rpb24gZXhpc3RzXFxuXFx0XFx0YWN0aW9uKGV2ZW50KSB7XFxuXFx0XFx0XFx0aWYgKHRoaXMuaXRlbS5hY3Rpb24pIHtcXG5cXHRcXHRcXHRcXHR0aGlzLml0ZW0uYWN0aW9uKGV2ZW50KVxcblxcdFxcdFxcdH1cXG5cXHRcXHR9LFxcblxcdH0sXFxufVxcbjwvc2NyaXB0PlxcblxcbjxzdHlsZSBzY29wZWQ+XFxuXFx0YnV0dG9uLm1lbnVpdGVtIHtcXG5cXHRcXHR0ZXh0LWFsaWduOiBsZWZ0O1xcblxcdH1cXG5cXG5cXHRidXR0b24ubWVudWl0ZW0gKiB7XFxuXFx0XFx0Y3Vyc29yOiBwb2ludGVyO1xcblxcdH1cXG5cXG5cXHRidXR0b24ubWVudWl0ZW06ZGlzYWJsZWQge1xcblxcdFxcdG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xcblxcdFxcdGN1cnNvcjogZGVmYXVsdDtcXG5cXHR9XFxuXFxuXFx0YnV0dG9uLm1lbnVpdGVtOmRpc2FibGVkICoge1xcblxcdFxcdGN1cnNvcjogZGVmYXVsdDtcXG5cXHR9XFxuXFxuXFx0Lm1lbnVpdGVtLmFjdGl2ZSB7XFxuXFx0XFx0Ym94LXNoYWRvdzogaW5zZXQgMnB4IDAgdmFyKC0tY29sb3ItcHJpbWFyeSk7XFxuXFx0XFx0Ym9yZGVyLXJhZGl1czogMDtcXG5cXHR9XFxuPC9zdHlsZT5cXG5cXG48c3R5bGUgbGFuZz1cXFwic2Nzc1xcXCIgc2NvcGVkPlxcbmxpIHtcXG5cXHRkaXNwbGF5OiBmbGV4O1xcblxcdGZsZXg6IDAgMCBhdXRvO1xcblxcblxcdCYuaGlkZGVuIHtcXG5cXHRcXHRkaXNwbGF5OiBub25lO1xcblxcdH1cXG5cXG5cXHQ+IGJ1dHRvbixcXG5cXHQ+IGEsXFxuXFx0PiAubWVudWl0ZW0ge1xcblxcdFxcdGN1cnNvcjogcG9pbnRlcjtcXG5cXHRcXHRsaW5lLWhlaWdodDogJGNsaWNrYWJsZS1hcmVhO1xcblxcdFxcdGJvcmRlcjogMDtcXG5cXHRcXHRib3JkZXItcmFkaXVzOiAwOyAvLyBvdGhlcndpc2UgU2FmYXJpIHdpbGwgY3V0IHRoZSBib3JkZXItcmFkaXVzIGFyZWFcXG5cXHRcXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG5cXHRcXHRkaXNwbGF5OiBmbGV4O1xcblxcdFxcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcblxcdFxcdGhlaWdodDogYXV0bztcXG5cXHRcXHRtYXJnaW46IDA7XFxuXFx0XFx0cGFkZGluZzogMDtcXG5cXHRcXHRmb250LXdlaWdodDogbm9ybWFsO1xcblxcdFxcdGJveC1zaGFkb3c6IG5vbmU7XFxuXFx0XFx0d2lkdGg6IDEwMCU7XFxuXFx0XFx0Y29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XFxuXFx0XFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9ub3JtYWw7XFxuXFxuXFx0XFx0Ly8gVE9ETyBzcGxpdCBpbnRvIGluZGl2aWR1YWwgY29tcG9uZW50cyBmb3IgcmVhZGFiaWxpdHlcXG5cXHRcXHRzcGFuW2NsYXNzXj0naWNvbi0nXSxcXG5cXHRcXHRzcGFuW2NsYXNzKj0nIGljb24tJ10sXFxuXFx0XFx0JltjbGFzc149J2ljb24tJ10sXFxuXFx0XFx0JltjbGFzcyo9JyBpY29uLSddIHtcXG5cXHRcXHRcXHRtaW4td2lkdGg6IDA7IC8qIE92ZXJ3cml0ZSBpY29ucyovXFxuXFx0XFx0XFx0bWluLWhlaWdodDogMDtcXG5cXHRcXHRcXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAjeyRpY29uLW1hcmdpbn0gY2VudGVyO1xcblxcdFxcdFxcdGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0c3BhbltjbGFzc149J2ljb24tJ10sXFxuXFx0XFx0c3BhbltjbGFzcyo9JyBpY29uLSddIHtcXG5cXHRcXHRcXHQvKiBLZWVwIHBhZGRpbmcgdG8gZGVmaW5lIHRoZSB3aWR0aCB0b1xcblxcdFxcdFxcdFxcdGFzc3VyZSBjb3JyZWN0IHBvc2l0aW9uIG9mIGEgcG9zc2libGUgdGV4dCAqL1xcblxcdFxcdFxcdHBhZGRpbmc6ICN7JGNsaWNrYWJsZS1hcmVhIC8gMn0gMCAjeyRjbGlja2FibGUtYXJlYSAvIDJ9ICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ly8gSWYgbm8gaWNvbnMgc2V0LCBmb3JjZSBsZWZ0IG1hcmdpbiB0byBhbGlnblxcblxcdFxcdCY6bm90KFtjbGFzc149J2ljb24tJ10pOm5vdChbY2xhc3MqPSdpY29uLSddKSB7XFxuXFx0XFx0XFx0PiBzcGFuLFxcblxcdFxcdFxcdD4gaW5wdXQsXFxuXFx0XFx0XFx0PiBmb3JtIHtcXG5cXHRcXHRcXHRcXHQmOm5vdChbY2xhc3NePSdpY29uLSddKTpub3QoW2NsYXNzKj0naWNvbi0nXSk6Zmlyc3QtY2hpbGQge1xcblxcdFxcdFxcdFxcdFxcdG1hcmdpbi1sZWZ0OiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0XFx0fVxcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFxuXFx0XFx0JltjbGFzc149J2ljb24tJ10sXFxuXFx0XFx0JltjbGFzcyo9JyBpY29uLSddIHtcXG5cXHRcXHRcXHRwYWRkaW5nOiAwICRpY29uLW1hcmdpbiAwICRjbGlja2FibGUtYXJlYTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Jjpub3QoOmRpc2FibGVkKTpob3ZlcixcXG5cXHRcXHQmOm5vdCg6ZGlzYWJsZWQpOmZvY3VzLFxcblxcdFxcdCY6bm90KDpkaXNhYmxlZCkuYWN0aXZlIHtcXG5cXHRcXHRcXHRvcGFjaXR5OiAkb3BhY2l0eV9mdWxsICFpbXBvcnRhbnQ7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8qIHByZXZlbnQgLmFjdGlvbiBjbGFzcyB0byBicmVhayB0aGUgZGVzaWduICovXFxuXFx0XFx0Ji5hY3Rpb24ge1xcblxcdFxcdFxcdHBhZGRpbmc6IGluaGVyaXQgIWltcG9ydGFudDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0PiBzcGFuIHtcXG5cXHRcXHRcXHRjdXJzb3I6IHBvaW50ZXI7XFxuXFx0XFx0XFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ly8gbG9uZyB0ZXh0IGFyZWFcXG5cXHRcXHQ+IHAge1xcblxcdFxcdFxcdHdpZHRoOiAxNTBweDtcXG5cXHRcXHRcXHRsaW5lLWhlaWdodDogMS42ZW07XFxuXFx0XFx0XFx0cGFkZGluZzogOHB4IDA7XFxuXFx0XFx0XFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcXG5cXG5cXHRcXHRcXHQvLyBpbiBjYXNlIHRoZXJlIGFyZSBubyBzcGFjZXMgbGlrZSBsb25nIGVtYWlsIGFkZHJlc3Nlc1xcblxcdFxcdFxcdG92ZXJmbG93OiBoaWRkZW47XFxuXFx0XFx0XFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIFRPRE86IGRvIHdlIHJlYWxseSBzdXBwb3J0cyBpdD9cXG5cXHRcXHQ+IHNlbGVjdCB7XFxuXFx0XFx0XFx0bWFyZ2luOiAwO1xcblxcdFxcdFxcdG1hcmdpbi1sZWZ0OiA2cHg7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8qIEFkZCBwYWRkaW5nIGlmIGNvbnRhaW5zIGljb24rdGV4dCAqL1xcblxcdFxcdCY6bm90KDplbXB0eSkge1xcblxcdFxcdFxcdHBhZGRpbmctcmlnaHQ6ICRpY29uLW1hcmdpbiAhaW1wb3J0YW50O1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvKiBERVBSRUNBVEVEISBvbGQgaW1nIGluIHBvcG92ZXIgZmFsbGJhY2tcXG5cXHRcXHRcXHQqIFRPRE86IHRvIHJlbW92ZSAqL1xcblxcdFxcdD4gaW1nIHtcXG5cXHRcXHRcXHR3aWR0aDogJGljb24tc2l6ZTtcXG5cXHRcXHRcXHRwYWRkaW5nOiAkaWNvbi1tYXJnaW47XFxuXFx0XFx0fVxcblxcblxcdFxcdC8qIGNoZWNrYm94L3JhZGlvIGZpeGVzICovXFxuXFx0XFx0PiBpbnB1dC5yYWRpbyArIGxhYmVsLFxcblxcdFxcdD4gaW5wdXQuY2hlY2tib3ggKyBsYWJlbCB7XFxuXFx0XFx0XFx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xcblxcdFxcdFxcdHdpZHRoOiAxMDAlO1xcblxcdFxcdH1cXG5cXHRcXHQ+IGlucHV0LmNoZWNrYm94ICsgbGFiZWw6OmJlZm9yZSB7XFxuXFx0XFx0XFx0bWFyZ2luOiAtMnB4IDEzcHggMDtcXG5cXHRcXHR9XFxuXFx0XFx0PiBpbnB1dC5yYWRpbyArIGxhYmVsOjpiZWZvcmUge1xcblxcdFxcdFxcdG1hcmdpbjogLTJweCAxMnB4IDA7XFxuXFx0XFx0fVxcblxcdFxcdD4gaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPWltYWdlXSkge1xcblxcdFxcdFxcdHdpZHRoOiAxNTBweDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Ly8gRm9ybXMgJiB0ZXh0IGlucHV0c1xcblxcdFxcdGZvcm0ge1xcblxcdFxcdFxcdGRpc3BsYXk6IGZsZXg7XFxuXFx0XFx0XFx0ZmxleDogMSAxIGF1dG87XFxuXFx0XFx0XFx0LyogcHV0IGEgc21hbGwgc3BhY2UgYmV0d2VlbiB0ZXh0IGFuZCBmb3JtXFxuXFx0XFx0XFx0XFx0aWYgdGhlcmUgaXMgYW4gZWxlbWVudCBiZWZvcmUgKi9cXG5cXHRcXHRcXHQmOm5vdCg6Zmlyc3QtY2hpbGQpICB7XFxuXFx0XFx0XFx0XFx0bWFyZ2luLWxlZnQ6IDVweDtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdFxcdC8qIG5vIG1hcmdpbiBpZiBoaWRkZW4gc3BhbiBiZWZvcmUgKi9cXG5cXHRcXHQ+IHNwYW4uaGlkZGVuICsgZm9ybSxcXG5cXHRcXHQ+IHNwYW5bc3R5bGUqPSdkaXNwbGF5Om5vbmUnXSArIGZvcm0ge1xcblxcdFxcdFxcdG1hcmdpbi1sZWZ0OiAwO1xcblxcdFxcdH1cXG5cXHRcXHQvKiBJbnB1dHMgaW5zaWRlIHBvcG92ZXIgc3VwcG9ydHMgdGV4dCwgc3VibWl0ICYgcmVzZXQgKi9cXG5cXHRcXHRpbnB1dCB7XFxuXFx0XFx0XFx0bWluLXdpZHRoOiAkY2xpY2thYmxlLWFyZWE7XFxuXFx0XFx0XFx0bWF4LWhlaWdodDogI3skY2xpY2thYmxlLWFyZWEgLSA0cHh9OyAvKiB0d2ljZSB0aGUgZWxlbWVudCBtYXJnaW4teSAqL1xcblxcdFxcdFxcdG1hcmdpbjogMnB4IDA7XFxuXFx0XFx0XFx0ZmxleDogMSAxIGF1dG87XFxuXFx0XFx0XFx0Ly8gc3BhY2UgYmV0d2VlbiBpbmxpbmUgaW5wdXRzXFxuXFx0XFx0XFx0Jjpub3QoOmZpcnN0LWNoaWxkKSB7XFxuXFx0XFx0XFx0XFx0bWFyZ2luLWxlZnQ6IDVweDtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHQvLyBUT0RPOiBkbyB0aGF0IGluIGpzLCBzaG91bGQgYmUgY2xlYW5lclxcblxcdC8qIGNzcyBoYWNrLCBvbmx5IGZpcnN0IG5vdCBoaWRkZW4gKi9cXG5cXHQmOm5vdCguaGlkZGVuKTpub3QoW3N0eWxlKj0nZGlzcGxheTpub25lJ10pIHtcXG5cXHRcXHQmOmZpcnN0LW9mLXR5cGUge1xcblxcdFxcdFxcdD4gYnV0dG9uLCA+IGEsID4gLm1lbnVpdGVtIHtcXG5cXHRcXHRcXHRcXHQ+IGZvcm0sID4gaW5wdXQge1xcblxcdFxcdFxcdFxcdFxcdG1hcmdpbi10b3A6ICRpY29uLW1hcmdpbiAtIDJweDsgLy8gbWludXMgdGhlIGlucHV0IG1hcmdpblxcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdFxcdCY6bGFzdC1vZi10eXBlIHtcXG5cXHRcXHRcXHQ+IGJ1dHRvbiwgPiBhLCA+IC5tZW51aXRlbSB7XFxuXFx0XFx0XFx0XFx0PiBmb3JtLCA+IGlucHV0IHtcXG5cXHRcXHRcXHRcXHRcXHRtYXJnaW4tYm90dG9tOiAkaWNvbi1tYXJnaW4gLSAycHg7IC8vIG1pbnVzIHRoZSBpbnB1dCBtYXJnaW5cXG5cXHRcXHRcXHRcXHR9XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXHR9XFxuXFx0PiBidXR0b24ge1xcblxcdFxcdHBhZGRpbmc6IDA7XFxuXFx0XFx0c3BhbiB7XFxuXFx0XFx0XFx0b3BhY2l0eTogJG9wYWNpdHlfZnVsbDtcXG5cXHRcXHR9XFxuXFx0fVxcbn1cXG48L3N0eWxlPlxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCJcInVzZSBzdHJpY3RcIjtcblxuLypcbiAgTUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcbiAgQXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9cbi8vIGNzcyBiYXNlIGNvZGUsIGluamVjdGVkIGJ5IHRoZSBjc3MtbG9hZGVyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoY3NzV2l0aE1hcHBpbmdUb1N0cmluZykge1xuICB2YXIgbGlzdCA9IFtdOyAvLyByZXR1cm4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhcyBjc3Mgc3RyaW5nXG5cbiAgbGlzdC50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgdmFyIGNvbnRlbnQgPSBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0pO1xuXG4gICAgICBpZiAoaXRlbVsyXSkge1xuICAgICAgICByZXR1cm4gXCJAbWVkaWEgXCIuY29uY2F0KGl0ZW1bMl0sIFwiIHtcIikuY29uY2F0KGNvbnRlbnQsIFwifVwiKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfSkuam9pbihcIlwiKTtcbiAgfTsgLy8gaW1wb3J0IGEgbGlzdCBvZiBtb2R1bGVzIGludG8gdGhlIGxpc3RcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGZ1bmMtbmFtZXNcblxuXG4gIGxpc3QuaSA9IGZ1bmN0aW9uIChtb2R1bGVzLCBtZWRpYVF1ZXJ5LCBkZWR1cGUpIHtcbiAgICBpZiAodHlwZW9mIG1vZHVsZXMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgbW9kdWxlcyA9IFtbbnVsbCwgbW9kdWxlcywgXCJcIl1dO1xuICAgIH1cblxuICAgIHZhciBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzID0ge307XG5cbiAgICBpZiAoZGVkdXBlKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1kZXN0cnVjdHVyaW5nXG4gICAgICAgIHZhciBpZCA9IHRoaXNbaV1bMF07XG5cbiAgICAgICAgaWYgKGlkICE9IG51bGwpIHtcbiAgICAgICAgICBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2lkXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgbW9kdWxlcy5sZW5ndGg7IF9pKyspIHtcbiAgICAgIHZhciBpdGVtID0gW10uY29uY2F0KG1vZHVsZXNbX2ldKTtcblxuICAgICAgaWYgKGRlZHVwZSAmJiBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2l0ZW1bMF1dKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb250aW51ZVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1lZGlhUXVlcnkpIHtcbiAgICAgICAgaWYgKCFpdGVtWzJdKSB7XG4gICAgICAgICAgaXRlbVsyXSA9IG1lZGlhUXVlcnk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXRlbVsyXSA9IFwiXCIuY29uY2F0KG1lZGlhUXVlcnksIFwiIGFuZCBcIikuY29uY2F0KGl0ZW1bMl0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxpc3QucHVzaChpdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIGxpc3Q7XG59OyIsIlwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfc2xpY2VkVG9BcnJheShhcnIsIGkpIHsgcmV0dXJuIF9hcnJheVdpdGhIb2xlcyhhcnIpIHx8IF9pdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHx8IF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShhcnIsIGkpIHx8IF9ub25JdGVyYWJsZVJlc3QoKTsgfVxuXG5mdW5jdGlvbiBfbm9uSXRlcmFibGVSZXN0KCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpOyB9XG5cbmZ1bmN0aW9uIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShvLCBtaW5MZW4pIHsgaWYgKCFvKSByZXR1cm47IGlmICh0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7IHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTsgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTsgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7IGlmIChuID09PSBcIkFyZ3VtZW50c1wiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTsgfVxuXG5mdW5jdGlvbiBfYXJyYXlMaWtlVG9BcnJheShhcnIsIGxlbikgeyBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDsgZm9yICh2YXIgaSA9IDAsIGFycjIgPSBuZXcgQXJyYXkobGVuKTsgaSA8IGxlbjsgaSsrKSB7IGFycjJbaV0gPSBhcnJbaV07IH0gcmV0dXJuIGFycjI7IH1cblxuZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoYXJyKSkpIHJldHVybjsgdmFyIF9hcnIgPSBbXTsgdmFyIF9uID0gdHJ1ZTsgdmFyIF9kID0gZmFsc2U7IHZhciBfZSA9IHVuZGVmaW5lZDsgdHJ5IHsgZm9yICh2YXIgX2kgPSBhcnJbU3ltYm9sLml0ZXJhdG9yXSgpLCBfczsgIShfbiA9IChfcyA9IF9pLm5leHQoKSkuZG9uZSk7IF9uID0gdHJ1ZSkgeyBfYXJyLnB1c2goX3MudmFsdWUpOyBpZiAoaSAmJiBfYXJyLmxlbmd0aCA9PT0gaSkgYnJlYWs7IH0gfSBjYXRjaCAoZXJyKSB7IF9kID0gdHJ1ZTsgX2UgPSBlcnI7IH0gZmluYWxseSB7IHRyeSB7IGlmICghX24gJiYgX2lbXCJyZXR1cm5cIl0gIT0gbnVsbCkgX2lbXCJyZXR1cm5cIl0oKTsgfSBmaW5hbGx5IHsgaWYgKF9kKSB0aHJvdyBfZTsgfSB9IHJldHVybiBfYXJyOyB9XG5cbmZ1bmN0aW9uIF9hcnJheVdpdGhIb2xlcyhhcnIpIHsgaWYgKEFycmF5LmlzQXJyYXkoYXJyKSkgcmV0dXJuIGFycjsgfVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSkge1xuICB2YXIgX2l0ZW0gPSBfc2xpY2VkVG9BcnJheShpdGVtLCA0KSxcbiAgICAgIGNvbnRlbnQgPSBfaXRlbVsxXSxcbiAgICAgIGNzc01hcHBpbmcgPSBfaXRlbVszXTtcblxuICBpZiAodHlwZW9mIGJ0b2EgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICAgIHZhciBiYXNlNjQgPSBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShjc3NNYXBwaW5nKSkpKTtcbiAgICB2YXIgZGF0YSA9IFwic291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsXCIuY29uY2F0KGJhc2U2NCk7XG4gICAgdmFyIHNvdXJjZU1hcHBpbmcgPSBcIi8qIyBcIi5jb25jYXQoZGF0YSwgXCIgKi9cIik7XG4gICAgdmFyIHNvdXJjZVVSTHMgPSBjc3NNYXBwaW5nLnNvdXJjZXMubWFwKGZ1bmN0aW9uIChzb3VyY2UpIHtcbiAgICAgIHJldHVybiBcIi8qIyBzb3VyY2VVUkw9XCIuY29uY2F0KGNzc01hcHBpbmcuc291cmNlUm9vdCB8fCBcIlwiKS5jb25jYXQoc291cmNlLCBcIiAqL1wiKTtcbiAgICB9KTtcbiAgICByZXR1cm4gW2NvbnRlbnRdLmNvbmNhdChzb3VyY2VVUkxzKS5jb25jYXQoW3NvdXJjZU1hcHBpbmddKS5qb2luKFwiXFxuXCIpO1xuICB9XG5cbiAgcmV0dXJuIFtjb250ZW50XS5qb2luKFwiXFxuXCIpO1xufTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUG9wb3Zlck1lbnUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MGEwZWI3MTkmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0xLTMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Qb3BvdmVyTWVudUl0ZW0udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTEmaWQ9NTEyZWE3NjgmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsImltcG9ydCBhcGkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgICAgICAgIGltcG9ydCBjb250ZW50IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTUxMmVhNzY4JnNjb3BlZD10cnVlJmxhbmc9Y3NzJlwiO1xuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLmluc2VydCA9IFwiaGVhZFwiO1xub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcblxudmFyIHVwZGF0ZSA9IGFwaShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQubG9jYWxzIHx8IHt9OyIsIlwidXNlIHN0cmljdFwiO1xuXG52YXIgaXNPbGRJRSA9IGZ1bmN0aW9uIGlzT2xkSUUoKSB7XG4gIHZhciBtZW1vO1xuICByZXR1cm4gZnVuY3Rpb24gbWVtb3JpemUoKSB7XG4gICAgaWYgKHR5cGVvZiBtZW1vID09PSAndW5kZWZpbmVkJykge1xuICAgICAgLy8gVGVzdCBmb3IgSUUgPD0gOSBhcyBwcm9wb3NlZCBieSBCcm93c2VyaGFja3NcbiAgICAgIC8vIEBzZWUgaHR0cDovL2Jyb3dzZXJoYWNrcy5jb20vI2hhY2stZTcxZDg2OTJmNjUzMzQxNzNmZWU3MTVjMjIyY2I4MDVcbiAgICAgIC8vIFRlc3RzIGZvciBleGlzdGVuY2Ugb2Ygc3RhbmRhcmQgZ2xvYmFscyBpcyB0byBhbGxvdyBzdHlsZS1sb2FkZXJcbiAgICAgIC8vIHRvIG9wZXJhdGUgY29ycmVjdGx5IGludG8gbm9uLXN0YW5kYXJkIGVudmlyb25tZW50c1xuICAgICAgLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlci9pc3N1ZXMvMTc3XG4gICAgICBtZW1vID0gQm9vbGVhbih3aW5kb3cgJiYgZG9jdW1lbnQgJiYgZG9jdW1lbnQuYWxsICYmICF3aW5kb3cuYXRvYik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lbW87XG4gIH07XG59KCk7XG5cbnZhciBnZXRUYXJnZXQgPSBmdW5jdGlvbiBnZXRUYXJnZXQoKSB7XG4gIHZhciBtZW1vID0ge307XG4gIHJldHVybiBmdW5jdGlvbiBtZW1vcml6ZSh0YXJnZXQpIHtcbiAgICBpZiAodHlwZW9mIG1lbW9bdGFyZ2V0XSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHZhciBzdHlsZVRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGFyZ2V0KTsgLy8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcblxuICAgICAgaWYgKHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCAmJiBzdHlsZVRhcmdldCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIFRoaXMgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24gaWYgYWNjZXNzIHRvIGlmcmFtZSBpcyBibG9ja2VkXG4gICAgICAgICAgLy8gZHVlIHRvIGNyb3NzLW9yaWdpbiByZXN0cmljdGlvbnNcbiAgICAgICAgICBzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgICAgICAgICBzdHlsZVRhcmdldCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbWVtb1t0YXJnZXRdID0gc3R5bGVUYXJnZXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lbW9bdGFyZ2V0XTtcbiAgfTtcbn0oKTtcblxudmFyIHN0eWxlc0luRG9tID0gW107XG5cbmZ1bmN0aW9uIGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpIHtcbiAgdmFyIHJlc3VsdCA9IC0xO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzSW5Eb20ubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoc3R5bGVzSW5Eb21baV0uaWRlbnRpZmllciA9PT0gaWRlbnRpZmllcikge1xuICAgICAgcmVzdWx0ID0gaTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIG1vZHVsZXNUb0RvbShsaXN0LCBvcHRpb25zKSB7XG4gIHZhciBpZENvdW50TWFwID0ge307XG4gIHZhciBpZGVudGlmaWVycyA9IFtdO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAgIHZhciBpdGVtID0gbGlzdFtpXTtcbiAgICB2YXIgaWQgPSBvcHRpb25zLmJhc2UgPyBpdGVtWzBdICsgb3B0aW9ucy5iYXNlIDogaXRlbVswXTtcbiAgICB2YXIgY291bnQgPSBpZENvdW50TWFwW2lkXSB8fCAwO1xuICAgIHZhciBpZGVudGlmaWVyID0gXCJcIi5jb25jYXQoaWQsIFwiIFwiKS5jb25jYXQoY291bnQpO1xuICAgIGlkQ291bnRNYXBbaWRdID0gY291bnQgKyAxO1xuICAgIHZhciBpbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuICAgIHZhciBvYmogPSB7XG4gICAgICBjc3M6IGl0ZW1bMV0sXG4gICAgICBtZWRpYTogaXRlbVsyXSxcbiAgICAgIHNvdXJjZU1hcDogaXRlbVszXVxuICAgIH07XG5cbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICBzdHlsZXNJbkRvbVtpbmRleF0ucmVmZXJlbmNlcysrO1xuICAgICAgc3R5bGVzSW5Eb21baW5kZXhdLnVwZGF0ZXIob2JqKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVzSW5Eb20ucHVzaCh7XG4gICAgICAgIGlkZW50aWZpZXI6IGlkZW50aWZpZXIsXG4gICAgICAgIHVwZGF0ZXI6IGFkZFN0eWxlKG9iaiwgb3B0aW9ucyksXG4gICAgICAgIHJlZmVyZW5jZXM6IDFcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlkZW50aWZpZXJzLnB1c2goaWRlbnRpZmllcik7XG4gIH1cblxuICByZXR1cm4gaWRlbnRpZmllcnM7XG59XG5cbmZ1bmN0aW9uIGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKSB7XG4gIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHZhciBhdHRyaWJ1dGVzID0gb3B0aW9ucy5hdHRyaWJ1dGVzIHx8IHt9O1xuXG4gIGlmICh0eXBlb2YgYXR0cmlidXRlcy5ub25jZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB2YXIgbm9uY2UgPSB0eXBlb2YgX193ZWJwYWNrX25vbmNlX18gIT09ICd1bmRlZmluZWQnID8gX193ZWJwYWNrX25vbmNlX18gOiBudWxsO1xuXG4gICAgaWYgKG5vbmNlKSB7XG4gICAgICBhdHRyaWJ1dGVzLm5vbmNlID0gbm9uY2U7XG4gICAgfVxuICB9XG5cbiAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgc3R5bGUuc2V0QXR0cmlidXRlKGtleSwgYXR0cmlidXRlc1trZXldKTtcbiAgfSk7XG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zLmluc2VydCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIG9wdGlvbnMuaW5zZXJ0KHN0eWxlKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG9wdGlvbnMuaW5zZXJ0IHx8ICdoZWFkJyk7XG5cbiAgICBpZiAoIXRhcmdldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmluZCBhIHN0eWxlIHRhcmdldC4gVGhpcyBwcm9iYWJseSBtZWFucyB0aGF0IHRoZSB2YWx1ZSBmb3IgdGhlICdpbnNlcnQnIHBhcmFtZXRlciBpcyBpbnZhbGlkLlwiKTtcbiAgICB9XG5cbiAgICB0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuICB9XG5cbiAgcmV0dXJuIHN0eWxlO1xufVxuXG5mdW5jdGlvbiByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpIHtcbiAgLy8gaXN0YW5idWwgaWdub3JlIGlmXG4gIGlmIChzdHlsZS5wYXJlbnROb2RlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3R5bGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZSk7XG59XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cblxuXG52YXIgcmVwbGFjZVRleHQgPSBmdW5jdGlvbiByZXBsYWNlVGV4dCgpIHtcbiAgdmFyIHRleHRTdG9yZSA9IFtdO1xuICByZXR1cm4gZnVuY3Rpb24gcmVwbGFjZShpbmRleCwgcmVwbGFjZW1lbnQpIHtcbiAgICB0ZXh0U3RvcmVbaW5kZXhdID0gcmVwbGFjZW1lbnQ7XG4gICAgcmV0dXJuIHRleHRTdG9yZS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJyk7XG4gIH07XG59KCk7XG5cbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcoc3R5bGUsIGluZGV4LCByZW1vdmUsIG9iaikge1xuICB2YXIgY3NzID0gcmVtb3ZlID8gJycgOiBvYmoubWVkaWEgPyBcIkBtZWRpYSBcIi5jb25jYXQob2JqLm1lZGlhLCBcIiB7XCIpLmNvbmNhdChvYmouY3NzLCBcIn1cIikgOiBvYmouY3NzOyAvLyBGb3Igb2xkIElFXG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICAqL1xuXG4gIGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG4gICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcyk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpO1xuICAgIHZhciBjaGlsZE5vZGVzID0gc3R5bGUuY2hpbGROb2RlcztcblxuICAgIGlmIChjaGlsZE5vZGVzW2luZGV4XSkge1xuICAgICAgc3R5bGUucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pO1xuICAgIH1cblxuICAgIGlmIChjaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgICAgc3R5bGUuaW5zZXJ0QmVmb3JlKGNzc05vZGUsIGNoaWxkTm9kZXNbaW5kZXhdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGUuYXBwZW5kQ2hpbGQoY3NzTm9kZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFwcGx5VG9UYWcoc3R5bGUsIG9wdGlvbnMsIG9iaikge1xuICB2YXIgY3NzID0gb2JqLmNzcztcbiAgdmFyIG1lZGlhID0gb2JqLm1lZGlhO1xuICB2YXIgc291cmNlTWFwID0gb2JqLnNvdXJjZU1hcDtcblxuICBpZiAobWVkaWEpIHtcbiAgICBzdHlsZS5zZXRBdHRyaWJ1dGUoJ21lZGlhJywgbWVkaWEpO1xuICB9IGVsc2Uge1xuICAgIHN0eWxlLnJlbW92ZUF0dHJpYnV0ZSgnbWVkaWEnKTtcbiAgfVxuXG4gIGlmIChzb3VyY2VNYXAgJiYgdHlwZW9mIGJ0b2EgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgY3NzICs9IFwiXFxuLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxcIi5jb25jYXQoYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKSwgXCIgKi9cIik7XG4gIH0gLy8gRm9yIG9sZCBJRVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAgKi9cblxuXG4gIGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG4gICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuICB9IGVsc2Uge1xuICAgIHdoaWxlIChzdHlsZS5maXJzdENoaWxkKSB7XG4gICAgICBzdHlsZS5yZW1vdmVDaGlsZChzdHlsZS5maXJzdENoaWxkKTtcbiAgICB9XG5cbiAgICBzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcbiAgfVxufVxuXG52YXIgc2luZ2xldG9uID0gbnVsbDtcbnZhciBzaW5nbGV0b25Db3VudGVyID0gMDtcblxuZnVuY3Rpb24gYWRkU3R5bGUob2JqLCBvcHRpb25zKSB7XG4gIHZhciBzdHlsZTtcbiAgdmFyIHVwZGF0ZTtcbiAgdmFyIHJlbW92ZTtcblxuICBpZiAob3B0aW9ucy5zaW5nbGV0b24pIHtcbiAgICB2YXIgc3R5bGVJbmRleCA9IHNpbmdsZXRvbkNvdW50ZXIrKztcbiAgICBzdHlsZSA9IHNpbmdsZXRvbiB8fCAoc2luZ2xldG9uID0gaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpKTtcbiAgICB1cGRhdGUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIGZhbHNlKTtcbiAgICByZW1vdmUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIHRydWUpO1xuICB9IGVsc2Uge1xuICAgIHN0eWxlID0gaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpO1xuICAgIHVwZGF0ZSA9IGFwcGx5VG9UYWcuYmluZChudWxsLCBzdHlsZSwgb3B0aW9ucyk7XG5cbiAgICByZW1vdmUgPSBmdW5jdGlvbiByZW1vdmUoKSB7XG4gICAgICByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuICAgIH07XG4gIH1cblxuICB1cGRhdGUob2JqKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZVN0eWxlKG5ld09iaikge1xuICAgIGlmIChuZXdPYmopIHtcbiAgICAgIGlmIChuZXdPYmouY3NzID09PSBvYmouY3NzICYmIG5ld09iai5tZWRpYSA9PT0gb2JqLm1lZGlhICYmIG5ld09iai5zb3VyY2VNYXAgPT09IG9iai5zb3VyY2VNYXApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUob2JqID0gbmV3T2JqKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVtb3ZlKCk7XG4gICAgfVxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChsaXN0LCBvcHRpb25zKSB7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OyAvLyBGb3JjZSBzaW5nbGUtdGFnIHNvbHV0aW9uIG9uIElFNi05LCB3aGljaCBoYXMgYSBoYXJkIGxpbWl0IG9uIHRoZSAjIG9mIDxzdHlsZT5cbiAgLy8gdGFncyBpdCB3aWxsIGFsbG93IG9uIGEgcGFnZVxuXG4gIGlmICghb3B0aW9ucy5zaW5nbGV0b24gJiYgdHlwZW9mIG9wdGlvbnMuc2luZ2xldG9uICE9PSAnYm9vbGVhbicpIHtcbiAgICBvcHRpb25zLnNpbmdsZXRvbiA9IGlzT2xkSUUoKTtcbiAgfVxuXG4gIGxpc3QgPSBsaXN0IHx8IFtdO1xuICB2YXIgbGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKGxpc3QsIG9wdGlvbnMpO1xuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlKG5ld0xpc3QpIHtcbiAgICBuZXdMaXN0ID0gbmV3TGlzdCB8fCBbXTtcblxuICAgIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3TGlzdCkgIT09ICdbb2JqZWN0IEFycmF5XScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxhc3RJZGVudGlmaWVycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGlkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbaV07XG4gICAgICB2YXIgaW5kZXggPSBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKTtcbiAgICAgIHN0eWxlc0luRG9tW2luZGV4XS5yZWZlcmVuY2VzLS07XG4gICAgfVxuXG4gICAgdmFyIG5ld0xhc3RJZGVudGlmaWVycyA9IG1vZHVsZXNUb0RvbShuZXdMaXN0LCBvcHRpb25zKTtcblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBsYXN0SWRlbnRpZmllcnMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgX2lkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbX2ldO1xuXG4gICAgICB2YXIgX2luZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoX2lkZW50aWZpZXIpO1xuXG4gICAgICBpZiAoc3R5bGVzSW5Eb21bX2luZGV4XS5yZWZlcmVuY2VzID09PSAwKSB7XG4gICAgICAgIHN0eWxlc0luRG9tW19pbmRleF0udXBkYXRlcigpO1xuXG4gICAgICAgIHN0eWxlc0luRG9tLnNwbGljZShfaW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhc3RJZGVudGlmaWVycyA9IG5ld0xhc3RJZGVudGlmaWVycztcbiAgfTtcbn07IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcInVsXCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJwb3BvdmVyX19tZW51XCIgfSxcbiAgICBfdm0uX2woX3ZtLm1lbnUsIGZ1bmN0aW9uKGl0ZW0sIGtleSkge1xuICAgICAgcmV0dXJuIF9jKFwiUG9wb3Zlck1lbnVJdGVtXCIsIHsga2V5OiBrZXksIGF0dHJzOiB7IGl0ZW06IGl0ZW0gfSB9KVxuICAgIH0pLFxuICAgIDFcbiAgKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJsaVwiLCB7IHN0YXRpY0NsYXNzOiBcInBvcG92ZXJfX21lbnVpdGVtXCIgfSwgW1xuICAgIF92bS5pdGVtLmhyZWZcbiAgICAgID8gX2MoXG4gICAgICAgICAgXCJhXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiZm9jdXNhYmxlXCIsXG4gICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICBocmVmOiBfdm0uaXRlbS5ocmVmID8gX3ZtLml0ZW0uaHJlZiA6IFwiI1wiLFxuICAgICAgICAgICAgICB0YXJnZXQ6IF92bS5pdGVtLnRhcmdldCA/IF92bS5pdGVtLnRhcmdldCA6IFwiXCIsXG4gICAgICAgICAgICAgIGRvd25sb2FkOiBfdm0uaXRlbS5kb3dubG9hZCxcbiAgICAgICAgICAgICAgcmVsOiBcIm5vcmVmZXJyZXIgbm9vcGVuZXJcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uOiB7IGNsaWNrOiBfdm0uYWN0aW9uIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIFtcbiAgICAgICAgICAgICFfdm0uaWNvbklzVXJsXG4gICAgICAgICAgICAgID8gX2MoXCJzcGFuXCIsIHsgY2xhc3M6IF92bS5pdGVtLmljb24gfSlcbiAgICAgICAgICAgICAgOiBfYyhcImltZ1wiLCB7IGF0dHJzOiB7IHNyYzogX3ZtLml0ZW0uaWNvbiB9IH0pLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF92bS5pdGVtLnRleHQgJiYgX3ZtLml0ZW0ubG9uZ3RleHRcbiAgICAgICAgICAgICAgPyBfYyhcInBcIiwgW1xuICAgICAgICAgICAgICAgICAgX2MoXCJzdHJvbmdcIiwgeyBzdGF0aWNDbGFzczogXCJtZW51aXRlbS10ZXh0XCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRcXHRcIiArIF92bS5fcyhfdm0uaXRlbS50ZXh0KSArIFwiXFxuXFx0XFx0XFx0XCIpXG4gICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgIF9jKFwiYnJcIiksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwibWVudWl0ZW0tdGV4dC1kZXRhaWxcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICBcIlxcblxcdFxcdFxcdFxcdFwiICsgX3ZtLl9zKF92bS5pdGVtLmxvbmd0ZXh0KSArIFwiXFxuXFx0XFx0XFx0XCJcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICA6IF92bS5pdGVtLnRleHRcbiAgICAgICAgICAgICAgPyBfYyhcInNwYW5cIiwgW1xuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuXFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLml0ZW0udGV4dCkgKyBcIlxcblxcdFxcdFwiKVxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgIDogX3ZtLml0ZW0ubG9uZ3RleHRcbiAgICAgICAgICAgICAgPyBfYyhcInBcIiwgW1xuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuXFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLml0ZW0ubG9uZ3RleHQpICsgXCJcXG5cXHRcXHRcIilcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICAgICAgXVxuICAgICAgICApXG4gICAgICA6IF92bS5pdGVtLmlucHV0XG4gICAgICA/IF9jKFxuICAgICAgICAgIFwic3BhblwiLFxuICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwibWVudWl0ZW1cIiwgY2xhc3M6IHsgYWN0aXZlOiBfdm0uaXRlbS5hY3RpdmUgfSB9LFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIF92bS5pdGVtLmlucHV0ICE9PSBcImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgPyBfYyhcInNwYW5cIiwgeyBjbGFzczogX3ZtLml0ZW0uaWNvbiB9KVxuICAgICAgICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF92bS5pdGVtLmlucHV0ID09PSBcInRleHRcIlxuICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgXCJmb3JtXCIsXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzOiBfdm0uaXRlbS5pbnB1dCxcbiAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICBzdWJtaXQ6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uaXRlbS5hY3Rpb24oJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgX2MoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IF92bS5pdGVtLmlucHV0LFxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IF92bS5pdGVtLnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgZG9tUHJvcHM6IHsgdmFsdWU6IF92bS5pdGVtLnZhbHVlIH1cbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgIF9jKFwiaW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImljb24tY29uZmlybVwiLFxuICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHR5cGU6IFwic3VibWl0XCIsIHZhbHVlOiBcIlwiIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIDogW1xuICAgICAgICAgICAgICAgICAgX3ZtLml0ZW0uaW5wdXQgPT09IFwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICA/IF9jKFwiaW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi1tb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uaXRlbS5tb2RlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0ubW9kZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IF92bS5pdGVtLmlucHV0LFxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgaWQ6IF92bS5rZXksIHR5cGU6IFwiY2hlY2tib3hcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgZG9tUHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogQXJyYXkuaXNBcnJheShfdm0uaXRlbS5tb2RlbClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IF92bS5faShfdm0uaXRlbS5tb2RlbCwgbnVsbCkgPiAtMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX3ZtLml0ZW0ubW9kZWxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2U6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciAkJGEgPSBfdm0uaXRlbS5tb2RlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCRlbCA9ICRldmVudC50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQkYyA9ICQkZWwuY2hlY2tlZCA/IHRydWUgOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoJCRhKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgJCR2ID0gbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkJGkgPSBfdm0uX2koJCRhLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkJGVsLmNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkJGkgPCAwICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibW9kZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCRhLmNvbmNhdChbJCR2XSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkJGkgPiAtMSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5pdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQkYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zbGljZSgwLCAkJGkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNvbmNhdCgkJGEuc2xpY2UoJCRpICsgMSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KF92bS5pdGVtLCBcIm1vZGVsXCIsICQkYylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5pdGVtLmFjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgOiBfdm0uaXRlbS5pbnB1dCA9PT0gXCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgID8gX2MoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5pdGVtLm1vZGVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS5tb2RlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogX3ZtLml0ZW0uaW5wdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBpZDogX3ZtLmtleSwgdHlwZTogXCJyYWRpb1wiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBkb21Qcm9wczogeyBjaGVja2VkOiBfdm0uX3EoX3ZtLml0ZW0ubW9kZWwsIG51bGwpIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2U6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uJHNldChfdm0uaXRlbSwgXCJtb2RlbFwiLCBudWxsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLml0ZW0uYWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICA6IF9jKFwiaW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi1tb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uaXRlbS5tb2RlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0ubW9kZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IF92bS5pdGVtLmlucHV0LFxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgaWQ6IF92bS5rZXksIHR5cGU6IF92bS5pdGVtLmlucHV0IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBkb21Qcm9wczogeyB2YWx1ZTogX3ZtLml0ZW0ubW9kZWwgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZTogX3ZtLml0ZW0uYWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dDogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRldmVudC50YXJnZXQuY29tcG9zaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoX3ZtLml0ZW0sIFwibW9kZWxcIiwgJGV2ZW50LnRhcmdldC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCIsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBmb3I6IF92bS5rZXkgfSxcbiAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5pdGVtLmFjdGlvbigkZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBbX3ZtLl92KFwiXFxuXFx0XFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLml0ZW0udGV4dCkgKyBcIlxcblxcdFxcdFxcdFwiKV1cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgXSxcbiAgICAgICAgICAyXG4gICAgICAgIClcbiAgICAgIDogX3ZtLml0ZW0uYWN0aW9uXG4gICAgICA/IF9jKFxuICAgICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwibWVudWl0ZW0gZm9jdXNhYmxlXCIsXG4gICAgICAgICAgICBjbGFzczogeyBhY3RpdmU6IF92bS5pdGVtLmFjdGl2ZSB9LFxuICAgICAgICAgICAgYXR0cnM6IHsgZGlzYWJsZWQ6IF92bS5pdGVtLmRpc2FibGVkIH0sXG4gICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLml0ZW0uYWN0aW9uKCRldmVudClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgW1xuICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHsgY2xhc3M6IF92bS5pdGVtLmljb24gfSksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX3ZtLml0ZW0udGV4dCAmJiBfdm0uaXRlbS5sb25ndGV4dFxuICAgICAgICAgICAgICA/IF9jKFwicFwiLCBbXG4gICAgICAgICAgICAgICAgICBfYyhcInN0cm9uZ1wiLCB7IHN0YXRpY0NsYXNzOiBcIm1lbnVpdGVtLXRleHRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIlxcblxcdFxcdFxcdFxcdFwiICsgX3ZtLl9zKF92bS5pdGVtLnRleHQpICsgXCJcXG5cXHRcXHRcXHRcIilcbiAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgX2MoXCJiclwiKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJtZW51aXRlbS10ZXh0LWRldGFpbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgIFwiXFxuXFx0XFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLml0ZW0ubG9uZ3RleHQpICsgXCJcXG5cXHRcXHRcXHRcIlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgIDogX3ZtLml0ZW0udGV4dFxuICAgICAgICAgICAgICA/IF9jKFwic3BhblwiLCBbXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRcIiArIF92bS5fcyhfdm0uaXRlbS50ZXh0KSArIFwiXFxuXFx0XFx0XCIpXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgOiBfdm0uaXRlbS5sb25ndGV4dFxuICAgICAgICAgICAgICA/IF9jKFwicFwiLCBbXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRcIiArIF92bS5fcyhfdm0uaXRlbS5sb25ndGV4dCkgKyBcIlxcblxcdFxcdFwiKVxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgIDogX3ZtLl9lKClcbiAgICAgICAgICBdXG4gICAgICAgIClcbiAgICAgIDogX2MoXG4gICAgICAgICAgXCJzcGFuXCIsXG4gICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJtZW51aXRlbVwiLCBjbGFzczogeyBhY3RpdmU6IF92bS5pdGVtLmFjdGl2ZSB9IH0sXG4gICAgICAgICAgW1xuICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHsgY2xhc3M6IF92bS5pdGVtLmljb24gfSksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX3ZtLml0ZW0udGV4dCAmJiBfdm0uaXRlbS5sb25ndGV4dFxuICAgICAgICAgICAgICA/IF9jKFwicFwiLCBbXG4gICAgICAgICAgICAgICAgICBfYyhcInN0cm9uZ1wiLCB7IHN0YXRpY0NsYXNzOiBcIm1lbnVpdGVtLXRleHRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIlxcblxcdFxcdFxcdFxcdFwiICsgX3ZtLl9zKF92bS5pdGVtLnRleHQpICsgXCJcXG5cXHRcXHRcXHRcIilcbiAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgX2MoXCJiclwiKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJtZW51aXRlbS10ZXh0LWRldGFpbFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgIFwiXFxuXFx0XFx0XFx0XFx0XCIgKyBfdm0uX3MoX3ZtLml0ZW0ubG9uZ3RleHQpICsgXCJcXG5cXHRcXHRcXHRcIlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgIDogX3ZtLml0ZW0udGV4dFxuICAgICAgICAgICAgICA/IF9jKFwic3BhblwiLCBbXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRcIiArIF92bS5fcyhfdm0uaXRlbS50ZXh0KSArIFwiXFxuXFx0XFx0XCIpXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgOiBfdm0uaXRlbS5sb25ndGV4dFxuICAgICAgICAgICAgICA/IF9jKFwicFwiLCBbXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRcIiArIF92bS5fcyhfdm0uaXRlbS5sb25ndGV4dCkgKyBcIlxcblxcdFxcdFwiKVxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgIDogX3ZtLl9lKClcbiAgICAgICAgICBdXG4gICAgICAgIClcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCIvKiBnbG9iYWxzIF9fVlVFX1NTUl9DT05URVhUX18gKi9cblxuLy8gSU1QT1JUQU5UOiBEbyBOT1QgdXNlIEVTMjAxNSBmZWF0dXJlcyBpbiB0aGlzIGZpbGUgKGV4Y2VwdCBmb3IgbW9kdWxlcykuXG4vLyBUaGlzIG1vZHVsZSBpcyBhIHJ1bnRpbWUgdXRpbGl0eSBmb3IgY2xlYW5lciBjb21wb25lbnQgbW9kdWxlIG91dHB1dCBhbmQgd2lsbFxuLy8gYmUgaW5jbHVkZWQgaW4gdGhlIGZpbmFsIHdlYnBhY2sgdXNlciBidW5kbGUuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG5vcm1hbGl6ZUNvbXBvbmVudCAoXG4gIHNjcmlwdEV4cG9ydHMsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmdW5jdGlvbmFsVGVtcGxhdGUsXG4gIGluamVjdFN0eWxlcyxcbiAgc2NvcGVJZCxcbiAgbW9kdWxlSWRlbnRpZmllciwgLyogc2VydmVyIG9ubHkgKi9cbiAgc2hhZG93TW9kZSAvKiB2dWUtY2xpIG9ubHkgKi9cbikge1xuICAvLyBWdWUuZXh0ZW5kIGNvbnN0cnVjdG9yIGV4cG9ydCBpbnRlcm9wXG4gIHZhciBvcHRpb25zID0gdHlwZW9mIHNjcmlwdEV4cG9ydHMgPT09ICdmdW5jdGlvbidcbiAgICA/IHNjcmlwdEV4cG9ydHMub3B0aW9uc1xuICAgIDogc2NyaXB0RXhwb3J0c1xuXG4gIC8vIHJlbmRlciBmdW5jdGlvbnNcbiAgaWYgKHJlbmRlcikge1xuICAgIG9wdGlvbnMucmVuZGVyID0gcmVuZGVyXG4gICAgb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnNcbiAgICBvcHRpb25zLl9jb21waWxlZCA9IHRydWVcbiAgfVxuXG4gIC8vIGZ1bmN0aW9uYWwgdGVtcGxhdGVcbiAgaWYgKGZ1bmN0aW9uYWxUZW1wbGF0ZSkge1xuICAgIG9wdGlvbnMuZnVuY3Rpb25hbCA9IHRydWVcbiAgfVxuXG4gIC8vIHNjb3BlZElkXG4gIGlmIChzY29wZUlkKSB7XG4gICAgb3B0aW9ucy5fc2NvcGVJZCA9ICdkYXRhLXYtJyArIHNjb3BlSWRcbiAgfVxuXG4gIHZhciBob29rXG4gIGlmIChtb2R1bGVJZGVudGlmaWVyKSB7IC8vIHNlcnZlciBidWlsZFxuICAgIGhvb2sgPSBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgLy8gMi4zIGluamVjdGlvblxuICAgICAgY29udGV4dCA9XG4gICAgICAgIGNvbnRleHQgfHwgLy8gY2FjaGVkIGNhbGxcbiAgICAgICAgKHRoaXMuJHZub2RlICYmIHRoaXMuJHZub2RlLnNzckNvbnRleHQpIHx8IC8vIHN0YXRlZnVsXG4gICAgICAgICh0aGlzLnBhcmVudCAmJiB0aGlzLnBhcmVudC4kdm5vZGUgJiYgdGhpcy5wYXJlbnQuJHZub2RlLnNzckNvbnRleHQpIC8vIGZ1bmN0aW9uYWxcbiAgICAgIC8vIDIuMiB3aXRoIHJ1bkluTmV3Q29udGV4dDogdHJ1ZVxuICAgICAgaWYgKCFjb250ZXh0ICYmIHR5cGVvZiBfX1ZVRV9TU1JfQ09OVEVYVF9fICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBjb250ZXh0ID0gX19WVUVfU1NSX0NPTlRFWFRfX1xuICAgICAgfVxuICAgICAgLy8gaW5qZWN0IGNvbXBvbmVudCBzdHlsZXNcbiAgICAgIGlmIChpbmplY3RTdHlsZXMpIHtcbiAgICAgICAgaW5qZWN0U3R5bGVzLmNhbGwodGhpcywgY29udGV4dClcbiAgICAgIH1cbiAgICAgIC8vIHJlZ2lzdGVyIGNvbXBvbmVudCBtb2R1bGUgaWRlbnRpZmllciBmb3IgYXN5bmMgY2h1bmsgaW5mZXJyZW5jZVxuICAgICAgaWYgKGNvbnRleHQgJiYgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMpIHtcbiAgICAgICAgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMuYWRkKG1vZHVsZUlkZW50aWZpZXIpXG4gICAgICB9XG4gICAgfVxuICAgIC8vIHVzZWQgYnkgc3NyIGluIGNhc2UgY29tcG9uZW50IGlzIGNhY2hlZCBhbmQgYmVmb3JlQ3JlYXRlXG4gICAgLy8gbmV2ZXIgZ2V0cyBjYWxsZWRcbiAgICBvcHRpb25zLl9zc3JSZWdpc3RlciA9IGhvb2tcbiAgfSBlbHNlIGlmIChpbmplY3RTdHlsZXMpIHtcbiAgICBob29rID0gc2hhZG93TW9kZVxuICAgICAgPyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGluamVjdFN0eWxlcy5jYWxsKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgKG9wdGlvbnMuZnVuY3Rpb25hbCA/IHRoaXMucGFyZW50IDogdGhpcykuJHJvb3QuJG9wdGlvbnMuc2hhZG93Um9vdFxuICAgICAgICApXG4gICAgICB9XG4gICAgICA6IGluamVjdFN0eWxlc1xuICB9XG5cbiAgaWYgKGhvb2spIHtcbiAgICBpZiAob3B0aW9ucy5mdW5jdGlvbmFsKSB7XG4gICAgICAvLyBmb3IgdGVtcGxhdGUtb25seSBob3QtcmVsb2FkIGJlY2F1c2UgaW4gdGhhdCBjYXNlIHRoZSByZW5kZXIgZm4gZG9lc24ndFxuICAgICAgLy8gZ28gdGhyb3VnaCB0aGUgbm9ybWFsaXplclxuICAgICAgb3B0aW9ucy5faW5qZWN0U3R5bGVzID0gaG9va1xuICAgICAgLy8gcmVnaXN0ZXIgZm9yIGZ1bmN0aW9uYWwgY29tcG9uZW50IGluIHZ1ZSBmaWxlXG4gICAgICB2YXIgb3JpZ2luYWxSZW5kZXIgPSBvcHRpb25zLnJlbmRlclxuICAgICAgb3B0aW9ucy5yZW5kZXIgPSBmdW5jdGlvbiByZW5kZXJXaXRoU3R5bGVJbmplY3Rpb24gKGgsIGNvbnRleHQpIHtcbiAgICAgICAgaG9vay5jYWxsKGNvbnRleHQpXG4gICAgICAgIHJldHVybiBvcmlnaW5hbFJlbmRlcihoLCBjb250ZXh0KVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpbmplY3QgY29tcG9uZW50IHJlZ2lzdHJhdGlvbiBhcyBiZWZvcmVDcmVhdGUgaG9va1xuICAgICAgdmFyIGV4aXN0aW5nID0gb3B0aW9ucy5iZWZvcmVDcmVhdGVcbiAgICAgIG9wdGlvbnMuYmVmb3JlQ3JlYXRlID0gZXhpc3RpbmdcbiAgICAgICAgPyBbXS5jb25jYXQoZXhpc3RpbmcsIGhvb2spXG4gICAgICAgIDogW2hvb2tdXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBleHBvcnRzOiBzY3JpcHRFeHBvcnRzLFxuICAgIG9wdGlvbnM6IG9wdGlvbnNcbiAgfVxufVxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9Qb3BvdmVyTWVudS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MGEwZWI3MTkmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vUG9wb3Zlck1lbnUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9Qb3BvdmVyTWVudS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vUG9wb3Zlck1lbnUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MGEwZWI3MTkmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIwYTBlYjcxOVwiLFxuICBudWxsXG4gIFxuKVxuXG4vKiBjdXN0b20gYmxvY2tzICovXG5pbXBvcnQgYmxvY2swIGZyb20gXCIuL1BvcG92ZXJNZW51LnZ1ZT92dWUmdHlwZT1jdXN0b20maW5kZXg9MCZibG9ja1R5cGU9ZG9jc1wiXG5pZiAodHlwZW9mIGJsb2NrMCA9PT0gJ2Z1bmN0aW9uJykgYmxvY2swKGNvbXBvbmVudClcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnMGEwZWI3MTknKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnMGEwZWI3MTknLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnMGEwZWI3MTknLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL1BvcG92ZXJNZW51LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0wYTBlYjcxOSZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCcwYTBlYjcxOScsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL2NvbXBvbmVudHMvUG9wb3Zlck1lbnUvUG9wb3Zlck1lbnUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BvcG92ZXJNZW51LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BvcG92ZXJNZW51LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZXNvbHZlLXVybC1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEtMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BvcG92ZXJNZW51LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTBhMGViNzE5Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Qb3BvdmVyTWVudS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MGEwZWI3MTkmc2NvcGVkPXRydWUmXCIiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL1BvcG92ZXJNZW51SXRlbS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NTEyZWE3Njgmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9Qb3BvdmVyTWVudUl0ZW0udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NTEyZWE3Njgmc2NvcGVkPXRydWUmbGFuZz1jc3MmXCJcbmltcG9ydCBzdHlsZTEgZnJvbSBcIi4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0xJmlkPTUxMmVhNzY4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNTEyZWE3NjhcIixcbiAgbnVsbFxuICBcbilcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL3Rvb2xzL25leHRjbG91ZC12dWUvbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzXCIpXG4gIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKVxuICBpZiAoYXBpLmNvbXBhdGlibGUpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpXG4gICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNTEyZWE3NjgnKSkge1xuICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnNTEyZWE3NjgnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbG9hZCgnNTEyZWE3NjgnLCBjb21wb25lbnQub3B0aW9ucylcbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoXCIuL1BvcG92ZXJNZW51SXRlbS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NTEyZWE3Njgmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignNTEyZWE3NjgnLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInNyYy9jb21wb25lbnRzL1BvcG92ZXJNZW51L1BvcG92ZXJNZW51SXRlbS52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BvcG92ZXJNZW51SXRlbS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS11cmwtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTUxMmVhNzY4JnNjb3BlZD10cnVlJmxhbmc9Y3NzJlwiIiwiZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc29sdmUtdXJsLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMS0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUG9wb3Zlck1lbnVJdGVtLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0xJmlkPTUxMmVhNzY4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Qb3BvdmVyTWVudUl0ZW0udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTUxMmVhNzY4JnNjb3BlZD10cnVlJlwiIiwiLyoqXG4gKiBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gKlxuICogQGxpY2Vuc2UgR05VIEFHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKlxuICovXG5pbXBvcnQgUG9wb3Zlck1lbnUgZnJvbSAnLi9Qb3BvdmVyTWVudSdcblxuZXhwb3J0IGRlZmF1bHQgUG9wb3Zlck1lbnVcbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5pdGVyYXRvci5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLnRvLXN0cmluZy5qc1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLml0ZXJhdG9yLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLml0ZXJhdG9yLmpzXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLmpzXCIpOyJdLCJzb3VyY2VSb290IjoiIn0="],"sourceRoot":""}