-
Notifications
You must be signed in to change notification settings - Fork 2
/
4053.a646cc05.iframe.bundle.js
2 lines (2 loc) · 94.1 KB
/
4053.a646cc05.iframe.bundle.js
1
2
(self.webpackChunkblockly_mooc=self.webpackChunkblockly_mooc||[]).push([[4053],{"./src/legacySharedComponents/FontAwesome.jsx":(module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=FontAwesome;var _lodash=_interopRequireDefault(__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")),_excluded=["icon","className","title"];function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}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 FontAwesome(_ref){var icon=_ref.icon,className=_ref.className,title=_ref.title,props=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}(_ref,_excluded),newProps=_lodash.default.assign({},props,{className:"fa fa-".concat(icon," ").concat(className||"")});return _react.default.createElement("i",_extends({},newProps,{title}))}FontAwesome.propTypes={icon:_propTypes.default.string.isRequired,className:_propTypes.default.string,title:_propTypes.default.string},module.exports=exports.default},"./src/styleConstants.js":module=>{module.exports={"workspace-headers-height":30,"resize-bar-width":13,"delete-opacity":"0.5","content-width":970}},"./src/templates/sectionAssessments/assessmentsTestHelpers.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.testDataTimestamps=exports.surveyTwo=exports.surveyOne=exports.studentOverviewData=exports.studentMCData=exports.questionTwo=exports.questionThree=exports.questionOne=exports.multipleChoiceDataForSingleStudent=exports.multipleChoiceData=exports.matchQuestionWith4Pairs=exports.matchQuestionWith2Pairs=exports.matchDataForSingleStudent=void 0;var _sectionAssessmentsRedux=__webpack_require__("./src/templates/sectionAssessments/sectionAssessmentsRedux.js"),_locale=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(__webpack_require__("./src/util/locale-do-not-import.js"));var testDataTimestamps=exports.testDataTimestamps={newest:new Date("2019-04-09T20:52:05.000+00:00"),newer:new Date("2019-04-09T20:40:05.000+00:00"),new:new Date("2019-02-09T20:52:05.000+00:00"),old:new Date("2018-12-09T20:52:05.000+00:00"),older:new Date("2018-10-09T20:52:05.000+00:00"),oldest:new Date("2018-10-07T20:52:05.000+00:00"),notStarted:_sectionAssessmentsRedux.notStartedFakeTimestamp,inProgress:_sectionAssessmentsRedux.inProgressFakeTimestamp},multipleChoiceData=(exports.studentOverviewData=[{id:1,name:"Caley",numMultipleChoiceCorrect:7,numMultipleChoice:10,numMatchCorrect:7,numMatch:10,isSubmitted:!1,inProgress:!1,submissionTimeStamp:testDataTimestamps.notStarted},{id:2,name:"Maddie",numMultipleChoiceCorrect:3,numMultipleChoice:10,numMatchCorrect:3,numMatch:10,isSubmitted:!1,inProgress:!0,submissionTimeStamp:testDataTimestamps.inProgress},{id:3,name:"Erin",numMultipleChoiceCorrect:8,numMultipleChoice:10,numMatchCorrect:8,numMatch:10,isSubmitted:!0,inProgress:!1,submissionTimeStamp:testDataTimestamps.newest},{id:4,name:"Dave",numMultipleChoiceCorrect:10,numMultipleChoice:10,isSubmitted:!0,numMatchCorrect:10,numMatch:10,inProgress:!1,submissionTimeStamp:testDataTimestamps.newer},{id:5,name:"Brad",numMultipleChoiceCorrect:0,numMultipleChoice:10,numMatchCorrect:0,numMatch:10,isSubmitted:!0,inProgress:!1,submissionTimeStamp:testDataTimestamps.new},{id:6,name:"Mike",numMultipleChoiceCorrect:0,numMultipleChoice:10,numMatchCorrect:0,numMatch:10,isSubmitted:!0,inProgress:!1,submissionTimeStamp:testDataTimestamps.old},{id:7,name:"Dani",numMultipleChoiceCorrect:0,numMultipleChoice:10,numMatchCorrect:0,numMatch:10,isSubmitted:!0,inProgress:!1,submissionTimeStamp:testDataTimestamps.older},{id:8,name:"Amanda",numMultipleChoiceCorrect:0,numMultipleChoice:10,numMatchCorrect:0,numMatch:10,isSubmitted:!0,inProgress:!1,submissionTimeStamp:testDataTimestamps.oldest},{id:9,name:"Nkiru",numMultipleChoiceCorrect:7,numMultipleChoice:10,numMatchCorrect:7,numMatch:10,isSubmitted:!1,inProgress:!0,submissionTimeStamp:testDataTimestamps.inProgress},{id:10,name:"Karis",numMultipleChoiceCorrect:7,numMultipleChoice:10,numMatchCorrect:7,numMatch:10,isSubmitted:!1,inProgress:!1,submissionTimeStamp:testDataTimestamps.notStarted}],exports.studentMCData={id:1,name:"Caley",studentResponses:[{isCorrect:!1,responses:""},{isCorrect:!1,responses:"B D"},{isCorrect:!1,responses:"E"},{isCorrect:!1,responses:"C"},{isCorrect:!0,responses:"A"}]},exports.matchQuestionWith2Pairs=[{answers:[{answer:"answer 1",numAnswered:6,isCorrect:!1},{answer:"answer 2",numAnswered:0,isCorrect:!0}],id:0,option:"option 1",notAnswered:1,totalAnswered:7},{answers:[{answer:"answer 1",numAnswered:2,isCorrect:!0},{answer:"answer 2",numAnswered:4,isCorrect:!1}],id:1,option:"option 2",notAnswered:1,totalAnswered:7}],exports.matchQuestionWith4Pairs=[{answers:[{answer:"answer 1",numAnswered:6,isCorrect:!1},{answer:"answer 2",numAnswered:0,isCorrect:!0},{answer:"answer 3",numAnswered:6,isCorrect:!1},{answer:"answer 4",numAnswered:0,isCorrect:!1}],id:0,option:"option 1",notAnswered:3,totalAnswered:15},{answers:[{answer:"answer 1",numAnswered:5,isCorrect:!0},{answer:"answer 2",numAnswered:5,isCorrect:!1},{answer:"answer 3",numAnswered:6,isCorrect:!1},{answer:"answer 4",numAnswered:5,isCorrect:!1}],id:1,option:"option 2",notAnswered:0,totalAnswered:15},{answers:[{answer:"answer 1",numAnswered:0,isCorrect:!1},{answer:"answer 2",numAnswered:15,isCorrect:!0},{answer:"answer 3",numAnswered:0,isCorrect:!1},{answer:"answer 4",numAnswered:0,isCorrect:!1}],id:2,option:"option 3",notAnswered:0,totalAnswered:15},{answers:[{answer:"answer 1",numAnswered:1,isCorrect:!1},{answer:"answer 2",numAnswered:1,isCorrect:!1},{answer:"answer 3",numAnswered:1,isCorrect:!1},{answer:"answer 4",numAnswered:0,isCorrect:!0}],id:3,option:"option 4",notAnswered:12,totalAnswered:15}],exports.multipleChoiceData=[{id:1,question:"What is a variable?",answers:[{multipleChoiceOption:_locale.default.answerOptionA(),percentAnswered:40,isCorrectAnswer:!0},{multipleChoiceOption:_locale.default.answerOptionB(),percentAnswered:20,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionC(),percentAnswered:20,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionD(),percentAnswered:20,isCorrectAnswer:!1}],notAnswered:10},{id:2,question:"What is a 4-bit number for the decimal number Ten(10)?",answers:[{multipleChoiceOption:_locale.default.answerOptionA(),percentAnswered:30,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionB(),percentAnswered:10,isCorrectAnswer:!0},{multipleChoiceOption:_locale.default.answerOptionC(),percentAnswered:10,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionD(),percentAnswered:10,isCorrectAnswer:!0},{multipleChoiceOption:_locale.default.answerOptionE(),percentAnswered:20,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionF(),percentAnswered:10,isCorrectAnswer:!1}],notAnswered:30},{id:3,question:"What is the minimum number of bits you will need to encode the 26 letters of the alphabet plus a space?",answers:[{multipleChoiceOption:_locale.default.answerOptionA(),percentAnswered:50,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionB(),percentAnswered:15,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionC(),percentAnswered:20,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionD(),percentAnswered:5,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionE(),percentAnswered:5,isCorrectAnswer:!0}],notAnswered:5},{id:4,question:"What is the best explanation for why digital data is represented in computers in binary?",answers:[{multipleChoiceOption:_locale.default.answerOptionA(),percentAnswered:15,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionB(),percentAnswered:18,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionC(),percentAnswered:10,isCorrectAnswer:!0},{multipleChoiceOption:_locale.default.answerOptionD(),percentAnswered:9,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionE(),percentAnswered:5,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionF(),percentAnswered:32,isCorrectAnswer:!0},{multipleChoiceOption:_locale.default.answerOptionG(),percentAnswered:5,isCorrectAnswer:!1}],notAnswered:33},{id:5,question:"What is a function?",answers:[{multipleChoiceOption:_locale.default.answerOptionA(),percentAnswered:15,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionB(),percentAnswered:18,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionC(),percentAnswered:10,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionD(),percentAnswered:9,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionE(),percentAnswered:5,isCorrectAnswer:!0}],notAnswered:25}]);exports.multipleChoiceDataForSingleStudent=multipleChoiceData.map((function(question,index){return{id:question.id,question:question.question,questionNumber:index+1,correctAnswer:["C","C B","D","B","A"][index]}})),exports.matchDataForSingleStudent={id:123,question:"Can you match these?",questionNumber:1,answers:[{text:"answer 1"},{text:"answer 2"}],options:[{text:"option 1"},{text:"option 2"}]},exports.questionOne=[{id:1,studentId:"210",name:"Caley",response:" "},{id:2,studentId:"211",name:"Maddie",response:"Trees live in your fan brush, but you have to scare them out. Use absolutely no pressure. Just like an angel's wing. You can't have light without dark. You can't know happiness unless you've known sorrow. If you didn't have baby clouds, you wouldn't have big clouds. It is a lot of fun. We'll put all the little clouds in and let them dance around and have fun. And right there you got an almighty cloud. We don't have to be committed. We are just playing here. A tree cannot be straight if it has a crooked trunk. Let your heart take you to wherever you want to be. No worries. No cares. Just float and wait for the wind to blow you around. Put light against light - you have nothing. Put dark against dark - you have nothing. It's the contrast of light and dark that each give the other one meaning. This is truly an almighty mountain. The only thing worse than yellow snow is green snow. Paint anything you want on the canvas. Create your own world. You don't have to be crazy to do this but it does help. Tree trunks grow however makes them happy. Now let's put some happy little clouds in here. In your imagination you can go anywhere you want. It's so important to do something every day that will make you happy. Almost everything is going to happen for you automatically - you don't have to spend any time working or worrying. I'm a water fanatic. I love water.\n We wash our brush with odorless thinner. A beautiful little sunset. All you have to learn here is how to have fun. Let's go up in here, and start having some fun Trees get lonely too, so we'll give him a little friend. There are no limits in this world. See. We take the corner of the brush and let it play back-and-forth. The little tiny Tim easels will let you down. Steve wants reflections, so let's give him reflections. It's beautiful - and we haven't even done anything to it yet. Just think about these things in your mind - then bring them into your world. We start with a vision in our heart, and we put it on canvas. I can't think of anything more rewarding than being able to express yourself to others through painting,"},{id:3,studentId:"212",name:"Erin",response:"Go out on a limb - that is where the fruit is."},{id:4,studentId:"213",name:"BrendanBrendanBrendanBrendan",response:"We do not make mistakes we just have happy little accidents. Once you learn the technique,\n ohhh! Turn you loose on the world; you become a tiger.,"},{id:5,studentId:"214",name:"Awesome Coder",response:'for (let ii = 0; ii < stuff.length; ii++) {\n console.log("I fixed a bug!!!");\n}'}],exports.questionTwo=[{id:1,studentId:"210",name:"Caley",response:"In every walk with nature, one receives far more than one seeks"}],exports.questionThree=[{id:1,studentId:"210",name:"Maddie",response:" "}],exports.surveyOne=[{index:0,response:"Sea lettuce gumbo grape kale kombu cauliflower salsify kohlrabi okra sea lettuce broccoli celery lotus root carrot winter purslane turnip greens garlic."},{index:1,response:"Gumbo beet greens corn soko endive gumbo gourd. Parsley shallot courgette tatsoi pea sprouts fava bean collard greens dandelion okra wakame tomato."},{index:2,response:"Pea horseradish azuki bean lettuce avocado asparagus okra. Kohlrabi radish okra azuki bean corn fava bean mustard tigernut jícama green bean celtuce collard greens avocado quandong fennel gumbo black-eyed pea."},{index:3,response:"Celery quandong swiss chard chicory earthnut pea potato. Salsify taro catsear garlic gram celery bitterleaf wattle seed collard greens nori."},{index:4,response:"Turnip greens yarrow ricebean rutabaga endive cauliflower sea lettuce kohlrabi amaranth water spinach avocado daikon napa cabbage asparagus winter purslane kale."}],exports.surveyTwo=[{index:0,response:"In every walk with nature, one receives far more than one seeks"},{index:1,response:"In every walk with nature, one receives far more than one seeks"},{index:2,response:"In every walk with nature, one receives far more than one seeks"}]},"./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"},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},"./node_modules/lodash/_baseEach.js":(module,__unused_webpack_exports,__webpack_require__)=>{var baseForOwn=__webpack_require__("./node_modules/lodash/_baseForOwn.js"),baseEach=__webpack_require__("./node_modules/lodash/_createBaseEach.js")(baseForOwn);module.exports=baseEach},"./node_modules/lodash/_baseMap.js":(module,__unused_webpack_exports,__webpack_require__)=>{var baseEach=__webpack_require__("./node_modules/lodash/_baseEach.js"),isArrayLike=__webpack_require__("./node_modules/lodash/isArrayLike.js");module.exports=function baseMap(collection,iteratee){var index=-1,result=isArrayLike(collection)?Array(collection.length):[];return baseEach(collection,(function(value,key,collection){result[++index]=iteratee(value,key,collection)})),result}},"./node_modules/lodash/_baseOrderBy.js":(module,__unused_webpack_exports,__webpack_require__)=>{var arrayMap=__webpack_require__("./node_modules/lodash/_arrayMap.js"),baseGet=__webpack_require__("./node_modules/lodash/_baseGet.js"),baseIteratee=__webpack_require__("./node_modules/lodash/_baseIteratee.js"),baseMap=__webpack_require__("./node_modules/lodash/_baseMap.js"),baseSortBy=__webpack_require__("./node_modules/lodash/_baseSortBy.js"),baseUnary=__webpack_require__("./node_modules/lodash/_baseUnary.js"),compareMultiple=__webpack_require__("./node_modules/lodash/_compareMultiple.js"),identity=__webpack_require__("./node_modules/lodash/identity.js"),isArray=__webpack_require__("./node_modules/lodash/isArray.js");module.exports=function baseOrderBy(collection,iteratees,orders){iteratees=iteratees.length?arrayMap(iteratees,(function(iteratee){return isArray(iteratee)?function(value){return baseGet(value,1===iteratee.length?iteratee[0]:iteratee)}:iteratee})):[identity];var index=-1;iteratees=arrayMap(iteratees,baseUnary(baseIteratee));var result=baseMap(collection,(function(value,key,collection){return{criteria:arrayMap(iteratees,(function(iteratee){return iteratee(value)})),index:++index,value}}));return baseSortBy(result,(function(object,other){return compareMultiple(object,other,orders)}))}},"./node_modules/lodash/_baseSortBy.js":module=>{module.exports=function baseSortBy(array,comparer){var length=array.length;for(array.sort(comparer);length--;)array[length]=array[length].value;return array}},"./node_modules/lodash/_compareAscending.js":(module,__unused_webpack_exports,__webpack_require__)=>{var isSymbol=__webpack_require__("./node_modules/lodash/isSymbol.js");module.exports=function compareAscending(value,other){if(value!==other){var valIsDefined=void 0!==value,valIsNull=null===value,valIsReflexive=value==value,valIsSymbol=isSymbol(value),othIsDefined=void 0!==other,othIsNull=null===other,othIsReflexive=other==other,othIsSymbol=isSymbol(other);if(!othIsNull&&!othIsSymbol&&!valIsSymbol&&value>other||valIsSymbol&&othIsDefined&&othIsReflexive&&!othIsNull&&!othIsSymbol||valIsNull&&othIsDefined&&othIsReflexive||!valIsDefined&&othIsReflexive||!valIsReflexive)return 1;if(!valIsNull&&!valIsSymbol&&!othIsSymbol&&value<other||othIsSymbol&&valIsDefined&&valIsReflexive&&!valIsNull&&!valIsSymbol||othIsNull&&valIsDefined&&valIsReflexive||!othIsDefined&&valIsReflexive||!othIsReflexive)return-1}return 0}},"./node_modules/lodash/_compareMultiple.js":(module,__unused_webpack_exports,__webpack_require__)=>{var compareAscending=__webpack_require__("./node_modules/lodash/_compareAscending.js");module.exports=function compareMultiple(object,other,orders){for(var index=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;++index<length;){var result=compareAscending(objCriteria[index],othCriteria[index]);if(result)return index>=ordersLength?result:result*("desc"==orders[index]?-1:1)}return object.index-other.index}},"./node_modules/lodash/_createBaseEach.js":(module,__unused_webpack_exports,__webpack_require__)=>{var isArrayLike=__webpack_require__("./node_modules/lodash/isArrayLike.js");module.exports=function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){if(null==collection)return collection;if(!isArrayLike(collection))return eachFunc(collection,iteratee);for(var length=collection.length,index=fromRight?length:-1,iterable=Object(collection);(fromRight?index--:++index<length)&&!1!==iteratee(iterable[index],index,iterable););return collection}}},"./node_modules/lodash/orderBy.js":(module,__unused_webpack_exports,__webpack_require__)=>{var baseOrderBy=__webpack_require__("./node_modules/lodash/_baseOrderBy.js"),isArray=__webpack_require__("./node_modules/lodash/isArray.js");module.exports=function orderBy(collection,iteratees,orders,guard){return null==collection?[]:(isArray(iteratees)||(iteratees=null==iteratees?[]:[iteratees]),isArray(orders=guard?void 0:orders)||(orders=null==orders?[]:[orders]),baseOrderBy(collection,iteratees,orders))}}}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LFVBQ1QsQ0FDRixDLDZGQzdCQSxJQUFJWSxZQUFjLG9CQUFRLHlDQUN0QkQsUUFBVSxvQkFBUSxvQ0E2Q3RCbkwsT0FBT0MsUUFkUCxTQUFTMk0sUUFBUXBDLFdBQVlhLFVBQVdDLE9BQVF1QixPQUM5QyxPQUFrQixNQUFkckMsV0FDSyxJQUVKVyxRQUFRRSxhQUNYQSxVQUF5QixNQUFiQSxVQUFvQixHQUFLLENBQUNBLFlBR25DRixRQURMRyxPQUFTdUIsV0FBUXpELEVBQVlrQyxVQUUzQkEsT0FBbUIsTUFBVkEsT0FBaUIsR0FBSyxDQUFDQSxTQUUzQkYsWUFBWVosV0FBWWEsVUFBV0MsUUFDNUMsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy9sZWdhY3lTaGFyZWRDb21wb25lbnRzL0ZvbnRBd2Vzb21lLmpzeCIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvc3R5bGVDb25zdGFudHMuanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3RlbXBsYXRlcy9zZWN0aW9uQXNzZXNzbWVudHMvYXNzZXNzbWVudHNUZXN0SGVscGVycy5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvdGVtcGxhdGVzL3RhYmxlcy90YWJsZUNvbnN0YW50cy5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvdGVtcGxhdGVzL3RhYmxlcy93cmFwcGVkX3NvcnRhYmxlLmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VFYWNoLmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VNYXAuanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZU9yZGVyQnkuanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fYmFzZVNvcnRCeS5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jb21wYXJlQXNjZW5kaW5nLmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2NvbXBhcmVNdWx0aXBsZS5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jcmVhdGVCYXNlRWFjaC5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9ub2RlX21vZHVsZXMvbG9kYXNoL29yZGVyQnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBmaWxlIGZvbnQtYXdlc29tZSBoZWxwZXIgY29tcG9uZW50LiAqL1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG4vKipcbiAqIEdpdmVuIGFuIGljb24gbmFtZSwgcmVuZGVyIHRoZSBpY29uIHVzaW5nIGFuIDxpPiB0YWcgaW4gdHlwaWNhbCBmb250LWF3ZXNvbWVcbiAqIGZhc2hpb24uICBSZXF1aXJlcyBmb250LWF3ZXNvbWUgdG8gYmUgYXZhaWxhYmxlIG9uIHRoZSBwYWdlLlxuICogU2VlIGh0dHA6Ly9mb250YXdlc29tZS5pby9pY29ucy8gdG8gbG9vayB1cCBzdXBwb3J0ZWQgaWNvbiBuYW1lcy5cbiAqXG4gKiBAZGVwcmVjYXRlZCB1c2UgRFNDTyBGb250QXdlc29tZVY2SWNvbiBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEZvbnRBd2Vzb21lKHtpY29uLCBjbGFzc05hbWUsIHRpdGxlLCAuLi5wcm9wc30pIHtcbiAgY29uc3QgbmV3UHJvcHMgPSBfLmFzc2lnbih7fSwgcHJvcHMsIHtcbiAgICBjbGFzc05hbWU6IGBmYSBmYS0ke2ljb259ICR7Y2xhc3NOYW1lID8gY2xhc3NOYW1lIDogJyd9YCxcbiAgfSk7XG4gIHJldHVybiA8aSB7Li4ubmV3UHJvcHN9IHRpdGxlPXt0aXRsZX0gLz47XG59XG5cbkZvbnRBd2Vzb21lLnByb3BUeXBlcyA9IHtcbiAgaWNvbjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvLyBUaXRsZSBzaG91bGQgYmUgdXNlZCBmb3Igc2VtYW50aWMgaWNvbnMuIElmIG5vdCBnaXZlbiwgdGhlIHNjcmVlbnJlYWRlciB3aWxsIG5vdCByZWFkIHRoZSBpY29uXG4gIC8vIFNlZSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9kb2NzL3dlYi9kaWctZGVlcGVyL2FjY2Vzc2liaWxpdHkjaWNvbnMtdXNlZC1hcy1zZW1hbnRpYy1lbGVtZW50c1xufTtcbiIsIi8qIGVzbGludC1kaXNhYmxlICovXG5cbi8vIGFwcHMvc3JjL3N0eWxlQ29uc3RhbnRzLmpzXG4vLyBHRU5FUkFURUQgRklMRTogRE8gTk9UIE1PRElGWSBESVJFQ1RMWVxuLy8gVGhpcyBnZW5lcmF0ZWQgZmlsZSBleHBvcnRzIGFsbCB2YXJpYWJsZXMgZGVmaW5lZCBpbiBzaGFyZWQvY3NzL3N0eWxlLWNvbnN0YW50cy5zY3NzXG4vLyBmb3IgdXNlIGluIEphdmFTY3JpcHQuIFRoZSBnZW5lcmF0b3Igc2NyaXB0IGlzIGNvbnZlcnQtc2Nzcy12YXJpYWJsZXMuanNcbm1vZHVsZS5leHBvcnRzID0ge1xuICBcIndvcmtzcGFjZS1oZWFkZXJzLWhlaWdodFwiOiAzMCxcbiAgXCJyZXNpemUtYmFyLXdpZHRoXCI6IDEzLFxuICBcImRlbGV0ZS1vcGFjaXR5XCI6IFwiMC41XCIsXG4gIFwiY29udGVudC13aWR0aFwiOiA5NzAsXG59O1xuIiwiaW1wb3J0IHtcbiAgaW5Qcm9ncmVzc0Zha2VUaW1lc3RhbXAsXG4gIG5vdFN0YXJ0ZWRGYWtlVGltZXN0YW1wLFxufSBmcm9tICdAY2RvL2FwcHMvdGVtcGxhdGVzL3NlY3Rpb25Bc3Nlc3NtZW50cy9zZWN0aW9uQXNzZXNzbWVudHNSZWR1eCc7XG5pbXBvcnQgaTE4biBmcm9tICdAY2RvL2xvY2FsZSc7XG5cbmV4cG9ydCBjb25zdCB0ZXN0RGF0YVRpbWVzdGFtcHMgPSB7XG4gIG5ld2VzdDogbmV3IERhdGUoJzIwMTktMDQtMDlUMjA6NTI6MDUuMDAwKzAwOjAwJyksXG4gIG5ld2VyOiBuZXcgRGF0ZSgnMjAxOS0wNC0wOVQyMDo0MDowNS4wMDArMDA6MDAnKSxcbiAgbmV3OiBuZXcgRGF0ZSgnMjAxOS0wMi0wOVQyMDo1MjowNS4wMDArMDA6MDAnKSxcbiAgb2xkOiBuZXcgRGF0ZSgnMjAxOC0xMi0wOVQyMDo1MjowNS4wMDArMDA6MDAnKSxcbiAgb2xkZXI6IG5ldyBEYXRlKCcyMDE4LTEwLTA5VDIwOjUyOjA1LjAwMCswMDowMCcpLFxuICBvbGRlc3Q6IG5ldyBEYXRlKCcyMDE4LTEwLTA3VDIwOjUyOjA1LjAwMCswMDowMCcpLFxuICBub3RTdGFydGVkOiBub3RTdGFydGVkRmFrZVRpbWVzdGFtcCxcbiAgaW5Qcm9ncmVzczogaW5Qcm9ncmVzc0Zha2VUaW1lc3RhbXAsXG59O1xuXG4vLyBEYXRhIGZvciBzdHVkZW50cycgYXNzZXNzbWVudHMgbXVsdGlwbGUgY2hvaWNlIHRhYmxlXG5leHBvcnQgY29uc3Qgc3R1ZGVudE92ZXJ2aWV3RGF0YSA9IFtcbiAge1xuICAgIGlkOiAxLFxuICAgIG5hbWU6ICdDYWxleScsXG4gICAgbnVtTXVsdGlwbGVDaG9pY2VDb3JyZWN0OiA3LFxuICAgIG51bU11bHRpcGxlQ2hvaWNlOiAxMCxcbiAgICBudW1NYXRjaENvcnJlY3Q6IDcsXG4gICAgbnVtTWF0Y2g6IDEwLFxuICAgIGlzU3VibWl0dGVkOiBmYWxzZSxcbiAgICBpblByb2dyZXNzOiBmYWxzZSxcbiAgICBzdWJtaXNzaW9uVGltZVN0YW1wOiB0ZXN0RGF0YVRpbWVzdGFtcHMubm90U3RhcnRlZCxcbiAgfSxcbiAge1xuICAgIGlkOiAyLFxuICAgIG5hbWU6ICdNYWRkaWUnLFxuICAgIG51bU11bHRpcGxlQ2hvaWNlQ29ycmVjdDogMyxcbiAgICBudW1NdWx0aXBsZUNob2ljZTogMTAsXG4gICAgbnVtTWF0Y2hDb3JyZWN0OiAzLFxuICAgIG51bU1hdGNoOiAxMCxcbiAgICBpc1N1Ym1pdHRlZDogZmFsc2UsXG4gICAgaW5Qcm9ncmVzczogdHJ1ZSxcbiAgICBzdWJtaXNzaW9uVGltZVN0YW1wOiB0ZXN0RGF0YVRpbWVzdGFtcHMuaW5Qcm9ncmVzcyxcbiAgfSxcbiAge1xuICAgIGlkOiAzLFxuICAgIG5hbWU6ICdFcmluJyxcbiAgICBudW1NdWx0aXBsZUNob2ljZUNvcnJlY3Q6IDgsXG4gICAgbnVtTXVsdGlwbGVDaG9pY2U6IDEwLFxuICAgIG51bU1hdGNoQ29ycmVjdDogOCxcbiAgICBudW1NYXRjaDogMTAsXG4gICAgaXNTdWJtaXR0ZWQ6IHRydWUsXG4gICAgaW5Qcm9ncmVzczogZmFsc2UsXG4gICAgc3VibWlzc2lvblRpbWVTdGFtcDogdGVzdERhdGFUaW1lc3RhbXBzLm5ld2VzdCxcbiAgfSxcbiAge1xuICAgIGlkOiA0LFxuICAgIG5hbWU6ICdEYXZlJyxcbiAgICBudW1NdWx0aXBsZUNob2ljZUNvcnJlY3Q6IDEwLFxuICAgIG51bU11bHRpcGxlQ2hvaWNlOiAxMCxcbiAgICBpc1N1Ym1pdHRlZDogdHJ1ZSxcbiAgICBudW1NYXRjaENvcnJlY3Q6IDEwLFxuICAgIG51bU1hdGNoOiAxMCxcbiAgICBpblByb2dyZXNzOiBmYWxzZSxcbiAgICBzdWJtaXNzaW9uVGltZVN0YW1wOiB0ZXN0RGF0YVRpbWVzdGFtcHMubmV3ZXIsXG4gIH0sXG4gIHtcbiAgICBpZDogNSxcbiAgICBuYW1lOiAnQnJhZCcsXG4gICAgbnVtTXVsdGlwbGVDaG9pY2VDb3JyZWN0OiAwLFxuICAgIG51bU11bHRpcGxlQ2hvaWNlOiAxMCxcbiAgICBudW1NYXRjaENvcnJlY3Q6IDAsXG4gICAgbnVtTWF0Y2g6IDEwLFxuICAgIGlzU3VibWl0dGVkOiB0cnVlLFxuICAgIGluUHJvZ3Jlc3M6IGZhbHNlLFxuICAgIHN1Ym1pc3Npb25UaW1lU3RhbXA6IHRlc3REYXRhVGltZXN0YW1wcy5uZXcsXG4gIH0sXG4gIHtcbiAgICBpZDogNixcbiAgICBuYW1lOiAnTWlrZScsXG4gICAgbnVtTXVsdGlwbGVDaG9pY2VDb3JyZWN0OiAwLFxuICAgIG51bU11bHRpcGxlQ2hvaWNlOiAxMCxcbiAgICBudW1NYXRjaENvcnJlY3Q6IDAsXG4gICAgbnVtTWF0Y2g6IDEwLFxuICAgIGlzU3VibWl0dGVkOiB0cnVlLFxuICAgIGluUHJvZ3Jlc3M6IGZhbHNlLFxuICAgIHN1Ym1pc3Npb25UaW1lU3RhbXA6IHRlc3REYXRhVGltZXN0YW1wcy5vbGQsXG4gIH0sXG4gIHtcbiAgICBpZDogNyxcbiAgICBuYW1lOiAnRGFuaScsXG4gICAgbnVtTXVsdGlwbGVDaG9pY2VDb3JyZWN0OiAwLFxuICAgIG51bU11bHRpcGxlQ2hvaWNlOiAxMCxcbiAgICBudW1NYXRjaENvcnJlY3Q6IDAsXG4gICAgbnVtTWF0Y2g6IDEwLFxuICAgIGlzU3VibWl0dGVkOiB0cnVlLFxuICAgIGluUHJvZ3Jlc3M6IGZhbHNlLFxuICAgIHN1Ym1pc3Npb25UaW1lU3RhbXA6IHRlc3REYXRhVGltZXN0YW1wcy5vbGRlcixcbiAgfSxcbiAge1xuICAgIGlkOiA4LFxuICAgIG5hbWU6ICdBbWFuZGEnLFxuICAgIG51bU11bHRpcGxlQ2hvaWNlQ29ycmVjdDogMCxcbiAgICBudW1NdWx0aXBsZUNob2ljZTogMTAsXG4gICAgbnVtTWF0Y2hDb3JyZWN0OiAwLFxuICAgIG51bU1hdGNoOiAxMCxcbiAgICBpc1N1Ym1pdHRlZDogdHJ1ZSxcbiAgICBpblByb2dyZXNzOiBmYWxzZSxcbiAgICBzdWJtaXNzaW9uVGltZVN0YW1wOiB0ZXN0RGF0YVRpbWVzdGFtcHMub2xkZXN0LFxuICB9LFxuICB7XG4gICAgaWQ6IDksXG4gICAgbmFtZTogJ05raXJ1JyxcbiAgICBudW1NdWx0aXBsZUNob2ljZUNvcnJlY3Q6IDcsXG4gICAgbnVtTXVsdGlwbGVDaG9pY2U6IDEwLFxuICAgIG51bU1hdGNoQ29ycmVjdDogNyxcbiAgICBudW1NYXRjaDogMTAsXG4gICAgaXNTdWJtaXR0ZWQ6IGZhbHNlLFxuICAgIGluUHJvZ3Jlc3M6IHRydWUsXG4gICAgc3VibWlzc2lvblRpbWVTdGFtcDogdGVzdERhdGFUaW1lc3RhbXBzLmluUHJvZ3Jlc3MsXG4gIH0sXG4gIHtcbiAgICBpZDogMTAsXG4gICAgbmFtZTogJ0thcmlzJyxcbiAgICBudW1NdWx0aXBsZUNob2ljZUNvcnJlY3Q6IDcsXG4gICAgbnVtTXVsdGlwbGVDaG9pY2U6IDEwLFxuICAgIG51bU1hdGNoQ29ycmVjdDogNyxcbiAgICBudW1NYXRjaDogMTAsXG4gICAgaXNTdWJtaXR0ZWQ6IGZhbHNlLFxuICAgIGluUHJvZ3Jlc3M6IGZhbHNlLFxuICAgIHN1Ym1pc3Npb25UaW1lU3RhbXA6IHRlc3REYXRhVGltZXN0YW1wcy5ub3RTdGFydGVkLFxuICB9LFxuXTtcblxuLy8gRGF0YSBmb3Igc2luZ2xlIHN0dWRlbnQgbXVsdGlwbGUgY2hvaWNlIGFzc2Vzc21lbnQgdGFibGVcbi8vIHR5cGU6IHN0dWRlbnRXaXRoTUNSZXNwb25zZXNQcm9wVHlwZVxuZXhwb3J0IGNvbnN0IHN0dWRlbnRNQ0RhdGEgPSB7XG4gIGlkOiAxLFxuICBuYW1lOiAnQ2FsZXknLFxuICBzdHVkZW50UmVzcG9uc2VzOiBbXG4gICAge2lzQ29ycmVjdDogZmFsc2UsIHJlc3BvbnNlczogJyd9LFxuICAgIHtpc0NvcnJlY3Q6IGZhbHNlLCByZXNwb25zZXM6ICdCIEQnfSxcbiAgICB7aXNDb3JyZWN0OiBmYWxzZSwgcmVzcG9uc2VzOiAnRSd9LFxuICAgIHtpc0NvcnJlY3Q6IGZhbHNlLCByZXNwb25zZXM6ICdDJ30sXG4gICAge2lzQ29ycmVjdDogdHJ1ZSwgcmVzcG9uc2VzOiAnQSd9LFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IG1hdGNoUXVlc3Rpb25XaXRoMlBhaXJzID0gW1xuICB7XG4gICAgYW5zd2VyczogW1xuICAgICAge1xuICAgICAgICBhbnN3ZXI6ICdhbnN3ZXIgMScsXG4gICAgICAgIG51bUFuc3dlcmVkOiA2LFxuICAgICAgICBpc0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDInLFxuICAgICAgICBudW1BbnN3ZXJlZDogMCxcbiAgICAgICAgaXNDb3JyZWN0OiB0cnVlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGlkOiAwLFxuICAgIG9wdGlvbjogJ29wdGlvbiAxJyxcbiAgICBub3RBbnN3ZXJlZDogMSxcbiAgICB0b3RhbEFuc3dlcmVkOiA3LFxuICB9LFxuICB7XG4gICAgYW5zd2VyczogW1xuICAgICAge1xuICAgICAgICBhbnN3ZXI6ICdhbnN3ZXIgMScsXG4gICAgICAgIG51bUFuc3dlcmVkOiAyLFxuICAgICAgICBpc0NvcnJlY3Q6IHRydWUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBhbnN3ZXI6ICdhbnN3ZXIgMicsXG4gICAgICAgIG51bUFuc3dlcmVkOiA0LFxuICAgICAgICBpc0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGlkOiAxLFxuICAgIG9wdGlvbjogJ29wdGlvbiAyJyxcbiAgICBub3RBbnN3ZXJlZDogMSxcbiAgICB0b3RhbEFuc3dlcmVkOiA3LFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IG1hdGNoUXVlc3Rpb25XaXRoNFBhaXJzID0gW1xuICB7XG4gICAgYW5zd2VyczogW1xuICAgICAge1xuICAgICAgICBhbnN3ZXI6ICdhbnN3ZXIgMScsXG4gICAgICAgIG51bUFuc3dlcmVkOiA2LFxuICAgICAgICBpc0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDInLFxuICAgICAgICBudW1BbnN3ZXJlZDogMCxcbiAgICAgICAgaXNDb3JyZWN0OiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDMnLFxuICAgICAgICBudW1BbnN3ZXJlZDogNixcbiAgICAgICAgaXNDb3JyZWN0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFuc3dlcjogJ2Fuc3dlciA0JyxcbiAgICAgICAgbnVtQW5zd2VyZWQ6IDAsXG4gICAgICAgIGlzQ29ycmVjdDogZmFsc2UsXG4gICAgICB9LFxuICAgIF0sXG4gICAgaWQ6IDAsXG4gICAgb3B0aW9uOiAnb3B0aW9uIDEnLFxuICAgIG5vdEFuc3dlcmVkOiAzLFxuICAgIHRvdGFsQW5zd2VyZWQ6IDE1LFxuICB9LFxuICB7XG4gICAgYW5zd2VyczogW1xuICAgICAge1xuICAgICAgICBhbnN3ZXI6ICdhbnN3ZXIgMScsXG4gICAgICAgIG51bUFuc3dlcmVkOiA1LFxuICAgICAgICBpc0NvcnJlY3Q6IHRydWUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBhbnN3ZXI6ICdhbnN3ZXIgMicsXG4gICAgICAgIG51bUFuc3dlcmVkOiA1LFxuICAgICAgICBpc0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDMnLFxuICAgICAgICBudW1BbnN3ZXJlZDogNixcbiAgICAgICAgaXNDb3JyZWN0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFuc3dlcjogJ2Fuc3dlciA0JyxcbiAgICAgICAgbnVtQW5zd2VyZWQ6IDUsXG4gICAgICAgIGlzQ29ycmVjdDogZmFsc2UsXG4gICAgICB9LFxuICAgIF0sXG4gICAgaWQ6IDEsXG4gICAgb3B0aW9uOiAnb3B0aW9uIDInLFxuICAgIG5vdEFuc3dlcmVkOiAwLFxuICAgIHRvdGFsQW5zd2VyZWQ6IDE1LFxuICB9LFxuICB7XG4gICAgYW5zd2VyczogW1xuICAgICAge1xuICAgICAgICBhbnN3ZXI6ICdhbnN3ZXIgMScsXG4gICAgICAgIG51bUFuc3dlcmVkOiAwLFxuICAgICAgICBpc0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDInLFxuICAgICAgICBudW1BbnN3ZXJlZDogMTUsXG4gICAgICAgIGlzQ29ycmVjdDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFuc3dlcjogJ2Fuc3dlciAzJyxcbiAgICAgICAgbnVtQW5zd2VyZWQ6IDAsXG4gICAgICAgIGlzQ29ycmVjdDogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBhbnN3ZXI6ICdhbnN3ZXIgNCcsXG4gICAgICAgIG51bUFuc3dlcmVkOiAwLFxuICAgICAgICBpc0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGlkOiAyLFxuICAgIG9wdGlvbjogJ29wdGlvbiAzJyxcbiAgICBub3RBbnN3ZXJlZDogMCxcbiAgICB0b3RhbEFuc3dlcmVkOiAxNSxcbiAgfSxcbiAge1xuICAgIGFuc3dlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDEnLFxuICAgICAgICBudW1BbnN3ZXJlZDogMSxcbiAgICAgICAgaXNDb3JyZWN0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFuc3dlcjogJ2Fuc3dlciAyJyxcbiAgICAgICAgbnVtQW5zd2VyZWQ6IDEsXG4gICAgICAgIGlzQ29ycmVjdDogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBhbnN3ZXI6ICdhbnN3ZXIgMycsXG4gICAgICAgIG51bUFuc3dlcmVkOiAxLFxuICAgICAgICBpc0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDQnLFxuICAgICAgICBudW1BbnN3ZXJlZDogMCxcbiAgICAgICAgaXNDb3JyZWN0OiB0cnVlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGlkOiAzLFxuICAgIG9wdGlvbjogJ29wdGlvbiA0JyxcbiAgICBub3RBbnN3ZXJlZDogMTIsXG4gICAgdG90YWxBbnN3ZXJlZDogMTUsXG4gIH0sXG5dO1xuXG4vLyBEYXRhIGZvciBtdWx0aXBsZSBjaG9pY2Ugb3ZlcnZpZXcgdGFibGVcbmV4cG9ydCBjb25zdCBtdWx0aXBsZUNob2ljZURhdGEgPSBbXG4gIHtcbiAgICBpZDogMSxcbiAgICBxdWVzdGlvbjogJ1doYXQgaXMgYSB2YXJpYWJsZT8nLFxuICAgIGFuc3dlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uQSgpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDQwLFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IHRydWUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25CKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogMjAsXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25DKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogMjAsXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25EKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogMjAsXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogZmFsc2UsXG4gICAgICB9LFxuICAgIF0sXG4gICAgbm90QW5zd2VyZWQ6IDEwLFxuICB9LFxuICB7XG4gICAgaWQ6IDIsXG4gICAgcXVlc3Rpb246ICdXaGF0IGlzIGEgNC1iaXQgbnVtYmVyIGZvciB0aGUgZGVjaW1hbCBudW1iZXIgVGVuKDEwKT8nLFxuICAgIGFuc3dlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uQSgpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDMwLFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uQigpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDEwLFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IHRydWUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25DKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogMTAsXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25EKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogMTAsXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkUoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiAyMCxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkYoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiAxMCxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBub3RBbnN3ZXJlZDogMzAsXG4gIH0sXG4gIHtcbiAgICBpZDogMyxcbiAgICBxdWVzdGlvbjpcbiAgICAgICdXaGF0IGlzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBiaXRzIHlvdSB3aWxsIG5lZWQgdG8gZW5jb2RlIHRoZSAyNiBsZXR0ZXJzIG9mIHRoZSBhbHBoYWJldCBwbHVzIGEgc3BhY2U/JyxcbiAgICBhbnN3ZXJzOiBbXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkEoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiA1MCxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkIoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiAxNSxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkMoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiAyMCxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkQoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiA1LFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uRSgpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDUsXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogdHJ1ZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBub3RBbnN3ZXJlZDogNSxcbiAgfSxcbiAge1xuICAgIGlkOiA0LFxuICAgIHF1ZXN0aW9uOlxuICAgICAgJ1doYXQgaXMgdGhlIGJlc3QgZXhwbGFuYXRpb24gZm9yIHdoeSBkaWdpdGFsIGRhdGEgaXMgcmVwcmVzZW50ZWQgaW4gY29tcHV0ZXJzIGluIGJpbmFyeT8nLFxuICAgIGFuc3dlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uQSgpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDE1LFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uQigpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDE4LFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uQygpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDEwLFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IHRydWUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25EKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogOSxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkUoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiA1LFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uRigpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDMyLFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IHRydWUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25HKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogNSxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBub3RBbnN3ZXJlZDogMzMsXG4gIH0sXG4gIHtcbiAgICBpZDogNSxcbiAgICBxdWVzdGlvbjogJ1doYXQgaXMgYSBmdW5jdGlvbj8nLFxuICAgIGFuc3dlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uQSgpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDE1LFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uQigpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDE4LFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uQygpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDEwLFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uRCgpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDksXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25FKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogNSxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiB0cnVlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIG5vdEFuc3dlcmVkOiAyNSxcbiAgfSxcbl07XG5cbi8vIERhdGEgZm9yIHNpbmdsZSBzdHVkZW50IHRhYmxlLlxuLy8gQXJyYXkgb2YgcXVlc3Rpb25TdHJ1Y3R1cmVQcm9wVHlwZSBmcm9tIFNpbmdsZVN0dWRlbmRBc3Nlc21lbnRzTUNUYWJsZVxuZXhwb3J0IGNvbnN0IG11bHRpcGxlQ2hvaWNlRGF0YUZvclNpbmdsZVN0dWRlbnQgPSBtdWx0aXBsZUNob2ljZURhdGEubWFwKFxuICAocXVlc3Rpb24sIGluZGV4KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBxdWVzdGlvbi5pZCxcbiAgICAgIHF1ZXN0aW9uOiBxdWVzdGlvbi5xdWVzdGlvbixcbiAgICAgIHF1ZXN0aW9uTnVtYmVyOiBpbmRleCArIDEsXG4gICAgICBjb3JyZWN0QW5zd2VyOiBbJ0MnLCAnQyBCJywgJ0QnLCAnQicsICdBJ11baW5kZXhdLFxuICAgIH07XG4gIH1cbik7XG5cbi8vIERhdGEgZm9yIHNpbmdsZSBtYXRjaCBxdWVzdGlvbiBzdHVkZW50IHRhYmxlLlxuZXhwb3J0IGNvbnN0IG1hdGNoRGF0YUZvclNpbmdsZVN0dWRlbnQgPSB7XG4gIGlkOiAxMjMsXG4gIHF1ZXN0aW9uOiAnQ2FuIHlvdSBtYXRjaCB0aGVzZT8nLFxuICBxdWVzdGlvbk51bWJlcjogMSxcbiAgYW5zd2VyczogW3t0ZXh0OiAnYW5zd2VyIDEnfSwge3RleHQ6ICdhbnN3ZXIgMid9XSxcbiAgb3B0aW9uczogW3t0ZXh0OiAnb3B0aW9uIDEnfSwge3RleHQ6ICdvcHRpb24gMid9XSxcbn07XG5cbi8vIERhdGEgZm9yIGZyZWUgcmVzcG9uc2VzIGFzc2Vzc21lbnRzIHRhYmxlLlxuZXhwb3J0IGNvbnN0IHF1ZXN0aW9uT25lID0gW1xuICB7XG4gICAgaWQ6IDEsXG4gICAgc3R1ZGVudElkOiAnMjEwJyxcbiAgICBuYW1lOiAnQ2FsZXknLFxuICAgIHJlc3BvbnNlOiAnICcsXG4gIH0sXG4gIHtcbiAgICBpZDogMixcbiAgICBzdHVkZW50SWQ6ICcyMTEnLFxuICAgIG5hbWU6ICdNYWRkaWUnLFxuICAgIHJlc3BvbnNlOiBgVHJlZXMgbGl2ZSBpbiB5b3VyIGZhbiBicnVzaCwgYnV0IHlvdSBoYXZlIHRvIHNjYXJlIHRoZW0gb3V0LiBVc2UgYWJzb2x1dGVseSBubyBwcmVzc3VyZS4gSnVzdCBsaWtlIGFuIGFuZ2VsJ3Mgd2luZy4gWW91IGNhbid0IGhhdmUgbGlnaHQgd2l0aG91dCBkYXJrLiBZb3UgY2FuJ3Qga25vdyBoYXBwaW5lc3MgdW5sZXNzIHlvdSd2ZSBrbm93biBzb3Jyb3cuIElmIHlvdSBkaWRuJ3QgaGF2ZSBiYWJ5IGNsb3VkcywgeW91IHdvdWxkbid0IGhhdmUgYmlnIGNsb3Vkcy4gSXQgaXMgYSBsb3Qgb2YgZnVuLiBXZSdsbCBwdXQgYWxsIHRoZSBsaXR0bGUgY2xvdWRzIGluIGFuZCBsZXQgdGhlbSBkYW5jZSBhcm91bmQgYW5kIGhhdmUgZnVuLiBBbmQgcmlnaHQgdGhlcmUgeW91IGdvdCBhbiBhbG1pZ2h0eSBjbG91ZC4gV2UgZG9uJ3QgaGF2ZSB0byBiZSBjb21taXR0ZWQuIFdlIGFyZSBqdXN0IHBsYXlpbmcgaGVyZS4gQSB0cmVlIGNhbm5vdCBiZSBzdHJhaWdodCBpZiBpdCBoYXMgYSBjcm9va2VkIHRydW5rLiBMZXQgeW91ciBoZWFydCB0YWtlIHlvdSB0byB3aGVyZXZlciB5b3Ugd2FudCB0byBiZS4gTm8gd29ycmllcy4gTm8gY2FyZXMuIEp1c3QgZmxvYXQgYW5kIHdhaXQgZm9yIHRoZSB3aW5kIHRvIGJsb3cgeW91IGFyb3VuZC4gUHV0IGxpZ2h0IGFnYWluc3QgbGlnaHQgLSB5b3UgaGF2ZSBub3RoaW5nLiBQdXQgZGFyayBhZ2FpbnN0IGRhcmsgLSB5b3UgaGF2ZSBub3RoaW5nLiBJdCdzIHRoZSBjb250cmFzdCBvZiBsaWdodCBhbmQgZGFyayB0aGF0IGVhY2ggZ2l2ZSB0aGUgb3RoZXIgb25lIG1lYW5pbmcuIFRoaXMgaXMgdHJ1bHkgYW4gYWxtaWdodHkgbW91bnRhaW4uIFRoZSBvbmx5IHRoaW5nIHdvcnNlIHRoYW4geWVsbG93IHNub3cgaXMgZ3JlZW4gc25vdy4gUGFpbnQgYW55dGhpbmcgeW91IHdhbnQgb24gdGhlIGNhbnZhcy4gQ3JlYXRlIHlvdXIgb3duIHdvcmxkLiBZb3UgZG9uJ3QgaGF2ZSB0byBiZSBjcmF6eSB0byBkbyB0aGlzIGJ1dCBpdCBkb2VzIGhlbHAuIFRyZWUgdHJ1bmtzIGdyb3cgaG93ZXZlciBtYWtlcyB0aGVtIGhhcHB5LiBOb3cgbGV0J3MgcHV0IHNvbWUgaGFwcHkgbGl0dGxlIGNsb3VkcyBpbiBoZXJlLiBJbiB5b3VyIGltYWdpbmF0aW9uIHlvdSBjYW4gZ28gYW55d2hlcmUgeW91IHdhbnQuIEl0J3Mgc28gaW1wb3J0YW50IHRvIGRvIHNvbWV0aGluZyBldmVyeSBkYXkgdGhhdCB3aWxsIG1ha2UgeW91IGhhcHB5LiBBbG1vc3QgZXZlcnl0aGluZyBpcyBnb2luZyB0byBoYXBwZW4gZm9yIHlvdSBhdXRvbWF0aWNhbGx5IC0geW91IGRvbid0IGhhdmUgdG8gc3BlbmQgYW55IHRpbWUgd29ya2luZyBvciB3b3JyeWluZy4gSSdtIGEgd2F0ZXIgZmFuYXRpYy4gSSBsb3ZlIHdhdGVyLlxuICAgIFdlIHdhc2ggb3VyIGJydXNoIHdpdGggb2Rvcmxlc3MgdGhpbm5lci4gQSBiZWF1dGlmdWwgbGl0dGxlIHN1bnNldC4gQWxsIHlvdSBoYXZlIHRvIGxlYXJuIGhlcmUgaXMgaG93IHRvIGhhdmUgZnVuLiBMZXQncyBnbyB1cCBpbiBoZXJlLCBhbmQgc3RhcnQgaGF2aW5nIHNvbWUgZnVuIFRyZWVzIGdldCBsb25lbHkgdG9vLCBzbyB3ZSdsbCBnaXZlIGhpbSBhIGxpdHRsZSBmcmllbmQuIFRoZXJlIGFyZSBubyBsaW1pdHMgaW4gdGhpcyB3b3JsZC4gU2VlLiBXZSB0YWtlIHRoZSBjb3JuZXIgb2YgdGhlIGJydXNoIGFuZCBsZXQgaXQgcGxheSBiYWNrLWFuZC1mb3J0aC4gVGhlIGxpdHRsZSB0aW55IFRpbSBlYXNlbHMgd2lsbCBsZXQgeW91IGRvd24uIFN0ZXZlIHdhbnRzIHJlZmxlY3Rpb25zLCBzbyBsZXQncyBnaXZlIGhpbSByZWZsZWN0aW9ucy4gSXQncyBiZWF1dGlmdWwgLSBhbmQgd2UgaGF2ZW4ndCBldmVuIGRvbmUgYW55dGhpbmcgdG8gaXQgeWV0LiBKdXN0IHRoaW5rIGFib3V0IHRoZXNlIHRoaW5ncyBpbiB5b3VyIG1pbmQgLSB0aGVuIGJyaW5nIHRoZW0gaW50byB5b3VyIHdvcmxkLiBXZSBzdGFydCB3aXRoIGEgdmlzaW9uIGluIG91ciBoZWFydCwgYW5kIHdlIHB1dCBpdCBvbiBjYW52YXMuIEkgY2FuJ3QgdGhpbmsgb2YgYW55dGhpbmcgbW9yZSByZXdhcmRpbmcgdGhhbiBiZWluZyBhYmxlIHRvIGV4cHJlc3MgeW91cnNlbGYgdG8gb3RoZXJzIHRocm91Z2ggcGFpbnRpbmcsYCxcbiAgfSxcbiAge1xuICAgIGlkOiAzLFxuICAgIHN0dWRlbnRJZDogJzIxMicsXG4gICAgbmFtZTogJ0VyaW4nLFxuICAgIHJlc3BvbnNlOiAnR28gb3V0IG9uIGEgbGltYiAtIHRoYXQgaXMgd2hlcmUgdGhlIGZydWl0IGlzLicsXG4gIH0sXG4gIHtcbiAgICBpZDogNCxcbiAgICBzdHVkZW50SWQ6ICcyMTMnLFxuICAgIG5hbWU6ICdCcmVuZGFuQnJlbmRhbkJyZW5kYW5CcmVuZGFuJyxcbiAgICByZXNwb25zZTogYFdlIGRvIG5vdCBtYWtlIG1pc3Rha2VzIHdlIGp1c3QgaGF2ZSBoYXBweSBsaXR0bGUgYWNjaWRlbnRzLiBPbmNlIHlvdSBsZWFybiB0aGUgdGVjaG5pcXVlLFxuICAgICAgICBvaGhoISBUdXJuIHlvdSBsb29zZSBvbiB0aGUgd29ybGQ7IHlvdSBiZWNvbWUgYSB0aWdlci4sYCxcbiAgfSxcbiAge1xuICAgIGlkOiA1LFxuICAgIHN0dWRlbnRJZDogJzIxNCcsXG4gICAgbmFtZTogJ0F3ZXNvbWUgQ29kZXInLFxuICAgIHJlc3BvbnNlOiBgZm9yIChsZXQgaWkgPSAwOyBpaSA8IHN0dWZmLmxlbmd0aDsgaWkrKykge1xuICAgIGNvbnNvbGUubG9nKFwiSSBmaXhlZCBhIGJ1ZyEhIVwiKTtcbn1gLFxuICB9LFxuXTtcblxuLy8gRGF0YSBmb3IgZnJlZSByZXNwb25zZXMgYXNzZXNzbWVudHMgdGFibGUuXG5leHBvcnQgY29uc3QgcXVlc3Rpb25Ud28gPSBbXG4gIHtcbiAgICBpZDogMSxcbiAgICBzdHVkZW50SWQ6ICcyMTAnLFxuICAgIG5hbWU6ICdDYWxleScsXG4gICAgcmVzcG9uc2U6ICdJbiBldmVyeSB3YWxrIHdpdGggbmF0dXJlLCBvbmUgcmVjZWl2ZXMgZmFyIG1vcmUgdGhhbiBvbmUgc2Vla3MnLFxuICB9LFxuXTtcblxuLy8gRGF0YSBmb3IgZnJlZSByZXNwb25zZXMgYXNzZXNzbWVudHMgdGFibGUuXG5leHBvcnQgY29uc3QgcXVlc3Rpb25UaHJlZSA9IFtcbiAge1xuICAgIGlkOiAxLFxuICAgIHN0dWRlbnRJZDogJzIxMCcsXG4gICAgbmFtZTogJ01hZGRpZScsXG4gICAgcmVzcG9uc2U6ICcgJyxcbiAgfSxcbl07XG5cbi8vIERhdGEgZm9yIGZyZWUgcmVzcG9uc2VzIHN1cnZleSB0YWJsZS5cbmV4cG9ydCBjb25zdCBzdXJ2ZXlPbmUgPSBbXG4gIHtcbiAgICBpbmRleDogMCxcbiAgICByZXNwb25zZTpcbiAgICAgICdTZWEgbGV0dHVjZSBndW1ibyBncmFwZSBrYWxlIGtvbWJ1IGNhdWxpZmxvd2VyIHNhbHNpZnkga29obHJhYmkgb2tyYSBzZWEgbGV0dHVjZSBicm9jY29saSBjZWxlcnkgbG90dXMgcm9vdCBjYXJyb3Qgd2ludGVyIHB1cnNsYW5lIHR1cm5pcCBncmVlbnMgZ2FybGljLicsXG4gIH0sXG4gIHtcbiAgICBpbmRleDogMSxcbiAgICByZXNwb25zZTpcbiAgICAgICdHdW1ibyBiZWV0IGdyZWVucyBjb3JuIHNva28gZW5kaXZlIGd1bWJvIGdvdXJkLiBQYXJzbGV5IHNoYWxsb3QgY291cmdldHRlIHRhdHNvaSBwZWEgc3Byb3V0cyBmYXZhIGJlYW4gY29sbGFyZCBncmVlbnMgZGFuZGVsaW9uIG9rcmEgd2FrYW1lIHRvbWF0by4nLFxuICB9LFxuICB7XG4gICAgaW5kZXg6IDIsXG4gICAgcmVzcG9uc2U6XG4gICAgICAnUGVhIGhvcnNlcmFkaXNoIGF6dWtpIGJlYW4gbGV0dHVjZSBhdm9jYWRvIGFzcGFyYWd1cyBva3JhLiBLb2hscmFiaSByYWRpc2ggb2tyYSBhenVraSBiZWFuIGNvcm4gZmF2YSBiZWFuIG11c3RhcmQgdGlnZXJudXQgasOtY2FtYSBncmVlbiBiZWFuIGNlbHR1Y2UgY29sbGFyZCBncmVlbnMgYXZvY2FkbyBxdWFuZG9uZyBmZW5uZWwgZ3VtYm8gYmxhY2stZXllZCBwZWEuJyxcbiAgfSxcbiAge1xuICAgIGluZGV4OiAzLFxuICAgIHJlc3BvbnNlOlxuICAgICAgJ0NlbGVyeSBxdWFuZG9uZyBzd2lzcyBjaGFyZCBjaGljb3J5IGVhcnRobnV0IHBlYSBwb3RhdG8uIFNhbHNpZnkgdGFybyBjYXRzZWFyIGdhcmxpYyBncmFtIGNlbGVyeSBiaXR0ZXJsZWFmIHdhdHRsZSBzZWVkIGNvbGxhcmQgZ3JlZW5zIG5vcmkuJyxcbiAgfSxcbiAge1xuICAgIGluZGV4OiA0LFxuICAgIHJlc3BvbnNlOlxuICAgICAgJ1R1cm5pcCBncmVlbnMgeWFycm93IHJpY2ViZWFuIHJ1dGFiYWdhIGVuZGl2ZSBjYXVsaWZsb3dlciBzZWEgbGV0dHVjZSBrb2hscmFiaSBhbWFyYW50aCB3YXRlciBzcGluYWNoIGF2b2NhZG8gZGFpa29uIG5hcGEgY2FiYmFnZSBhc3BhcmFndXMgd2ludGVyIHB1cnNsYW5lIGthbGUuJyxcbiAgfSxcbl07XG5cbi8vIERhdGEgZm9yIGZyZWUgcmVwb25zZXMgZm9yIHN1cnZleSB0YWJsZVxuZXhwb3J0IGNvbnN0IHN1cnZleVR3byA9IFtcbiAge1xuICAgIGluZGV4OiAwLFxuICAgIHJlc3BvbnNlOiAnSW4gZXZlcnkgd2FsayB3aXRoIG5hdHVyZSwgb25lIHJlY2VpdmVzIGZhciBtb3JlIHRoYW4gb25lIHNlZWtzJyxcbiAgfSxcbiAge1xuICAgIGluZGV4OiAxLFxuICAgIHJlc3BvbnNlOiAnSW4gZXZlcnkgd2FsayB3aXRoIG5hdHVyZSwgb25lIHJlY2VpdmVzIGZhciBtb3JlIHRoYW4gb25lIHNlZWtzJyxcbiAgfSxcbiAge1xuICAgIGluZGV4OiAyLFxuICAgIHJlc3BvbnNlOiAnSW4gZXZlcnkgd2FsayB3aXRoIG5hdHVyZSwgb25lIHJlY2VpdmVzIGZhciBtb3JlIHRoYW4gb25lIHNlZWtzJyxcbiAgfSxcbl07XG4iLCJpbXBvcnQgZm9udENvbnN0YW50cyBmcm9tICdAY2RvL2FwcHMvZm9udENvbnN0YW50cyc7XG5cbmltcG9ydCBzdHlsZUNvbnN0YW50cyBmcm9tICcuLi8uLi9zdHlsZUNvbnN0YW50cyc7XG5pbXBvcnQgY29sb3IgZnJvbSAnLi4vLi4vdXRpbC9jb2xvcic7XG5cbi8vIENvbnN0YW50cyBmb3IgUmVhY3QgdGFibGVzXG5cbi8vIFN0eWxlcyBmb3IgYSByZWFjdHRhYnVsYXIgdGFibGVcbi8qKlxuICogQHR5cGUge3tcbiAqICAgdGFibGVUZXh0OiB7XG4gKiAgICAgdGV4dE92ZXJmbG93Pzogc3RyaW5nO1xuICogICAgIG92ZXJmbG93Pzogc3RyaW5nO1xuICogICAgIHdoaXRlU3BhY2U/OiBcIm5vcm1hbFwiIHwgXCJub3dyYXBcIiB8IFwicHJlXCIgfCBcInByZS1saW5lXCIgfCBcInByZS13cmFwXCI7XG4gKiAgIH07XG4gKiAgIHRhYmxlOiB7XG4gKiAgICAgYm9yZGVyV2lkdGg/OiBzdHJpbmc7XG4gKiAgICAgYm9yZGVyU3R5bGU/OiBzdHJpbmc7XG4gKiAgICAgYm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gKiAgICAgd2lkdGg/OiBzdHJpbmc7XG4gKiAgICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nLFxuICogICB9O1xuICogICBjZWxsOiB7XG4gKiAgICAgbWF4V2lkdGg/OiBudW1iZXI7XG4gKiAgICAgYm9yZGVyPzogc3RyaW5nO1xuICogICAgIGJvcmRlckNvbG9yPzogc3RyaW5nO1xuICogICAgIHBhZGRpbmc/OiBudW1iZXI7XG4gKiAgICAgZm9udFNpemU/OiBudW1iZXI7XG4gKiAgIH07XG4gKiAgIGhlYWRlckNlbGw6IHtcbiAqICAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gKiAgICAgZm9udFdlaWdodD86IHN0cmluZztcbiAqICAgICBib3JkZXJDb2xvcj86IHN0cmluZztcbiAqICAgICBib3JkZXJTdHlsZT86IHN0cmluZztcbiAqICAgICBib3JkZXJCb3R0b21XaWR0aD86IG51bWJlcjtcbiAqICAgICBib3JkZXJUb3BXaWR0aD86IG51bWJlcjtcbiAqICAgICBib3JkZXJMZWZ0V2lkdGg/OiBudW1iZXI7XG4gKiAgICAgYm9yZGVyUmlnaHRXaWR0aD86IG51bWJlcjtcbiAqICAgICBwYWRkaW5nVG9wPzogbnVtYmVyO1xuICogICAgIHBhZGRpbmdCb3R0b20/OiBudW1iZXI7XG4gKiAgICAgY29sb3I/OiBzdHJpbmc7XG4gKiAgICAgdGV4dEFsaWduPzogc3RyaW5nO1xuICogICB9O1xuICogICBmbGV4Q2VsbDoge1xuICogICAgIGRpc3BsYXk/OiBzdHJpbmc7XG4gKiAgICAgYWxpZ25JdGVtcz86IHN0cmluZztcbiAqICAgfTtcbiAqIH19XG4gKi9cbmV4cG9ydCBjb25zdCB0YWJsZUxheW91dFN0eWxlcyA9IHtcbiAgdGFibGVUZXh0OiB7XG4gICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgfSxcbiAgdGFibGU6IHtcbiAgICBib3JkZXJXaWR0aDogMSxcbiAgICBib3JkZXJTdHlsZTogJ3NvbGlkJyxcbiAgICBib3JkZXJDb2xvcjogY29sb3IuYm9yZGVyX2dyYXksXG4gICAgd2lkdGg6IHN0eWxlQ29uc3RhbnRzWydjb250ZW50LXdpZHRoJ10sXG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci50YWJsZV9saWdodF9yb3csXG4gIH0sXG4gIGNlbGw6IHtcbiAgICBtYXhXaWR0aDogMjAwLFxuICAgIGJvcmRlcjogJzFweCBzb2xpZCcsXG4gICAgYm9yZGVyQ29sb3I6IGNvbG9yLmJvcmRlcl9saWdodF9ncmF5LFxuICAgIHBhZGRpbmc6IDEwLFxuICAgIGZvbnRTaXplOiAxNCxcbiAgfSxcbiAgaGVhZGVyQ2VsbDoge1xuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IudGFibGVfaGVhZGVyLFxuICAgIGZvbnRXZWlnaHQ6ICdib2xkJyxcbiAgICBib3JkZXJDb2xvcjogY29sb3IuYm9yZGVyX2xpZ2h0X2dyYXksXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgYm9yZGVyQm90dG9tV2lkdGg6IDEsXG4gICAgYm9yZGVyVG9wV2lkdGg6IDAsXG4gICAgYm9yZGVyTGVmdFdpZHRoOiAwLFxuICAgIGJvcmRlclJpZ2h0V2lkdGg6IDEsXG4gICAgcGFkZGluZ1RvcDogMjAsXG4gICAgcGFkZGluZ0JvdHRvbTogMjAsXG4gICAgY29sb3I6IGNvbG9yLmNoYXJjb2FsLFxuICAgIHRleHRBbGlnbjogJ2luaGVyaXQnLFxuICB9LFxuICBmbGV4Q2VsbDoge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgfSxcbiAgbGluazoge1xuICAgIC4uLmZvbnRDb25zdGFudHNbJ21haW4tZm9udC1zZW1pLWJvbGQnXSxcbiAgICBmb250U2l6ZTogMTQsXG4gICAgdGV4dERlY29yYXRpb246ICdub25lJyxcbiAgfSxcbiAgdW5zb3J0YWJsZUhlYWRlcjoge1xuICAgIHBhZGRpbmdMZWZ0OiAyNSxcbiAgfSxcbiAgdW5zb3J0YWJsZUhlYWRlclJUTDoge1xuICAgIHBhZGRpbmdSaWdodDogMjUsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgcGxUYWJsZUxheW91dFN0eWxlcyA9IHtcbiAgbGluazoge1xuICAgIC4uLmZvbnRDb25zdGFudHNbJ21haW4tZm9udC1zZW1pLWJvbGQnXSxcbiAgICBmb250U2l6ZTogMTQsXG4gICAgY29sb3I6IGNvbG9yLm5ldXRyYWxfZGFyayxcbiAgICB0ZXh0RGVjb3JhdGlvbjogJ3VuZGVybGluZScsXG4gIH0sXG4gIHNlY3Rpb25Db2RlTGluazoge1xuICAgIC4uLmZvbnRDb25zdGFudHNbJ21haW4tZm9udC1zZW1pLWJvbGQnXSxcbiAgICBmb250U2l6ZTogMTQsXG4gICAgY29sb3I6IGNvbG9yLmJyYW5kX3NlY29uZGFyeV9kZWZhdWx0LFxuICB9LFxuICBjdXJyZW50VW5pdDoge1xuICAgIG1hcmdpblRvcDogMTAsXG4gICAgZm9udFNpemU6IDE0LFxuICB9LFxuICBjb2xCdXR0b246IHtcbiAgICBwYWRkaW5nVG9wOiAyMCxcbiAgICBwYWRkaW5nTGVmdDogMjAsXG4gICAgcGFkZGluZ0JvdHRvbTogMjAsXG4gICAgd2lkdGg6IDQwLFxuICB9LFxuICBwYXJ0aWNpcGFudFR5cGVDZWxsOiB7XG4gICAgZm9udFNpemU6IDE0LFxuICB9LFxuICBsZWF2ZUJ1dHRvbjoge1xuICAgIGZvbnRTaXplOiAxNCxcbiAgfSxcbn07XG5cbi8vIFNldHRpbmdzIGZvciBXcmFwcGVkU29ydGFibGVcbmV4cG9ydCBjb25zdCBzb3J0YWJsZU9wdGlvbnMgPSB7XG4gIC8vIERpbSBpbmFjdGl2ZSBzb3J0aW5nIGljb25zIGluIHRoZSBjb2x1bW4gaGVhZGVyc1xuICBkZWZhdWx0OiB7Y29sb3I6ICdyZ2JhKDAsIDAsIDAsIDAuMiApJ30sXG59O1xuXG5leHBvcnQgY29uc3QgTkFNRV9DRUxMX0lOUFVUX1dJRFRIID0gMTYwO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCAqIGFzIHNvcnQgZnJvbSAnc29ydGFidWxhcic7XG5cbmltcG9ydCBGb250QXdlc29tZSBmcm9tICcuLi8uLi9sZWdhY3lTaGFyZWRDb21wb25lbnRzL0ZvbnRBd2Vzb21lJztcblxuLyoqXG4gKiBTb3J0YWJsZSB0cmFuc2Zvcm0gdGhhdCB3cmFwcyBhIFJlYWN0YWJ1bGFyIHRyYW5zZm9ybSBnZW5lcmF0ZWQgYnkgc29ydC5zb3J0IHNvIHRoYXRcbiAqIGluc3RlYWQgb2YgYXBwbHlpbmcgc29ydCBjbGFzc2VzIHRvIHRoZSBoZWFkZXIgY2VsbCBpdCBhZGRzIHRoZSBhcHByb3ByaWF0ZSBGb250QXdlc29tZVxuICogY29tcG9uZW50IHRvIHRoZSBjZWxsIGNvbnRlbnRzLlxuICogQHBhcmFtIHtmdW5jdGlvbigpOiBvYmplY3R9IGdldFNvcnRpbmdDb2x1bW5zXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKG51bWJlcik6IHZvaWR9IG9uU29ydFxuICogQHBhcmFtIHtvYmplY3R9IHN0eWxlcyAtIG9wdGlvbmFsIHN0eWxlcyB0byBhcHBseSB0byB0aGUgc29ydCBpY29ucywgaW4gc3RhdGVzIHtkZWZhdWx0LCBzb3J0QXNjLCBzb3J0RGVzY31cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgdGhlIGNvbnRhaW5lciBkaXYge2NvbnRhaW5lcn1cbiAqIEByZXR1cm5zIHtmdW5jdGlvbihzdHJpbmcsIG9iamVjdCk6IG9iamVjdH0gYSBuZXcgY2VsbCB0cmFuc2Zvcm0gZnVuY3Rpb25cbiAqIEBzZWUgaHR0cDovL3JlYWN0YWJ1bGFyLmpzLm9yZy8jL2NvbHVtbi1kZWZpbml0aW9uL3RyYW5zZm9ybXNcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0YWJ1bGFyL3JlYWN0YWJ1bGFyL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL3JlYWN0YWJ1bGFyLXNvcnQvc3JjL3NvcnQuanNcbiAqL1xuZnVuY3Rpb24gd3JhcHBlZFNvcnRhYmxlKGdldFNvcnRpbmdDb2x1bW5zLCBvblNvcnQsIHN0eWxlcyA9IHt9KSB7XG4gIGNvbnN0IGJhc2ljU29ydGFibGUgPSBzb3J0LnNvcnQoe2dldFNvcnRpbmdDb2x1bW5zLCBvblNvcnR9KTtcblxuICByZXR1cm4gKGxhYmVsLCBjb2x1bW5JbmZvKSA9PiB7XG4gICAgY29uc3Qge2NsYXNzTmFtZTogbmV3Q2xhc3NOYW1lLCAuLi5uZXdQcm9wc30gPSBiYXNpY1NvcnRhYmxlKFxuICAgICAgbGFiZWwsXG4gICAgICBjb2x1bW5JbmZvXG4gICAgKTtcblxuICAgIC8vIERldGVjdCBuZXcgY2xhc3NlcyBhcHBsaWVkIGJ5IHNvcnQgdHJhbnNmb3JtOiBzb3J0LW5vbmUsIHNvcnQtYXNjLCBzb3J0LWRlc2NcbiAgICAvLyBJbnN0ZWFkIG9mIGFwcGx5aW5nIHRob3NlIGNsYXNzZXMsIGFkZCBkaWZmZXJlbnQgRm9udEF3ZXNvbWUgaWNvbnNcbiAgICBsZXQgc29ydEljb24gPSAoXG4gICAgICA8Rm9udEF3ZXNvbWUgaWNvbj1cInNvcnRcIiBjbGFzc05hbWU9XCJmYS1md1wiIHN0eWxlPXtzdHlsZXMuZGVmYXVsdH0gLz5cbiAgICApO1xuICAgIGlmICgvc29ydC1hc2MvLnRlc3QobmV3Q2xhc3NOYW1lKSkge1xuICAgICAgc29ydEljb24gPSAoXG4gICAgICAgIDxGb250QXdlc29tZSBpY29uPVwic29ydC1hc2NcIiBjbGFzc05hbWU9XCJmYS1md1wiIHN0eWxlPXtzdHlsZXMuc29ydEFzY30gLz5cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICgvc29ydC1kZXNjLy50ZXN0KG5ld0NsYXNzTmFtZSkpIHtcbiAgICAgIHNvcnRJY29uID0gKFxuICAgICAgICA8Rm9udEF3ZXNvbWVcbiAgICAgICAgICBpY29uPVwic29ydC1kZXNjXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJmYS1md1wiXG4gICAgICAgICAgc3R5bGU9e3N0eWxlcy5zb3J0RGVzY31cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZSB3cmFwcGluZyBvbiB0aGUgc29ydGluZyBpY29uIHRvIGVuc3VyZSB0aGF0IHRoZSBoZWFkZXIgd2lsbFxuICAgIC8vIG5ldmVyIHdyYXAgc3VjaCB0aGF0IHRoZSBzb3J0aW5nIGljb24gaXMgb24gYSByb3cgYWxsIG9uIGl0cyBvd24uXG4gICAgLy9cbiAgICAvLyBOb3RlIHRoYXQgd2UgY291bGQgYXBwbHkgdGhpcyBzdHlsZSB0byB0aGUgd2hvbGUgaGVhZGVyIGNlbGwsIGJ1dCB0aGF0XG4gICAgLy8gd291bGQgcHJldmVudCBhbnkgd3JhcHBpbmcgZnJvbSBoYXBwZW5pbmcgYXQgYWxsOyBiZWNhdXNlIHdlIHdhbnQgdG9cbiAgICAvLyBhbGxvdyBmb3IgdGhlIHBvc3NpYmlsaXR5IG9mIGxvbmcgaGVhZGVyIG5hbWVzIHRoYXQgX3Nob3VsZF8gd3JhcCwgdGhpc1xuICAgIC8vIHByb3ZpZGVzIGEgbmljZSBjb21wcm9taXNlLlxuICAgIGNvbnN0IHNvcnRJY29uU3BhblN0eWxlID0ge3doaXRlU3BhY2U6ICdub3dyYXAnfTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXdQcm9wcyxcbiAgICAgIHN0eWxlOiBPYmplY3QuYXNzaWduKHt9LCB7Y3Vyc29yOiAncG9pbnRlcid9KSxcbiAgICAgIGNoaWxkcmVuOiAoXG4gICAgICAgIDxzcGFuIHN0eWxlPXtzdHlsZXMuY29udGFpbmVyfT5cbiAgICAgICAgICA8c3BhbiBrZXk9XCJpY29uXCIgc3R5bGU9e3NvcnRJY29uU3BhblN0eWxlfT5cbiAgICAgICAgICAgIHtzb3J0SWNvbn1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4ga2V5PVwibGFiZWxcIj57bGFiZWx9PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICApLFxuICAgIH07XG4gIH07XG59XG5leHBvcnQgZGVmYXVsdCB3cmFwcGVkU29ydGFibGU7XG4iLCJ2YXIgYmFzZUZvck93biA9IHJlcXVpcmUoJy4vX2Jhc2VGb3JPd24nKSxcbiAgICBjcmVhdGVCYXNlRWFjaCA9IHJlcXVpcmUoJy4vX2NyZWF0ZUJhc2VFYWNoJyk7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZm9yRWFjaGAgd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICogQHJldHVybnMge0FycmF5fE9iamVjdH0gUmV0dXJucyBgY29sbGVjdGlvbmAuXG4gKi9cbnZhciBiYXNlRWFjaCA9IGNyZWF0ZUJhc2VFYWNoKGJhc2VGb3JPd24pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VFYWNoO1xuIiwidmFyIGJhc2VFYWNoID0gcmVxdWlyZSgnLi9fYmFzZUVhY2gnKSxcbiAgICBpc0FycmF5TGlrZSA9IHJlcXVpcmUoJy4vaXNBcnJheUxpa2UnKTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5tYXBgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IG1hcHBlZCBhcnJheS5cbiAqL1xuZnVuY3Rpb24gYmFzZU1hcChjb2xsZWN0aW9uLCBpdGVyYXRlZSkge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIHJlc3VsdCA9IGlzQXJyYXlMaWtlKGNvbGxlY3Rpb24pID8gQXJyYXkoY29sbGVjdGlvbi5sZW5ndGgpIDogW107XG5cbiAgYmFzZUVhY2goY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGtleSwgY29sbGVjdGlvbikge1xuICAgIHJlc3VsdFsrK2luZGV4XSA9IGl0ZXJhdGVlKHZhbHVlLCBrZXksIGNvbGxlY3Rpb24pO1xuICB9KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlTWFwO1xuIiwidmFyIGFycmF5TWFwID0gcmVxdWlyZSgnLi9fYXJyYXlNYXAnKSxcbiAgICBiYXNlR2V0ID0gcmVxdWlyZSgnLi9fYmFzZUdldCcpLFxuICAgIGJhc2VJdGVyYXRlZSA9IHJlcXVpcmUoJy4vX2Jhc2VJdGVyYXRlZScpLFxuICAgIGJhc2VNYXAgPSByZXF1aXJlKCcuL19iYXNlTWFwJyksXG4gICAgYmFzZVNvcnRCeSA9IHJlcXVpcmUoJy4vX2Jhc2VTb3J0QnknKSxcbiAgICBiYXNlVW5hcnkgPSByZXF1aXJlKCcuL19iYXNlVW5hcnknKSxcbiAgICBjb21wYXJlTXVsdGlwbGUgPSByZXF1aXJlKCcuL19jb21wYXJlTXVsdGlwbGUnKSxcbiAgICBpZGVudGl0eSA9IHJlcXVpcmUoJy4vaWRlbnRpdHknKSxcbiAgICBpc0FycmF5ID0gcmVxdWlyZSgnLi9pc0FycmF5Jyk7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ub3JkZXJCeWAgd2l0aG91dCBwYXJhbSBndWFyZHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAqIEBwYXJhbSB7RnVuY3Rpb25bXXxPYmplY3RbXXxzdHJpbmdbXX0gaXRlcmF0ZWVzIFRoZSBpdGVyYXRlZXMgdG8gc29ydCBieS5cbiAqIEBwYXJhbSB7c3RyaW5nW119IG9yZGVycyBUaGUgc29ydCBvcmRlcnMgb2YgYGl0ZXJhdGVlc2AuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzb3J0ZWQgYXJyYXkuXG4gKi9cbmZ1bmN0aW9uIGJhc2VPcmRlckJ5KGNvbGxlY3Rpb24sIGl0ZXJhdGVlcywgb3JkZXJzKSB7XG4gIGlmIChpdGVyYXRlZXMubGVuZ3RoKSB7XG4gICAgaXRlcmF0ZWVzID0gYXJyYXlNYXAoaXRlcmF0ZWVzLCBmdW5jdGlvbihpdGVyYXRlZSkge1xuICAgICAgaWYgKGlzQXJyYXkoaXRlcmF0ZWUpKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBiYXNlR2V0KHZhbHVlLCBpdGVyYXRlZS5sZW5ndGggPT09IDEgPyBpdGVyYXRlZVswXSA6IGl0ZXJhdGVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGl0ZXJhdGVlO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGl0ZXJhdGVlcyA9IFtpZGVudGl0eV07XG4gIH1cblxuICB2YXIgaW5kZXggPSAtMTtcbiAgaXRlcmF0ZWVzID0gYXJyYXlNYXAoaXRlcmF0ZWVzLCBiYXNlVW5hcnkoYmFzZUl0ZXJhdGVlKSk7XG5cbiAgdmFyIHJlc3VsdCA9IGJhc2VNYXAoY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGtleSwgY29sbGVjdGlvbikge1xuICAgIHZhciBjcml0ZXJpYSA9IGFycmF5TWFwKGl0ZXJhdGVlcywgZnVuY3Rpb24oaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBpdGVyYXRlZSh2YWx1ZSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgJ2NyaXRlcmlhJzogY3JpdGVyaWEsICdpbmRleCc6ICsraW5kZXgsICd2YWx1ZSc6IHZhbHVlIH07XG4gIH0pO1xuXG4gIHJldHVybiBiYXNlU29ydEJ5KHJlc3VsdCwgZnVuY3Rpb24ob2JqZWN0LCBvdGhlcikge1xuICAgIHJldHVybiBjb21wYXJlTXVsdGlwbGUob2JqZWN0LCBvdGhlciwgb3JkZXJzKTtcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZU9yZGVyQnk7XG4iLCIvKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNvcnRCeWAgd2hpY2ggdXNlcyBgY29tcGFyZXJgIHRvIGRlZmluZSB0aGVcbiAqIHNvcnQgb3JkZXIgb2YgYGFycmF5YCBhbmQgcmVwbGFjZXMgY3JpdGVyaWEgb2JqZWN0cyB3aXRoIHRoZWlyIGNvcnJlc3BvbmRpbmdcbiAqIHZhbHVlcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHNvcnQuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBjb21wYXJlciBUaGUgZnVuY3Rpb24gdG8gZGVmaW5lIHNvcnQgb3JkZXIuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAqL1xuZnVuY3Rpb24gYmFzZVNvcnRCeShhcnJheSwgY29tcGFyZXIpIHtcbiAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBhcnJheS5zb3J0KGNvbXBhcmVyKTtcbiAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgYXJyYXlbbGVuZ3RoXSA9IGFycmF5W2xlbmd0aF0udmFsdWU7XG4gIH1cbiAgcmV0dXJuIGFycmF5O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VTb3J0Qnk7XG4iLCJ2YXIgaXNTeW1ib2wgPSByZXF1aXJlKCcuL2lzU3ltYm9sJyk7XG5cbi8qKlxuICogQ29tcGFyZXMgdmFsdWVzIHRvIHNvcnQgdGhlbSBpbiBhc2NlbmRpbmcgb3JkZXIuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc29ydCBvcmRlciBpbmRpY2F0b3IgZm9yIGB2YWx1ZWAuXG4gKi9cbmZ1bmN0aW9uIGNvbXBhcmVBc2NlbmRpbmcodmFsdWUsIG90aGVyKSB7XG4gIGlmICh2YWx1ZSAhPT0gb3RoZXIpIHtcbiAgICB2YXIgdmFsSXNEZWZpbmVkID0gdmFsdWUgIT09IHVuZGVmaW5lZCxcbiAgICAgICAgdmFsSXNOdWxsID0gdmFsdWUgPT09IG51bGwsXG4gICAgICAgIHZhbElzUmVmbGV4aXZlID0gdmFsdWUgPT09IHZhbHVlLFxuICAgICAgICB2YWxJc1N5bWJvbCA9IGlzU3ltYm9sKHZhbHVlKTtcblxuICAgIHZhciBvdGhJc0RlZmluZWQgPSBvdGhlciAhPT0gdW5kZWZpbmVkLFxuICAgICAgICBvdGhJc051bGwgPSBvdGhlciA9PT0gbnVsbCxcbiAgICAgICAgb3RoSXNSZWZsZXhpdmUgPSBvdGhlciA9PT0gb3RoZXIsXG4gICAgICAgIG90aElzU3ltYm9sID0gaXNTeW1ib2wob3RoZXIpO1xuXG4gICAgaWYgKCghb3RoSXNOdWxsICYmICFvdGhJc1N5bWJvbCAmJiAhdmFsSXNTeW1ib2wgJiYgdmFsdWUgPiBvdGhlcikgfHxcbiAgICAgICAgKHZhbElzU3ltYm9sICYmIG90aElzRGVmaW5lZCAmJiBvdGhJc1JlZmxleGl2ZSAmJiAhb3RoSXNOdWxsICYmICFvdGhJc1N5bWJvbCkgfHxcbiAgICAgICAgKHZhbElzTnVsbCAmJiBvdGhJc0RlZmluZWQgJiYgb3RoSXNSZWZsZXhpdmUpIHx8XG4gICAgICAgICghdmFsSXNEZWZpbmVkICYmIG90aElzUmVmbGV4aXZlKSB8fFxuICAgICAgICAhdmFsSXNSZWZsZXhpdmUpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICBpZiAoKCF2YWxJc051bGwgJiYgIXZhbElzU3ltYm9sICYmICFvdGhJc1N5bWJvbCAmJiB2YWx1ZSA8IG90aGVyKSB8fFxuICAgICAgICAob3RoSXNTeW1ib2wgJiYgdmFsSXNEZWZpbmVkICYmIHZhbElzUmVmbGV4aXZlICYmICF2YWxJc051bGwgJiYgIXZhbElzU3ltYm9sKSB8fFxuICAgICAgICAob3RoSXNOdWxsICYmIHZhbElzRGVmaW5lZCAmJiB2YWxJc1JlZmxleGl2ZSkgfHxcbiAgICAgICAgKCFvdGhJc0RlZmluZWQgJiYgdmFsSXNSZWZsZXhpdmUpIHx8XG4gICAgICAgICFvdGhJc1JlZmxleGl2ZSkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgfVxuICByZXR1cm4gMDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjb21wYXJlQXNjZW5kaW5nO1xuIiwidmFyIGNvbXBhcmVBc2NlbmRpbmcgPSByZXF1aXJlKCcuL19jb21wYXJlQXNjZW5kaW5nJyk7XG5cbi8qKlxuICogVXNlZCBieSBgXy5vcmRlckJ5YCB0byBjb21wYXJlIG11bHRpcGxlIHByb3BlcnRpZXMgb2YgYSB2YWx1ZSB0byBhbm90aGVyXG4gKiBhbmQgc3RhYmxlIHNvcnQgdGhlbS5cbiAqXG4gKiBJZiBgb3JkZXJzYCBpcyB1bnNwZWNpZmllZCwgYWxsIHZhbHVlcyBhcmUgc29ydGVkIGluIGFzY2VuZGluZyBvcmRlci4gT3RoZXJ3aXNlLFxuICogc3BlY2lmeSBhbiBvcmRlciBvZiBcImRlc2NcIiBmb3IgZGVzY2VuZGluZyBvciBcImFzY1wiIGZvciBhc2NlbmRpbmcgc29ydCBvcmRlclxuICogb2YgY29ycmVzcG9uZGluZyB2YWx1ZXMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBjb21wYXJlLlxuICogQHBhcmFtIHtPYmplY3R9IG90aGVyIFRoZSBvdGhlciBvYmplY3QgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSB7Ym9vbGVhbltdfHN0cmluZ1tdfSBvcmRlcnMgVGhlIG9yZGVyIHRvIHNvcnQgYnkgZm9yIGVhY2ggcHJvcGVydHkuXG4gKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBzb3J0IG9yZGVyIGluZGljYXRvciBmb3IgYG9iamVjdGAuXG4gKi9cbmZ1bmN0aW9uIGNvbXBhcmVNdWx0aXBsZShvYmplY3QsIG90aGVyLCBvcmRlcnMpIHtcbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICBvYmpDcml0ZXJpYSA9IG9iamVjdC5jcml0ZXJpYSxcbiAgICAgIG90aENyaXRlcmlhID0gb3RoZXIuY3JpdGVyaWEsXG4gICAgICBsZW5ndGggPSBvYmpDcml0ZXJpYS5sZW5ndGgsXG4gICAgICBvcmRlcnNMZW5ndGggPSBvcmRlcnMubGVuZ3RoO1xuXG4gIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgdmFyIHJlc3VsdCA9IGNvbXBhcmVBc2NlbmRpbmcob2JqQ3JpdGVyaWFbaW5kZXhdLCBvdGhDcml0ZXJpYVtpbmRleF0pO1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIGlmIChpbmRleCA+PSBvcmRlcnNMZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIHZhciBvcmRlciA9IG9yZGVyc1tpbmRleF07XG4gICAgICByZXR1cm4gcmVzdWx0ICogKG9yZGVyID09ICdkZXNjJyA/IC0xIDogMSk7XG4gICAgfVxuICB9XG4gIC8vIEZpeGVzIGFuIGBBcnJheSNzb3J0YCBidWcgaW4gdGhlIEpTIGVuZ2luZSBlbWJlZGRlZCBpbiBBZG9iZSBhcHBsaWNhdGlvbnNcbiAgLy8gdGhhdCBjYXVzZXMgaXQsIHVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcywgdG8gcHJvdmlkZSB0aGUgc2FtZSB2YWx1ZSBmb3JcbiAgLy8gYG9iamVjdGAgYW5kIGBvdGhlcmAuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vamFzaGtlbmFzL3VuZGVyc2NvcmUvcHVsbC8xMjQ3XG4gIC8vIGZvciBtb3JlIGRldGFpbHMuXG4gIC8vXG4gIC8vIFRoaXMgYWxzbyBlbnN1cmVzIGEgc3RhYmxlIHNvcnQgaW4gVjggYW5kIG90aGVyIGVuZ2luZXMuXG4gIC8vIFNlZSBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD05MCBmb3IgbW9yZSBkZXRhaWxzLlxuICByZXR1cm4gb2JqZWN0LmluZGV4IC0gb3RoZXIuaW5kZXg7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY29tcGFyZU11bHRpcGxlO1xuIiwidmFyIGlzQXJyYXlMaWtlID0gcmVxdWlyZSgnLi9pc0FycmF5TGlrZScpO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBgYmFzZUVhY2hgIG9yIGBiYXNlRWFjaFJpZ2h0YCBmdW5jdGlvbi5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZWFjaEZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGl0ZXJhdGUgb3ZlciBhIGNvbGxlY3Rpb24uXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtmcm9tUmlnaHRdIFNwZWNpZnkgaXRlcmF0aW5nIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGJhc2UgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUJhc2VFYWNoKGVhY2hGdW5jLCBmcm9tUmlnaHQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKGNvbGxlY3Rpb24sIGl0ZXJhdGVlKSB7XG4gICAgaWYgKGNvbGxlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgfVxuICAgIGlmICghaXNBcnJheUxpa2UoY29sbGVjdGlvbikpIHtcbiAgICAgIHJldHVybiBlYWNoRnVuYyhjb2xsZWN0aW9uLCBpdGVyYXRlZSk7XG4gICAgfVxuICAgIHZhciBsZW5ndGggPSBjb2xsZWN0aW9uLmxlbmd0aCxcbiAgICAgICAgaW5kZXggPSBmcm9tUmlnaHQgPyBsZW5ndGggOiAtMSxcbiAgICAgICAgaXRlcmFibGUgPSBPYmplY3QoY29sbGVjdGlvbik7XG5cbiAgICB3aGlsZSAoKGZyb21SaWdodCA/IGluZGV4LS0gOiArK2luZGV4IDwgbGVuZ3RoKSkge1xuICAgICAgaWYgKGl0ZXJhdGVlKGl0ZXJhYmxlW2luZGV4XSwgaW5kZXgsIGl0ZXJhYmxlKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNyZWF0ZUJhc2VFYWNoO1xuIiwidmFyIGJhc2VPcmRlckJ5ID0gcmVxdWlyZSgnLi9fYmFzZU9yZGVyQnknKSxcbiAgICBpc0FycmF5ID0gcmVxdWlyZSgnLi9pc0FycmF5Jyk7XG5cbi8qKlxuICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5zb3J0QnlgIGV4Y2VwdCB0aGF0IGl0IGFsbG93cyBzcGVjaWZ5aW5nIHRoZSBzb3J0XG4gKiBvcmRlcnMgb2YgdGhlIGl0ZXJhdGVlcyB0byBzb3J0IGJ5LiBJZiBgb3JkZXJzYCBpcyB1bnNwZWNpZmllZCwgYWxsIHZhbHVlc1xuICogYXJlIHNvcnRlZCBpbiBhc2NlbmRpbmcgb3JkZXIuIE90aGVyd2lzZSwgc3BlY2lmeSBhbiBvcmRlciBvZiBcImRlc2NcIiBmb3JcbiAqIGRlc2NlbmRpbmcgb3IgXCJhc2NcIiBmb3IgYXNjZW5kaW5nIHNvcnQgb3JkZXIgb2YgY29ycmVzcG9uZGluZyB2YWx1ZXMuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAqIEBwYXJhbSB7QXJyYXlbXXxGdW5jdGlvbltdfE9iamVjdFtdfHN0cmluZ1tdfSBbaXRlcmF0ZWVzPVtfLmlkZW50aXR5XV1cbiAqICBUaGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBbb3JkZXJzXSBUaGUgc29ydCBvcmRlcnMgb2YgYGl0ZXJhdGVlc2AuXG4gKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5yZWR1Y2VgLlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgc29ydGVkIGFycmF5LlxuICogQGV4YW1wbGVcbiAqXG4gKiB2YXIgdXNlcnMgPSBbXG4gKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQ4IH0sXG4gKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM0IH0sXG4gKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQwIH0sXG4gKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM2IH1cbiAqIF07XG4gKlxuICogLy8gU29ydCBieSBgdXNlcmAgaW4gYXNjZW5kaW5nIG9yZGVyIGFuZCBieSBgYWdlYCBpbiBkZXNjZW5kaW5nIG9yZGVyLlxuICogXy5vcmRlckJ5KHVzZXJzLCBbJ3VzZXInLCAnYWdlJ10sIFsnYXNjJywgJ2Rlc2MnXSk7XG4gKiAvLyA9PiBvYmplY3RzIGZvciBbWydiYXJuZXknLCAzNl0sIFsnYmFybmV5JywgMzRdLCBbJ2ZyZWQnLCA0OF0sIFsnZnJlZCcsIDQwXV1cbiAqL1xuZnVuY3Rpb24gb3JkZXJCeShjb2xsZWN0aW9uLCBpdGVyYXRlZXMsIG9yZGVycywgZ3VhcmQpIHtcbiAgaWYgKGNvbGxlY3Rpb24gPT0gbnVsbCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBpZiAoIWlzQXJyYXkoaXRlcmF0ZWVzKSkge1xuICAgIGl0ZXJhdGVlcyA9IGl0ZXJhdGVlcyA9PSBudWxsID8gW10gOiBbaXRlcmF0ZWVzXTtcbiAgfVxuICBvcmRlcnMgPSBndWFyZCA/IHVuZGVmaW5lZCA6IG9yZGVycztcbiAgaWYgKCFpc0FycmF5KG9yZGVycykpIHtcbiAgICBvcmRlcnMgPSBvcmRlcnMgPT0gbnVsbCA/IFtdIDogW29yZGVyc107XG4gIH1cbiAgcmV0dXJuIGJhc2VPcmRlckJ5KGNvbGxlY3Rpb24sIGl0ZXJhdGVlcywgb3JkZXJzKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBvcmRlckJ5O1xuIl0sIm5hbWVzIjpbIl9sb2Rhc2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfcmVhY3QiLCJfZXhjbHVkZWQiLCJlIiwiX19lc01vZHVsZSIsIl9leHRlbmRzIiwiT2JqZWN0IiwiYXNzaWduIiwiYmluZCIsIm4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ0IiwiciIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImFwcGx5IiwiRm9udEF3ZXNvbWUiLCJfcmVmIiwiaWNvbiIsImNsYXNzTmFtZSIsInRpdGxlIiwicHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJvIiwiaSIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwiaW5jbHVkZXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJzIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJuZXdQcm9wcyIsIl8iLCJjb25jYXQiLCJjcmVhdGVFbGVtZW50IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsIm1vZHVsZSIsImV4cG9ydHMiLCJkZWZhdWx0IiwiX3NlY3Rpb25Bc3Nlc3NtZW50c1JlZHV4IiwiX2xvY2FsZSIsInRlc3REYXRhVGltZXN0YW1wcyIsIm5ld2VzdCIsIkRhdGUiLCJuZXdlciIsIm5ldyIsIm9sZCIsIm9sZGVyIiwib2xkZXN0Iiwibm90U3RhcnRlZCIsIm5vdFN0YXJ0ZWRGYWtlVGltZXN0YW1wIiwiaW5Qcm9ncmVzcyIsImluUHJvZ3Jlc3NGYWtlVGltZXN0YW1wIiwibXVsdGlwbGVDaG9pY2VEYXRhIiwiaWQiLCJuYW1lIiwibnVtTXVsdGlwbGVDaG9pY2VDb3JyZWN0IiwibnVtTXVsdGlwbGVDaG9pY2UiLCJudW1NYXRjaENvcnJlY3QiLCJudW1NYXRjaCIsImlzU3VibWl0dGVkIiwic3VibWlzc2lvblRpbWVTdGFtcCIsInN0dWRlbnRSZXNwb25zZXMiLCJpc0NvcnJlY3QiLCJyZXNwb25zZXMiLCJhbnN3ZXJzIiwiYW5zd2VyIiwibnVtQW5zd2VyZWQiLCJvcHRpb24iLCJub3RBbnN3ZXJlZCIsInRvdGFsQW5zd2VyZWQiLCJxdWVzdGlvbiIsIm11bHRpcGxlQ2hvaWNlT3B0aW9uIiwiaTE4biIsImFuc3dlck9wdGlvbkEiLCJwZXJjZW50QW5zd2VyZWQiLCJpc0NvcnJlY3RBbnN3ZXIiLCJhbnN3ZXJPcHRpb25CIiwiYW5zd2VyT3B0aW9uQyIsImFuc3dlck9wdGlvbkQiLCJhbnN3ZXJPcHRpb25FIiwiYW5zd2VyT3B0aW9uRiIsImFuc3dlck9wdGlvbkciLCJtYXAiLCJpbmRleCIsInF1ZXN0aW9uTnVtYmVyIiwiY29ycmVjdEFuc3dlciIsInRleHQiLCJvcHRpb25zIiwic3R1ZGVudElkIiwicmVzcG9uc2UiLCJfZm9udENvbnN0YW50cyIsIl9zdHlsZUNvbnN0YW50cyIsIl9jb2xvciIsIl90eXBlb2YiLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwib3duS2V5cyIsImtleXMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwidGFibGVUZXh0IiwidGV4dE92ZXJmbG93Iiwib3ZlcmZsb3ciLCJ3aGl0ZVNwYWNlIiwidGFibGUiLCJib3JkZXJXaWR0aCIsImJvcmRlclN0eWxlIiwiYm9yZGVyQ29sb3IiLCJjb2xvciIsImJvcmRlcl9ncmF5Iiwid2lkdGgiLCJzdHlsZUNvbnN0YW50cyIsImJhY2tncm91bmRDb2xvciIsInRhYmxlX2xpZ2h0X3JvdyIsImNlbGwiLCJtYXhXaWR0aCIsImJvcmRlciIsImJvcmRlcl9saWdodF9ncmF5IiwicGFkZGluZyIsImZvbnRTaXplIiwiaGVhZGVyQ2VsbCIsInRhYmxlX2hlYWRlciIsImZvbnRXZWlnaHQiLCJib3JkZXJCb3R0b21XaWR0aCIsImJvcmRlclRvcFdpZHRoIiwiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyUmlnaHRXaWR0aCIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIiwiY2hhcmNvYWwiLCJ0ZXh0QWxpZ24iLCJmbGV4Q2VsbCIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwibGluayIsImZvbnRDb25zdGFudHMiLCJ0ZXh0RGVjb3JhdGlvbiIsInVuc29ydGFibGVIZWFkZXIiLCJwYWRkaW5nTGVmdCIsInVuc29ydGFibGVIZWFkZXJSVEwiLCJwYWRkaW5nUmlnaHQiLCJuZXV0cmFsX2RhcmsiLCJzZWN0aW9uQ29kZUxpbmsiLCJicmFuZF9zZWNvbmRhcnlfZGVmYXVsdCIsImN1cnJlbnRVbml0IiwibWFyZ2luVG9wIiwiY29sQnV0dG9uIiwicGFydGljaXBhbnRUeXBlQ2VsbCIsImxlYXZlQnV0dG9uIiwic29ydCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiaGFzIiwiZ2V0IiwiX19wcm90b19fIiwiYSIsInUiLCJzZXQiLCJfRm9udEF3ZXNvbWUiLCJXZWFrTWFwIiwid3JhcHBlZFNvcnRhYmxlIiwiZ2V0U29ydGluZ0NvbHVtbnMiLCJvblNvcnQiLCJzdHlsZXMiLCJ1bmRlZmluZWQiLCJiYXNpY1NvcnRhYmxlIiwibGFiZWwiLCJjb2x1bW5JbmZvIiwiX2Jhc2ljU29ydGFibGUiLCJuZXdDbGFzc05hbWUiLCJzb3J0SWNvbiIsInN0eWxlIiwidGVzdCIsInNvcnRBc2MiLCJzb3J0RGVzYyIsImN1cnNvciIsImNoaWxkcmVuIiwiY29udGFpbmVyIiwia2V5IiwiYmFzZUZvck93biIsImJhc2VFYWNoIiwiY3JlYXRlQmFzZUVhY2giLCJpc0FycmF5TGlrZSIsImJhc2VNYXAiLCJjb2xsZWN0aW9uIiwiaXRlcmF0ZWUiLCJyZXN1bHQiLCJBcnJheSIsImFycmF5TWFwIiwiYmFzZUdldCIsImJhc2VJdGVyYXRlZSIsImJhc2VTb3J0QnkiLCJiYXNlVW5hcnkiLCJjb21wYXJlTXVsdGlwbGUiLCJpZGVudGl0eSIsImlzQXJyYXkiLCJiYXNlT3JkZXJCeSIsIml0ZXJhdGVlcyIsIm9yZGVycyIsIm9iamVjdCIsIm90aGVyIiwiYXJyYXkiLCJjb21wYXJlciIsImlzU3ltYm9sIiwiY29tcGFyZUFzY2VuZGluZyIsInZhbElzRGVmaW5lZCIsInZhbElzTnVsbCIsInZhbElzUmVmbGV4aXZlIiwidmFsSXNTeW1ib2wiLCJvdGhJc0RlZmluZWQiLCJvdGhJc051bGwiLCJvdGhJc1JlZmxleGl2ZSIsIm90aElzU3ltYm9sIiwib2JqQ3JpdGVyaWEiLCJjcml0ZXJpYSIsIm90aENyaXRlcmlhIiwib3JkZXJzTGVuZ3RoIiwiZWFjaEZ1bmMiLCJmcm9tUmlnaHQiLCJpdGVyYWJsZSIsIm9yZGVyQnkiLCJndWFyZCJdLCJzb3VyY2VSb290IjoiIn0=