-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path3739.4768a035.iframe.bundle.js
2 lines (2 loc) · 143 KB
/
3739.4768a035.iframe.bundle.js
1
2
(self.webpackChunkblockly_mooc=self.webpackChunkblockly_mooc||[]).push([[3739],{"./src/code-studio/components/SortedTableSelect.jsx":(module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _lodash=__webpack_require__("./node_modules/lodash/lodash.js"),_propTypes=_interopRequireDefault(__webpack_require__("./node_modules/prop-types/index.js")),_react=_interopRequireDefault(__webpack_require__("./node_modules/react/index.js")),Table=_interopRequireWildcard(__webpack_require__("./node_modules/reactabular-table/dist/index.js")),sort=_interopRequireWildcard(__webpack_require__("./node_modules/sortabular/dist/index.js")),_Headings=__webpack_require__("./src/legacySharedComponents/Headings.jsx"),_tableConstants=__webpack_require__("./src/templates/tables/tableConstants.js"),_wrapped_sortable=_interopRequireDefault(__webpack_require__("./src/templates/tables/wrapped_sortable.js")),_color=_interopRequireDefault(__webpack_require__("./src/util/color.js")),_locale=_interopRequireDefault(__webpack_require__("./src/util/locale-do-not-import.js"));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 _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}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 ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){_defineProperty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}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 DEFAULT_SORT={1:{direction:"asc",position:0}},SortedTableSelect=exports.default=function(_React$Component){function SortedTableSelect(){for(var _this,_len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return _defineProperty(_this=_React$Component.call.apply(_React$Component,[this].concat(args))||this,"state",{sortingColumns:DEFAULT_SORT,selectedOption:void 0}),_defineProperty(_this,"areAllSelected",(function(){return!_this.props.rowData.find((function(row){return!row.isChecked}))})),_defineProperty(_this,"toggleSelectAll",(function(){_this.props.onSelectAll(!_this.areAllSelected())})),_defineProperty(_this,"selectedRowHeaderFormatter",(function(){return _react.default.createElement("input",{style:styles.checkbox,type:"checkbox",checked:_this.areAllSelected(),onChange:_this.toggleSelectAll})})),_defineProperty(_this,"selectedRowFormatter",(function(_,_ref){var rowData=_ref.rowData,onRowChecked=_this.props.onRowChecked;return _react.default.createElement("input",{style:styles.checkbox,type:"checkbox",checked:rowData.isChecked,onChange:function onChange(){return onRowChecked(rowData.id)}})})),_defineProperty(_this,"getColumns",(function(sortable){return[{property:"selected",header:{label:"",formatters:[_this.selectedRowHeaderFormatter],props:{style:_objectSpread(_objectSpread({},_tableConstants.tableLayoutStyles.headerCell),styles.checkboxCell)}},cell:{formatters:[_this.selectedRowFormatter],props:{style:_objectSpread(_objectSpread({},_tableConstants.tableLayoutStyles.cell),styles.checkboxCell)}}},{property:"name",header:{label:_locale.default.name(),props:{style:_objectSpread({},_tableConstants.tableLayoutStyles.headerCell)},transforms:[sortable]},cell:{props:{style:_objectSpread({},_tableConstants.tableLayoutStyles.cell)}}}]})),_defineProperty(_this,"renderOptions",(function(){var selectOptions=_this.props.options.map((function(option){return _react.default.createElement("option",{key:option.id,value:option.id},option.name)}));return selectOptions.unshift(_react.default.createElement("option",{key:"empty",value:""})),selectOptions})),_defineProperty(_this,"getSortingColumns",(function(){return _this.state.sortingColumns||{}})),_defineProperty(_this,"onSort",(function(selectedColumn){_this.setState({sortingColumns:sort.byColumn({sortingColumns:_this.state.sortingColumns,sortingOrder:{FIRST:"asc",asc:"desc",desc:"asc"},selectedColumn})})})),_this}return function _inheritsLoose(t,o){t.prototype=Object.create(o.prototype),t.prototype.constructor=t,_setPrototypeOf(t,o)}(SortedTableSelect,_React$Component),SortedTableSelect.prototype.render=function render(){var _this$props=this.props,rowData=_this$props.rowData,onChooseOption=_this$props.onChooseOption,descriptionText=_this$props.descriptionText,optionsDescriptionText=_this$props.optionsDescriptionText,titleText=_this$props.titleText,children=_this$props.children,tableDescriptionText=_this$props.tableDescriptionText,sortingColumns=this.getSortingColumns(),sortable=(0,_wrapped_sortable.default)(this.getSortingColumns,this.onSort,_tableConstants.sortableOptions),columns=this.getColumns(sortable),sortedRows=sort.sorter({columns,sortingColumns,sort:_lodash.orderBy})(rowData);return _react.default.createElement("div",{className:"ui-test-sortable-table-select"},titleText&&_react.default.createElement(_Headings.Heading1,null,titleText),_react.default.createElement("div",{style:styles.container},_react.default.createElement("div",{style:styles.leftColumn},_react.default.createElement(Table.Provider,{columns,style:styles.table},_react.default.createElement(Table.Header,null),_react.default.createElement(Table.Body,{rows:sortedRows,rowKey:"id"})),tableDescriptionText&&_react.default.createElement("i",{style:styles.italics},tableDescriptionText)),_react.default.createElement("div",{style:styles.rightColumn},descriptionText&&_react.default.createElement("div",{style:styles.infoText},descriptionText),optionsDescriptionText&&_react.default.createElement("label",{htmlFor:"selectOption",style:styles.label},optionsDescriptionText),_react.default.createElement("select",{name:"selectOption",onChange:onChooseOption},this.renderOptions()),children)))},SortedTableSelect}(_react.default.Component);_defineProperty(SortedTableSelect,"propTypes",{rowData:_propTypes.default.arrayOf(_propTypes.default.shape({id:_propTypes.default.number.isRequired,name:_propTypes.default.string.isRequired})).isRequired,onRowChecked:_propTypes.default.func.isRequired,options:_propTypes.default.array.isRequired,onChooseOption:_propTypes.default.func.isRequired,descriptionText:_propTypes.default.string,optionsDescriptionText:_propTypes.default.string,titleText:_propTypes.default.string,children:_propTypes.default.node,onSelectAll:_propTypes.default.func,tableDescriptionText:_propTypes.default.string});var styles={checkboxCell:{width:50,textAlign:"center"},checkbox:{margin:0},container:{display:"flex"},table:{width:300,margin:2},leftColumn:{width:300},rightColumn:{flex:1,paddingLeft:20},infoText:{paddingTop:5,paddingBottom:10},label:{paddingTop:10},italics:{color:_color.default.purple}};module.exports=exports.default},"./src/legacySharedComponents/Headings.jsx":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.h3Style=exports.h3RebrandingStyle=exports.h2Style=exports.h1Style=exports.Heading3=exports.Heading2=exports.Heading1=void 0;var _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")),_fontConstants=_interopRequireDefault(__webpack_require__("./src/fontConstants.js")),_color=_interopRequireDefault(__webpack_require__("./src/util/color.js")),_excluded=["children","style"],_excluded2=["children","style"],_excluded3=["children","isRebranded","style"];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 _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 _extends(){return _extends=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},_extends.apply(null,arguments)}function _objectWithoutProperties(e,t){if(null==e)return{};var o,r,i=function _objectWithoutPropertiesLoose(r,e){if(null==r)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(e.includes(n))continue;t[n]=r[n]}return t}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)o=s[r],t.includes(o)||{}.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}function _inheritsLoose(t,o){t.prototype=Object.create(o.prototype),t.prototype.constructor=t,_setPrototypeOf(t,o)}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){_defineProperty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}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 baseHeadingStyle=_objectSpread(_objectSpread({display:"block"},_fontConstants.default["main-font-semi-bold"]),{},{margin:"10px 0",color:_color.default.dark_charcoal}),h1Style=exports.h1Style=_objectSpread(_objectSpread(_objectSpread({},baseHeadingStyle),_fontConstants.default["main-font-bold"]),{},{fontSize:32,lineHeight:"48px"});_defineProperty(exports.Heading1=function(_Component){function Heading1(){return _Component.apply(this,arguments)||this}return _inheritsLoose(Heading1,_Component),Heading1.prototype.render=function render(){var _this$props=this.props,children=_this$props.children,style=_this$props.style,restProps=_objectWithoutProperties(_this$props,_excluded);return _react.default.createElement("h1",_extends({},restProps,{style:_objectSpread(_objectSpread({},h1Style),style)}),children)},Heading1}(_react.Component),"propTypes",{children:_propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node),_propTypes.default.node]).isRequired,style:_propTypes.default.object});var h2Style=exports.h2Style=_objectSpread(_objectSpread(_objectSpread({},baseHeadingStyle),_fontConstants.default["main-font-regular"]),{},{fontSize:24,lineHeight:"48px"});_defineProperty(exports.Heading2=function(_Component2){function Heading2(){return _Component2.apply(this,arguments)||this}return _inheritsLoose(Heading2,_Component2),Heading2.prototype.render=function render(){var _this$props2=this.props,children=_this$props2.children,style=_this$props2.style,restProps=_objectWithoutProperties(_this$props2,_excluded2);return _react.default.createElement("h2",_extends({},restProps,{style:_objectSpread(_objectSpread({},h2Style),style)}),children)},Heading2}(_react.Component),"propTypes",{children:_propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node),_propTypes.default.node]).isRequired,style:_propTypes.default.object});var h3Style=exports.h3Style=_objectSpread(_objectSpread(_objectSpread({},baseHeadingStyle),_fontConstants.default["main-font-semi-bold"]),{},{fontSize:16,lineHeight:"24px"}),h3RebrandingStyle=exports.h3RebrandingStyle=_objectSpread(_objectSpread({},baseHeadingStyle),{},{fontFamily:'"Barlow Semi Condensed Semibold", sans-serif',fontSize:"1.75em",lineHeight:"1.2"});_defineProperty(exports.Heading3=function(_Component3){function Heading3(){return _Component3.apply(this,arguments)||this}return _inheritsLoose(Heading3,_Component3),Heading3.prototype.render=function render(){var _this$props3=this.props,children=_this$props3.children,isRebranded=_this$props3.isRebranded,style=_this$props3.style,restProps=_objectWithoutProperties(_this$props3,_excluded3),headingStyles=_objectSpread(_objectSpread({},isRebranded?h3RebrandingStyle:h3Style),style);return _react.default.createElement("h3",_extends({},restProps,{style:headingStyles}),children)},Heading3}(_react.Component),"propTypes",{children:_propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node),_propTypes.default.node]).isRequired,style:_propTypes.default.object,isRebranded:_propTypes.default.bool})},"./src/styleConstants.js":module=>{module.exports={"workspace-headers-height":30,"resize-bar-width":13,"delete-opacity":"0.5","content-width":970}},"./src/templates/BaseDialog.jsx":(module,exports,__webpack_require__)=>{"use strict";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")),_Button=_interopRequireDefault(__webpack_require__("./src/legacySharedComponents/Button.jsx")),_locale=_interopRequireDefault(__webpack_require__("./src/util/locale-do-not-import.js")),_constants=__webpack_require__("./src/constants.js"),_color=_interopRequireDefault(__webpack_require__("./src/util/color.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 ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){_defineProperty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}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 BaseDialog=exports.default=function(_React$Component){function BaseDialog(){for(var _this,_len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return _defineProperty(_this=_React$Component.call.apply(_React$Component,[this].concat(args))||this,"handleKeyDown",(function(event){"Escape"===event.key&&_this.closeDialog(),_this.props.handleKeyDown&&_this.props.handleKeyDown(event)})),_defineProperty(_this,"closeDialog",(function(){!_this.props.uncloseable&&_this.props.handleClose&&(_this.props.handleClose(),_this.props.soundPlayer&&_this.props.soundPlayer.stopAllAudio())})),_this}!function _inheritsLoose(t,o){t.prototype=Object.create(o.prototype),t.prototype.constructor=t,_setPrototypeOf(t,o)}(BaseDialog,_React$Component);var _proto=BaseDialog.prototype;return _proto.componentDidMount=function componentDidMount(){this.focusDialog()},_proto.componentDidUpdate=function componentDidUpdate(){this.focusDialog()},_proto.getTabbableElements=function getTabbableElements(){return[].slice.call(this.refs.dialog.querySelectorAll("a,button,input"))},_proto.focusDialog=function focusDialog(){var descendantIsActive=document.activeElement&&this.refs.dialog&&this.refs.dialog.contains(document.activeElement);this.props.isOpen&&!descendantIsActive&&this.refs.dialog.focus()},_proto.render=function render(){if(!this.props.isOpen&&!this.props.hideBackdrop)return _react.default.createElement("div",null);var bodyStyle,modalBodyStyle,xCloseStyle;this.props.fullWidth&&(bodyStyle=_objectSpread(_objectSpread({},bodyStyle),{},{width:"90%",marginLeft:"-45%"})),this.props.fullHeight&&(bodyStyle=_objectSpread(_objectSpread({},bodyStyle),{},{height:"80%"}),modalBodyStyle=_objectSpread(_objectSpread({},modalBodyStyle),{},{boxSizing:"border-box"}));var wrapperClassNames="",modalClassNames="modal",modalBodyClassNames="modal-body",overflowX=this.props.overflow||"hidden",overflowY=this.props.overflow||(this.props.fixedHeight||this.props.fullHeight?"hidden":"auto");this.props.useUpdatedStyles?(wrapperClassNames="dashboard-styles",modalBodyClassNames="",modalBodyStyle={background:"#fff",height:this.props.fixedHeight,maxHeight:!this.props.fixedHeight&&"85vh",overflowX,overflowY,borderRadius:4},this.props.useFlexbox&&(modalBodyStyle=_objectSpread(_objectSpread({},modalBodyStyle),{},{display:"flex",flexDirection:"column"})),bodyStyle=_objectSpread(_objectSpread({},bodyStyle),{},{width:this.props.fixedWidth||_constants.BASE_DIALOG_WIDTH,marginLeft:-this.props.fixedWidth/2||-350})):this.props.noModalStyles&&(modalClassNames="",modalBodyClassNames=""),bodyStyle=_objectSpread(_objectSpread(_objectSpread({},bodyStyle),this.props.hideBackdrop&&{position:"initial",marginLeft:0}),this.props.style),xCloseStyle={position:"absolute",top:0,insetInlineEnd:0,padding:0,color:_color.default.neutral_dark30,cursor:"pointer",fontSize:24,border:"none"},modalBodyClassNames=[modalBodyClassNames,this.props.bodyClassName].filter((function(className){return!!className})).join(" ");var body=_react.default.createElement("div",{style:bodyStyle,tabIndex:"-1",className:modalClassNames,ref:"dialog",onKeyDown:this.handleKeyDown},_react.default.createElement("div",{style:modalBodyStyle,id:this.props.bodyId,className:modalBodyClassNames},!this.props.uncloseable&&!this.props.hideCloseButton&&_react.default.createElement(_Button.default,{id:"x-close",onClick:this.closeDialog,icon:"fa-solid fa-xmark",style:xCloseStyle,color:"white","aria-label":_locale.default.closeDialog()}),this.props.children));return this.props.hideBackdrop?body:_react.default.createElement("div",{className:wrapperClassNames},_react.default.createElement("div",{className:"modal-backdrop",style:this.props.backdropStyle,onClick:this.closeDialog}),body)},BaseDialog}(_react.default.Component);_defineProperty(BaseDialog,"propTypes",{isOpen:_propTypes.default.bool,handleClose:_propTypes.default.func,uncloseable:_propTypes.default.bool,hideCloseButton:_propTypes.default.bool,handleKeyDown:_propTypes.default.func,hideBackdrop:_propTypes.default.bool,fullWidth:_propTypes.default.bool,fullHeight:_propTypes.default.bool,useUpdatedStyles:_propTypes.default.bool,noModalStyles:_propTypes.default.bool,children:_propTypes.default.node,fixedWidth:_propTypes.default.number,fixedHeight:_propTypes.default.number,useFlexbox:_propTypes.default.bool,bodyId:_propTypes.default.string,bodyClassName:_propTypes.default.string,style:_propTypes.default.object,soundPlayer:_propTypes.default.object,overflow:_propTypes.default.string,backdropStyle:_propTypes.default.object}),module.exports=exports.default},"./src/templates/manageStudents/MoveStudents.jsx":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.UnconnectedMoveStudents=void 0;var _lodash=__webpack_require__("./node_modules/lodash/lodash.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"),_SortedTableSelect=_interopRequireDefault(__webpack_require__("./src/code-studio/components/SortedTableSelect.jsx")),_fontConstants=_interopRequireDefault(__webpack_require__("./src/fontConstants.js")),_Button=_interopRequireDefault(__webpack_require__("./src/legacySharedComponents/Button.jsx")),_firehose=_interopRequireDefault(__webpack_require__("./src/metrics/firehose.js")),_BaseDialog=_interopRequireDefault(__webpack_require__("./src/templates/BaseDialog.jsx")),_DialogFooter=_interopRequireDefault(__webpack_require__("./src/templates/teacherDashboard/DialogFooter.jsx")),_teacherSectionsReduxSelectors=__webpack_require__("./src/templates/teacherDashboard/teacherSectionsReduxSelectors.js"),_color=_interopRequireDefault(__webpack_require__("./src/util/color.js")),_sharedConstants=__webpack_require__("./generated-scripts/sharedConstants.ts"),_locale=_interopRequireDefault(__webpack_require__("./src/util/locale-do-not-import.js")),_manageStudentsRedux=__webpack_require__("./src/templates/manageStudents/manageStudentsRedux.js");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 _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 ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){_defineProperty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return 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)||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}}(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 _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}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}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 MoveStudents=function(_Component){function MoveStudents(){for(var _this,_len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return _defineProperty(_this=_Component.call.apply(_Component,[this].concat(args))||this,"state",{isDialogOpen:!1}),_defineProperty(_this,"openDialog",(function(){_this.setState({isDialogOpen:!0}),_firehose.default.putRecord({study:"teacher-dashboard",study_group:"manage-students-actions",event:"move-students-button-click",data_json:JSON.stringify({sectionId:_this.props.currentSectionId})},{includeUserId:!0})})),_defineProperty(_this,"closeDialog",(function(){_this.setState({isDialogOpen:!1}),_this.props.cancelStudentTransfer()})),_defineProperty(_this,"getStudentIds",(function(){return _this.props.studentData.map((function(s){return s.id}))})),_defineProperty(_this,"toggleStudentSelected",(function(studentId){var studentIds=_toConsumableArray(_this.props.transferData.studentIds);if(studentIds.includes(studentId)){var studentIndex=studentIds.indexOf(studentId);studentIds.splice(studentIndex,1)}else studentIds.push(studentId);_this.props.updateStudentTransfer({studentIds})})),_defineProperty(_this,"isValidDestinationSection",(function(section){var isSameAsSource=section.id===_this.props.currentSectionId,isExternallyRostered=![_sharedConstants.SectionLoginType.word,_sharedConstants.SectionLoginType.picture,_sharedConstants.SectionLoginType.email].includes(section.loginType);return!isSameAsSource&&!isExternallyRostered})),_defineProperty(_this,"getOptions",(function(){var sections=_this.props.sections,options=Object.keys(sections).map((function(sectionId){var section=sections[sectionId];return _this.isValidDestinationSection(section)?{id:section.id,name:section.name}:null}));return(options=(0,_lodash.compact)(options)).push({id:"otherTeacher",name:_locale.default.otherTeacher()}),options})),_defineProperty(_this,"onChangeSection",(function(event){var newTransferData,sectionValue=event.target.value;newTransferData="otherTeacher"===sectionValue?{otherTeacher:!0,sectionId:null}:{otherTeacher:!1,sectionId:parseInt(sectionValue),copyStudents:!1},_this.props.updateStudentTransfer(_objectSpread({},newTransferData))})),_defineProperty(_this,"onChangeTeacherSection",(function(event){_this.props.updateStudentTransfer({otherTeacherSection:event.target.value})})),_defineProperty(_this,"onChangeMoveOrCopy",(function(event){_this.props.updateStudentTransfer({copyStudents:event.target.value===_manageStudentsRedux.TransferType.COPY_STUDENTS})})),_defineProperty(_this,"transfer",(function(){_this.props.transferStudents(_this.closeDialog)})),_defineProperty(_this,"isButtonDisabled",(function(){var _this$props$transferD=_this.props.transferData,studentIds=_this$props$transferD.studentIds,sectionId=_this$props$transferD.sectionId,otherTeacher=_this$props$transferD.otherTeacher,otherTeacherSection=_this$props$transferD.otherTeacherSection;return otherTeacher?0===studentIds.length||!otherTeacherSection:0===studentIds.length||!sectionId})),_defineProperty(_this,"toggleAll",(function(shouldSelectAll){var studentIds=[];shouldSelectAll&&(studentIds=_this.getStudentIds()),_this.props.updateStudentTransfer({studentIds})})),_this}return function _inheritsLoose(t,o){t.prototype=Object.create(o.prototype),t.prototype.constructor=t,_setPrototypeOf(t,o)}(MoveStudents,_Component),MoveStudents.prototype.render=function render(){var _this2=this,_this$props=this.props,studentData=_this$props.studentData,transferData=_this$props.transferData,transferStatus=_this$props.transferStatus,pendingTransfer=transferStatus.status===_manageStudentsRedux.TransferStatus.PENDING,selectedStudentData=studentData.map((function(row){return _objectSpread(_objectSpread({},row),{},{isChecked:transferData.studentIds.includes(row.id)})}));return _react.default.createElement("div",null,_react.default.createElement(_Button.default,{style:styles.buttonWithoutMargin,onClick:this.openDialog,color:_Button.default.ButtonColor.gray,text:_locale.default.moveStudents(),icon:"sign-out"}),_react.default.createElement(_BaseDialog.default,{useUpdatedStyles:!0,isOpen:this.state.isDialogOpen,style:styles.dialog,handleClose:this.closeDialog},_react.default.createElement(_SortedTableSelect.default,{rowData:selectedStudentData,onRowChecked:function onRowChecked(id){return _this2.toggleStudentSelected(id)},options:this.getOptions(),onChooseOption:this.onChangeSection,descriptionText:_locale.default.selectStudentsToMove(),optionsDescriptionText:"".concat(_locale.default.moveToSection(),":"),titleText:_locale.default.moveStudents(),onSelectAll:function onSelectAll(shouldSelectAll){return _this2.toggleAll(shouldSelectAll)}},_react.default.createElement("div",null,transferStatus.status===_manageStudentsRedux.TransferStatus.FAIL&&_react.default.createElement("div",{id:"uitest-error",style:styles.error},transferStatus.error),transferData.otherTeacher&&_react.default.createElement("div",{id:"uitest-other-teacher"},_react.default.createElement("label",{htmlFor:"sectionCode",style:styles.label},"".concat(_locale.default.enterSectionCode(),":")),_react.default.createElement("input",{required:!0,name:"sectionCode",style:styles.sectionInput,value:transferData.otherTeacherSection,onChange:this.onChangeTeacherSection,placeholder:_locale.default.sectionCodePlaceholder()}),_react.default.createElement("label",{style:styles.label},_locale.default.bothSectionsQuestion()),_react.default.createElement("label",{style:styles.input},_react.default.createElement("input",{type:"radio",value:_manageStudentsRedux.TransferType.COPY_STUDENTS,checked:transferData.copyStudents,onChange:this.onChangeMoveOrCopy}),_react.default.createElement("span",{style:styles.radioOption},_locale.default.copyStudentsConfirm())),_react.default.createElement("label",{style:styles.input},_react.default.createElement("input",{type:"radio",value:"move",checked:!transferData.copyStudents,onChange:this.onChangeMoveOrCopy}),_react.default.createElement("span",{style:styles.radioOption},_locale.default.moveStudentsConfirm()))))),_react.default.createElement(_DialogFooter.default,null,_react.default.createElement(_Button.default,{style:styles.buttonWithoutMargin,text:_locale.default.dialogCancel(),onClick:this.closeDialog,color:_Button.default.ButtonColor.gray}),_react.default.createElement(_Button.default,{style:styles.buttonWithoutMargin,text:_locale.default.moveStudents(),onClick:this.transfer,color:_Button.default.ButtonColor.brandSecondaryDefault,disabled:pendingTransfer||this.isButtonDisabled(),isPending:pendingTransfer,pendingText:_locale.default.movingStudents()}))))},MoveStudents}(_react.Component);_defineProperty(MoveStudents,"propTypes",{studentData:_propTypes.default.arrayOf(_propTypes.default.shape({id:_propTypes.default.number.isRequired,name:_propTypes.default.string.isRequired})).isRequired,transferData:_propTypes.default.shape({studentIds:_propTypes.default.array.isRequired,sectionId:_propTypes.default.number,otherTeacher:_propTypes.default.bool.isRequired,otherTeacherSection:_propTypes.default.string.isRequired,copyStudents:_propTypes.default.bool.isRequired}),transferStatus:_propTypes.default.shape({status:_propTypes.default.string,type:_propTypes.default.string,error:_propTypes.default.string}),sections:_propTypes.default.arrayOf(_propTypes.default.shape({name:_propTypes.default.string.isRequired,id:_propTypes.default.number.isRequired,loginType:_propTypes.default.string.isRequired})).isRequired,currentSectionId:_propTypes.default.number.isRequired,updateStudentTransfer:_propTypes.default.func.isRequired,transferStudents:_propTypes.default.func.isRequired,cancelStudentTransfer:_propTypes.default.func.isRequired});var styles={dialog:{padding:20,width:800,marginLeft:-400},buttonWithoutMargin:{margin:0,marginBottom:5},label:{paddingTop:10},input:{marginLeft:10},sectionInput:{width:225},radioOption:_objectSpread({paddingLeft:10},_fontConstants.default["main-font-regular"]),error:_objectSpread(_objectSpread({},_fontConstants.default["main-font-semi-bold"]),{},{color:_color.default.red,paddingBottom:10})};exports.UnconnectedMoveStudents=MoveStudents,exports.default=(0,_reactRedux.connect)((function(state){return{sections:(0,_teacherSectionsReduxSelectors.getVisibleSections)(state),currentSectionId:state.teacherSections.selectedSectionId}}),(function(dispatch){return{updateStudentTransfer:function updateStudentTransfer(transferData){dispatch((0,_manageStudentsRedux.updateStudentTransfer)(transferData))},transferStudents:function transferStudents(onComplete){dispatch((0,_manageStudentsRedux.transferStudents)(onComplete))},cancelStudentTransfer:function cancelStudentTransfer(){dispatch((0,_manageStudentsRedux.cancelStudentTransfer)())}}}))(MoveStudents)},"./src/templates/tables/tableConstants.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.tableLayoutStyles=exports.sortableOptions=exports.plTableLayoutStyles=exports.NAME_CELL_INPUT_WIDTH=void 0;var _fontConstants=_interopRequireDefault(__webpack_require__("./src/fontConstants.js")),_styleConstants=_interopRequireDefault(__webpack_require__("./src/styleConstants.js")),_color=_interopRequireDefault(__webpack_require__("./src/util/color.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 ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){_defineProperty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}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}exports.tableLayoutStyles={tableText:{textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"},tableNameText:{textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",minWidth:160},table:{borderWidth:1,borderStyle:"solid",borderColor:_color.default.border_gray,width:_styleConstants.default["content-width"],backgroundColor:_color.default.table_light_row},cell:{maxWidth:200,border:"1px solid",borderColor:_color.default.border_light_gray,padding:10,fontSize:14},headerCell:{backgroundColor:_color.default.table_header,fontWeight:"bold",borderColor:_color.default.border_light_gray,borderStyle:"solid",borderBottomWidth:1,borderTopWidth:0,borderLeftWidth:0,borderRightWidth:1,paddingTop:20,paddingBottom:20,color:_color.default.charcoal,textAlign:"inherit"},flexCell:{display:"flex",alignItems:"center"},link:_objectSpread(_objectSpread({},_fontConstants.default["main-font-semi-bold"]),{},{fontSize:14,textDecoration:"none"}),unsortableHeader:{paddingLeft:25},unsortableHeaderRTL:{paddingRight:25}},exports.plTableLayoutStyles={link:_objectSpread(_objectSpread({},_fontConstants.default["main-font-semi-bold"]),{},{fontSize:14,color:_color.default.neutral_dark,textDecoration:"underline"}),sectionCodeLink:_objectSpread(_objectSpread({},_fontConstants.default["main-font-semi-bold"]),{},{fontSize:14,color:_color.default.brand_secondary_default}),currentUnit:{marginTop:10,fontSize:14},colButton:{paddingTop:20,paddingLeft:20,paddingBottom:20,width:40},participantTypeCell:{fontSize:14},leaveButton:{fontSize:14}},exports.sortableOptions={default:{color:"rgba(0, 0, 0, 0.2 )"}},exports.NAME_CELL_INPUT_WIDTH=160},"./src/templates/tables/wrapped_sortable.js":(module,exports,__webpack_require__)=>{"use strict";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=void 0;var _react=_interopRequireDefault(__webpack_require__("./node_modules/react/index.js")),sort=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/sortabular/dist/index.js")),_FontAwesome=_interopRequireDefault(__webpack_require__("./src/legacySharedComponents/FontAwesome.jsx")),_excluded=["className"];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 ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){_defineProperty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}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}exports.default=function wrappedSortable(getSortingColumns,onSort){var styles=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},basicSortable=sort.sort({getSortingColumns,onSort});return function(label,columnInfo){var _basicSortable=basicSortable(label,columnInfo),newClassName=_basicSortable.className,newProps=function _objectWithoutProperties(e,t){if(null==e)return{};var o,r,i=function _objectWithoutPropertiesLoose(r,e){if(null==r)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(e.includes(n))continue;t[n]=r[n]}return t}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)o=s[r],t.includes(o)||{}.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}(_basicSortable,_excluded),sortIcon=_react.default.createElement(_FontAwesome.default,{icon:"sort",className:"fa-fw",style:styles.default});/sort-asc/.test(newClassName)?sortIcon=_react.default.createElement(_FontAwesome.default,{icon:"sort-asc",className:"fa-fw",style:styles.sortAsc}):/sort-desc/.test(newClassName)&&(sortIcon=_react.default.createElement(_FontAwesome.default,{icon:"sort-desc",className:"fa-fw",style:styles.sortDesc}));return _objectSpread(_objectSpread({},newProps),{},{style:Object.assign({},{cursor:"pointer"}),children:_react.default.createElement("span",{style:styles.container},_react.default.createElement("span",{key:"icon",style:{whiteSpace:"nowrap"}},sortIcon),_react.default.createElement("span",{key:"label"},label))})}};module.exports=exports.default},"./src/templates/teacherDashboard/DialogFooter.jsx":(module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _propTypes=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(__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"));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 _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 ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){_defineProperty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}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 style={aboveFooter:{height:"90px"},footer:{position:"absolute",height:"100px",padding:"0 20px",left:"0",right:"0",bottom:"0",background:"white",zIndex:"500"},buttonRow:{display:"flex",flexFlow:"row",justifyContent:"space-between"},rightAlign:{justifyContent:"flex-end"}};_defineProperty(exports.default=function(_Component){function DialogFooter(){return _Component.apply(this,arguments)||this}return function _inheritsLoose(t,o){t.prototype=Object.create(o.prototype),t.prototype.constructor=t,_setPrototypeOf(t,o)}(DialogFooter,_Component),DialogFooter.prototype.render=function render(){var buttonRowStyle=this.props.rightAlign?_objectSpread(_objectSpread({},style.buttonRow),style.rightAlign):style.buttonRow;return _react.default.createElement("div",null,_react.default.createElement("div",{style:style.aboveFooter}),_react.default.createElement("div",{style:style.footer},_react.default.createElement("hr",null),_react.default.createElement("div",{style:buttonRowStyle},this.props.children)))},DialogFooter}(_react.Component),"propTypes",{rightAlign:_propTypes.default.bool,children:_propTypes.default.any}),module.exports=exports.default}}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFPQSxNQUFNdVcsUUFDaEIxYixPQUFBLFFBQUFrRixjQUFBLFdBQ0FsRixPQUFBLFFBQUFrRixjQUFBLE9BQUtDLE1BQU9pWCxnQkFBaUJ0VSxLQUFLbkQsTUFBTXdELFdBSWhELEVBQUNnVSxZQUFBLENBbkI4QixDQUFTclMsT0FBQUEsV0FBVCxZQUNaLENBQ2pCb1MsV0FBWW5TLFdBQUFBLFFBQVV1RCxLQUN0Qm5GLFNBQVU0QixXQUFBQSxRQUFVc1MsTUFDckJsUixPQUFBbkgsUUFBQUEsUUFBQW9ILE8iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvY29kZS1zdHVkaW8vY29tcG9uZW50cy9Tb3J0ZWRUYWJsZVNlbGVjdC5qc3giLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL2xlZ2FjeVNoYXJlZENvbXBvbmVudHMvSGVhZGluZ3MuanN4Iiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy9zdHlsZUNvbnN0YW50cy5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvdGVtcGxhdGVzL0Jhc2VEaWFsb2cuanN4Iiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy90ZW1wbGF0ZXMvbWFuYWdlU3R1ZGVudHMvTW92ZVN0dWRlbnRzLmpzeCIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvdGVtcGxhdGVzL3RhYmxlcy90YWJsZUNvbnN0YW50cy5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvdGVtcGxhdGVzL3RhYmxlcy93cmFwcGVkX3NvcnRhYmxlLmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy90ZW1wbGF0ZXMvdGVhY2hlckRhc2hib2FyZC9EaWFsb2dGb290ZXIuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7b3JkZXJCeX0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgVGFibGUgZnJvbSAncmVhY3RhYnVsYXItdGFibGUnO1xuaW1wb3J0ICogYXMgc29ydCBmcm9tICdzb3J0YWJ1bGFyJztcblxuaW1wb3J0IHtIZWFkaW5nMX0gZnJvbSAnQGNkby9hcHBzL2xlZ2FjeVNoYXJlZENvbXBvbmVudHMvSGVhZGluZ3MnO1xuaW1wb3J0IHtcbiAgdGFibGVMYXlvdXRTdHlsZXMsXG4gIHNvcnRhYmxlT3B0aW9ucyxcbn0gZnJvbSAnQGNkby9hcHBzL3RlbXBsYXRlcy90YWJsZXMvdGFibGVDb25zdGFudHMnO1xuaW1wb3J0IHdyYXBwZWRTb3J0YWJsZSBmcm9tICdAY2RvL2FwcHMvdGVtcGxhdGVzL3RhYmxlcy93cmFwcGVkX3NvcnRhYmxlJztcbmltcG9ydCBjb2xvciBmcm9tICdAY2RvL2FwcHMvdXRpbC9jb2xvcic7XG5pbXBvcnQgaTE4biBmcm9tICdAY2RvL2xvY2FsZSc7XG5cbmNvbnN0IFBBRERJTkcgPSAyMDtcbmNvbnN0IFRBQkxFX1dJRFRIID0gMzAwO1xuY29uc3QgQ0hFQ0tCT1hfQ0VMTF9XSURUSCA9IDUwO1xuXG5jb25zdCBERUZBVUxUX1NPUlQgPSB7XG4gIDE6IHtcbiAgICBkaXJlY3Rpb246ICdhc2MnLFxuICAgIHBvc2l0aW9uOiAwLFxuICB9LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU29ydGVkVGFibGVTZWxlY3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHJvd0RhdGE6IFByb3BUeXBlcy5hcnJheU9mKFxuICAgICAgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgaWQ6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgICAgICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgfSlcbiAgICApLmlzUmVxdWlyZWQsXG4gICAgb25Sb3dDaGVja2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9wdGlvbnM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICAgIG9uQ2hvb3NlT3B0aW9uOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlc2NyaXB0aW9uVGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvcHRpb25zRGVzY3JpcHRpb25UZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRpdGxlVGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gICAgb25TZWxlY3RBbGw6IFByb3BUeXBlcy5mdW5jLFxuICAgIHRhYmxlRGVzY3JpcHRpb25UZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIHNvcnRpbmdDb2x1bW5zOiBERUZBVUxUX1NPUlQsXG4gICAgc2VsZWN0ZWRPcHRpb246IHVuZGVmaW5lZCxcbiAgfTtcblxuICBhcmVBbGxTZWxlY3RlZCA9ICgpID0+IHtcbiAgICBjb25zdCBleGlzdHNVbmNoZWNrZWRSb3cgPSB0aGlzLnByb3BzLnJvd0RhdGEuZmluZChyb3cgPT4gIXJvdy5pc0NoZWNrZWQpO1xuICAgIHJldHVybiAhZXhpc3RzVW5jaGVja2VkUm93O1xuICB9O1xuXG4gIHRvZ2dsZVNlbGVjdEFsbCA9ICgpID0+IHtcbiAgICB0aGlzLnByb3BzLm9uU2VsZWN0QWxsKCF0aGlzLmFyZUFsbFNlbGVjdGVkKCkpO1xuICB9O1xuXG4gIHNlbGVjdGVkUm93SGVhZGVyRm9ybWF0dGVyID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8aW5wdXRcbiAgICAgICAgc3R5bGU9e3N0eWxlcy5jaGVja2JveH1cbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgY2hlY2tlZD17dGhpcy5hcmVBbGxTZWxlY3RlZCgpfVxuICAgICAgICBvbkNoYW5nZT17dGhpcy50b2dnbGVTZWxlY3RBbGx9XG4gICAgICAvPlxuICAgICk7XG4gIH07XG5cbiAgc2VsZWN0ZWRSb3dGb3JtYXR0ZXIgPSAoXywge3Jvd0RhdGF9KSA9PiB7XG4gICAgY29uc3Qge29uUm93Q2hlY2tlZH0gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8aW5wdXRcbiAgICAgICAgc3R5bGU9e3N0eWxlcy5jaGVja2JveH1cbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgY2hlY2tlZD17cm93RGF0YS5pc0NoZWNrZWR9XG4gICAgICAgIG9uQ2hhbmdlPXsoKSA9PiBvblJvd0NoZWNrZWQocm93RGF0YS5pZCl9XG4gICAgICAvPlxuICAgICk7XG4gIH07XG5cbiAgZ2V0Q29sdW1ucyA9IHNvcnRhYmxlID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBwcm9wZXJ0eTogJ3NlbGVjdGVkJyxcbiAgICAgICAgaGVhZGVyOiB7XG4gICAgICAgICAgbGFiZWw6ICcnLFxuICAgICAgICAgIGZvcm1hdHRlcnM6IFt0aGlzLnNlbGVjdGVkUm93SGVhZGVyRm9ybWF0dGVyXSxcbiAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgLi4udGFibGVMYXlvdXRTdHlsZXMuaGVhZGVyQ2VsbCxcbiAgICAgICAgICAgICAgLi4uc3R5bGVzLmNoZWNrYm94Q2VsbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY2VsbDoge1xuICAgICAgICAgIGZvcm1hdHRlcnM6IFt0aGlzLnNlbGVjdGVkUm93Rm9ybWF0dGVyXSxcbiAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgLi4udGFibGVMYXlvdXRTdHlsZXMuY2VsbCxcbiAgICAgICAgICAgICAgLi4uc3R5bGVzLmNoZWNrYm94Q2VsbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHByb3BlcnR5OiAnbmFtZScsXG4gICAgICAgIGhlYWRlcjoge1xuICAgICAgICAgIGxhYmVsOiBpMThuLm5hbWUoKSxcbiAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgLi4udGFibGVMYXlvdXRTdHlsZXMuaGVhZGVyQ2VsbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0cmFuc2Zvcm1zOiBbc29ydGFibGVdLFxuICAgICAgICB9LFxuICAgICAgICBjZWxsOiB7XG4gICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgIC4uLnRhYmxlTGF5b3V0U3R5bGVzLmNlbGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyT3B0aW9ucyA9ICgpID0+IHtcbiAgICBjb25zdCB7b3B0aW9uc30gPSB0aGlzLnByb3BzO1xuICAgIGxldCBzZWxlY3RPcHRpb25zID0gb3B0aW9ucy5tYXAob3B0aW9uID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxvcHRpb24ga2V5PXtvcHRpb24uaWR9IHZhbHVlPXtvcHRpb24uaWR9PlxuICAgICAgICAgIHtvcHRpb24ubmFtZX1cbiAgICAgICAgPC9vcHRpb24+XG4gICAgICApO1xuICAgIH0pO1xuICAgIHNlbGVjdE9wdGlvbnMudW5zaGlmdCg8b3B0aW9uIGtleT1cImVtcHR5XCIgdmFsdWU9XCJcIiAvPik7XG4gICAgcmV0dXJuIHNlbGVjdE9wdGlvbnM7XG4gIH07XG5cbiAgZ2V0U29ydGluZ0NvbHVtbnMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc29ydGluZ0NvbHVtbnMgfHwge307XG4gIH07XG5cbiAgLy8gVGhlIHVzZXIgcmVxdWVzdGVkIGEgbmV3IHNvcnRpbmcgY29sdW1uLiBBZGp1c3QgdGhlIHN0YXRlIGFjY29yZGluZ2x5LlxuICBvblNvcnQgPSBzZWxlY3RlZENvbHVtbiA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBzb3J0aW5nQ29sdW1uczogc29ydC5ieUNvbHVtbih7XG4gICAgICAgIHNvcnRpbmdDb2x1bW5zOiB0aGlzLnN0YXRlLnNvcnRpbmdDb2x1bW5zLFxuICAgICAgICAvLyBDdXN0b20gc29ydGluZ09yZGVyIHJlbW92ZXMgJ25vLXNvcnQnIGZyb20gdGhlIGN5Y2xlXG4gICAgICAgIHNvcnRpbmdPcmRlcjoge1xuICAgICAgICAgIEZJUlNUOiAnYXNjJyxcbiAgICAgICAgICBhc2M6ICdkZXNjJyxcbiAgICAgICAgICBkZXNjOiAnYXNjJyxcbiAgICAgICAgfSxcbiAgICAgICAgc2VsZWN0ZWRDb2x1bW4sXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgcm93RGF0YSxcbiAgICAgIG9uQ2hvb3NlT3B0aW9uLFxuICAgICAgZGVzY3JpcHRpb25UZXh0LFxuICAgICAgb3B0aW9uc0Rlc2NyaXB0aW9uVGV4dCxcbiAgICAgIHRpdGxlVGV4dCxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgdGFibGVEZXNjcmlwdGlvblRleHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzb3J0aW5nQ29sdW1ucyA9IHRoaXMuZ2V0U29ydGluZ0NvbHVtbnMoKTtcbiAgICBjb25zdCBzb3J0YWJsZSA9IHdyYXBwZWRTb3J0YWJsZShcbiAgICAgIHRoaXMuZ2V0U29ydGluZ0NvbHVtbnMsXG4gICAgICB0aGlzLm9uU29ydCxcbiAgICAgIHNvcnRhYmxlT3B0aW9uc1xuICAgICk7XG4gICAgY29uc3QgY29sdW1ucyA9IHRoaXMuZ2V0Q29sdW1ucyhzb3J0YWJsZSk7XG4gICAgY29uc3Qgc29ydGVkUm93cyA9IHNvcnQuc29ydGVyKHtcbiAgICAgIGNvbHVtbnMsXG4gICAgICBzb3J0aW5nQ29sdW1ucyxcbiAgICAgIHNvcnQ6IG9yZGVyQnksXG4gICAgfSkocm93RGF0YSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidWktdGVzdC1zb3J0YWJsZS10YWJsZS1zZWxlY3RcIj5cbiAgICAgICAge3RpdGxlVGV4dCAmJiA8SGVhZGluZzE+e3RpdGxlVGV4dH08L0hlYWRpbmcxPn1cbiAgICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLmNvbnRhaW5lcn0+XG4gICAgICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLmxlZnRDb2x1bW59PlxuICAgICAgICAgICAgPFRhYmxlLlByb3ZpZGVyIGNvbHVtbnM9e2NvbHVtbnN9IHN0eWxlPXtzdHlsZXMudGFibGV9PlxuICAgICAgICAgICAgICA8VGFibGUuSGVhZGVyIC8+XG4gICAgICAgICAgICAgIDxUYWJsZS5Cb2R5IHJvd3M9e3NvcnRlZFJvd3N9IHJvd0tleT1cImlkXCIgLz5cbiAgICAgICAgICAgIDwvVGFibGUuUHJvdmlkZXI+XG4gICAgICAgICAgICB7dGFibGVEZXNjcmlwdGlvblRleHQgJiYgKFxuICAgICAgICAgICAgICA8aSBzdHlsZT17c3R5bGVzLml0YWxpY3N9Pnt0YWJsZURlc2NyaXB0aW9uVGV4dH08L2k+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3N0eWxlcy5yaWdodENvbHVtbn0+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb25UZXh0ICYmIChcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLmluZm9UZXh0fT57ZGVzY3JpcHRpb25UZXh0fTwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtvcHRpb25zRGVzY3JpcHRpb25UZXh0ICYmIChcbiAgICAgICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJzZWxlY3RPcHRpb25cIiBzdHlsZT17c3R5bGVzLmxhYmVsfT5cbiAgICAgICAgICAgICAgICB7b3B0aW9uc0Rlc2NyaXB0aW9uVGV4dH1cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8c2VsZWN0IG5hbWU9XCJzZWxlY3RPcHRpb25cIiBvbkNoYW5nZT17b25DaG9vc2VPcHRpb259PlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJPcHRpb25zKCl9XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgY2hlY2tib3hDZWxsOiB7XG4gICAgd2lkdGg6IENIRUNLQk9YX0NFTExfV0lEVEgsXG4gICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgfSxcbiAgY2hlY2tib3g6IHtcbiAgICBtYXJnaW46IDAsXG4gIH0sXG4gIGNvbnRhaW5lcjoge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgfSxcbiAgdGFibGU6IHtcbiAgICB3aWR0aDogVEFCTEVfV0lEVEgsXG4gICAgbWFyZ2luOiAyLFxuICB9LFxuICBsZWZ0Q29sdW1uOiB7XG4gICAgd2lkdGg6IFRBQkxFX1dJRFRILFxuICB9LFxuICByaWdodENvbHVtbjoge1xuICAgIGZsZXg6IDEsXG4gICAgcGFkZGluZ0xlZnQ6IFBBRERJTkcsXG4gIH0sXG4gIGluZm9UZXh0OiB7XG4gICAgcGFkZGluZ1RvcDogUEFERElORyAvIDQsXG4gICAgcGFkZGluZ0JvdHRvbTogUEFERElORyAvIDIsXG4gIH0sXG4gIGxhYmVsOiB7XG4gICAgcGFkZGluZ1RvcDogUEFERElORyAvIDIsXG4gIH0sXG4gIGl0YWxpY3M6IHtcbiAgICBjb2xvcjogY29sb3IucHVycGxlLFxuICB9LFxufTtcbiIsIi8qKiBAZmlsZSBSZXVzYWJsZSBoZWFkaW5nIGNvbXBvbmVudHMgZm9yIHRoZSAyMDE3IGRhc2hib2FyZCByZWRlc2lnbiAqL1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgZm9udENvbnN0YW50cyBmcm9tICdAY2RvL2FwcHMvZm9udENvbnN0YW50cyc7XG5cbmltcG9ydCBjb2xvciBmcm9tICcuLi91dGlsL2NvbG9yJztcblxuY29uc3QgYmFzZUhlYWRpbmdTdHlsZSA9IHtcbiAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgLi4uZm9udENvbnN0YW50c1snbWFpbi1mb250LXNlbWktYm9sZCddLFxuICBtYXJnaW46ICcxMHB4IDAnLFxuICBjb2xvcjogY29sb3IuZGFya19jaGFyY29hbCxcbn07XG5cbmV4cG9ydCBjb25zdCBoMVN0eWxlID0ge1xuICAuLi5iYXNlSGVhZGluZ1N0eWxlLFxuICAuLi5mb250Q29uc3RhbnRzWydtYWluLWZvbnQtYm9sZCddLFxuICBmb250U2l6ZTogMzIsXG4gIGxpbmVIZWlnaHQ6ICc0OHB4Jyxcbn07XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIERTQ08gVHlwb2dyYXBoeSBpbnN0ZWFkLlxuICovXG5leHBvcnQgY2xhc3MgSGVhZGluZzEgZXh0ZW5kcyBDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5ub2RlKSxcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjaGlsZHJlbiwgc3R5bGUsIC4uLnJlc3RQcm9wc30gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8aDEgey4uLnJlc3RQcm9wc30gc3R5bGU9e3suLi5oMVN0eWxlLCAuLi5zdHlsZX19PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2gxPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGgyU3R5bGUgPSB7XG4gIC4uLmJhc2VIZWFkaW5nU3R5bGUsXG4gIC4uLmZvbnRDb25zdGFudHNbJ21haW4tZm9udC1yZWd1bGFyJ10sXG4gIGZvbnRTaXplOiAyNCxcbiAgbGluZUhlaWdodDogJzQ4cHgnLFxufTtcblxuZXhwb3J0IGNsYXNzIEhlYWRpbmcyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMubm9kZSksXG4gICAgICBQcm9wVHlwZXMubm9kZSxcbiAgICBdKS5pc1JlcXVpcmVkLFxuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y2hpbGRyZW4sIHN0eWxlLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPGgyIHsuLi5yZXN0UHJvcHN9IHN0eWxlPXt7Li4uaDJTdHlsZSwgLi4uc3R5bGV9fT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9oMj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBoM1N0eWxlID0ge1xuICAuLi5iYXNlSGVhZGluZ1N0eWxlLFxuICAuLi5mb250Q29uc3RhbnRzWydtYWluLWZvbnQtc2VtaS1ib2xkJ10sXG4gIGZvbnRTaXplOiAxNixcbiAgbGluZUhlaWdodDogJzI0cHgnLFxufTtcblxuZXhwb3J0IGNvbnN0IGgzUmVicmFuZGluZ1N0eWxlID0ge1xuICAuLi5iYXNlSGVhZGluZ1N0eWxlLFxuICBmb250RmFtaWx5OiAnXCJCYXJsb3cgU2VtaSBDb25kZW5zZWQgU2VtaWJvbGRcIiwgc2Fucy1zZXJpZicsXG4gIGZvbnRTaXplOiAnMS43NWVtJyxcbiAgbGluZUhlaWdodDogJzEuMicsXG59O1xuXG5leHBvcnQgY2xhc3MgSGVhZGluZzMgZXh0ZW5kcyBDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5ub2RlKSxcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaXNSZWJyYW5kZWQ6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y2hpbGRyZW4sIGlzUmVicmFuZGVkLCBzdHlsZSwgLi4ucmVzdFByb3BzfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgaGVhZGluZ1N0eWxlcyA9IHtcbiAgICAgIC4uLihpc1JlYnJhbmRlZCA/IGgzUmVicmFuZGluZ1N0eWxlIDogaDNTdHlsZSksXG4gICAgICAuLi5zdHlsZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxoMyB7Li4ucmVzdFByb3BzfSBzdHlsZT17aGVhZGluZ1N0eWxlc30+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvaDM+XG4gICAgKTtcbiAgfVxufVxuIiwiLyogZXNsaW50LWRpc2FibGUgKi9cblxuLy8gYXBwcy9zcmMvc3R5bGVDb25zdGFudHMuanNcbi8vIEdFTkVSQVRFRCBGSUxFOiBETyBOT1QgTU9ESUZZIERJUkVDVExZXG4vLyBUaGlzIGdlbmVyYXRlZCBmaWxlIGV4cG9ydHMgYWxsIHZhcmlhYmxlcyBkZWZpbmVkIGluIHNoYXJlZC9jc3Mvc3R5bGUtY29uc3RhbnRzLnNjc3Ncbi8vIGZvciB1c2UgaW4gSmF2YVNjcmlwdC4gVGhlIGdlbmVyYXRvciBzY3JpcHQgaXMgY29udmVydC1zY3NzLXZhcmlhYmxlcy5qc1xubW9kdWxlLmV4cG9ydHMgPSB7XG4gIFwid29ya3NwYWNlLWhlYWRlcnMtaGVpZ2h0XCI6IDMwLFxuICBcInJlc2l6ZS1iYXItd2lkdGhcIjogMTMsXG4gIFwiZGVsZXRlLW9wYWNpdHlcIjogXCIwLjVcIixcbiAgXCJjb250ZW50LXdpZHRoXCI6IDk3MCxcbn07XG4iLCJpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IEJ1dHRvbiBmcm9tICdAY2RvL2FwcHMvbGVnYWN5U2hhcmVkQ29tcG9uZW50cy9CdXR0b24nO1xuaW1wb3J0IGkxOG4gZnJvbSAnQGNkby9sb2NhbGUnO1xuXG5pbXBvcnQge0JBU0VfRElBTE9HX1dJRFRIfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IGNvbG9yIGZyb20gJy4uL3V0aWwvY29sb3InO1xuXG4vKipcbiAqIEJhc2VEaWFsb2dcbiAqIEEgZ2VuZXJpYyBtb2RhbCBkaWFsb2cgdGhhdCBoYXMgYW4geC1jbG9zZSBpbiB0aGUgdXBwZXIgcmlnaHQsIGFuZCBhXG4gKiBzZW1pLXRyYW5zcGFyZW50IGJhY2tkcm9wLiBDYW4gYmUgY2xvc2VkIGJ5IGNsaWNraW5nIHRoZSB4LCBjbGlja2luZyB0aGVcbiAqIGJhY2tkcm9wLCBvciBwcmVzc2luZyBlc2MuXG4gKlxuICogVG8gdXNlIGEgc3R5bGVkIHZlcnNpb24gb2YgdGhpcyBjb21wb25lbnQgdGhhdCBmb2xsb3dzIG91ciBzdHlsZSBndWlkZSxcbiAqIHVzZSBTdHlsaXplZEJhc2VEaWFsb2cuanN4LlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCYXNlRGlhbG9nIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc09wZW46IFByb3BUeXBlcy5ib29sLFxuICAgIGhhbmRsZUNsb3NlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICB1bmNsb3NlYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGlkZUNsb3NlQnV0dG9uOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBoYW5kbGVLZXlEb3duOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAvLyBGb3IgdXNlIGluIHJlYWN0LXN0b3J5Ym9vazsgYWxsb3dzIHJlbmRlcmluZyBkaWFsb2cgaW5saW5lIGluIHN0b3J5IHRhYmxlcy5cbiAgICBoaWRlQmFja2Ryb3A6IFByb3BUeXBlcy5ib29sLFxuICAgIGZ1bGxXaWR0aDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZnVsbEhlaWdodDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXNlVXBkYXRlZFN0eWxlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgbm9Nb2RhbFN0eWxlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICAgIGZpeGVkV2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgZml4ZWRIZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgdXNlRmxleGJveDogUHJvcFR5cGVzLmJvb2wsXG4gICAgYm9keUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGJvZHlDbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgc291bmRQbGF5ZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgb3ZlcmZsb3c6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgLy8gVGVtcG9yYXJ5IHByb3AgdW50aWwgQW5pbWF0aW9uUGlja2VyQm9keSBpcyByZWRlc2lnbmVkXG4gICAgYmFja2Ryb3BTdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLmZvY3VzRGlhbG9nKCk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgdGhpcy5mb2N1c0RpYWxvZygpO1xuICB9XG5cbiAgaGFuZGxlS2V5RG93biA9IGV2ZW50ID0+IHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZURpYWxvZygpO1xuICAgIH1cbiAgICB0aGlzLnByb3BzLmhhbmRsZUtleURvd24gJiYgdGhpcy5wcm9wcy5oYW5kbGVLZXlEb3duKGV2ZW50KTtcbiAgfTtcblxuICBjbG9zZURpYWxvZyA9ICgpID0+IHtcbiAgICBpZiAoIXRoaXMucHJvcHMudW5jbG9zZWFibGUgJiYgdGhpcy5wcm9wcy5oYW5kbGVDbG9zZSkge1xuICAgICAgdGhpcy5wcm9wcy5oYW5kbGVDbG9zZSgpO1xuICAgICAgaWYgKHRoaXMucHJvcHMuc291bmRQbGF5ZXIpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5zb3VuZFBsYXllci5zdG9wQWxsQXVkaW8oKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLyoqIEByZXR1cm5zIHtBcnJheS48RWxlbWVudD59ICovXG4gIGdldFRhYmJhYmxlRWxlbWVudHMoKSB7XG4gICAgcmV0dXJuIFtdLnNsaWNlLmNhbGwodGhpcy5yZWZzLmRpYWxvZy5xdWVyeVNlbGVjdG9yQWxsKCdhLGJ1dHRvbixpbnB1dCcpKTtcbiAgfVxuXG4gIGZvY3VzRGlhbG9nKCkge1xuICAgIC8vIERvbid0IHN0ZWFsIGZvY3VzIGlmIHRoZSBhY3RpdmUgZWxlbWVudCBpcyBhbHJlYWR5IGEgZGVzY2VuZGFudCBvZiB0aGVcbiAgICAvLyBkaWFsb2cgLSBwcmV2ZW50cyBmb2N1cyBsb3NzIG9uIHVwZGF0ZXMgb2Ygb3BlbiBCYXNlRGlhbG9nIGNvbXBvbmVudHMuXG4gICAgY29uc3QgZGVzY2VuZGFudElzQWN0aXZlID1cbiAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgJiZcbiAgICAgIHRoaXMucmVmcy5kaWFsb2cgJiZcbiAgICAgIHRoaXMucmVmcy5kaWFsb2cuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7XG4gICAgaWYgKHRoaXMucHJvcHMuaXNPcGVuICYmICFkZXNjZW5kYW50SXNBY3RpdmUpIHtcbiAgICAgIHRoaXMucmVmcy5kaWFsb2cuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmlzT3BlbiAmJiAhdGhpcy5wcm9wcy5oaWRlQmFja2Ryb3ApIHtcbiAgICAgIHJldHVybiA8ZGl2IC8+O1xuICAgIH1cblxuICAgIGxldCBib2R5U3R5bGUsIG1vZGFsQm9keVN0eWxlLCB4Q2xvc2VTdHlsZTtcbiAgICBpZiAodGhpcy5wcm9wcy5mdWxsV2lkdGgpIHtcbiAgICAgIGJvZHlTdHlsZSA9IHtcbiAgICAgICAgLi4uYm9keVN0eWxlLFxuICAgICAgICB3aWR0aDogJzkwJScsXG4gICAgICAgIG1hcmdpbkxlZnQ6ICctNDUlJyxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmICh0aGlzLnByb3BzLmZ1bGxIZWlnaHQpIHtcbiAgICAgIGJvZHlTdHlsZSA9IHtcbiAgICAgICAgLi4uYm9keVN0eWxlLFxuICAgICAgICBoZWlnaHQ6ICc4MCUnLFxuICAgICAgfTtcbiAgICAgIG1vZGFsQm9keVN0eWxlID0ge1xuICAgICAgICAuLi5tb2RhbEJvZHlTdHlsZSxcbiAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGxldCB3cmFwcGVyQ2xhc3NOYW1lcyA9ICcnO1xuICAgIGxldCBtb2RhbENsYXNzTmFtZXMgPSAnbW9kYWwnO1xuICAgIGxldCBtb2RhbEJvZHlDbGFzc05hbWVzID0gJ21vZGFsLWJvZHknO1xuICAgIGxldCBtb2RhbEJhY2tkcm9wQ2xhc3NOYW1lcyA9ICdtb2RhbC1iYWNrZHJvcCc7XG4gICAgY29uc3Qgb3ZlcmZsb3dYID0gdGhpcy5wcm9wcy5vdmVyZmxvdyB8fCAnaGlkZGVuJztcbiAgICBjb25zdCBvdmVyZmxvd1kgPVxuICAgICAgdGhpcy5wcm9wcy5vdmVyZmxvdyB8fFxuICAgICAgKHRoaXMucHJvcHMuZml4ZWRIZWlnaHQgfHwgdGhpcy5wcm9wcy5mdWxsSGVpZ2h0ID8gJ2hpZGRlbicgOiAnYXV0bycpO1xuXG4gICAgaWYgKHRoaXMucHJvcHMudXNlVXBkYXRlZFN0eWxlcykge1xuICAgICAgd3JhcHBlckNsYXNzTmFtZXMgPSAnZGFzaGJvYXJkLXN0eWxlcyc7XG4gICAgICBtb2RhbEJvZHlDbGFzc05hbWVzID0gJyc7XG4gICAgICBtb2RhbEJvZHlTdHlsZSA9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJyNmZmYnLFxuICAgICAgICBoZWlnaHQ6IHRoaXMucHJvcHMuZml4ZWRIZWlnaHQsXG4gICAgICAgIG1heEhlaWdodDogIXRoaXMucHJvcHMuZml4ZWRIZWlnaHQgJiYgJzg1dmgnLFxuICAgICAgICBvdmVyZmxvd1g6IG92ZXJmbG93WCxcbiAgICAgICAgb3ZlcmZsb3dZOiBvdmVyZmxvd1ksXG4gICAgICAgIGJvcmRlclJhZGl1czogNCxcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5wcm9wcy51c2VGbGV4Ym94KSB7XG4gICAgICAgIG1vZGFsQm9keVN0eWxlID0ge1xuICAgICAgICAgIC4uLm1vZGFsQm9keVN0eWxlLFxuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGJvZHlTdHlsZSA9IHtcbiAgICAgICAgLi4uYm9keVN0eWxlLFxuICAgICAgICB3aWR0aDogdGhpcy5wcm9wcy5maXhlZFdpZHRoIHx8IEJBU0VfRElBTE9HX1dJRFRILFxuICAgICAgICBtYXJnaW5MZWZ0OiAtdGhpcy5wcm9wcy5maXhlZFdpZHRoIC8gMiB8fCAtMzUwLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvcHMubm9Nb2RhbFN0eWxlcykge1xuICAgICAgbW9kYWxDbGFzc05hbWVzID0gJyc7XG4gICAgICBtb2RhbEJvZHlDbGFzc05hbWVzID0gJyc7XG4gICAgfVxuXG4gICAgYm9keVN0eWxlID0ge1xuICAgICAgLi4uYm9keVN0eWxlLFxuICAgICAgLi4uKHRoaXMucHJvcHMuaGlkZUJhY2tkcm9wICYmIHtcbiAgICAgICAgcG9zaXRpb246ICdpbml0aWFsJyxcbiAgICAgICAgbWFyZ2luTGVmdDogMCxcbiAgICAgIH0pLFxuICAgICAgLi4udGhpcy5wcm9wcy5zdHlsZSxcbiAgICB9O1xuICAgIHhDbG9zZVN0eWxlID0ge1xuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0b3A6IDAsXG4gICAgICBpbnNldElubGluZUVuZDogMCxcbiAgICAgIHBhZGRpbmc6IDAsXG4gICAgICBjb2xvcjogY29sb3IubmV1dHJhbF9kYXJrMzAsXG4gICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgIGZvbnRTaXplOiAyNCxcbiAgICAgIGJvcmRlcjogJ25vbmUnLFxuICAgIH07XG5cbiAgICBtb2RhbEJvZHlDbGFzc05hbWVzID0gW21vZGFsQm9keUNsYXNzTmFtZXMsIHRoaXMucHJvcHMuYm9keUNsYXNzTmFtZV1cbiAgICAgIC5maWx0ZXIoY2xhc3NOYW1lID0+ICEhY2xhc3NOYW1lKVxuICAgICAgLmpvaW4oJyAnKTtcblxuICAgIGxldCBib2R5ID0gKFxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17Ym9keVN0eWxlfVxuICAgICAgICB0YWJJbmRleD1cIi0xXCJcbiAgICAgICAgY2xhc3NOYW1lPXttb2RhbENsYXNzTmFtZXN9XG4gICAgICAgIHJlZj1cImRpYWxvZ1wiXG4gICAgICAgIG9uS2V5RG93bj17dGhpcy5oYW5kbGVLZXlEb3dufVxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e21vZGFsQm9keVN0eWxlfVxuICAgICAgICAgIGlkPXt0aGlzLnByb3BzLmJvZHlJZH1cbiAgICAgICAgICBjbGFzc05hbWU9e21vZGFsQm9keUNsYXNzTmFtZXN9XG4gICAgICAgID5cbiAgICAgICAgICB7IXRoaXMucHJvcHMudW5jbG9zZWFibGUgJiYgIXRoaXMucHJvcHMuaGlkZUNsb3NlQnV0dG9uICYmIChcbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgaWQ9XCJ4LWNsb3NlXCJcbiAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5jbG9zZURpYWxvZ31cbiAgICAgICAgICAgICAgaWNvbj1cImZhLXNvbGlkIGZhLXhtYXJrXCJcbiAgICAgICAgICAgICAgc3R5bGU9e3hDbG9zZVN0eWxlfVxuICAgICAgICAgICAgICBjb2xvcj1cIndoaXRlXCJcbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17aTE4bi5jbG9zZURpYWxvZygpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHt0aGlzLnByb3BzLmNoaWxkcmVufVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5oaWRlQmFja2Ryb3ApIHtcbiAgICAgIHJldHVybiBib2R5O1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17d3JhcHBlckNsYXNzTmFtZXN9PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPXttb2RhbEJhY2tkcm9wQ2xhc3NOYW1lc31cbiAgICAgICAgICBzdHlsZT17dGhpcy5wcm9wcy5iYWNrZHJvcFN0eWxlfVxuICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuY2xvc2VEaWFsb2d9XG4gICAgICAgIC8+XG4gICAgICAgIHtib2R5fVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuIiwiaW1wb3J0IHtjb21wYWN0fSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtjb25uZWN0fSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmltcG9ydCBTb3J0ZWRUYWJsZVNlbGVjdCBmcm9tICdAY2RvL2FwcHMvY29kZS1zdHVkaW8vY29tcG9uZW50cy9Tb3J0ZWRUYWJsZVNlbGVjdCc7XG5pbXBvcnQgZm9udENvbnN0YW50cyBmcm9tICdAY2RvL2FwcHMvZm9udENvbnN0YW50cyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BjZG8vYXBwcy9sZWdhY3lTaGFyZWRDb21wb25lbnRzL0J1dHRvbic7XG5pbXBvcnQgZmlyZWhvc2VDbGllbnQgZnJvbSAnQGNkby9hcHBzL21ldHJpY3MvZmlyZWhvc2UnO1xuaW1wb3J0IEJhc2VEaWFsb2cgZnJvbSAnQGNkby9hcHBzL3RlbXBsYXRlcy9CYXNlRGlhbG9nJztcbmltcG9ydCBEaWFsb2dGb290ZXIgZnJvbSAnQGNkby9hcHBzL3RlbXBsYXRlcy90ZWFjaGVyRGFzaGJvYXJkL0RpYWxvZ0Zvb3Rlcic7XG5pbXBvcnQge2dldFZpc2libGVTZWN0aW9uc30gZnJvbSAnQGNkby9hcHBzL3RlbXBsYXRlcy90ZWFjaGVyRGFzaGJvYXJkL3RlYWNoZXJTZWN0aW9uc1JlZHV4U2VsZWN0b3JzJztcbmltcG9ydCBjb2xvciBmcm9tICdAY2RvL2FwcHMvdXRpbC9jb2xvcic7XG5pbXBvcnQge1NlY3Rpb25Mb2dpblR5cGV9IGZyb20gJ0BjZG8vZ2VuZXJhdGVkLXNjcmlwdHMvc2hhcmVkQ29uc3RhbnRzJztcbmltcG9ydCBpMThuIGZyb20gJ0BjZG8vbG9jYWxlJztcblxuaW1wb3J0IHtcbiAgdXBkYXRlU3R1ZGVudFRyYW5zZmVyLFxuICB0cmFuc2ZlclN0dWRlbnRzLFxuICBUcmFuc2ZlclR5cGUsXG4gIFRyYW5zZmVyU3RhdHVzLFxuICBjYW5jZWxTdHVkZW50VHJhbnNmZXIsXG59IGZyb20gJy4vbWFuYWdlU3R1ZGVudHNSZWR1eCc7XG5cbmNvbnN0IE9USEVSX1RFQUNIRVIgPSAnb3RoZXJUZWFjaGVyJztcbmNvbnN0IFBBRERJTkcgPSAyMDtcbmNvbnN0IERJQUxPR19XSURUSCA9IDgwMDtcbmNvbnN0IElOUFVUX1dJRFRIID0gMjI1O1xuXG5jbGFzcyBNb3ZlU3R1ZGVudHMgZXh0ZW5kcyBDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHN0dWRlbnREYXRhOiBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIGlkOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gICAgICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIH0pXG4gICAgKS5pc1JlcXVpcmVkLFxuICAgIHRyYW5zZmVyRGF0YTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIHN0dWRlbnRJZHM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICAgICAgc2VjdGlvbklkOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgb3RoZXJUZWFjaGVyOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgICAgb3RoZXJUZWFjaGVyU2VjdGlvbjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgY29weVN0dWRlbnRzOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIH0pLFxuICAgIHRyYW5zZmVyU3RhdHVzOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgc3RhdHVzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGVycm9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIH0pLFxuXG4gICAgLy8gcmVkdXggcHJvdmlkZWRcbiAgICBzZWN0aW9uczogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICAgIGlkOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gICAgICAgIGxvZ2luVHlwZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgfSlcbiAgICApLmlzUmVxdWlyZWQsXG4gICAgY3VycmVudFNlY3Rpb25JZDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICAgIHVwZGF0ZVN0dWRlbnRUcmFuc2ZlcjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0cmFuc2ZlclN0dWRlbnRzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGNhbmNlbFN0dWRlbnRUcmFuc2ZlcjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBpc0RpYWxvZ09wZW46IGZhbHNlLFxuICB9O1xuXG4gIG9wZW5EaWFsb2cgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7aXNEaWFsb2dPcGVuOiB0cnVlfSk7XG4gICAgZmlyZWhvc2VDbGllbnQucHV0UmVjb3JkKFxuICAgICAge1xuICAgICAgICBzdHVkeTogJ3RlYWNoZXItZGFzaGJvYXJkJyxcbiAgICAgICAgc3R1ZHlfZ3JvdXA6ICdtYW5hZ2Utc3R1ZGVudHMtYWN0aW9ucycsXG4gICAgICAgIGV2ZW50OiAnbW92ZS1zdHVkZW50cy1idXR0b24tY2xpY2snLFxuICAgICAgICBkYXRhX2pzb246IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBzZWN0aW9uSWQ6IHRoaXMucHJvcHMuY3VycmVudFNlY3Rpb25JZCxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgICAge2luY2x1ZGVVc2VySWQ6IHRydWV9XG4gICAgKTtcbiAgfTtcblxuICBjbG9zZURpYWxvZyA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtpc0RpYWxvZ09wZW46IGZhbHNlfSk7XG4gICAgdGhpcy5wcm9wcy5jYW5jZWxTdHVkZW50VHJhbnNmZXIoKTtcbiAgfTtcblxuICBnZXRTdHVkZW50SWRzID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLnN0dWRlbnREYXRhLm1hcChzID0+IHMuaWQpO1xuICB9O1xuXG4gIHRvZ2dsZVN0dWRlbnRTZWxlY3RlZCA9IHN0dWRlbnRJZCA9PiB7XG4gICAgbGV0IHN0dWRlbnRJZHMgPSBbLi4udGhpcy5wcm9wcy50cmFuc2ZlckRhdGEuc3R1ZGVudElkc107XG5cbiAgICBpZiAoc3R1ZGVudElkcy5pbmNsdWRlcyhzdHVkZW50SWQpKSB7XG4gICAgICBjb25zdCBzdHVkZW50SW5kZXggPSBzdHVkZW50SWRzLmluZGV4T2Yoc3R1ZGVudElkKTtcbiAgICAgIHN0dWRlbnRJZHMuc3BsaWNlKHN0dWRlbnRJbmRleCwgMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0dWRlbnRJZHMucHVzaChzdHVkZW50SWQpO1xuICAgIH1cblxuICAgIHRoaXMucHJvcHMudXBkYXRlU3R1ZGVudFRyYW5zZmVyKHtzdHVkZW50SWRzfSk7XG4gIH07XG5cbiAgaXNWYWxpZERlc3RpbmF0aW9uU2VjdGlvbiA9IHNlY3Rpb24gPT4ge1xuICAgIGNvbnN0IGlzU2FtZUFzU291cmNlID0gc2VjdGlvbi5pZCA9PT0gdGhpcy5wcm9wcy5jdXJyZW50U2VjdGlvbklkO1xuICAgIGNvbnN0IGlzRXh0ZXJuYWxseVJvc3RlcmVkID0gIVtcbiAgICAgIFNlY3Rpb25Mb2dpblR5cGUud29yZCxcbiAgICAgIFNlY3Rpb25Mb2dpblR5cGUucGljdHVyZSxcbiAgICAgIFNlY3Rpb25Mb2dpblR5cGUuZW1haWwsXG4gICAgXS5pbmNsdWRlcyhzZWN0aW9uLmxvZ2luVHlwZSk7XG5cbiAgICByZXR1cm4gIWlzU2FtZUFzU291cmNlICYmICFpc0V4dGVybmFsbHlSb3N0ZXJlZDtcbiAgfTtcblxuICBnZXRPcHRpb25zID0gKCkgPT4ge1xuICAgIGNvbnN0IHtzZWN0aW9uc30gPSB0aGlzLnByb3BzO1xuICAgIGxldCBvcHRpb25zID0gT2JqZWN0LmtleXMoc2VjdGlvbnMpLm1hcChzZWN0aW9uSWQgPT4ge1xuICAgICAgY29uc3Qgc2VjdGlvbiA9IHNlY3Rpb25zW3NlY3Rpb25JZF07XG4gICAgICBpZiAodGhpcy5pc1ZhbGlkRGVzdGluYXRpb25TZWN0aW9uKHNlY3Rpb24pKSB7XG4gICAgICAgIHJldHVybiB7aWQ6IHNlY3Rpb24uaWQsIG5hbWU6IHNlY3Rpb24ubmFtZX07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBvcHRpb25zID0gY29tcGFjdChvcHRpb25zKTtcblxuICAgIC8vIEFkZCBmaW5hbCAnb3RoZXIgdGVhY2hlcicgb3B0aW9uc1xuICAgIG9wdGlvbnMucHVzaCh7aWQ6IE9USEVSX1RFQUNIRVIsIG5hbWU6IGkxOG4ub3RoZXJUZWFjaGVyKCl9KTtcbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfTtcblxuICBvbkNoYW5nZVNlY3Rpb24gPSBldmVudCA9PiB7XG4gICAgY29uc3Qgc2VjdGlvblZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgIGxldCBuZXdUcmFuc2ZlckRhdGE7XG5cbiAgICBpZiAoc2VjdGlvblZhbHVlID09PSBPVEhFUl9URUFDSEVSKSB7XG4gICAgICBuZXdUcmFuc2ZlckRhdGEgPSB7XG4gICAgICAgIG90aGVyVGVhY2hlcjogdHJ1ZSxcbiAgICAgICAgc2VjdGlvbklkOiBudWxsLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3VHJhbnNmZXJEYXRhID0ge1xuICAgICAgICBvdGhlclRlYWNoZXI6IGZhbHNlLFxuICAgICAgICBzZWN0aW9uSWQ6IHBhcnNlSW50KHNlY3Rpb25WYWx1ZSksXG4gICAgICAgIGNvcHlTdHVkZW50czogZmFsc2UsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMucHJvcHMudXBkYXRlU3R1ZGVudFRyYW5zZmVyKHsuLi5uZXdUcmFuc2ZlckRhdGF9KTtcbiAgfTtcblxuICBvbkNoYW5nZVRlYWNoZXJTZWN0aW9uID0gZXZlbnQgPT4ge1xuICAgIHRoaXMucHJvcHMudXBkYXRlU3R1ZGVudFRyYW5zZmVyKHtcbiAgICAgIG90aGVyVGVhY2hlclNlY3Rpb246IGV2ZW50LnRhcmdldC52YWx1ZSxcbiAgICB9KTtcbiAgfTtcblxuICBvbkNoYW5nZU1vdmVPckNvcHkgPSBldmVudCA9PiB7XG4gICAgdGhpcy5wcm9wcy51cGRhdGVTdHVkZW50VHJhbnNmZXIoe1xuICAgICAgY29weVN0dWRlbnRzOiBldmVudC50YXJnZXQudmFsdWUgPT09IFRyYW5zZmVyVHlwZS5DT1BZX1NUVURFTlRTLFxuICAgIH0pO1xuICB9O1xuXG4gIHRyYW5zZmVyID0gKCkgPT4ge1xuICAgIHRoaXMucHJvcHMudHJhbnNmZXJTdHVkZW50cyh0aGlzLmNsb3NlRGlhbG9nKTtcbiAgfTtcblxuICBpc0J1dHRvbkRpc2FibGVkID0gKCkgPT4ge1xuICAgIGNvbnN0IHtzdHVkZW50SWRzLCBzZWN0aW9uSWQsIG90aGVyVGVhY2hlciwgb3RoZXJUZWFjaGVyU2VjdGlvbn0gPVxuICAgICAgdGhpcy5wcm9wcy50cmFuc2ZlckRhdGE7XG4gICAgaWYgKG90aGVyVGVhY2hlcikge1xuICAgICAgcmV0dXJuIHN0dWRlbnRJZHMubGVuZ3RoID09PSAwIHx8ICFvdGhlclRlYWNoZXJTZWN0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gc3R1ZGVudElkcy5sZW5ndGggPT09IDAgfHwgIXNlY3Rpb25JZDtcbiAgICB9XG4gIH07XG5cbiAgdG9nZ2xlQWxsID0gc2hvdWxkU2VsZWN0QWxsID0+IHtcbiAgICBsZXQgc3R1ZGVudElkcyA9IFtdO1xuXG4gICAgaWYgKHNob3VsZFNlbGVjdEFsbCkge1xuICAgICAgc3R1ZGVudElkcyA9IHRoaXMuZ2V0U3R1ZGVudElkcygpO1xuICAgIH1cblxuICAgIHRoaXMucHJvcHMudXBkYXRlU3R1ZGVudFRyYW5zZmVyKHtzdHVkZW50SWRzfSk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtzdHVkZW50RGF0YSwgdHJhbnNmZXJEYXRhLCB0cmFuc2ZlclN0YXR1c30gPSB0aGlzLnByb3BzO1xuICAgIC8vIERlZmluZSBhIHNvcnRpbmcgdHJhbnNmb3JtIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gZWFjaCBjb2x1bW5cblxuICAgIGNvbnN0IHBlbmRpbmdUcmFuc2ZlciA9IHRyYW5zZmVyU3RhdHVzLnN0YXR1cyA9PT0gVHJhbnNmZXJTdGF0dXMuUEVORElORztcblxuICAgIGNvbnN0IHNlbGVjdGVkU3R1ZGVudERhdGEgPSBzdHVkZW50RGF0YS5tYXAocm93ID0+ICh7XG4gICAgICAuLi5yb3csXG4gICAgICBpc0NoZWNrZWQ6IHRyYW5zZmVyRGF0YS5zdHVkZW50SWRzLmluY2x1ZGVzKHJvdy5pZCksXG4gICAgfSkpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxCdXR0b25cbiAgICAgICAgICBzdHlsZT17c3R5bGVzLmJ1dHRvbldpdGhvdXRNYXJnaW59XG4gICAgICAgICAgb25DbGljaz17dGhpcy5vcGVuRGlhbG9nfVxuICAgICAgICAgIGNvbG9yPXtCdXR0b24uQnV0dG9uQ29sb3IuZ3JheX1cbiAgICAgICAgICB0ZXh0PXtpMThuLm1vdmVTdHVkZW50cygpfVxuICAgICAgICAgIGljb249XCJzaWduLW91dFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxCYXNlRGlhbG9nXG4gICAgICAgICAgdXNlVXBkYXRlZFN0eWxlc1xuICAgICAgICAgIGlzT3Blbj17dGhpcy5zdGF0ZS5pc0RpYWxvZ09wZW59XG4gICAgICAgICAgc3R5bGU9e3N0eWxlcy5kaWFsb2d9XG4gICAgICAgICAgaGFuZGxlQ2xvc2U9e3RoaXMuY2xvc2VEaWFsb2d9XG4gICAgICAgID5cbiAgICAgICAgICA8U29ydGVkVGFibGVTZWxlY3RcbiAgICAgICAgICAgIHJvd0RhdGE9e3NlbGVjdGVkU3R1ZGVudERhdGF9XG4gICAgICAgICAgICBvblJvd0NoZWNrZWQ9e2lkID0+IHRoaXMudG9nZ2xlU3R1ZGVudFNlbGVjdGVkKGlkKX1cbiAgICAgICAgICAgIG9wdGlvbnM9e3RoaXMuZ2V0T3B0aW9ucygpfVxuICAgICAgICAgICAgb25DaG9vc2VPcHRpb249e3RoaXMub25DaGFuZ2VTZWN0aW9ufVxuICAgICAgICAgICAgZGVzY3JpcHRpb25UZXh0PXtpMThuLnNlbGVjdFN0dWRlbnRzVG9Nb3ZlKCl9XG4gICAgICAgICAgICBvcHRpb25zRGVzY3JpcHRpb25UZXh0PXtgJHtpMThuLm1vdmVUb1NlY3Rpb24oKX06YH1cbiAgICAgICAgICAgIHRpdGxlVGV4dD17aTE4bi5tb3ZlU3R1ZGVudHMoKX1cbiAgICAgICAgICAgIG9uU2VsZWN0QWxsPXtzaG91bGRTZWxlY3RBbGwgPT4gdGhpcy50b2dnbGVBbGwoc2hvdWxkU2VsZWN0QWxsKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICB7dHJhbnNmZXJTdGF0dXMuc3RhdHVzID09PSBUcmFuc2ZlclN0YXR1cy5GQUlMICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwidWl0ZXN0LWVycm9yXCIgc3R5bGU9e3N0eWxlcy5lcnJvcn0+XG4gICAgICAgICAgICAgICAgICB7dHJhbnNmZXJTdGF0dXMuZXJyb3J9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHt0cmFuc2ZlckRhdGEub3RoZXJUZWFjaGVyICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwidWl0ZXN0LW90aGVyLXRlYWNoZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBodG1sRm9yPVwic2VjdGlvbkNvZGVcIiBzdHlsZT17c3R5bGVzLmxhYmVsfT5cbiAgICAgICAgICAgICAgICAgICAge2Ake2kxOG4uZW50ZXJTZWN0aW9uQ29kZSgpfTpgfVxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwic2VjdGlvbkNvZGVcIlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLnNlY3Rpb25JbnB1dH1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3RyYW5zZmVyRGF0YS5vdGhlclRlYWNoZXJTZWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZVRlYWNoZXJTZWN0aW9ufVxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aTE4bi5zZWN0aW9uQ29kZVBsYWNlaG9sZGVyKCl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIHN0eWxlPXtzdHlsZXMubGFiZWx9PlxuICAgICAgICAgICAgICAgICAgICB7aTE4bi5ib3RoU2VjdGlvbnNRdWVzdGlvbigpfVxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBzdHlsZT17c3R5bGVzLmlucHV0fT5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17VHJhbnNmZXJUeXBlLkNPUFlfU1RVREVOVFN9XG4gICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZD17dHJhbnNmZXJEYXRhLmNvcHlTdHVkZW50c31cbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZU1vdmVPckNvcHl9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXtzdHlsZXMucmFkaW9PcHRpb259PlxuICAgICAgICAgICAgICAgICAgICAgIHtpMThuLmNvcHlTdHVkZW50c0NvbmZpcm0oKX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBzdHlsZT17c3R5bGVzLmlucHV0fT5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cIm1vdmVcIlxuICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9eyF0cmFuc2ZlckRhdGEuY29weVN0dWRlbnRzfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlTW92ZU9yQ29weX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3N0eWxlcy5yYWRpb09wdGlvbn0+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4ubW92ZVN0dWRlbnRzQ29uZmlybSgpfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9Tb3J0ZWRUYWJsZVNlbGVjdD5cbiAgICAgICAgICA8RGlhbG9nRm9vdGVyPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLmJ1dHRvbldpdGhvdXRNYXJnaW59XG4gICAgICAgICAgICAgIHRleHQ9e2kxOG4uZGlhbG9nQ2FuY2VsKCl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuY2xvc2VEaWFsb2d9XG4gICAgICAgICAgICAgIGNvbG9yPXtCdXR0b24uQnV0dG9uQ29sb3IuZ3JheX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMuYnV0dG9uV2l0aG91dE1hcmdpbn1cbiAgICAgICAgICAgICAgdGV4dD17aTE4bi5tb3ZlU3R1ZGVudHMoKX1cbiAgICAgICAgICAgICAgb25DbGljaz17dGhpcy50cmFuc2Zlcn1cbiAgICAgICAgICAgICAgY29sb3I9e0J1dHRvbi5CdXR0b25Db2xvci5icmFuZFNlY29uZGFyeURlZmF1bHR9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXtwZW5kaW5nVHJhbnNmZXIgfHwgdGhpcy5pc0J1dHRvbkRpc2FibGVkKCl9XG4gICAgICAgICAgICAgIGlzUGVuZGluZz17cGVuZGluZ1RyYW5zZmVyfVxuICAgICAgICAgICAgICBwZW5kaW5nVGV4dD17aTE4bi5tb3ZpbmdTdHVkZW50cygpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0RpYWxvZ0Zvb3Rlcj5cbiAgICAgICAgPC9CYXNlRGlhbG9nPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBzdHlsZXMgPSB7XG4gIGRpYWxvZzoge1xuICAgIHBhZGRpbmc6IFBBRERJTkcsXG4gICAgd2lkdGg6IERJQUxPR19XSURUSCxcbiAgICBtYXJnaW5MZWZ0OiAtKERJQUxPR19XSURUSCAvIDIpLFxuICB9LFxuICBidXR0b25XaXRob3V0TWFyZ2luOiB7XG4gICAgbWFyZ2luOiAwLFxuICAgIG1hcmdpbkJvdHRvbTogNSxcbiAgfSxcbiAgbGFiZWw6IHtcbiAgICBwYWRkaW5nVG9wOiBQQURESU5HIC8gMixcbiAgfSxcbiAgaW5wdXQ6IHtcbiAgICBtYXJnaW5MZWZ0OiBQQURESU5HIC8gMixcbiAgfSxcbiAgc2VjdGlvbklucHV0OiB7XG4gICAgd2lkdGg6IElOUFVUX1dJRFRILFxuICB9LFxuICByYWRpb09wdGlvbjoge1xuICAgIHBhZGRpbmdMZWZ0OiBQQURESU5HIC8gMixcbiAgICAuLi5mb250Q29uc3RhbnRzWydtYWluLWZvbnQtcmVndWxhciddLFxuICB9LFxuICBlcnJvcjoge1xuICAgIC4uLmZvbnRDb25zdGFudHNbJ21haW4tZm9udC1zZW1pLWJvbGQnXSxcbiAgICBjb2xvcjogY29sb3IucmVkLFxuICAgIHBhZGRpbmdCb3R0b206IFBBRERJTkcgLyAyLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IFVuY29ubmVjdGVkTW92ZVN0dWRlbnRzID0gTW92ZVN0dWRlbnRzO1xuXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KFxuICBzdGF0ZSA9PiAoe1xuICAgIHNlY3Rpb25zOiBnZXRWaXNpYmxlU2VjdGlvbnMoc3RhdGUpLFxuICAgIGN1cnJlbnRTZWN0aW9uSWQ6IHN0YXRlLnRlYWNoZXJTZWN0aW9ucy5zZWxlY3RlZFNlY3Rpb25JZCxcbiAgfSksXG4gIGRpc3BhdGNoID0+ICh7XG4gICAgdXBkYXRlU3R1ZGVudFRyYW5zZmVyKHRyYW5zZmVyRGF0YSkge1xuICAgICAgZGlzcGF0Y2godXBkYXRlU3R1ZGVudFRyYW5zZmVyKHRyYW5zZmVyRGF0YSkpO1xuICAgIH0sXG4gICAgdHJhbnNmZXJTdHVkZW50cyhvbkNvbXBsZXRlKSB7XG4gICAgICBkaXNwYXRjaCh0cmFuc2ZlclN0dWRlbnRzKG9uQ29tcGxldGUpKTtcbiAgICB9LFxuICAgIGNhbmNlbFN0dWRlbnRUcmFuc2ZlcigpIHtcbiAgICAgIGRpc3BhdGNoKGNhbmNlbFN0dWRlbnRUcmFuc2ZlcigpKTtcbiAgICB9LFxuICB9KVxuKShNb3ZlU3R1ZGVudHMpO1xuIiwiaW1wb3J0IGZvbnRDb25zdGFudHMgZnJvbSAnQGNkby9hcHBzL2ZvbnRDb25zdGFudHMnO1xuXG5pbXBvcnQgc3R5bGVDb25zdGFudHMgZnJvbSAnLi4vLi4vc3R5bGVDb25zdGFudHMnO1xuaW1wb3J0IGNvbG9yIGZyb20gJy4uLy4uL3V0aWwvY29sb3InO1xuXG4vLyBDb25zdGFudHMgZm9yIFJlYWN0IHRhYmxlc1xuXG4vLyBTdHlsZXMgZm9yIGEgcmVhY3R0YWJ1bGFyIHRhYmxlXG4vKipcbiAqIEB0eXBlIHt7XG4gKiAgIHRhYmxlVGV4dDoge1xuICogICAgIHRleHRPdmVyZmxvdz86IHN0cmluZztcbiAqICAgICBvdmVyZmxvdz86IHN0cmluZztcbiAqICAgICB3aGl0ZVNwYWNlPzogXCJub3JtYWxcIiB8IFwibm93cmFwXCIgfCBcInByZVwiIHwgXCJwcmUtbGluZVwiIHwgXCJwcmUtd3JhcFwiO1xuICogICB9O1xuICogICB0YWJsZU5hbWVUZXh0OiB7XG4gKiAgICAgdGV4dE92ZXJmbG93OiBzdHJpbmcsXG4gKiAgICAgb3ZlcmZsb3c6IHN0cmluZztcbiAqICAgICB3aGl0ZVNwYWNlOiBzdHJpbmc7XG4gKiAgICAgbWluV2lkdGg6IG51bWJlcjtcbiAqICAgfTtcbiAqICAgdGFibGU6IHtcbiAqICAgICBib3JkZXJXaWR0aD86IHN0cmluZztcbiAqICAgICBib3JkZXJTdHlsZT86IHN0cmluZztcbiAqICAgICBib3JkZXJDb2xvcj86IHN0cmluZztcbiAqICAgICB3aWR0aD86IHN0cmluZztcbiAqICAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmcsXG4gKiAgIH07XG4gKiAgIGNlbGw6IHtcbiAqICAgICBtYXhXaWR0aD86IG51bWJlcjtcbiAqICAgICBib3JkZXI/OiBzdHJpbmc7XG4gKiAgICAgYm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gKiAgICAgcGFkZGluZz86IG51bWJlcjtcbiAqICAgICBmb250U2l6ZT86IG51bWJlcjtcbiAqICAgfTtcbiAqICAgaGVhZGVyQ2VsbDoge1xuICogICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAqICAgICBmb250V2VpZ2h0Pzogc3RyaW5nO1xuICogICAgIGJvcmRlckNvbG9yPzogc3RyaW5nO1xuICogICAgIGJvcmRlclN0eWxlPzogc3RyaW5nO1xuICogICAgIGJvcmRlckJvdHRvbVdpZHRoPzogbnVtYmVyO1xuICogICAgIGJvcmRlclRvcFdpZHRoPzogbnVtYmVyO1xuICogICAgIGJvcmRlckxlZnRXaWR0aD86IG51bWJlcjtcbiAqICAgICBib3JkZXJSaWdodFdpZHRoPzogbnVtYmVyO1xuICogICAgIHBhZGRpbmdUb3A/OiBudW1iZXI7XG4gKiAgICAgcGFkZGluZ0JvdHRvbT86IG51bWJlcjtcbiAqICAgICBjb2xvcj86IHN0cmluZztcbiAqICAgICB0ZXh0QWxpZ24/OiBzdHJpbmc7XG4gKiAgIH07XG4gKiAgIGZsZXhDZWxsOiB7XG4gKiAgICAgZGlzcGxheT86IHN0cmluZztcbiAqICAgICBhbGlnbkl0ZW1zPzogc3RyaW5nO1xuICogICB9O1xuICogfX1cbiAqL1xuZXhwb3J0IGNvbnN0IHRhYmxlTGF5b3V0U3R5bGVzID0ge1xuICB0YWJsZVRleHQ6IHtcbiAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICB9LFxuICB0YWJsZU5hbWVUZXh0OiB7XG4gICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICBtaW5XaWR0aDogMTYwLFxuICB9LFxuICB0YWJsZToge1xuICAgIGJvcmRlcldpZHRoOiAxLFxuICAgIGJvcmRlclN0eWxlOiAnc29saWQnLFxuICAgIGJvcmRlckNvbG9yOiBjb2xvci5ib3JkZXJfZ3JheSxcbiAgICB3aWR0aDogc3R5bGVDb25zdGFudHNbJ2NvbnRlbnQtd2lkdGgnXSxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLnRhYmxlX2xpZ2h0X3JvdyxcbiAgfSxcbiAgY2VsbDoge1xuICAgIG1heFdpZHRoOiAyMDAsXG4gICAgYm9yZGVyOiAnMXB4IHNvbGlkJyxcbiAgICBib3JkZXJDb2xvcjogY29sb3IuYm9yZGVyX2xpZ2h0X2dyYXksXG4gICAgcGFkZGluZzogMTAsXG4gICAgZm9udFNpemU6IDE0LFxuICB9LFxuICBoZWFkZXJDZWxsOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci50YWJsZV9oZWFkZXIsXG4gICAgZm9udFdlaWdodDogJ2JvbGQnLFxuICAgIGJvcmRlckNvbG9yOiBjb2xvci5ib3JkZXJfbGlnaHRfZ3JheSxcbiAgICBib3JkZXJTdHlsZTogJ3NvbGlkJyxcbiAgICBib3JkZXJCb3R0b21XaWR0aDogMSxcbiAgICBib3JkZXJUb3BXaWR0aDogMCxcbiAgICBib3JkZXJMZWZ0V2lkdGg6IDAsXG4gICAgYm9yZGVyUmlnaHRXaWR0aDogMSxcbiAgICBwYWRkaW5nVG9wOiAyMCxcbiAgICBwYWRkaW5nQm90dG9tOiAyMCxcbiAgICBjb2xvcjogY29sb3IuY2hhcmNvYWwsXG4gICAgdGV4dEFsaWduOiAnaW5oZXJpdCcsXG4gIH0sXG4gIGZsZXhDZWxsOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB9LFxuICBsaW5rOiB7XG4gICAgLi4uZm9udENvbnN0YW50c1snbWFpbi1mb250LXNlbWktYm9sZCddLFxuICAgIGZvbnRTaXplOiAxNCxcbiAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxuICB9LFxuICB1bnNvcnRhYmxlSGVhZGVyOiB7XG4gICAgcGFkZGluZ0xlZnQ6IDI1LFxuICB9LFxuICB1bnNvcnRhYmxlSGVhZGVyUlRMOiB7XG4gICAgcGFkZGluZ1JpZ2h0OiAyNSxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBwbFRhYmxlTGF5b3V0U3R5bGVzID0ge1xuICBsaW5rOiB7XG4gICAgLi4uZm9udENvbnN0YW50c1snbWFpbi1mb250LXNlbWktYm9sZCddLFxuICAgIGZvbnRTaXplOiAxNCxcbiAgICBjb2xvcjogY29sb3IubmV1dHJhbF9kYXJrLFxuICAgIHRleHREZWNvcmF0aW9uOiAndW5kZXJsaW5lJyxcbiAgfSxcbiAgc2VjdGlvbkNvZGVMaW5rOiB7XG4gICAgLi4uZm9udENvbnN0YW50c1snbWFpbi1mb250LXNlbWktYm9sZCddLFxuICAgIGZvbnRTaXplOiAxNCxcbiAgICBjb2xvcjogY29sb3IuYnJhbmRfc2Vjb25kYXJ5X2RlZmF1bHQsXG4gIH0sXG4gIGN1cnJlbnRVbml0OiB7XG4gICAgbWFyZ2luVG9wOiAxMCxcbiAgICBmb250U2l6ZTogMTQsXG4gIH0sXG4gIGNvbEJ1dHRvbjoge1xuICAgIHBhZGRpbmdUb3A6IDIwLFxuICAgIHBhZGRpbmdMZWZ0OiAyMCxcbiAgICBwYWRkaW5nQm90dG9tOiAyMCxcbiAgICB3aWR0aDogNDAsXG4gIH0sXG4gIHBhcnRpY2lwYW50VHlwZUNlbGw6IHtcbiAgICBmb250U2l6ZTogMTQsXG4gIH0sXG4gIGxlYXZlQnV0dG9uOiB7XG4gICAgZm9udFNpemU6IDE0LFxuICB9LFxufTtcblxuLy8gU2V0dGluZ3MgZm9yIFdyYXBwZWRTb3J0YWJsZVxuZXhwb3J0IGNvbnN0IHNvcnRhYmxlT3B0aW9ucyA9IHtcbiAgLy8gRGltIGluYWN0aXZlIHNvcnRpbmcgaWNvbnMgaW4gdGhlIGNvbHVtbiBoZWFkZXJzXG4gIGRlZmF1bHQ6IHtjb2xvcjogJ3JnYmEoMCwgMCwgMCwgMC4yICknfSxcbn07XG5cbmV4cG9ydCBjb25zdCBOQU1FX0NFTExfSU5QVVRfV0lEVEggPSAxNjA7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgc29ydCBmcm9tICdzb3J0YWJ1bGFyJztcblxuaW1wb3J0IEZvbnRBd2Vzb21lIGZyb20gJy4uLy4uL2xlZ2FjeVNoYXJlZENvbXBvbmVudHMvRm9udEF3ZXNvbWUnO1xuXG4vKipcbiAqIFNvcnRhYmxlIHRyYW5zZm9ybSB0aGF0IHdyYXBzIGEgUmVhY3RhYnVsYXIgdHJhbnNmb3JtIGdlbmVyYXRlZCBieSBzb3J0LnNvcnQgc28gdGhhdFxuICogaW5zdGVhZCBvZiBhcHBseWluZyBzb3J0IGNsYXNzZXMgdG8gdGhlIGhlYWRlciBjZWxsIGl0IGFkZHMgdGhlIGFwcHJvcHJpYXRlIEZvbnRBd2Vzb21lXG4gKiBjb21wb25lbnQgdG8gdGhlIGNlbGwgY29udGVudHMuXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCk6IG9iamVjdH0gZ2V0U29ydGluZ0NvbHVtbnNcbiAqIEBwYXJhbSB7ZnVuY3Rpb24obnVtYmVyKTogdm9pZH0gb25Tb3J0XG4gKiBAcGFyYW0ge29iamVjdH0gc3R5bGVzIC0gb3B0aW9uYWwgc3R5bGVzIHRvIGFwcGx5IHRvIHRoZSBzb3J0IGljb25zLCBpbiBzdGF0ZXMge2RlZmF1bHQsIHNvcnRBc2MsIHNvcnREZXNjfVxuICogICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCB0aGUgY29udGFpbmVyIGRpdiB7Y29udGFpbmVyfVxuICogQHJldHVybnMge2Z1bmN0aW9uKHN0cmluZywgb2JqZWN0KTogb2JqZWN0fSBhIG5ldyBjZWxsIHRyYW5zZm9ybSBmdW5jdGlvblxuICogQHNlZSBodHRwOi8vcmVhY3RhYnVsYXIuanMub3JnLyMvY29sdW1uLWRlZmluaXRpb24vdHJhbnNmb3Jtc1xuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vcmVhY3RhYnVsYXIvcmVhY3RhYnVsYXIvYmxvYi9tYXN0ZXIvcGFja2FnZXMvcmVhY3RhYnVsYXItc29ydC9zcmMvc29ydC5qc1xuICovXG5mdW5jdGlvbiB3cmFwcGVkU29ydGFibGUoZ2V0U29ydGluZ0NvbHVtbnMsIG9uU29ydCwgc3R5bGVzID0ge30pIHtcbiAgY29uc3QgYmFzaWNTb3J0YWJsZSA9IHNvcnQuc29ydCh7Z2V0U29ydGluZ0NvbHVtbnMsIG9uU29ydH0pO1xuXG4gIHJldHVybiAobGFiZWwsIGNvbHVtbkluZm8pID0+IHtcbiAgICBjb25zdCB7Y2xhc3NOYW1lOiBuZXdDbGFzc05hbWUsIC4uLm5ld1Byb3BzfSA9IGJhc2ljU29ydGFibGUoXG4gICAgICBsYWJlbCxcbiAgICAgIGNvbHVtbkluZm9cbiAgICApO1xuXG4gICAgLy8gRGV0ZWN0IG5ldyBjbGFzc2VzIGFwcGxpZWQgYnkgc29ydCB0cmFuc2Zvcm06IHNvcnQtbm9uZSwgc29ydC1hc2MsIHNvcnQtZGVzY1xuICAgIC8vIEluc3RlYWQgb2YgYXBwbHlpbmcgdGhvc2UgY2xhc3NlcywgYWRkIGRpZmZlcmVudCBGb250QXdlc29tZSBpY29uc1xuICAgIGxldCBzb3J0SWNvbiA9IChcbiAgICAgIDxGb250QXdlc29tZSBpY29uPVwic29ydFwiIGNsYXNzTmFtZT1cImZhLWZ3XCIgc3R5bGU9e3N0eWxlcy5kZWZhdWx0fSAvPlxuICAgICk7XG4gICAgaWYgKC9zb3J0LWFzYy8udGVzdChuZXdDbGFzc05hbWUpKSB7XG4gICAgICBzb3J0SWNvbiA9IChcbiAgICAgICAgPEZvbnRBd2Vzb21lIGljb249XCJzb3J0LWFzY1wiIGNsYXNzTmFtZT1cImZhLWZ3XCIgc3R5bGU9e3N0eWxlcy5zb3J0QXNjfSAvPlxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKC9zb3J0LWRlc2MvLnRlc3QobmV3Q2xhc3NOYW1lKSkge1xuICAgICAgc29ydEljb24gPSAoXG4gICAgICAgIDxGb250QXdlc29tZVxuICAgICAgICAgIGljb249XCJzb3J0LWRlc2NcIlxuICAgICAgICAgIGNsYXNzTmFtZT1cImZhLWZ3XCJcbiAgICAgICAgICBzdHlsZT17c3R5bGVzLnNvcnREZXNjfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIHdyYXBwaW5nIG9uIHRoZSBzb3J0aW5nIGljb24gdG8gZW5zdXJlIHRoYXQgdGhlIGhlYWRlciB3aWxsXG4gICAgLy8gbmV2ZXIgd3JhcCBzdWNoIHRoYXQgdGhlIHNvcnRpbmcgaWNvbiBpcyBvbiBhIHJvdyBhbGwgb24gaXRzIG93bi5cbiAgICAvL1xuICAgIC8vIE5vdGUgdGhhdCB3ZSBjb3VsZCBhcHBseSB0aGlzIHN0eWxlIHRvIHRoZSB3aG9sZSBoZWFkZXIgY2VsbCwgYnV0IHRoYXRcbiAgICAvLyB3b3VsZCBwcmV2ZW50IGFueSB3cmFwcGluZyBmcm9tIGhhcHBlbmluZyBhdCBhbGw7IGJlY2F1c2Ugd2Ugd2FudCB0b1xuICAgIC8vIGFsbG93IGZvciB0aGUgcG9zc2liaWxpdHkgb2YgbG9uZyBoZWFkZXIgbmFtZXMgdGhhdCBfc2hvdWxkXyB3cmFwLCB0aGlzXG4gICAgLy8gcHJvdmlkZXMgYSBuaWNlIGNvbXByb21pc2UuXG4gICAgY29uc3Qgc29ydEljb25TcGFuU3R5bGUgPSB7d2hpdGVTcGFjZTogJ25vd3JhcCd9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5ld1Byb3BzLFxuICAgICAgc3R5bGU6IE9iamVjdC5hc3NpZ24oe30sIHtjdXJzb3I6ICdwb2ludGVyJ30pLFxuICAgICAgY2hpbGRyZW46IChcbiAgICAgICAgPHNwYW4gc3R5bGU9e3N0eWxlcy5jb250YWluZXJ9PlxuICAgICAgICAgIDxzcGFuIGtleT1cImljb25cIiBzdHlsZT17c29ydEljb25TcGFuU3R5bGV9PlxuICAgICAgICAgICAge3NvcnRJY29ufVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBrZXk9XCJsYWJlbFwiPntsYWJlbH08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICksXG4gICAgfTtcbiAgfTtcbn1cbmV4cG9ydCBkZWZhdWx0IHdyYXBwZWRTb3J0YWJsZTtcbiIsImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcblxuY29uc3Qgc3R5bGUgPSB7XG4gIGFib3ZlRm9vdGVyOiB7XG4gICAgaGVpZ2h0OiAnOTBweCcsXG4gIH0sXG4gIGZvb3Rlcjoge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIGhlaWdodDogJzEwMHB4JyxcbiAgICBwYWRkaW5nOiAnMCAyMHB4JyxcbiAgICBsZWZ0OiAnMCcsXG4gICAgcmlnaHQ6ICcwJyxcbiAgICBib3R0b206ICcwJyxcbiAgICBiYWNrZ3JvdW5kOiAnd2hpdGUnLFxuICAgIHpJbmRleDogJzUwMCcsXG4gIH0sXG4gIGJ1dHRvblJvdzoge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4RmxvdzogJ3JvdycsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgfSxcbiAgcmlnaHRBbGlnbjoge1xuICAgIGp1c3RpZnlDb250ZW50OiAnZmxleC1lbmQnLFxuICB9LFxufTtcblxuLyoqXG4gKiBFeHRyZW1lbHkgc2ltcGxlIGZvb3RlciBleHBlY3RpbmcgdHdvIGNoaWxkcmVuIHRvIGFsaWduIHRvIHRoZSBsZWZ0IGFuZFxuICogcmlnaHQgc2lkZXMgb2YgdGhlIGRpYWxvZywgcmVzcGVjdGl2ZWx5LlxuICogU2VlIERpYWxvZ0Zvb3Rlci5zdG9yeS5qc3ggZm9yIHVzYWdlIGV4YW1wbGVzLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEaWFsb2dGb290ZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHJpZ2h0QWxpZ246IFByb3BUeXBlcy5ib29sLFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuYW55LFxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBsZXQgYnV0dG9uUm93U3R5bGUgPSB0aGlzLnByb3BzLnJpZ2h0QWxpZ25cbiAgICAgID8gey4uLnN0eWxlLmJ1dHRvblJvdywgLi4uc3R5bGUucmlnaHRBbGlnbn1cbiAgICAgIDogc3R5bGUuYnV0dG9uUm93O1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IHN0eWxlPXtzdHlsZS5hYm92ZUZvb3Rlcn0gLz5cbiAgICAgICAgPGRpdiBzdHlsZT17c3R5bGUuZm9vdGVyfT5cbiAgICAgICAgICA8aHIgLz5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXtidXR0b25Sb3dTdHlsZX0+e3RoaXMucHJvcHMuY2hpbGRyZW59PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9sb2Rhc2giLCJyZXF1aXJlIiwiX3Byb3BUeXBlcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3QiLCJUYWJsZSIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwic29ydCIsIl9IZWFkaW5ncyIsIl90YWJsZUNvbnN0YW50cyIsIl93cmFwcGVkX3NvcnRhYmxlIiwiX2NvbG9yIiwiX2xvY2FsZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm8iLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9zZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiYmluZCIsIl90b1Byb3BlcnR5S2V5IiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiREVGQVVMVF9TT1JUIiwiZGlyZWN0aW9uIiwicG9zaXRpb24iLCJTb3J0ZWRUYWJsZVNlbGVjdCIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwiX3RoaXMiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNvbmNhdCIsInNvcnRpbmdDb2x1bW5zIiwic2VsZWN0ZWRPcHRpb24iLCJ1bmRlZmluZWQiLCJwcm9wcyIsInJvd0RhdGEiLCJmaW5kIiwicm93IiwiaXNDaGVja2VkIiwib25TZWxlY3RBbGwiLCJhcmVBbGxTZWxlY3RlZCIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsInN0eWxlcyIsImNoZWNrYm94IiwidHlwZSIsImNoZWNrZWQiLCJvbkNoYW5nZSIsInRvZ2dsZVNlbGVjdEFsbCIsIl8iLCJfcmVmIiwib25Sb3dDaGVja2VkIiwiaWQiLCJzb3J0YWJsZSIsInByb3BlcnR5IiwiaGVhZGVyIiwibGFiZWwiLCJmb3JtYXR0ZXJzIiwic2VsZWN0ZWRSb3dIZWFkZXJGb3JtYXR0ZXIiLCJ0YWJsZUxheW91dFN0eWxlcyIsImhlYWRlckNlbGwiLCJjaGVja2JveENlbGwiLCJjZWxsIiwic2VsZWN0ZWRSb3dGb3JtYXR0ZXIiLCJpMThuIiwibmFtZSIsInRyYW5zZm9ybXMiLCJzZWxlY3RPcHRpb25zIiwib3B0aW9ucyIsIm1hcCIsIm9wdGlvbiIsImtleSIsInVuc2hpZnQiLCJzdGF0ZSIsInNlbGVjdGVkQ29sdW1uIiwic2V0U3RhdGUiLCJieUNvbHVtbiIsInNvcnRpbmdPcmRlciIsIkZJUlNUIiwiYXNjIiwiZGVzYyIsIl9pbmhlcml0c0xvb3NlIiwiY3JlYXRlIiwicmVuZGVyIiwiX3RoaXMkcHJvcHMiLCJ0aGlzIiwib25DaG9vc2VPcHRpb24iLCJkZXNjcmlwdGlvblRleHQiLCJvcHRpb25zRGVzY3JpcHRpb25UZXh0IiwidGl0bGVUZXh0IiwiY2hpbGRyZW4iLCJ0YWJsZURlc2NyaXB0aW9uVGV4dCIsImdldFNvcnRpbmdDb2x1bW5zIiwid3JhcHBlZFNvcnRhYmxlIiwib25Tb3J0Iiwic29ydGFibGVPcHRpb25zIiwiY29sdW1ucyIsImdldENvbHVtbnMiLCJzb3J0ZWRSb3dzIiwic29ydGVyIiwib3JkZXJCeSIsImNsYXNzTmFtZSIsIkhlYWRpbmcxIiwiY29udGFpbmVyIiwibGVmdENvbHVtbiIsIlByb3ZpZGVyIiwidGFibGUiLCJIZWFkZXIiLCJCb2R5Iiwicm93cyIsInJvd0tleSIsIml0YWxpY3MiLCJyaWdodENvbHVtbiIsImluZm9UZXh0IiwiaHRtbEZvciIsInJlbmRlck9wdGlvbnMiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImFycmF5T2YiLCJzaGFwZSIsIm51bWJlciIsImlzUmVxdWlyZWQiLCJzdHJpbmciLCJmdW5jIiwiYXJyYXkiLCJub2RlIiwid2lkdGgiLCJ0ZXh0QWxpZ24iLCJtYXJnaW4iLCJkaXNwbGF5IiwiZmxleCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1RvcCIsIlBBRERJTkciLCJwYWRkaW5nQm90dG9tIiwiY29sb3IiLCJwdXJwbGUiLCJtb2R1bGUiLCJkZWZhdWx0IiwiX2ZvbnRDb25zdGFudHMiLCJfZXhjbHVkZWQiLCJfZXhjbHVkZWQyIiwiX2V4Y2x1ZGVkMyIsIl9leHRlbmRzIiwiYXNzaWduIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJpbmNsdWRlcyIsInMiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImJhc2VIZWFkaW5nU3R5bGUiLCJmb250Q29uc3RhbnRzIiwiZGFya19jaGFyY29hbCIsImgxU3R5bGUiLCJmb250U2l6ZSIsImxpbmVIZWlnaHQiLCJfQ29tcG9uZW50IiwicmVzdFByb3BzIiwib25lT2ZUeXBlIiwib2JqZWN0IiwiaDJTdHlsZSIsIl9Db21wb25lbnQyIiwiSGVhZGluZzIiLCJfdGhpcyRwcm9wczIiLCJoM1N0eWxlIiwiaDNSZWJyYW5kaW5nU3R5bGUiLCJmb250RmFtaWx5IiwiX0NvbXBvbmVudDMiLCJIZWFkaW5nMyIsIl90aGlzJHByb3BzMyIsImlzUmVicmFuZGVkIiwiaGVhZGluZ1N0eWxlcyIsImJvb2wiLCJfQnV0dG9uIiwiX2NvbnN0YW50cyIsIkJhc2VEaWFsb2ciLCJldmVudCIsImNsb3NlRGlhbG9nIiwiaGFuZGxlS2V5RG93biIsInVuY2xvc2VhYmxlIiwiaGFuZGxlQ2xvc2UiLCJzb3VuZFBsYXllciIsInN0b3BBbGxBdWRpbyIsIl9wcm90byIsImNvbXBvbmVudERpZE1vdW50IiwiZm9jdXNEaWFsb2ciLCJjb21wb25lbnREaWRVcGRhdGUiLCJnZXRUYWJiYWJsZUVsZW1lbnRzIiwic2xpY2UiLCJyZWZzIiwiZGlhbG9nIiwicXVlcnlTZWxlY3RvckFsbCIsImRlc2NlbmRhbnRJc0FjdGl2ZSIsImRvY3VtZW50IiwiYWN0aXZlRWxlbWVudCIsImNvbnRhaW5zIiwiaXNPcGVuIiwiZm9jdXMiLCJoaWRlQmFja2Ryb3AiLCJib2R5U3R5bGUiLCJtb2RhbEJvZHlTdHlsZSIsInhDbG9zZVN0eWxlIiwiZnVsbFdpZHRoIiwibWFyZ2luTGVmdCIsImZ1bGxIZWlnaHQiLCJoZWlnaHQiLCJib3hTaXppbmciLCJ3cmFwcGVyQ2xhc3NOYW1lcyIsIm1vZGFsQ2xhc3NOYW1lcyIsIm1vZGFsQm9keUNsYXNzTmFtZXMiLCJvdmVyZmxvd1giLCJvdmVyZmxvdyIsIm92ZXJmbG93WSIsImZpeGVkSGVpZ2h0IiwidXNlVXBkYXRlZFN0eWxlcyIsImJhY2tncm91bmQiLCJtYXhIZWlnaHQiLCJib3JkZXJSYWRpdXMiLCJ1c2VGbGV4Ym94IiwiZmxleERpcmVjdGlvbiIsImZpeGVkV2lkdGgiLCJCQVNFX0RJQUxPR19XSURUSCIsIm5vTW9kYWxTdHlsZXMiLCJ0b3AiLCJpbnNldElubGluZUVuZCIsInBhZGRpbmciLCJuZXV0cmFsX2RhcmszMCIsImN1cnNvciIsImJvcmRlciIsImJvZHlDbGFzc05hbWUiLCJqb2luIiwiYm9keSIsInRhYkluZGV4IiwicmVmIiwib25LZXlEb3duIiwiYm9keUlkIiwiaGlkZUNsb3NlQnV0dG9uIiwib25DbGljayIsImljb24iLCJiYWNrZHJvcFN0eWxlIiwiX3JlYWN0UmVkdXgiLCJfU29ydGVkVGFibGVTZWxlY3QiLCJfZmlyZWhvc2UiLCJfQmFzZURpYWxvZyIsIl9EaWFsb2dGb290ZXIiLCJfdGVhY2hlclNlY3Rpb25zUmVkdXhTZWxlY3RvcnMiLCJfc2hhcmVkQ29uc3RhbnRzIiwiX21hbmFnZVN0dWRlbnRzUmVkdXgiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfaXRlcmFibGVUb0FycmF5IiwiZnJvbSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsInRvU3RyaW5nIiwidGVzdCIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIk1vdmVTdHVkZW50cyIsImlzRGlhbG9nT3BlbiIsImZpcmVob3NlQ2xpZW50IiwicHV0UmVjb3JkIiwic3R1ZHkiLCJzdHVkeV9ncm91cCIsImRhdGFfanNvbiIsIkpTT04iLCJzdHJpbmdpZnkiLCJzZWN0aW9uSWQiLCJjdXJyZW50U2VjdGlvbklkIiwiaW5jbHVkZVVzZXJJZCIsImNhbmNlbFN0dWRlbnRUcmFuc2ZlciIsInN0dWRlbnREYXRhIiwic3R1ZGVudElkIiwic3R1ZGVudElkcyIsInRyYW5zZmVyRGF0YSIsInN0dWRlbnRJbmRleCIsImluZGV4T2YiLCJzcGxpY2UiLCJ1cGRhdGVTdHVkZW50VHJhbnNmZXIiLCJzZWN0aW9uIiwiaXNTYW1lQXNTb3VyY2UiLCJpc0V4dGVybmFsbHlSb3N0ZXJlZCIsIlNlY3Rpb25Mb2dpblR5cGUiLCJ3b3JkIiwicGljdHVyZSIsImVtYWlsIiwibG9naW5UeXBlIiwic2VjdGlvbnMiLCJpc1ZhbGlkRGVzdGluYXRpb25TZWN0aW9uIiwiY29tcGFjdCIsIm90aGVyVGVhY2hlciIsIm5ld1RyYW5zZmVyRGF0YSIsInNlY3Rpb25WYWx1ZSIsInRhcmdldCIsInBhcnNlSW50IiwiY29weVN0dWRlbnRzIiwib3RoZXJUZWFjaGVyU2VjdGlvbiIsIlRyYW5zZmVyVHlwZSIsIkNPUFlfU1RVREVOVFMiLCJ0cmFuc2ZlclN0dWRlbnRzIiwiX3RoaXMkcHJvcHMkdHJhbnNmZXJEIiwic2hvdWxkU2VsZWN0QWxsIiwiZ2V0U3R1ZGVudElkcyIsIl90aGlzMiIsInRyYW5zZmVyU3RhdHVzIiwicGVuZGluZ1RyYW5zZmVyIiwic3RhdHVzIiwiVHJhbnNmZXJTdGF0dXMiLCJQRU5ESU5HIiwic2VsZWN0ZWRTdHVkZW50RGF0YSIsImJ1dHRvbldpdGhvdXRNYXJnaW4iLCJvcGVuRGlhbG9nIiwiQnV0dG9uIiwiQnV0dG9uQ29sb3IiLCJncmF5IiwidGV4dCIsIm1vdmVTdHVkZW50cyIsInRvZ2dsZVN0dWRlbnRTZWxlY3RlZCIsImdldE9wdGlvbnMiLCJvbkNoYW5nZVNlY3Rpb24iLCJzZWxlY3RTdHVkZW50c1RvTW92ZSIsIm1vdmVUb1NlY3Rpb24iLCJ0b2dnbGVBbGwiLCJGQUlMIiwiZXJyb3IiLCJlbnRlclNlY3Rpb25Db2RlIiwicmVxdWlyZWQiLCJzZWN0aW9uSW5wdXQiLCJvbkNoYW5nZVRlYWNoZXJTZWN0aW9uIiwicGxhY2Vob2xkZXIiLCJzZWN0aW9uQ29kZVBsYWNlaG9sZGVyIiwiYm90aFNlY3Rpb25zUXVlc3Rpb24iLCJpbnB1dCIsIm9uQ2hhbmdlTW92ZU9yQ29weSIsInJhZGlvT3B0aW9uIiwiY29weVN0dWRlbnRzQ29uZmlybSIsIm1vdmVTdHVkZW50c0NvbmZpcm0iLCJkaWFsb2dDYW5jZWwiLCJ0cmFuc2ZlciIsImJyYW5kU2Vjb25kYXJ5RGVmYXVsdCIsImRpc2FibGVkIiwiaXNCdXR0b25EaXNhYmxlZCIsImlzUGVuZGluZyIsInBlbmRpbmdUZXh0IiwibW92aW5nU3R1ZGVudHMiLCJtYXJnaW5Cb3R0b20iLCJyZWQiLCJjb25uZWN0IiwiZ2V0VmlzaWJsZVNlY3Rpb25zIiwidGVhY2hlclNlY3Rpb25zIiwic2VsZWN0ZWRTZWN0aW9uSWQiLCJkaXNwYXRjaCIsIm9uQ29tcGxldGUiLCJfc3R5bGVDb25zdGFudHMiLCJ0YWJsZVRleHQiLCJ0ZXh0T3ZlcmZsb3ciLCJ3aGl0ZVNwYWNlIiwidGFibGVOYW1lVGV4dCIsIm1pbldpZHRoIiwiYm9yZGVyV2lkdGgiLCJib3JkZXJTdHlsZSIsImJvcmRlckNvbG9yIiwiYm9yZGVyX2dyYXkiLCJzdHlsZUNvbnN0YW50cyIsImJhY2tncm91bmRDb2xvciIsInRhYmxlX2xpZ2h0X3JvdyIsIm1heFdpZHRoIiwiYm9yZGVyX2xpZ2h0X2dyYXkiLCJ0YWJsZV9oZWFkZXIiLCJmb250V2VpZ2h0IiwiYm9yZGVyQm90dG9tV2lkdGgiLCJib3JkZXJUb3BXaWR0aCIsImJvcmRlckxlZnRXaWR0aCIsImJvcmRlclJpZ2h0V2lkdGgiLCJjaGFyY29hbCIsImZsZXhDZWxsIiwiYWxpZ25JdGVtcyIsImxpbmsiLCJ0ZXh0RGVjb3JhdGlvbiIsInVuc29ydGFibGVIZWFkZXIiLCJ1bnNvcnRhYmxlSGVhZGVyUlRMIiwicGFkZGluZ1JpZ2h0IiwibmV1dHJhbF9kYXJrIiwic2VjdGlvbkNvZGVMaW5rIiwiYnJhbmRfc2Vjb25kYXJ5X2RlZmF1bHQiLCJjdXJyZW50VW5pdCIsIm1hcmdpblRvcCIsImNvbEJ1dHRvbiIsInBhcnRpY2lwYW50VHlwZUNlbGwiLCJsZWF2ZUJ1dHRvbiIsIl9Gb250QXdlc29tZSIsImJhc2ljU29ydGFibGUiLCJjb2x1bW5JbmZvIiwiX2Jhc2ljU29ydGFibGUiLCJuZXdDbGFzc05hbWUiLCJuZXdQcm9wcyIsInNvcnRJY29uIiwic29ydEFzYyIsInNvcnREZXNjIiwiYWJvdmVGb290ZXIiLCJmb290ZXIiLCJsZWZ0IiwicmlnaHQiLCJib3R0b20iLCJ6SW5kZXgiLCJidXR0b25Sb3ciLCJmbGV4RmxvdyIsImp1c3RpZnlDb250ZW50IiwicmlnaHRBbGlnbiIsIkRpYWxvZ0Zvb3RlciIsImJ1dHRvblJvd1N0eWxlIiwiYW55Il0sInNvdXJjZVJvb3QiOiIifQ==