-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path4144.46b20896.iframe.bundle.js
2 lines (2 loc) · 129 KB
/
4144.46b20896.iframe.bundle.js
1
2
"use strict";(self.webpackChunkblockly_mooc=self.webpackChunkblockly_mooc||[]).push([[4144],{"./src/code-studio/hiddenLessonRedux.js":(__unused_webpack_module,exports,__webpack_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.STUDENT_SECTION_ID=void 0,exports.default=function reducer(){var state=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new HiddenState,action=arguments.length>1?arguments[1]:void 0;if(action.type===SET_HIDDEN_LESSONS){var hiddenLessonsPerSection=action.hiddenLessonsPerSection,hideableLessonsAllowed=action.hideableLessonsAllowed,sectionIds=Object.keys(hiddenLessonsPerSection),nextState=state;return sectionIds.forEach((function(sectionId){hiddenLessonsPerSection[sectionId].forEach((function(lessonId){nextState=nextState.setIn(["lessonsBySection",sectionId,lessonId.toString()],!0)}))})),validateSectionIds(nextState),nextState.merge({hiddenLessonsInitialized:!0,hideableLessonsAllowed})}if(action.type===UPDATE_HIDDEN_LESSON){var sectionId=action.sectionId,lessonId=action.lessonId,hidden=action.hidden,_nextState=state.setIn(["lessonsBySection",sectionId,lessonId.toString()],hidden);return validateSectionIds(_nextState),_nextState}if(action.type===UPDATE_HIDDEN_SCRIPT){var _sectionId=action.sectionId,scriptId=action.scriptId,_hidden=action.hidden,_nextState2=state.setIn(["scriptsBySection",_sectionId.toString(),scriptId.toString()],_hidden);return validateSectionIds(_nextState2),_nextState2}return state},exports.getHiddenLessons=function getHiddenLessons(scriptName,canHideLessons){return function(dispatch){_jquery.default.ajax({type:"GET",url:"/s/".concat(scriptName,"/hidden_lessons"),dataType:"json",contentType:"application/json"}).done((function(response){return dispatch(function initializeHiddenLessons(data,canHideLessons){return function(dispatch){Array.isArray(data)&&(data=_defineProperty({},STUDENT_SECTION_ID,data)),dispatch(setHiddenLessons(data,!!canHideLessons))}}(response,canHideLessons))})).fail((function(err){return console.error(err)}))}},exports.initializeHiddenScripts=function initializeHiddenScripts(data){return function(dispatch){data&&(Array.isArray(data)&&(data=_defineProperty({},STUDENT_SECTION_ID,data)),Object.keys(data).forEach((function(sectionId){data[sectionId].forEach((function(scriptId){dispatch(updateHiddenScript(sectionId,scriptId,!0))}))})))}},exports.isLessonHiddenForSection=function isLessonHiddenForSection(state,sectionId,lessonId){return isHiddenForSection(state,sectionId,lessonId,"lessonsBySection")},exports.isScriptHiddenForSection=function isScriptHiddenForSection(state,sectionId,scriptId){return isHiddenForSection(state,sectionId,scriptId,"scriptsBySection")},exports.setHiddenLessons=setHiddenLessons,exports.toggleHiddenLesson=function toggleHiddenLesson(scriptName,sectionId,lessonId,hidden){return function(dispatch){dispatch(updateHiddenLesson(sectionId,lessonId,hidden)),postToggleHidden(scriptName,sectionId,lessonId,hidden)}},exports.toggleHiddenScript=function toggleHiddenScript(scriptName,sectionId,scriptId,hidden){return function(dispatch){dispatch(updateHiddenScript(sectionId,scriptId,hidden)),postToggleHidden(scriptName,sectionId,null,hidden)}},exports.updateHiddenLesson=updateHiddenLesson,exports.updateHiddenScript=updateHiddenScript;var _immutable=_interopRequireDefault(__webpack_require__("./node_modules/immutable/dist/immutable.js")),_jquery=_interopRequireDefault(__webpack_require__("./node_modules/jquery/dist/jquery.js"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(o){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _defineProperty(e,r,t){return(r=function _toPropertyKey(t){var i=function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==_typeof(i)?i:i+""}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var SET_HIDDEN_LESSONS="hiddenLesson/SET_HIDDEN_LESSONS",UPDATE_HIDDEN_LESSON="hiddenLesson/UPDATE_HIDDEN_LESSON",UPDATE_HIDDEN_SCRIPT="hiddenLesson/UPDATE_HIDDEN_SCRIPT",STUDENT_SECTION_ID=exports.STUDENT_SECTION_ID="STUDENT",HiddenState=_immutable.default.Record({hiddenLessonsInitialized:!1,hideableLessonsAllowed:!1,lessonsBySection:_immutable.default.Map({}),scriptsBySection:_immutable.default.Map({})});function validateSectionIds(state){if(state.getIn(["lessonsBySection",STUDENT_SECTION_ID])&&state.get("lessonsBySection").size>1)throw new Error("Should never have STUDENT_SECTION_ID alongside other sectionIds")}function setHiddenLessons(hiddenLessonsPerSection,hideableLessonsAllowed){return{type:SET_HIDDEN_LESSONS,hiddenLessonsPerSection,hideableLessonsAllowed}}function updateHiddenLesson(sectionId,lessonId,hidden){return{type:UPDATE_HIDDEN_LESSON,sectionId,lessonId,hidden}}function updateHiddenScript(sectionId,scriptId,hidden){return{type:UPDATE_HIDDEN_SCRIPT,sectionId,scriptId,hidden}}function postToggleHidden(scriptName,sectionId,lessonId,hidden){var data={section_id:sectionId,hidden};lessonId&&(data.stage_id=lessonId),_jquery.default.ajax({type:"POST",url:"/s/".concat(scriptName,"/toggle_hidden"),dataType:"json",contentType:"application/json",data:JSON.stringify(data)}).success((function(){window.__TestInterface=window.__TestInterface||{},window.__TestInterface.toggleHiddenUnitComplete=!0}))}function isHiddenForSection(state,sectionId,itemId,bySectionKey){return!!itemId&&(sectionId||(sectionId=STUDENT_SECTION_ID),!!state.get(bySectionKey).getIn([sectionId.toString(),itemId.toString()]))}},"./src/sharedComponents/AccessibleDialog.jsx":(module,exports,__webpack_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _closeButton=_interopRequireDefault(__webpack_require__("../frontend/packages/component-library/dist/cjs/closeButton/index.js")),_classnames=_interopRequireDefault(__webpack_require__("./node_modules/classnames/index.js")),_focusTrapReact=_interopRequireDefault(__webpack_require__("./node_modules/focus-trap-react/dist/focus-trap-react.js")),_propTypes=_interopRequireDefault(__webpack_require__("./node_modules/prop-types/index.js")),_react=_interopRequireDefault(__webpack_require__("./node_modules/react/index.js")),_CloseOnEscape=_interopRequireDefault(__webpack_require__("./src/templates/CloseOnEscape.jsx")),_locale=_interopRequireDefault(__webpack_require__("./src/util/locale-do-not-import.js")),_accessibleDialogueModule=_interopRequireDefault(__webpack_require__("./src/sharedComponents/accessible-dialogue.module.scss"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function AccessibleDialog(_ref){var id=_ref.id,styles=_ref.styles,onClose=_ref.onClose,onDismiss=_ref.onDismiss,children=_ref.children,className=_ref.className,fallbackFocus=_ref.fallbackFocus,_ref$initialFocus=_ref.initialFocus,initialFocus=void 0===_ref$initialFocus||_ref$initialFocus,_ref$closeOnClickBack=_ref.closeOnClickBackdrop,closeOnClickBackdrop=void 0!==_ref$closeOnClickBack&&_ref$closeOnClickBack,_ref$onDeactivate=_ref.onDeactivate,onDeactivate=void 0===_ref$onDeactivate?onClose:_ref$onDeactivate,_ref$noMC=_ref.noMC,noMC=void 0!==_ref$noMC&&_ref$noMC,modalStyle=(null==styles?void 0:styles.modal)||_accessibleDialogueModule.default.modal,backdropStyle=(null==styles?void 0:styles.modalBackdrop)||_accessibleDialogueModule.default.modalBackdrop,closeIconStyle=(null==styles?void 0:styles.xCloseButton)||_accessibleDialogueModule.default.xCloseButton;closeIconStyle=noMC?[closeIconStyle,"no-mc"]:closeIconStyle;var xIconOnClick=onDismiss||onClose;return _react.default.createElement("div",null,_react.default.createElement("div",{className:backdropStyle}),_react.default.createElement(_CloseOnEscape.default,{handleClose:onClose},_react.default.createElement(_focusTrapReact.default,{focusTrapOptions:{initialFocus,onDeactivate,clickOutsideDeactivates:closeOnClickBackdrop,fallbackFocus}},_react.default.createElement("div",{id,"aria-modal":!0,"aria-labelledby":"".concat(id,"-title"),className:(0,_classnames.default)(modalStyle,className),role:"dialog"},_react.default.createElement(_closeButton.default,{id:"ui-close-dialog",className:closeIconStyle,"aria-label":_locale.default.closeDialog(),onClick:xIconOnClick}),children))))}AccessibleDialog.propTypes={id:_propTypes.default.string,styles:_propTypes.default.object,onClose:_propTypes.default.func.isRequired,onDismiss:_propTypes.default.func,children:_propTypes.default.node,className:_propTypes.default.string,fallbackFocus:_propTypes.default.string,initialFocus:_propTypes.default.bool,closeOnClickBackdrop:_propTypes.default.bool,onDeactivate:_propTypes.default.func,noMC:_propTypes.default.bool};exports.default=AccessibleDialog;module.exports=exports.default},"./src/templates/CloseOnEscape.jsx":(module,exports,__webpack_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _propTypes=_interopRequireDefault(__webpack_require__("./node_modules/prop-types/index.js")),_react=_interopRequireDefault(__webpack_require__("./node_modules/react/index.js"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var CloseOnEscape=function CloseOnEscape(_ref){var handleClose=_ref.handleClose,className=_ref.className,children=_ref.children;return _react.default.createElement("div",{className,onKeyDown:function handleKeyDown(event){"Escape"===event.key&&handleClose(event)}},children)};CloseOnEscape.propTypes={handleClose:_propTypes.default.func.isRequired,children:_propTypes.default.node,className:_propTypes.default.string};exports.default=CloseOnEscape;module.exports=exports.default},"./src/templates/MultipleSectionsAssigner.jsx":(__unused_webpack_module,exports,__webpack_require__)=>{function _typeof(o){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.UnconnectedMultipleSectionsAssigner=void 0;var _checkbox=_interopRequireDefault(__webpack_require__("../frontend/packages/component-library/dist/cjs/checkbox/index.js")),_typography=__webpack_require__("../frontend/packages/component-library/dist/cjs/typography/index.js"),_propTypes=_interopRequireDefault(__webpack_require__("./node_modules/prop-types/index.js")),_react=function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u]}return n.default=e,t&&t.set(e,n),n}(__webpack_require__("./node_modules/react/index.js")),_reactRedux=__webpack_require__("./node_modules/react-redux/es/index.js"),_hiddenLessonRedux=__webpack_require__("./src/code-studio/hiddenLessonRedux.js"),_Button=_interopRequireDefault(__webpack_require__("./src/legacySharedComponents/Button.jsx")),_AccessibleDialog=_interopRequireDefault(__webpack_require__("./src/sharedComponents/AccessibleDialog.jsx")),_shapes=__webpack_require__("./src/templates/teacherDashboard/shapes.jsx"),_teacherSectionsRedux=__webpack_require__("./src/templates/teacherDashboard/teacherSectionsRedux.ts"),_locale=_interopRequireDefault(__webpack_require__("./src/util/locale-do-not-import.js")),_multipleSectionsAssignerModule=_interopRequireDefault(__webpack_require__("./src/templates/multiple-sections-assigner.module.scss"));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,t=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r})(e)}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(r){return function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}(r)||function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||_unsupportedIterableToArray(r)||function _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.")}()}function _slicedToArray(r,e){return function _arrayWithHoles(r){if(Array.isArray(r))return r}(r)||function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==u))return}finally{if(o)throw n}}return a}}(r,e)||_unsupportedIterableToArray(r,e)||function _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.")}()}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}var MultipleSectionsAssigner=function MultipleSectionsAssigner(_ref){var courseId=_ref.courseId,assignmentName=_ref.assignmentName,onClose=_ref.onClose,courseOfferingId=_ref.courseOfferingId,courseVersionId=_ref.courseVersionId,scriptId=_ref.scriptId,_ref$reassignConfirm=_ref.reassignConfirm,reassignConfirm=void 0===_ref$reassignConfirm?function(){}:_ref$reassignConfirm,isAssigningCourse=_ref.isAssigningCourse,isStandAloneUnit=_ref.isStandAloneUnit,participantAudience=_ref.participantAudience,onAssignSuccess=_ref.onAssignSuccess,_ref$sectionDirection=_ref.sectionDirections,sectionDirections=void 0===_ref$sectionDirection?_locale.default.chooseSectionsDirections():_ref$sectionDirection,sections=_ref.sections,unassignSection=_ref.unassignSection,assignToSection=_ref.assignToSection,updateHiddenScript=_ref.updateHiddenScript,sectionHasNewData=_ref.sectionHasNewData,_useState2=_slicedToArray((0,_react.useState)([]),2),currentSectionsAssigned=_useState2[0],setCurrentSectionsAssigned=_useState2[1],initialSectionsAssigned=_react.default.useMemo((function(){var initialSectionsAssigned=[];if(isAssigningCourse){if(isAssigningCourse)for(var _i2=0;_i2<sections.length;_i2++)courseId===sections[_i2].courseId&&initialSectionsAssigned.push(sections[_i2])}else if(isStandAloneUnit)for(var i=0;i<sections.length;i++)courseVersionId===sections[i].courseVersionId&&initialSectionsAssigned.push(sections[i]);else for(var _i=0;_i<sections.length;_i++)scriptId===sections[_i].unitId&&initialSectionsAssigned.push(sections[_i]);return setCurrentSectionsAssigned(initialSectionsAssigned),initialSectionsAssigned}),[isAssigningCourse,isStandAloneUnit,sections,courseId,scriptId,courseVersionId]),unhideAndAssignUnit=function unhideAndAssignUnit(section){var sectionId=section.id;updateHiddenScript(sectionId,scriptId,!1),assignToSectionWithConfirmation(sectionId,courseId,courseOfferingId,courseVersionId,scriptId)},assignCourseWithoutUnit=function assignCourseWithoutUnit(section){var sectionId=section.id;assignToSectionWithConfirmation(sectionId,courseId,courseOfferingId,courseVersionId,null)},assignToSectionWithConfirmation=function assignToSectionWithConfirmation(sectionId,courseId,courseOfferingId,courseVersionId,scriptId){onAssignSuccess?assignToSection(sectionId,courseId,courseOfferingId,courseVersionId,scriptId).then(onAssignSuccess):assignToSection(sectionId,courseId,courseOfferingId,courseVersionId,scriptId)};return _react.default.createElement(_AccessibleDialog.default,{className:_multipleSectionsAssignerModule.default.popUpContainer,onClose},_react.default.createElement("div",{role:"region","aria-label":_locale.default.directionsForAssigningSections(),className:_multipleSectionsAssignerModule.default.information},_react.default.createElement("div",{className:_multipleSectionsAssignerModule.default.modalHeader},_react.default.createElement(_typography.Heading3,null,_locale.default.chooseSectionsPrompt({assignmentName}))),_react.default.createElement("div",{className:_multipleSectionsAssignerModule.default.sectionsDirections},_react.default.createElement(_typography.BodyTwoText,null,sectionDirections)),_react.default.createElement("div",{className:_multipleSectionsAssignerModule.default.sectionList},_react.default.createElement(_typography.Heading5,null,_locale.default.yourSectionsList()),_react.default.createElement("div",{className:_multipleSectionsAssignerModule.default.sectionListOptionsContainer},sections&§ions.map((function(section){return function isAssignableToSection(sectionParticipantType){return sectionParticipantType===participantAudience}(section.participantType)&&_react.default.createElement(_checkbox.default,{key:section.id,checked:!!currentSectionsAssigned.some((function(s){return s.code===section.code})),onChange:function onChange(){return function handleChangedCheckbox(currentSection){if(currentSectionsAssigned.some((function(s){return s.code===currentSection.code}))){var newList=currentSectionsAssigned.filter((function(s){return s.code!==currentSection.code}));setCurrentSectionsAssigned(newList)}else{var _newList=_toConsumableArray(currentSectionsAssigned);_newList.push(currentSection),setCurrentSectionsAssigned(_newList)}}(section)},name:section.id,label:section.name})}))),_react.default.createElement(_Button.default,{id:"select-all-sections",text:_locale.default.selectAll(),onClick:function selectAllHandler(){for(var newSectionsAssigned=_toConsumableArray(currentSectionsAssigned),_loop3=function _loop3(i){!currentSectionsAssigned.some((function(s){return s.code===sections[i].code}))&&newSectionsAssigned.push(sections[i])},i=0;i<sections.length;i++)_loop3(i);setCurrentSectionsAssigned(newSectionsAssigned)},styleAsText:!0,color:_Button.default.ButtonColor.brandSecondaryDefault}))),_react.default.createElement("div",{className:_multipleSectionsAssignerModule.default.buttonContainer},_react.default.createElement(_Button.default,{text:_locale.default.dialogCancel(),onClick:onClose,color:_Button.default.ButtonColor.neutralDark}),_react.default.createElement(_Button.default,{id:"confirm-assign",text:_locale.default.confirmAssignment(),onClick:function reassignSections(){for(var _loop=function _loop(i){if(!initialSectionsAssigned.some((function(s){return s.code===currentSectionsAssigned[i].code}))){if(isAssigningCourse){var sectionId=currentSectionsAssigned[i].id;assignToSectionWithConfirmation(sectionId,courseId,courseOfferingId,courseVersionId,scriptId)}else unhideAndAssignUnit(currentSectionsAssigned[i]);sectionHasNewData()}},i=0;i<currentSectionsAssigned.length;i++)_loop(i);for(var _loop2=function _loop2(_i3){!currentSectionsAssigned.some((function(s){return s.code===initialSectionsAssigned[_i3].code}))&&(isAssigningCourse||isStandAloneUnit?unassignSection(initialSectionsAssigned[_i3].id,""):assignCourseWithoutUnit(initialSectionsAssigned[_i3]))},_i3=0;_i3<initialSectionsAssigned.length;_i3++)_loop2(_i3);reassignConfirm(),onClose()},color:_Button.default.ButtonColor.brandSecondaryDefault})))};MultipleSectionsAssigner.propTypes={courseId:_propTypes.default.number,assignmentName:_propTypes.default.string.isRequired,onClose:_propTypes.default.func.isRequired,courseOfferingId:_propTypes.default.number,courseVersionId:_propTypes.default.number,scriptId:_propTypes.default.number,reassignConfirm:_propTypes.default.func,isAssigningCourse:_propTypes.default.bool.isRequired,isStandAloneUnit:_propTypes.default.bool,participantAudience:_propTypes.default.string,onAssignSuccess:_propTypes.default.func,sectionDirections:_propTypes.default.string,sections:_propTypes.default.arrayOf(_shapes.sectionForDropdownShape).isRequired,unassignSection:_propTypes.default.func.isRequired,assignToSection:_propTypes.default.func.isRequired,updateHiddenScript:_propTypes.default.func.isRequired,sectionHasNewData:_propTypes.default.func.isRequired};exports.UnconnectedMultipleSectionsAssigner=MultipleSectionsAssigner,exports.default=(0,_reactRedux.connect)((function(state){return{}}),{assignToSection:_teacherSectionsRedux.assignToSection,updateHiddenScript:_hiddenLessonRedux.updateHiddenScript,unassignSection:_teacherSectionsRedux.unassignSection,sectionHasNewData:_teacherSectionsRedux.sectionHasNewData})(MultipleSectionsAssigner)},"./src/templates/teacherDashboard/shapes.jsx":(__unused_webpack_module,exports,__webpack_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.sortableSectionShape=exports.sectionShape=exports.sectionForDropdownShape=exports.loadErrorShape=exports.classroomShape=exports.assignmentUnitShape=exports.assignmentCourseVersionShape=exports.assignmentCourseOfferingShape=void 0;var _propTypes=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(__webpack_require__("./node_modules/prop-types/index.js")),_sharedConstants=__webpack_require__("./generated-scripts/sharedConstants.ts");exports.sectionShape=_propTypes.default.shape({id:_propTypes.default.number.isRequired,name:_propTypes.default.string.isRequired,createdAt:_propTypes.default.string,loginType:_propTypes.default.oneOf(Object.keys(_sharedConstants.SectionLoginType)),lessonExtras:_propTypes.default.bool.isRequired,pairingAllowed:_propTypes.default.bool.isRequired,ttsAutoplayEnabled:_propTypes.default.bool.isRequired,studentCount:_propTypes.default.number.isRequired,code:_propTypes.default.string.isRequired,courseOfferingId:_propTypes.default.number,courseVersionId:_propTypes.default.number,unitId:_propTypes.default.number,courseId:_propTypes.default.number,scriptId:_propTypes.default.number,grades:_propTypes.default.arrayOf(_propTypes.default.string),providerManaged:_propTypes.default.bool.isRequired,restrictSection:_propTypes.default.bool,postMilestoneDisabled:_propTypes.default.bool,syncEnabled:_propTypes.default.bool}),exports.assignmentUnitShape=_propTypes.default.shape({id:_propTypes.default.number.isRequired,name:_propTypes.default.string.isRequired,path:_propTypes.default.string.isRequired,lesson_extras_available:_propTypes.default.bool.isRequired,text_to_speech_enabled:_propTypes.default.bool.isRequired,position:_propTypes.default.number}),exports.assignmentCourseVersionShape=_propTypes.default.shape({id:_propTypes.default.number.isRequired,key:_propTypes.default.string.isRequired,version_year:_propTypes.default.string.isRequired,content_root_id:_propTypes.default.number.isRequired,name:_propTypes.default.string.isRequired,path:_propTypes.default.string.isRequired,type:_propTypes.default.string.isRequired,is_stable:_propTypes.default.bool.isRequired,is_recommended:_propTypes.default.bool.isRequired,locales:_propTypes.default.array,units:_propTypes.default.object.isRequired}),exports.assignmentCourseOfferingShape=_propTypes.default.shape({elementary:_propTypes.default.object,high:_propTypes.default.object,hoc:_propTypes.default.object,middle:_propTypes.default.object}),exports.classroomShape=_propTypes.default.shape({id:_propTypes.default.string.isRequired,name:_propTypes.default.string.isRequired,section:_propTypes.default.string,enrollment_code:_propTypes.default.string.isRequired,course_state:_propTypes.default.string}),exports.loadErrorShape=_propTypes.default.shape({status:_propTypes.default.number.isRequired,message:_propTypes.default.string.isRequired}),exports.sortableSectionShape=_propTypes.default.shape({id:_propTypes.default.number.isRequired,name:_propTypes.default.string.isRequired,courseVersionName:_propTypes.default.string,courseDisplayName:_propTypes.default.string,loginType:_propTypes.default.oneOf(Object.keys(_sharedConstants.SectionLoginType)).isRequired,studentCount:_propTypes.default.number.isRequired,code:_propTypes.default.string.isRequired,grades:_propTypes.default.arrayOf(_propTypes.default.string),providerManaged:_propTypes.default.bool.isRequired,hidden:_propTypes.default.bool.isRequired,assignmentName:_propTypes.default.arrayOf(_propTypes.default.string),assignmentPath:_propTypes.default.arrayOf(_propTypes.default.string)}),exports.sectionForDropdownShape=_propTypes.default.shape({id:_propTypes.default.number.isRequired,name:_propTypes.default.string.isRequired,isAssigned:_propTypes.default.bool.isRequired})},"./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./src/sharedComponents/accessible-dialogue.module.scss":(module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{A:()=>__WEBPACK_DEFAULT_EXPORT__});var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/css-loader/dist/runtime/sourceMaps.js"),_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js"),___CSS_LOADER_EXPORT___=__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__)()(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default());___CSS_LOADER_EXPORT___.push([module.id,".tNW_TQi0C3Lql6uKCWdt{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000;opacity:.6;z-index:1250}.wN65B8UBIENjR7G7wzwd{position:fixed;top:10%;left:50%;transform:translateX(-50%);z-index:1350;width:70%;max-width:600px;background-color:#fff;color:#333;border-radius:4px;padding:1rem;overflow:auto}.krwikY2iwGe_cXQHRFBK{background:none;color:inherit;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit;box-shadow:none;position:absolute;top:1rem;inset-inline-end:1rem}.krwikY2iwGe_cXQHRFBK i{color:#bec2c7;font-size:1.1875rem;line-height:1.4844rem;width:1.4844rem}.krwikY2iwGe_cXQHRFBK:hover{box-shadow:none;background:none;color:inherit;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit}.krwikY2iwGe_cXQHRFBK:hover i{color:#989ea5}.krwikY2iwGe_cXQHRFBK:focus{outline:#009eb0 solid 2px;outline-offset:2px}","",{version:3,sources:["webpack://./src/sharedComponents/accessible-dialogue.module.scss","webpack://./../shared/css/color.scss"],names:[],mappings:"AAEA,sBACE,cAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,qBAAA,CACA,UAAA,CACA,YAAA,CAGF,sBACE,cAAA,CACA,OAAA,CACA,QAAA,CACA,0BAAA,CACA,YAAA,CACA,SAAA,CACA,eAAA,CACA,qBAAA,CACA,UCyDa,CDxDb,iBAAA,CACA,YAAA,CACA,aAAA,CAGF,sBAEE,eAAA,CACA,aAAA,CACA,WAAA,CACA,SAAA,CACA,YAAA,CACA,cAAA,CACA,eAAA,CACA,eAAA,CAEA,iBAAA,CACA,QAAA,CACA,qBAAA,CAEA,wBACE,aC8Ja,CD7Jb,mBAAA,CACA,qBAAA,CACA,eAAA,CAGF,4BAEE,eAAA,CACA,eAAA,CACA,aAAA,CACA,WAAA,CACA,SAAA,CACA,YAAA,CACA,cAAA,CACA,eAAA,CAEA,8BACE,aC8IW,CD1If,4BACE,yBAAA,CACA,kBAAA",sourcesContent:["@import 'color.scss';\n\n.modalBackdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: #000;\n opacity: 0.6;\n z-index: 1250;\n}\n\n.modal {\n position: fixed;\n top: 10%;\n left: 50%;\n transform: translateX(-50%);\n z-index: 1350;\n width: 70%;\n max-width: 600px;\n background-color: #fff;\n color: $default_text;\n border-radius: 4px;\n padding: 1rem;\n overflow: auto;\n}\n\n.xCloseButton {\n // Clear default button styles\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n font: inherit;\n cursor: pointer;\n outline: inherit;\n box-shadow: none;\n\n position: absolute;\n top: 1rem;\n inset-inline-end: 1rem; // Logical property for right in LTR, left in RTL\n\n i {\n color: $light_gray_300;\n font-size: 1.1875rem;\n line-height: 1.4844rem;\n width: 1.4844rem;\n }\n\n &:hover {\n // Clear default button styles\n box-shadow: none;\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n font: inherit;\n cursor: pointer;\n outline: inherit;\n\n i {\n color: $light_gray_500;\n }\n }\n\n &:focus {\n outline: $brand_primary_default solid 2px;\n outline-offset: 2px;\n }\n}\n","// colors from https://www.dropbox.com/s/ycjiwt8vxlmv2ih/Code.org_stylesheet_v2_09.05.13.pdf\n\n// Please keep this file simple; it should only contain color definitions\n// and aliases. Variables defined in this file are exported to\n// apps/src/util/color.js during the apps build process.\n\n$black: #000;\n$background_black: #121416;\n$dark_gray: #2D3139;\n$darkest_gray: #292F36;\n$dark_slate_gray: #282c34;\n$darkest_slate_gray: #25292d;\n$dark_charcoal: #4d575f;\n$charcoal: #5b6770;\n$light_gray: #949ca2;\n$lighter_gray: #c6cacd;\n$lightest_gray: #e7e8ea;\n$background_gray: #f2f2f2;\n$dimgray: #696969;\n$white: #fff;\n$default_blue: #3670b3;\n\n$dark_teal: #0094a3;\n$teal: #0093a4;\n$applab_button_teal: #1abc9c;\n$light_teal: #59cad3;\n$lightish_teal: #80d6de;\n$lighter_teal: #a6e3e8;\n$lightest_teal: #d9f3f5;\n$ai_rubric_cyan: #3cfff8;\n\n$purple: #8c52ba;\n$light_purple: #a69bc1;\n$lighter_purple: #cfc9de;\n$lightest_purple: #ebe8f1;\n\n$cyan: #0094ca;\n$light_cyan: #59b9dc;\n$lighter_cyan: #a6daed;\n$lightest_cyan: #d9eff7;\n$almost_white_cyan: #f5fcff;\n\n$orange: #ffa400;\n$light_orange: #ffc459;\n$lighter_orange: #ffe0a6;\n$lightest_orange: #fff2d9;\n$dark_orange: #ff8600;\n\n$green: #b9bf15;\n$light_green: #d1d567;\n$lighter_green: #e7e9ad;\n$lightest_green: #f5f5dc;\n$highlight_green: #8afc9b;\n\n$yellow: #ffb81d;\n$light_yellow: #ffdb74;\n$lighter_yellow: #ffebb5;\n$lightest_yellow: #fff7df;\n\n$goldenrod: #daa520;\n\n$header_text: $white;\n$bkgnd_color: $teal;\n$inset_color: $lighter_gray;\n$dark_color: $purple;\n$hdr_color: $purple;\n\n// Some extra colors.\n$red: #c00;\n$lightest_red: #fcc;\n$dark_red: #d62911;\n$realgreen: #008000;\n$realyellow: #ff0;\n$mustardyellow: #efcd1c;\n$twitter_blue: #00aced;\n$facebook_blue: #3b5998;\n$linkedin_blue: #0077B5;\n$dark_blue: #00647f;\n$blockly_flyout_gray: #ddd;\n$default_text: #333;\n$border_gray: #bbb;\n$border_light_gray: #d8d8d8;\n$table_header: #ececec;\n$table_light_row: #fcfcfc;\n$table_dark_row: #f4f4f4;\n\n// Progress colors.\n$level_submitted: $purple;\n$level_perfect: rgb(14, 190, 14);\n$level_passed: rgb(159, 212, 159);\n$level_attempted: $realyellow;\n$level_not_tried: #fefefe;\n$level_current: $orange;\n$level_review_rejected: $red;\n$level_review_accepted: rgb(11, 142, 11); // TODO: $level_passed;\n$assessment: $cyan;\n$workspace_running_background: #e5e5e5;\n\n// Experimental Sprite Lab validation colors.\n$dark_purple: #682A77;\n$bright_green: #0ebe0e;\n$neon_pink: #e9118f;\n\n// Links (used in apps).\n$link_color: #0596ce;\n\n// Shadow.\n$shadow: rgba(0, 0, 0, 0.3);\n\n// Colors that are taken from bootstrap, and not necessarily part of our core theme.\n$bootstrap_button_blue: #337ab7;\n$bootstrap_button_red: #d9534f;\n$bootstrap_error_background: #f2dede;\n$bootstrap_error_text: #b94a48;\n$bootstrap_v3_error_text: #a94442;\n$bootstrap_error_border: #ebccd1;\n$bootstrap_warning_background: #fcf8e3;\n$bootstrap_warning_text: #c09853;\n$bootstrap_warning_border: #faebcc;\n$bootstrap_border_color: #cccccc;\n$bootstrap_success_background: #dff0d8;\n$bootstrap_success_text: #468847;\n$bootstrap_success_border: #d6e9c6;\n\n// Colors taken from droplet, not part of our core theme.\n$droplet_light_green: #d3e965;\n$droplet_blue: #64b5f6;\n$droplet_bright_blue: #19c3e1;\n$droplet_yellow: #fff176;\n$droplet_orange: #ffb74d;\n$droplet_red: #f78183;\n$droplet_cyan: #4dd0e1;\n$droplet_pink: #f57ac6;\n$droplet_purple: #bb77c7;\n$droplet_green: #68d995;\n$droplet_white: $white;\n\n// Oceans: deep blue background.\n$oceans_deep_blue: rgb(2, 0, 28);\n\n// Dark theme background (used by default in Music Lab)\n$dark_black: #121212;\n\n// ===----===----===---- Phase 1 Colors: ----===----===----===\n// Brand\n$brand_primary_light: #E0F8F9;\n$brand_primary_default: #009EB0;\n$brand_primary_dark: #007785;\n\n$brand_secondary_light: #E0D1EC;\n$brand_secondary_default: #8C52BA;\n$brand_secondary_dark: #6C468A;\n\n$brand_accent_default: #ED6060;\n\n$brand_teal_5: #DFF2F4;\n\n//Product\n$product_affirmative_default: #3EA33E;\n\n$product_negative_light: #FDEBE9;\n$product_negative_default: #E5311A;\n$product_negative_dark: #AA2513;\n\n$product_caution_default: #F9CB28;\n\n$product_information_default: #007ACC;\n\n// Neutral\n$neutral_white: #FFFFFF;\n$neutral_light: #F7F8FA;\n$neutral_gray10: #EAEBEB;\n$neutral_dark10: #EAECEF;\n$neutral_dark20: #D1D4D8;\n$neutral_dark30: #BEC2C7;\n$neutral_dark40: #ABB0B6;\n$neutral_dark50: #989EA5;\n$neutral_dark60: #858C94;\n$neutral_dark70: #727A83;\n$neutral_dark80: #5F6872;\n$neutral_dark90: #4C5661;\n$neutral_dark: #292F36;\n\n//Brands\n$google_brand_color: #0F9D58;\n$microsoft_brand_color: #FFB900;\n$facebook_brand_color: #3B5998;\n$clever_brand_color: #1464FF;\n\n// ===----===----===---- Design system colors: ----===----===----===\n\n$light_primary_100: #BFE4E8;\n$light_primary_500: #0093A4;\n$light_primary_700: #007785;\n\n$light_secondary_100: #E2D4EE;\n$light_secondary_500: #8C52BA;\n$light_secondary_700: #6C468A;\n\n$light_gray_50: #F7F8FA;\n$light_gray_100: #EAECEF;\n$light_gray_200: #D1D4D8;\n$light_gray_300: #BEC2C7;\n$light_gray_400: #ABB0B6;\n$light_gray_500: #989EA5;\n$light_gray_600: #858C94;\n$light_gray_700: #727A83;\n$light_gray_800: #5F6872;\n$light_gray_900: #4C5661;\n$light_gray_950: #394450;\n\n$light_affirmative_100: #E2F1E2;\n$light_affirmative_500: #3EA33E;\n$light_affirmative_700: #2D742D;\n\n$light_negative_100: #FBE0DD;\n$light_negative_500: #E5311A;\n$light_negative_700: #B24949;\n\n$light_caution_100: #FEF7DF;\n$light_caution_500: #F9CB28;\n$light_caution_700: #C7A220;\n\n$light_accent_100: #FAD7D7;\n$light_accent_500: #ED6060;\n$light_accent_700: #D84C4C;\n\n$light_aqua_100: #CEFFFD;\n$light_aqua_500: #3CFFF8;\n$light_aqua_700: #30CCC6;\n\n$light_orange_100: #FFEDCC;\n$light_orange_500: #FFA400;\n$light_orange_700: #CC8300;\n\n$light_info_100: #DCEFFB;\n$light_info_500: #1892E3;\n$light_info_700: #1375B6;\n\n$light_white: #FFFFFF;\n\n$light_black: #292F36;\n\n$light_black_opacity_90: rgba(41, 47, 54, 0.90);\n$light_black_opacity-80: rgba(41, 47, 54, 0.80);\n$light_black_opacity-70: rgba(41, 47, 54, 0.70);\n$light_black_opacity-60: rgba(41, 47, 54, 0.60);\n$light_black_opacity-50: rgba(41, 47, 54, 0.50);\n$light_black_opacity-40: rgba(41, 47, 54, 0.40);\n$light_black_opacity-30: rgba(41, 47, 54, 0.30);\n$light_black_opacity-20: rgba(41, 47, 54, 0.20);\n$light_black_opacity-10: rgba(41, 47, 54, 0.10);\n"],sourceRoot:""}]),___CSS_LOADER_EXPORT___.locals={modalBackdrop:"tNW_TQi0C3Lql6uKCWdt",modal:"wN65B8UBIENjR7G7wzwd",xCloseButton:"krwikY2iwGe_cXQHRFBK"};const __WEBPACK_DEFAULT_EXPORT__=___CSS_LOADER_EXPORT___},"./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./src/templates/multiple-sections-assigner.module.scss":(module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{A:()=>__WEBPACK_DEFAULT_EXPORT__});var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/css-loader/dist/runtime/sourceMaps.js"),_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js"),___CSS_LOADER_EXPORT___=__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__)()(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default());___CSS_LOADER_EXPORT___.push([module.id,".qgcL7GkURajv9sTPRu00{max-height:80vh !important;overflow:visible !important;padding:30px;padding-bottom:25px}.funQWk3VG3SoQ8c9JEoC{overflow-y:scroll;max-height:70vh}.vi1ZbL5sorsAsEna06hy{font-size:14px;margin:12px 0;padding:12px 0;border:1px solid #989ea5;border-left-width:0;border-right-width:0}.vi1ZbL5sorsAsEna06hy p{margin:0}.KFKkmjS0smsul6UVsVwf{margin:24px 0 12px 0;padding:0 0 5px 5px}.KFKkmjS0smsul6UVsVwf h5{margin-bottom:0}.KFKkmjS0smsul6UVsVwf .iMGH2KDTTulrEXlmP255{display:flex;flex-wrap:wrap;justify-content:space-between;margin:12px 0 4px 0}.KFKkmjS0smsul6UVsVwf .iMGH2KDTTulrEXlmP255 label{width:280px;margin-bottom:8px}.fXlR037_fLeOxLi1uxoc h3{margin-bottom:0}.lEhcsrRpv41eQ25NRAHv{display:flex;justify-content:space-between;border-top:1px solid #989ea5;padding-top:10px}","",{version:3,sources:["webpack://./src/templates/multiple-sections-assigner.module.scss"],names:[],mappings:"AAEA,sBACE,0BAAA,CACA,2BAAA,CACA,YAAA,CACA,mBAAA,CAGF,sBACE,iBAAA,CACA,eAAA,CAGF,sBACE,cAAA,CACA,aAAA,CACA,cAAA,CACA,wBAAA,CACA,mBAAA,CACA,oBAAA,CAEA,wBACE,QAAA,CAIJ,sBACE,oBAAA,CACA,mBAAA,CAEA,yBACE,eAAA,CAGF,4CACE,YAAA,CACA,cAAA,CACA,6BAAA,CACA,mBAAA,CAEA,kDACE,WAAA,CACA,iBAAA,CAKN,yBACE,eAAA,CAGF,sBACE,YAAA,CACA,6BAAA,CACA,4BAAA,CACA,gBAAA",sourcesContent:['@import "color";\n\n.popUpContainer{\n max-height: 80vh !important;\n overflow: visible !important;\n padding: 30px;\n padding-bottom: 25px\n}\n\n.information{\n overflow-y: scroll;\n max-height: 70vh;\n}\n\n.sectionsDirections {\n font-size: 14px;\n margin: 12px 0;\n padding: 12px 0;\n border: 1px solid $neutral_dark50;\n border-left-width: 0;\n border-right-width: 0;\n\n p {\n margin: 0;\n }\n}\n\n.sectionList {\n margin: 24px 0 12px 0;\n padding: 0 0 5px 5px;\n\n h5 {\n margin-bottom: 0;\n }\n\n .sectionListOptionsContainer {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n margin: 12px 0 4px 0;\n\n label {\n width: 280px;\n margin-bottom: 8px;\n }\n }\n}\n \n.modalHeader h3 {\n margin-bottom: 0;\n}\n\n.buttonContainer {\n display: flex;\n justify-content: space-between;\n border-top: 1px solid $neutral_dark50;\n padding-top: 10px;\n}\n'],sourceRoot:""}]),___CSS_LOADER_EXPORT___.locals={popUpContainer:"qgcL7GkURajv9sTPRu00",information:"funQWk3VG3SoQ8c9JEoC",sectionsDirections:"vi1ZbL5sorsAsEna06hy",sectionList:"KFKkmjS0smsul6UVsVwf",sectionListOptionsContainer:"iMGH2KDTTulrEXlmP255",modalHeader:"fXlR037_fLeOxLi1uxoc",buttonContainer:"lEhcsrRpv41eQ25NRAHv"};const __WEBPACK_DEFAULT_EXPORT__=___CSS_LOADER_EXPORT___},"./src/sharedComponents/accessible-dialogue.module.scss":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});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__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/style-loader/dist/runtime/styleDomAPI.js"),_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__),_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/style-loader/dist/runtime/insertBySelector.js"),_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__),_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"),_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__),_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/style-loader/dist/runtime/insertStyleElement.js"),_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__),_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/style-loader/dist/runtime/styleTagTransform.js"),_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__),_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_accessible_dialogue_module_scss__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./src/sharedComponents/accessible-dialogue.module.scss"),options={};options.styleTagTransform=_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default(),options.setAttributes=_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default(),options.insert=_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null,"head"),options.domAPI=_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default(),options.insertStyleElement=_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default();_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_accessible_dialogue_module_scss__WEBPACK_IMPORTED_MODULE_6__.A,options);const __WEBPACK_DEFAULT_EXPORT__=_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_accessible_dialogue_module_scss__WEBPACK_IMPORTED_MODULE_6__.A&&_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_accessible_dialogue_module_scss__WEBPACK_IMPORTED_MODULE_6__.A.locals?_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_accessible_dialogue_module_scss__WEBPACK_IMPORTED_MODULE_6__.A.locals:void 0},"./src/templates/multiple-sections-assigner.module.scss":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});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__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/style-loader/dist/runtime/styleDomAPI.js"),_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__),_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/style-loader/dist/runtime/insertBySelector.js"),_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__),_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"),_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__),_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/style-loader/dist/runtime/insertStyleElement.js"),_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__),_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/style-loader/dist/runtime/styleTagTransform.js"),_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__),_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_multiple_sections_assigner_module_scss__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./src/templates/multiple-sections-assigner.module.scss"),options={};options.styleTagTransform=_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default(),options.setAttributes=_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default(),options.insert=_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null,"head"),options.domAPI=_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default(),options.insertStyleElement=_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default();_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_multiple_sections_assigner_module_scss__WEBPACK_IMPORTED_MODULE_6__.A,options);const __WEBPACK_DEFAULT_EXPORT__=_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_multiple_sections_assigner_module_scss__WEBPACK_IMPORTED_MODULE_6__.A&&_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_multiple_sections_assigner_module_scss__WEBPACK_IMPORTED_MODULE_6__.A.locals?_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_multiple_sections_assigner_module_scss__WEBPACK_IMPORTED_MODULE_6__.A.locals:void 0}}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUVoQiwyR0FBSSx5TEFBU0wsU0FLbkIsaUNBQWUsMExBQVcseUxBQVFELE9BQVMseUxBQVFBLFlBQVM1VCxDLHU5RkNmL0Q2VCxRQUFVLENBQUMsRUFFZkEsUUFBUUMsa0JBQW9CLG9HQUM1QkQsUUFBUUUsY0FBZ0IsaUhBRWxCRixRQUFRRyxPQUFTLHdHQUFjLEtBQU0sUUFFM0NILFFBQVFJLE9BQVMsOEZBQ2pCSixRQUFRSyxtQkFBcUIscUdBRWhCLDJHQUFJLGdNQUFTTCxTQUtuQixpQ0FBZSxpTUFBVyxnTUFBUUQsT0FBUyxnTUFBUUEsWUFBUzVULEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvY29kZS1zdHVkaW8vaGlkZGVuTGVzc29uUmVkdXguanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3NoYXJlZENvbXBvbmVudHMvQWNjZXNzaWJsZURpYWxvZy5qc3giLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3RlbXBsYXRlcy9DbG9zZU9uRXNjYXBlLmpzeCIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvdGVtcGxhdGVzL011bHRpcGxlU2VjdGlvbnNBc3NpZ25lci5qc3giLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3RlbXBsYXRlcy90ZWFjaGVyRGFzaGJvYXJkL3NoYXBlcy5qc3giLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3NoYXJlZENvbXBvbmVudHMvYWNjZXNzaWJsZS1kaWFsb2d1ZS5tb2R1bGUuc2NzcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvdGVtcGxhdGVzL211bHRpcGxlLXNlY3Rpb25zLWFzc2lnbmVyLm1vZHVsZS5zY3NzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy9zaGFyZWRDb21wb25lbnRzL2FjY2Vzc2libGUtZGlhbG9ndWUubW9kdWxlLnNjc3M/ZjBiNCIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvdGVtcGxhdGVzL211bHRpcGxlLXNlY3Rpb25zLWFzc2lnbmVyLm1vZHVsZS5zY3NzPzQ5ZjEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZWR1Y2VyIGFuZCBhY3Rpb25zIHVzZWQgdG8gdHJhY2sgd2hhdCBzZWN0aW9ucy9zY3JpcHRzIGFyZSBhcmUgaGlkZGVuIG9uIGFcbiAqIHBlciBzZWN0aW9uIGJhc2lzLlxuICovXG5pbXBvcnQgSW1tdXRhYmxlIGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuXG5jb25zdCBTRVRfSElEREVOX0xFU1NPTlMgPSAnaGlkZGVuTGVzc29uL1NFVF9ISURERU5fTEVTU09OUyc7XG5jb25zdCBVUERBVEVfSElEREVOX0xFU1NPTiA9ICdoaWRkZW5MZXNzb24vVVBEQVRFX0hJRERFTl9MRVNTT04nO1xuY29uc3QgVVBEQVRFX0hJRERFTl9TQ1JJUFQgPSAnaGlkZGVuTGVzc29uL1VQREFURV9ISURERU5fU0NSSVBUJztcblxuZXhwb3J0IGNvbnN0IFNUVURFTlRfU0VDVElPTl9JRCA9ICdTVFVERU5UJztcblxuY29uc3QgSGlkZGVuU3RhdGUgPSBJbW11dGFibGUuUmVjb3JkKHtcbiAgaGlkZGVuTGVzc29uc0luaXRpYWxpemVkOiBmYWxzZSxcbiAgaGlkZWFibGVMZXNzb25zQWxsb3dlZDogZmFsc2UsXG4gIC8vIEEgbWFwcGluZywgd2hlcmUgdGhlIGtleSBpcyB0aGUgc2VjdGlvbklkLCBhbmQgdGhlIHZhbHVlIGlzIGEgbWFwcGluZyBmcm9tXG4gIC8vIGxlc3NvbklkIHRvIGEgYm9vbCBpbmRpY2F0aW5nIHdoZXRoZXIgdGhhdCBsZXNzb24gaXMgaGlkZGVuICh0cnVlKSBvciBub3QgKGZhbHNlKVxuICAvLyBUZWFjaGVycyB3aWxsIHBvdGVudGlhbGx5IGhhdmUgYSBudW1iZXIgb2Ygc2VjdGlvbiBpZHMuIEZvciBzdHVkZW50cyB3ZVxuICAvLyB1c2UgYSBzZWN0aW9uSWQgb2YgU1RVREVOVF9TRUNUSU9OX0lELCB3aGljaCByZXByZXNlbnRzIHRoZSBoaWRkZW4gc3RhdGVcbiAgLy8gZm9yIHRoZSBzdHVkZW50IGJhc2VkIG9uIHRoZSBzZWN0aW9ucyB0aGV5IGFyZSBpbi5cbiAgbGVzc29uc0J5U2VjdGlvbjogSW1tdXRhYmxlLk1hcCh7XG4gICAgLy8gW3NlY3Rpb25JZF06IHtcbiAgICAvLyAgIFtsZXNzb25JZF06IHRydWVcbiAgICAvLyB9XG4gIH0pLFxuICAvLyBTYW1lIGFzIGFib3ZlIGJ1dCBmb3IgaGlkaW5nIHNjcmlwdHMgaW4gYSBzZWN0aW9uIGluc3RlYWQgb2YgbGVzc29uc1xuICBzY3JpcHRzQnlTZWN0aW9uOiBJbW11dGFibGUuTWFwKHtcbiAgICAvLyBbc2VjdGlvbklkXToge1xuICAgIC8vICAgW3NjcmlwdElkXTogdHJ1ZVxuICAgIC8vIH1cbiAgfSksXG59KTtcblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhhdCB3ZSBuZXZlciBoYXZlIG11bHRpcGxlIGxlc3NvbnNCeVNlY3Rpb24gaWYgd2UgaGF2ZSBTVFVERU5UX1NFQ1RJT05fSURcbiAqIEB0aHJvd3MgSWYgbmV3IHN0YXRlIGlzIGludmFsaWRcbiAqL1xuZnVuY3Rpb24gdmFsaWRhdGVTZWN0aW9uSWRzKHN0YXRlKSB7XG4gIGlmIChcbiAgICBzdGF0ZS5nZXRJbihbJ2xlc3NvbnNCeVNlY3Rpb24nLCBTVFVERU5UX1NFQ1RJT05fSURdKSAmJlxuICAgIHN0YXRlLmdldCgnbGVzc29uc0J5U2VjdGlvbicpLnNpemUgPiAxXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdTaG91bGQgbmV2ZXIgaGF2ZSBTVFVERU5UX1NFQ1RJT05fSUQgYWxvbmdzaWRlIG90aGVyIHNlY3Rpb25JZHMnXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIEhpZGRlbiBsZXNzb24gcmVkdWNlclxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZWR1Y2VyKHN0YXRlID0gbmV3IEhpZGRlblN0YXRlKCksIGFjdGlvbikge1xuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9ISURERU5fTEVTU09OUykge1xuICAgIGNvbnN0IHtoaWRkZW5MZXNzb25zUGVyU2VjdGlvbiwgaGlkZWFibGVMZXNzb25zQWxsb3dlZH0gPSBhY3Rpb247XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBzZWN0aW9uXG4gICAgY29uc3Qgc2VjdGlvbklkcyA9IE9iamVjdC5rZXlzKGhpZGRlbkxlc3NvbnNQZXJTZWN0aW9uKTtcbiAgICBsZXQgbmV4dFN0YXRlID0gc3RhdGU7XG4gICAgc2VjdGlvbklkcy5mb3JFYWNoKHNlY3Rpb25JZCA9PiB7XG4gICAgICAvLyBBbmQgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggaGlkZGVuIGxlc3NvbiB3aXRoaW4gdGhhdCBzZWN0aW9uXG4gICAgICBjb25zdCBoaWRkZW5MZXNzb25JZHMgPSBoaWRkZW5MZXNzb25zUGVyU2VjdGlvbltzZWN0aW9uSWRdO1xuICAgICAgaGlkZGVuTGVzc29uSWRzLmZvckVhY2gobGVzc29uSWQgPT4ge1xuICAgICAgICBuZXh0U3RhdGUgPSBuZXh0U3RhdGUuc2V0SW4oXG4gICAgICAgICAgWydsZXNzb25zQnlTZWN0aW9uJywgc2VjdGlvbklkLCBsZXNzb25JZC50b1N0cmluZygpXSxcbiAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICB2YWxpZGF0ZVNlY3Rpb25JZHMobmV4dFN0YXRlKTtcblxuICAgIHJldHVybiBuZXh0U3RhdGUubWVyZ2Uoe1xuICAgICAgaGlkZGVuTGVzc29uc0luaXRpYWxpemVkOiB0cnVlLFxuICAgICAgaGlkZWFibGVMZXNzb25zQWxsb3dlZCxcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChhY3Rpb24udHlwZSA9PT0gVVBEQVRFX0hJRERFTl9MRVNTT04pIHtcbiAgICBjb25zdCB7c2VjdGlvbklkLCBsZXNzb25JZCwgaGlkZGVufSA9IGFjdGlvbjtcbiAgICBjb25zdCBuZXh0U3RhdGUgPSBzdGF0ZS5zZXRJbihcbiAgICAgIFsnbGVzc29uc0J5U2VjdGlvbicsIHNlY3Rpb25JZCwgbGVzc29uSWQudG9TdHJpbmcoKV0sXG4gICAgICBoaWRkZW5cbiAgICApO1xuICAgIHZhbGlkYXRlU2VjdGlvbklkcyhuZXh0U3RhdGUpO1xuICAgIHJldHVybiBuZXh0U3RhdGU7XG4gIH1cblxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFVQREFURV9ISURERU5fU0NSSVBUKSB7XG4gICAgY29uc3Qge3NlY3Rpb25JZCwgc2NyaXB0SWQsIGhpZGRlbn0gPSBhY3Rpb247XG4gICAgY29uc3QgbmV4dFN0YXRlID0gc3RhdGUuc2V0SW4oXG4gICAgICBbJ3NjcmlwdHNCeVNlY3Rpb24nLCBzZWN0aW9uSWQudG9TdHJpbmcoKSwgc2NyaXB0SWQudG9TdHJpbmcoKV0sXG4gICAgICBoaWRkZW5cbiAgICApO1xuICAgIHZhbGlkYXRlU2VjdGlvbklkcyhuZXh0U3RhdGUpO1xuICAgIHJldHVybiBuZXh0U3RhdGU7XG4gIH1cblxuICByZXR1cm4gc3RhdGU7XG59XG5cbi8vIGFjdGlvbiBjcmVhdG9yc1xuXG4vKipcbiAqIEBwYXJhbSB7b2JqZWN0fSBoaWRkZW5MZXNzb25zUGVyU2VjdGlvbiAtIE1hcHBpbmcgZnJvbSBzZWN0aW9uSWQgdG8gYSBsaXN0IG9mIGxlc3Nvbklkc1xuICogICB0aGF0IGFyZSBoaWRkZW4gZm9yIHRoYXQgc2VjdGlvbi5cbiAqIEBwYXJhbSB7Ym9vbH0gaGlkZWFibGVMZXNzb25zQWxsb3dlZCAtIFRydWUgaWYgd2UncmUgYWJsZSB0byB0b2dnbGUgaGlkZGVuIGxlc3NvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEhpZGRlbkxlc3NvbnMoXG4gIGhpZGRlbkxlc3NvbnNQZXJTZWN0aW9uLFxuICBoaWRlYWJsZUxlc3NvbnNBbGxvd2VkXG4pIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBTRVRfSElEREVOX0xFU1NPTlMsXG4gICAgaGlkZGVuTGVzc29uc1BlclNlY3Rpb24sXG4gICAgaGlkZWFibGVMZXNzb25zQWxsb3dlZCxcbiAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVIaWRkZW5MZXNzb24oc2VjdGlvbklkLCBsZXNzb25JZCwgaGlkZGVuKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogVVBEQVRFX0hJRERFTl9MRVNTT04sXG4gICAgc2VjdGlvbklkLFxuICAgIGxlc3NvbklkLFxuICAgIGhpZGRlbixcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUhpZGRlblNjcmlwdChzZWN0aW9uSWQsIHNjcmlwdElkLCBoaWRkZW4pIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBVUERBVEVfSElEREVOX1NDUklQVCxcbiAgICBzZWN0aW9uSWQsXG4gICAgc2NyaXB0SWQsXG4gICAgaGlkZGVuLFxuICB9O1xufVxuXG4vKipcbiAqIFRvZ2dsZSB0aGUgaGlkZGVuIHN0YXRlIG9mIGEgcGFydGljdWxhciBsZXNzb24gaW4gYSBzZWN0aW9uLCB1cGRhdGluZyBvdXIgbG9jYWxcbiAqIHN0YXRlIHRvIHJlZmxlY3QgdGhlIGNoYW5nZSwgYW5kIHBvc3RpbmcgdG8gdGhlIHNlcnZlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZUhpZGRlbkxlc3NvbihzY3JpcHROYW1lLCBzZWN0aW9uSWQsIGxlc3NvbklkLCBoaWRkZW4pIHtcbiAgcmV0dXJuIGRpc3BhdGNoID0+IHtcbiAgICAvLyB1cGRhdGUgbG9jYWwgc3RhdGVcbiAgICBkaXNwYXRjaCh1cGRhdGVIaWRkZW5MZXNzb24oc2VjdGlvbklkLCBsZXNzb25JZCwgaGlkZGVuKSk7XG4gICAgcG9zdFRvZ2dsZUhpZGRlbihzY3JpcHROYW1lLCBzZWN0aW9uSWQsIGxlc3NvbklkLCBoaWRkZW4pO1xuICB9O1xufVxuXG4vKipcbiAqIFRvZ2dsZSB0aGUgaGlkZGVuIHN0YXRlIG9mIGEgcGFydGljdWxhciBzY3JpcHQgaW4gYSBzZWN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9nZ2xlSGlkZGVuU2NyaXB0KHNjcmlwdE5hbWUsIHNlY3Rpb25JZCwgc2NyaXB0SWQsIGhpZGRlbikge1xuICByZXR1cm4gZGlzcGF0Y2ggPT4ge1xuICAgIGRpc3BhdGNoKHVwZGF0ZUhpZGRlblNjcmlwdChzZWN0aW9uSWQsIHNjcmlwdElkLCBoaWRkZW4pKTtcbiAgICBwb3N0VG9nZ2xlSGlkZGVuKHNjcmlwdE5hbWUsIHNlY3Rpb25JZCwgbnVsbCwgaGlkZGVuKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBQb3N0IHRvIHRoZSBzZXJ2ZXIgdG8gdG9nZ2xlIHRoZSBoaWRkZW4gc3RhdGUgb2YgYSBsZXNzb24gb3Igc2NyaXB0LiBsZXNzb25JZFxuICogc2hvdWxkIGJlIG51bGwgaWYgd2UncmUgaGlkaW5nIHRoZSBzY3JpcHQgcmF0aGVyIHRoYW4gYSBwYXJ0aWN1bGFyIGxlc3NvblxuICogQHBhcmFtIHtzdHJpbmd9IHNjcmlwdE5hbWVcbiAqIEBwYXJhbSB7c3RyaW5nfSBzZWN0aW9uSWRcbiAqIEBwYXJhbSB7c3RyaW5nfSBsZXNzb25JZFxuICogQHBhcmFtIHtib29sZWFufSBoaWRkZW5cbiAqL1xuZnVuY3Rpb24gcG9zdFRvZ2dsZUhpZGRlbihzY3JpcHROYW1lLCBzZWN0aW9uSWQsIGxlc3NvbklkLCBoaWRkZW4pIHtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICBzZWN0aW9uX2lkOiBzZWN0aW9uSWQsXG4gICAgaGlkZGVuLFxuICB9O1xuICBpZiAobGVzc29uSWQpIHtcbiAgICBkYXRhLnN0YWdlX2lkID0gbGVzc29uSWQ7XG4gIH1cblxuICAkLmFqYXgoe1xuICAgIHR5cGU6ICdQT1NUJyxcbiAgICB1cmw6IGAvcy8ke3NjcmlwdE5hbWV9L3RvZ2dsZV9oaWRkZW5gLFxuICAgIGRhdGFUeXBlOiAnanNvbicsXG4gICAgY29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICBkYXRhOiBKU09OLnN0cmluZ2lmeShkYXRhKSxcbiAgfSkuc3VjY2VzcygoKSA9PiB7XG4gICAgd2luZG93Ll9fVGVzdEludGVyZmFjZSA9IHdpbmRvdy5fX1Rlc3RJbnRlcmZhY2UgfHwge307XG4gICAgd2luZG93Ll9fVGVzdEludGVyZmFjZS50b2dnbGVIaWRkZW5Vbml0Q29tcGxldGUgPSB0cnVlO1xuICB9KTtcbn1cblxuLyoqXG4gKiBRdWVyeSBzZXJ2ZXIgZm9yIGhpZGRlbiBsZXNzb24gaWRzLCBhbmQgKHBvdGVudGlhbGx5KSB0b2dnbGUgd2hldGhlciBvciBub3Qgd2VcbiAqIGFyZSBhYmxlIHRvIG1hcmsgbGVzc29ucyBhcyBoaWRlYWJsZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBzY3JpcHROYW1lXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGNhbkhpZGVMZXNzb25zIElmIHRydWUsIGluZm9ybSByZWR1eCB0aGF0IHdlJ3JlIGFibGUgdG8gdG9nZ2xlXG4gKiAgIHdoZXRoZXIgb3Igbm90IGxlc3NvbnMgYXJlIGhpZGRlbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEhpZGRlbkxlc3NvbnMoc2NyaXB0TmFtZSwgY2FuSGlkZUxlc3NvbnMpIHtcbiAgcmV0dXJuIGRpc3BhdGNoID0+IHtcbiAgICAkLmFqYXgoe1xuICAgICAgdHlwZTogJ0dFVCcsXG4gICAgICB1cmw6IGAvcy8ke3NjcmlwdE5hbWV9L2hpZGRlbl9sZXNzb25zYCxcbiAgICAgIGRhdGFUeXBlOiAnanNvbicsXG4gICAgICBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH0pXG4gICAgICAuZG9uZShyZXNwb25zZSA9PlxuICAgICAgICBkaXNwYXRjaChpbml0aWFsaXplSGlkZGVuTGVzc29ucyhyZXNwb25zZSwgY2FuSGlkZUxlc3NvbnMpKVxuICAgICAgKVxuICAgICAgLmZhaWwoZXJyID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XG4gIH07XG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZSBoaWRkZW4gbGVzc29ucyBiYXNlZCBvbiBzZXJ2ZXIgZGF0YS4gSW4gdGhlIGNhc2Ugb2YgYSBzdHVkZW50LCB0aGlzXG4gKiB3aWxsIGJlIGEgbGlzdCBvZiBoaWRkZW4gbGVzc29uIGlkcy4gSW4gdGhlIGNhc2Ugb2YgYSB0ZWFjaGVyLCBpdCB3aWxsIGJlXG4gKiBhIG1hcHBpbmcgZnJvbSBzZWN0aW9uIGlkIHRvIGEgbGlzdCBvZiBoaWRkZW4gbGVzc29uIGlkcyBmb3IgdGhhdCBzZWN0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ1tdfE9iamVjdDxzdHJpbmcsIHN0cmluZ1tdPn0gZGF0YVxuICogQHBhcmFtIHtib29sZWFufSBjYW5IaWRlTGVzc29ucyAtIFRydWUgaWYgd2UncmUgYWJsZSB0byB0b2dnbGUgaGlkZGVuIGxlc3NvbnNcbiAqL1xuZnVuY3Rpb24gaW5pdGlhbGl6ZUhpZGRlbkxlc3NvbnMoZGF0YSwgY2FuSGlkZUxlc3NvbnMpIHtcbiAgcmV0dXJuIGRpc3BhdGNoID0+IHtcbiAgICAvLyBGb3IgYSBpbnN0cnVjdG9yLCB3ZSBnZXQgYmFjayBhIG1hcCBvZiBzZWN0aW9uIGlkIHRvIGhpZGRlbiBsZXNzb24gaWRzXG4gICAgLy8gRm9yIGEgcGFydGljaXBhbnQsIHdlIGp1c3QgZ2V0IGJhY2sgYSBsaXN0IG9mIGhpZGRlbiBsZXNzb24gaWRzLiBUdXJuIHRoYXRcbiAgICAvLyBpbnRvIGFuIG9iamVjdCwgdW5kZXIgdGhlICdzZWN0aW9uSWQnIG9mIFNUVURFTlRfU0VDVElPTl9JRFxuICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgICBkYXRhID0ge1tTVFVERU5UX1NFQ1RJT05fSURdOiBkYXRhfTtcbiAgICB9XG5cbiAgICBkaXNwYXRjaChzZXRIaWRkZW5MZXNzb25zKGRhdGEsICEhY2FuSGlkZUxlc3NvbnMpKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBHaXZlbiBzZXJ2ZXIgZGF0YSBmb3IgdGhlIHNldCBvZiBzY3JpcHRzIHRoYXQgYXJlIGhpZGRlbiBmb3IgdGhpcyB1c2VyLFxuICogcG9wdWxhdGUgb3VyIHJlZHV4IHN0b3JlLlxuICogQHBhcmFtIHtzdHJpbmdbXXxPYmplY3Q8c3RyaW5nLCBzdHJpbmdbXT59IGRhdGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVIaWRkZW5TY3JpcHRzKGRhdGEpIHtcbiAgcmV0dXJuIGRpc3BhdGNoID0+IHtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBGb3IgYSB0ZWFjaGVyLCB3ZSBnZXQgYmFjayBhIG1hcCBvZiBzZWN0aW9uIGlkIHRvIGhpZGRlbiBzY3JpcHQgaWRzXG4gICAgLy8gRm9yIGEgc3R1ZGVudCwgd2UganVzdCBnZXQgYmFjayBhIGxpc3Qgb2YgaGlkZGVuIHNjcmlwdCBpZHMuIFR1cm4gdGhhdFxuICAgIC8vIGludG8gYW4gb2JqZWN0LCB1bmRlciB0aGUgJ3NlY3Rpb25JZCcgb2YgU1RVREVOVF9TRUNUSU9OX0lEXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgIGRhdGEgPSB7W1NUVURFTlRfU0VDVElPTl9JRF06IGRhdGF9O1xuICAgIH1cblxuICAgIE9iamVjdC5rZXlzKGRhdGEpLmZvckVhY2goc2VjdGlvbklkID0+IHtcbiAgICAgIGNvbnN0IGhpZGRlblNjcmlwdElkcyA9IGRhdGFbc2VjdGlvbklkXTtcbiAgICAgIGhpZGRlblNjcmlwdElkcy5mb3JFYWNoKHNjcmlwdElkID0+IHtcbiAgICAgICAgZGlzcGF0Y2godXBkYXRlSGlkZGVuU2NyaXB0KHNlY3Rpb25JZCwgc2NyaXB0SWQsIHRydWUpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xufVxuXG4vLyB1dGlsc1xuXG4vKipcbiAqIEhlbHBlciB0byBkZXRlcm1pbmUgd2hldGhlciBhIGxlc3NvbiBpcyBoaWRkZW4gZm9yIGEgZ2l2ZW4gc2VjdGlvbi4gSWYgbm9cbiAqIHNlY3Rpb24gaXMgZ2l2ZW4sIHdlIGFzc3VtZSB0aGlzIGlzIGEgc3R1ZGVudCBhbmQgdXNlIFNUVURFTlRfU0VDVElPTl9JRFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNMZXNzb25IaWRkZW5Gb3JTZWN0aW9uKHN0YXRlLCBzZWN0aW9uSWQsIGxlc3NvbklkKSB7XG4gIHJldHVybiBpc0hpZGRlbkZvclNlY3Rpb24oc3RhdGUsIHNlY3Rpb25JZCwgbGVzc29uSWQsICdsZXNzb25zQnlTZWN0aW9uJyk7XG59XG5cbi8qKlxuICogSGVscGVyIHRvIGRldGVybWluZSB3aGV0aGVyIGEgc2NyaXB0IGlzIGhpZGRlbiBmb3IgYSBnaXZlbiBzZWN0aW9uLiBJZiBub1xuICogc2VjdGlvbiBpcyBnaXZlbiwgd2UgYXNzdW1lIHRoaXMgaXMgYSBzdHVkZW50IGFuZCB1c2UgU1RVREVOVF9TRUNUSU9OX0lEXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1NjcmlwdEhpZGRlbkZvclNlY3Rpb24oc3RhdGUsIHNlY3Rpb25JZCwgc2NyaXB0SWQpIHtcbiAgcmV0dXJuIGlzSGlkZGVuRm9yU2VjdGlvbihzdGF0ZSwgc2VjdGlvbklkLCBzY3JpcHRJZCwgJ3NjcmlwdHNCeVNlY3Rpb24nKTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgdXNlZCBieSB0aGUgYWJvdmUgdHdvIG1ldGhvZHMgc28gdGhhdCB3ZSBiZWhhdmUgdGhlIHNhbWUgd2hlbiBsb29raW5nXG4gKiBmb3IgaGlkZGVuIGxlc3NvbnMvc2NyaXB0c1xuICovXG5mdW5jdGlvbiBpc0hpZGRlbkZvclNlY3Rpb24oc3RhdGUsIHNlY3Rpb25JZCwgaXRlbUlkLCBieVNlY3Rpb25LZXkpIHtcbiAgaWYgKCFpdGVtSWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgLy8gaWYgd2UgZG9uJ3QgaGF2ZSBhIHNlY3Rpb25JZCwgd2UgbXVzdCBiZSBhIHN0dWRlbnRcbiAgaWYgKCFzZWN0aW9uSWQpIHtcbiAgICBzZWN0aW9uSWQgPSBTVFVERU5UX1NFQ1RJT05fSUQ7XG4gIH1cbiAgY29uc3QgYnlTZWN0aW9uID0gc3RhdGUuZ2V0KGJ5U2VjdGlvbktleSk7XG4gIHJldHVybiAhIWJ5U2VjdGlvbi5nZXRJbihbc2VjdGlvbklkLnRvU3RyaW5nKCksIGl0ZW1JZC50b1N0cmluZygpXSk7XG59XG4iLCJpbXBvcnQgQ2xvc2VCdXR0b24gZnJvbSAnQGNvZGUtZG90LW9yZy9jb21wb25lbnQtbGlicmFyeS9jbG9zZUJ1dHRvbic7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBGb2N1c1RyYXAgZnJvbSAnZm9jdXMtdHJhcC1yZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IENsb3NlT25Fc2NhcGUgZnJvbSAnQGNkby9hcHBzL3RlbXBsYXRlcy9DbG9zZU9uRXNjYXBlJztcbmltcG9ydCBpMThuIGZyb20gJ0BjZG8vbG9jYWxlJztcblxuaW1wb3J0IGRlZmF1bHRTdHlsZSBmcm9tICcuL2FjY2Vzc2libGUtZGlhbG9ndWUubW9kdWxlLnNjc3MnO1xuXG5mdW5jdGlvbiBBY2Nlc3NpYmxlRGlhbG9nKHtcbiAgaWQsXG4gIHN0eWxlcyxcbiAgb25DbG9zZSxcbiAgb25EaXNtaXNzLFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBmYWxsYmFja0ZvY3VzLFxuICBpbml0aWFsRm9jdXMgPSB0cnVlLFxuICBjbG9zZU9uQ2xpY2tCYWNrZHJvcCA9IGZhbHNlLFxuICBvbkRlYWN0aXZhdGUgPSBvbkNsb3NlLFxuICBub01DID0gZmFsc2UsIC8vIGV4Y2x1ZGUgTWluZUNyYWZ0IGJ1dHRvbiBzdHlsZXNcbn0pIHtcbiAgLy8gSWYgdGhlc2Ugc3R5bGVzIGFyZSBwcm92aWRlZCBieSB0aGUgZ2l2ZW4gc3R5bGVzaGVldCwgdXNlIHRoZW1cbiAgY29uc3QgbW9kYWxTdHlsZSA9IHN0eWxlcz8ubW9kYWwgfHwgZGVmYXVsdFN0eWxlLm1vZGFsO1xuICBjb25zdCBiYWNrZHJvcFN0eWxlID0gc3R5bGVzPy5tb2RhbEJhY2tkcm9wIHx8IGRlZmF1bHRTdHlsZS5tb2RhbEJhY2tkcm9wO1xuICBsZXQgY2xvc2VJY29uU3R5bGUgPSBzdHlsZXM/LnhDbG9zZUJ1dHRvbiB8fCBkZWZhdWx0U3R5bGUueENsb3NlQnV0dG9uO1xuICBjbG9zZUljb25TdHlsZSA9IG5vTUMgPyBbY2xvc2VJY29uU3R5bGUsICduby1tYyddIDogY2xvc2VJY29uU3R5bGU7XG5cbiAgLy8gVGhpcyBwcm92aWRlcyB0aGUgb3B0aW9uIGZvciB0aGVyZSB0byBiZSBkaWZmZXJlbnQgYmVoYXZpb3JzIGJldHdlZW4gY2xvc2luZyB0aGUgZGlhbG9nXG4gIC8vIGFuZCBleHBsaWNpdGx5IGRpc21pc3NpbmcgaXQsIGZvciBleGFtcGxlIHdoZW4gdGhlIHVzZXIgaGFzIHNlbGVjdGVkIFwicmVtaW5kIG1lIGxhdGVyXCIuXG4gIGNvbnN0IHhJY29uT25DbGljayA9IG9uRGlzbWlzcyA/IG9uRGlzbWlzcyA6IG9uQ2xvc2U7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2JhY2tkcm9wU3R5bGV9IC8+XG4gICAgICA8Q2xvc2VPbkVzY2FwZSBoYW5kbGVDbG9zZT17b25DbG9zZX0+XG4gICAgICAgIDxGb2N1c1RyYXBcbiAgICAgICAgICBmb2N1c1RyYXBPcHRpb25zPXt7XG4gICAgICAgICAgICBpbml0aWFsRm9jdXM6IGluaXRpYWxGb2N1cyxcbiAgICAgICAgICAgIG9uRGVhY3RpdmF0ZTogb25EZWFjdGl2YXRlLFxuICAgICAgICAgICAgY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM6IGNsb3NlT25DbGlja0JhY2tkcm9wLFxuICAgICAgICAgICAgZmFsbGJhY2tGb2N1czogZmFsbGJhY2tGb2N1cyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgYXJpYS1tb2RhbFxuICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtgJHtpZH0tdGl0bGVgfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKG1vZGFsU3R5bGUsIGNsYXNzTmFtZSl9XG4gICAgICAgICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Q2xvc2VCdXR0b25cbiAgICAgICAgICAgICAgaWQ9XCJ1aS1jbG9zZS1kaWFsb2dcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsb3NlSWNvblN0eWxlfVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtpMThuLmNsb3NlRGlhbG9nKCl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e3hJY29uT25DbGlja31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvRm9jdXNUcmFwPlxuICAgICAgPC9DbG9zZU9uRXNjYXBlPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5BY2Nlc3NpYmxlRGlhbG9nLnByb3BUeXBlcyA9IHtcbiAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHN0eWxlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgb25DbG9zZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgb25EaXNtaXNzOiBQcm9wVHlwZXMuZnVuYyxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGZhbGxiYWNrRm9jdXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGluaXRpYWxGb2N1czogUHJvcFR5cGVzLmJvb2wsXG4gIGNsb3NlT25DbGlja0JhY2tkcm9wOiBQcm9wVHlwZXMuYm9vbCxcbiAgb25EZWFjdGl2YXRlOiBQcm9wVHlwZXMuZnVuYyxcbiAgbm9NQzogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBBY2Nlc3NpYmxlRGlhbG9nO1xuIiwiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbi8qKlxuICogVXRpbGl0eSB3cmFwcGVyIGNvbXBvbmVudCB0aGF0IGNhbGxzIGEgY2xvc2UgZnVuY3Rpb24gd2hlbiB0aGUgRXNjYXBlIGtleSBpcyBwcmVzc2VkXG4gKi9cbmNvbnN0IENsb3NlT25Fc2NhcGUgPSAoe2hhbmRsZUNsb3NlLCBjbGFzc05hbWUsIGNoaWxkcmVufSkgPT4ge1xuICBjb25zdCBoYW5kbGVLZXlEb3duID0gZXZlbnQgPT4ge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICBoYW5kbGVDbG9zZShldmVudCk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0gb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkNsb3NlT25Fc2NhcGUucHJvcFR5cGVzID0ge1xuICBoYW5kbGVDbG9zZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDbG9zZU9uRXNjYXBlO1xuIiwiaW1wb3J0IENoZWNrYm94IGZyb20gJ0Bjb2RlLWRvdC1vcmcvY29tcG9uZW50LWxpYnJhcnkvY2hlY2tib3gnO1xuaW1wb3J0IHtcbiAgSGVhZGluZzMsXG4gIEhlYWRpbmc1LFxuICBCb2R5VHdvVGV4dCxcbn0gZnJvbSAnQGNvZGUtZG90LW9yZy9jb21wb25lbnQtbGlicmFyeS90eXBvZ3JhcGh5JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHt1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtjb25uZWN0fSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmltcG9ydCB7dXBkYXRlSGlkZGVuU2NyaXB0fSBmcm9tICdAY2RvL2FwcHMvY29kZS1zdHVkaW8vaGlkZGVuTGVzc29uUmVkdXgnO1xuaW1wb3J0IEJ1dHRvbiBmcm9tICdAY2RvL2FwcHMvbGVnYWN5U2hhcmVkQ29tcG9uZW50cy9CdXR0b24nO1xuaW1wb3J0IEFjY2Vzc2libGVEaWFsb2cgZnJvbSAnQGNkby9hcHBzL3NoYXJlZENvbXBvbmVudHMvQWNjZXNzaWJsZURpYWxvZyc7XG5pbXBvcnQge3NlY3Rpb25Gb3JEcm9wZG93blNoYXBlfSBmcm9tICdAY2RvL2FwcHMvdGVtcGxhdGVzL3RlYWNoZXJEYXNoYm9hcmQvc2hhcGVzJztcbmltcG9ydCB7XG4gIGFzc2lnblRvU2VjdGlvbixcbiAgdW5hc3NpZ25TZWN0aW9uLFxuICBzZWN0aW9uSGFzTmV3RGF0YSxcbn0gZnJvbSAnQGNkby9hcHBzL3RlbXBsYXRlcy90ZWFjaGVyRGFzaGJvYXJkL3RlYWNoZXJTZWN0aW9uc1JlZHV4JztcbmltcG9ydCBpMThuIGZyb20gJ0BjZG8vbG9jYWxlJztcblxuaW1wb3J0IG1vZHVsZVN0eWxlIGZyb20gJy4vbXVsdGlwbGUtc2VjdGlvbnMtYXNzaWduZXIubW9kdWxlLnNjc3MnO1xuXG5jb25zdCBNdWx0aXBsZVNlY3Rpb25zQXNzaWduZXIgPSAoe1xuICBjb3Vyc2VJZCxcbiAgYXNzaWdubWVudE5hbWUsXG4gIG9uQ2xvc2UsXG4gIGNvdXJzZU9mZmVyaW5nSWQsXG4gIGNvdXJzZVZlcnNpb25JZCxcbiAgc2NyaXB0SWQsXG4gIHJlYXNzaWduQ29uZmlybSA9ICgpID0+IHt9LFxuICBpc0Fzc2lnbmluZ0NvdXJzZSxcbiAgaXNTdGFuZEFsb25lVW5pdCxcbiAgcGFydGljaXBhbnRBdWRpZW5jZSxcbiAgb25Bc3NpZ25TdWNjZXNzLFxuICBzZWN0aW9uRGlyZWN0aW9ucyA9IGkxOG4uY2hvb3NlU2VjdGlvbnNEaXJlY3Rpb25zKCksXG4gIC8vIFJlZHV4XG4gIHNlY3Rpb25zLFxuICB1bmFzc2lnblNlY3Rpb24sXG4gIGFzc2lnblRvU2VjdGlvbixcbiAgdXBkYXRlSGlkZGVuU2NyaXB0LFxuICBzZWN0aW9uSGFzTmV3RGF0YSxcbn0pID0+IHtcbiAgY29uc3QgW2N1cnJlbnRTZWN0aW9uc0Fzc2lnbmVkLCBzZXRDdXJyZW50U2VjdGlvbnNBc3NpZ25lZF0gPSB1c2VTdGF0ZShbXSk7XG5cbiAgY29uc3QgaW5pdGlhbFNlY3Rpb25zQXNzaWduZWQgPSBSZWFjdC51c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgaW5pdGlhbFNlY3Rpb25zQXNzaWduZWQgPSBbXTtcbiAgICAvLyBjaGVjayB0byBzZWUgaWYgdGhpcyBpcyBjb21pbmcgZnJvbSB0aGUgVU5JVCBsYW5kaW5nIHBhZ2UgLSBpZiBzbyBhZGQgY291cnNlcyBmZWF0dXJpbmcgdGhpcyB1bml0XG4gICAgaWYgKCFpc0Fzc2lnbmluZ0NvdXJzZSkge1xuICAgICAgaWYgKGlzU3RhbmRBbG9uZVVuaXQpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGlmIChjb3Vyc2VWZXJzaW9uSWQgPT09IHNlY3Rpb25zW2ldLmNvdXJzZVZlcnNpb25JZCkge1xuICAgICAgICAgICAgaW5pdGlhbFNlY3Rpb25zQXNzaWduZWQucHVzaChzZWN0aW9uc1tpXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlY3Rpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKHNjcmlwdElkID09PSBzZWN0aW9uc1tpXS51bml0SWQpIHtcbiAgICAgICAgICAgIGluaXRpYWxTZWN0aW9uc0Fzc2lnbmVkLnB1c2goc2VjdGlvbnNbaV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNBc3NpZ25pbmdDb3Vyc2UpIHtcbiAgICAgIC8vIGNoZWNrcyB0byBzZWUgaWYgdGhpcyBpcyBjb21pbmcgZnJvbSB0aGUgQ09VUlNFIGxhbmRpbmcgcGFnZVxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoY291cnNlSWQgPT09IHNlY3Rpb25zW2ldLmNvdXJzZUlkKSB7XG4gICAgICAgICAgaW5pdGlhbFNlY3Rpb25zQXNzaWduZWQucHVzaChzZWN0aW9uc1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgc2V0Q3VycmVudFNlY3Rpb25zQXNzaWduZWQoaW5pdGlhbFNlY3Rpb25zQXNzaWduZWQpO1xuICAgIHJldHVybiBpbml0aWFsU2VjdGlvbnNBc3NpZ25lZDtcbiAgfSwgW1xuICAgIGlzQXNzaWduaW5nQ291cnNlLFxuICAgIGlzU3RhbmRBbG9uZVVuaXQsXG4gICAgc2VjdGlvbnMsXG4gICAgY291cnNlSWQsXG4gICAgc2NyaXB0SWQsXG4gICAgY291cnNlVmVyc2lvbklkLFxuICBdKTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2VkQ2hlY2tib3ggPSBjdXJyZW50U2VjdGlvbiA9PiB7XG4gICAgY29uc3QgaXNVbmNoZWNrZWQgPSBjdXJyZW50U2VjdGlvbnNBc3NpZ25lZC5zb21lKFxuICAgICAgcyA9PiBzLmNvZGUgPT09IGN1cnJlbnRTZWN0aW9uLmNvZGVcbiAgICApO1xuICAgIGlmIChpc1VuY2hlY2tlZCkge1xuICAgICAgY29uc3QgbmV3TGlzdCA9IGN1cnJlbnRTZWN0aW9uc0Fzc2lnbmVkLmZpbHRlcihcbiAgICAgICAgcyA9PiBzLmNvZGUgIT09IGN1cnJlbnRTZWN0aW9uLmNvZGVcbiAgICAgICk7XG4gICAgICBzZXRDdXJyZW50U2VjdGlvbnNBc3NpZ25lZChuZXdMaXN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbmV3TGlzdCA9IFsuLi5jdXJyZW50U2VjdGlvbnNBc3NpZ25lZF07XG4gICAgICBuZXdMaXN0LnB1c2goY3VycmVudFNlY3Rpb24pO1xuICAgICAgc2V0Q3VycmVudFNlY3Rpb25zQXNzaWduZWQobmV3TGlzdCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHJlYXNzaWduU2VjdGlvbnMgPSAoKSA9PiB7XG4gICAgLy8gQXNzaWduIGFueSBjb3Vyc2VzIHRoYXQgbmVlZCB0byBiZSBhc3NpZ25lZFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY3VycmVudFNlY3Rpb25zQXNzaWduZWQubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IG5lZWRzVG9CZUFzc2lnbmVkID0gIWluaXRpYWxTZWN0aW9uc0Fzc2lnbmVkLnNvbWUoXG4gICAgICAgIHMgPT4gcy5jb2RlID09PSBjdXJyZW50U2VjdGlvbnNBc3NpZ25lZFtpXS5jb2RlXG4gICAgICApO1xuICAgICAgaWYgKG5lZWRzVG9CZUFzc2lnbmVkKSB7XG4gICAgICAgIGlmIChpc0Fzc2lnbmluZ0NvdXJzZSkge1xuICAgICAgICAgIGNvbnN0IHNlY3Rpb25JZCA9IGN1cnJlbnRTZWN0aW9uc0Fzc2lnbmVkW2ldLmlkO1xuICAgICAgICAgIGFzc2lnblRvU2VjdGlvbldpdGhDb25maXJtYXRpb24oXG4gICAgICAgICAgICBzZWN0aW9uSWQsXG4gICAgICAgICAgICBjb3Vyc2VJZCxcbiAgICAgICAgICAgIGNvdXJzZU9mZmVyaW5nSWQsXG4gICAgICAgICAgICBjb3Vyc2VWZXJzaW9uSWQsXG4gICAgICAgICAgICBzY3JpcHRJZFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdW5oaWRlQW5kQXNzaWduVW5pdChjdXJyZW50U2VjdGlvbnNBc3NpZ25lZFtpXSk7XG4gICAgICAgIH1cbiAgICAgICAgc2VjdGlvbkhhc05ld0RhdGEoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBhbnkgc2VjdGlvbnMgbmVlZCB0byBiZSByZW1vdmVkIGZyb20gYmVpbmcgYXNzaWduZWQsIHJlbW92ZSB0aGVtXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbml0aWFsU2VjdGlvbnNBc3NpZ25lZC5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaXNTZWN0aW9uVG9CZVJlbW92ZWQgPSAhY3VycmVudFNlY3Rpb25zQXNzaWduZWQuc29tZShcbiAgICAgICAgcyA9PiBzLmNvZGUgPT09IGluaXRpYWxTZWN0aW9uc0Fzc2lnbmVkW2ldLmNvZGVcbiAgICAgICk7XG5cbiAgICAgIGlmIChpc1NlY3Rpb25Ub0JlUmVtb3ZlZCkge1xuICAgICAgICAvLyBpZiBvbiBDT1VSU0UgbGFuZGluZyBwYWdlIG9yIGEgU1RBTkRBTE9ORSBVTklULCB1bmFzc2lnbiBlbnRpcmVseVxuICAgICAgICBpc0Fzc2lnbmluZ0NvdXJzZSB8fCBpc1N0YW5kQWxvbmVVbml0XG4gICAgICAgICAgPyB1bmFzc2lnblNlY3Rpb24oaW5pdGlhbFNlY3Rpb25zQXNzaWduZWRbaV0uaWQsICcnKVxuICAgICAgICAgIDogYXNzaWduQ291cnNlV2l0aG91dFVuaXQoaW5pdGlhbFNlY3Rpb25zQXNzaWduZWRbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBjbG9zZSBkaWFsb2d1ZVxuICAgIHJlYXNzaWduQ29uZmlybSgpO1xuICAgIG9uQ2xvc2UoKTtcbiAgfTtcblxuICBjb25zdCBzZWxlY3RBbGxIYW5kbGVyID0gKCkgPT4ge1xuICAgIGxldCBuZXdTZWN0aW9uc0Fzc2lnbmVkID0gWy4uLmN1cnJlbnRTZWN0aW9uc0Fzc2lnbmVkXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlY3Rpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAvLyBpZiB0aGUgc2VjdGlvbiBpcyBOT1QgaW4gY3VycmVudFNlY3Rpb25zIGFzc2lnbmVkLCBhc3NpZ24gaXRcbiAgICAgIGNvbnN0IGlzU2VjdGlvblRvQmVBc3NpZ25lZCA9ICFjdXJyZW50U2VjdGlvbnNBc3NpZ25lZC5zb21lKFxuICAgICAgICBzID0+IHMuY29kZSA9PT0gc2VjdGlvbnNbaV0uY29kZVxuICAgICAgKTtcbiAgICAgIGlmIChpc1NlY3Rpb25Ub0JlQXNzaWduZWQpIHtcbiAgICAgICAgbmV3U2VjdGlvbnNBc3NpZ25lZC5wdXNoKHNlY3Rpb25zW2ldKTtcbiAgICAgIH1cbiAgICB9XG4gICAgc2V0Q3VycmVudFNlY3Rpb25zQXNzaWduZWQobmV3U2VjdGlvbnNBc3NpZ25lZCk7XG4gIH07XG5cbiAgY29uc3QgdW5oaWRlQW5kQXNzaWduVW5pdCA9IHNlY3Rpb24gPT4ge1xuICAgIGNvbnN0IHNlY3Rpb25JZCA9IHNlY3Rpb24uaWQ7XG4gICAgdXBkYXRlSGlkZGVuU2NyaXB0KHNlY3Rpb25JZCwgc2NyaXB0SWQsIGZhbHNlKTtcbiAgICBhc3NpZ25Ub1NlY3Rpb25XaXRoQ29uZmlybWF0aW9uKFxuICAgICAgc2VjdGlvbklkLFxuICAgICAgY291cnNlSWQsXG4gICAgICBjb3Vyc2VPZmZlcmluZ0lkLFxuICAgICAgY291cnNlVmVyc2lvbklkLFxuICAgICAgc2NyaXB0SWRcbiAgICApO1xuICB9O1xuXG4gIC8vIHRoaXMgaXMgaWRlbnRpY2FsIHRvIHVuaGlkZUFuZEFzc2lnblVuaXQgYWJvdmUgYnV0IGp1c3QgaGFzIG51bGwgYXMgdGhlIHNjcmlwdElkXG4gIGNvbnN0IGFzc2lnbkNvdXJzZVdpdGhvdXRVbml0ID0gc2VjdGlvbiA9PiB7XG4gICAgY29uc3Qgc2VjdGlvbklkID0gc2VjdGlvbi5pZDtcbiAgICBhc3NpZ25Ub1NlY3Rpb25XaXRoQ29uZmlybWF0aW9uKFxuICAgICAgc2VjdGlvbklkLFxuICAgICAgY291cnNlSWQsXG4gICAgICBjb3Vyc2VPZmZlcmluZ0lkLFxuICAgICAgY291cnNlVmVyc2lvbklkLFxuICAgICAgbnVsbFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgYXNzaWduVG9TZWN0aW9uV2l0aENvbmZpcm1hdGlvbiA9IChcbiAgICBzZWN0aW9uSWQsXG4gICAgY291cnNlSWQsXG4gICAgY291cnNlT2ZmZXJpbmdJZCxcbiAgICBjb3Vyc2VWZXJzaW9uSWQsXG4gICAgc2NyaXB0SWRcbiAgKSA9PiB7XG4gICAgb25Bc3NpZ25TdWNjZXNzXG4gICAgICA/IGFzc2lnblRvU2VjdGlvbihcbiAgICAgICAgICBzZWN0aW9uSWQsXG4gICAgICAgICAgY291cnNlSWQsXG4gICAgICAgICAgY291cnNlT2ZmZXJpbmdJZCxcbiAgICAgICAgICBjb3Vyc2VWZXJzaW9uSWQsXG4gICAgICAgICAgc2NyaXB0SWRcbiAgICAgICAgKS50aGVuKG9uQXNzaWduU3VjY2VzcylcbiAgICAgIDogYXNzaWduVG9TZWN0aW9uKFxuICAgICAgICAgIHNlY3Rpb25JZCxcbiAgICAgICAgICBjb3Vyc2VJZCxcbiAgICAgICAgICBjb3Vyc2VPZmZlcmluZ0lkLFxuICAgICAgICAgIGNvdXJzZVZlcnNpb25JZCxcbiAgICAgICAgICBzY3JpcHRJZFxuICAgICAgICApO1xuICB9O1xuXG4gIGNvbnN0IGlzQXNzaWduYWJsZVRvU2VjdGlvbiA9IHNlY3Rpb25QYXJ0aWNpcGFudFR5cGUgPT4ge1xuICAgIHJldHVybiBzZWN0aW9uUGFydGljaXBhbnRUeXBlID09PSBwYXJ0aWNpcGFudEF1ZGllbmNlO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPEFjY2Vzc2libGVEaWFsb2cgY2xhc3NOYW1lPXttb2R1bGVTdHlsZS5wb3BVcENvbnRhaW5lcn0gb25DbG9zZT17b25DbG9zZX0+XG4gICAgICA8ZGl2XG4gICAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgICBhcmlhLWxhYmVsPXtpMThuLmRpcmVjdGlvbnNGb3JBc3NpZ25pbmdTZWN0aW9ucygpfVxuICAgICAgICBjbGFzc05hbWU9e21vZHVsZVN0eWxlLmluZm9ybWF0aW9ufVxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17bW9kdWxlU3R5bGUubW9kYWxIZWFkZXJ9PlxuICAgICAgICAgIDxIZWFkaW5nMz57aTE4bi5jaG9vc2VTZWN0aW9uc1Byb21wdCh7YXNzaWdubWVudE5hbWV9KX08L0hlYWRpbmczPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e21vZHVsZVN0eWxlLnNlY3Rpb25zRGlyZWN0aW9uc30+XG4gICAgICAgICAgPEJvZHlUd29UZXh0PntzZWN0aW9uRGlyZWN0aW9uc308L0JvZHlUd29UZXh0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e21vZHVsZVN0eWxlLnNlY3Rpb25MaXN0fT5cbiAgICAgICAgICA8SGVhZGluZzU+e2kxOG4ueW91clNlY3Rpb25zTGlzdCgpfTwvSGVhZGluZzU+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e21vZHVsZVN0eWxlLnNlY3Rpb25MaXN0T3B0aW9uc0NvbnRhaW5lcn0+XG4gICAgICAgICAgICB7c2VjdGlvbnMgJiZcbiAgICAgICAgICAgICAgc2VjdGlvbnMubWFwKFxuICAgICAgICAgICAgICAgIHNlY3Rpb24gPT5cbiAgICAgICAgICAgICAgICAgIGlzQXNzaWduYWJsZVRvU2VjdGlvbihzZWN0aW9uLnBhcnRpY2lwYW50VHlwZSkgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8Q2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e3NlY3Rpb24uaWR9XG4gICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZD17XG4gICAgICAgICAgICAgICAgICAgICAgICAhIWN1cnJlbnRTZWN0aW9uc0Fzc2lnbmVkLnNvbWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHMgPT4gcy5jb2RlID09PSBzZWN0aW9uLmNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eygpID0+IGhhbmRsZUNoYW5nZWRDaGVja2JveChzZWN0aW9uKX0gLy8gdGhpcyBmdW5jdGlvbiBzaG91bGQgdXBkYXRlIHRoZSBzdGF0ZSBvZiBtdWx0aXBsZSBzZWN0aW9uIGFzc2lnbmVyXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT17c2VjdGlvbi5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17c2VjdGlvbi5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGlkPVwic2VsZWN0LWFsbC1zZWN0aW9uc1wiXG4gICAgICAgICAgICB0ZXh0PXtpMThuLnNlbGVjdEFsbCgpfVxuICAgICAgICAgICAgb25DbGljaz17c2VsZWN0QWxsSGFuZGxlcn1cbiAgICAgICAgICAgIHN0eWxlQXNUZXh0XG4gICAgICAgICAgICBjb2xvcj17QnV0dG9uLkJ1dHRvbkNvbG9yLmJyYW5kU2Vjb25kYXJ5RGVmYXVsdH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e21vZHVsZVN0eWxlLmJ1dHRvbkNvbnRhaW5lcn0+XG4gICAgICAgIDxCdXR0b25cbiAgICAgICAgICB0ZXh0PXtpMThuLmRpYWxvZ0NhbmNlbCgpfVxuICAgICAgICAgIG9uQ2xpY2s9e29uQ2xvc2V9XG4gICAgICAgICAgY29sb3I9e0J1dHRvbi5CdXR0b25Db2xvci5uZXV0cmFsRGFya31cbiAgICAgICAgLz5cbiAgICAgICAgPEJ1dHRvblxuICAgICAgICAgIGlkPVwiY29uZmlybS1hc3NpZ25cIlxuICAgICAgICAgIHRleHQ9e2kxOG4uY29uZmlybUFzc2lnbm1lbnQoKX1cbiAgICAgICAgICBvbkNsaWNrPXtyZWFzc2lnblNlY3Rpb25zfVxuICAgICAgICAgIGNvbG9yPXtCdXR0b24uQnV0dG9uQ29sb3IuYnJhbmRTZWNvbmRhcnlEZWZhdWx0fVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9BY2Nlc3NpYmxlRGlhbG9nPlxuICApO1xufTtcblxuTXVsdGlwbGVTZWN0aW9uc0Fzc2lnbmVyLnByb3BUeXBlcyA9IHtcbiAgY291cnNlSWQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIGFzc2lnbm1lbnROYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIG9uQ2xvc2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGNvdXJzZU9mZmVyaW5nSWQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIGNvdXJzZVZlcnNpb25JZDogUHJvcFR5cGVzLm51bWJlcixcbiAgc2NyaXB0SWQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIHJlYXNzaWduQ29uZmlybTogUHJvcFR5cGVzLmZ1bmMsXG4gIGlzQXNzaWduaW5nQ291cnNlOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBpc1N0YW5kQWxvbmVVbml0OiBQcm9wVHlwZXMuYm9vbCxcbiAgcGFydGljaXBhbnRBdWRpZW5jZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgb25Bc3NpZ25TdWNjZXNzOiBQcm9wVHlwZXMuZnVuYyxcbiAgc2VjdGlvbkRpcmVjdGlvbnM6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8vIFJlZHV4XG4gIHNlY3Rpb25zOiBQcm9wVHlwZXMuYXJyYXlPZihzZWN0aW9uRm9yRHJvcGRvd25TaGFwZSkuaXNSZXF1aXJlZCxcbiAgdW5hc3NpZ25TZWN0aW9uOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBhc3NpZ25Ub1NlY3Rpb246IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHVwZGF0ZUhpZGRlblNjcmlwdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgc2VjdGlvbkhhc05ld0RhdGE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgY29uc3QgVW5jb25uZWN0ZWRNdWx0aXBsZVNlY3Rpb25zQXNzaWduZXIgPSBNdWx0aXBsZVNlY3Rpb25zQXNzaWduZXI7XG5cbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3Qoc3RhdGUgPT4gKHt9KSwge1xuICBhc3NpZ25Ub1NlY3Rpb24sXG4gIHVwZGF0ZUhpZGRlblNjcmlwdCxcbiAgdW5hc3NpZ25TZWN0aW9uLFxuICBzZWN0aW9uSGFzTmV3RGF0YSxcbn0pKE11bHRpcGxlU2VjdGlvbnNBc3NpZ25lcik7XG4iLCJpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQge1NlY3Rpb25Mb2dpblR5cGV9IGZyb20gJ0BjZG8vZ2VuZXJhdGVkLXNjcmlwdHMvc2hhcmVkQ29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IHNlY3Rpb25TaGFwZSA9IFByb3BUeXBlcy5zaGFwZSh7XG4gIGlkOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY3JlYXRlZEF0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICBsb2dpblR5cGU6IFByb3BUeXBlcy5vbmVPZihPYmplY3Qua2V5cyhTZWN0aW9uTG9naW5UeXBlKSksXG4gIGxlc3NvbkV4dHJhczogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgcGFpcmluZ0FsbG93ZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIHR0c0F1dG9wbGF5RW5hYmxlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgc3R1ZGVudENvdW50OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIGNvZGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY291cnNlT2ZmZXJpbmdJZDogUHJvcFR5cGVzLm51bWJlcixcbiAgY291cnNlVmVyc2lvbklkOiBQcm9wVHlwZXMubnVtYmVyLFxuICB1bml0SWQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIGNvdXJzZUlkOiBQcm9wVHlwZXMubnVtYmVyLFxuICBzY3JpcHRJZDogUHJvcFR5cGVzLm51bWJlcixcbiAgZ3JhZGVzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgcHJvdmlkZXJNYW5hZ2VkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICByZXN0cmljdFNlY3Rpb246IFByb3BUeXBlcy5ib29sLFxuICBwb3N0TWlsZXN0b25lRGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICBzeW5jRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG59KTtcblxuZXhwb3J0IGNvbnN0IGFzc2lnbm1lbnRVbml0U2hhcGUgPSBQcm9wVHlwZXMuc2hhcGUoe1xuICBpZDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHBhdGg6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgbGVzc29uX2V4dHJhc19hdmFpbGFibGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIHRleHRfdG9fc3BlZWNoX2VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIHBvc2l0aW9uOiBQcm9wVHlwZXMubnVtYmVyLFxufSk7XG5cbmV4cG9ydCBjb25zdCBhc3NpZ25tZW50Q291cnNlVmVyc2lvblNoYXBlID0gUHJvcFR5cGVzLnNoYXBlKHtcbiAgaWQ6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAga2V5OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHZlcnNpb25feWVhcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBjb250ZW50X3Jvb3RfaWQ6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBwYXRoOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHR5cGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgaXNfc3RhYmxlOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBpc19yZWNvbW1lbmRlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgbG9jYWxlczogUHJvcFR5cGVzLmFycmF5LFxuICB1bml0czogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxufSk7XG5cbmV4cG9ydCBjb25zdCBhc3NpZ25tZW50Q291cnNlT2ZmZXJpbmdTaGFwZSA9IFByb3BUeXBlcy5zaGFwZSh7XG4gIGVsZW1lbnRhcnk6IFByb3BUeXBlcy5vYmplY3QsXG4gIGhpZ2g6IFByb3BUeXBlcy5vYmplY3QsXG4gIGhvYzogUHJvcFR5cGVzLm9iamVjdCxcbiAgbWlkZGxlOiBQcm9wVHlwZXMub2JqZWN0LFxufSk7XG5cbmV4cG9ydCBjb25zdCBjbGFzc3Jvb21TaGFwZSA9IFByb3BUeXBlcy5zaGFwZSh7XG4gIGlkOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgc2VjdGlvbjogUHJvcFR5cGVzLnN0cmluZyxcbiAgZW5yb2xsbWVudF9jb2RlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGNvdXJzZV9zdGF0ZTogUHJvcFR5cGVzLnN0cmluZyxcbn0pO1xuXG5leHBvcnQgY29uc3QgbG9hZEVycm9yU2hhcGUgPSBQcm9wVHlwZXMuc2hhcGUoe1xuICBzdGF0dXM6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgbWVzc2FnZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxufSk7XG5cbmV4cG9ydCBjb25zdCBzb3J0YWJsZVNlY3Rpb25TaGFwZSA9IFByb3BUeXBlcy5zaGFwZSh7XG4gIGlkOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY291cnNlVmVyc2lvbk5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGNvdXJzZURpc3BsYXlOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBsb2dpblR5cGU6IFByb3BUeXBlcy5vbmVPZihPYmplY3Qua2V5cyhTZWN0aW9uTG9naW5UeXBlKSkuaXNSZXF1aXJlZCxcbiAgc3R1ZGVudENvdW50OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIGNvZGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgZ3JhZGVzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgcHJvdmlkZXJNYW5hZ2VkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBoaWRkZW46IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIGFzc2lnbm1lbnROYW1lOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgYXNzaWdubWVudFBhdGg6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBzZWN0aW9uRm9yRHJvcGRvd25TaGFwZSA9IFByb3BUeXBlcy5zaGFwZSh7XG4gIGlkOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgaXNBc3NpZ25lZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbn0pO1xuIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9zb3VyY2VNYXBzLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIudE5XX1RRaTBDM0xxbDZ1S0NXZHR7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7YmFja2dyb3VuZC1jb2xvcjojMDAwO29wYWNpdHk6LjY7ei1pbmRleDoxMjUwfS53TjY1QjhVQklFTmpSN0c3d3p3ZHtwb3NpdGlvbjpmaXhlZDt0b3A6MTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3otaW5kZXg6MTM1MDt3aWR0aDo3MCU7bWF4LXdpZHRoOjYwMHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMzMzO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6MXJlbTtvdmVyZmxvdzphdXRvfS5rcndpa1kyaXdHZV9jWFFIUkZCS3tiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6aW5oZXJpdDtib3JkZXI6bm9uZTtwYWRkaW5nOjA7Zm9udDppbmhlcml0O2N1cnNvcjpwb2ludGVyO291dGxpbmU6aW5oZXJpdDtib3gtc2hhZG93Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjFyZW07aW5zZXQtaW5saW5lLWVuZDoxcmVtfS5rcndpa1kyaXdHZV9jWFFIUkZCSyBpe2NvbG9yOiNiZWMyYzc7Zm9udC1zaXplOjEuMTg3NXJlbTtsaW5lLWhlaWdodDoxLjQ4NDRyZW07d2lkdGg6MS40ODQ0cmVtfS5rcndpa1kyaXdHZV9jWFFIUkZCSzpob3Zlcntib3gtc2hhZG93Om5vbmU7YmFja2dyb3VuZDpub25lO2NvbG9yOmluaGVyaXQ7Ym9yZGVyOm5vbmU7cGFkZGluZzowO2ZvbnQ6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOmluaGVyaXR9Lmtyd2lrWTJpd0dlX2NYUUhSRkJLOmhvdmVyIGl7Y29sb3I6Izk4OWVhNX0ua3J3aWtZMml3R2VfY1hRSFJGQks6Zm9jdXN7b3V0bGluZTojMDA5ZWIwIHNvbGlkIDJweDtvdXRsaW5lLW9mZnNldDoycHh9XCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vc3JjL3NoYXJlZENvbXBvbmVudHMvYWNjZXNzaWJsZS1kaWFsb2d1ZS5tb2R1bGUuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vc2hhcmVkL2Nzcy9jb2xvci5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUVBLHNCQUNFLGNBQUEsQ0FDQSxLQUFBLENBQ0EsT0FBQSxDQUNBLFFBQUEsQ0FDQSxNQUFBLENBQ0EscUJBQUEsQ0FDQSxVQUFBLENBQ0EsWUFBQSxDQUdGLHNCQUNFLGNBQUEsQ0FDQSxPQUFBLENBQ0EsUUFBQSxDQUNBLDBCQUFBLENBQ0EsWUFBQSxDQUNBLFNBQUEsQ0FDQSxlQUFBLENBQ0EscUJBQUEsQ0FDQSxVQ3lEYSxDRHhEYixpQkFBQSxDQUNBLFlBQUEsQ0FDQSxhQUFBLENBR0Ysc0JBRUUsZUFBQSxDQUNBLGFBQUEsQ0FDQSxXQUFBLENBQ0EsU0FBQSxDQUNBLFlBQUEsQ0FDQSxjQUFBLENBQ0EsZUFBQSxDQUNBLGVBQUEsQ0FFQSxpQkFBQSxDQUNBLFFBQUEsQ0FDQSxxQkFBQSxDQUVBLHdCQUNFLGFDOEphLENEN0piLG1CQUFBLENBQ0EscUJBQUEsQ0FDQSxlQUFBLENBR0YsNEJBRUUsZUFBQSxDQUNBLGVBQUEsQ0FDQSxhQUFBLENBQ0EsV0FBQSxDQUNBLFNBQUEsQ0FDQSxZQUFBLENBQ0EsY0FBQSxDQUNBLGVBQUEsQ0FFQSw4QkFDRSxhQzhJVyxDRDFJZiw0QkFDRSx5QkFBQSxDQUNBLGtCQUFBXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkBpbXBvcnQgJ2NvbG9yLnNjc3MnO1xcblxcbi5tb2RhbEJhY2tkcm9wIHtcXG4gIHBvc2l0aW9uOiBmaXhlZDtcXG4gIHRvcDogMDtcXG4gIHJpZ2h0OiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgbGVmdDogMDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XFxuICBvcGFjaXR5OiAwLjY7XFxuICB6LWluZGV4OiAxMjUwO1xcbn1cXG5cXG4ubW9kYWwge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAxMCU7XFxuICBsZWZ0OiA1MCU7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XFxuICB6LWluZGV4OiAxMzUwO1xcbiAgd2lkdGg6IDcwJTtcXG4gIG1heC13aWR0aDogNjAwcHg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgY29sb3I6ICRkZWZhdWx0X3RleHQ7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxuICBwYWRkaW5nOiAxcmVtO1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxufVxcblxcbi54Q2xvc2VCdXR0b24ge1xcbiAgLy8gQ2xlYXIgZGVmYXVsdCBidXR0b24gc3R5bGVzXFxuICBiYWNrZ3JvdW5kOiBub25lO1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICBib3JkZXI6IG5vbmU7XFxuICBwYWRkaW5nOiAwO1xcbiAgZm9udDogaW5oZXJpdDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIG91dGxpbmU6IGluaGVyaXQ7XFxuICBib3gtc2hhZG93OiBub25lO1xcblxcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAxcmVtO1xcbiAgaW5zZXQtaW5saW5lLWVuZDogMXJlbTsgLy8gTG9naWNhbCBwcm9wZXJ0eSBmb3IgcmlnaHQgaW4gTFRSLCBsZWZ0IGluIFJUTFxcblxcbiAgaSB7XFxuICAgIGNvbG9yOiAkbGlnaHRfZ3JheV8zMDA7XFxuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xcbiAgICBsaW5lLWhlaWdodDogMS40ODQ0cmVtO1xcbiAgICB3aWR0aDogMS40ODQ0cmVtO1xcbiAgfVxcblxcbiAgJjpob3ZlciB7XFxuICAgIC8vIENsZWFyIGRlZmF1bHQgYnV0dG9uIHN0eWxlc1xcbiAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xcbiAgICBjb2xvcjogaW5oZXJpdDtcXG4gICAgYm9yZGVyOiBub25lO1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBmb250OiBpbmhlcml0O1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIG91dGxpbmU6IGluaGVyaXQ7XFxuXFxuICAgIGkge1xcbiAgICAgIGNvbG9yOiAkbGlnaHRfZ3JheV81MDA7XFxuICAgIH1cXG4gIH1cXG5cXG4gICY6Zm9jdXMge1xcbiAgICBvdXRsaW5lOiAkYnJhbmRfcHJpbWFyeV9kZWZhdWx0IHNvbGlkIDJweDtcXG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcXG4gIH1cXG59XFxuXCIsXCIvLyBjb2xvcnMgZnJvbSBodHRwczovL3d3dy5kcm9wYm94LmNvbS9zL3ljaml3dDh2eGxtdjJpaC9Db2RlLm9yZ19zdHlsZXNoZWV0X3YyXzA5LjA1LjEzLnBkZlxcblxcbi8vIFBsZWFzZSBrZWVwIHRoaXMgZmlsZSBzaW1wbGU7IGl0IHNob3VsZCBvbmx5IGNvbnRhaW4gY29sb3IgZGVmaW5pdGlvbnNcXG4vLyAgIGFuZCBhbGlhc2VzLiAgVmFyaWFibGVzIGRlZmluZWQgaW4gdGhpcyBmaWxlIGFyZSBleHBvcnRlZCB0b1xcbi8vICAgYXBwcy9zcmMvdXRpbC9jb2xvci5qcyBkdXJpbmcgdGhlIGFwcHMgYnVpbGQgcHJvY2Vzcy5cXG5cXG4kYmxhY2s6ICMwMDA7XFxuJGJhY2tncm91bmRfYmxhY2s6ICMxMjE0MTY7XFxuJGRhcmtfZ3JheTogIzJEMzEzOTtcXG4kZGFya2VzdF9ncmF5OiAjMjkyRjM2O1xcbiRkYXJrX3NsYXRlX2dyYXk6ICMyODJjMzQ7XFxuJGRhcmtlc3Rfc2xhdGVfZ3JheTogIzI1MjkyZDtcXG4kZGFya19jaGFyY29hbDogIzRkNTc1ZjtcXG4kY2hhcmNvYWw6ICM1YjY3NzA7XFxuJGxpZ2h0X2dyYXk6ICM5NDljYTI7XFxuJGxpZ2h0ZXJfZ3JheTogI2M2Y2FjZDtcXG4kbGlnaHRlc3RfZ3JheTogI2U3ZThlYTtcXG4kYmFja2dyb3VuZF9ncmF5OiAjZjJmMmYyO1xcbiRkaW1ncmF5OiAjNjk2OTY5O1xcbiR3aGl0ZTogI2ZmZjtcXG4kZGVmYXVsdF9ibHVlOiAjMzY3MGIzO1xcblxcbiRkYXJrX3RlYWw6ICMwMDk0YTM7XFxuJHRlYWw6ICMwMDkzYTQ7XFxuJGFwcGxhYl9idXR0b25fdGVhbDogIzFhYmM5YztcXG4kbGlnaHRfdGVhbDogIzU5Y2FkMztcXG4kbGlnaHRpc2hfdGVhbDogIzgwZDZkZTtcXG4kbGlnaHRlcl90ZWFsOiAjYTZlM2U4O1xcbiRsaWdodGVzdF90ZWFsOiAjZDlmM2Y1O1xcbiRhaV9ydWJyaWNfY3lhbjogIzNjZmZmODtcXG5cXG4kcHVycGxlOiAjOGM1MmJhO1xcbiRsaWdodF9wdXJwbGU6ICNhNjliYzE7XFxuJGxpZ2h0ZXJfcHVycGxlOiAjY2ZjOWRlO1xcbiRsaWdodGVzdF9wdXJwbGU6ICNlYmU4ZjE7XFxuXFxuJGN5YW46ICMwMDk0Y2E7XFxuJGxpZ2h0X2N5YW46ICM1OWI5ZGM7XFxuJGxpZ2h0ZXJfY3lhbjogI2E2ZGFlZDtcXG4kbGlnaHRlc3RfY3lhbjogI2Q5ZWZmNztcXG4kYWxtb3N0X3doaXRlX2N5YW46ICNmNWZjZmY7XFxuXFxuJG9yYW5nZTogI2ZmYTQwMDtcXG4kbGlnaHRfb3JhbmdlOiAjZmZjNDU5O1xcbiRsaWdodGVyX29yYW5nZTogI2ZmZTBhNjtcXG4kbGlnaHRlc3Rfb3JhbmdlOiAjZmZmMmQ5O1xcbiRkYXJrX29yYW5nZTogI2ZmODYwMDtcXG5cXG4kZ3JlZW46ICNiOWJmMTU7XFxuJGxpZ2h0X2dyZWVuOiAjZDFkNTY3O1xcbiRsaWdodGVyX2dyZWVuOiAjZTdlOWFkO1xcbiRsaWdodGVzdF9ncmVlbjogI2Y1ZjVkYztcXG4kaGlnaGxpZ2h0X2dyZWVuOiAjOGFmYzliO1xcblxcbiR5ZWxsb3c6ICNmZmI4MWQ7XFxuJGxpZ2h0X3llbGxvdzogI2ZmZGI3NDtcXG4kbGlnaHRlcl95ZWxsb3c6ICNmZmViYjU7XFxuJGxpZ2h0ZXN0X3llbGxvdzogI2ZmZjdkZjtcXG5cXG4kZ29sZGVucm9kOiAjZGFhNTIwO1xcblxcbiRoZWFkZXJfdGV4dDogJHdoaXRlO1xcbiRia2duZF9jb2xvcjogJHRlYWw7XFxuJGluc2V0X2NvbG9yOiAkbGlnaHRlcl9ncmF5O1xcbiRkYXJrX2NvbG9yOiAkcHVycGxlO1xcbiRoZHJfY29sb3I6ICRwdXJwbGU7XFxuXFxuLy8gU29tZSBleHRyYSBjb2xvcnMuXFxuJHJlZDogI2MwMDtcXG4kbGlnaHRlc3RfcmVkOiAjZmNjO1xcbiRkYXJrX3JlZDogI2Q2MjkxMTtcXG4kcmVhbGdyZWVuOiAjMDA4MDAwO1xcbiRyZWFseWVsbG93OiAjZmYwO1xcbiRtdXN0YXJkeWVsbG93OiAjZWZjZDFjO1xcbiR0d2l0dGVyX2JsdWU6ICMwMGFjZWQ7XFxuJGZhY2Vib29rX2JsdWU6ICMzYjU5OTg7XFxuJGxpbmtlZGluX2JsdWU6ICMwMDc3QjU7XFxuJGRhcmtfYmx1ZTogIzAwNjQ3ZjtcXG4kYmxvY2tseV9mbHlvdXRfZ3JheTogI2RkZDtcXG4kZGVmYXVsdF90ZXh0OiAjMzMzO1xcbiRib3JkZXJfZ3JheTogI2JiYjtcXG4kYm9yZGVyX2xpZ2h0X2dyYXk6ICNkOGQ4ZDg7XFxuJHRhYmxlX2hlYWRlcjogI2VjZWNlYztcXG4kdGFibGVfbGlnaHRfcm93OiAjZmNmY2ZjO1xcbiR0YWJsZV9kYXJrX3JvdzogI2Y0ZjRmNDtcXG5cXG4vLyBQcm9ncmVzcyBjb2xvcnMuXFxuJGxldmVsX3N1Ym1pdHRlZDogJHB1cnBsZTtcXG4kbGV2ZWxfcGVyZmVjdDogcmdiKDE0LCAxOTAsIDE0KTtcXG4kbGV2ZWxfcGFzc2VkOiByZ2IoMTU5LCAyMTIsIDE1OSk7XFxuJGxldmVsX2F0dGVtcHRlZDogJHJlYWx5ZWxsb3c7XFxuJGxldmVsX25vdF90cmllZDogI2ZlZmVmZTtcXG4kbGV2ZWxfY3VycmVudDogJG9yYW5nZTtcXG4kbGV2ZWxfcmV2aWV3X3JlamVjdGVkOiAkcmVkO1xcbiRsZXZlbF9yZXZpZXdfYWNjZXB0ZWQ6IHJnYigxMSwgMTQyLCAxMSk7IC8vIFRPRE86ICRsZXZlbF9wYXNzZWQ7XFxuJGFzc2Vzc21lbnQ6ICRjeWFuO1xcbiR3b3Jrc3BhY2VfcnVubmluZ19iYWNrZ3JvdW5kOiAjZTVlNWU1O1xcblxcbi8vIEV4cGVyaW1lbnRhbCBTcHJpdGUgTGFiIHZhbGlkYXRpb24gY29sb3JzLlxcbiRkYXJrX3B1cnBsZTogIzY4MkE3NztcXG4kYnJpZ2h0X2dyZWVuOiAjMGViZTBlO1xcbiRuZW9uX3Bpbms6ICNlOTExOGY7XFxuXFxuLy8gTGlua3MgKHVzZWQgaW4gYXBwcykuXFxuJGxpbmtfY29sb3I6ICMwNTk2Y2U7XFxuXFxuLy8gU2hhZG93LlxcbiRzaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG5cXG4vLyBDb2xvcnMgdGhhdCBhcmUgdGFrZW4gZnJvbSBib290c3RyYXAsIGFuZCBub3QgbmVjZXNzYXJpbHkgcGFydCBvZiBvdXIgY29yZSB0aGVtZS5cXG4kYm9vdHN0cmFwX2J1dHRvbl9ibHVlOiAjMzM3YWI3O1xcbiRib290c3RyYXBfYnV0dG9uX3JlZDogI2Q5NTM0ZjtcXG4kYm9vdHN0cmFwX2Vycm9yX2JhY2tncm91bmQ6ICNmMmRlZGU7XFxuJGJvb3RzdHJhcF9lcnJvcl90ZXh0OiAjYjk0YTQ4O1xcbiRib290c3RyYXBfdjNfZXJyb3JfdGV4dDogI2E5NDQ0MjtcXG4kYm9vdHN0cmFwX2Vycm9yX2JvcmRlcjogI2ViY2NkMTtcXG4kYm9vdHN0cmFwX3dhcm5pbmdfYmFja2dyb3VuZDogI2ZjZjhlMztcXG4kYm9vdHN0cmFwX3dhcm5pbmdfdGV4dDogI2MwOTg1MztcXG4kYm9vdHN0cmFwX3dhcm5pbmdfYm9yZGVyOiAjZmFlYmNjO1xcbiRib290c3RyYXBfYm9yZGVyX2NvbG9yOiAjY2NjY2NjO1xcbiRib290c3RyYXBfc3VjY2Vzc19iYWNrZ3JvdW5kOiAjZGZmMGQ4O1xcbiRib290c3RyYXBfc3VjY2Vzc190ZXh0OiAjNDY4ODQ3O1xcbiRib290c3RyYXBfc3VjY2Vzc19ib3JkZXI6ICNkNmU5YzY7XFxuXFxuLy8gQ29sb3JzIHRha2VuIGZyb20gZHJvcGxldCwgbm90IHBhcnQgb2Ygb3VyIGNvcmUgdGhlbWUuXFxuJGRyb3BsZXRfbGlnaHRfZ3JlZW46ICNkM2U5NjU7XFxuJGRyb3BsZXRfYmx1ZTogIzY0YjVmNjtcXG4kZHJvcGxldF9icmlnaHRfYmx1ZTogIzE5YzNlMTtcXG4kZHJvcGxldF95ZWxsb3c6ICNmZmYxNzY7XFxuJGRyb3BsZXRfb3JhbmdlOiAjZmZiNzRkO1xcbiRkcm9wbGV0X3JlZDogI2Y3ODE4MztcXG4kZHJvcGxldF9jeWFuOiAjNGRkMGUxO1xcbiRkcm9wbGV0X3Bpbms6ICNmNTdhYzY7XFxuJGRyb3BsZXRfcHVycGxlOiAjYmI3N2M3O1xcbiRkcm9wbGV0X2dyZWVuOiAjNjhkOTk1O1xcbiRkcm9wbGV0X3doaXRlOiAkd2hpdGU7XFxuXFxuLy8gT2NlYW5zOiBkZWVwIGJsdWUgYmFja2dyb3VuZC5cXG4kb2NlYW5zX2RlZXBfYmx1ZTogcmdiKDIsIDAsIDI4KTtcXG5cXG4vLyBEYXJrIHRoZW1lIGJhY2tncm91bmQgKHVzZWQgYnkgZGVmYXVsdCBpbiBNdXNpYyBMYWIpXFxuJGRhcmtfYmxhY2s6ICMxMjEyMTI7XFxuXFxuLy8gPT09LS0tLT09PS0tLS09PT0tLS0tIFBoYXNlIDEgQ29sb3JzOiAtLS0tPT09LS0tLT09PS0tLS09PT1cXG4vLyBCcmFuZFxcbiRicmFuZF9wcmltYXJ5X2xpZ2h0OiAjRTBGOEY5O1xcbiRicmFuZF9wcmltYXJ5X2RlZmF1bHQ6ICMwMDlFQjA7XFxuJGJyYW5kX3ByaW1hcnlfZGFyazogIzAwNzc4NTtcXG5cXG4kYnJhbmRfc2Vjb25kYXJ5X2xpZ2h0OiAjRTBEMUVDO1xcbiRicmFuZF9zZWNvbmRhcnlfZGVmYXVsdDogIzhDNTJCQTtcXG4kYnJhbmRfc2Vjb25kYXJ5X2Rhcms6ICM2QzQ2OEE7XFxuXFxuJGJyYW5kX2FjY2VudF9kZWZhdWx0OiAjRUQ2MDYwO1xcblxcbiRicmFuZF90ZWFsXzU6ICNERkYyRjQ7XFxuXFxuLy9Qcm9kdWN0XFxuJHByb2R1Y3RfYWZmaXJtYXRpdmVfZGVmYXVsdDogIzNFQTMzRTtcXG5cXG4kcHJvZHVjdF9uZWdhdGl2ZV9saWdodDogI0ZERUJFOTtcXG4kcHJvZHVjdF9uZWdhdGl2ZV9kZWZhdWx0OiAjRTUzMTFBO1xcbiRwcm9kdWN0X25lZ2F0aXZlX2Rhcms6ICNBQTI1MTM7XFxuXFxuJHByb2R1Y3RfY2F1dGlvbl9kZWZhdWx0OiAjRjlDQjI4O1xcblxcbiRwcm9kdWN0X2luZm9ybWF0aW9uX2RlZmF1bHQ6ICMwMDdBQ0M7XFxuXFxuLy8gTmV1dHJhbFxcbiRuZXV0cmFsX3doaXRlOiAjRkZGRkZGO1xcbiRuZXV0cmFsX2xpZ2h0OiAjRjdGOEZBO1xcbiRuZXV0cmFsX2dyYXkxMDogI0VBRUJFQjtcXG4kbmV1dHJhbF9kYXJrMTA6ICNFQUVDRUY7XFxuJG5ldXRyYWxfZGFyazIwOiAjRDFENEQ4O1xcbiRuZXV0cmFsX2RhcmszMDogI0JFQzJDNztcXG4kbmV1dHJhbF9kYXJrNDA6ICNBQkIwQjY7XFxuJG5ldXRyYWxfZGFyazUwOiAjOTg5RUE1O1xcbiRuZXV0cmFsX2Rhcms2MDogIzg1OEM5NDtcXG4kbmV1dHJhbF9kYXJrNzA6ICM3MjdBODM7XFxuJG5ldXRyYWxfZGFyazgwOiAjNUY2ODcyO1xcbiRuZXV0cmFsX2Rhcms5MDogIzRDNTY2MTtcXG4kbmV1dHJhbF9kYXJrOiAjMjkyRjM2O1xcblxcbi8vQnJhbmRzXFxuJGdvb2dsZV9icmFuZF9jb2xvcjogIzBGOUQ1ODtcXG4kbWljcm9zb2Z0X2JyYW5kX2NvbG9yOiAjRkZCOTAwO1xcbiRmYWNlYm9va19icmFuZF9jb2xvcjogIzNCNTk5ODtcXG4kY2xldmVyX2JyYW5kX2NvbG9yOiAjMTQ2NEZGO1xcblxcbi8vID09PS0tLS09PT0tLS0tPT09LS0tLSBEZXNpZ24gc3lzdGVtIGNvbG9yczogLS0tLT09PS0tLS09PT0tLS0tPT09XFxuXFxuJGxpZ2h0X3ByaW1hcnlfMTAwOiAjQkZFNEU4O1xcbiRsaWdodF9wcmltYXJ5XzUwMDogIzAwOTNBNDtcXG4kbGlnaHRfcHJpbWFyeV83MDA6ICMwMDc3ODU7XFxuXFxuJGxpZ2h0X3NlY29uZGFyeV8xMDA6ICNFMkQ0RUU7XFxuJGxpZ2h0X3NlY29uZGFyeV81MDA6ICM4QzUyQkE7XFxuJGxpZ2h0X3NlY29uZGFyeV83MDA6ICM2QzQ2OEE7XFxuXFxuJGxpZ2h0X2dyYXlfNTA6ICNGN0Y4RkE7XFxuJGxpZ2h0X2dyYXlfMTAwOiAjRUFFQ0VGO1xcbiRsaWdodF9ncmF5XzIwMDogI0QxRDREODtcXG4kbGlnaHRfZ3JheV8zMDA6ICNCRUMyQzc7XFxuJGxpZ2h0X2dyYXlfNDAwOiAjQUJCMEI2O1xcbiRsaWdodF9ncmF5XzUwMDogIzk4OUVBNTtcXG4kbGlnaHRfZ3JheV82MDA6ICM4NThDOTQ7XFxuJGxpZ2h0X2dyYXlfNzAwOiAjNzI3QTgzO1xcbiRsaWdodF9ncmF5XzgwMDogIzVGNjg3MjtcXG4kbGlnaHRfZ3JheV85MDA6ICM0QzU2NjE7XFxuJGxpZ2h0X2dyYXlfOTUwOiAjMzk0NDUwO1xcblxcbiRsaWdodF9hZmZpcm1hdGl2ZV8xMDA6ICNFMkYxRTI7XFxuJGxpZ2h0X2FmZmlybWF0aXZlXzUwMDogIzNFQTMzRTtcXG4kbGlnaHRfYWZmaXJtYXRpdmVfNzAwOiAjMkQ3NDJEO1xcblxcbiRsaWdodF9uZWdhdGl2ZV8xMDA6ICNGQkUwREQ7XFxuJGxpZ2h0X25lZ2F0aXZlXzUwMDogI0U1MzExQTtcXG4kbGlnaHRfbmVnYXRpdmVfNzAwOiAjQjI0OTQ5O1xcblxcbiRsaWdodF9jYXV0aW9uXzEwMDogI0ZFRjdERjtcXG4kbGlnaHRfY2F1dGlvbl81MDA6ICNGOUNCMjg7XFxuJGxpZ2h0X2NhdXRpb25fNzAwOiAjQzdBMjIwO1xcblxcbiRsaWdodF9hY2NlbnRfMTAwOiAjRkFEN0Q3O1xcbiRsaWdodF9hY2NlbnRfNTAwOiAjRUQ2MDYwO1xcbiRsaWdodF9hY2NlbnRfNzAwOiAjRDg0QzRDO1xcblxcbiRsaWdodF9hcXVhXzEwMDogI0NFRkZGRDtcXG4kbGlnaHRfYXF1YV81MDA6ICMzQ0ZGRjg7XFxuJGxpZ2h0X2FxdWFfNzAwOiAjMzBDQ0M2O1xcblxcbiRsaWdodF9vcmFuZ2VfMTAwOiAjRkZFRENDO1xcbiRsaWdodF9vcmFuZ2VfNTAwOiAjRkZBNDAwO1xcbiRsaWdodF9vcmFuZ2VfNzAwOiAjQ0M4MzAwO1xcblxcbiRsaWdodF9pbmZvXzEwMDogI0RDRUZGQjtcXG4kbGlnaHRfaW5mb181MDA6ICMxODkyRTM7XFxuJGxpZ2h0X2luZm9fNzAwOiAjMTM3NUI2O1xcblxcbiRsaWdodF93aGl0ZTogI0ZGRkZGRjtcXG5cXG4kbGlnaHRfYmxhY2s6ICMyOTJGMzY7XFxuXFxuJGxpZ2h0X2JsYWNrX29wYWNpdHlfOTA6IHJnYmEoNDEsIDQ3LCA1NCwgMC45MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktODA6IHJnYmEoNDEsIDQ3LCA1NCwgMC44MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktNzA6IHJnYmEoNDEsIDQ3LCA1NCwgMC43MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktNjA6IHJnYmEoNDEsIDQ3LCA1NCwgMC42MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktNTA6IHJnYmEoNDEsIDQ3LCA1NCwgMC41MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktNDA6IHJnYmEoNDEsIDQ3LCA1NCwgMC40MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktMzA6IHJnYmEoNDEsIDQ3LCA1NCwgMC4zMCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktMjA6IHJnYmEoNDEsIDQ3LCA1NCwgMC4yMCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktMTA6IHJnYmEoNDEsIDQ3LCA1NCwgMC4xMCk7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5sb2NhbHMgPSB7XG5cdFwibW9kYWxCYWNrZHJvcFwiOiBcInROV19UUWkwQzNMcWw2dUtDV2R0XCIsXG5cdFwibW9kYWxcIjogXCJ3TjY1QjhVQklFTmpSN0c3d3p3ZFwiLFxuXHRcInhDbG9zZUJ1dHRvblwiOiBcImtyd2lrWTJpd0dlX2NYUUhSRkJLXCJcbn07XG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvc291cmNlTWFwcy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLnFnY0w3R2tVUmFqdjlzVFBSdTAwe21heC1oZWlnaHQ6ODB2aCAhaW1wb3J0YW50O292ZXJmbG93OnZpc2libGUgIWltcG9ydGFudDtwYWRkaW5nOjMwcHg7cGFkZGluZy1ib3R0b206MjVweH0uZnVuUVdrM1ZHM1NvUThjOUpFb0N7b3ZlcmZsb3cteTpzY3JvbGw7bWF4LWhlaWdodDo3MHZofS52aTFaYkw1c29yc0FzRW5hMDZoeXtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTJweCAwO2JvcmRlcjoxcHggc29saWQgIzk4OWVhNTtib3JkZXItbGVmdC13aWR0aDowO2JvcmRlci1yaWdodC13aWR0aDowfS52aTFaYkw1c29yc0FzRW5hMDZoeSBwe21hcmdpbjowfS5LRktrbWpTMHNtc3VsNlVWc1Z3ZnttYXJnaW46MjRweCAwIDEycHggMDtwYWRkaW5nOjAgMCA1cHggNXB4fS5LRktrbWpTMHNtc3VsNlVWc1Z3ZiBoNXttYXJnaW4tYm90dG9tOjB9LktGS2ttalMwc21zdWw2VVZzVndmIC5pTUdIMktEVFR1bHJFWGxtUDI1NXtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWFyZ2luOjEycHggMCA0cHggMH0uS0ZLa21qUzBzbXN1bDZVVnNWd2YgLmlNR0gyS0RUVHVsckVYbG1QMjU1IGxhYmVse3dpZHRoOjI4MHB4O21hcmdpbi1ib3R0b206OHB4fS5mWGxSMDM3X2ZMZU94TGkxdXhvYyBoM3ttYXJnaW4tYm90dG9tOjB9LmxFaGNzclJwdjQxZVEyNU5SQUh2e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtib3JkZXItdG9wOjFweCBzb2xpZCAjOTg5ZWE1O3BhZGRpbmctdG9wOjEwcHh9XCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vc3JjL3RlbXBsYXRlcy9tdWx0aXBsZS1zZWN0aW9ucy1hc3NpZ25lci5tb2R1bGUuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFFQSxzQkFDRSwwQkFBQSxDQUNBLDJCQUFBLENBQ0EsWUFBQSxDQUNBLG1CQUFBLENBR0Ysc0JBQ0UsaUJBQUEsQ0FDQSxlQUFBLENBR0Ysc0JBQ0UsY0FBQSxDQUNBLGFBQUEsQ0FDQSxjQUFBLENBQ0Esd0JBQUEsQ0FDQSxtQkFBQSxDQUNBLG9CQUFBLENBRUEsd0JBQ0UsUUFBQSxDQUlKLHNCQUNFLG9CQUFBLENBQ0EsbUJBQUEsQ0FFQSx5QkFDRSxlQUFBLENBR0YsNENBQ0UsWUFBQSxDQUNBLGNBQUEsQ0FDQSw2QkFBQSxDQUNBLG1CQUFBLENBRUEsa0RBQ0UsV0FBQSxDQUNBLGlCQUFBLENBS04seUJBQ0UsZUFBQSxDQUdGLHNCQUNFLFlBQUEsQ0FDQSw2QkFBQSxDQUNBLDRCQUFBLENBQ0EsZ0JBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQGltcG9ydCBcXFwiY29sb3JcXFwiO1xcblxcbi5wb3BVcENvbnRhaW5lcntcXG4gIG1heC1oZWlnaHQ6IDgwdmggIWltcG9ydGFudDtcXG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XFxuICBwYWRkaW5nOiAzMHB4O1xcbiAgcGFkZGluZy1ib3R0b206IDI1cHhcXG59XFxuXFxuLmluZm9ybWF0aW9ue1xcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xcbiAgbWF4LWhlaWdodDogNzB2aDtcXG59XFxuXFxuLnNlY3Rpb25zRGlyZWN0aW9ucyB7XFxuICBmb250LXNpemU6IDE0cHg7XFxuICBtYXJnaW46IDEycHggMDtcXG4gIHBhZGRpbmc6IDEycHggMDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICRuZXV0cmFsX2Rhcms1MDtcXG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xcblxcbiAgcCB7XFxuICAgIG1hcmdpbjogMDtcXG4gIH1cXG59XFxuXFxuLnNlY3Rpb25MaXN0IHtcXG4gIG1hcmdpbjogMjRweCAwIDEycHggMDtcXG4gIHBhZGRpbmc6IDAgMCA1cHggNXB4O1xcblxcbiAgaDUge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgfVxcblxcbiAgLnNlY3Rpb25MaXN0T3B0aW9uc0NvbnRhaW5lciB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtd3JhcDogd3JhcDtcXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgICBtYXJnaW46IDEycHggMCA0cHggMDtcXG5cXG4gICAgbGFiZWwge1xcbiAgICAgIHdpZHRoOiAyODBweDtcXG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XFxuICAgIH1cXG4gIH1cXG59XFxuICBcXG4ubW9kYWxIZWFkZXIgaDMge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG59XFxuXFxuLmJ1dHRvbkNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRuZXV0cmFsX2Rhcms1MDtcXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLmxvY2FscyA9IHtcblx0XCJwb3BVcENvbnRhaW5lclwiOiBcInFnY0w3R2tVUmFqdjlzVFBSdTAwXCIsXG5cdFwiaW5mb3JtYXRpb25cIjogXCJmdW5RV2szVkczU29ROGM5SkVvQ1wiLFxuXHRcInNlY3Rpb25zRGlyZWN0aW9uc1wiOiBcInZpMVpiTDVzb3JzQXNFbmEwNmh5XCIsXG5cdFwic2VjdGlvbkxpc3RcIjogXCJLRktrbWpTMHNtc3VsNlVWc1Z3ZlwiLFxuXHRcInNlY3Rpb25MaXN0T3B0aW9uc0NvbnRhaW5lclwiOiBcImlNR0gyS0RUVHVsckVYbG1QMjU1XCIsXG5cdFwibW9kYWxIZWFkZXJcIjogXCJmWGxSMDM3X2ZMZU94TGkxdXhvY1wiLFxuXHRcImJ1dHRvbkNvbnRhaW5lclwiOiBcImxFaGNzclJwdjQxZVEyNU5SQUh2XCJcbn07XG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIlxuICAgICAgaW1wb3J0IEFQSSBmcm9tIFwiIS4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgaW1wb3J0IGRvbUFQSSBmcm9tIFwiIS4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3N0eWxlRG9tQVBJLmpzXCI7XG4gICAgICBpbXBvcnQgaW5zZXJ0Rm4gZnJvbSBcIiEuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRCeVNlbGVjdG9yLmpzXCI7XG4gICAgICBpbXBvcnQgc2V0QXR0cmlidXRlcyBmcm9tIFwiIS4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3NldEF0dHJpYnV0ZXNXaXRob3V0QXR0cmlidXRlcy5qc1wiO1xuICAgICAgaW1wb3J0IGluc2VydFN0eWxlRWxlbWVudCBmcm9tIFwiIS4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydFN0eWxlRWxlbWVudC5qc1wiO1xuICAgICAgaW1wb3J0IHN0eWxlVGFnVHJhbnNmb3JtRm4gZnJvbSBcIiEuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZVRhZ1RyYW5zZm9ybS5qc1wiO1xuICAgICAgaW1wb3J0IGNvbnRlbnQsICogYXMgbmFtZWRFeHBvcnQgZnJvbSBcIiEhLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/P3J1bGVTZXRbMV0ucnVsZXNbNF0udXNlWzFdIS4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1s0XS51c2VbMl0hLi9hY2Nlc3NpYmxlLWRpYWxvZ3VlLm1vZHVsZS5zY3NzXCI7XG4gICAgICBcbiAgICAgIFxuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLnN0eWxlVGFnVHJhbnNmb3JtID0gc3R5bGVUYWdUcmFuc2Zvcm1Gbjtcbm9wdGlvbnMuc2V0QXR0cmlidXRlcyA9IHNldEF0dHJpYnV0ZXM7XG5cbiAgICAgIG9wdGlvbnMuaW5zZXJ0ID0gaW5zZXJ0Rm4uYmluZChudWxsLCBcImhlYWRcIik7XG4gICAgXG5vcHRpb25zLmRvbUFQSSA9IGRvbUFQSTtcbm9wdGlvbnMuaW5zZXJ0U3R5bGVFbGVtZW50ID0gaW5zZXJ0U3R5bGVFbGVtZW50O1xuXG52YXIgdXBkYXRlID0gQVBJKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0ICogZnJvbSBcIiEhLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/P3J1bGVTZXRbMV0ucnVsZXNbNF0udXNlWzFdIS4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1s0XS51c2VbMl0hLi9hY2Nlc3NpYmxlLWRpYWxvZ3VlLm1vZHVsZS5zY3NzXCI7XG4gICAgICAgZXhwb3J0IGRlZmF1bHQgY29udGVudCAmJiBjb250ZW50LmxvY2FscyA/IGNvbnRlbnQubG9jYWxzIDogdW5kZWZpbmVkO1xuIiwiXG4gICAgICBpbXBvcnQgQVBJIGZyb20gXCIhLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICBpbXBvcnQgZG9tQVBJIGZyb20gXCIhLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVEb21BUEkuanNcIjtcbiAgICAgIGltcG9ydCBpbnNlcnRGbiBmcm9tIFwiIS4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydEJ5U2VsZWN0b3IuanNcIjtcbiAgICAgIGltcG9ydCBzZXRBdHRyaWJ1dGVzIGZyb20gXCIhLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc2V0QXR0cmlidXRlc1dpdGhvdXRBdHRyaWJ1dGVzLmpzXCI7XG4gICAgICBpbXBvcnQgaW5zZXJ0U3R5bGVFbGVtZW50IGZyb20gXCIhLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0U3R5bGVFbGVtZW50LmpzXCI7XG4gICAgICBpbXBvcnQgc3R5bGVUYWdUcmFuc2Zvcm1GbiBmcm9tIFwiIS4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3N0eWxlVGFnVHJhbnNmb3JtLmpzXCI7XG4gICAgICBpbXBvcnQgY29udGVudCwgKiBhcyBuYW1lZEV4cG9ydCBmcm9tIFwiISEuLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1s0XS51c2VbMV0hLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzRdLnVzZVsyXSEuL211bHRpcGxlLXNlY3Rpb25zLWFzc2lnbmVyLm1vZHVsZS5zY3NzXCI7XG4gICAgICBcbiAgICAgIFxuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLnN0eWxlVGFnVHJhbnNmb3JtID0gc3R5bGVUYWdUcmFuc2Zvcm1Gbjtcbm9wdGlvbnMuc2V0QXR0cmlidXRlcyA9IHNldEF0dHJpYnV0ZXM7XG5cbiAgICAgIG9wdGlvbnMuaW5zZXJ0ID0gaW5zZXJ0Rm4uYmluZChudWxsLCBcImhlYWRcIik7XG4gICAgXG5vcHRpb25zLmRvbUFQSSA9IGRvbUFQSTtcbm9wdGlvbnMuaW5zZXJ0U3R5bGVFbGVtZW50ID0gaW5zZXJ0U3R5bGVFbGVtZW50O1xuXG52YXIgdXBkYXRlID0gQVBJKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0ICogZnJvbSBcIiEhLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/P3J1bGVTZXRbMV0ucnVsZXNbNF0udXNlWzFdIS4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1s0XS51c2VbMl0hLi9tdWx0aXBsZS1zZWN0aW9ucy1hc3NpZ25lci5tb2R1bGUuc2Nzc1wiO1xuICAgICAgIGV4cG9ydCBkZWZhdWx0IGNvbnRlbnQgJiYgY29udGVudC5sb2NhbHMgPyBjb250ZW50LmxvY2FscyA6IHVuZGVmaW5lZDtcbiJdLCJuYW1lcyI6WyJyZWR1Y2VyIiwic3RhdGUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJIaWRkZW5TdGF0ZSIsImFjdGlvbiIsInR5cGUiLCJTRVRfSElEREVOX0xFU1NPTlMiLCJoaWRkZW5MZXNzb25zUGVyU2VjdGlvbiIsImhpZGVhYmxlTGVzc29uc0FsbG93ZWQiLCJzZWN0aW9uSWRzIiwiT2JqZWN0Iiwia2V5cyIsIm5leHRTdGF0ZSIsImZvckVhY2giLCJzZWN0aW9uSWQiLCJsZXNzb25JZCIsInNldEluIiwidG9TdHJpbmciLCJ2YWxpZGF0ZVNlY3Rpb25JZHMiLCJtZXJnZSIsImhpZGRlbkxlc3NvbnNJbml0aWFsaXplZCIsIlVQREFURV9ISURERU5fTEVTU09OIiwiaGlkZGVuIiwiVVBEQVRFX0hJRERFTl9TQ1JJUFQiLCJzY3JpcHRJZCIsImdldEhpZGRlbkxlc3NvbnMiLCJzY3JpcHROYW1lIiwiY2FuSGlkZUxlc3NvbnMiLCJkaXNwYXRjaCIsIiQiLCJhamF4IiwidXJsIiwiY29uY2F0IiwiZGF0YVR5cGUiLCJjb250ZW50VHlwZSIsImRvbmUiLCJyZXNwb25zZSIsImluaXRpYWxpemVIaWRkZW5MZXNzb25zIiwiZGF0YSIsIkFycmF5IiwiaXNBcnJheSIsIl9kZWZpbmVQcm9wZXJ0eSIsIlNUVURFTlRfU0VDVElPTl9JRCIsInNldEhpZGRlbkxlc3NvbnMiLCJmYWlsIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiaW5pdGlhbGl6ZUhpZGRlblNjcmlwdHMiLCJ1cGRhdGVIaWRkZW5TY3JpcHQiLCJpc0xlc3NvbkhpZGRlbkZvclNlY3Rpb24iLCJpc0hpZGRlbkZvclNlY3Rpb24iLCJpc1NjcmlwdEhpZGRlbkZvclNlY3Rpb24iLCJ0b2dnbGVIaWRkZW5MZXNzb24iLCJ1cGRhdGVIaWRkZW5MZXNzb24iLCJwb3N0VG9nZ2xlSGlkZGVuIiwidG9nZ2xlSGlkZGVuU2NyaXB0IiwiX2ltbXV0YWJsZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2pxdWVyeSIsImUiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsIm8iLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwiciIsInQiLCJfdG9Qcm9wZXJ0eUtleSIsImkiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiZXhwb3J0cyIsIkltbXV0YWJsZSIsIlJlY29yZCIsImxlc3NvbnNCeVNlY3Rpb24iLCJNYXAiLCJzY3JpcHRzQnlTZWN0aW9uIiwiZ2V0SW4iLCJnZXQiLCJzaXplIiwiRXJyb3IiLCJzZWN0aW9uX2lkIiwic3RhZ2VfaWQiLCJKU09OIiwic3RyaW5naWZ5Iiwic3VjY2VzcyIsIndpbmRvdyIsIl9fVGVzdEludGVyZmFjZSIsInRvZ2dsZUhpZGRlblVuaXRDb21wbGV0ZSIsIml0ZW1JZCIsImJ5U2VjdGlvbktleSIsIl9jbG9zZUJ1dHRvbiIsIl9jbGFzc25hbWVzIiwiX2ZvY3VzVHJhcFJlYWN0IiwiX3Byb3BUeXBlcyIsIl9yZWFjdCIsIl9DbG9zZU9uRXNjYXBlIiwiX2xvY2FsZSIsIl9hY2Nlc3NpYmxlRGlhbG9ndWVNb2R1bGUiLCJBY2Nlc3NpYmxlRGlhbG9nIiwiX3JlZiIsImlkIiwic3R5bGVzIiwib25DbG9zZSIsIm9uRGlzbWlzcyIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZmFsbGJhY2tGb2N1cyIsIl9yZWYkaW5pdGlhbEZvY3VzIiwiaW5pdGlhbEZvY3VzIiwiX3JlZiRjbG9zZU9uQ2xpY2tCYWNrIiwiY2xvc2VPbkNsaWNrQmFja2Ryb3AiLCJfcmVmJG9uRGVhY3RpdmF0ZSIsIm9uRGVhY3RpdmF0ZSIsIl9yZWYkbm9NQyIsIm5vTUMiLCJtb2RhbFN0eWxlIiwibW9kYWwiLCJkZWZhdWx0U3R5bGUiLCJiYWNrZHJvcFN0eWxlIiwibW9kYWxCYWNrZHJvcCIsImNsb3NlSWNvblN0eWxlIiwieENsb3NlQnV0dG9uIiwieEljb25PbkNsaWNrIiwiY3JlYXRlRWxlbWVudCIsImhhbmRsZUNsb3NlIiwiZm9jdXNUcmFwT3B0aW9ucyIsImNsaWNrT3V0c2lkZURlYWN0aXZhdGVzIiwiY2xhc3NuYW1lcyIsInJvbGUiLCJpMThuIiwiY2xvc2VEaWFsb2ciLCJvbkNsaWNrIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib2JqZWN0IiwiZnVuYyIsImlzUmVxdWlyZWQiLCJub2RlIiwiYm9vbCIsIm1vZHVsZSIsImRlZmF1bHQiLCJDbG9zZU9uRXNjYXBlIiwib25LZXlEb3duIiwiaGFuZGxlS2V5RG93biIsImV2ZW50Iiwia2V5IiwiX2NoZWNrYm94IiwiX3R5cG9ncmFwaHkiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImhhcyIsIm4iLCJfX3Byb3RvX18iLCJhIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5Iiwic2V0IiwiX3JlYWN0UmVkdXgiLCJfaGlkZGVuTGVzc29uUmVkdXgiLCJfQnV0dG9uIiwiX0FjY2Vzc2libGVEaWFsb2ciLCJfc2hhcGVzIiwiX3RlYWNoZXJTZWN0aW9uc1JlZHV4IiwiX211bHRpcGxlU2VjdGlvbnNBc3NpZ25lck1vZHVsZSIsIldlYWtNYXAiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl9pdGVyYWJsZVRvQXJyYXkiLCJmcm9tIiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJsIiwiZiIsIm5leHQiLCJwdXNoIiwiX25vbkl0ZXJhYmxlUmVzdCIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJNdWx0aXBsZVNlY3Rpb25zQXNzaWduZXIiLCJjb3Vyc2VJZCIsImFzc2lnbm1lbnROYW1lIiwiY291cnNlT2ZmZXJpbmdJZCIsImNvdXJzZVZlcnNpb25JZCIsIl9yZWYkcmVhc3NpZ25Db25maXJtIiwicmVhc3NpZ25Db25maXJtIiwiaXNBc3NpZ25pbmdDb3Vyc2UiLCJpc1N0YW5kQWxvbmVVbml0IiwicGFydGljaXBhbnRBdWRpZW5jZSIsIm9uQXNzaWduU3VjY2VzcyIsIl9yZWYkc2VjdGlvbkRpcmVjdGlvbiIsInNlY3Rpb25EaXJlY3Rpb25zIiwiY2hvb3NlU2VjdGlvbnNEaXJlY3Rpb25zIiwic2VjdGlvbnMiLCJ1bmFzc2lnblNlY3Rpb24iLCJhc3NpZ25Ub1NlY3Rpb24iLCJzZWN0aW9uSGFzTmV3RGF0YSIsIl91c2VTdGF0ZTIiLCJ1c2VTdGF0ZSIsImN1cnJlbnRTZWN0aW9uc0Fzc2lnbmVkIiwic2V0Q3VycmVudFNlY3Rpb25zQXNzaWduZWQiLCJpbml0aWFsU2VjdGlvbnNBc3NpZ25lZCIsIlJlYWN0IiwidXNlTWVtbyIsInVuaXRJZCIsInVuaGlkZUFuZEFzc2lnblVuaXQiLCJzZWN0aW9uIiwiYXNzaWduVG9TZWN0aW9uV2l0aENvbmZpcm1hdGlvbiIsImFzc2lnbkNvdXJzZVdpdGhvdXRVbml0IiwidGhlbiIsIm1vZHVsZVN0eWxlIiwicG9wVXBDb250YWluZXIiLCJkaXJlY3Rpb25zRm9yQXNzaWduaW5nU2VjdGlvbnMiLCJpbmZvcm1hdGlvbiIsIm1vZGFsSGVhZGVyIiwiSGVhZGluZzMiLCJjaG9vc2VTZWN0aW9uc1Byb21wdCIsInNlY3Rpb25zRGlyZWN0aW9ucyIsIkJvZHlUd29UZXh0Iiwic2VjdGlvbkxpc3QiLCJIZWFkaW5nNSIsInlvdXJTZWN0aW9uc0xpc3QiLCJzZWN0aW9uTGlzdE9wdGlvbnNDb250YWluZXIiLCJtYXAiLCJpc0Fzc2lnbmFibGVUb1NlY3Rpb24iLCJzZWN0aW9uUGFydGljaXBhbnRUeXBlIiwicGFydGljaXBhbnRUeXBlIiwiY2hlY2tlZCIsInNvbWUiLCJzIiwiY29kZSIsIm9uQ2hhbmdlIiwiaGFuZGxlQ2hhbmdlZENoZWNrYm94IiwiY3VycmVudFNlY3Rpb24iLCJuZXdMaXN0IiwiZmlsdGVyIiwibGFiZWwiLCJ0ZXh0Iiwic2VsZWN0QWxsIiwic2VsZWN0QWxsSGFuZGxlciIsIm5ld1NlY3Rpb25zQXNzaWduZWQiLCJfbG9vcDMiLCJzdHlsZUFzVGV4dCIsImNvbG9yIiwiQnV0dG9uIiwiQnV0dG9uQ29sb3IiLCJicmFuZFNlY29uZGFyeURlZmF1bHQiLCJidXR0b25Db250YWluZXIiLCJkaWFsb2dDYW5jZWwiLCJuZXV0cmFsRGFyayIsImNvbmZpcm1Bc3NpZ25tZW50IiwicmVhc3NpZ25TZWN0aW9ucyIsIl9sb29wIiwiX2xvb3AyIiwiX2kzIiwibnVtYmVyIiwiYXJyYXlPZiIsInNlY3Rpb25Gb3JEcm9wZG93blNoYXBlIiwiY29ubmVjdCIsIl9zaGFyZWRDb25zdGFudHMiLCJzaGFwZSIsImNyZWF0ZWRBdCIsImxvZ2luVHlwZSIsIm9uZU9mIiwiU2VjdGlvbkxvZ2luVHlwZSIsImxlc3NvbkV4dHJhcyIsInBhaXJpbmdBbGxvd2VkIiwidHRzQXV0b3BsYXlFbmFibGVkIiwic3R1ZGVudENvdW50IiwiZ3JhZGVzIiwicHJvdmlkZXJNYW5hZ2VkIiwicmVzdHJpY3RTZWN0aW9uIiwicG9zdE1pbGVzdG9uZURpc2FibGVkIiwic3luY0VuYWJsZWQiLCJwYXRoIiwibGVzc29uX2V4dHJhc19hdmFpbGFibGUiLCJ0ZXh0X3RvX3NwZWVjaF9lbmFibGVkIiwicG9zaXRpb24iLCJ2ZXJzaW9uX3llYXIiLCJjb250ZW50X3Jvb3RfaWQiLCJpc19zdGFibGUiLCJpc19yZWNvbW1lbmRlZCIsImxvY2FsZXMiLCJhcnJheSIsInVuaXRzIiwiZWxlbWVudGFyeSIsImhpZ2giLCJob2MiLCJtaWRkbGUiLCJlbnJvbGxtZW50X2NvZGUiLCJjb3Vyc2Vfc3RhdGUiLCJzdGF0dXMiLCJtZXNzYWdlIiwiY291cnNlVmVyc2lvbk5hbWUiLCJjb3Vyc2VEaXNwbGF5TmFtZSIsImFzc2lnbm1lbnRQYXRoIiwiaXNBc3NpZ25lZCIsIl9fX0NTU19MT0FERVJfRVhQT1JUX19fIiwibG9jYWxzIiwib3B0aW9ucyIsInN0eWxlVGFnVHJhbnNmb3JtIiwic2V0QXR0cmlidXRlcyIsImluc2VydCIsImRvbUFQSSIsImluc2VydFN0eWxlRWxlbWVudCJdLCJzb3VyY2VSb290IjoiIn0=