diff --git a/1250.9c1108c3.iframe.bundle.js b/1250.9799e369.iframe.bundle.js similarity index 54% rename from 1250.9c1108c3.iframe.bundle.js rename to 1250.9799e369.iframe.bundle.js index a9f6fc13..54bfde1f 100644 --- a/1250.9c1108c3.iframe.bundle.js +++ b/1250.9799e369.iframe.bundle.js @@ -1,3 +1,3 @@ -/*! For license information please see 1250.9c1108c3.iframe.bundle.js.LICENSE.txt */ -(self.webpackChunkblockly_mooc=self.webpackChunkblockly_mooc||[]).push([[1250],{"./src/sharedComponents/Spinner.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")),_FontAwesome=_interopRequireDefault(__webpack_require__("./src/legacySharedComponents/FontAwesome.jsx")),_locale=_interopRequireDefault(__webpack_require__("./src/util/locale-do-not-import.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 _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}(exports.default=function(_React$Component){function Spinner(){return _React$Component.apply(this,arguments)||this}return function _inheritsLoose(t,o){t.prototype=Object.create(o.prototype),t.prototype.constructor=t,_setPrototypeOf(t,o)}(Spinner,_React$Component),Spinner.prototype.render=function render(){var _this$props=this.props,size=_this$props.size,style=_this$props.style,displaySize="small"===size?"":"medium"===size?"fa-2x":"fa-3x";return _react.default.createElement(_FontAwesome.default,{style,icon:"spinner",className:"fa-pulse ".concat(displaySize),title:_locale.default.loading()})},Spinner}(_react.default.Component),"propTypes",{size:_propTypes.default.oneOf(["small","medium","large"]),style:_propTypes.default.object}),module.exports=exports.default},"./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{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SignInState=exports.CourseRoles=void 0,exports.default=function currentUser(){var state=arguments.length>0&&void 0!==arguments[0]?arguments[0]:initialState,action=arguments.length>1?arguments[1]:void 0;if(action.type===SET_CURRENT_USER_NAME)return _objectSpread(_objectSpread({},state),{},{userName:action.userName});if(action.type===SET_HAS_SEEN_STANDARDS_REPORT)return _objectSpread(_objectSpread({},state),{},{hasSeenStandardsReportInfo:action.hasSeenStandardsReport});if(action.type===SET_USER_SIGNED_IN)return _objectSpread(_objectSpread({},state),{},{signInState:action.isSignedIn?SignInState.SignedIn:SignInState.SignedOut});if(action.type===SET_USER_TYPE)return _objectSpread(_objectSpread({},state),{},{userType:action.userType,under13:action.under13});if(action.type===SET_OVER_21)return _objectSpread(_objectSpread({},state),{},{over21:action.over21});if(action.type===SET_USER_ROLE_IN_COURSE)return _objectSpread(_objectSpread({},state),{},{userRoleInCourse:action.userRoleInCourse});if(action.type===SET_MUTE_MUSIC)return _objectSpread(_objectSpread({},state),{},{isBackgroundMusicMuted:action.isBackgroundMusicMuted});if(action.type===SET_SORT_BY_FAMILY_NAME)return action.isSortedByFamilyName?_AnalyticsReporter.default.sendEvent(_AnalyticsConstants.EVENTS.SORT_BY_FAMILY_NAME,{sectionId:action.sectionId,unitName:action.unitName,source:action.source}):_AnalyticsReporter.default.sendEvent(_AnalyticsConstants.EVENTS.SORT_BY_DISPLAY_NAME,{sectionId:action.sectionId,unitName:action.unitName,source:action.source}),_objectSpread(_objectSpread({},state),{},{isSortedByFamilyName:action.isSortedByFamilyName});if(action.type===SET_SHOW_PROGRESS_TABLE_V2)return _objectSpread(_objectSpread({},state),{},{showProgressTableV2:action.showProgressTableV2});if(action.type===SET_PROGRESS_TABLE_V2_CLOSED_BETA)return _objectSpread(_objectSpread({},state),{},{progressTableV2ClosedBeta:action.progressTableV2ClosedBeta});if(action.type===SET_DATE_PROGRESS_TABLE_INVITATION_LAST_DELAYED)return _objectSpread(_objectSpread({},state),{},{dateProgressTableInvitationDelayed:action.dateProgressTableInvitationDelayed});if(action.type===SET_SEEN_PROGRESS_TABLE_INVITATION)return _objectSpread(_objectSpread({},state),{},{hasSeenProgressTableInvite:action.hasSeenProgressTableInvite});if(action.type===SET_AI_RUBRICS_DISABLED)return _objectSpread(_objectSpread({},state),{},{aiRubricsDisabled:action.aiRubricsDisabled});if(action.type===SET_USER_CREATED_AT)return _objectSpread(_objectSpread({},state),{},{userCreatedAt:action.userCreatedAt});if(action.type===SET_INITIAL_DATA){var _action$serverUser=action.serverUser,id=_action$serverUser.id,uuid=_action$serverUser.uuid,username=_action$serverUser.username,user_type=_action$serverUser.user_type,mute_music=_action$serverUser.mute_music,under_13=_action$serverUser.under_13,over_21=_action$serverUser.over_21,sort_by_family_name=_action$serverUser.sort_by_family_name,show_progress_table_v2=_action$serverUser.show_progress_table_v2,ai_rubrics_disabled=_action$serverUser.ai_rubrics_disabled,progress_table_v2_closed_beta=_action$serverUser.progress_table_v2_closed_beta,is_lti=_action$serverUser.is_lti,date_progress_table_invitation_last_delayed=_action$serverUser.date_progress_table_invitation_last_delayed,has_seen_progress_table_v2_invitation=_action$serverUser.has_seen_progress_table_v2_invitation,child_account_compliance_state=_action$serverUser.child_account_compliance_state,country_code=_action$serverUser.country_code,us_state_code=_action$serverUser.us_state_code,age=_action$serverUser.age,in_section=_action$serverUser.in_section,created_at=_action$serverUser.created_at,is_verified_instructor=_action$serverUser.is_verified_instructor;return _AnalyticsReporter.default.setUserProperties(id,user_type,_experiments.default.getEnabledExperiments()),_StatsigReporter.default.setUserProperties(id,user_type,is_verified_instructor,_experiments.default.getEnabledExperiments()),_objectSpread(_objectSpread({},state),{},{userId:id,uuid,userName:username,userType:user_type,isBackgroundMusicMuted:mute_music,under13:under_13,over21:over_21,isSortedByFamilyName:sort_by_family_name,showProgressTableV2:show_progress_table_v2,aiRubricsDisabled:ai_rubrics_disabled,progressTableV2ClosedBeta:progress_table_v2_closed_beta,isLti:is_lti,isTeacher:user_type===_sharedConstants.UserTypes.TEACHER,inUSA:["US","RD"].includes(country_code)||!!us_state_code,dateProgressTableInvitationDelayed:date_progress_table_invitation_last_delayed,hasSeenProgressTableInvite:has_seen_progress_table_v2_invitation,childAccountComplianceState:child_account_compliance_state,countryCode:country_code,usStateCode:us_state_code,age,inSection:in_section,userCreatedAt:created_at})}return state},exports.setUserType=exports.setUserSignedIn=exports.setUserRoleInCourse=exports.setUserCreatedAt=exports.setSortByFamilyName=exports.setShowProgressTableV2=exports.setProgressTableV2ClosedBeta=exports.setOver21=exports.setMuteMusic=exports.setInitialData=exports.setHasSeenProgressTableInvite=exports.setDateProgressTableInvitationDelayed=exports.setCurrentUserName=exports.setCurrentUserHasSeenStandardsReportInfo=exports.setAiRubricsDisabled=exports.isSignedIn=void 0;var _AnalyticsConstants=__webpack_require__("./src/metrics/AnalyticsConstants.js"),_AnalyticsReporter=_interopRequireDefault(__webpack_require__("./src/metrics/AnalyticsReporter.js")),_StatsigReporter=_interopRequireDefault(__webpack_require__("./src/metrics/StatsigReporter.js")),_experiments=_interopRequireDefault(__webpack_require__("./src/util/experiments.js")),_sharedConstants=__webpack_require__("./generated-scripts/sharedConstants.ts"),_utils=__webpack_require__("./src/utils.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{var __WEBPACK_AMD_DEFINE_RESULT__;!function(){"use strict";var hasOwn={}.hasOwnProperty;function classNames(){for(var classes=[],i=0;i{"use strict";__webpack_require__.d(__webpack_exports__,{A:()=>__WEBPACK_DEFAULT_EXPORT__});var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/css-loader/dist/runtime/sourceMaps.js"),_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js"),___CSS_LOADER_EXPORT___=__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__)()(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default());___CSS_LOADER_EXPORT___.push([module.id,'.x4MludsHfvCmOViErHaL{display:inline-flex;justify-content:center;align-items:center;gap:10px;text-decoration:underline}.x4MludsHfvCmOViErHaL:focus-visible{outline:2px solid #0093a4;border-radius:.25rem;outline-offset:0}.x4MludsHfvCmOViErHaL:active:not([aria-disabled=true]){text-decoration:none}.Q4UpEen0GJ5clQxDJsYQ{color:#8c52ba}.Q4UpEen0GJ5clQxDJsYQ:hover,.Q4UpEen0GJ5clQxDJsYQ :active,.Q4UpEen0GJ5clQxDJsYQ :visited{color:#6c468a}.Q4UpEen0GJ5clQxDJsYQ:focus-visible{color:#8c52ba}.wQyYyT_I8UFuWdgLMyIW{color:#292f36}.wQyYyT_I8UFuWdgLMyIW:hover,.wQyYyT_I8UFuWdgLMyIW :active,.wQyYyT_I8UFuWdgLMyIW :visited{color:#5f6872}.wQyYyT_I8UFuWdgLMyIW:focus-visible{color:#292f36}.x4MludsHfvCmOViErHaL[aria-disabled=true]{cursor:not-allowed;color:#bec2c7}.ivKdY8M5qksh1_kpK1KY{font-family:"Metropolis","Noto Sans","Noto Sans Math","Noto Sans Arabic","Noto Sans Armenian","Noto Sans Bengali","Noto Sans SC","Noto Sans TC","Noto Sans Devanagari","Noto Sans Georgian","Noto Sans Hebrew","Noto Sans JP","Noto Sans Kannada","Noto Sans Khmer","Noto Sans KR","Noto Sans Myanmar","Noto Sans Sinhala","Noto Sans Tamil","Noto Sans Telugu","Noto Sans Thai","Noto Sans Thaana",sans-serif;font-weight:600;font-style:normal;text-decoration:underline;font-size:1.25rem;line-height:1.4}.kqqRSaZcF21csXAjfgdj{font-family:"Metropolis","Noto Sans","Noto Sans Math","Noto Sans Arabic","Noto Sans Armenian","Noto Sans Bengali","Noto Sans SC","Noto Sans TC","Noto Sans Devanagari","Noto Sans Georgian","Noto Sans Hebrew","Noto Sans JP","Noto Sans Kannada","Noto Sans Khmer","Noto Sans KR","Noto Sans Myanmar","Noto Sans Sinhala","Noto Sans Tamil","Noto Sans Telugu","Noto Sans Thai","Noto Sans Thaana",sans-serif;font-weight:600;font-style:normal;text-decoration:underline;font-size:1rem;line-height:1.48}.fU3p6q80j_Ol_BSp9hII{font-family:"Metropolis","Noto Sans","Noto Sans Math","Noto Sans Arabic","Noto Sans Armenian","Noto Sans Bengali","Noto Sans SC","Noto Sans TC","Noto Sans Devanagari","Noto Sans Georgian","Noto Sans Hebrew","Noto Sans JP","Noto Sans Kannada","Noto Sans Khmer","Noto Sans KR","Noto Sans Myanmar","Noto Sans Sinhala","Noto Sans Tamil","Noto Sans Telugu","Noto Sans Thai","Noto Sans Thaana",sans-serif;font-weight:600;font-style:normal;text-decoration:underline;font-size:.875rem;line-height:1.54}.gFBuFFWJf0LTgd7r1cQp{font-family:"Metropolis","Noto Sans","Noto Sans Math","Noto Sans Arabic","Noto Sans Armenian","Noto Sans Bengali","Noto Sans SC","Noto Sans TC","Noto Sans Devanagari","Noto Sans Georgian","Noto Sans Hebrew","Noto Sans JP","Noto Sans Kannada","Noto Sans Khmer","Noto Sans KR","Noto Sans Myanmar","Noto Sans Sinhala","Noto Sans Tamil","Noto Sans Telugu","Noto Sans Thai","Noto Sans Thaana",sans-serif;font-weight:600;font-style:normal;text-decoration:underline;font-size:.75rem;line-height:1.64}',"",{version:3,sources:["webpack://./src/componentLibrary/link/link.module.scss","webpack://./../shared/css/color.scss","webpack://./../shared/css/font.scss","webpack://./src/componentLibrary/common/styles/mixins.scss"],names:[],mappings:"AAIA,sBACE,mBAAA,CACA,sBAAA,CACA,kBAAA,CACA,QAAA,CACA,yBAAA,CAGA,oCACE,yBAAA,CACA,oBAAA,CACA,gBAAA,CAGF,uDACE,oBAAA,CAGF,sBACE,aC6KkB,CD3KlB,yFACE,aC2KgB,CDxKlB,oCACE,aCsKgB,CDlKpB,sBACE,aC8MU,CD5MV,yFACE,aCyKW,CDtKb,oCACE,aCuMQ,CDlMZ,0CACE,kBAAA,CACA,aCyJa,CDpJjB,sBE4BE,8YApEU,CAqEV,eA9DsB,CA+DtB,iBAAA,CCjDA,yBAAA,CAKA,iBAAA,CACA,eAAA,CHiBF,sBEwBE,8YApEU,CAqEV,eA9DsB,CA+DtB,iBAAA,CCjDA,yBAAA,CAWA,cAAA,CACA,gBAAA,CHeF,sBEoBE,8YApEU,CAqEV,eA9DsB,CA+DtB,iBAAA,CCjDA,yBAAA,CAiBA,iBAAA,CACA,gBAAA,CHaF,sBEgBE,8YApEU,CAqEV,eA9DsB,CA+DtB,iBAAA,CCjDA,yBAAA,CAuBA,gBAAA,CACA,gBAAA",sourcesContent:['@import "color";\n@import "@cdo/apps/componentLibrary/common/styles/mixins";\n\n// Link common styles\n.link {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n gap: 10px;\n text-decoration: underline;\n\n\n &:focus-visible {\n outline: 2px solid $light_primary_500;\n border-radius: 0.25rem;\n outline-offset: 0;\n }\n\n &:active:not([aria-disabled="true"]) {\n text-decoration: none;\n }\n\n &-primary {\n color: $light_secondary_500;\n\n &:hover, :active, :visited {\n color: $light_secondary_700;\n }\n\n &:focus-visible {\n color: $light_secondary_500;\n }\n }\n\n &-secondary {\n color: $light_black;\n\n &:hover, :active, :visited {\n color: $light_gray_800;\n }\n\n &:focus-visible {\n color: $light_black;\n }\n }\n\n\n &[aria-disabled="true"] {\n cursor: not-allowed;\n color: $light_gray_300;\n }\n}\n\n// Sizes\n.link-l {\n @include link-body-one;\n}\n\n.link-m {\n @include link-body-two;\n}\n\n.link-s {\n @include link-body-three;\n}\n\n.link-xs {\n @include link-body-four;\n}',"// colors from https://www.dropbox.com/s/ycjiwt8vxlmv2ih/Code.org_stylesheet_v2_09.05.13.pdf\n\n// Please keep this file simple; it should only contain color definitions\n// and aliases. Variables defined in this file are exported to\n// apps/src/util/color.js during the apps build process.\n\n$black: #000;\n$background_black: #121416;\n$dark_gray: #2D3139;\n$darkest_gray: #292F36;\n$dark_slate_gray: #282c34;\n$darkest_slate_gray: #25292d;\n$dark_charcoal: #4d575f;\n$charcoal: #5b6770;\n$light_gray: #949ca2;\n$lighter_gray: #c6cacd;\n$lightest_gray: #e7e8ea;\n$background_gray: #f2f2f2;\n$dimgray: #696969;\n$white: #fff;\n$default_blue: #3670b3;\n\n$dark_teal: #0094a3;\n$teal: #0093a4;\n$applab_button_teal: #1abc9c;\n$light_teal: #59cad3;\n$lightish_teal: #80d6de;\n$lighter_teal: #a6e3e8;\n$lightest_teal: #d9f3f5;\n$ai_rubric_cyan: #3cfff8;\n\n$purple: #8c52ba;\n$light_purple: #a69bc1;\n$lighter_purple: #cfc9de;\n$lightest_purple: #ebe8f1;\n\n$cyan: #0094ca;\n$light_cyan: #59b9dc;\n$lighter_cyan: #a6daed;\n$lightest_cyan: #d9eff7;\n$almost_white_cyan: #f5fcff;\n\n$orange: #ffa400;\n$light_orange: #ffc459;\n$lighter_orange: #ffe0a6;\n$lightest_orange: #fff2d9;\n$dark_orange: #ff8600;\n\n$green: #b9bf15;\n$light_green: #d1d567;\n$lighter_green: #e7e9ad;\n$lightest_green: #f5f5dc;\n$highlight_green: #8afc9b;\n\n$yellow: #ffb81d;\n$light_yellow: #ffdb74;\n$lighter_yellow: #ffebb5;\n$lightest_yellow: #fff7df;\n\n$goldenrod: #daa520;\n\n$header_text: $white;\n$bkgnd_color: $teal;\n$inset_color: $lighter_gray;\n$dark_color: $purple;\n$hdr_color: $purple;\n\n// Some extra colors.\n$red: #c00;\n$lightest_red: #fcc;\n$dark_red: #d62911;\n$realgreen: #008000;\n$realyellow: #ff0;\n$mustardyellow: #efcd1c;\n$twitter_blue: #00aced;\n$facebook_blue: #3b5998;\n$linkedin_blue: #0077B5;\n$dark_blue: #00647f;\n$blockly_flyout_gray: #ddd;\n$default_text: #333;\n$border_gray: #bbb;\n$border_light_gray: #d8d8d8;\n$table_header: #ececec;\n$table_light_row: #fcfcfc;\n$table_dark_row: #f4f4f4;\n\n// Progress colors.\n$level_submitted: $purple;\n$level_perfect: rgb(14, 190, 14);\n$level_passed: rgb(159, 212, 159);\n$level_attempted: $realyellow;\n$level_not_tried: #fefefe;\n$level_current: $orange;\n$level_review_rejected: $red;\n$level_review_accepted: rgb(11, 142, 11); // TODO: $level_passed;\n$assessment: $cyan;\n$workspace_running_background: #e5e5e5;\n\n// Experimental Sprite Lab validation colors.\n$dark_purple: #682A77;\n$bright_green: #0ebe0e;\n$neon_pink: #e9118f;\n\n// Links (used in apps).\n$link_color: #0596ce;\n\n// Shadow.\n$shadow: rgba(0, 0, 0, 0.3);\n\n// Colors that are taken from bootstrap, and not necessarily part of our core theme.\n$bootstrap_button_blue: #337ab7;\n$bootstrap_button_red: #d9534f;\n$bootstrap_error_background: #f2dede;\n$bootstrap_error_text: #b94a48;\n$bootstrap_v3_error_text: #a94442;\n$bootstrap_error_border: #ebccd1;\n$bootstrap_warning_background: #fcf8e3;\n$bootstrap_warning_text: #c09853;\n$bootstrap_warning_border: #faebcc;\n$bootstrap_border_color: #cccccc;\n$bootstrap_success_background: #dff0d8;\n$bootstrap_success_text: #468847;\n$bootstrap_success_border: #d6e9c6;\n\n// Colors taken from droplet, not part of our core theme.\n$droplet_light_green: #d3e965;\n$droplet_blue: #64b5f6;\n$droplet_bright_blue: #19c3e1;\n$droplet_yellow: #fff176;\n$droplet_orange: #ffb74d;\n$droplet_red: #f78183;\n$droplet_cyan: #4dd0e1;\n$droplet_pink: #f57ac6;\n$droplet_purple: #bb77c7;\n$droplet_green: #68d995;\n$droplet_white: $white;\n\n// Oceans: deep blue background.\n$oceans_deep_blue: rgb(2, 0, 28);\n\n// Dark theme background (used by default in Music Lab)\n$dark_black: #121212;\n\n// ===----===----===---- Phase 1 Colors: ----===----===----===\n// Brand\n$brand_primary_light: #E0F8F9;\n$brand_primary_default: #009EB0;\n$brand_primary_dark: #007785;\n\n$brand_secondary_light: #E0D1EC;\n$brand_secondary_default: #8C52BA;\n$brand_secondary_dark: #6C468A;\n\n$brand_accent_default: #ED6060;\n\n$brand_teal_5: #DFF2F4;\n\n//Product\n$product_affirmative_default: #3EA33E;\n\n$product_negative_light: #FDEBE9;\n$product_negative_default: #E5311A;\n$product_negative_dark: #AA2513;\n\n$product_caution_default: #F9CB28;\n\n$product_information_default: #007ACC;\n\n// Neutral\n$neutral_white: #FFFFFF;\n$neutral_light: #F7F8FA;\n$neutral_gray10: #EAEBEB;\n$neutral_dark10: #EAECEF;\n$neutral_dark20: #D1D4D8;\n$neutral_dark30: #BEC2C7;\n$neutral_dark40: #ABB0B6;\n$neutral_dark50: #989EA5;\n$neutral_dark60: #858C94;\n$neutral_dark70: #727A83;\n$neutral_dark80: #5F6872;\n$neutral_dark90: #4C5661;\n$neutral_dark: #292F36;\n\n//Brands\n$google_brand_color: #0F9D58;\n$microsoft_brand_color: #FFB900;\n$facebook_brand_color: #3B5998;\n$clever_brand_color: #1464FF;\n\n// ===----===----===---- Design system colors: ----===----===----===\n\n$light_primary_100: #BFE4E8;\n$light_primary_500: #0093A4;\n$light_primary_700: #007785;\n\n$light_secondary_100: #E2D4EE;\n$light_secondary_500: #8C52BA;\n$light_secondary_700: #6C468A;\n\n$light_gray_50: #F7F8FA;\n$light_gray_100: #EAECEF;\n$light_gray_200: #D1D4D8;\n$light_gray_300: #BEC2C7;\n$light_gray_400: #ABB0B6;\n$light_gray_500: #989EA5;\n$light_gray_600: #858C94;\n$light_gray_700: #727A83;\n$light_gray_800: #5F6872;\n$light_gray_900: #4C5661;\n$light_gray_950: #394450;\n\n$light_affirmative_100: #E2F1E2;\n$light_affirmative_500: #3EA33E;\n$light_affirmative_700: #2D742D;\n\n$light_negative_100: #FBE0DD;\n$light_negative_500: #E5311A;\n$light_negative_700: #B24949;\n\n$light_caution_100: #FEF7DF;\n$light_caution_500: #F9CB28;\n$light_caution_700: #C7A220;\n\n$light_accent_100: #FAD7D7;\n$light_accent_500: #ED6060;\n$light_accent_700: #D84C4C;\n\n$light_aqua_100: #CEFFFD;\n$light_aqua_500: #3CFFF8;\n$light_aqua_700: #30CCC6;\n\n$light_orange_100: #FFEDCC;\n$light_orange_500: #FFA400;\n$light_orange_700: #CC8300;\n\n$light_info_100: #DCEFFB;\n$light_info_500: #1892E3;\n$light_info_700: #1375B6;\n\n$light_white: #FFFFFF;\n\n$light_black: #292F36;\n\n$light_black_opacity_90: rgba(41, 47, 54, 0.90);\n$light_black_opacity-80: rgba(41, 47, 54, 0.80);\n$light_black_opacity-70: rgba(41, 47, 54, 0.70);\n$light_black_opacity-60: rgba(41, 47, 54, 0.60);\n$light_black_opacity-50: rgba(41, 47, 54, 0.50);\n$light_black_opacity-40: rgba(41, 47, 54, 0.40);\n$light_black_opacity-30: rgba(41, 47, 54, 0.30);\n$light_black_opacity-20: rgba(41, 47, 54, 0.20);\n$light_black_opacity-10: rgba(41, 47, 54, 0.10);\n","// Common site-wide fonts, put here for easy access from all scss files\n\n// Please note (!): use only single quotes (' ') for strings (!) to allow our custom converter to work properly.\n// This file is being transpiled to js object.\n// (So it can be used in jsx/tsx files for inline styles. This is made mostly for legacy.\n// Try to avoid use of inline styles if you're creating new component).\n// Keeping that in mind -\n\n$metropolis-font: 'Metropolis';\n$noto-sans-fonts: 'Noto Sans', 'Noto Sans Math', 'Noto Sans Arabic', 'Noto Sans Armenian', 'Noto Sans Bengali',\n'Noto Sans SC', 'Noto Sans TC', 'Noto Sans Devanagari', 'Noto Sans Georgian', 'Noto Sans Hebrew', 'Noto Sans JP',\n'Noto Sans Kannada', 'Noto Sans Khmer', 'Noto Sans KR', 'Noto Sans Myanmar', 'Noto Sans Sinhala',\n'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Thai', 'Noto Sans Thaana';\n\n$main-font: $metropolis-font, $noto-sans-fonts, sans-serif;\n\n$thin-font-weight: 100;\n$extra-light-font-weight: 200;\n$light-font-weight: 300;\n$regular-font-weight: 400;\n$medium-font-weight: 500;\n$semi-bold-font-weight: 600;\n$bold-font-weight: 700;\n$extra-bold-font-weight: 800;\n$black-font-weight: 900;\n\n@mixin main-font-thin {\n font-family: $main-font;\n font-weight: $thin-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-thin-italic {\n @include main-font-thin;\n font-style: italic;\n}\n\n@mixin main-font-extra-light {\n font-family: $main-font;\n font-weight: $extra-light-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-extra-light-italic {\n @include main-font-extra-light;\n font-style: italic;\n}\n\n@mixin main-font-light {\n font-family: $main-font;\n font-weight: $light-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-light-italic {\n @include main-font-light;\n font-style: italic;\n}\n\n@mixin main-font-regular {\n font-family: $main-font;\n font-weight: $regular-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-regular-italic {\n @include main-font-regular;\n font-style: italic;\n}\n\n@mixin main-font-medium {\n font-family: $main-font;\n font-weight: $medium-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-medium-italic {\n @include main-font-medium;\n font-style: italic;\n}\n\n@mixin main-font-semi-bold {\n font-family: $main-font;\n font-weight: $semi-bold-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-semi-bold-italic {\n @include main-font-semi-bold;\n font-style: italic;\n}\n\n@mixin main-font-bold {\n font-family: $main-font;\n font-weight: $bold-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-bold-italic {\n @include main-font-bold;\n font-style: italic;\n}\n\n@mixin main-font-extra-bold {\n font-family: $main-font;\n font-weight: $extra-bold-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-extra-bold-italic {\n @include main-font-extra-bold;\n font-style: italic;\n}\n\n@mixin main-font-black {\n font-family: $main-font;\n font-weight: $black-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-black-italic {\n @include main-font-black;\n font-style: italic;\n}\n\n$barlowSemiCondensed-semibold: 'Barlow Semi Condensed Semibold', $noto-sans-fonts, sans-serif;\n$barlowSemiCondensed-medium: 'Barlow Semi Condensed Medium', $noto-sans-fonts, sans-serif;\n\n$code-font: 'Source Code Pro', Monaco, 'Bitstream Vera Sans Mono', 'Lucida Console', Terminal, monospace;\n\n/*\n Font Awesome S3 Bucket URLs\n Current version: 6.6.0\n If you are changing the location of these files,\n see the readme in this directory for more detail on manual steps to take when uploading new files.\n */\n$font-awesome-core-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/fontawesome.min.css';\n$font-awesome-brands-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/brands.min.css';\n$font-awesome-solid-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/solid.min.css';\n$font-awesome-regular-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/regular.min.css';\n$font-awesome-v4-fonts-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/v4-font-face.min.css';\n$font-awesome-v4-shims-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/v4-shims.min.css';\n$font-awesome-v4-shims-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/v4-shims.min.css';\n$font-awesome-duotone-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/duotone.min.css';\n$font-awesome-custom-icons-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/custom-icons.min.css';\n","@import 'color', 'font';\n\n// Typography - Label styles\n@mixin label-common {\n @include main-font-semi-bold;\n margin-bottom: 0.5rem;\n}\n\n@mixin label-one {\n @include label-common;\n font-size: 1rem;\n line-height: 1.48;\n}\n\n@mixin label-two {\n @include label-common;\n font-size: 0.875rem;\n line-height: 1.54;\n}\n\n@mixin label-three {\n @include label-common;\n font-size: 0.75rem;\n line-height: 1.64;\n}\n\n@mixin label-four {\n @include label-common;\n font-size: 0.625rem;\n line-height: 1.8;\n}\n\n// Typography - Link styles (Link Body styles)\n@mixin link-body-common {\n @include main-font-semi-bold;\n text-decoration: underline;\n}\n\n@mixin link-body-one {\n @include link-body-common;\n font-size: 1.25rem;\n line-height: 1.4;\n}\n\n@mixin link-body-two {\n @include link-body-common;\n font-size: 1rem;\n line-height: 1.48;\n}\n\n@mixin link-body-three {\n @include link-body-common;\n font-size: 0.875rem;\n line-height: 1.54;\n}\n\n@mixin link-body-four {\n @include link-body-common;\n font-size: 0.75rem;\n line-height: 1.64;\n}\n\n// Typography Button text styles\n@mixin button-text-common {\n @include main-font-semi-bold;\n margin-bottom: 0.5rem;\n}\n\n@mixin button-one-text {\n @include button-text-common;\n font-size: 1.25rem;\n line-height: 1.4;\n}\n\n@mixin button-two-text {\n @include button-text-common;\n font-size: 1rem;\n line-height: 1.48;\n}\n\n@mixin button-three-text {\n @include button-text-common;\n font-size: 0.875rem;\n line-height: 1.54;\n}\n\n@mixin button-four-text {\n @include button-text-common;\n font-size: 0.75rem;\n line-height: 1.64;\n}\n\n// Common field styles\n@mixin field-helper-section-common {\n display: flex;\n align-items: baseline;\n align-self: stretch;\n}\n\n@mixin field-helper-section-l {\n @include body-two;\n margin-bottom: 0;\n gap: 0.375rem;\n}\n\n@mixin field-helper-section-m {\n @include body-three;\n margin-bottom: 0;\n gap: 0.375rem;\n}\n\n@mixin field-helper-section-s {\n @include body-four;\n margin-bottom: 0;\n gap: 0.25rem;\n}\n\n@mixin field-helper-section-black {\n color: $light_black;\n}\n\n@mixin field-helper-section-black-disabled {\n color: $light_gray_200;\n}\n\n@mixin field-helper-section-white {\n color: $light_white;\n}\n\n@mixin field-helper-section-white-disabled {\n color: $light_gray_700;\n}\n\n@mixin field-error-section-black {\n color: $light_negative_500;\n}\n\n@mixin field-error-section-white {\n color: $light_white;\n}\n\n@mixin field-read-only-black-colors {\n color: $light_black;\n border-color: $light_gray_200;\n background-color: $light_gray_50;\n}\n\n@mixin field-read-only-white-colors {\n color: $light_white;\n border-color: $light_gray_700;\n background-color: $light_gray_900;\n}\n"],sourceRoot:""}]),___CSS_LOADER_EXPORT___.locals={link:"x4MludsHfvCmOViErHaL","link-primary":"Q4UpEen0GJ5clQxDJsYQ","link-secondary":"wQyYyT_I8UFuWdgLMyIW","link-l":"ivKdY8M5qksh1_kpK1KY","link-m":"kqqRSaZcF21csXAjfgdj","link-s":"fU3p6q80j_Ol_BSp9hII","link-xs":"gFBuFFWJf0LTgd7r1cQp"};const __WEBPACK_DEFAULT_EXPORT__=___CSS_LOADER_EXPORT___},"./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./src/templates/policy_compliance/AgeGatedStudentsModal/age-gated-students-modal.module.scss":(module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{A:()=>__WEBPACK_DEFAULT_EXPORT__});var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/css-loader/dist/runtime/sourceMaps.js"),_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js"),___CSS_LOADER_EXPORT___=__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__)()(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default());___CSS_LOADER_EXPORT___.push([module.id,".hsmMUofUJi42eFdHdlIo{padding:20px}.hsmMUofUJi42eFdHdlIo hr{border-color:#c6cacd}.U3PuIsdjgDJaV9hYxdMs{color:#000;font-weight:600}.Nk6JIMRltBoe4W7mlIKx{text-align:end}.Nk6JIMRltBoe4W7mlIKx button{background-color:#8c52ba;border-color:#8c52ba;color:#fff}","",{version:3,sources:["webpack://./src/templates/policy_compliance/AgeGatedStudentsModal/age-gated-students-modal.module.scss","webpack://./../shared/css/color.scss"],names:[],mappings:"AAGA,sBACE,YAAA,CAEA,yBACE,oBCQW,CDJf,sBACE,UCNM,CDON,eAAA,CAGF,sBACE,cAAA,CAEA,6BACE,wBCkIsB,CDjItB,oBCiIsB,CDhItB,UCmJY",sourcesContent:["@use 'sass:math';\n@import 'color.scss';\n\n.modalContainer {\n padding: 20px;\n\n hr {\n border-color: $lighter_gray;\n }\n}\n\n.modalHeader {\n color: $black;\n font-weight: 600;\n}\n\n.modalButton {\n text-align: end;\n\n button {\n background-color: $brand_secondary_default;\n border-color: $brand_secondary_default;\n color: $neutral_white;\n }\n}\n","// colors from https://www.dropbox.com/s/ycjiwt8vxlmv2ih/Code.org_stylesheet_v2_09.05.13.pdf\n\n// Please keep this file simple; it should only contain color definitions\n// and aliases. Variables defined in this file are exported to\n// apps/src/util/color.js during the apps build process.\n\n$black: #000;\n$background_black: #121416;\n$dark_gray: #2D3139;\n$darkest_gray: #292F36;\n$dark_slate_gray: #282c34;\n$darkest_slate_gray: #25292d;\n$dark_charcoal: #4d575f;\n$charcoal: #5b6770;\n$light_gray: #949ca2;\n$lighter_gray: #c6cacd;\n$lightest_gray: #e7e8ea;\n$background_gray: #f2f2f2;\n$dimgray: #696969;\n$white: #fff;\n$default_blue: #3670b3;\n\n$dark_teal: #0094a3;\n$teal: #0093a4;\n$applab_button_teal: #1abc9c;\n$light_teal: #59cad3;\n$lightish_teal: #80d6de;\n$lighter_teal: #a6e3e8;\n$lightest_teal: #d9f3f5;\n$ai_rubric_cyan: #3cfff8;\n\n$purple: #8c52ba;\n$light_purple: #a69bc1;\n$lighter_purple: #cfc9de;\n$lightest_purple: #ebe8f1;\n\n$cyan: #0094ca;\n$light_cyan: #59b9dc;\n$lighter_cyan: #a6daed;\n$lightest_cyan: #d9eff7;\n$almost_white_cyan: #f5fcff;\n\n$orange: #ffa400;\n$light_orange: #ffc459;\n$lighter_orange: #ffe0a6;\n$lightest_orange: #fff2d9;\n$dark_orange: #ff8600;\n\n$green: #b9bf15;\n$light_green: #d1d567;\n$lighter_green: #e7e9ad;\n$lightest_green: #f5f5dc;\n$highlight_green: #8afc9b;\n\n$yellow: #ffb81d;\n$light_yellow: #ffdb74;\n$lighter_yellow: #ffebb5;\n$lightest_yellow: #fff7df;\n\n$goldenrod: #daa520;\n\n$header_text: $white;\n$bkgnd_color: $teal;\n$inset_color: $lighter_gray;\n$dark_color: $purple;\n$hdr_color: $purple;\n\n// Some extra colors.\n$red: #c00;\n$lightest_red: #fcc;\n$dark_red: #d62911;\n$realgreen: #008000;\n$realyellow: #ff0;\n$mustardyellow: #efcd1c;\n$twitter_blue: #00aced;\n$facebook_blue: #3b5998;\n$linkedin_blue: #0077B5;\n$dark_blue: #00647f;\n$blockly_flyout_gray: #ddd;\n$default_text: #333;\n$border_gray: #bbb;\n$border_light_gray: #d8d8d8;\n$table_header: #ececec;\n$table_light_row: #fcfcfc;\n$table_dark_row: #f4f4f4;\n\n// Progress colors.\n$level_submitted: $purple;\n$level_perfect: rgb(14, 190, 14);\n$level_passed: rgb(159, 212, 159);\n$level_attempted: $realyellow;\n$level_not_tried: #fefefe;\n$level_current: $orange;\n$level_review_rejected: $red;\n$level_review_accepted: rgb(11, 142, 11); // TODO: $level_passed;\n$assessment: $cyan;\n$workspace_running_background: #e5e5e5;\n\n// Experimental Sprite Lab validation colors.\n$dark_purple: #682A77;\n$bright_green: #0ebe0e;\n$neon_pink: #e9118f;\n\n// Links (used in apps).\n$link_color: #0596ce;\n\n// Shadow.\n$shadow: rgba(0, 0, 0, 0.3);\n\n// Colors that are taken from bootstrap, and not necessarily part of our core theme.\n$bootstrap_button_blue: #337ab7;\n$bootstrap_button_red: #d9534f;\n$bootstrap_error_background: #f2dede;\n$bootstrap_error_text: #b94a48;\n$bootstrap_v3_error_text: #a94442;\n$bootstrap_error_border: #ebccd1;\n$bootstrap_warning_background: #fcf8e3;\n$bootstrap_warning_text: #c09853;\n$bootstrap_warning_border: #faebcc;\n$bootstrap_border_color: #cccccc;\n$bootstrap_success_background: #dff0d8;\n$bootstrap_success_text: #468847;\n$bootstrap_success_border: #d6e9c6;\n\n// Colors taken from droplet, not part of our core theme.\n$droplet_light_green: #d3e965;\n$droplet_blue: #64b5f6;\n$droplet_bright_blue: #19c3e1;\n$droplet_yellow: #fff176;\n$droplet_orange: #ffb74d;\n$droplet_red: #f78183;\n$droplet_cyan: #4dd0e1;\n$droplet_pink: #f57ac6;\n$droplet_purple: #bb77c7;\n$droplet_green: #68d995;\n$droplet_white: $white;\n\n// Oceans: deep blue background.\n$oceans_deep_blue: rgb(2, 0, 28);\n\n// Dark theme background (used by default in Music Lab)\n$dark_black: #121212;\n\n// ===----===----===---- Phase 1 Colors: ----===----===----===\n// Brand\n$brand_primary_light: #E0F8F9;\n$brand_primary_default: #009EB0;\n$brand_primary_dark: #007785;\n\n$brand_secondary_light: #E0D1EC;\n$brand_secondary_default: #8C52BA;\n$brand_secondary_dark: #6C468A;\n\n$brand_accent_default: #ED6060;\n\n$brand_teal_5: #DFF2F4;\n\n//Product\n$product_affirmative_default: #3EA33E;\n\n$product_negative_light: #FDEBE9;\n$product_negative_default: #E5311A;\n$product_negative_dark: #AA2513;\n\n$product_caution_default: #F9CB28;\n\n$product_information_default: #007ACC;\n\n// Neutral\n$neutral_white: #FFFFFF;\n$neutral_light: #F7F8FA;\n$neutral_gray10: #EAEBEB;\n$neutral_dark10: #EAECEF;\n$neutral_dark20: #D1D4D8;\n$neutral_dark30: #BEC2C7;\n$neutral_dark40: #ABB0B6;\n$neutral_dark50: #989EA5;\n$neutral_dark60: #858C94;\n$neutral_dark70: #727A83;\n$neutral_dark80: #5F6872;\n$neutral_dark90: #4C5661;\n$neutral_dark: #292F36;\n\n//Brands\n$google_brand_color: #0F9D58;\n$microsoft_brand_color: #FFB900;\n$facebook_brand_color: #3B5998;\n$clever_brand_color: #1464FF;\n\n// ===----===----===---- Design system colors: ----===----===----===\n\n$light_primary_100: #BFE4E8;\n$light_primary_500: #0093A4;\n$light_primary_700: #007785;\n\n$light_secondary_100: #E2D4EE;\n$light_secondary_500: #8C52BA;\n$light_secondary_700: #6C468A;\n\n$light_gray_50: #F7F8FA;\n$light_gray_100: #EAECEF;\n$light_gray_200: #D1D4D8;\n$light_gray_300: #BEC2C7;\n$light_gray_400: #ABB0B6;\n$light_gray_500: #989EA5;\n$light_gray_600: #858C94;\n$light_gray_700: #727A83;\n$light_gray_800: #5F6872;\n$light_gray_900: #4C5661;\n$light_gray_950: #394450;\n\n$light_affirmative_100: #E2F1E2;\n$light_affirmative_500: #3EA33E;\n$light_affirmative_700: #2D742D;\n\n$light_negative_100: #FBE0DD;\n$light_negative_500: #E5311A;\n$light_negative_700: #B24949;\n\n$light_caution_100: #FEF7DF;\n$light_caution_500: #F9CB28;\n$light_caution_700: #C7A220;\n\n$light_accent_100: #FAD7D7;\n$light_accent_500: #ED6060;\n$light_accent_700: #D84C4C;\n\n$light_aqua_100: #CEFFFD;\n$light_aqua_500: #3CFFF8;\n$light_aqua_700: #30CCC6;\n\n$light_orange_100: #FFEDCC;\n$light_orange_500: #FFA400;\n$light_orange_700: #CC8300;\n\n$light_info_100: #DCEFFB;\n$light_info_500: #1892E3;\n$light_info_700: #1375B6;\n\n$light_white: #FFFFFF;\n\n$light_black: #292F36;\n\n$light_black_opacity_90: rgba(41, 47, 54, 0.90);\n$light_black_opacity-80: rgba(41, 47, 54, 0.80);\n$light_black_opacity-70: rgba(41, 47, 54, 0.70);\n$light_black_opacity-60: rgba(41, 47, 54, 0.60);\n$light_black_opacity-50: rgba(41, 47, 54, 0.50);\n$light_black_opacity-40: rgba(41, 47, 54, 0.40);\n$light_black_opacity-30: rgba(41, 47, 54, 0.30);\n$light_black_opacity-20: rgba(41, 47, 54, 0.20);\n$light_black_opacity-10: rgba(41, 47, 54, 0.10);\n"],sourceRoot:""}]),___CSS_LOADER_EXPORT___.locals={modalContainer:"hsmMUofUJi42eFdHdlIo",modalHeader:"U3PuIsdjgDJaV9hYxdMs",modalButton:"Nk6JIMRltBoe4W7mlIKx"};const __WEBPACK_DEFAULT_EXPORT__=___CSS_LOADER_EXPORT___},"./node_modules/css-loader/dist/runtime/api.js":module=>{"use strict";module.exports=function(cssWithMappingToString){var list=[];return list.toString=function toString(){return this.map((function(item){var content="",needLayer=void 0!==item[5];return item[4]&&(content+="@supports (".concat(item[4],") {")),item[2]&&(content+="@media ".concat(item[2]," {")),needLayer&&(content+="@layer".concat(item[5].length>0?" ".concat(item[5]):""," {")),content+=cssWithMappingToString(item),needLayer&&(content+="}"),item[2]&&(content+="}"),item[4]&&(content+="}"),content})).join("")},list.i=function i(modules,media,dedupe,supports,layer){"string"==typeof modules&&(modules=[[null,modules,void 0]]);var alreadyImportedModules={};if(dedupe)for(var k=0;k0?" ".concat(item[5]):""," {").concat(item[1],"}")),item[5]=layer),media&&(item[2]?(item[1]="@media ".concat(item[2]," {").concat(item[1],"}"),item[2]=media):item[2]=media),supports&&(item[4]?(item[1]="@supports (".concat(item[4],") {").concat(item[1],"}"),item[4]=supports):item[4]="".concat(supports)),list.push(item))}},list}},"./node_modules/css-loader/dist/runtime/getUrl.js":module=>{"use strict";module.exports=function(url,options){return options||(options={}),url?(url=String(url.__esModule?url.default:url),/^['"].*['"]$/.test(url)&&(url=url.slice(1,-1)),options.hash&&(url+=options.hash),/["'() \t\n]|(%20)/.test(url)||options.needQuotes?'"'.concat(url.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):url):url}},"./node_modules/css-loader/dist/runtime/sourceMaps.js":module=>{"use strict";module.exports=function(item){var content=item[1],cssMapping=item[3];if(!cssMapping)return content;if("function"==typeof btoa){var base64=btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping)))),data="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64),sourceMapping="/*# ".concat(data," */"),sourceURLs=cssMapping.sources.map((function(source){return"/*# sourceURL=".concat(cssMapping.sourceRoot||"").concat(source," */")}));return[content].concat(sourceURLs).concat([sourceMapping]).join("\n")}return[content].join("\n")}},"./src/componentLibrary/link/link.module.scss":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/style-loader/dist/runtime/styleDomAPI.js"),_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__),_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/style-loader/dist/runtime/insertBySelector.js"),_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__),_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"),_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__),_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/style-loader/dist/runtime/insertStyleElement.js"),_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__),_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/style-loader/dist/runtime/styleTagTransform.js"),_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__),_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_link_module_scss__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./src/componentLibrary/link/link.module.scss"),options={};options.styleTagTransform=_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default(),options.setAttributes=_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default(),options.insert=_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null,"head"),options.domAPI=_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default(),options.insertStyleElement=_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default();_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_link_module_scss__WEBPACK_IMPORTED_MODULE_6__.A,options);const __WEBPACK_DEFAULT_EXPORT__=_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_link_module_scss__WEBPACK_IMPORTED_MODULE_6__.A&&_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_link_module_scss__WEBPACK_IMPORTED_MODULE_6__.A.locals?_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_link_module_scss__WEBPACK_IMPORTED_MODULE_6__.A.locals:void 0},"./src/templates/policy_compliance/AgeGatedStudentsModal/age-gated-students-modal.module.scss":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/style-loader/dist/runtime/styleDomAPI.js"),_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__),_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/style-loader/dist/runtime/insertBySelector.js"),_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__),_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"),_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__),_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/style-loader/dist/runtime/insertStyleElement.js"),_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__),_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/style-loader/dist/runtime/styleTagTransform.js"),_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__),_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_age_gated_students_modal_module_scss__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./src/templates/policy_compliance/AgeGatedStudentsModal/age-gated-students-modal.module.scss"),options={};options.styleTagTransform=_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default(),options.setAttributes=_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default(),options.insert=_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null,"head"),options.domAPI=_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default(),options.insertStyleElement=_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default();_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_age_gated_students_modal_module_scss__WEBPACK_IMPORTED_MODULE_6__.A,options);const __WEBPACK_DEFAULT_EXPORT__=_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_age_gated_students_modal_module_scss__WEBPACK_IMPORTED_MODULE_6__.A&&_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_age_gated_students_modal_module_scss__WEBPACK_IMPORTED_MODULE_6__.A.locals?_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_age_gated_students_modal_module_scss__WEBPACK_IMPORTED_MODULE_6__.A.locals:void 0},"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":module=>{"use strict";var stylesInDOM=[];function getIndexByIdentifier(identifier){for(var result=-1,i=0;i{"use strict";var memo={};module.exports=function insertBySelector(insert,style){var target=function getTarget(target){if(void 0===memo[target]){var styleTarget=document.querySelector(target);if(window.HTMLIFrameElement&&styleTarget instanceof window.HTMLIFrameElement)try{styleTarget=styleTarget.contentDocument.head}catch(e){styleTarget=null}memo[target]=styleTarget}return memo[target]}(insert);if(!target)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");target.appendChild(style)}},"./node_modules/style-loader/dist/runtime/insertStyleElement.js":module=>{"use strict";module.exports=function insertStyleElement(options){var element=document.createElement("style");return options.setAttributes(element,options.attributes),options.insert(element,options.options),element}},"./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";module.exports=function setAttributesWithoutAttributes(styleElement){var nonce=__webpack_require__.nc;nonce&&styleElement.setAttribute("nonce",nonce)}},"./node_modules/style-loader/dist/runtime/styleDomAPI.js":module=>{"use strict";module.exports=function domAPI(options){var styleElement=options.insertStyleElement(options);return{update:function update(obj){!function apply(styleElement,options,obj){var css="";obj.supports&&(css+="@supports (".concat(obj.supports,") {")),obj.media&&(css+="@media ".concat(obj.media," {"));var needLayer=void 0!==obj.layer;needLayer&&(css+="@layer".concat(obj.layer.length>0?" ".concat(obj.layer):""," {")),css+=obj.css,needLayer&&(css+="}"),obj.media&&(css+="}"),obj.supports&&(css+="}");var sourceMap=obj.sourceMap;sourceMap&&"undefined"!=typeof btoa&&(css+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))))," */")),options.styleTagTransform(css,styleElement,options.options)}(styleElement,options,obj)},remove:function remove(){!function removeStyleElement(styleElement){if(null===styleElement.parentNode)return!1;styleElement.parentNode.removeChild(styleElement)}(styleElement)}}}},"./node_modules/style-loader/dist/runtime/styleTagTransform.js":module=>{"use strict";module.exports=function styleTagTransform(css,styleElement){if(styleElement.styleSheet)styleElement.styleSheet.cssText=css;else{for(;styleElement.firstChild;)styleElement.removeChild(styleElement.firstChild);styleElement.appendChild(document.createTextNode(css))}}},"./src/componentLibrary/link/Link.tsx":function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i HTML tag (with DSCO styles applied).\nCan be opened in new tab, have custom onClick, also can be disabled.",displayName:"Link",props:{id:{defaultValue:null,description:"Link id",name:"id",required:!1,type:{name:"string"}},className:{defaultValue:null,description:"Custom class name",name:"className",required:!1,type:{name:"string"}},external:{defaultValue:null,description:"Does the link go to an external source?",name:"external",required:!1,type:{name:"boolean"}},openInNewTab:{defaultValue:null,description:"Should the link open in a new tab?",name:"openInNewTab",required:!1,type:{name:"boolean"}},href:{defaultValue:{value:"#"},description:"Link destination",name:"href",required:!1,type:{name:"string"}},disabled:{defaultValue:null,description:"Is the link disabled?",name:"disabled",required:!1,type:{name:"boolean"}},onClick:{defaultValue:null,description:"Callback for click event",name:"onClick",required:!1,type:{name:"((event: MouseEvent) => void)"}},size:{defaultValue:{value:"m"},description:"Size of link",name:"size",required:!1,type:{name:"enum",value:[{value:'"s"'},{value:'"xs"'},{value:'"m"'},{value:'"l"'}]}},type:{defaultValue:{value:"primary"},description:"Type of link",name:"type",required:!1,type:{name:"enum",value:[{value:'"primary"'},{value:'"secondary"'}]}},role:{defaultValue:null,description:"Role of link",name:"role",required:!1,type:{name:"string"}},text:{defaultValue:null,description:"Link text content",name:"text",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/componentLibrary/link/Link.tsx#Link"]={docgenInfo:Link.__docgenInfo,name:"Link",path:"src/componentLibrary/link/Link.tsx#Link"})}catch(__react_docgen_typescript_loader_error){}},"./src/componentLibrary/link/index.ts":function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var Link_1=__webpack_require__("./src/componentLibrary/link/Link.tsx");Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return __importDefault(Link_1).default}})},"./src/componentLibrary/typography/TypographyElements.tsx":function(__unused_webpack_module,exports,__webpack_require__){"use strict";var _a,__assign=this&&this.__assign||function(){return __assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i void"}},isOpen:{defaultValue:null,description:"",name:"isOpen",required:!0,type:{name:"boolean"}},ageGatedStudentsCount:{defaultValue:{value:"0"},description:"",name:"ageGatedStudentsCount",required:!1,type:{name:"number"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/templates/policy_compliance/AgeGatedStudentsModal/AgeGatedStudentsModal.tsx#AgeGatedStudentsModal"]={docgenInfo:AgeGatedStudentsModal.__docgenInfo,name:"AgeGatedStudentsModal",path:"src/templates/policy_compliance/AgeGatedStudentsModal/AgeGatedStudentsModal.tsx#AgeGatedStudentsModal"})}catch(__react_docgen_typescript_loader_error){}}}]); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTI1MC44YzVhYWQyYS5pZnJhbWUuYnVuZGxlLmpzIiwibWFwcGluZ3MiOiI7dVBBSUEsSUFBQUEsV0FBQUMsdUJBQUFDLG9CQUFBLHVDQUNBQyxPQUFBRix1QkFBQUMsb0JBQUEsa0NBRUFFLGFBQUFILHVCQUFBQyxvQkFBQSxpREFDQUcsUUFBQUosdUJBQUFDLG9CQUFBLHVDQUErQixTQUFBRCx1QkFBQUssR0FBQSxPQUFBQSxHQUFBQSxFQUFBQyxXQUFBRCxFQUFBLFNBQUFBLEVBQUEsVUFBQUUsUUFBQUMsR0FBQSxPQUFBRCxRQUFBLG1CQUFBRSxRQUFBLGlCQUFBQSxPQUFBQyxTQUFBLFNBQUFGLEdBQUEsY0FBQUEsQ0FBQSxXQUFBQSxHQUFBLE9BQUFBLEdBQUEsbUJBQUFDLFFBQUFELEVBQUFHLGNBQUFGLFFBQUFELElBQUFDLE9BQUFHLFVBQUEsZ0JBQUFKLENBQUEsRUFBQUQsUUFBQUMsRUFBQSxVQUFBSyxnQkFBQUMsRUFBQVQsR0FBQSxPQUFBUSxnQkFBQUUsT0FBQUMsZUFBQUQsT0FBQUMsZUFBQUMsT0FBQSxTQUFBSCxFQUFBVCxHQUFBLE9BQUFTLEVBQUFJLFVBQUFiLEVBQUFTLENBQUEsRUFBQUQsZ0JBQUFDLEVBQUFULEVBQUEsV0FBQWMsZ0JBQUFkLEVBQUFlLEVBQUFOLEdBQUEsT0FBQU0sRUFBQSxTQUFBQyxlQUFBUCxHQUFBLElBQUFRLEVBQUEsU0FBQUMsYUFBQVQsRUFBQU0sR0FBQSxhQUFBYixRQUFBTyxLQUFBQSxFQUFBLE9BQUFBLEVBQUEsSUFBQVQsRUFBQVMsRUFBQUwsT0FBQWUsYUFBQSxZQUFBbkIsRUFBQSxLQUFBaUIsRUFBQWpCLEVBQUFvQixLQUFBWCxFQUFBTSxHQUFBLHdCQUFBYixRQUFBZSxHQUFBLE9BQUFBLEVBQUEsVUFBQUksVUFBQSxrRUFBQU4sRUFBQU8sT0FBQUMsUUFBQWQsRUFBQSxDQUFBUyxDQUFBVCxFQUFBLDBCQUFBUCxRQUFBZSxHQUFBQSxFQUFBQSxFQUFBLEdBQUFELENBQUFELE1BQUFmLEVBQUFVLE9BQUFjLGVBQUF4QixFQUFBZSxFQUFBLENBQUFVLE1BQUFoQixFQUFBaUIsWUFBQSxFQUFBQyxjQUFBLEVBQUFDLFVBQUEsSUFBQTVCLEVBQUFlLEdBQUFOLEVBQUFULENBQUEsQ0FFcUJjLENBQXhCZSxRQUFBQSxRQUFBLFNBQUFDLGtCQUFBLFNBQUFDLFVBQUEsT0FBQUQsaUJBQUFFLE1BQUEsS0FBQUMsWUFBQSxLQWtCekIsT0FwQjRCLFNBQUFDLGVBQUF6QixFQUFBTixHQUFBTSxFQUFBRixVQUFBRyxPQUFBeUIsT0FBQWhDLEVBQUFJLFdBQUFFLEVBQUFGLFVBQUFELFlBQUFHLEVBQUFELGdCQUFBQyxFQUFBTixFQUFBLENBRUgrQixDQUFBSCxRQUFBRCxrQkFBQUMsUUFBQXhCLFVBTTFCNkIsT0FBQSxTQUFBQSxTQUNFLElBQUFDLFlBQXNCQyxLQUFLQyxNQUFwQkMsS0FBSUgsWUFBSkcsS0FBTUMsTUFBS0osWUFBTEksTUFDVEMsWUFDTyxVQUFURixLQUFtQixHQUFjLFdBQVRBLEtBQW9CLFFBQVUsUUFDeEQsT0FDRTNDLE9BQUEsUUFBQThDLGNBQUM3QyxhQUFBLFFBQVcsQ0FDVjJDLE1BQ0FHLEtBQUssVUFDTEMsVUFBUyxZQUFBQyxPQUFjSixhQUN2QkssTUFBT0MsUUFBQUEsUUFBS0MsV0FHbEIsRUFBQ2xCLE9BQUEsQ0FsQnlCLENBQVNtQixPQUFBQSxRQUFNQyxXQUFmLFlBQ1AsQ0FDakJYLEtBQU1ZLFdBQUFBLFFBQVVDLE1BQU0sQ0FBQyxRQUFTLFNBQVUsVUFDMUNaLE1BQU9XLFdBQUFBLFFBQVVFLFNBQ2xCQyxPQUFBMUIsUUFBQUEsUUFBQTJCLDRLQ2RILElBQUE5RCxXQUFBQyx1QkFBQUMsb0JBQUEsdUNBQ0FDLE9BQUFGLHVCQUFBQyxvQkFBQSxrQ0FFQTZELFFBQUE5RCx1QkFBQUMsb0JBQUEsNENBQ0FHLFFBQUFKLHVCQUFBQyxvQkFBQSx1Q0FFQThELFdBQUE5RCxvQkFBQSxzQkFDQStELE9BQUFoRSx1QkFBQUMsb0JBQUEsd0JBQWtDLFNBQUFELHVCQUFBSyxHQUFBLE9BQUFBLEdBQUFBLEVBQUFDLFdBQUFELEVBQUEsU0FBQUEsRUFBQSxVQUFBRSxRQUFBQyxHQUFBLE9BQUFELFFBQUEsbUJBQUFFLFFBQUEsaUJBQUFBLE9BQUFDLFNBQUEsU0FBQUYsR0FBQSxjQUFBQSxDQUFBLFdBQUFBLEdBQUEsT0FBQUEsR0FBQSxtQkFBQUMsUUFBQUQsRUFBQUcsY0FBQUYsUUFBQUQsSUFBQUMsT0FBQUcsVUFBQSxnQkFBQUosQ0FBQSxFQUFBRCxRQUFBQyxFQUFBLFVBQUF5RCxRQUFBNUQsRUFBQWUsR0FBQSxJQUFBTixFQUFBQyxPQUFBbUQsS0FBQTdELEdBQUEsR0FBQVUsT0FBQW9ELHNCQUFBLEtBQUEzRCxFQUFBTyxPQUFBb0Qsc0JBQUE5RCxHQUFBZSxJQUFBWixFQUFBQSxFQUFBNEQsUUFBQSxTQUFBaEQsR0FBQSxPQUFBTCxPQUFBc0QseUJBQUFoRSxFQUFBZSxHQUFBVyxVQUFBLEtBQUFqQixFQUFBd0QsS0FBQWpDLE1BQUF2QixFQUFBTixFQUFBLFFBQUFNLENBQUEsVUFBQXlELGNBQUFsRSxHQUFBLFFBQUFlLEVBQUEsRUFBQUEsRUFBQWtCLFVBQUFrQyxPQUFBcEQsSUFBQSxLQUFBTixFQUFBLE1BQUF3QixVQUFBbEIsR0FBQWtCLFVBQUFsQixHQUFBLEdBQUFBLEVBQUEsRUFBQTZDLFFBQUFsRCxPQUFBRCxJQUFBLEdBQUEyRCxTQUFBLFNBQUFyRCxHQUFBRCxnQkFBQWQsRUFBQWUsRUFBQU4sRUFBQU0sR0FBQSxJQUFBTCxPQUFBMkQsMEJBQUEzRCxPQUFBNEQsaUJBQUF0RSxFQUFBVSxPQUFBMkQsMEJBQUE1RCxJQUFBbUQsUUFBQWxELE9BQUFELElBQUEyRCxTQUFBLFNBQUFyRCxHQUFBTCxPQUFBYyxlQUFBeEIsRUFBQWUsRUFBQUwsT0FBQXNELHlCQUFBdkQsRUFBQU0sR0FBQSxXQUFBZixDQUFBLFVBQUFRLGdCQUFBQyxFQUFBVCxHQUFBLE9BQUFRLGdCQUFBRSxPQUFBQyxlQUFBRCxPQUFBQyxlQUFBQyxPQUFBLFNBQUFILEVBQUFULEdBQUEsT0FBQVMsRUFBQUksVUFBQWIsRUFBQVMsQ0FBQSxFQUFBRCxnQkFBQUMsRUFBQVQsRUFBQSxVQUFBYyxnQkFBQWQsRUFBQWUsRUFBQU4sR0FBQSxPQUFBTSxFQUFBLFNBQUFDLGVBQUFQLEdBQUEsSUFBQVEsRUFBQSxTQUFBQyxhQUFBVCxFQUFBTSxHQUFBLGFBQUFiLFFBQUFPLEtBQUFBLEVBQUEsT0FBQUEsRUFBQSxJQUFBVCxFQUFBUyxFQUFBTCxPQUFBZSxhQUFBLFlBQUFuQixFQUFBLEtBQUFpQixFQUFBakIsRUFBQW9CLEtBQUFYLEVBQUFNLEdBQUEsd0JBQUFiLFFBQUFlLEdBQUEsT0FBQUEsRUFBQSxVQUFBSSxVQUFBLGtFQUFBTixFQUFBTyxPQUFBQyxRQUFBZCxFQUFBLENBQUFTLENBQUFULEVBQUEsMEJBQUFQLFFBQUFlLEdBQUFBLEVBQUFBLEVBQUEsR0FBQUQsQ0FBQUQsTUFBQWYsRUFBQVUsT0FBQWMsZUFBQXhCLEVBQUFlLEVBQUEsQ0FBQVUsTUFBQWhCLEVBQUFpQixZQUFBLEVBQUFDLGNBQUEsRUFBQUMsVUFBQSxJQUFBNUIsRUFBQWUsR0FBQU4sRUFBQVQsQ0FBQSxDQUVsQyxJQVNxQnVFLFdBQVUxQyxRQUFBQSxRQUFBLFNBQUFDLGtCQUFBLFNBQUF5QyxhQUFBLFFBQUFDLE1BQUFDLEtBQUF4QyxVQUFBa0MsT0FBQU8sS0FBQSxJQUFBQyxNQUFBRixNQUFBRyxLQUFBLEVBQUFBLEtBQUFILEtBQUFHLE9BQUFGLEtBQUFFLE1BQUEzQyxVQUFBMkMsTUFnRDVCLE9BaEQ0QjlELGdCQUFBMEQsTUFBQTFDLGlCQUFBVixLQUFBWSxNQUFBRixpQkFBQSxPQUFBZ0IsT0FBQTRCLFFBQUEsc0JBa0NiLFNBQUFHLE9BQ0ksV0FBZEEsTUFBTUMsS0FDUk4sTUFBS08sY0FFUFAsTUFBS2pDLE1BQU15QyxlQUFpQlIsTUFBS2pDLE1BQU15QyxjQUFjSCxNQUN2RCxJQUFDL0QsZ0JBQUEwRCxNQUFBLGVBRWEsWUFDUEEsTUFBS2pDLE1BQU0wQyxhQUFlVCxNQUFLakMsTUFBTTJDLGNBQ3hDVixNQUFLakMsTUFBTTJDLGNBQ1BWLE1BQUtqQyxNQUFNNEMsYUFDYlgsTUFBS2pDLE1BQU00QyxZQUFZQyxlQUc3QixJQUFDWixLQUFBLEVBM0QrQixTQUFBdEMsZUFBQXpCLEVBQUFOLEdBQUFNLEVBQUFGLFVBQUFHLE9BQUF5QixPQUFBaEMsRUFBQUksV0FBQUUsRUFBQUYsVUFBQUQsWUFBQUcsRUFBQUQsZ0JBQUFDLEVBQUFOLEVBQUEsQ0EyRC9CK0IsQ0FBQXFDLFdBQUF6QyxrQkFBQSxJQUFBdUQsT0FBQWQsV0FBQWhFLFVBaUpBLE9BakpBOEUsT0F0QkRDLGtCQUFBLFNBQUFBLG9CQUNFaEQsS0FBS2lELGFBQ1AsRUFBQ0YsT0FFREcsbUJBQUEsU0FBQUEscUJBQ0VsRCxLQUFLaUQsYUFDUCxFQWtCQUYsT0FDQUksb0JBQUEsU0FBQUEsc0JBQ0UsTUFBTyxHQUFHQyxNQUFNdEUsS0FBS2tCLEtBQUtxRCxLQUFLQyxPQUFPQyxpQkFBaUIsa0JBQ3pELEVBQUNSLE9BRURFLFlBQUEsU0FBQUEsY0FHRSxJQUFNTyxtQkFDSkMsU0FBU0MsZUFDVDFELEtBQUtxRCxLQUFLQyxRQUNWdEQsS0FBS3FELEtBQUtDLE9BQU9LLFNBQVNGLFNBQVNDLGVBQ2pDMUQsS0FBS0MsTUFBTTJELFNBQVdKLG9CQUN4QnhELEtBQUtxRCxLQUFLQyxPQUFPTyxPQUVyQixFQUFDZCxPQUVEakQsT0FBQSxTQUFBQSxTQUNFLElBQUtFLEtBQUtDLE1BQU0yRCxTQUFXNUQsS0FBS0MsTUFBTTZELGFBQ3BDLE9BQU92RyxPQUFBLFFBQUE4QyxjQUFBLFlBR1QsSUFBSTBELFVBQVdDLGVBQWdCQyxZQUMzQmpFLEtBQUtDLE1BQU1pRSxZQUNiSCxVQUFTbkMsY0FBQUEsY0FBQSxHQUNKbUMsV0FBUyxJQUNaSSxNQUFPLE1BQ1BDLFdBQVksVUFHWnBFLEtBQUtDLE1BQU1vRSxhQUNiTixVQUFTbkMsY0FBQUEsY0FBQSxHQUNKbUMsV0FBUyxJQUNaTyxPQUFRLFFBRVZOLGVBQWNwQyxjQUFBQSxjQUFBLEdBQ1RvQyxnQkFBYyxJQUNqQk8sVUFBVyxnQkFJZixJQUFJQyxrQkFBb0IsR0FDcEJDLGdCQUFrQixRQUNsQkMsb0JBQXNCLGFBRXBCQyxVQUFZM0UsS0FBS0MsTUFBTTJFLFVBQVksU0FDbkNDLFVBQ0o3RSxLQUFLQyxNQUFNMkUsV0FDVjVFLEtBQUtDLE1BQU02RSxhQUFlOUUsS0FBS0MsTUFBTW9FLFdBQWEsU0FBVyxRQUU1RHJFLEtBQUtDLE1BQU04RSxrQkFDYlAsa0JBQW9CLG1CQUNwQkUsb0JBQXNCLEdBQ3RCVixlQUFpQixDQUNmZ0IsV0FBWSxPQUNaVixPQUFRdEUsS0FBS0MsTUFBTTZFLFlBQ25CRyxXQUFZakYsS0FBS0MsTUFBTTZFLGFBQWUsT0FDdENILFVBQ0FFLFVBQ0FLLGFBQWMsR0FFWmxGLEtBQUtDLE1BQU1rRixhQUNibkIsZUFBY3BDLGNBQUFBLGNBQUEsR0FDVG9DLGdCQUFjLElBQ2pCb0IsUUFBUyxPQUNUQyxjQUFlLFlBR25CdEIsVUFBU25DLGNBQUFBLGNBQUEsR0FDSm1DLFdBQVMsSUFDWkksTUFBT25FLEtBQUtDLE1BQU1xRixZQUFjQyxXQUFBQSxrQkFDaENuQixZQUFhcEUsS0FBS0MsTUFBTXFGLFdBQWEsSUFBTSxPQUVwQ3RGLEtBQUtDLE1BQU11RixnQkFDcEJmLGdCQUFrQixHQUNsQkMsb0JBQXNCLElBR3hCWCxVQUFTbkMsY0FBQUEsY0FBQUEsY0FBQSxHQUNKbUMsV0FDQy9ELEtBQUtDLE1BQU02RCxjQUFnQixDQUM3QjJCLFNBQVUsVUFDVnJCLFdBQVksSUFFWHBFLEtBQUtDLE1BQU1FLE9BRWhCOEQsWUFBYyxDQUNad0IsU0FBVSxXQUNWQyxJQUFLLEVBQ0xDLGVBQWdCLEVBQ2hCQyxRQUFTLEVBQ1RDLE1BQU9BLE9BQUFBLFFBQU1DLGVBQ2JDLE9BQVEsVUFDUkMsU0FBVSxHQUNWQyxPQUFRLFFBR1Z2QixvQkFBc0IsQ0FBQ0Esb0JBQXFCMUUsS0FBS0MsTUFBTWlHLGVBQ3BEekUsUUFBTyxTQUFBbEIsV0FBUyxRQUFNQSxTQUFTLElBQy9CNEYsS0FBSyxLQUVSLElBQUlDLEtBQ0Y3SSxPQUFBLFFBQUE4QyxjQUFBLE9BQ0VGLE1BQU80RCxVQUNQc0MsU0FBUyxLQUNUOUYsVUFBV2tFLGdCQUNYNkIsSUFBSSxTQUNKQyxVQUFXdkcsS0FBSzBDLGVBRWhCbkYsT0FBQSxRQUFBOEMsY0FBQSxPQUNFRixNQUFPNkQsZUFDUHdDLEdBQUl4RyxLQUFLQyxNQUFNd0csT0FDZmxHLFVBQVdtRSxzQkFFVDFFLEtBQUtDLE1BQU0wQyxjQUFnQjNDLEtBQUtDLE1BQU15RyxpQkFDdENuSixPQUFBLFFBQUE4QyxjQUFDYyxRQUFBLFFBQU0sQ0FDTHFGLEdBQUcsVUFDSEcsUUFBUzNHLEtBQUt5QyxZQUNkbkMsS0FBSyxvQkFDTEgsTUFBTzhELFlBQ1A0QixNQUFNLFFBQ04sYUFBWW5GLFFBQUFBLFFBQUsrQixnQkFHcEJ6QyxLQUFLQyxNQUFNMkcsV0FLbEIsT0FBSTVHLEtBQUtDLE1BQU02RCxhQUNOc0MsS0FJUDdJLE9BQUEsUUFBQThDLGNBQUEsT0FBS0UsVUFBV2lFLG1CQUNkakgsT0FBQSxRQUFBOEMsY0FBQSxPQUNFRSxVQTVGd0IsaUJBNkZ4QkosTUFBT0gsS0FBS0MsTUFBTTRHLGNBQ2xCRixRQUFTM0csS0FBS3lDLGNBRWYyRCxLQUdQLEVBQUNuRSxVQUFBLENBak00QixDQUFTckIsT0FBQUEsUUFBTUMsV0FBU3JDLGdCQUFsQ3lELFdBQVUsWUFDVixDQUNqQjJCLE9BQVE5QyxXQUFBQSxRQUFVZ0csS0FDbEJsRSxZQUFhOUIsV0FBQUEsUUFBVWlHLEtBQ3ZCcEUsWUFBYTdCLFdBQUFBLFFBQVVnRyxLQUN2QkosZ0JBQWlCNUYsV0FBQUEsUUFBVWdHLEtBQzNCcEUsY0FBZTVCLFdBQUFBLFFBQVVpRyxLQUV6QmpELGFBQWNoRCxXQUFBQSxRQUFVZ0csS0FDeEI1QyxVQUFXcEQsV0FBQUEsUUFBVWdHLEtBQ3JCekMsV0FBWXZELFdBQUFBLFFBQVVnRyxLQUN0Qi9CLGlCQUFrQmpFLFdBQUFBLFFBQVVnRyxLQUM1QnRCLGNBQWUxRSxXQUFBQSxRQUFVZ0csS0FDekJGLFNBQVU5RixXQUFBQSxRQUFVa0csS0FDcEIxQixXQUFZeEUsV0FBQUEsUUFBVW1HLE9BQ3RCbkMsWUFBYWhFLFdBQUFBLFFBQVVtRyxPQUN2QjlCLFdBQVlyRSxXQUFBQSxRQUFVZ0csS0FDdEJMLE9BQVEzRixXQUFBQSxRQUFVb0csT0FDbEJoQixjQUFlcEYsV0FBQUEsUUFBVW9HLE9BQ3pCL0csTUFBT1csV0FBQUEsUUFBVUUsT0FDakI2QixZQUFhL0IsV0FBQUEsUUFBVUUsT0FDdkI0RCxTQUFVOUQsV0FBQUEsUUFBVW9HLE9BRXBCTCxjQUFlL0YsV0FBQUEsUUFBVUUsU0FDMUJDLE9BQUExQixRQUFBQSxRQUFBMkIsME9DcUZZLFNBQVNpRyxjQUEwQyxJQUE5QkMsTUFBS3pILFVBQUFrQyxPQUFBLFFBQUF3RixJQUFBMUgsVUFBQSxHQUFBQSxVQUFBLEdBQUcySCxhQUFjQyxPQUFNNUgsVUFBQWtDLE9BQUEsRUFBQWxDLFVBQUEsUUFBQTBILEVBQzlELEdBQUlFLE9BQU9DLE9BQVNDLHNCQUNsQixPQUFBN0YsY0FBQUEsY0FBQSxHQUNLd0YsT0FBSyxJQUNSTSxTQUFVSCxPQUFPRyxXQUdyQixHQUFJSCxPQUFPQyxPQUFTRyw4QkFDbEIsT0FBQS9GLGNBQUFBLGNBQUEsR0FDS3dGLE9BQUssSUFDUlEsMkJBQTRCTCxPQUFPTSx5QkFHdkMsR0FBSU4sT0FBT0MsT0FBU00sbUJBQ2xCLE9BQUFsRyxjQUFBQSxjQUFBLEdBQ0t3RixPQUFLLElBQ1JXLFlBQWFSLE9BQU9TLFdBQ2hCQyxZQUFZQyxTQUNaRCxZQUFZRSxZQUdwQixHQUFJWixPQUFPQyxPQUFTWSxjQUNsQixPQUFBeEcsY0FBQUEsY0FBQSxHQUNLd0YsT0FBSyxJQUNSaUIsU0FBVWQsT0FBT2MsU0FDakJDLFFBQVNmLE9BQU9lLFVBR3BCLEdBQUlmLE9BQU9DLE9BQVNlLFlBQ2xCLE9BQUEzRyxjQUFBQSxjQUFBLEdBQ0t3RixPQUFLLElBQ1JvQixPQUFRakIsT0FBT2lCLFNBR25CLEdBQUlqQixPQUFPQyxPQUFTaUIsd0JBQ2xCLE9BQUE3RyxjQUFBQSxjQUFBLEdBQ0t3RixPQUFLLElBQ1JzQixpQkFBa0JuQixPQUFPbUIsbUJBRzdCLEdBQUluQixPQUFPQyxPQUFTbUIsZUFDbEIsT0FBQS9HLGNBQUFBLGNBQUEsR0FDS3dGLE9BQUssSUFDUndCLHVCQUF3QnJCLE9BQU9xQix5QkFHbkMsR0FBSXJCLE9BQU9DLE9BQVNxQix3QkFjbEIsT0FiSXRCLE9BQU91QixxQkFDVEMsbUJBQUFBLFFBQWdCQyxVQUFVQyxvQkFBQUEsT0FBT0Msb0JBQXFCLENBQ3BEQyxVQUFXNUIsT0FBTzRCLFVBQ2xCQyxTQUFVN0IsT0FBTzZCLFNBQ2pCQyxPQUFROUIsT0FBTzhCLFNBR2pCTixtQkFBQUEsUUFBZ0JDLFVBQVVDLG9CQUFBQSxPQUFPSyxxQkFBc0IsQ0FDckRILFVBQVc1QixPQUFPNEIsVUFDbEJDLFNBQVU3QixPQUFPNkIsU0FDakJDLE9BQVE5QixPQUFPOEIsU0FHbkJ6SCxjQUFBQSxjQUFBLEdBQ0t3RixPQUFLLElBQ1IwQixxQkFBc0J2QixPQUFPdUIsdUJBR2pDLEdBQUl2QixPQUFPQyxPQUFTK0IsMkJBQ2xCLE9BQUEzSCxjQUFBQSxjQUFBLEdBQ0t3RixPQUFLLElBQ1JvQyxvQkFBcUJqQyxPQUFPaUMsc0JBR2hDLEdBQUlqQyxPQUFPQyxPQUFTaUMsa0NBQ2xCLE9BQUE3SCxjQUFBQSxjQUFBLEdBQ0t3RixPQUFLLElBQ1JzQywwQkFBMkJuQyxPQUFPbUMsNEJBR3RDLEdBQUluQyxPQUFPQyxPQUFTbUMsZ0RBQ2xCLE9BQUEvSCxjQUFBQSxjQUFBLEdBQ0t3RixPQUFLLElBQ1J3QyxtQ0FDRXJDLE9BQU9xQyxxQ0FHYixHQUFJckMsT0FBT0MsT0FBU3FDLG1DQUNsQixPQUFBakksY0FBQUEsY0FBQSxHQUNLd0YsT0FBSyxJQUNSMEMsMkJBQTRCdkMsT0FBT3VDLDZCQUd2QyxHQUFJdkMsT0FBT0MsT0FBU3VDLHdCQUNsQixPQUFBbkksY0FBQUEsY0FBQSxHQUNLd0YsT0FBSyxJQUNSNEMsa0JBQW1CekMsT0FBT3lDLG9CQUc5QixHQUFJekMsT0FBT0MsT0FBU3lDLG9CQUNsQixPQUFBckksY0FBQUEsY0FBQSxHQUNLd0YsT0FBSyxJQUNSOEMsY0FBZTNDLE9BQU8yQyxnQkFJMUIsR0FBSTNDLE9BQU9DLE9BQVMyQyxpQkFBa0IsQ0FDcEMsSUFBQUMsbUJBc0JJN0MsT0FBTzhDLFdBckJUN0QsR0FBRTRELG1CQUFGNUQsR0FDQThELEtBQUlGLG1CQUFKRSxLQUNBQyxTQUFRSCxtQkFBUkcsU0FDQUMsVUFBU0osbUJBQVRJLFVBQ0FDLFdBQVVMLG1CQUFWSyxXQUNBQyxTQUFRTixtQkFBUk0sU0FDQUMsUUFBT1AsbUJBQVBPLFFBQ0FDLG9CQUFtQlIsbUJBQW5CUSxvQkFDQUMsdUJBQXNCVCxtQkFBdEJTLHVCQUNBQyxvQkFBbUJWLG1CQUFuQlUsb0JBQ0FDLDhCQUE2QlgsbUJBQTdCVyw4QkFDQUMsT0FBTVosbUJBQU5ZLE9BQ0FDLDRDQUEyQ2IsbUJBQTNDYSw0Q0FDQUMsc0NBQXFDZCxtQkFBckNjLHNDQUNBQywrQkFBOEJmLG1CQUE5QmUsK0JBQ0FDLGFBQVloQixtQkFBWmdCLGFBQ0FDLGNBQWFqQixtQkFBYmlCLGNBQ0FDLElBQUdsQixtQkFBSGtCLElBQ0FDLFdBQVVuQixtQkFBVm1CLFdBQ0FDLFdBQVVwQixtQkFBVm9CLFdBQ0FDLHVCQUFzQnJCLG1CQUF0QnFCLHVCQWVGLE9BYkExQyxtQkFBQUEsUUFBZ0IyQyxrQkFDZGxGLEdBQ0FnRSxVQUNBbUIsYUFBQUEsUUFBWUMseUJBSWRDLGlCQUFBQSxRQUFnQkgsa0JBQ2RsRixHQUNBZ0UsVUFDQWlCLHVCQUNBRSxhQUFBQSxRQUFZQyx5QkFFZGhLLGNBQUFBLGNBQUEsR0FDS3dGLE9BQUssSUFDUjBFLE9BQVF0RixHQUNSOEQsS0FDQTVDLFNBQVU2QyxTQUNWbEMsU0FBVW1DLFVBQ1Y1Qix1QkFBd0I2QixXQUN4Qm5DLFFBQVNvQyxTQUNUbEMsT0FBUW1DLFFBQ1I3QixxQkFBc0I4QixvQkFDdEJwQixvQkFBcUJxQix1QkFDckJiLGtCQUFtQmMsb0JBQ25CcEIsMEJBQTJCcUIsOEJBQzNCZ0IsTUFBT2YsT0FDUGdCLFVBQVd4QixZQUFjeUIsaUJBQUFBLFVBQVVDLFFBQ25DQyxNQUFPLENBQUMsS0FBTSxNQUFNQyxTQUFTaEIsaUJBQW1CQyxjQUNoRHpCLG1DQUNFcUIsNENBQ0ZuQiwyQkFBNEJvQixzQ0FDNUJtQiw0QkFBNkJsQiwrQkFDN0JtQixZQUFhbEIsYUFDYm1CLFlBQWFsQixjQUNiQyxJQUNBa0IsVUFBV2pCLFdBQ1hyQixjQUFlc0IsWUFFbkIsQ0FFQSxPQUFPcEUsS0FDVCx3ZEF4U0EsSUFBQXFGLG9CQUFBblAsb0JBQUEsdUNBQ0FvUCxtQkFBQXJQLHVCQUFBQyxvQkFBQSx1Q0FDQXFQLGlCQUFBdFAsdUJBQUFDLG9CQUFBLHFDQUNBc1AsYUFBQXZQLHVCQUFBQyxvQkFBQSw4QkFDQXVQLGlCQUFBdlAsb0JBQUEsMENBRUF3UCxPQUFBeFAsb0JBQUEsa0JBQWtDLFNBQUFELHVCQUFBSyxHQUFBLE9BQUFBLEdBQUFBLEVBQUFDLFdBQUFELEVBQUEsU0FBQUEsRUFBQSxVQUFBRSxRQUFBQyxHQUFBLE9BQUFELFFBQUEsbUJBQUFFLFFBQUEsaUJBQUFBLE9BQUFDLFNBQUEsU0FBQUYsR0FBQSxjQUFBQSxDQUFBLFdBQUFBLEdBQUEsT0FBQUEsR0FBQSxtQkFBQUMsUUFBQUQsRUFBQUcsY0FBQUYsUUFBQUQsSUFBQUMsT0FBQUcsVUFBQSxnQkFBQUosQ0FBQSxFQUFBRCxRQUFBQyxFQUFBLFVBQUF5RCxRQUFBNUQsRUFBQWUsR0FBQSxJQUFBTixFQUFBQyxPQUFBbUQsS0FBQTdELEdBQUEsR0FBQVUsT0FBQW9ELHNCQUFBLEtBQUEzRCxFQUFBTyxPQUFBb0Qsc0JBQUE5RCxHQUFBZSxJQUFBWixFQUFBQSxFQUFBNEQsUUFBQSxTQUFBaEQsR0FBQSxPQUFBTCxPQUFBc0QseUJBQUFoRSxFQUFBZSxHQUFBVyxVQUFBLEtBQUFqQixFQUFBd0QsS0FBQWpDLE1BQUF2QixFQUFBTixFQUFBLFFBQUFNLENBQUEsVUFBQXlELGNBQUFsRSxHQUFBLFFBQUFlLEVBQUEsRUFBQUEsRUFBQWtCLFVBQUFrQyxPQUFBcEQsSUFBQSxLQUFBTixFQUFBLE1BQUF3QixVQUFBbEIsR0FBQWtCLFVBQUFsQixHQUFBLEdBQUFBLEVBQUEsRUFBQTZDLFFBQUFsRCxPQUFBRCxJQUFBLEdBQUEyRCxTQUFBLFNBQUFyRCxHQUFBRCxnQkFBQWQsRUFBQWUsRUFBQU4sRUFBQU0sR0FBQSxJQUFBTCxPQUFBMkQsMEJBQUEzRCxPQUFBNEQsaUJBQUF0RSxFQUFBVSxPQUFBMkQsMEJBQUE1RCxJQUFBbUQsUUFBQWxELE9BQUFELElBQUEyRCxTQUFBLFNBQUFyRCxHQUFBTCxPQUFBYyxlQUFBeEIsRUFBQWUsRUFBQUwsT0FBQXNELHlCQUFBdkQsRUFBQU0sR0FBQSxXQUFBZixDQUFBLFVBQUFjLGdCQUFBZCxFQUFBZSxFQUFBTixHQUFBLE9BQUFNLEVBQUEsU0FBQUMsZUFBQVAsR0FBQSxJQUFBUSxFQUFBLFNBQUFDLGFBQUFULEVBQUFNLEdBQUEsYUFBQWIsUUFBQU8sS0FBQUEsRUFBQSxPQUFBQSxFQUFBLElBQUFULEVBQUFTLEVBQUFMLE9BQUFlLGFBQUEsWUFBQW5CLEVBQUEsS0FBQWlCLEVBQUFqQixFQUFBb0IsS0FBQVgsRUFBQU0sR0FBQSx3QkFBQWIsUUFBQWUsR0FBQSxPQUFBQSxFQUFBLFVBQUFJLFVBQUEsa0VBQUFOLEVBQUFPLE9BQUFDLFFBQUFkLEVBQUEsQ0FBQVMsQ0FBQVQsRUFBQSwwQkFBQVAsUUFBQWUsR0FBQUEsRUFBQUEsRUFBQSxHQUFBRCxDQUFBRCxNQUFBZixFQUFBVSxPQUFBYyxlQUFBeEIsRUFBQWUsRUFBQSxDQUFBVSxNQUFBaEIsRUFBQWlCLFlBQUEsRUFBQUMsY0FBQSxFQUFBQyxVQUFBLElBQUE1QixFQUFBZSxHQUFBTixFQUFBVCxDQUFBLENBRWxDLElBQU0rSixzQkFBd0Isb0NBQ3hCSyxtQkFBcUIsaUNBQ3JCTSxjQUFnQiw0QkFDaEJHLFlBQWMsMEJBQ2RFLHdCQUEwQixzQ0FDMUJkLDhCQUNKLDRDQUNJd0MsaUJBQW1CLCtCQUNuQnhCLGVBQWlCLDZCQUNqQkUsd0JBQTBCLHNDQUMxQlUsMkJBQTZCLHlDQUM3QlEsd0JBQTBCLHNDQUMxQk4sa0NBQ0osZ0RBQ0lFLGdEQUNKLDhEQUNJRSxtQ0FDSixpREFDSUksb0JBQXNCLGtDQUVmaEMsWUFBVzFJLFFBQUFBLGFBQUcsRUFBQXdOLE9BQUFBLFVBQVMsVUFBVyxXQUFZLGFBRTlDQyxZQUFXek4sUUFBQUEsYUFBRyxFQUFBd04sT0FBQUEsVUFBUyxVQUFXLGFBQWMsZUEyRXZEekYsY0F4RXlCL0gsUUFBQUEsbUJBQUcsU0FBckIwTixtQkFBcUJ2RixVQUFRLE1BQUssQ0FDN0NGLEtBQU1DLHNCQUNOQyxTQUNELEVBQ29EbkksUUFBQUEseUNBQ25ELFNBRFcyTix5Q0FDWHJGLHdCQUFzQixNQUFLLENBQ3pCTCxLQUFNRyw4QkFDTkUsdUJBQ0QsRUFDeUJ0SSxRQUFBQSxnQkFBRyxTQUFsQjROLGdCQUFrQm5GLFlBQVUsTUFBSyxDQUM1Q1IsS0FBTU0sbUJBQ05FLFdBQ0QsRUFDdUJ6SSxRQUFBQSxZQUFHLFNBQWQ2TixZQUFlL0UsU0FBVUMsU0FBTyxNQUFNLENBQ2pEZCxLQUFNWSxjQUNOQyxTQUNBQyxRQUNELEVBQ3FCL0ksUUFBQUEsVUFBRyxTQUFaOE4sVUFBWTdFLFFBQU0sTUFBSyxDQUNsQ2hCLEtBQU1lLFlBQ05DLE9BQ0QsRUFDK0JqSixRQUFBQSxvQkFBRyxTQUF0QitOLG9CQUFzQjVFLGtCQUFnQixNQUFLLENBQ3REbEIsS0FBTWlCLHdCQUNOQyxpQkFDRCxFQUMwQm5KLFFBQUFBLGVBQUcsU0FBakJnTyxlQUFpQmxELFlBQVUsTUFBSyxDQUMzQzdDLEtBQU0yQyxpQkFDTkUsV0FDRCxFQUN3QjlLLFFBQUFBLGFBQUcsU0FBZmlPLGFBQWU1RSx3QkFBc0IsTUFBSyxDQUNyRHBCLEtBQU1tQixlQUNOQyx1QkFDRCxFQUMrQnJKLFFBQUFBLG9CQUFHLFNBQXRCa08sb0JBQ1gzRSxxQkFDQUssVUFDQUMsU0FDQUMsUUFBTSxNQUNGLENBQ0o3QixLQUFNcUIsd0JBQ05DLHFCQUNBSyxVQUNBQyxTQUNBQyxPQUNELEVBQ2tDOUosUUFBQUEsdUJBQUcsU0FBekJtTyx1QkFBeUJsRSxxQkFBbUIsTUFBSyxDQUM1RGhDLEtBQU0rQiwyQkFDTkMsb0JBQ0QsRUFDd0NqSyxRQUFBQSw2QkFBRyxTQUEvQm9PLDZCQUErQmpFLDJCQUF5QixNQUFLLENBQ3hFbEMsS0FBTWlDLGtDQUNOQywwQkFDRCxFQUN5Q25LLFFBQUFBLDhCQUFHLFNBQWhDcU8sOEJBQWdDOUQsNEJBQTBCLE1BQUssQ0FDMUV0QyxLQUFNcUMsbUNBQ05DLDJCQUNELEVBQ2lEdkssUUFBQUEsc0NBQ2hELFNBRFdzTyxzQ0FDWGpFLG9DQUFrQyxNQUFLLENBQ3JDcEMsS0FBTW1DLGdEQUNOQyxtQ0FDRCxFQUM4QnJLLFFBQUFBLHFCQUFHLFNBQXZCdU8scUJBQXVCOUQsbUJBQWlCLE1BQUssQ0FDeER4QyxLQUFNdUMsd0JBQ05DLGtCQUNELEVBQzRCekssUUFBQUEsaUJBQUcsU0FBbkJ3TyxpQkFBbUI3RCxlQUFhLE1BQUssQ0FDaEQxQyxLQUFNeUMsb0JBQ05DLGNBQ0QsRUFFb0IsQ0FDbkI0QixPQUFRLEtBQ1J4QixLQUFNLEtBQ041QyxTQUFVLEtBQ1ZXLFNBQVUsVUFDVkssaUJBQWtCc0UsWUFBWWdCLFFBQzlCakcsWUFBYUUsWUFBWStGLFFBQ3pCcEcsNEJBQTRCLEVBQzVCZ0Isd0JBQXdCLEVBQ3hCRSxzQkFBc0IsRUFDdEJpRCxXQUFPMUUsRUFDUDJFLGVBQVczRSxFQUVYaUIsU0FBUyxFQUNURSxRQUFRLEVBQ1I2RCw0QkFBNkIsS0FDN0JDLFlBQWEsS0FDYkMsWUFBYSxLQUNiQyxVQUFXLEtBQ1h0QyxjQUFlLE9BOEtNM0ssUUFBQUEsV0FBRyxTQUFieUksV0FBYWlHLGtCQUN4QixPQUFPQSxpQkFBaUJsRyxjQUFnQkUsWUFBWUMsUUFDdEQsMkRDNVNBLG1DQU9DLFdBQ0EsYUFFQSxJQUFJZ0csT0FBUyxDQUFDLEVBQUVDLGVBR2hCLFNBQVNDLGFBR1IsSUFGQSxJQUFJQyxRQUFVLEdBRUwxUCxFQUFJLEVBQUdBLEVBQUlnQixVQUFVa0MsT0FBUWxELElBQUssQ0FDMUMsSUFBSTJQLElBQU0zTyxVQUFVaEIsR0FDcEIsR0FBSzJQLElBQUwsQ0FFQSxJQUFJQyxlQUFpQkQsSUFFckIsR0FBZ0IsV0FBWkMsU0FBb0MsV0FBWkEsUUFDM0JGLFFBQVExTSxLQUFLMk0sVUFDUCxHQUFJak0sTUFBTW1NLFFBQVFGLE1BQ3hCLEdBQUlBLElBQUl6TSxPQUFRLENBQ2YsSUFBSTRNLE1BQVFMLFdBQVcxTyxNQUFNLEtBQU00TyxLQUMvQkcsT0FDSEosUUFBUTFNLEtBQUs4TSxNQUVmLE9BQ00sR0FBZ0IsV0FBWkYsUUFBc0IsQ0FDaEMsR0FBSUQsSUFBSUksV0FBYXRRLE9BQU9ILFVBQVV5USxXQUFhSixJQUFJSSxTQUFTQSxXQUFXdEMsU0FBUyxpQkFBa0IsQ0FDckdpQyxRQUFRMU0sS0FBSzJNLElBQUlJLFlBQ2pCLFFBQ0QsQ0FFQSxJQUFLLElBQUlsTSxPQUFPOEwsSUFDWEosT0FBT3BQLEtBQUt3UCxJQUFLOUwsTUFBUThMLElBQUk5TCxNQUNoQzZMLFFBQVExTSxLQUFLYSxJQUdoQixDQXhCa0IsQ0F5Qm5CLENBRUEsT0FBTzZMLFFBQVFsSSxLQUFLLElBQ3JCLENBRXFDbEYsT0FBTzFCLFNBQzNDNk8sV0FBV2xOLFFBQVVrTixXQUNyQm5OLE9BQU8xQixRQUFVNk8saUJBS2hCLEtBRndCLDhCQUFGLFdBQ3RCLE9BQU9BLFVBQ1AsZ0JBRm9CLE9BRXBCLDZDQUlILENBcERBLHV6QkNKSU8sd0hBQTBCLEdBQTRCLDRGQUUxREEsd0JBQXdCaE4sS0FBSyxDQUFDVixPQUFPdUYsR0FBSSwwdkZBQW02RixHQUFHLENBQUMsUUFBVSxFQUFFLFFBQVUsQ0FBQyx5REFBeUQsdUNBQXVDLHNDQUFzQyw4REFBOEQsTUFBUSxHQUFHLFNBQVcsbWtCQUFta0IsZUFBaUIsQ0FBQyxvbENBQTRsQyw2eU1BQTZ5TSwwaEpBQTBoSixxdUZBQXF1RixXQUFhLE1BRTM2a0JtSSx3QkFBd0JDLE9BQVMsQ0FDaEMsS0FBUSx1QkFDUixlQUFnQix1QkFDaEIsaUJBQWtCLHVCQUNsQixTQUFVLHVCQUNWLFNBQVUsdUJBQ1YsU0FBVSx1QkFDVixVQUFXLHdCQUVaLDY1QkNiSUQsd0hBQTBCLEdBQTRCLDRGQUUxREEsd0JBQXdCaE4sS0FBSyxDQUFDVixPQUFPdUYsR0FBSSxnUUFBaVEsR0FBRyxDQUFDLFFBQVUsRUFBRSxRQUFVLENBQUMseUdBQXlHLHdDQUF3QyxNQUFRLEdBQUcsU0FBVyw0SEFBNEgsZUFBaUIsQ0FBQywwWEFBMFgsOHlNQUE4eU0sV0FBYSxNQUUveU9tSSx3QkFBd0JDLE9BQVMsQ0FDaEMsZUFBa0IsdUJBQ2xCLFlBQWUsdUJBQ2YsWUFBZSx3QkFFaEIsZ0lDTkEzTixPQUFPMUIsUUFBVSxTQUFVc1Asd0JBQ3pCLElBQUlDLEtBQU8sR0E2RlgsT0EzRkFBLEtBQUtKLFNBQVcsU0FBU0EsV0FDdkIsT0FBTzFPLEtBQUsrTyxLQUFJLFNBQVVDLE1BQ3hCLElBQUlDLFFBQVUsR0FDVkMsZUFBK0IsSUFBWkYsS0FBSyxHQTRCNUIsT0ExQklBLEtBQUssS0FDUEMsU0FBVyxjQUFjek8sT0FBT3dPLEtBQUssR0FBSSxRQUd2Q0EsS0FBSyxLQUNQQyxTQUFXLFVBQVV6TyxPQUFPd08sS0FBSyxHQUFJLE9BR25DRSxZQUNGRCxTQUFXLFNBQVN6TyxPQUFPd08sS0FBSyxHQUFHbk4sT0FBUyxFQUFJLElBQUlyQixPQUFPd08sS0FBSyxJQUFNLEdBQUksT0FHNUVDLFNBQVdKLHVCQUF1QkcsTUFFOUJFLFlBQ0ZELFNBQVcsS0FHVEQsS0FBSyxLQUNQQyxTQUFXLEtBR1RELEtBQUssS0FDUEMsU0FBVyxLQUdOQSxPQUNULElBQUc5SSxLQUFLLEdBQ1YsRUFHQTJJLEtBQUtuUSxFQUFJLFNBQVNBLEVBQUV3USxRQUFTQyxNQUFPQyxPQUFRQyxTQUFVQyxPQUM3QixpQkFBWkosVUFDVEEsUUFBVSxDQUFDLENBQUMsS0FBTUEsYUFBUzlILEtBRzdCLElBQUltSSx1QkFBeUIsQ0FBQyxFQUU5QixHQUFJSCxPQUNGLElBQUssSUFBSUksRUFBSSxFQUFHQSxFQUFJelAsS0FBSzZCLE9BQVE0TixJQUFLLENBQ3BDLElBQUlqSixHQUFLeEcsS0FBS3lQLEdBQUcsR0FFUCxNQUFOakosS0FDRmdKLHVCQUF1QmhKLEtBQU0sRUFFakMsQ0FHRixJQUFLLElBQUlrSixHQUFLLEVBQUdBLEdBQUtQLFFBQVF0TixPQUFRNk4sS0FBTSxDQUMxQyxJQUFJVixLQUFPLEdBQUd4TyxPQUFPMk8sUUFBUU8sS0FFekJMLFFBQVVHLHVCQUF1QlIsS0FBSyxXQUlyQixJQUFWTyxhQUNjLElBQVpQLEtBQUssS0FHZEEsS0FBSyxHQUFLLFNBQVN4TyxPQUFPd08sS0FBSyxHQUFHbk4sT0FBUyxFQUFJLElBQUlyQixPQUFPd08sS0FBSyxJQUFNLEdBQUksTUFBTXhPLE9BQU93TyxLQUFLLEdBQUksTUFGL0ZBLEtBQUssR0FBS08sT0FPVkgsUUFDR0osS0FBSyxJQUdSQSxLQUFLLEdBQUssVUFBVXhPLE9BQU93TyxLQUFLLEdBQUksTUFBTXhPLE9BQU93TyxLQUFLLEdBQUksS0FDMURBLEtBQUssR0FBS0ksT0FIVkosS0FBSyxHQUFLSSxPQU9WRSxXQUNHTixLQUFLLElBR1JBLEtBQUssR0FBSyxjQUFjeE8sT0FBT3dPLEtBQUssR0FBSSxPQUFPeE8sT0FBT3dPLEtBQUssR0FBSSxLQUMvREEsS0FBSyxHQUFLTSxVQUhWTixLQUFLLEdBQUssR0FBR3hPLE9BQU84TyxXQU94QlIsS0FBS25OLEtBQUtxTixNQUNaLENBQ0YsRUFFT0YsSUFDVCw0RUNuR0E3TixPQUFPMUIsUUFBVSxTQUFVb1EsSUFBS0MsU0FLOUIsT0FKS0EsVUFDSEEsUUFBVSxDQUFDLEdBR1JELEtBSUxBLElBQU0zUSxPQUFPMlEsSUFBSWhTLFdBQWFnUyxJQUFJek8sUUFBVXlPLEtBRXhDLGVBQWVFLEtBQUtGLE9BQ3RCQSxJQUFNQSxJQUFJdk0sTUFBTSxHQUFJLElBR2xCd00sUUFBUUUsT0FDVkgsS0FBT0MsUUFBUUUsTUFLYixvQkFBb0JELEtBQUtGLE1BQVFDLFFBQVFHLFdBQ3BDLElBQUt2UCxPQUFPbVAsSUFBSUssUUFBUSxLQUFNLE9BQU9BLFFBQVEsTUFBTyxPQUFRLEtBRzlETCxLQW5CRUEsR0FvQlgsZ0ZDMUJBMU8sT0FBTzFCLFFBQVUsU0FBVXlQLE1BQ3pCLElBQUlDLFFBQVVELEtBQUssR0FDZmlCLFdBQWFqQixLQUFLLEdBRXRCLElBQUtpQixXQUNILE9BQU9oQixRQUdULEdBQW9CLG1CQUFUaUIsS0FBcUIsQ0FDOUIsSUFBSUMsT0FBU0QsS0FBS0UsU0FBU0MsbUJBQW1CQyxLQUFLQyxVQUFVTixlQUN6RE8sS0FBTywrREFBK0RoUSxPQUFPMlAsUUFDN0VNLGNBQWdCLE9BQU9qUSxPQUFPZ1EsS0FBTSxPQUNwQ0UsV0FBYVQsV0FBV1UsUUFBUTVCLEtBQUksU0FBVTFGLFFBQ2hELE1BQU8saUJBQWlCN0ksT0FBT3lQLFdBQVdXLFlBQWMsSUFBSXBRLE9BQU82SSxPQUFRLE1BQzdFLElBQ0EsTUFBTyxDQUFDNEYsU0FBU3pPLE9BQU9rUSxZQUFZbFEsT0FBTyxDQUFDaVEsZ0JBQWdCdEssS0FBSyxLQUNuRSxDQUVBLE1BQU8sQ0FBQzhJLFNBQVM5SSxLQUFLLEtBQ3hCLDI3RkNWSXlKLFFBQVUsQ0FBQyxFQUVmQSxRQUFRaUIsa0JBQW9CLG9HQUM1QmpCLFFBQVFrQixjQUFnQixpSEFFbEJsQixRQUFRbUIsT0FBUyx3R0FBYyxLQUFNLFFBRTNDbkIsUUFBUW9CLE9BQVMsOEZBQ2pCcEIsUUFBUXFCLG1CQUFxQixxR0FFaEIsMkdBQUksMEtBQVNyQixTQUtuQixpQ0FBZSwyS0FBVywwS0FBUWhCLE9BQVMsMEtBQVFBLFlBQVN2SCwraUdDZi9EdUksUUFBVSxDQUFDLEVBRWZBLFFBQVFpQixrQkFBb0Isb0dBQzVCakIsUUFBUWtCLGNBQWdCLGlIQUVsQmxCLFFBQVFtQixPQUFTLHdHQUFjLEtBQU0sUUFFM0NuQixRQUFRb0IsT0FBUyw4RkFDakJwQixRQUFRcUIsbUJBQXFCLHFHQUVoQiwyR0FBSSw4TEFBU3JCLFNBS25CLGlDQUFlLCtMQUFXLDhMQUFRaEIsT0FBUyw4TEFBUUEsWUFBU3ZILGdHQ3hCbkUsSUFBSTZKLFlBQWMsR0FFbEIsU0FBU0MscUJBQXFCQyxZQUc1QixJQUZBLElBQUlDLFFBQVUsRUFFTDFTLEVBQUksRUFBR0EsRUFBSXVTLFlBQVlyUCxPQUFRbEQsSUFDdEMsR0FBSXVTLFlBQVl2UyxHQUFHeVMsYUFBZUEsV0FBWSxDQUM1Q0MsT0FBUzFTLEVBQ1QsS0FDRixDQUdGLE9BQU8wUyxNQUNULENBRUEsU0FBU0MsYUFBYXhDLEtBQU1jLFNBSTFCLElBSEEsSUFBSTJCLFdBQWEsQ0FBQyxFQUNkQyxZQUFjLEdBRVQ3UyxFQUFJLEVBQUdBLEVBQUltUSxLQUFLak4sT0FBUWxELElBQUssQ0FDcEMsSUFBSXFRLEtBQU9GLEtBQUtuUSxHQUNaNkgsR0FBS29KLFFBQVE2QixLQUFPekMsS0FBSyxHQUFLWSxRQUFRNkIsS0FBT3pDLEtBQUssR0FDbEQwQyxNQUFRSCxXQUFXL0ssS0FBTyxFQUMxQjRLLFdBQWEsR0FBRzVRLE9BQU9nRyxHQUFJLEtBQUtoRyxPQUFPa1IsT0FDM0NILFdBQVcvSyxJQUFNa0wsTUFBUSxFQUN6QixJQUFJQyxrQkFBb0JSLHFCQUFxQkMsWUFDekNRLElBQU0sQ0FDUkMsSUFBSzdDLEtBQUssR0FDVkksTUFBT0osS0FBSyxHQUNaOEMsVUFBVzlDLEtBQUssR0FDaEJNLFNBQVVOLEtBQUssR0FDZk8sTUFBT1AsS0FBSyxJQUdkLElBQTJCLElBQXZCMkMsa0JBQ0ZULFlBQVlTLG1CQUFtQkksYUFDL0JiLFlBQVlTLG1CQUFtQkssUUFBUUosU0FDbEMsQ0FDTCxJQUFJSSxRQUFVQyxnQkFBZ0JMLElBQUtoQyxTQUNuQ0EsUUFBUXNDLFFBQVV2VCxFQUNsQnVTLFlBQVlpQixPQUFPeFQsRUFBRyxFQUFHLENBQ3ZCeVMsV0FDQVksUUFDQUQsV0FBWSxHQUVoQixDQUVBUCxZQUFZN1AsS0FBS3lQLFdBQ25CLENBRUEsT0FBT0ksV0FDVCxDQUVBLFNBQVNTLGdCQUFnQkwsSUFBS2hDLFNBQzVCLElBQUl3QyxJQUFNeEMsUUFBUW9CLE9BQU9wQixTQUN6QndDLElBQUlDLE9BQU9ULEtBY1gsT0FaYyxTQUFTSSxRQUFRTSxRQUM3QixHQUFJQSxPQUFRLENBQ1YsR0FBSUEsT0FBT1QsTUFBUUQsSUFBSUMsS0FBT1MsT0FBT2xELFFBQVV3QyxJQUFJeEMsT0FBU2tELE9BQU9SLFlBQWNGLElBQUlFLFdBQWFRLE9BQU9oRCxXQUFhc0MsSUFBSXRDLFVBQVlnRCxPQUFPL0MsUUFBVXFDLElBQUlyQyxNQUN6SixPQUdGNkMsSUFBSUMsT0FBT1QsSUFBTVUsT0FDbkIsTUFDRUYsSUFBSUcsUUFFUixDQUdGLENBRUF0UixPQUFPMUIsUUFBVSxTQUFVdVAsS0FBTWMsU0FHL0IsSUFBSTRDLGdCQUFrQmxCLGFBRHRCeEMsS0FBT0EsTUFBUSxHQURmYyxRQUFVQSxTQUFXLENBQUMsR0FHdEIsT0FBTyxTQUFTeUMsT0FBT0ksU0FDckJBLFFBQVVBLFNBQVcsR0FFckIsSUFBSyxJQUFJOVQsRUFBSSxFQUFHQSxFQUFJNlQsZ0JBQWdCM1EsT0FBUWxELElBQUssQ0FDL0MsSUFDSStULE1BQVF2QixxQkFES3FCLGdCQUFnQjdULElBRWpDdVMsWUFBWXdCLE9BQU9YLFlBQ3JCLENBSUEsSUFGQSxJQUFJWSxtQkFBcUJyQixhQUFhbUIsUUFBUzdDLFNBRXRDZ0QsR0FBSyxFQUFHQSxHQUFLSixnQkFBZ0IzUSxPQUFRK1EsS0FBTSxDQUNsRCxJQUVJQyxPQUFTMUIscUJBRktxQixnQkFBZ0JJLEtBSUssSUFBbkMxQixZQUFZMkIsUUFBUWQsYUFDdEJiLFlBQVkyQixRQUFRYixVQUVwQmQsWUFBWWlCLE9BQU9VLE9BQVEsR0FFL0IsQ0FFQUwsZ0JBQWtCRyxrQkFDcEIsQ0FDRix3RkNyR0EsSUFBSUcsS0FBTyxDQUFDLEVBb0NaN1IsT0FBTzFCLFFBVlAsU0FBU3dULGlCQUFpQmhDLE9BQVE1USxPQUNoQyxJQUFJNlMsT0F4Qk4sU0FBU0MsVUFBVUQsUUFDakIsUUFBNEIsSUFBakJGLEtBQUtFLFFBQXlCLENBQ3ZDLElBQUlFLFlBQWN6UCxTQUFTMFAsY0FBY0gsUUFFekMsR0FBSUksT0FBT0MsbUJBQXFCSCx1QkFBdUJFLE9BQU9DLGtCQUM1RCxJQUdFSCxZQUFjQSxZQUFZSSxnQkFBZ0JDLElBQzVDLENBQUUsTUFBTzdWLEdBRVB3VixZQUFjLElBQ2hCLENBR0ZKLEtBQUtFLFFBQVVFLFdBQ2pCLENBRUEsT0FBT0osS0FBS0UsT0FDZCxDQUtlQyxDQUFVbEMsUUFFdkIsSUFBS2lDLE9BQ0gsTUFBTSxJQUFJUSxNQUFNLDJHQUdsQlIsT0FBT1MsWUFBWXRULE1BQ3JCLDBGQzFCQWMsT0FBTzFCLFFBUFAsU0FBUzBSLG1CQUFtQnJCLFNBQzFCLElBQUk4RCxRQUFValEsU0FBU3BELGNBQWMsU0FHckMsT0FGQXVQLFFBQVFrQixjQUFjNEMsUUFBUzlELFFBQVErRCxZQUN2Qy9ELFFBQVFtQixPQUFPMkMsUUFBUzlELFFBQVFBLFNBQ3pCOEQsT0FDVCxxSkNHQXpTLE9BQU8xQixRQVJQLFNBQVNxVSwrQkFBK0JDLGNBQ3RDLElBQUlDLE1BQW1ELHVCQUVuREEsT0FDRkQsYUFBYUUsYUFBYSxRQUFTRCxNQUV2QyxtRkM0REE3UyxPQUFPMUIsUUFaUCxTQUFTeVIsT0FBT3BCLFNBQ2QsSUFBSWlFLGFBQWVqRSxRQUFRcUIsbUJBQW1CckIsU0FDOUMsTUFBTyxDQUNMeUMsT0FBUSxTQUFTQSxPQUFPVCxNQXpENUIsU0FBU2xTLE1BQU1tVSxhQUFjakUsUUFBU2dDLEtBQ3BDLElBQUlDLElBQU0sR0FFTkQsSUFBSXRDLFdBQ051QyxLQUFPLGNBQWNyUixPQUFPb1IsSUFBSXRDLFNBQVUsUUFHeENzQyxJQUFJeEMsUUFDTnlDLEtBQU8sVUFBVXJSLE9BQU9vUixJQUFJeEMsTUFBTyxPQUdyQyxJQUFJRixlQUFpQyxJQUFkMEMsSUFBSXJDLE1BRXZCTCxZQUNGMkMsS0FBTyxTQUFTclIsT0FBT29SLElBQUlyQyxNQUFNMU4sT0FBUyxFQUFJLElBQUlyQixPQUFPb1IsSUFBSXJDLE9BQVMsR0FBSSxPQUc1RXNDLEtBQU9ELElBQUlDLElBRVAzQyxZQUNGMkMsS0FBTyxLQUdMRCxJQUFJeEMsUUFDTnlDLEtBQU8sS0FHTEQsSUFBSXRDLFdBQ051QyxLQUFPLEtBR1QsSUFBSUMsVUFBWUYsSUFBSUUsVUFFaEJBLFdBQTZCLG9CQUFUNUIsT0FDdEIyQixLQUFPLHVEQUF1RHJSLE9BQU8wUCxLQUFLRSxTQUFTQyxtQkFBbUJDLEtBQUtDLFVBQVV1QixjQUFlLFFBTXRJbEMsUUFBUWlCLGtCQUFrQmdCLElBQUtnQyxhQUFjakUsUUFBUUEsUUFDdkQsQ0FpQk1sUSxDQUFNbVUsYUFBY2pFLFFBQVNnQyxJQUMvQixFQUNBVyxPQUFRLFNBQVNBLFVBakJyQixTQUFTeUIsbUJBQW1CSCxjQUUxQixHQUFnQyxPQUE1QkEsYUFBYUksV0FDZixPQUFPLEVBR1RKLGFBQWFJLFdBQVdDLFlBQVlMLGFBQ3RDLENBV01HLENBQW1CSCxhQUNyQixFQUVKLHlGQ3BEQTVTLE9BQU8xQixRQVpQLFNBQVNzUixrQkFBa0JnQixJQUFLZ0MsY0FDOUIsR0FBSUEsYUFBYU0sV0FDZk4sYUFBYU0sV0FBV0MsUUFBVXZDLFFBQzdCLENBQ0wsS0FBT2dDLGFBQWFRLFlBQ2xCUixhQUFhSyxZQUFZTCxhQUFhUSxZQUd4Q1IsYUFBYUosWUFBWWhRLFNBQVM2USxlQUFlekMsS0FDbkQsQ0FDRixzM0JDYkEsNEZBQ0EsOEVBSUEsd0dBcURNMEMsS0FBMkMsU0FBQyxJQUNoRCxJQUFBM04sU0FBUSxZQUNSNE4sS0FBSSxRQUNKaE8sR0FBRSxNQUNGakcsVUFBUyxhQUNUa1UsU0FBUSxZQUNSQyxhQUFZLGdCQUNaLE1BQUFDLEtBQUFBLFVBQUksSUFBRyxPQUFHLEdBQ1ZDLFNBQVEsWUFDUmpPLFFBQU8sV0FDUCxNQUFBekcsS0FBQUEsVUFBSSxJQUFHLE9BQUcsR0FDVixNQUFBc0gsS0FBQUEsVUFBSSxJQUFHLGFBQVMsR0FDaEJxTixLQUFJLFFBQ0RDLGVBQWMsVUFiK0IsaUhBYzVDLE9BQ0osNENBQ0V2VSxXQUFXLHdCQUNULDJCQUFhd1UsS0FDYiwyQkFBYSxlQUFRdk4sT0FDckIsMkJBQWEsZUFBUXRILE9BQ3JCSyxXQUVGb1UsS0FBT0MsY0FBa0J2TixFQUFQc04sS0FDbEJuTyxHQUNBRyxRQUFVaU8sY0FBcUJ2TixFQUFWVixRQUNyQnFPLElBQUtOLGNBQWdCRCxTQUFXLDJCQUF3QnBOLEVBQ3hEMkwsT0FBUzBCLGFBQThCLGNBQWRyTixFQUN6QndOLE1BQ0tELFNBQVcsQ0FBQyxpQkFBaUIsR0FBUSxDQUFDLEVBQ3ZDRSxnQkFFSE4sTUFBUTVOLFdBSWIsZ0JBQWUyTiw0aUZDdkZmLHVFQUFRLHFHQUFBclQsT0FBTyxrNEJDTmYsa0ZBR0Esc0dBeUhFLFFBQUErVCxVQURXLEdBakgrRCxDQUMxRSxDQUNFQyxZQUFhLFdBQ2JDLFlBQWEsS0FDYkMsd0JBQXlCLGVBRTNCLENBQ0VGLFlBQWEsV0FDYkMsWUFBYSxLQUNiQyx3QkFBeUIsY0FFM0IsQ0FDRUYsWUFBYSxXQUNiQyxZQUFhLEtBQ2JDLHdCQUF5QixjQUUzQixDQUNFRixZQUFhLFdBQ2JDLFlBQWEsS0FDYkMsd0JBQXlCLGNBRTNCLENBQ0VGLFlBQWEsV0FDYkMsWUFBYSxLQUNiQyx3QkFBeUIsY0FFM0IsQ0FDRUYsWUFBYSxXQUNiQyxZQUFhLEtBQ2JDLHdCQUF5QixjQUUzQixDQUNFRixZQUFhLGNBQ2JDLFlBQWEsSUFDYkMsd0JBQXlCLFlBRTNCLENBQ0VGLFlBQWEsY0FDYkMsWUFBYSxJQUNiQyx3QkFBeUIsWUFFM0IsQ0FDRUYsWUFBYSxnQkFDYkMsWUFBYSxJQUNiQyx3QkFBeUIsY0FFM0IsQ0FDRUYsWUFBYSxlQUNiQyxZQUFhLElBQ2JDLHdCQUF5QixhQUUzQixDQUNFRixZQUFhLGtCQUNiQyxZQUFhLElBQ2JDLHdCQUF5QixnQkFFM0IsQ0FDRUYsWUFBYSxrQkFDYkMsWUFBYSxJQUNiQyx3QkFBeUIsZ0JBRTNCLENBQ0VGLFlBQWEsb0JBQ2JDLFlBQWEsSUFDYkMsd0JBQXlCLGtCQUUzQixDQUFDRixZQUFhLFNBQVVDLFlBQWEsS0FBTUMsd0JBQXlCLE1BQ3BFLENBQ0VGLFlBQWEsYUFDYkMsWUFBYSxTQUNiQyx3QkFBeUIsVUFFM0IsQ0FDRUYsWUFBYSxrQkFDYkMsWUFBYSxTQUNiQyx3QkFBeUIsZ0JBRTNCLENBQ0VGLFlBQWEsYUFDYkMsWUFBYSxhQUNiQyx3QkFBeUIsZUFRTkMsUUFBTyxTQUFDQyxJQUFLQyw4QkFDekJMLFlBQ0xLLHNCQUFxQixZQURISixZQUNsQkksc0JBQXFCLFlBRFVILHdCQUMvQkcsc0JBQXFCLHdCQUVqQkMsa0JBRUYsU0FBQUMsZ0JBQ0ssSUFBQUMsaUJBQW9ERCxlQUFjLGlCQUFoRDdPLFNBQWtDNk8sZUFBYyxTQUF0Q2xWLFVBQXdCa1YsZUFBYyxVQUEzQnRWLE1BQWFzVixlQUFjLE1BQXBCalAsR0FBTWlQLGVBQWMsR0FFekUsT0FDRSw4QkFBQyxxQkFBVSxDQUNUTixZQUNBTyxpQkFBa0JBLGtCQUFvQk4sd0JBQ3RDN1UsVUFDQUosTUFDQXFHLElBRUNJLFNBR1AsRUFFQSxPQURBNE8sa0JBQWtCTixZQUFjQSxZQUN6QixTQUFQLFlBQVdJLE9BQUcsT0FBR0osYUFBY00sa0JBQWlCLElBQ2xELEdBQUcsQ0FBQyxJQW9COEMsU0FoQmxELFFBQUFHLFNBQVEsWUFDUixRQUFBQyxTQUFRLFlBQ1IsUUFBQUMsU0FBUSxZQUNSLFFBQUFDLFNBQVEsWUFDUixRQUFBQyxTQUFRLFlBQ1IsUUFBQUMsWUFBVyxlQUNYLFFBQUFDLFlBQVcsZUFDWCxRQUFBQyxjQUFhLGlCQUNiLFFBQUFDLGFBQVksZ0JBQ1osUUFBQUMsZ0JBQWUsbUJBQ2YsUUFBQUMsZ0JBQWUsbUJBQ2YsUUFBQUMsa0JBQWlCLHFCQUNqQixRQUFBQyxPQUFNLFVBQ04sUUFBQUMsV0FBVSxjQUNWLFFBQUFDLGdCQUFlLG1CQUNmLFFBQUFDLFdBQVUsKzBwQkM1SVosc0dBQ0EseUZBQVEsMkdBQUF4VixPQUFPLHVsQ0NEZiwrRUFDQSw0RUFFQSxvRkFDQSxnR0FDQSxnRkFDQSwrRkFDQSxxRkFFQSxvRkFFQSxvRkFFQSxrSkFFQSw0S0FjTXlWLHNCQUF5QyxTQUFDLFFBQzlDQyxrQkFBaUIscUJBQ2pCaFQsT0FBTSxVQUNOaVQsUUFBTyxXQUNQLE1BQUFDLHNCQUFBQSwyQkFBcUIsSUFBRyxLQUFDLEdBRW5CM1AsYUFBYyxnQkFBQTRQLGNBQVksU0FBQzNQLE9BQXFCLE9BQUFBLE1BQU1ELFdBQU4sSUFDaEQ2UCxZQUFjLFNBQUNDLFVBQW1CQyxjQUFBLElBQUFBLFVBQUFBLFFBQUEsSUFDdEMsNEJBQWtCbE8sVUFBVWlPLFVBQVdDLFFBQ3pDLEVBWU1DLFlBQWMsV0FDbEJILFlBQVkscUJBQUEvTixPQUFPbU8sMkJBQTRCLENBQzdDQyxRQUFTbFEsWUFBWTJFLE9BQ3JCd0wsNEJBQTZCUix3QkFFL0JELFNBQ0YsRUFRQSxPQU5BLFVBQUFVLFlBQVUsV0FDUlAsWUFBWSxxQkFBQS9OLE9BQU91TywwQkFBMkIsQ0FDNUNILFFBQVNsUSxZQUFZMkUsT0FDckJ3TCw0QkFBNkJSLHVCQUVqQyxHQUFHLENBQUMzUCxZQUFZMkUsT0FBUWdMLHdCQUV0Qiw4QkFBQyxxQkFBVSxDQUNUbFQsT0FDQWhCLFlBQWF1VSxZQUNicFMsa0JBQWtCLEVBQ2xCTyxXQUFZLEtBRVoscUNBQ0UvRSxVQUFXLCtDQUFPa1gsZUFBYyxjQUVwQiwyQkFDWmpSLEdBQUcsbUNBRUgseUNBQ0UsOEJBQUMscUJBQVUsQ0FDVDJPLFlBQVksS0FDWk8saUJBQWlCLGFBQ2pCblYsVUFBVywrQ0FBT21YLGFBRWpCLGlCQUFLQyxtREFFUix5Q0FDQSw4QkFBQyxxQkFBVSxDQUFDeEMsWUFBWSxJQUFJTyxpQkFBaUIsWUFDMUMsaUJBQUtrQyxtREFFUiw4QkFBQyxxQkFBVSxDQUFDekMsWUFBWSxJQUFJTyxpQkFBaUIsWUFDM0MsOEJBQUMsZUFBSSxDQUNIZixLQWxEViwrSEFtRFVoTyxRQWpEc0IsV0FDaENxUSxZQUFZLHFCQUFBL04sT0FBTzRPLGlDQUFrQyxDQUNuRFIsUUFBU2xRLFlBQVkyRSxPQUNyQndMLDRCQUE2QlIsdUJBRWpDLEVBNkNZcEMsY0FBYyxHQUViLGlCQUFLb0QsOENBR1RsQixtQkFBcUIsOEJBQUMsa0JBQU8sT0FDNUJBLG1CQUFxQiw4QkFBQyxnQ0FBcUIsTUFDN0MseUNBQ0EscUNBQUtyVyxVQUFXLCtDQUFPd1gsYUFDckIsd0NBQVF2USxLQUFLLFNBQVNiLFFBQVN3USxhQUM1QixpQkFBSzFVLGtCQU9wQixFQUVBLGlCQUFlLGdCQUFBdVYsVUFBUSxTQUFDNVEsT0FBc0IsT0FDNUN3UCxrQkFBbUJ4UCxNQUFNNlEsZUFBZXJCLG9CQUFxQixFQURqQixHQUEvQixDQUVYRCIsInNvdXJjZXMiOlsid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy9zaGFyZWRDb21wb25lbnRzL1NwaW5uZXIuanN4Iiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy90ZW1wbGF0ZXMvQmFzZURpYWxvZy5qc3giLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3RlbXBsYXRlcy9jdXJyZW50VXNlclJlZHV4LmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL25vZGVfbW9kdWxlcy9jbGFzc25hbWVzL2luZGV4LmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy9jb21wb25lbnRMaWJyYXJ5L2xpbmsvbGluay5tb2R1bGUuc2NzcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvdGVtcGxhdGVzL3BvbGljeV9jb21wbGlhbmNlL0FnZUdhdGVkU3R1ZGVudHNNb2RhbC9hZ2UtZ2F0ZWQtc3R1ZGVudHMtbW9kYWwubW9kdWxlLnNjc3MiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvZ2V0VXJsLmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9zb3VyY2VNYXBzLmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy9jb21wb25lbnRMaWJyYXJ5L2xpbmsvbGluay5tb2R1bGUuc2Nzcz8xYzAzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy90ZW1wbGF0ZXMvcG9saWN5X2NvbXBsaWFuY2UvQWdlR2F0ZWRTdHVkZW50c01vZGFsL2FnZS1nYXRlZC1zdHVkZW50cy1tb2RhbC5tb2R1bGUuc2Nzcz9jOTdjIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRCeVNlbGVjdG9yLmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydFN0eWxlRWxlbWVudC5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zZXRBdHRyaWJ1dGVzV2l0aG91dEF0dHJpYnV0ZXMuanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVEb21BUEkuanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVUYWdUcmFuc2Zvcm0uanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL2NvbXBvbmVudExpYnJhcnkvbGluay9MaW5rLnRzeCIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvY29tcG9uZW50TGlicmFyeS9saW5rL2luZGV4LnRzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy9jb21wb25lbnRMaWJyYXJ5L3R5cG9ncmFwaHkvVHlwb2dyYXBoeUVsZW1lbnRzLnRzeCIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvY29tcG9uZW50TGlicmFyeS90eXBvZ3JhcGh5L2luZGV4LnRzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy90ZW1wbGF0ZXMvcG9saWN5X2NvbXBsaWFuY2UvQWdlR2F0ZWRTdHVkZW50c01vZGFsL0FnZUdhdGVkU3R1ZGVudHNNb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBMb2FkaW5nIHNwaW5uZXIuXG4gKi9cblxuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBGb250QXdlc29tZSBmcm9tICdAY2RvL2FwcHMvbGVnYWN5U2hhcmVkQ29tcG9uZW50cy9Gb250QXdlc29tZSc7XG5pbXBvcnQgaTE4biBmcm9tICdAY2RvL2xvY2FsZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNwaW5uZXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHNpemU6IFByb3BUeXBlcy5vbmVPZihbJ3NtYWxsJywgJ21lZGl1bScsICdsYXJnZSddKSxcbiAgICBzdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge3NpemUsIHN0eWxlfSA9IHRoaXMucHJvcHM7XG4gICAgbGV0IGRpc3BsYXlTaXplID1cbiAgICAgIHNpemUgPT09ICdzbWFsbCcgPyAnJyA6IHNpemUgPT09ICdtZWRpdW0nID8gJ2ZhLTJ4JyA6ICdmYS0zeCc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxGb250QXdlc29tZVxuICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgIGljb249XCJzcGlubmVyXCJcbiAgICAgICAgY2xhc3NOYW1lPXtgZmEtcHVsc2UgJHtkaXNwbGF5U2l6ZX1gfVxuICAgICAgICB0aXRsZT17aTE4bi5sb2FkaW5nKCl9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbn1cbiIsImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BjZG8vYXBwcy9sZWdhY3lTaGFyZWRDb21wb25lbnRzL0J1dHRvbic7XG5pbXBvcnQgaTE4biBmcm9tICdAY2RvL2xvY2FsZSc7XG5cbmltcG9ydCB7QkFTRV9ESUFMT0dfV0lEVEh9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgY29sb3IgZnJvbSAnLi4vdXRpbC9jb2xvcic7XG5cbi8qKlxuICogQmFzZURpYWxvZ1xuICogQSBnZW5lcmljIG1vZGFsIGRpYWxvZyB0aGF0IGhhcyBhbiB4LWNsb3NlIGluIHRoZSB1cHBlciByaWdodCwgYW5kIGFcbiAqIHNlbWktdHJhbnNwYXJlbnQgYmFja2Ryb3AuIENhbiBiZSBjbG9zZWQgYnkgY2xpY2tpbmcgdGhlIHgsIGNsaWNraW5nIHRoZVxuICogYmFja2Ryb3AsIG9yIHByZXNzaW5nIGVzYy5cbiAqXG4gKiBUbyB1c2UgYSBzdHlsZWQgdmVyc2lvbiBvZiB0aGlzIGNvbXBvbmVudCB0aGF0IGZvbGxvd3Mgb3VyIHN0eWxlIGd1aWRlLFxuICogdXNlIFN0eWxpemVkQmFzZURpYWxvZy5qc3guXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJhc2VEaWFsb2cgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGlzT3BlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFuZGxlQ2xvc2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIHVuY2xvc2VhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBoaWRlQ2xvc2VCdXR0b246IFByb3BUeXBlcy5ib29sLFxuICAgIGhhbmRsZUtleURvd246IFByb3BUeXBlcy5mdW5jLFxuICAgIC8vIEZvciB1c2UgaW4gcmVhY3Qtc3Rvcnlib29rOyBhbGxvd3MgcmVuZGVyaW5nIGRpYWxvZyBpbmxpbmUgaW4gc3RvcnkgdGFibGVzLlxuICAgIGhpZGVCYWNrZHJvcDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZnVsbFdpZHRoOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBmdWxsSGVpZ2h0OiBQcm9wVHlwZXMuYm9vbCxcbiAgICB1c2VVcGRhdGVkU3R5bGVzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBub01vZGFsU3R5bGVzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gICAgZml4ZWRXaWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBmaXhlZEhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbiAgICB1c2VGbGV4Ym94OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBib2R5SWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgYm9keUNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBzb3VuZFBsYXllcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvdmVyZmxvdzogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAvLyBUZW1wb3JhcnkgcHJvcCB1bnRpbCBBbmltYXRpb25QaWNrZXJCb2R5IGlzIHJlZGVzaWduZWRcbiAgICBiYWNrZHJvcFN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMuZm9jdXNEaWFsb2coKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICB0aGlzLmZvY3VzRGlhbG9nKCk7XG4gIH1cblxuICBoYW5kbGVLZXlEb3duID0gZXZlbnQgPT4ge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsb3NlRGlhbG9nKCk7XG4gICAgfVxuICAgIHRoaXMucHJvcHMuaGFuZGxlS2V5RG93biAmJiB0aGlzLnByb3BzLmhhbmRsZUtleURvd24oZXZlbnQpO1xuICB9O1xuXG4gIGNsb3NlRGlhbG9nID0gKCkgPT4ge1xuICAgIGlmICghdGhpcy5wcm9wcy51bmNsb3NlYWJsZSAmJiB0aGlzLnByb3BzLmhhbmRsZUNsb3NlKSB7XG4gICAgICB0aGlzLnByb3BzLmhhbmRsZUNsb3NlKCk7XG4gICAgICBpZiAodGhpcy5wcm9wcy5zb3VuZFBsYXllcikge1xuICAgICAgICB0aGlzLnByb3BzLnNvdW5kUGxheWVyLnN0b3BBbGxBdWRpbygpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICAvKiogQHJldHVybnMge0FycmF5LjxFbGVtZW50Pn0gKi9cbiAgZ2V0VGFiYmFibGVFbGVtZW50cygpIHtcbiAgICByZXR1cm4gW10uc2xpY2UuY2FsbCh0aGlzLnJlZnMuZGlhbG9nLnF1ZXJ5U2VsZWN0b3JBbGwoJ2EsYnV0dG9uLGlucHV0JykpO1xuICB9XG5cbiAgZm9jdXNEaWFsb2coKSB7XG4gICAgLy8gRG9uJ3Qgc3RlYWwgZm9jdXMgaWYgdGhlIGFjdGl2ZSBlbGVtZW50IGlzIGFscmVhZHkgYSBkZXNjZW5kYW50IG9mIHRoZVxuICAgIC8vIGRpYWxvZyAtIHByZXZlbnRzIGZvY3VzIGxvc3Mgb24gdXBkYXRlcyBvZiBvcGVuIEJhc2VEaWFsb2cgY29tcG9uZW50cy5cbiAgICBjb25zdCBkZXNjZW5kYW50SXNBY3RpdmUgPVxuICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJlxuICAgICAgdGhpcy5yZWZzLmRpYWxvZyAmJlxuICAgICAgdGhpcy5yZWZzLmRpYWxvZy5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtcbiAgICBpZiAodGhpcy5wcm9wcy5pc09wZW4gJiYgIWRlc2NlbmRhbnRJc0FjdGl2ZSkge1xuICAgICAgdGhpcy5yZWZzLmRpYWxvZy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBpZiAoIXRoaXMucHJvcHMuaXNPcGVuICYmICF0aGlzLnByb3BzLmhpZGVCYWNrZHJvcCkge1xuICAgICAgcmV0dXJuIDxkaXYgLz47XG4gICAgfVxuXG4gICAgbGV0IGJvZHlTdHlsZSwgbW9kYWxCb2R5U3R5bGUsIHhDbG9zZVN0eWxlO1xuICAgIGlmICh0aGlzLnByb3BzLmZ1bGxXaWR0aCkge1xuICAgICAgYm9keVN0eWxlID0ge1xuICAgICAgICAuLi5ib2R5U3R5bGUsXG4gICAgICAgIHdpZHRoOiAnOTAlJyxcbiAgICAgICAgbWFyZ2luTGVmdDogJy00NSUnLFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMuZnVsbEhlaWdodCkge1xuICAgICAgYm9keVN0eWxlID0ge1xuICAgICAgICAuLi5ib2R5U3R5bGUsXG4gICAgICAgIGhlaWdodDogJzgwJScsXG4gICAgICB9O1xuICAgICAgbW9kYWxCb2R5U3R5bGUgPSB7XG4gICAgICAgIC4uLm1vZGFsQm9keVN0eWxlLFxuICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgbGV0IHdyYXBwZXJDbGFzc05hbWVzID0gJyc7XG4gICAgbGV0IG1vZGFsQ2xhc3NOYW1lcyA9ICdtb2RhbCc7XG4gICAgbGV0IG1vZGFsQm9keUNsYXNzTmFtZXMgPSAnbW9kYWwtYm9keSc7XG4gICAgbGV0IG1vZGFsQmFja2Ryb3BDbGFzc05hbWVzID0gJ21vZGFsLWJhY2tkcm9wJztcbiAgICBjb25zdCBvdmVyZmxvd1ggPSB0aGlzLnByb3BzLm92ZXJmbG93IHx8ICdoaWRkZW4nO1xuICAgIGNvbnN0IG92ZXJmbG93WSA9XG4gICAgICB0aGlzLnByb3BzLm92ZXJmbG93IHx8XG4gICAgICAodGhpcy5wcm9wcy5maXhlZEhlaWdodCB8fCB0aGlzLnByb3BzLmZ1bGxIZWlnaHQgPyAnaGlkZGVuJyA6ICdhdXRvJyk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy51c2VVcGRhdGVkU3R5bGVzKSB7XG4gICAgICB3cmFwcGVyQ2xhc3NOYW1lcyA9ICdkYXNoYm9hcmQtc3R5bGVzJztcbiAgICAgIG1vZGFsQm9keUNsYXNzTmFtZXMgPSAnJztcbiAgICAgIG1vZGFsQm9keVN0eWxlID0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAnI2ZmZicsXG4gICAgICAgIGhlaWdodDogdGhpcy5wcm9wcy5maXhlZEhlaWdodCxcbiAgICAgICAgbWF4SGVpZ2h0OiAhdGhpcy5wcm9wcy5maXhlZEhlaWdodCAmJiAnODV2aCcsXG4gICAgICAgIG92ZXJmbG93WDogb3ZlcmZsb3dYLFxuICAgICAgICBvdmVyZmxvd1k6IG92ZXJmbG93WSxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiA0LFxuICAgICAgfTtcbiAgICAgIGlmICh0aGlzLnByb3BzLnVzZUZsZXhib3gpIHtcbiAgICAgICAgbW9kYWxCb2R5U3R5bGUgPSB7XG4gICAgICAgICAgLi4ubW9kYWxCb2R5U3R5bGUsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgYm9keVN0eWxlID0ge1xuICAgICAgICAuLi5ib2R5U3R5bGUsXG4gICAgICAgIHdpZHRoOiB0aGlzLnByb3BzLmZpeGVkV2lkdGggfHwgQkFTRV9ESUFMT0dfV0lEVEgsXG4gICAgICAgIG1hcmdpbkxlZnQ6IC10aGlzLnByb3BzLmZpeGVkV2lkdGggLyAyIHx8IC0zNTAsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAodGhpcy5wcm9wcy5ub01vZGFsU3R5bGVzKSB7XG4gICAgICBtb2RhbENsYXNzTmFtZXMgPSAnJztcbiAgICAgIG1vZGFsQm9keUNsYXNzTmFtZXMgPSAnJztcbiAgICB9XG5cbiAgICBib2R5U3R5bGUgPSB7XG4gICAgICAuLi5ib2R5U3R5bGUsXG4gICAgICAuLi4odGhpcy5wcm9wcy5oaWRlQmFja2Ryb3AgJiYge1xuICAgICAgICBwb3NpdGlvbjogJ2luaXRpYWwnLFxuICAgICAgICBtYXJnaW5MZWZ0OiAwLFxuICAgICAgfSksXG4gICAgICAuLi50aGlzLnByb3BzLnN0eWxlLFxuICAgIH07XG4gICAgeENsb3NlU3R5bGUgPSB7XG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgIHRvcDogMCxcbiAgICAgIGluc2V0SW5saW5lRW5kOiAwLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIGNvbG9yOiBjb2xvci5uZXV0cmFsX2RhcmszMCxcbiAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgZm9udFNpemU6IDI0LFxuICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgfTtcblxuICAgIG1vZGFsQm9keUNsYXNzTmFtZXMgPSBbbW9kYWxCb2R5Q2xhc3NOYW1lcywgdGhpcy5wcm9wcy5ib2R5Q2xhc3NOYW1lXVxuICAgICAgLmZpbHRlcihjbGFzc05hbWUgPT4gISFjbGFzc05hbWUpXG4gICAgICAuam9pbignICcpO1xuXG4gICAgbGV0IGJvZHkgPSAoXG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXtib2R5U3R5bGV9XG4gICAgICAgIHRhYkluZGV4PVwiLTFcIlxuICAgICAgICBjbGFzc05hbWU9e21vZGFsQ2xhc3NOYW1lc31cbiAgICAgICAgcmVmPVwiZGlhbG9nXCJcbiAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17bW9kYWxCb2R5U3R5bGV9XG4gICAgICAgICAgaWQ9e3RoaXMucHJvcHMuYm9keUlkfVxuICAgICAgICAgIGNsYXNzTmFtZT17bW9kYWxCb2R5Q2xhc3NOYW1lc31cbiAgICAgICAgPlxuICAgICAgICAgIHshdGhpcy5wcm9wcy51bmNsb3NlYWJsZSAmJiAhdGhpcy5wcm9wcy5oaWRlQ2xvc2VCdXR0b24gJiYgKFxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBpZD1cIngtY2xvc2VcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmNsb3NlRGlhbG9nfVxuICAgICAgICAgICAgICBpY29uPVwiZmEtc29saWQgZmEteG1hcmtcIlxuICAgICAgICAgICAgICBzdHlsZT17eENsb3NlU3R5bGV9XG4gICAgICAgICAgICAgIGNvbG9yPVwid2hpdGVcIlxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtpMThuLmNsb3NlRGlhbG9nKCl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge3RoaXMucHJvcHMuY2hpbGRyZW59XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcblxuICAgIGlmICh0aGlzLnByb3BzLmhpZGVCYWNrZHJvcCkge1xuICAgICAgcmV0dXJuIGJvZHk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXt3cmFwcGVyQ2xhc3NOYW1lc30+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e21vZGFsQmFja2Ryb3BDbGFzc05hbWVzfVxuICAgICAgICAgIHN0eWxlPXt0aGlzLnByb3BzLmJhY2tkcm9wU3R5bGV9XG4gICAgICAgICAgb25DbGljaz17dGhpcy5jbG9zZURpYWxvZ31cbiAgICAgICAgLz5cbiAgICAgICAge2JvZHl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG4iLCJpbXBvcnQge0VWRU5UU30gZnJvbSAnQGNkby9hcHBzL21ldHJpY3MvQW5hbHl0aWNzQ29uc3RhbnRzJztcbmltcG9ydCBhbmFseXRpY3NSZXBvcnQgZnJvbSAnQGNkby9hcHBzL21ldHJpY3MvQW5hbHl0aWNzUmVwb3J0ZXInO1xuaW1wb3J0IHN0YXRzaWdSZXBvcnRlciBmcm9tICdAY2RvL2FwcHMvbWV0cmljcy9TdGF0c2lnUmVwb3J0ZXInO1xuaW1wb3J0IGV4cGVyaW1lbnRzIGZyb20gJ0BjZG8vYXBwcy91dGlsL2V4cGVyaW1lbnRzJztcbmltcG9ydCB7VXNlclR5cGVzfSBmcm9tICdAY2RvL2dlbmVyYXRlZC1zY3JpcHRzL3NoYXJlZENvbnN0YW50cyc7XG5cbmltcG9ydCB7bWFrZUVudW19IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgU0VUX0NVUlJFTlRfVVNFUl9OQU1FID0gJ2N1cnJlbnRVc2VyL1NFVF9DVVJSRU5UX1VTRVJfTkFNRSc7XG5jb25zdCBTRVRfVVNFUl9TSUdORURfSU4gPSAnY3VycmVudFVzZXIvU0VUX1VTRVJfU0lHTkVEX0lOJztcbmNvbnN0IFNFVF9VU0VSX1RZUEUgPSAnY3VycmVudFVzZXIvU0VUX1VTRVJfVFlQRSc7XG5jb25zdCBTRVRfT1ZFUl8yMSA9ICdjdXJyZW50VXNlci9TRVRfT1ZFUl8yMSc7XG5jb25zdCBTRVRfVVNFUl9ST0xFX0lOX0NPVVJTRSA9ICdjdXJyZW50VXNlci9TRVRfVVNFUl9ST0xFX0lOX0NPVVJTRSc7XG5jb25zdCBTRVRfSEFTX1NFRU5fU1RBTkRBUkRTX1JFUE9SVCA9XG4gICdjdXJyZW50VXNlci9TRVRfSEFTX1NFRU5fU1RBTkRBUkRTX1JFUE9SVCc7XG5jb25zdCBTRVRfSU5JVElBTF9EQVRBID0gJ2N1cnJlbnRVc2VyL1NFVF9JTklUSUFMX0RBVEEnO1xuY29uc3QgU0VUX01VVEVfTVVTSUMgPSAnY3VycmVudFVzZXIvU0VUX01VVEVfTVVTSUMnO1xuY29uc3QgU0VUX1NPUlRfQllfRkFNSUxZX05BTUUgPSAnY3VycmVudFVzZXIvU0VUX1NPUlRfQllfRkFNSUxZX05BTUUnO1xuY29uc3QgU0VUX1NIT1dfUFJPR1JFU1NfVEFCTEVfVjIgPSAnY3VycmVudFVzZXIvU0VUX1NIT1dfUFJPR1JFU1NfVEFCTEVfVjInO1xuY29uc3QgU0VUX0FJX1JVQlJJQ1NfRElTQUJMRUQgPSAnY3VycmVudFVzZXIvU0VUX0FJX1JVQlJJQ1NfRElTQUJMRUQnO1xuY29uc3QgU0VUX1BST0dSRVNTX1RBQkxFX1YyX0NMT1NFRF9CRVRBID1cbiAgJ2N1cnJlbnRVc2VyL1NFVF9QUk9HUkVTU19UQUJMRV9WMl9DTE9TRURfQkVUQSc7XG5jb25zdCBTRVRfREFURV9QUk9HUkVTU19UQUJMRV9JTlZJVEFUSU9OX0xBU1RfREVMQVlFRCA9XG4gICdjdXJyZW50VXNlci9TRVRfREFURV9QUk9HUkVTU19UQUJMRV9JTlZJVEFUSU9OX0xBU1RfREVMQVlFRCc7XG5jb25zdCBTRVRfU0VFTl9QUk9HUkVTU19UQUJMRV9JTlZJVEFUSU9OID1cbiAgJ2N1cnJlbnRVc2VyL1NFVF9TRUVOX1BST0dSRVNTX1RBQkxFX0lOVklUQVRJT04nO1xuY29uc3QgU0VUX1VTRVJfQ1JFQVRFRF9BVCA9ICdjdXJyZW50VXNlci9TRVRfVVNFUl9DUkVBVEVEX0FUJztcblxuZXhwb3J0IGNvbnN0IFNpZ25JblN0YXRlID0gbWFrZUVudW0oJ1Vua25vd24nLCAnU2lnbmVkSW4nLCAnU2lnbmVkT3V0Jyk7XG5cbmV4cG9ydCBjb25zdCBDb3Vyc2VSb2xlcyA9IG1ha2VFbnVtKCdVbmtub3duJywgJ0luc3RydWN0b3InLCAnUGFydGljaXBhbnQnKTtcblxuLy8gQWN0aW9uIGNyZWF0b3JzXG5leHBvcnQgY29uc3Qgc2V0Q3VycmVudFVzZXJOYW1lID0gdXNlck5hbWUgPT4gKHtcbiAgdHlwZTogU0VUX0NVUlJFTlRfVVNFUl9OQU1FLFxuICB1c2VyTmFtZSxcbn0pO1xuZXhwb3J0IGNvbnN0IHNldEN1cnJlbnRVc2VySGFzU2VlblN0YW5kYXJkc1JlcG9ydEluZm8gPVxuICBoYXNTZWVuU3RhbmRhcmRzUmVwb3J0ID0+ICh7XG4gICAgdHlwZTogU0VUX0hBU19TRUVOX1NUQU5EQVJEU19SRVBPUlQsXG4gICAgaGFzU2VlblN0YW5kYXJkc1JlcG9ydCxcbiAgfSk7XG5leHBvcnQgY29uc3Qgc2V0VXNlclNpZ25lZEluID0gaXNTaWduZWRJbiA9PiAoe1xuICB0eXBlOiBTRVRfVVNFUl9TSUdORURfSU4sXG4gIGlzU2lnbmVkSW4sXG59KTtcbmV4cG9ydCBjb25zdCBzZXRVc2VyVHlwZSA9ICh1c2VyVHlwZSwgdW5kZXIxMykgPT4gKHtcbiAgdHlwZTogU0VUX1VTRVJfVFlQRSxcbiAgdXNlclR5cGUsXG4gIHVuZGVyMTMsXG59KTtcbmV4cG9ydCBjb25zdCBzZXRPdmVyMjEgPSBvdmVyMjEgPT4gKHtcbiAgdHlwZTogU0VUX09WRVJfMjEsXG4gIG92ZXIyMSxcbn0pO1xuZXhwb3J0IGNvbnN0IHNldFVzZXJSb2xlSW5Db3Vyc2UgPSB1c2VyUm9sZUluQ291cnNlID0+ICh7XG4gIHR5cGU6IFNFVF9VU0VSX1JPTEVfSU5fQ09VUlNFLFxuICB1c2VyUm9sZUluQ291cnNlLFxufSk7XG5leHBvcnQgY29uc3Qgc2V0SW5pdGlhbERhdGEgPSBzZXJ2ZXJVc2VyID0+ICh7XG4gIHR5cGU6IFNFVF9JTklUSUFMX0RBVEEsXG4gIHNlcnZlclVzZXIsXG59KTtcbmV4cG9ydCBjb25zdCBzZXRNdXRlTXVzaWMgPSBpc0JhY2tncm91bmRNdXNpY011dGVkID0+ICh7XG4gIHR5cGU6IFNFVF9NVVRFX01VU0lDLFxuICBpc0JhY2tncm91bmRNdXNpY011dGVkLFxufSk7XG5leHBvcnQgY29uc3Qgc2V0U29ydEJ5RmFtaWx5TmFtZSA9IChcbiAgaXNTb3J0ZWRCeUZhbWlseU5hbWUsXG4gIHNlY3Rpb25JZCxcbiAgdW5pdE5hbWUsXG4gIHNvdXJjZVxuKSA9PiAoe1xuICB0eXBlOiBTRVRfU09SVF9CWV9GQU1JTFlfTkFNRSxcbiAgaXNTb3J0ZWRCeUZhbWlseU5hbWUsXG4gIHNlY3Rpb25JZCxcbiAgdW5pdE5hbWUsXG4gIHNvdXJjZSxcbn0pO1xuZXhwb3J0IGNvbnN0IHNldFNob3dQcm9ncmVzc1RhYmxlVjIgPSBzaG93UHJvZ3Jlc3NUYWJsZVYyID0+ICh7XG4gIHR5cGU6IFNFVF9TSE9XX1BST0dSRVNTX1RBQkxFX1YyLFxuICBzaG93UHJvZ3Jlc3NUYWJsZVYyLFxufSk7XG5leHBvcnQgY29uc3Qgc2V0UHJvZ3Jlc3NUYWJsZVYyQ2xvc2VkQmV0YSA9IHByb2dyZXNzVGFibGVWMkNsb3NlZEJldGEgPT4gKHtcbiAgdHlwZTogU0VUX1BST0dSRVNTX1RBQkxFX1YyX0NMT1NFRF9CRVRBLFxuICBwcm9ncmVzc1RhYmxlVjJDbG9zZWRCZXRhLFxufSk7XG5leHBvcnQgY29uc3Qgc2V0SGFzU2VlblByb2dyZXNzVGFibGVJbnZpdGUgPSBoYXNTZWVuUHJvZ3Jlc3NUYWJsZUludml0ZSA9PiAoe1xuICB0eXBlOiBTRVRfU0VFTl9QUk9HUkVTU19UQUJMRV9JTlZJVEFUSU9OLFxuICBoYXNTZWVuUHJvZ3Jlc3NUYWJsZUludml0ZSxcbn0pO1xuZXhwb3J0IGNvbnN0IHNldERhdGVQcm9ncmVzc1RhYmxlSW52aXRhdGlvbkRlbGF5ZWQgPVxuICBkYXRlUHJvZ3Jlc3NUYWJsZUludml0YXRpb25EZWxheWVkID0+ICh7XG4gICAgdHlwZTogU0VUX0RBVEVfUFJPR1JFU1NfVEFCTEVfSU5WSVRBVElPTl9MQVNUX0RFTEFZRUQsXG4gICAgZGF0ZVByb2dyZXNzVGFibGVJbnZpdGF0aW9uRGVsYXllZCxcbiAgfSk7XG5leHBvcnQgY29uc3Qgc2V0QWlSdWJyaWNzRGlzYWJsZWQgPSBhaVJ1YnJpY3NEaXNhYmxlZCA9PiAoe1xuICB0eXBlOiBTRVRfQUlfUlVCUklDU19ESVNBQkxFRCxcbiAgYWlSdWJyaWNzRGlzYWJsZWQsXG59KTtcbmV4cG9ydCBjb25zdCBzZXRVc2VyQ3JlYXRlZEF0ID0gdXNlckNyZWF0ZWRBdCA9PiAoe1xuICB0eXBlOiBTRVRfVVNFUl9DUkVBVEVEX0FULFxuICB1c2VyQ3JlYXRlZEF0LFxufSk7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZSA9IHtcbiAgdXNlcklkOiBudWxsLFxuICB1dWlkOiBudWxsLFxuICB1c2VyTmFtZTogbnVsbCxcbiAgdXNlclR5cGU6ICd1bmtub3duJyxcbiAgdXNlclJvbGVJbkNvdXJzZTogQ291cnNlUm9sZXMuVW5rbm93bixcbiAgc2lnbkluU3RhdGU6IFNpZ25JblN0YXRlLlVua25vd24sXG4gIGhhc1NlZW5TdGFuZGFyZHNSZXBvcnRJbmZvOiBmYWxzZSxcbiAgaXNCYWNrZ3JvdW5kTXVzaWNNdXRlZDogZmFsc2UsXG4gIGlzU29ydGVkQnlGYW1pbHlOYW1lOiBmYWxzZSxcbiAgaXNMdGk6IHVuZGVmaW5lZCxcbiAgaXNUZWFjaGVyOiB1bmRlZmluZWQsXG4gIC8vIFNldHRpbmcgZGVmYXVsdCB1bmRlcjEzIHZhbHVlIHRvIHRydWUgdG8gZXJyIG9uIHRoZSBzaWRlIG9mIGNhdXRpb24gZm9yIGFnZS1yZXN0cmljdGVkIGNvbnRlbnQuXG4gIHVuZGVyMTM6IHRydWUsXG4gIG92ZXIyMTogZmFsc2UsXG4gIGNoaWxkQWNjb3VudENvbXBsaWFuY2VTdGF0ZTogbnVsbCxcbiAgY291bnRyeUNvZGU6IG51bGwsXG4gIHVzU3RhdGVDb2RlOiBudWxsLFxuICBpblNlY3Rpb246IG51bGwsXG4gIHVzZXJDcmVhdGVkQXQ6IG51bGwsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjdXJyZW50VXNlcihzdGF0ZSA9IGluaXRpYWxTdGF0ZSwgYWN0aW9uKSB7XG4gIGlmIChhY3Rpb24udHlwZSA9PT0gU0VUX0NVUlJFTlRfVVNFUl9OQU1FKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgdXNlck5hbWU6IGFjdGlvbi51c2VyTmFtZSxcbiAgICB9O1xuICB9XG4gIGlmIChhY3Rpb24udHlwZSA9PT0gU0VUX0hBU19TRUVOX1NUQU5EQVJEU19SRVBPUlQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBoYXNTZWVuU3RhbmRhcmRzUmVwb3J0SW5mbzogYWN0aW9uLmhhc1NlZW5TdGFuZGFyZHNSZXBvcnQsXG4gICAgfTtcbiAgfVxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9VU0VSX1NJR05FRF9JTikge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHNpZ25JblN0YXRlOiBhY3Rpb24uaXNTaWduZWRJblxuICAgICAgICA/IFNpZ25JblN0YXRlLlNpZ25lZEluXG4gICAgICAgIDogU2lnbkluU3RhdGUuU2lnbmVkT3V0LFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfVVNFUl9UWVBFKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgdXNlclR5cGU6IGFjdGlvbi51c2VyVHlwZSxcbiAgICAgIHVuZGVyMTM6IGFjdGlvbi51bmRlcjEzLFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfT1ZFUl8yMSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG92ZXIyMTogYWN0aW9uLm92ZXIyMSxcbiAgICB9O1xuICB9XG4gIGlmIChhY3Rpb24udHlwZSA9PT0gU0VUX1VTRVJfUk9MRV9JTl9DT1VSU0UpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICB1c2VyUm9sZUluQ291cnNlOiBhY3Rpb24udXNlclJvbGVJbkNvdXJzZSxcbiAgICB9O1xuICB9XG4gIGlmIChhY3Rpb24udHlwZSA9PT0gU0VUX01VVEVfTVVTSUMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBpc0JhY2tncm91bmRNdXNpY011dGVkOiBhY3Rpb24uaXNCYWNrZ3JvdW5kTXVzaWNNdXRlZCxcbiAgICB9O1xuICB9XG4gIGlmIChhY3Rpb24udHlwZSA9PT0gU0VUX1NPUlRfQllfRkFNSUxZX05BTUUpIHtcbiAgICBpZiAoYWN0aW9uLmlzU29ydGVkQnlGYW1pbHlOYW1lKSB7XG4gICAgICBhbmFseXRpY3NSZXBvcnQuc2VuZEV2ZW50KEVWRU5UUy5TT1JUX0JZX0ZBTUlMWV9OQU1FLCB7XG4gICAgICAgIHNlY3Rpb25JZDogYWN0aW9uLnNlY3Rpb25JZCxcbiAgICAgICAgdW5pdE5hbWU6IGFjdGlvbi51bml0TmFtZSxcbiAgICAgICAgc291cmNlOiBhY3Rpb24uc291cmNlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFuYWx5dGljc1JlcG9ydC5zZW5kRXZlbnQoRVZFTlRTLlNPUlRfQllfRElTUExBWV9OQU1FLCB7XG4gICAgICAgIHNlY3Rpb25JZDogYWN0aW9uLnNlY3Rpb25JZCxcbiAgICAgICAgdW5pdE5hbWU6IGFjdGlvbi51bml0TmFtZSxcbiAgICAgICAgc291cmNlOiBhY3Rpb24uc291cmNlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGlzU29ydGVkQnlGYW1pbHlOYW1lOiBhY3Rpb24uaXNTb3J0ZWRCeUZhbWlseU5hbWUsXG4gICAgfTtcbiAgfVxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9TSE9XX1BST0dSRVNTX1RBQkxFX1YyKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2hvd1Byb2dyZXNzVGFibGVWMjogYWN0aW9uLnNob3dQcm9ncmVzc1RhYmxlVjIsXG4gICAgfTtcbiAgfVxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9QUk9HUkVTU19UQUJMRV9WMl9DTE9TRURfQkVUQSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHByb2dyZXNzVGFibGVWMkNsb3NlZEJldGE6IGFjdGlvbi5wcm9ncmVzc1RhYmxlVjJDbG9zZWRCZXRhLFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfREFURV9QUk9HUkVTU19UQUJMRV9JTlZJVEFUSU9OX0xBU1RfREVMQVlFRCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGRhdGVQcm9ncmVzc1RhYmxlSW52aXRhdGlvbkRlbGF5ZWQ6XG4gICAgICAgIGFjdGlvbi5kYXRlUHJvZ3Jlc3NUYWJsZUludml0YXRpb25EZWxheWVkLFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfU0VFTl9QUk9HUkVTU19UQUJMRV9JTlZJVEFUSU9OKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgaGFzU2VlblByb2dyZXNzVGFibGVJbnZpdGU6IGFjdGlvbi5oYXNTZWVuUHJvZ3Jlc3NUYWJsZUludml0ZSxcbiAgICB9O1xuICB9XG4gIGlmIChhY3Rpb24udHlwZSA9PT0gU0VUX0FJX1JVQlJJQ1NfRElTQUJMRUQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBhaVJ1YnJpY3NEaXNhYmxlZDogYWN0aW9uLmFpUnVicmljc0Rpc2FibGVkLFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfVVNFUl9DUkVBVEVEX0FUKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgdXNlckNyZWF0ZWRBdDogYWN0aW9uLnVzZXJDcmVhdGVkQXQsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChhY3Rpb24udHlwZSA9PT0gU0VUX0lOSVRJQUxfREFUQSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGlkLFxuICAgICAgdXVpZCxcbiAgICAgIHVzZXJuYW1lLFxuICAgICAgdXNlcl90eXBlLFxuICAgICAgbXV0ZV9tdXNpYyxcbiAgICAgIHVuZGVyXzEzLFxuICAgICAgb3Zlcl8yMSxcbiAgICAgIHNvcnRfYnlfZmFtaWx5X25hbWUsXG4gICAgICBzaG93X3Byb2dyZXNzX3RhYmxlX3YyLFxuICAgICAgYWlfcnVicmljc19kaXNhYmxlZCxcbiAgICAgIHByb2dyZXNzX3RhYmxlX3YyX2Nsb3NlZF9iZXRhLFxuICAgICAgaXNfbHRpLFxuICAgICAgZGF0ZV9wcm9ncmVzc190YWJsZV9pbnZpdGF0aW9uX2xhc3RfZGVsYXllZCxcbiAgICAgIGhhc19zZWVuX3Byb2dyZXNzX3RhYmxlX3YyX2ludml0YXRpb24sXG4gICAgICBjaGlsZF9hY2NvdW50X2NvbXBsaWFuY2Vfc3RhdGUsXG4gICAgICBjb3VudHJ5X2NvZGUsXG4gICAgICB1c19zdGF0ZV9jb2RlLFxuICAgICAgYWdlLFxuICAgICAgaW5fc2VjdGlvbixcbiAgICAgIGNyZWF0ZWRfYXQsXG4gICAgICBpc192ZXJpZmllZF9pbnN0cnVjdG9yLFxuICAgIH0gPSBhY3Rpb24uc2VydmVyVXNlcjtcbiAgICBhbmFseXRpY3NSZXBvcnQuc2V0VXNlclByb3BlcnRpZXMoXG4gICAgICBpZCxcbiAgICAgIHVzZXJfdHlwZSxcbiAgICAgIGV4cGVyaW1lbnRzLmdldEVuYWJsZWRFeHBlcmltZW50cygpXG4gICAgKTtcbiAgICAvLyBDYWxsaW5nIFN0YXRzaWcgc2VwYXJhdGVseSB0byBlbXBoYXNpemUgZGlmZmVyZW50IHVzZXIgaW50ZWdyYXRpb25zXG4gICAgLy8gYW5kIGJlY2F1c2UgZHVhbCByZXBvcnRpbmcgaXMgYXNwaXJhdGlvbmFsbHkgdGVtcG9yYXJ5IChNYXJjaCAyMDI0KVxuICAgIHN0YXRzaWdSZXBvcnRlci5zZXRVc2VyUHJvcGVydGllcyhcbiAgICAgIGlkLFxuICAgICAgdXNlcl90eXBlLFxuICAgICAgaXNfdmVyaWZpZWRfaW5zdHJ1Y3RvcixcbiAgICAgIGV4cGVyaW1lbnRzLmdldEVuYWJsZWRFeHBlcmltZW50cygpXG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICB1c2VySWQ6IGlkLFxuICAgICAgdXVpZDogdXVpZCxcbiAgICAgIHVzZXJOYW1lOiB1c2VybmFtZSxcbiAgICAgIHVzZXJUeXBlOiB1c2VyX3R5cGUsXG4gICAgICBpc0JhY2tncm91bmRNdXNpY011dGVkOiBtdXRlX211c2ljLFxuICAgICAgdW5kZXIxMzogdW5kZXJfMTMsXG4gICAgICBvdmVyMjE6IG92ZXJfMjEsXG4gICAgICBpc1NvcnRlZEJ5RmFtaWx5TmFtZTogc29ydF9ieV9mYW1pbHlfbmFtZSxcbiAgICAgIHNob3dQcm9ncmVzc1RhYmxlVjI6IHNob3dfcHJvZ3Jlc3NfdGFibGVfdjIsXG4gICAgICBhaVJ1YnJpY3NEaXNhYmxlZDogYWlfcnVicmljc19kaXNhYmxlZCxcbiAgICAgIHByb2dyZXNzVGFibGVWMkNsb3NlZEJldGE6IHByb2dyZXNzX3RhYmxlX3YyX2Nsb3NlZF9iZXRhLFxuICAgICAgaXNMdGk6IGlzX2x0aSxcbiAgICAgIGlzVGVhY2hlcjogdXNlcl90eXBlID09PSBVc2VyVHlwZXMuVEVBQ0hFUixcbiAgICAgIGluVVNBOiBbJ1VTJywgJ1JEJ10uaW5jbHVkZXMoY291bnRyeV9jb2RlKSB8fCAhIXVzX3N0YXRlX2NvZGUsXG4gICAgICBkYXRlUHJvZ3Jlc3NUYWJsZUludml0YXRpb25EZWxheWVkOlxuICAgICAgICBkYXRlX3Byb2dyZXNzX3RhYmxlX2ludml0YXRpb25fbGFzdF9kZWxheWVkLFxuICAgICAgaGFzU2VlblByb2dyZXNzVGFibGVJbnZpdGU6IGhhc19zZWVuX3Byb2dyZXNzX3RhYmxlX3YyX2ludml0YXRpb24sXG4gICAgICBjaGlsZEFjY291bnRDb21wbGlhbmNlU3RhdGU6IGNoaWxkX2FjY291bnRfY29tcGxpYW5jZV9zdGF0ZSxcbiAgICAgIGNvdW50cnlDb2RlOiBjb3VudHJ5X2NvZGUsXG4gICAgICB1c1N0YXRlQ29kZTogdXNfc3RhdGVfY29kZSxcbiAgICAgIGFnZSxcbiAgICAgIGluU2VjdGlvbjogaW5fc2VjdGlvbixcbiAgICAgIHVzZXJDcmVhdGVkQXQ6IGNyZWF0ZWRfYXQsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzU2lnbmVkSW4gPSBjdXJyZW50VXNlclN0YXRlID0+IHtcbiAgcmV0dXJuIGN1cnJlbnRVc2VyU3RhdGUuc2lnbkluU3RhdGUgPT09IFNpZ25JblN0YXRlLlNpZ25lZEluO1xufTtcbiIsIi8qIVxuXHRDb3B5cmlnaHQgKGMpIDIwMTggSmVkIFdhdHNvbi5cblx0TGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlIChNSVQpLCBzZWVcblx0aHR0cDovL2plZHdhdHNvbi5naXRodWIuaW8vY2xhc3NuYW1lc1xuKi9cbi8qIGdsb2JhbCBkZWZpbmUgKi9cblxuKGZ1bmN0aW9uICgpIHtcblx0J3VzZSBzdHJpY3QnO1xuXG5cdHZhciBoYXNPd24gPSB7fS5oYXNPd25Qcm9wZXJ0eTtcblx0dmFyIG5hdGl2ZUNvZGVTdHJpbmcgPSAnW25hdGl2ZSBjb2RlXSc7XG5cblx0ZnVuY3Rpb24gY2xhc3NOYW1lcygpIHtcblx0XHR2YXIgY2xhc3NlcyA9IFtdO1xuXG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBhcmcgPSBhcmd1bWVudHNbaV07XG5cdFx0XHRpZiAoIWFyZykgY29udGludWU7XG5cblx0XHRcdHZhciBhcmdUeXBlID0gdHlwZW9mIGFyZztcblxuXHRcdFx0aWYgKGFyZ1R5cGUgPT09ICdzdHJpbmcnIHx8IGFyZ1R5cGUgPT09ICdudW1iZXInKSB7XG5cdFx0XHRcdGNsYXNzZXMucHVzaChhcmcpO1xuXHRcdFx0fSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGFyZykpIHtcblx0XHRcdFx0aWYgKGFyZy5sZW5ndGgpIHtcblx0XHRcdFx0XHR2YXIgaW5uZXIgPSBjbGFzc05hbWVzLmFwcGx5KG51bGwsIGFyZyk7XG5cdFx0XHRcdFx0aWYgKGlubmVyKSB7XG5cdFx0XHRcdFx0XHRjbGFzc2VzLnB1c2goaW5uZXIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIGlmIChhcmdUeXBlID09PSAnb2JqZWN0Jykge1xuXHRcdFx0XHRpZiAoYXJnLnRvU3RyaW5nICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nICYmICFhcmcudG9TdHJpbmcudG9TdHJpbmcoKS5pbmNsdWRlcygnW25hdGl2ZSBjb2RlXScpKSB7XG5cdFx0XHRcdFx0Y2xhc3Nlcy5wdXNoKGFyZy50b1N0cmluZygpKTtcblx0XHRcdFx0XHRjb250aW51ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGZvciAodmFyIGtleSBpbiBhcmcpIHtcblx0XHRcdFx0XHRpZiAoaGFzT3duLmNhbGwoYXJnLCBrZXkpICYmIGFyZ1trZXldKSB7XG5cdFx0XHRcdFx0XHRjbGFzc2VzLnB1c2goa2V5KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG5cdH1cblxuXHRpZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbW9kdWxlLmV4cG9ydHMpIHtcblx0XHRjbGFzc05hbWVzLmRlZmF1bHQgPSBjbGFzc05hbWVzO1xuXHRcdG1vZHVsZS5leHBvcnRzID0gY2xhc3NOYW1lcztcblx0fSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBkZWZpbmUuYW1kID09PSAnb2JqZWN0JyAmJiBkZWZpbmUuYW1kKSB7XG5cdFx0Ly8gcmVnaXN0ZXIgYXMgJ2NsYXNzbmFtZXMnLCBjb25zaXN0ZW50IHdpdGggbnBtIHBhY2thZ2UgbmFtZVxuXHRcdGRlZmluZSgnY2xhc3NuYW1lcycsIFtdLCBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZXR1cm4gY2xhc3NOYW1lcztcblx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHR3aW5kb3cuY2xhc3NOYW1lcyA9IGNsYXNzTmFtZXM7XG5cdH1cbn0oKSk7XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi54NE1sdWRzSGZ2Q21PVmlFckhhTHtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lng0TWx1ZHNIZnZDbU9WaUVySGFMOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgIzAwOTNhNDtib3JkZXItcmFkaXVzOi4yNXJlbTtvdXRsaW5lLW9mZnNldDowfS54NE1sdWRzSGZ2Q21PVmlFckhhTDphY3RpdmU6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXt0ZXh0LWRlY29yYXRpb246bm9uZX0uUTRVcEVlbjBHSjVjbFF4REpzWVF7Y29sb3I6IzhjNTJiYX0uUTRVcEVlbjBHSjVjbFF4REpzWVE6aG92ZXIsLlE0VXBFZW4wR0o1Y2xReERKc1lRIDphY3RpdmUsLlE0VXBFZW4wR0o1Y2xReERKc1lRIDp2aXNpdGVke2NvbG9yOiM2YzQ2OGF9LlE0VXBFZW4wR0o1Y2xReERKc1lROmZvY3VzLXZpc2libGV7Y29sb3I6IzhjNTJiYX0ud1F5WXlUX0k4VUZ1V2RnTE15SVd7Y29sb3I6IzI5MmYzNn0ud1F5WXlUX0k4VUZ1V2RnTE15SVc6aG92ZXIsLndReVl5VF9JOFVGdVdkZ0xNeUlXIDphY3RpdmUsLndReVl5VF9JOFVGdVdkZ0xNeUlXIDp2aXNpdGVke2NvbG9yOiM1ZjY4NzJ9LndReVl5VF9JOFVGdVdkZ0xNeUlXOmZvY3VzLXZpc2libGV7Y29sb3I6IzI5MmYzNn0ueDRNbHVkc0hmdkNtT1ZpRXJIYUxbYXJpYS1kaXNhYmxlZD10cnVlXXtjdXJzb3I6bm90LWFsbG93ZWQ7Y29sb3I6I2JlYzJjN30uaXZLZFk4TTVxa3NoMV9rcEsxS1l7Zm9udC1mYW1pbHk6XFxcIk1ldHJvcG9saXNcXFwiLFxcXCJOb3RvIFNhbnNcXFwiLFxcXCJOb3RvIFNhbnMgTWF0aFxcXCIsXFxcIk5vdG8gU2FucyBBcmFiaWNcXFwiLFxcXCJOb3RvIFNhbnMgQXJtZW5pYW5cXFwiLFxcXCJOb3RvIFNhbnMgQmVuZ2FsaVxcXCIsXFxcIk5vdG8gU2FucyBTQ1xcXCIsXFxcIk5vdG8gU2FucyBUQ1xcXCIsXFxcIk5vdG8gU2FucyBEZXZhbmFnYXJpXFxcIixcXFwiTm90byBTYW5zIEdlb3JnaWFuXFxcIixcXFwiTm90byBTYW5zIEhlYnJld1xcXCIsXFxcIk5vdG8gU2FucyBKUFxcXCIsXFxcIk5vdG8gU2FucyBLYW5uYWRhXFxcIixcXFwiTm90byBTYW5zIEtobWVyXFxcIixcXFwiTm90byBTYW5zIEtSXFxcIixcXFwiTm90byBTYW5zIE15YW5tYXJcXFwiLFxcXCJOb3RvIFNhbnMgU2luaGFsYVxcXCIsXFxcIk5vdG8gU2FucyBUYW1pbFxcXCIsXFxcIk5vdG8gU2FucyBUZWx1Z3VcXFwiLFxcXCJOb3RvIFNhbnMgVGhhaVxcXCIsXFxcIk5vdG8gU2FucyBUaGFhbmFcXFwiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc3R5bGU6bm9ybWFsO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS40fS5rcXFSU2FaY0YyMWNzWEFqZmdkantmb250LWZhbWlseTpcXFwiTWV0cm9wb2xpc1xcXCIsXFxcIk5vdG8gU2Fuc1xcXCIsXFxcIk5vdG8gU2FucyBNYXRoXFxcIixcXFwiTm90byBTYW5zIEFyYWJpY1xcXCIsXFxcIk5vdG8gU2FucyBBcm1lbmlhblxcXCIsXFxcIk5vdG8gU2FucyBCZW5nYWxpXFxcIixcXFwiTm90byBTYW5zIFNDXFxcIixcXFwiTm90byBTYW5zIFRDXFxcIixcXFwiTm90byBTYW5zIERldmFuYWdhcmlcXFwiLFxcXCJOb3RvIFNhbnMgR2VvcmdpYW5cXFwiLFxcXCJOb3RvIFNhbnMgSGVicmV3XFxcIixcXFwiTm90byBTYW5zIEpQXFxcIixcXFwiTm90byBTYW5zIEthbm5hZGFcXFwiLFxcXCJOb3RvIFNhbnMgS2htZXJcXFwiLFxcXCJOb3RvIFNhbnMgS1JcXFwiLFxcXCJOb3RvIFNhbnMgTXlhbm1hclxcXCIsXFxcIk5vdG8gU2FucyBTaW5oYWxhXFxcIixcXFwiTm90byBTYW5zIFRhbWlsXFxcIixcXFwiTm90byBTYW5zIFRlbHVndVxcXCIsXFxcIk5vdG8gU2FucyBUaGFpXFxcIixcXFwiTm90byBTYW5zIFRoYWFuYVxcXCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zdHlsZTpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjQ4fS5mVTNwNnE4MGpfT2xfQlNwOWhJSXtmb250LWZhbWlseTpcXFwiTWV0cm9wb2xpc1xcXCIsXFxcIk5vdG8gU2Fuc1xcXCIsXFxcIk5vdG8gU2FucyBNYXRoXFxcIixcXFwiTm90byBTYW5zIEFyYWJpY1xcXCIsXFxcIk5vdG8gU2FucyBBcm1lbmlhblxcXCIsXFxcIk5vdG8gU2FucyBCZW5nYWxpXFxcIixcXFwiTm90byBTYW5zIFNDXFxcIixcXFwiTm90byBTYW5zIFRDXFxcIixcXFwiTm90byBTYW5zIERldmFuYWdhcmlcXFwiLFxcXCJOb3RvIFNhbnMgR2VvcmdpYW5cXFwiLFxcXCJOb3RvIFNhbnMgSGVicmV3XFxcIixcXFwiTm90byBTYW5zIEpQXFxcIixcXFwiTm90byBTYW5zIEthbm5hZGFcXFwiLFxcXCJOb3RvIFNhbnMgS2htZXJcXFwiLFxcXCJOb3RvIFNhbnMgS1JcXFwiLFxcXCJOb3RvIFNhbnMgTXlhbm1hclxcXCIsXFxcIk5vdG8gU2FucyBTaW5oYWxhXFxcIixcXFwiTm90byBTYW5zIFRhbWlsXFxcIixcXFwiTm90byBTYW5zIFRlbHVndVxcXCIsXFxcIk5vdG8gU2FucyBUaGFpXFxcIixcXFwiTm90byBTYW5zIFRoYWFuYVxcXCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zdHlsZTpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjU0fS5nRkJ1RkZXSmYwTFRnZDdyMWNRcHtmb250LWZhbWlseTpcXFwiTWV0cm9wb2xpc1xcXCIsXFxcIk5vdG8gU2Fuc1xcXCIsXFxcIk5vdG8gU2FucyBNYXRoXFxcIixcXFwiTm90byBTYW5zIEFyYWJpY1xcXCIsXFxcIk5vdG8gU2FucyBBcm1lbmlhblxcXCIsXFxcIk5vdG8gU2FucyBCZW5nYWxpXFxcIixcXFwiTm90byBTYW5zIFNDXFxcIixcXFwiTm90byBTYW5zIFRDXFxcIixcXFwiTm90byBTYW5zIERldmFuYWdhcmlcXFwiLFxcXCJOb3RvIFNhbnMgR2VvcmdpYW5cXFwiLFxcXCJOb3RvIFNhbnMgSGVicmV3XFxcIixcXFwiTm90byBTYW5zIEpQXFxcIixcXFwiTm90byBTYW5zIEthbm5hZGFcXFwiLFxcXCJOb3RvIFNhbnMgS2htZXJcXFwiLFxcXCJOb3RvIFNhbnMgS1JcXFwiLFxcXCJOb3RvIFNhbnMgTXlhbm1hclxcXCIsXFxcIk5vdG8gU2FucyBTaW5oYWxhXFxcIixcXFwiTm90byBTYW5zIFRhbWlsXFxcIixcXFwiTm90byBTYW5zIFRlbHVndVxcXCIsXFxcIk5vdG8gU2FucyBUaGFpXFxcIixcXFwiTm90byBTYW5zIFRoYWFuYVxcXCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zdHlsZTpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjEuNjR9XCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vc3JjL2NvbXBvbmVudExpYnJhcnkvbGluay9saW5rLm1vZHVsZS5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi9zaGFyZWQvY3NzL2NvbG9yLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uL3NoYXJlZC9jc3MvZm9udC5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi9zcmMvY29tcG9uZW50TGlicmFyeS9jb21tb24vc3R5bGVzL21peGlucy5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUlBLHNCQUNFLG1CQUFBLENBQ0Esc0JBQUEsQ0FDQSxrQkFBQSxDQUNBLFFBQUEsQ0FDQSx5QkFBQSxDQUdBLG9DQUNFLHlCQUFBLENBQ0Esb0JBQUEsQ0FDQSxnQkFBQSxDQUdGLHVEQUNFLG9CQUFBLENBR0Ysc0JBQ0UsYUM2S2tCLENEM0tsQix5RkFDRSxhQzJLZ0IsQ0R4S2xCLG9DQUNFLGFDc0tnQixDRGxLcEIsc0JBQ0UsYUM4TVUsQ0Q1TVYseUZBQ0UsYUN5S1csQ0R0S2Isb0NBQ0UsYUN1TVEsQ0RsTVosMENBQ0Usa0JBQUEsQ0FDQSxhQ3lKYSxDRHBKakIsc0JFNEJFLDhZQXBFVSxDQXFFVixlQTlEc0IsQ0ErRHRCLGlCQUFBLENDakRBLHlCQUFBLENBS0EsaUJBQUEsQ0FDQSxlQUFBLENIaUJGLHNCRXdCRSw4WUFwRVUsQ0FxRVYsZUE5RHNCLENBK0R0QixpQkFBQSxDQ2pEQSx5QkFBQSxDQVdBLGNBQUEsQ0FDQSxnQkFBQSxDSGVGLHNCRW9CRSw4WUFwRVUsQ0FxRVYsZUE5RHNCLENBK0R0QixpQkFBQSxDQ2pEQSx5QkFBQSxDQWlCQSxpQkFBQSxDQUNBLGdCQUFBLENIYUYsc0JFZ0JFLDhZQXBFVSxDQXFFVixlQTlEc0IsQ0ErRHRCLGlCQUFBLENDakRBLHlCQUFBLENBdUJBLGdCQUFBLENBQ0EsZ0JBQUFcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQGltcG9ydCBcXFwiY29sb3JcXFwiO1xcbkBpbXBvcnQgXFxcIkBjZG8vYXBwcy9jb21wb25lbnRMaWJyYXJ5L2NvbW1vbi9zdHlsZXMvbWl4aW5zXFxcIjtcXG5cXG4vLyBMaW5rIGNvbW1vbiBzdHlsZXNcXG4ubGluayB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGdhcDogMTBweDtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcblxcblxcbiAgJjpmb2N1cy12aXNpYmxlIHtcXG4gICAgb3V0bGluZTogMnB4IHNvbGlkICRsaWdodF9wcmltYXJ5XzUwMDtcXG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcXG4gICAgb3V0bGluZS1vZmZzZXQ6IDA7XFxuICB9XFxuXFxuICAmOmFjdGl2ZTpub3QoW2FyaWEtZGlzYWJsZWQ9XFxcInRydWVcXFwiXSkge1xcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICB9XFxuXFxuICAmLXByaW1hcnkge1xcbiAgICBjb2xvcjogJGxpZ2h0X3NlY29uZGFyeV81MDA7XFxuXFxuICAgICY6aG92ZXIsIDphY3RpdmUsIDp2aXNpdGVkIHtcXG4gICAgICBjb2xvcjogJGxpZ2h0X3NlY29uZGFyeV83MDA7XFxuICAgIH1cXG5cXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcXG4gICAgICBjb2xvcjogJGxpZ2h0X3NlY29uZGFyeV81MDA7XFxuICAgIH1cXG4gIH1cXG5cXG4gICYtc2Vjb25kYXJ5IHtcXG4gICAgY29sb3I6ICRsaWdodF9ibGFjaztcXG5cXG4gICAgJjpob3ZlciwgOmFjdGl2ZSwgOnZpc2l0ZWQge1xcbiAgICAgIGNvbG9yOiAkbGlnaHRfZ3JheV84MDA7XFxuICAgIH1cXG5cXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcXG4gICAgICBjb2xvcjogJGxpZ2h0X2JsYWNrO1xcbiAgICB9XFxuICB9XFxuXFxuXFxuICAmW2FyaWEtZGlzYWJsZWQ9XFxcInRydWVcXFwiXSB7XFxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxuICAgIGNvbG9yOiAkbGlnaHRfZ3JheV8zMDA7XFxuICB9XFxufVxcblxcbi8vIFNpemVzXFxuLmxpbmstbCB7XFxuICBAaW5jbHVkZSBsaW5rLWJvZHktb25lO1xcbn1cXG5cXG4ubGluay1tIHtcXG4gIEBpbmNsdWRlIGxpbmstYm9keS10d287XFxufVxcblxcbi5saW5rLXMge1xcbiAgQGluY2x1ZGUgbGluay1ib2R5LXRocmVlO1xcbn1cXG5cXG4ubGluay14cyB7XFxuICBAaW5jbHVkZSBsaW5rLWJvZHktZm91cjtcXG59XCIsXCIvLyBjb2xvcnMgZnJvbSBodHRwczovL3d3dy5kcm9wYm94LmNvbS9zL3ljaml3dDh2eGxtdjJpaC9Db2RlLm9yZ19zdHlsZXNoZWV0X3YyXzA5LjA1LjEzLnBkZlxcblxcbi8vIFBsZWFzZSBrZWVwIHRoaXMgZmlsZSBzaW1wbGU7IGl0IHNob3VsZCBvbmx5IGNvbnRhaW4gY29sb3IgZGVmaW5pdGlvbnNcXG4vLyAgIGFuZCBhbGlhc2VzLiAgVmFyaWFibGVzIGRlZmluZWQgaW4gdGhpcyBmaWxlIGFyZSBleHBvcnRlZCB0b1xcbi8vICAgYXBwcy9zcmMvdXRpbC9jb2xvci5qcyBkdXJpbmcgdGhlIGFwcHMgYnVpbGQgcHJvY2Vzcy5cXG5cXG4kYmxhY2s6ICMwMDA7XFxuJGJhY2tncm91bmRfYmxhY2s6ICMxMjE0MTY7XFxuJGRhcmtfZ3JheTogIzJEMzEzOTtcXG4kZGFya2VzdF9ncmF5OiAjMjkyRjM2O1xcbiRkYXJrX3NsYXRlX2dyYXk6ICMyODJjMzQ7XFxuJGRhcmtlc3Rfc2xhdGVfZ3JheTogIzI1MjkyZDtcXG4kZGFya19jaGFyY29hbDogIzRkNTc1ZjtcXG4kY2hhcmNvYWw6ICM1YjY3NzA7XFxuJGxpZ2h0X2dyYXk6ICM5NDljYTI7XFxuJGxpZ2h0ZXJfZ3JheTogI2M2Y2FjZDtcXG4kbGlnaHRlc3RfZ3JheTogI2U3ZThlYTtcXG4kYmFja2dyb3VuZF9ncmF5OiAjZjJmMmYyO1xcbiRkaW1ncmF5OiAjNjk2OTY5O1xcbiR3aGl0ZTogI2ZmZjtcXG4kZGVmYXVsdF9ibHVlOiAjMzY3MGIzO1xcblxcbiRkYXJrX3RlYWw6ICMwMDk0YTM7XFxuJHRlYWw6ICMwMDkzYTQ7XFxuJGFwcGxhYl9idXR0b25fdGVhbDogIzFhYmM5YztcXG4kbGlnaHRfdGVhbDogIzU5Y2FkMztcXG4kbGlnaHRpc2hfdGVhbDogIzgwZDZkZTtcXG4kbGlnaHRlcl90ZWFsOiAjYTZlM2U4O1xcbiRsaWdodGVzdF90ZWFsOiAjZDlmM2Y1O1xcbiRhaV9ydWJyaWNfY3lhbjogIzNjZmZmODtcXG5cXG4kcHVycGxlOiAjOGM1MmJhO1xcbiRsaWdodF9wdXJwbGU6ICNhNjliYzE7XFxuJGxpZ2h0ZXJfcHVycGxlOiAjY2ZjOWRlO1xcbiRsaWdodGVzdF9wdXJwbGU6ICNlYmU4ZjE7XFxuXFxuJGN5YW46ICMwMDk0Y2E7XFxuJGxpZ2h0X2N5YW46ICM1OWI5ZGM7XFxuJGxpZ2h0ZXJfY3lhbjogI2E2ZGFlZDtcXG4kbGlnaHRlc3RfY3lhbjogI2Q5ZWZmNztcXG4kYWxtb3N0X3doaXRlX2N5YW46ICNmNWZjZmY7XFxuXFxuJG9yYW5nZTogI2ZmYTQwMDtcXG4kbGlnaHRfb3JhbmdlOiAjZmZjNDU5O1xcbiRsaWdodGVyX29yYW5nZTogI2ZmZTBhNjtcXG4kbGlnaHRlc3Rfb3JhbmdlOiAjZmZmMmQ5O1xcbiRkYXJrX29yYW5nZTogI2ZmODYwMDtcXG5cXG4kZ3JlZW46ICNiOWJmMTU7XFxuJGxpZ2h0X2dyZWVuOiAjZDFkNTY3O1xcbiRsaWdodGVyX2dyZWVuOiAjZTdlOWFkO1xcbiRsaWdodGVzdF9ncmVlbjogI2Y1ZjVkYztcXG4kaGlnaGxpZ2h0X2dyZWVuOiAjOGFmYzliO1xcblxcbiR5ZWxsb3c6ICNmZmI4MWQ7XFxuJGxpZ2h0X3llbGxvdzogI2ZmZGI3NDtcXG4kbGlnaHRlcl95ZWxsb3c6ICNmZmViYjU7XFxuJGxpZ2h0ZXN0X3llbGxvdzogI2ZmZjdkZjtcXG5cXG4kZ29sZGVucm9kOiAjZGFhNTIwO1xcblxcbiRoZWFkZXJfdGV4dDogJHdoaXRlO1xcbiRia2duZF9jb2xvcjogJHRlYWw7XFxuJGluc2V0X2NvbG9yOiAkbGlnaHRlcl9ncmF5O1xcbiRkYXJrX2NvbG9yOiAkcHVycGxlO1xcbiRoZHJfY29sb3I6ICRwdXJwbGU7XFxuXFxuLy8gU29tZSBleHRyYSBjb2xvcnMuXFxuJHJlZDogI2MwMDtcXG4kbGlnaHRlc3RfcmVkOiAjZmNjO1xcbiRkYXJrX3JlZDogI2Q2MjkxMTtcXG4kcmVhbGdyZWVuOiAjMDA4MDAwO1xcbiRyZWFseWVsbG93OiAjZmYwO1xcbiRtdXN0YXJkeWVsbG93OiAjZWZjZDFjO1xcbiR0d2l0dGVyX2JsdWU6ICMwMGFjZWQ7XFxuJGZhY2Vib29rX2JsdWU6ICMzYjU5OTg7XFxuJGxpbmtlZGluX2JsdWU6ICMwMDc3QjU7XFxuJGRhcmtfYmx1ZTogIzAwNjQ3ZjtcXG4kYmxvY2tseV9mbHlvdXRfZ3JheTogI2RkZDtcXG4kZGVmYXVsdF90ZXh0OiAjMzMzO1xcbiRib3JkZXJfZ3JheTogI2JiYjtcXG4kYm9yZGVyX2xpZ2h0X2dyYXk6ICNkOGQ4ZDg7XFxuJHRhYmxlX2hlYWRlcjogI2VjZWNlYztcXG4kdGFibGVfbGlnaHRfcm93OiAjZmNmY2ZjO1xcbiR0YWJsZV9kYXJrX3JvdzogI2Y0ZjRmNDtcXG5cXG4vLyBQcm9ncmVzcyBjb2xvcnMuXFxuJGxldmVsX3N1Ym1pdHRlZDogJHB1cnBsZTtcXG4kbGV2ZWxfcGVyZmVjdDogcmdiKDE0LCAxOTAsIDE0KTtcXG4kbGV2ZWxfcGFzc2VkOiByZ2IoMTU5LCAyMTIsIDE1OSk7XFxuJGxldmVsX2F0dGVtcHRlZDogJHJlYWx5ZWxsb3c7XFxuJGxldmVsX25vdF90cmllZDogI2ZlZmVmZTtcXG4kbGV2ZWxfY3VycmVudDogJG9yYW5nZTtcXG4kbGV2ZWxfcmV2aWV3X3JlamVjdGVkOiAkcmVkO1xcbiRsZXZlbF9yZXZpZXdfYWNjZXB0ZWQ6IHJnYigxMSwgMTQyLCAxMSk7IC8vIFRPRE86ICRsZXZlbF9wYXNzZWQ7XFxuJGFzc2Vzc21lbnQ6ICRjeWFuO1xcbiR3b3Jrc3BhY2VfcnVubmluZ19iYWNrZ3JvdW5kOiAjZTVlNWU1O1xcblxcbi8vIEV4cGVyaW1lbnRhbCBTcHJpdGUgTGFiIHZhbGlkYXRpb24gY29sb3JzLlxcbiRkYXJrX3B1cnBsZTogIzY4MkE3NztcXG4kYnJpZ2h0X2dyZWVuOiAjMGViZTBlO1xcbiRuZW9uX3Bpbms6ICNlOTExOGY7XFxuXFxuLy8gTGlua3MgKHVzZWQgaW4gYXBwcykuXFxuJGxpbmtfY29sb3I6ICMwNTk2Y2U7XFxuXFxuLy8gU2hhZG93LlxcbiRzaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG5cXG4vLyBDb2xvcnMgdGhhdCBhcmUgdGFrZW4gZnJvbSBib290c3RyYXAsIGFuZCBub3QgbmVjZXNzYXJpbHkgcGFydCBvZiBvdXIgY29yZSB0aGVtZS5cXG4kYm9vdHN0cmFwX2J1dHRvbl9ibHVlOiAjMzM3YWI3O1xcbiRib290c3RyYXBfYnV0dG9uX3JlZDogI2Q5NTM0ZjtcXG4kYm9vdHN0cmFwX2Vycm9yX2JhY2tncm91bmQ6ICNmMmRlZGU7XFxuJGJvb3RzdHJhcF9lcnJvcl90ZXh0OiAjYjk0YTQ4O1xcbiRib290c3RyYXBfdjNfZXJyb3JfdGV4dDogI2E5NDQ0MjtcXG4kYm9vdHN0cmFwX2Vycm9yX2JvcmRlcjogI2ViY2NkMTtcXG4kYm9vdHN0cmFwX3dhcm5pbmdfYmFja2dyb3VuZDogI2ZjZjhlMztcXG4kYm9vdHN0cmFwX3dhcm5pbmdfdGV4dDogI2MwOTg1MztcXG4kYm9vdHN0cmFwX3dhcm5pbmdfYm9yZGVyOiAjZmFlYmNjO1xcbiRib290c3RyYXBfYm9yZGVyX2NvbG9yOiAjY2NjY2NjO1xcbiRib290c3RyYXBfc3VjY2Vzc19iYWNrZ3JvdW5kOiAjZGZmMGQ4O1xcbiRib290c3RyYXBfc3VjY2Vzc190ZXh0OiAjNDY4ODQ3O1xcbiRib290c3RyYXBfc3VjY2Vzc19ib3JkZXI6ICNkNmU5YzY7XFxuXFxuLy8gQ29sb3JzIHRha2VuIGZyb20gZHJvcGxldCwgbm90IHBhcnQgb2Ygb3VyIGNvcmUgdGhlbWUuXFxuJGRyb3BsZXRfbGlnaHRfZ3JlZW46ICNkM2U5NjU7XFxuJGRyb3BsZXRfYmx1ZTogIzY0YjVmNjtcXG4kZHJvcGxldF9icmlnaHRfYmx1ZTogIzE5YzNlMTtcXG4kZHJvcGxldF95ZWxsb3c6ICNmZmYxNzY7XFxuJGRyb3BsZXRfb3JhbmdlOiAjZmZiNzRkO1xcbiRkcm9wbGV0X3JlZDogI2Y3ODE4MztcXG4kZHJvcGxldF9jeWFuOiAjNGRkMGUxO1xcbiRkcm9wbGV0X3Bpbms6ICNmNTdhYzY7XFxuJGRyb3BsZXRfcHVycGxlOiAjYmI3N2M3O1xcbiRkcm9wbGV0X2dyZWVuOiAjNjhkOTk1O1xcbiRkcm9wbGV0X3doaXRlOiAkd2hpdGU7XFxuXFxuLy8gT2NlYW5zOiBkZWVwIGJsdWUgYmFja2dyb3VuZC5cXG4kb2NlYW5zX2RlZXBfYmx1ZTogcmdiKDIsIDAsIDI4KTtcXG5cXG4vLyBEYXJrIHRoZW1lIGJhY2tncm91bmQgKHVzZWQgYnkgZGVmYXVsdCBpbiBNdXNpYyBMYWIpXFxuJGRhcmtfYmxhY2s6ICMxMjEyMTI7XFxuXFxuLy8gPT09LS0tLT09PS0tLS09PT0tLS0tIFBoYXNlIDEgQ29sb3JzOiAtLS0tPT09LS0tLT09PS0tLS09PT1cXG4vLyBCcmFuZFxcbiRicmFuZF9wcmltYXJ5X2xpZ2h0OiAjRTBGOEY5O1xcbiRicmFuZF9wcmltYXJ5X2RlZmF1bHQ6ICMwMDlFQjA7XFxuJGJyYW5kX3ByaW1hcnlfZGFyazogIzAwNzc4NTtcXG5cXG4kYnJhbmRfc2Vjb25kYXJ5X2xpZ2h0OiAjRTBEMUVDO1xcbiRicmFuZF9zZWNvbmRhcnlfZGVmYXVsdDogIzhDNTJCQTtcXG4kYnJhbmRfc2Vjb25kYXJ5X2Rhcms6ICM2QzQ2OEE7XFxuXFxuJGJyYW5kX2FjY2VudF9kZWZhdWx0OiAjRUQ2MDYwO1xcblxcbiRicmFuZF90ZWFsXzU6ICNERkYyRjQ7XFxuXFxuLy9Qcm9kdWN0XFxuJHByb2R1Y3RfYWZmaXJtYXRpdmVfZGVmYXVsdDogIzNFQTMzRTtcXG5cXG4kcHJvZHVjdF9uZWdhdGl2ZV9saWdodDogI0ZERUJFOTtcXG4kcHJvZHVjdF9uZWdhdGl2ZV9kZWZhdWx0OiAjRTUzMTFBO1xcbiRwcm9kdWN0X25lZ2F0aXZlX2Rhcms6ICNBQTI1MTM7XFxuXFxuJHByb2R1Y3RfY2F1dGlvbl9kZWZhdWx0OiAjRjlDQjI4O1xcblxcbiRwcm9kdWN0X2luZm9ybWF0aW9uX2RlZmF1bHQ6ICMwMDdBQ0M7XFxuXFxuLy8gTmV1dHJhbFxcbiRuZXV0cmFsX3doaXRlOiAjRkZGRkZGO1xcbiRuZXV0cmFsX2xpZ2h0OiAjRjdGOEZBO1xcbiRuZXV0cmFsX2dyYXkxMDogI0VBRUJFQjtcXG4kbmV1dHJhbF9kYXJrMTA6ICNFQUVDRUY7XFxuJG5ldXRyYWxfZGFyazIwOiAjRDFENEQ4O1xcbiRuZXV0cmFsX2RhcmszMDogI0JFQzJDNztcXG4kbmV1dHJhbF9kYXJrNDA6ICNBQkIwQjY7XFxuJG5ldXRyYWxfZGFyazUwOiAjOTg5RUE1O1xcbiRuZXV0cmFsX2Rhcms2MDogIzg1OEM5NDtcXG4kbmV1dHJhbF9kYXJrNzA6ICM3MjdBODM7XFxuJG5ldXRyYWxfZGFyazgwOiAjNUY2ODcyO1xcbiRuZXV0cmFsX2Rhcms5MDogIzRDNTY2MTtcXG4kbmV1dHJhbF9kYXJrOiAjMjkyRjM2O1xcblxcbi8vQnJhbmRzXFxuJGdvb2dsZV9icmFuZF9jb2xvcjogIzBGOUQ1ODtcXG4kbWljcm9zb2Z0X2JyYW5kX2NvbG9yOiAjRkZCOTAwO1xcbiRmYWNlYm9va19icmFuZF9jb2xvcjogIzNCNTk5ODtcXG4kY2xldmVyX2JyYW5kX2NvbG9yOiAjMTQ2NEZGO1xcblxcbi8vID09PS0tLS09PT0tLS0tPT09LS0tLSBEZXNpZ24gc3lzdGVtIGNvbG9yczogLS0tLT09PS0tLS09PT0tLS0tPT09XFxuXFxuJGxpZ2h0X3ByaW1hcnlfMTAwOiAjQkZFNEU4O1xcbiRsaWdodF9wcmltYXJ5XzUwMDogIzAwOTNBNDtcXG4kbGlnaHRfcHJpbWFyeV83MDA6ICMwMDc3ODU7XFxuXFxuJGxpZ2h0X3NlY29uZGFyeV8xMDA6ICNFMkQ0RUU7XFxuJGxpZ2h0X3NlY29uZGFyeV81MDA6ICM4QzUyQkE7XFxuJGxpZ2h0X3NlY29uZGFyeV83MDA6ICM2QzQ2OEE7XFxuXFxuJGxpZ2h0X2dyYXlfNTA6ICNGN0Y4RkE7XFxuJGxpZ2h0X2dyYXlfMTAwOiAjRUFFQ0VGO1xcbiRsaWdodF9ncmF5XzIwMDogI0QxRDREODtcXG4kbGlnaHRfZ3JheV8zMDA6ICNCRUMyQzc7XFxuJGxpZ2h0X2dyYXlfNDAwOiAjQUJCMEI2O1xcbiRsaWdodF9ncmF5XzUwMDogIzk4OUVBNTtcXG4kbGlnaHRfZ3JheV82MDA6ICM4NThDOTQ7XFxuJGxpZ2h0X2dyYXlfNzAwOiAjNzI3QTgzO1xcbiRsaWdodF9ncmF5XzgwMDogIzVGNjg3MjtcXG4kbGlnaHRfZ3JheV85MDA6ICM0QzU2NjE7XFxuJGxpZ2h0X2dyYXlfOTUwOiAjMzk0NDUwO1xcblxcbiRsaWdodF9hZmZpcm1hdGl2ZV8xMDA6ICNFMkYxRTI7XFxuJGxpZ2h0X2FmZmlybWF0aXZlXzUwMDogIzNFQTMzRTtcXG4kbGlnaHRfYWZmaXJtYXRpdmVfNzAwOiAjMkQ3NDJEO1xcblxcbiRsaWdodF9uZWdhdGl2ZV8xMDA6ICNGQkUwREQ7XFxuJGxpZ2h0X25lZ2F0aXZlXzUwMDogI0U1MzExQTtcXG4kbGlnaHRfbmVnYXRpdmVfNzAwOiAjQjI0OTQ5O1xcblxcbiRsaWdodF9jYXV0aW9uXzEwMDogI0ZFRjdERjtcXG4kbGlnaHRfY2F1dGlvbl81MDA6ICNGOUNCMjg7XFxuJGxpZ2h0X2NhdXRpb25fNzAwOiAjQzdBMjIwO1xcblxcbiRsaWdodF9hY2NlbnRfMTAwOiAjRkFEN0Q3O1xcbiRsaWdodF9hY2NlbnRfNTAwOiAjRUQ2MDYwO1xcbiRsaWdodF9hY2NlbnRfNzAwOiAjRDg0QzRDO1xcblxcbiRsaWdodF9hcXVhXzEwMDogI0NFRkZGRDtcXG4kbGlnaHRfYXF1YV81MDA6ICMzQ0ZGRjg7XFxuJGxpZ2h0X2FxdWFfNzAwOiAjMzBDQ0M2O1xcblxcbiRsaWdodF9vcmFuZ2VfMTAwOiAjRkZFRENDO1xcbiRsaWdodF9vcmFuZ2VfNTAwOiAjRkZBNDAwO1xcbiRsaWdodF9vcmFuZ2VfNzAwOiAjQ0M4MzAwO1xcblxcbiRsaWdodF9pbmZvXzEwMDogI0RDRUZGQjtcXG4kbGlnaHRfaW5mb181MDA6ICMxODkyRTM7XFxuJGxpZ2h0X2luZm9fNzAwOiAjMTM3NUI2O1xcblxcbiRsaWdodF93aGl0ZTogI0ZGRkZGRjtcXG5cXG4kbGlnaHRfYmxhY2s6ICMyOTJGMzY7XFxuXFxuJGxpZ2h0X2JsYWNrX29wYWNpdHlfOTA6IHJnYmEoNDEsIDQ3LCA1NCwgMC45MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktODA6IHJnYmEoNDEsIDQ3LCA1NCwgMC44MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktNzA6IHJnYmEoNDEsIDQ3LCA1NCwgMC43MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktNjA6IHJnYmEoNDEsIDQ3LCA1NCwgMC42MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktNTA6IHJnYmEoNDEsIDQ3LCA1NCwgMC41MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktNDA6IHJnYmEoNDEsIDQ3LCA1NCwgMC40MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktMzA6IHJnYmEoNDEsIDQ3LCA1NCwgMC4zMCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktMjA6IHJnYmEoNDEsIDQ3LCA1NCwgMC4yMCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktMTA6IHJnYmEoNDEsIDQ3LCA1NCwgMC4xMCk7XFxuXCIsXCIvLyBDb21tb24gc2l0ZS13aWRlIGZvbnRzLCBwdXQgaGVyZSBmb3IgZWFzeSBhY2Nlc3MgZnJvbSBhbGwgc2NzcyBmaWxlc1xcblxcbi8vIFBsZWFzZSBub3RlICghKTogdXNlIG9ubHkgc2luZ2xlIHF1b3RlcyAoJyAnKSBmb3Igc3RyaW5ncyAoISkgdG8gYWxsb3cgb3VyIGN1c3RvbSBjb252ZXJ0ZXIgdG8gd29yayBwcm9wZXJseS5cXG4vLyBUaGlzIGZpbGUgaXMgYmVpbmcgdHJhbnNwaWxlZCB0byBqcyBvYmplY3QuXFxuLy8gKFNvIGl0IGNhbiBiZSB1c2VkIGluIGpzeC90c3ggZmlsZXMgZm9yIGlubGluZSBzdHlsZXMuIFRoaXMgaXMgbWFkZSBtb3N0bHkgZm9yIGxlZ2FjeS5cXG4vLyBUcnkgdG8gYXZvaWQgdXNlIG9mIGlubGluZSBzdHlsZXMgaWYgeW91J3JlIGNyZWF0aW5nIG5ldyBjb21wb25lbnQpLlxcbi8vIEtlZXBpbmcgdGhhdCBpbiBtaW5kIC1cXG5cXG4kbWV0cm9wb2xpcy1mb250OiAnTWV0cm9wb2xpcyc7XFxuJG5vdG8tc2Fucy1mb250czogJ05vdG8gU2FucycsICdOb3RvIFNhbnMgTWF0aCcsICdOb3RvIFNhbnMgQXJhYmljJywgJ05vdG8gU2FucyBBcm1lbmlhbicsICdOb3RvIFNhbnMgQmVuZ2FsaScsXFxuJ05vdG8gU2FucyBTQycsICdOb3RvIFNhbnMgVEMnLCAnTm90byBTYW5zIERldmFuYWdhcmknLCAnTm90byBTYW5zIEdlb3JnaWFuJywgJ05vdG8gU2FucyBIZWJyZXcnLCAnTm90byBTYW5zIEpQJyxcXG4nTm90byBTYW5zIEthbm5hZGEnLCAnTm90byBTYW5zIEtobWVyJywgJ05vdG8gU2FucyBLUicsICdOb3RvIFNhbnMgTXlhbm1hcicsICdOb3RvIFNhbnMgU2luaGFsYScsXFxuJ05vdG8gU2FucyBUYW1pbCcsICdOb3RvIFNhbnMgVGVsdWd1JywgJ05vdG8gU2FucyBUaGFpJywgJ05vdG8gU2FucyBUaGFhbmEnO1xcblxcbiRtYWluLWZvbnQ6ICRtZXRyb3BvbGlzLWZvbnQsICRub3RvLXNhbnMtZm9udHMsIHNhbnMtc2VyaWY7XFxuXFxuJHRoaW4tZm9udC13ZWlnaHQ6IDEwMDtcXG4kZXh0cmEtbGlnaHQtZm9udC13ZWlnaHQ6IDIwMDtcXG4kbGlnaHQtZm9udC13ZWlnaHQ6IDMwMDtcXG4kcmVndWxhci1mb250LXdlaWdodDogNDAwO1xcbiRtZWRpdW0tZm9udC13ZWlnaHQ6IDUwMDtcXG4kc2VtaS1ib2xkLWZvbnQtd2VpZ2h0OiA2MDA7XFxuJGJvbGQtZm9udC13ZWlnaHQ6IDcwMDtcXG4kZXh0cmEtYm9sZC1mb250LXdlaWdodDogODAwO1xcbiRibGFjay1mb250LXdlaWdodDogOTAwO1xcblxcbkBtaXhpbiBtYWluLWZvbnQtdGhpbiB7XFxuICBmb250LWZhbWlseTogJG1haW4tZm9udDtcXG4gIGZvbnQtd2VpZ2h0OiAkdGhpbi1mb250LXdlaWdodDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG59XFxuXFxuQG1peGluIG1haW4tZm9udC10aGluLWl0YWxpYyB7XFxuICBAaW5jbHVkZSBtYWluLWZvbnQtdGhpbjtcXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcXG59XFxuXFxuQG1peGluIG1haW4tZm9udC1leHRyYS1saWdodCB7XFxuICBmb250LWZhbWlseTogJG1haW4tZm9udDtcXG4gIGZvbnQtd2VpZ2h0OiAkZXh0cmEtbGlnaHQtZm9udC13ZWlnaHQ7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxufVxcblxcbkBtaXhpbiBtYWluLWZvbnQtZXh0cmEtbGlnaHQtaXRhbGljIHtcXG4gIEBpbmNsdWRlIG1haW4tZm9udC1leHRyYS1saWdodDtcXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcXG59XFxuXFxuQG1peGluIG1haW4tZm9udC1saWdodCB7XFxuICBmb250LWZhbWlseTogJG1haW4tZm9udDtcXG4gIGZvbnQtd2VpZ2h0OiAkbGlnaHQtZm9udC13ZWlnaHQ7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxufVxcblxcbkBtaXhpbiBtYWluLWZvbnQtbGlnaHQtaXRhbGljIHtcXG4gIEBpbmNsdWRlIG1haW4tZm9udC1saWdodDtcXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcXG59XFxuXFxuQG1peGluIG1haW4tZm9udC1yZWd1bGFyIHtcXG4gIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xcbiAgZm9udC13ZWlnaHQ6ICRyZWd1bGFyLWZvbnQtd2VpZ2h0O1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbn1cXG5cXG5AbWl4aW4gbWFpbi1mb250LXJlZ3VsYXItaXRhbGljIHtcXG4gIEBpbmNsdWRlIG1haW4tZm9udC1yZWd1bGFyO1xcbiAgZm9udC1zdHlsZTogaXRhbGljO1xcbn1cXG5cXG5AbWl4aW4gbWFpbi1mb250LW1lZGl1bSB7XFxuICBmb250LWZhbWlseTogJG1haW4tZm9udDtcXG4gIGZvbnQtd2VpZ2h0OiAkbWVkaXVtLWZvbnQtd2VpZ2h0O1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbn1cXG5cXG5AbWl4aW4gbWFpbi1mb250LW1lZGl1bS1pdGFsaWMge1xcbiAgQGluY2x1ZGUgbWFpbi1mb250LW1lZGl1bTtcXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcXG59XFxuXFxuQG1peGluIG1haW4tZm9udC1zZW1pLWJvbGQge1xcbiAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XFxuICBmb250LXdlaWdodDogJHNlbWktYm9sZC1mb250LXdlaWdodDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG59XFxuXFxuQG1peGluIG1haW4tZm9udC1zZW1pLWJvbGQtaXRhbGljIHtcXG4gIEBpbmNsdWRlIG1haW4tZm9udC1zZW1pLWJvbGQ7XFxuICBmb250LXN0eWxlOiBpdGFsaWM7XFxufVxcblxcbkBtaXhpbiBtYWluLWZvbnQtYm9sZCB7XFxuICBmb250LWZhbWlseTogJG1haW4tZm9udDtcXG4gIGZvbnQtd2VpZ2h0OiAkYm9sZC1mb250LXdlaWdodDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG59XFxuXFxuQG1peGluIG1haW4tZm9udC1ib2xkLWl0YWxpYyB7XFxuICBAaW5jbHVkZSBtYWluLWZvbnQtYm9sZDtcXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcXG59XFxuXFxuQG1peGluIG1haW4tZm9udC1leHRyYS1ib2xkIHtcXG4gIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xcbiAgZm9udC13ZWlnaHQ6ICRleHRyYS1ib2xkLWZvbnQtd2VpZ2h0O1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbn1cXG5cXG5AbWl4aW4gbWFpbi1mb250LWV4dHJhLWJvbGQtaXRhbGljIHtcXG4gIEBpbmNsdWRlIG1haW4tZm9udC1leHRyYS1ib2xkO1xcbiAgZm9udC1zdHlsZTogaXRhbGljO1xcbn1cXG5cXG5AbWl4aW4gbWFpbi1mb250LWJsYWNrIHtcXG4gIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xcbiAgZm9udC13ZWlnaHQ6ICRibGFjay1mb250LXdlaWdodDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG59XFxuXFxuQG1peGluIG1haW4tZm9udC1ibGFjay1pdGFsaWMge1xcbiAgQGluY2x1ZGUgbWFpbi1mb250LWJsYWNrO1xcbiAgZm9udC1zdHlsZTogaXRhbGljO1xcbn1cXG5cXG4kYmFybG93U2VtaUNvbmRlbnNlZC1zZW1pYm9sZDogJ0JhcmxvdyBTZW1pIENvbmRlbnNlZCBTZW1pYm9sZCcsICRub3RvLXNhbnMtZm9udHMsIHNhbnMtc2VyaWY7XFxuJGJhcmxvd1NlbWlDb25kZW5zZWQtbWVkaXVtOiAnQmFybG93IFNlbWkgQ29uZGVuc2VkIE1lZGl1bScsICRub3RvLXNhbnMtZm9udHMsIHNhbnMtc2VyaWY7XFxuXFxuJGNvZGUtZm9udDogJ1NvdXJjZSBDb2RlIFBybycsIE1vbmFjbywgJ0JpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubycsICdMdWNpZGEgQ29uc29sZScsIFRlcm1pbmFsLCBtb25vc3BhY2U7XFxuXFxuLypcXG4gICBGb250IEF3ZXNvbWUgUzMgQnVja2V0IFVSTHNcXG4gICBDdXJyZW50IHZlcnNpb246IDYuNi4wXFxuICAgSWYgeW91IGFyZSBjaGFuZ2luZyB0aGUgbG9jYXRpb24gb2YgdGhlc2UgZmlsZXMsXFxuICAgc2VlIHRoZSByZWFkbWUgaW4gdGhpcyBkaXJlY3RvcnkgZm9yIG1vcmUgZGV0YWlsIG9uIG1hbnVhbCBzdGVwcyB0byB0YWtlIHdoZW4gdXBsb2FkaW5nIG5ldyBmaWxlcy5cXG4gKi9cXG4kZm9udC1hd2Vzb21lLWNvcmUtdXJsOiAnaHR0cHM6Ly9kc2NvLmNvZGUub3JnL2Fzc2V0cy9mb250LWF3ZXNvbWUtcHJvLzE3Mjg0MjEzNTQvY3NzL2ZvbnRhd2Vzb21lLm1pbi5jc3MnO1xcbiRmb250LWF3ZXNvbWUtYnJhbmRzLXVybDogJ2h0dHBzOi8vZHNjby5jb2RlLm9yZy9hc3NldHMvZm9udC1hd2Vzb21lLXByby8xNzI4NDIxMzU0L2Nzcy9icmFuZHMubWluLmNzcyc7XFxuJGZvbnQtYXdlc29tZS1zb2xpZC11cmw6ICdodHRwczovL2RzY28uY29kZS5vcmcvYXNzZXRzL2ZvbnQtYXdlc29tZS1wcm8vMTcyODQyMTM1NC9jc3Mvc29saWQubWluLmNzcyc7XFxuJGZvbnQtYXdlc29tZS1yZWd1bGFyLXVybDogJ2h0dHBzOi8vZHNjby5jb2RlLm9yZy9hc3NldHMvZm9udC1hd2Vzb21lLXByby8xNzI4NDIxMzU0L2Nzcy9yZWd1bGFyLm1pbi5jc3MnO1xcbiRmb250LWF3ZXNvbWUtdjQtZm9udHMtdXJsOiAnaHR0cHM6Ly9kc2NvLmNvZGUub3JnL2Fzc2V0cy9mb250LWF3ZXNvbWUtcHJvLzE3Mjg0MjEzNTQvY3NzL3Y0LWZvbnQtZmFjZS5taW4uY3NzJztcXG4kZm9udC1hd2Vzb21lLXY0LXNoaW1zLXVybDogJ2h0dHBzOi8vZHNjby5jb2RlLm9yZy9hc3NldHMvZm9udC1hd2Vzb21lLXByby8xNzI4NDIxMzU0L2Nzcy92NC1zaGltcy5taW4uY3NzJztcXG4kZm9udC1hd2Vzb21lLXY0LXNoaW1zLXVybDogJ2h0dHBzOi8vZHNjby5jb2RlLm9yZy9hc3NldHMvZm9udC1hd2Vzb21lLXByby8xNzI4NDIxMzU0L2Nzcy92NC1zaGltcy5taW4uY3NzJztcXG4kZm9udC1hd2Vzb21lLWR1b3RvbmUtdXJsOiAnaHR0cHM6Ly9kc2NvLmNvZGUub3JnL2Fzc2V0cy9mb250LWF3ZXNvbWUtcHJvLzE3Mjg0MjEzNTQvY3NzL2R1b3RvbmUubWluLmNzcyc7XFxuJGZvbnQtYXdlc29tZS1jdXN0b20taWNvbnMtdXJsOiAnaHR0cHM6Ly9kc2NvLmNvZGUub3JnL2Fzc2V0cy9mb250LWF3ZXNvbWUtcHJvLzE3Mjg0MjEzNTQvY3NzL2N1c3RvbS1pY29ucy5taW4uY3NzJztcXG5cIixcIkBpbXBvcnQgJ2NvbG9yJywgJ2ZvbnQnO1xcblxcbi8vIFR5cG9ncmFwaHkgLSBMYWJlbCBzdHlsZXNcXG5AbWl4aW4gbGFiZWwtY29tbW9uIHtcXG4gIEBpbmNsdWRlIG1haW4tZm9udC1zZW1pLWJvbGQ7XFxuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XFxufVxcblxcbkBtaXhpbiBsYWJlbC1vbmUge1xcbiAgQGluY2x1ZGUgbGFiZWwtY29tbW9uO1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNDg7XFxufVxcblxcbkBtaXhpbiBsYWJlbC10d28ge1xcbiAgQGluY2x1ZGUgbGFiZWwtY29tbW9uO1xcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU0O1xcbn1cXG5cXG5AbWl4aW4gbGFiZWwtdGhyZWUge1xcbiAgQGluY2x1ZGUgbGFiZWwtY29tbW9uO1xcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNjQ7XFxufVxcblxcbkBtaXhpbiBsYWJlbC1mb3VyIHtcXG4gIEBpbmNsdWRlIGxhYmVsLWNvbW1vbjtcXG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XFxuICBsaW5lLWhlaWdodDogMS44O1xcbn1cXG5cXG4vLyBUeXBvZ3JhcGh5IC0gTGluayBzdHlsZXMgKExpbmsgQm9keSBzdHlsZXMpXFxuQG1peGluIGxpbmstYm9keS1jb21tb24ge1xcbiAgQGluY2x1ZGUgbWFpbi1mb250LXNlbWktYm9sZDtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbn1cXG5cXG5AbWl4aW4gbGluay1ib2R5LW9uZSB7XFxuICBAaW5jbHVkZSBsaW5rLWJvZHktY29tbW9uO1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNDtcXG59XFxuXFxuQG1peGluIGxpbmstYm9keS10d28ge1xcbiAgQGluY2x1ZGUgbGluay1ib2R5LWNvbW1vbjtcXG4gIGZvbnQtc2l6ZTogMXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjQ4O1xcbn1cXG5cXG5AbWl4aW4gbGluay1ib2R5LXRocmVlIHtcXG4gIEBpbmNsdWRlIGxpbmstYm9keS1jb21tb247XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTQ7XFxufVxcblxcbkBtaXhpbiBsaW5rLWJvZHktZm91ciB7XFxuICBAaW5jbHVkZSBsaW5rLWJvZHktY29tbW9uO1xcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNjQ7XFxufVxcblxcbi8vIFR5cG9ncmFwaHkgQnV0dG9uIHRleHQgc3R5bGVzXFxuQG1peGluIGJ1dHRvbi10ZXh0LWNvbW1vbiB7XFxuICBAaW5jbHVkZSBtYWluLWZvbnQtc2VtaS1ib2xkO1xcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xcbn1cXG5cXG5AbWl4aW4gYnV0dG9uLW9uZS10ZXh0IHtcXG4gIEBpbmNsdWRlIGJ1dHRvbi10ZXh0LWNvbW1vbjtcXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XFxufVxcblxcbkBtaXhpbiBidXR0b24tdHdvLXRleHQge1xcbiAgQGluY2x1ZGUgYnV0dG9uLXRleHQtY29tbW9uO1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNDg7XFxufVxcblxcbkBtaXhpbiBidXR0b24tdGhyZWUtdGV4dCB7XFxuICBAaW5jbHVkZSBidXR0b24tdGV4dC1jb21tb247XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTQ7XFxufVxcblxcbkBtaXhpbiBidXR0b24tZm91ci10ZXh0IHtcXG4gIEBpbmNsdWRlIGJ1dHRvbi10ZXh0LWNvbW1vbjtcXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjY0O1xcbn1cXG5cXG4vLyBDb21tb24gZmllbGQgc3R5bGVzXFxuQG1peGluIGZpZWxkLWhlbHBlci1zZWN0aW9uLWNvbW1vbiB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcXG59XFxuXFxuQG1peGluIGZpZWxkLWhlbHBlci1zZWN0aW9uLWwge1xcbiAgQGluY2x1ZGUgYm9keS10d287XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgZ2FwOiAwLjM3NXJlbTtcXG59XFxuXFxuQG1peGluIGZpZWxkLWhlbHBlci1zZWN0aW9uLW0ge1xcbiAgQGluY2x1ZGUgYm9keS10aHJlZTtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxuICBnYXA6IDAuMzc1cmVtO1xcbn1cXG5cXG5AbWl4aW4gZmllbGQtaGVscGVyLXNlY3Rpb24tcyB7XFxuICBAaW5jbHVkZSBib2R5LWZvdXI7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgZ2FwOiAwLjI1cmVtO1xcbn1cXG5cXG5AbWl4aW4gZmllbGQtaGVscGVyLXNlY3Rpb24tYmxhY2sge1xcbiAgY29sb3I6ICRsaWdodF9ibGFjaztcXG59XFxuXFxuQG1peGluIGZpZWxkLWhlbHBlci1zZWN0aW9uLWJsYWNrLWRpc2FibGVkIHtcXG4gIGNvbG9yOiAkbGlnaHRfZ3JheV8yMDA7XFxufVxcblxcbkBtaXhpbiBmaWVsZC1oZWxwZXItc2VjdGlvbi13aGl0ZSB7XFxuICBjb2xvcjogJGxpZ2h0X3doaXRlO1xcbn1cXG5cXG5AbWl4aW4gZmllbGQtaGVscGVyLXNlY3Rpb24td2hpdGUtZGlzYWJsZWQge1xcbiAgY29sb3I6ICRsaWdodF9ncmF5XzcwMDtcXG59XFxuXFxuQG1peGluIGZpZWxkLWVycm9yLXNlY3Rpb24tYmxhY2sge1xcbiAgY29sb3I6ICRsaWdodF9uZWdhdGl2ZV81MDA7XFxufVxcblxcbkBtaXhpbiBmaWVsZC1lcnJvci1zZWN0aW9uLXdoaXRlIHtcXG4gIGNvbG9yOiAkbGlnaHRfd2hpdGU7XFxufVxcblxcbkBtaXhpbiBmaWVsZC1yZWFkLW9ubHktYmxhY2stY29sb3JzIHtcXG4gIGNvbG9yOiAkbGlnaHRfYmxhY2s7XFxuICBib3JkZXItY29sb3I6ICRsaWdodF9ncmF5XzIwMDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICRsaWdodF9ncmF5XzUwO1xcbn1cXG5cXG5AbWl4aW4gZmllbGQtcmVhZC1vbmx5LXdoaXRlLWNvbG9ycyB7XFxuICBjb2xvcjogJGxpZ2h0X3doaXRlO1xcbiAgYm9yZGVyLWNvbG9yOiAkbGlnaHRfZ3JheV83MDA7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRfZ3JheV85MDA7XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ubG9jYWxzID0ge1xuXHRcImxpbmtcIjogXCJ4NE1sdWRzSGZ2Q21PVmlFckhhTFwiLFxuXHRcImxpbmstcHJpbWFyeVwiOiBcIlE0VXBFZW4wR0o1Y2xReERKc1lRXCIsXG5cdFwibGluay1zZWNvbmRhcnlcIjogXCJ3UXlZeVRfSThVRnVXZGdMTXlJV1wiLFxuXHRcImxpbmstbFwiOiBcIml2S2RZOE01cWtzaDFfa3BLMUtZXCIsXG5cdFwibGluay1tXCI6IFwia3FxUlNhWmNGMjFjc1hBamZnZGpcIixcblx0XCJsaW5rLXNcIjogXCJmVTNwNnE4MGpfT2xfQlNwOWhJSVwiLFxuXHRcImxpbmsteHNcIjogXCJnRkJ1RkZXSmYwTFRnZDdyMWNRcFwiXG59O1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi5oc21NVW9mVUppNDJlRmRIZGxJb3twYWRkaW5nOjIwcHh9LmhzbU1Vb2ZVSmk0MmVGZEhkbElvIGhye2JvcmRlci1jb2xvcjojYzZjYWNkfS5VM1B1SXNkamdESmFWOWhZeGRNc3tjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjYwMH0uTms2SklNUmx0Qm9lNFc3bWxJS3h7dGV4dC1hbGlnbjplbmR9Lk5rNkpJTVJsdEJvZTRXN21sSUt4IGJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiM4YzUyYmE7Ym9yZGVyLWNvbG9yOiM4YzUyYmE7Y29sb3I6I2ZmZn1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9zcmMvdGVtcGxhdGVzL3BvbGljeV9jb21wbGlhbmNlL0FnZUdhdGVkU3R1ZGVudHNNb2RhbC9hZ2UtZ2F0ZWQtc3R1ZGVudHMtbW9kYWwubW9kdWxlLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uL3NoYXJlZC9jc3MvY29sb3Iuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFHQSxzQkFDRSxZQUFBLENBRUEseUJBQ0Usb0JDUVcsQ0RKZixzQkFDRSxVQ05NLENET04sZUFBQSxDQUdGLHNCQUNFLGNBQUEsQ0FFQSw2QkFDRSx3QkNrSXNCLENEakl0QixvQkNpSXNCLENEaEl0QixVQ21KWVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAdXNlICdzYXNzOm1hdGgnO1xcbkBpbXBvcnQgJ2NvbG9yLnNjc3MnO1xcblxcbi5tb2RhbENvbnRhaW5lciB7XFxuICBwYWRkaW5nOiAyMHB4O1xcblxcbiAgaHIge1xcbiAgICBib3JkZXItY29sb3I6ICRsaWdodGVyX2dyYXk7XFxuICB9XFxufVxcblxcbi5tb2RhbEhlYWRlciB7XFxuICBjb2xvcjogJGJsYWNrO1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG59XFxuXFxuLm1vZGFsQnV0dG9uIHtcXG4gIHRleHQtYWxpZ246IGVuZDtcXG5cXG4gIGJ1dHRvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZF9zZWNvbmRhcnlfZGVmYXVsdDtcXG4gICAgYm9yZGVyLWNvbG9yOiAkYnJhbmRfc2Vjb25kYXJ5X2RlZmF1bHQ7XFxuICAgIGNvbG9yOiAkbmV1dHJhbF93aGl0ZTtcXG4gIH1cXG59XFxuXCIsXCIvLyBjb2xvcnMgZnJvbSBodHRwczovL3d3dy5kcm9wYm94LmNvbS9zL3ljaml3dDh2eGxtdjJpaC9Db2RlLm9yZ19zdHlsZXNoZWV0X3YyXzA5LjA1LjEzLnBkZlxcblxcbi8vIFBsZWFzZSBrZWVwIHRoaXMgZmlsZSBzaW1wbGU7IGl0IHNob3VsZCBvbmx5IGNvbnRhaW4gY29sb3IgZGVmaW5pdGlvbnNcXG4vLyAgIGFuZCBhbGlhc2VzLiAgVmFyaWFibGVzIGRlZmluZWQgaW4gdGhpcyBmaWxlIGFyZSBleHBvcnRlZCB0b1xcbi8vICAgYXBwcy9zcmMvdXRpbC9jb2xvci5qcyBkdXJpbmcgdGhlIGFwcHMgYnVpbGQgcHJvY2Vzcy5cXG5cXG4kYmxhY2s6ICMwMDA7XFxuJGJhY2tncm91bmRfYmxhY2s6ICMxMjE0MTY7XFxuJGRhcmtfZ3JheTogIzJEMzEzOTtcXG4kZGFya2VzdF9ncmF5OiAjMjkyRjM2O1xcbiRkYXJrX3NsYXRlX2dyYXk6ICMyODJjMzQ7XFxuJGRhcmtlc3Rfc2xhdGVfZ3JheTogIzI1MjkyZDtcXG4kZGFya19jaGFyY29hbDogIzRkNTc1ZjtcXG4kY2hhcmNvYWw6ICM1YjY3NzA7XFxuJGxpZ2h0X2dyYXk6ICM5NDljYTI7XFxuJGxpZ2h0ZXJfZ3JheTogI2M2Y2FjZDtcXG4kbGlnaHRlc3RfZ3JheTogI2U3ZThlYTtcXG4kYmFja2dyb3VuZF9ncmF5OiAjZjJmMmYyO1xcbiRkaW1ncmF5OiAjNjk2OTY5O1xcbiR3aGl0ZTogI2ZmZjtcXG4kZGVmYXVsdF9ibHVlOiAjMzY3MGIzO1xcblxcbiRkYXJrX3RlYWw6ICMwMDk0YTM7XFxuJHRlYWw6ICMwMDkzYTQ7XFxuJGFwcGxhYl9idXR0b25fdGVhbDogIzFhYmM5YztcXG4kbGlnaHRfdGVhbDogIzU5Y2FkMztcXG4kbGlnaHRpc2hfdGVhbDogIzgwZDZkZTtcXG4kbGlnaHRlcl90ZWFsOiAjYTZlM2U4O1xcbiRsaWdodGVzdF90ZWFsOiAjZDlmM2Y1O1xcbiRhaV9ydWJyaWNfY3lhbjogIzNjZmZmODtcXG5cXG4kcHVycGxlOiAjOGM1MmJhO1xcbiRsaWdodF9wdXJwbGU6ICNhNjliYzE7XFxuJGxpZ2h0ZXJfcHVycGxlOiAjY2ZjOWRlO1xcbiRsaWdodGVzdF9wdXJwbGU6ICNlYmU4ZjE7XFxuXFxuJGN5YW46ICMwMDk0Y2E7XFxuJGxpZ2h0X2N5YW46ICM1OWI5ZGM7XFxuJGxpZ2h0ZXJfY3lhbjogI2E2ZGFlZDtcXG4kbGlnaHRlc3RfY3lhbjogI2Q5ZWZmNztcXG4kYWxtb3N0X3doaXRlX2N5YW46ICNmNWZjZmY7XFxuXFxuJG9yYW5nZTogI2ZmYTQwMDtcXG4kbGlnaHRfb3JhbmdlOiAjZmZjNDU5O1xcbiRsaWdodGVyX29yYW5nZTogI2ZmZTBhNjtcXG4kbGlnaHRlc3Rfb3JhbmdlOiAjZmZmMmQ5O1xcbiRkYXJrX29yYW5nZTogI2ZmODYwMDtcXG5cXG4kZ3JlZW46ICNiOWJmMTU7XFxuJGxpZ2h0X2dyZWVuOiAjZDFkNTY3O1xcbiRsaWdodGVyX2dyZWVuOiAjZTdlOWFkO1xcbiRsaWdodGVzdF9ncmVlbjogI2Y1ZjVkYztcXG4kaGlnaGxpZ2h0X2dyZWVuOiAjOGFmYzliO1xcblxcbiR5ZWxsb3c6ICNmZmI4MWQ7XFxuJGxpZ2h0X3llbGxvdzogI2ZmZGI3NDtcXG4kbGlnaHRlcl95ZWxsb3c6ICNmZmViYjU7XFxuJGxpZ2h0ZXN0X3llbGxvdzogI2ZmZjdkZjtcXG5cXG4kZ29sZGVucm9kOiAjZGFhNTIwO1xcblxcbiRoZWFkZXJfdGV4dDogJHdoaXRlO1xcbiRia2duZF9jb2xvcjogJHRlYWw7XFxuJGluc2V0X2NvbG9yOiAkbGlnaHRlcl9ncmF5O1xcbiRkYXJrX2NvbG9yOiAkcHVycGxlO1xcbiRoZHJfY29sb3I6ICRwdXJwbGU7XFxuXFxuLy8gU29tZSBleHRyYSBjb2xvcnMuXFxuJHJlZDogI2MwMDtcXG4kbGlnaHRlc3RfcmVkOiAjZmNjO1xcbiRkYXJrX3JlZDogI2Q2MjkxMTtcXG4kcmVhbGdyZWVuOiAjMDA4MDAwO1xcbiRyZWFseWVsbG93OiAjZmYwO1xcbiRtdXN0YXJkeWVsbG93OiAjZWZjZDFjO1xcbiR0d2l0dGVyX2JsdWU6ICMwMGFjZWQ7XFxuJGZhY2Vib29rX2JsdWU6ICMzYjU5OTg7XFxuJGxpbmtlZGluX2JsdWU6ICMwMDc3QjU7XFxuJGRhcmtfYmx1ZTogIzAwNjQ3ZjtcXG4kYmxvY2tseV9mbHlvdXRfZ3JheTogI2RkZDtcXG4kZGVmYXVsdF90ZXh0OiAjMzMzO1xcbiRib3JkZXJfZ3JheTogI2JiYjtcXG4kYm9yZGVyX2xpZ2h0X2dyYXk6ICNkOGQ4ZDg7XFxuJHRhYmxlX2hlYWRlcjogI2VjZWNlYztcXG4kdGFibGVfbGlnaHRfcm93OiAjZmNmY2ZjO1xcbiR0YWJsZV9kYXJrX3JvdzogI2Y0ZjRmNDtcXG5cXG4vLyBQcm9ncmVzcyBjb2xvcnMuXFxuJGxldmVsX3N1Ym1pdHRlZDogJHB1cnBsZTtcXG4kbGV2ZWxfcGVyZmVjdDogcmdiKDE0LCAxOTAsIDE0KTtcXG4kbGV2ZWxfcGFzc2VkOiByZ2IoMTU5LCAyMTIsIDE1OSk7XFxuJGxldmVsX2F0dGVtcHRlZDogJHJlYWx5ZWxsb3c7XFxuJGxldmVsX25vdF90cmllZDogI2ZlZmVmZTtcXG4kbGV2ZWxfY3VycmVudDogJG9yYW5nZTtcXG4kbGV2ZWxfcmV2aWV3X3JlamVjdGVkOiAkcmVkO1xcbiRsZXZlbF9yZXZpZXdfYWNjZXB0ZWQ6IHJnYigxMSwgMTQyLCAxMSk7IC8vIFRPRE86ICRsZXZlbF9wYXNzZWQ7XFxuJGFzc2Vzc21lbnQ6ICRjeWFuO1xcbiR3b3Jrc3BhY2VfcnVubmluZ19iYWNrZ3JvdW5kOiAjZTVlNWU1O1xcblxcbi8vIEV4cGVyaW1lbnRhbCBTcHJpdGUgTGFiIHZhbGlkYXRpb24gY29sb3JzLlxcbiRkYXJrX3B1cnBsZTogIzY4MkE3NztcXG4kYnJpZ2h0X2dyZWVuOiAjMGViZTBlO1xcbiRuZW9uX3Bpbms6ICNlOTExOGY7XFxuXFxuLy8gTGlua3MgKHVzZWQgaW4gYXBwcykuXFxuJGxpbmtfY29sb3I6ICMwNTk2Y2U7XFxuXFxuLy8gU2hhZG93LlxcbiRzaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4zKTtcXG5cXG4vLyBDb2xvcnMgdGhhdCBhcmUgdGFrZW4gZnJvbSBib290c3RyYXAsIGFuZCBub3QgbmVjZXNzYXJpbHkgcGFydCBvZiBvdXIgY29yZSB0aGVtZS5cXG4kYm9vdHN0cmFwX2J1dHRvbl9ibHVlOiAjMzM3YWI3O1xcbiRib290c3RyYXBfYnV0dG9uX3JlZDogI2Q5NTM0ZjtcXG4kYm9vdHN0cmFwX2Vycm9yX2JhY2tncm91bmQ6ICNmMmRlZGU7XFxuJGJvb3RzdHJhcF9lcnJvcl90ZXh0OiAjYjk0YTQ4O1xcbiRib290c3RyYXBfdjNfZXJyb3JfdGV4dDogI2E5NDQ0MjtcXG4kYm9vdHN0cmFwX2Vycm9yX2JvcmRlcjogI2ViY2NkMTtcXG4kYm9vdHN0cmFwX3dhcm5pbmdfYmFja2dyb3VuZDogI2ZjZjhlMztcXG4kYm9vdHN0cmFwX3dhcm5pbmdfdGV4dDogI2MwOTg1MztcXG4kYm9vdHN0cmFwX3dhcm5pbmdfYm9yZGVyOiAjZmFlYmNjO1xcbiRib290c3RyYXBfYm9yZGVyX2NvbG9yOiAjY2NjY2NjO1xcbiRib290c3RyYXBfc3VjY2Vzc19iYWNrZ3JvdW5kOiAjZGZmMGQ4O1xcbiRib290c3RyYXBfc3VjY2Vzc190ZXh0OiAjNDY4ODQ3O1xcbiRib290c3RyYXBfc3VjY2Vzc19ib3JkZXI6ICNkNmU5YzY7XFxuXFxuLy8gQ29sb3JzIHRha2VuIGZyb20gZHJvcGxldCwgbm90IHBhcnQgb2Ygb3VyIGNvcmUgdGhlbWUuXFxuJGRyb3BsZXRfbGlnaHRfZ3JlZW46ICNkM2U5NjU7XFxuJGRyb3BsZXRfYmx1ZTogIzY0YjVmNjtcXG4kZHJvcGxldF9icmlnaHRfYmx1ZTogIzE5YzNlMTtcXG4kZHJvcGxldF95ZWxsb3c6ICNmZmYxNzY7XFxuJGRyb3BsZXRfb3JhbmdlOiAjZmZiNzRkO1xcbiRkcm9wbGV0X3JlZDogI2Y3ODE4MztcXG4kZHJvcGxldF9jeWFuOiAjNGRkMGUxO1xcbiRkcm9wbGV0X3Bpbms6ICNmNTdhYzY7XFxuJGRyb3BsZXRfcHVycGxlOiAjYmI3N2M3O1xcbiRkcm9wbGV0X2dyZWVuOiAjNjhkOTk1O1xcbiRkcm9wbGV0X3doaXRlOiAkd2hpdGU7XFxuXFxuLy8gT2NlYW5zOiBkZWVwIGJsdWUgYmFja2dyb3VuZC5cXG4kb2NlYW5zX2RlZXBfYmx1ZTogcmdiKDIsIDAsIDI4KTtcXG5cXG4vLyBEYXJrIHRoZW1lIGJhY2tncm91bmQgKHVzZWQgYnkgZGVmYXVsdCBpbiBNdXNpYyBMYWIpXFxuJGRhcmtfYmxhY2s6ICMxMjEyMTI7XFxuXFxuLy8gPT09LS0tLT09PS0tLS09PT0tLS0tIFBoYXNlIDEgQ29sb3JzOiAtLS0tPT09LS0tLT09PS0tLS09PT1cXG4vLyBCcmFuZFxcbiRicmFuZF9wcmltYXJ5X2xpZ2h0OiAjRTBGOEY5O1xcbiRicmFuZF9wcmltYXJ5X2RlZmF1bHQ6ICMwMDlFQjA7XFxuJGJyYW5kX3ByaW1hcnlfZGFyazogIzAwNzc4NTtcXG5cXG4kYnJhbmRfc2Vjb25kYXJ5X2xpZ2h0OiAjRTBEMUVDO1xcbiRicmFuZF9zZWNvbmRhcnlfZGVmYXVsdDogIzhDNTJCQTtcXG4kYnJhbmRfc2Vjb25kYXJ5X2Rhcms6ICM2QzQ2OEE7XFxuXFxuJGJyYW5kX2FjY2VudF9kZWZhdWx0OiAjRUQ2MDYwO1xcblxcbiRicmFuZF90ZWFsXzU6ICNERkYyRjQ7XFxuXFxuLy9Qcm9kdWN0XFxuJHByb2R1Y3RfYWZmaXJtYXRpdmVfZGVmYXVsdDogIzNFQTMzRTtcXG5cXG4kcHJvZHVjdF9uZWdhdGl2ZV9saWdodDogI0ZERUJFOTtcXG4kcHJvZHVjdF9uZWdhdGl2ZV9kZWZhdWx0OiAjRTUzMTFBO1xcbiRwcm9kdWN0X25lZ2F0aXZlX2Rhcms6ICNBQTI1MTM7XFxuXFxuJHByb2R1Y3RfY2F1dGlvbl9kZWZhdWx0OiAjRjlDQjI4O1xcblxcbiRwcm9kdWN0X2luZm9ybWF0aW9uX2RlZmF1bHQ6ICMwMDdBQ0M7XFxuXFxuLy8gTmV1dHJhbFxcbiRuZXV0cmFsX3doaXRlOiAjRkZGRkZGO1xcbiRuZXV0cmFsX2xpZ2h0OiAjRjdGOEZBO1xcbiRuZXV0cmFsX2dyYXkxMDogI0VBRUJFQjtcXG4kbmV1dHJhbF9kYXJrMTA6ICNFQUVDRUY7XFxuJG5ldXRyYWxfZGFyazIwOiAjRDFENEQ4O1xcbiRuZXV0cmFsX2RhcmszMDogI0JFQzJDNztcXG4kbmV1dHJhbF9kYXJrNDA6ICNBQkIwQjY7XFxuJG5ldXRyYWxfZGFyazUwOiAjOTg5RUE1O1xcbiRuZXV0cmFsX2Rhcms2MDogIzg1OEM5NDtcXG4kbmV1dHJhbF9kYXJrNzA6ICM3MjdBODM7XFxuJG5ldXRyYWxfZGFyazgwOiAjNUY2ODcyO1xcbiRuZXV0cmFsX2Rhcms5MDogIzRDNTY2MTtcXG4kbmV1dHJhbF9kYXJrOiAjMjkyRjM2O1xcblxcbi8vQnJhbmRzXFxuJGdvb2dsZV9icmFuZF9jb2xvcjogIzBGOUQ1ODtcXG4kbWljcm9zb2Z0X2JyYW5kX2NvbG9yOiAjRkZCOTAwO1xcbiRmYWNlYm9va19icmFuZF9jb2xvcjogIzNCNTk5ODtcXG4kY2xldmVyX2JyYW5kX2NvbG9yOiAjMTQ2NEZGO1xcblxcbi8vID09PS0tLS09PT0tLS0tPT09LS0tLSBEZXNpZ24gc3lzdGVtIGNvbG9yczogLS0tLT09PS0tLS09PT0tLS0tPT09XFxuXFxuJGxpZ2h0X3ByaW1hcnlfMTAwOiAjQkZFNEU4O1xcbiRsaWdodF9wcmltYXJ5XzUwMDogIzAwOTNBNDtcXG4kbGlnaHRfcHJpbWFyeV83MDA6ICMwMDc3ODU7XFxuXFxuJGxpZ2h0X3NlY29uZGFyeV8xMDA6ICNFMkQ0RUU7XFxuJGxpZ2h0X3NlY29uZGFyeV81MDA6ICM4QzUyQkE7XFxuJGxpZ2h0X3NlY29uZGFyeV83MDA6ICM2QzQ2OEE7XFxuXFxuJGxpZ2h0X2dyYXlfNTA6ICNGN0Y4RkE7XFxuJGxpZ2h0X2dyYXlfMTAwOiAjRUFFQ0VGO1xcbiRsaWdodF9ncmF5XzIwMDogI0QxRDREODtcXG4kbGlnaHRfZ3JheV8zMDA6ICNCRUMyQzc7XFxuJGxpZ2h0X2dyYXlfNDAwOiAjQUJCMEI2O1xcbiRsaWdodF9ncmF5XzUwMDogIzk4OUVBNTtcXG4kbGlnaHRfZ3JheV82MDA6ICM4NThDOTQ7XFxuJGxpZ2h0X2dyYXlfNzAwOiAjNzI3QTgzO1xcbiRsaWdodF9ncmF5XzgwMDogIzVGNjg3MjtcXG4kbGlnaHRfZ3JheV85MDA6ICM0QzU2NjE7XFxuJGxpZ2h0X2dyYXlfOTUwOiAjMzk0NDUwO1xcblxcbiRsaWdodF9hZmZpcm1hdGl2ZV8xMDA6ICNFMkYxRTI7XFxuJGxpZ2h0X2FmZmlybWF0aXZlXzUwMDogIzNFQTMzRTtcXG4kbGlnaHRfYWZmaXJtYXRpdmVfNzAwOiAjMkQ3NDJEO1xcblxcbiRsaWdodF9uZWdhdGl2ZV8xMDA6ICNGQkUwREQ7XFxuJGxpZ2h0X25lZ2F0aXZlXzUwMDogI0U1MzExQTtcXG4kbGlnaHRfbmVnYXRpdmVfNzAwOiAjQjI0OTQ5O1xcblxcbiRsaWdodF9jYXV0aW9uXzEwMDogI0ZFRjdERjtcXG4kbGlnaHRfY2F1dGlvbl81MDA6ICNGOUNCMjg7XFxuJGxpZ2h0X2NhdXRpb25fNzAwOiAjQzdBMjIwO1xcblxcbiRsaWdodF9hY2NlbnRfMTAwOiAjRkFEN0Q3O1xcbiRsaWdodF9hY2NlbnRfNTAwOiAjRUQ2MDYwO1xcbiRsaWdodF9hY2NlbnRfNzAwOiAjRDg0QzRDO1xcblxcbiRsaWdodF9hcXVhXzEwMDogI0NFRkZGRDtcXG4kbGlnaHRfYXF1YV81MDA6ICMzQ0ZGRjg7XFxuJGxpZ2h0X2FxdWFfNzAwOiAjMzBDQ0M2O1xcblxcbiRsaWdodF9vcmFuZ2VfMTAwOiAjRkZFRENDO1xcbiRsaWdodF9vcmFuZ2VfNTAwOiAjRkZBNDAwO1xcbiRsaWdodF9vcmFuZ2VfNzAwOiAjQ0M4MzAwO1xcblxcbiRsaWdodF9pbmZvXzEwMDogI0RDRUZGQjtcXG4kbGlnaHRfaW5mb181MDA6ICMxODkyRTM7XFxuJGxpZ2h0X2luZm9fNzAwOiAjMTM3NUI2O1xcblxcbiRsaWdodF93aGl0ZTogI0ZGRkZGRjtcXG5cXG4kbGlnaHRfYmxhY2s6ICMyOTJGMzY7XFxuXFxuJGxpZ2h0X2JsYWNrX29wYWNpdHlfOTA6IHJnYmEoNDEsIDQ3LCA1NCwgMC45MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktODA6IHJnYmEoNDEsIDQ3LCA1NCwgMC44MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktNzA6IHJnYmEoNDEsIDQ3LCA1NCwgMC43MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktNjA6IHJnYmEoNDEsIDQ3LCA1NCwgMC42MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktNTA6IHJnYmEoNDEsIDQ3LCA1NCwgMC41MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktNDA6IHJnYmEoNDEsIDQ3LCA1NCwgMC40MCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktMzA6IHJnYmEoNDEsIDQ3LCA1NCwgMC4zMCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktMjA6IHJnYmEoNDEsIDQ3LCA1NCwgMC4yMCk7XFxuJGxpZ2h0X2JsYWNrX29wYWNpdHktMTA6IHJnYmEoNDEsIDQ3LCA1NCwgMC4xMCk7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5sb2NhbHMgPSB7XG5cdFwibW9kYWxDb250YWluZXJcIjogXCJoc21NVW9mVUppNDJlRmRIZGxJb1wiLFxuXHRcIm1vZGFsSGVhZGVyXCI6IFwiVTNQdUlzZGpnREphVjloWXhkTXNcIixcblx0XCJtb2RhbEJ1dHRvblwiOiBcIk5rNkpJTVJsdEJvZTRXN21sSUt4XCJcbn07XG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIlwidXNlIHN0cmljdFwiO1xuXG4vKlxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuICBBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoY3NzV2l0aE1hcHBpbmdUb1N0cmluZykge1xuICB2YXIgbGlzdCA9IFtdOyAvLyByZXR1cm4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhcyBjc3Mgc3RyaW5nXG5cbiAgbGlzdC50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgdmFyIGNvbnRlbnQgPSBcIlwiO1xuICAgICAgdmFyIG5lZWRMYXllciA9IHR5cGVvZiBpdGVtWzVdICE9PSBcInVuZGVmaW5lZFwiO1xuXG4gICAgICBpZiAoaXRlbVs0XSkge1xuICAgICAgICBjb250ZW50ICs9IFwiQHN1cHBvcnRzIChcIi5jb25jYXQoaXRlbVs0XSwgXCIpIHtcIik7XG4gICAgICB9XG5cbiAgICAgIGlmIChpdGVtWzJdKSB7XG4gICAgICAgIGNvbnRlbnQgKz0gXCJAbWVkaWEgXCIuY29uY2F0KGl0ZW1bMl0sIFwiIHtcIik7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZWVkTGF5ZXIpIHtcbiAgICAgICAgY29udGVudCArPSBcIkBsYXllclwiLmNvbmNhdChpdGVtWzVdLmxlbmd0aCA+IDAgPyBcIiBcIi5jb25jYXQoaXRlbVs1XSkgOiBcIlwiLCBcIiB7XCIpO1xuICAgICAgfVxuXG4gICAgICBjb250ZW50ICs9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSk7XG5cbiAgICAgIGlmIChuZWVkTGF5ZXIpIHtcbiAgICAgICAgY29udGVudCArPSBcIn1cIjtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW1bMl0pIHtcbiAgICAgICAgY29udGVudCArPSBcIn1cIjtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW1bNF0pIHtcbiAgICAgICAgY29udGVudCArPSBcIn1cIjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfSkuam9pbihcIlwiKTtcbiAgfTsgLy8gaW1wb3J0IGEgbGlzdCBvZiBtb2R1bGVzIGludG8gdGhlIGxpc3RcblxuXG4gIGxpc3QuaSA9IGZ1bmN0aW9uIGkobW9kdWxlcywgbWVkaWEsIGRlZHVwZSwgc3VwcG9ydHMsIGxheWVyKSB7XG4gICAgaWYgKHR5cGVvZiBtb2R1bGVzID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBtb2R1bGVzID0gW1tudWxsLCBtb2R1bGVzLCB1bmRlZmluZWRdXTtcbiAgICB9XG5cbiAgICB2YXIgYWxyZWFkeUltcG9ydGVkTW9kdWxlcyA9IHt9O1xuXG4gICAgaWYgKGRlZHVwZSkge1xuICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCB0aGlzLmxlbmd0aDsgaysrKSB7XG4gICAgICAgIHZhciBpZCA9IHRoaXNba11bMF07XG5cbiAgICAgICAgaWYgKGlkICE9IG51bGwpIHtcbiAgICAgICAgICBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2lkXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKHZhciBfayA9IDA7IF9rIDwgbW9kdWxlcy5sZW5ndGg7IF9rKyspIHtcbiAgICAgIHZhciBpdGVtID0gW10uY29uY2F0KG1vZHVsZXNbX2tdKTtcblxuICAgICAgaWYgKGRlZHVwZSAmJiBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2l0ZW1bMF1dKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGxheWVyICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIGlmICh0eXBlb2YgaXRlbVs1XSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgIGl0ZW1bNV0gPSBsYXllcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtWzFdID0gXCJAbGF5ZXJcIi5jb25jYXQoaXRlbVs1XS5sZW5ndGggPiAwID8gXCIgXCIuY29uY2F0KGl0ZW1bNV0pIDogXCJcIiwgXCIge1wiKS5jb25jYXQoaXRlbVsxXSwgXCJ9XCIpO1xuICAgICAgICAgIGl0ZW1bNV0gPSBsYXllcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAobWVkaWEpIHtcbiAgICAgICAgaWYgKCFpdGVtWzJdKSB7XG4gICAgICAgICAgaXRlbVsyXSA9IG1lZGlhO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1bMV0gPSBcIkBtZWRpYSBcIi5jb25jYXQoaXRlbVsyXSwgXCIge1wiKS5jb25jYXQoaXRlbVsxXSwgXCJ9XCIpO1xuICAgICAgICAgIGl0ZW1bMl0gPSBtZWRpYTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc3VwcG9ydHMpIHtcbiAgICAgICAgaWYgKCFpdGVtWzRdKSB7XG4gICAgICAgICAgaXRlbVs0XSA9IFwiXCIuY29uY2F0KHN1cHBvcnRzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtWzFdID0gXCJAc3VwcG9ydHMgKFwiLmNvbmNhdChpdGVtWzRdLCBcIikge1wiKS5jb25jYXQoaXRlbVsxXSwgXCJ9XCIpO1xuICAgICAgICAgIGl0ZW1bNF0gPSBzdXBwb3J0cztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsaXN0LnB1c2goaXRlbSk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiBsaXN0O1xufTsiLCJcInVzZSBzdHJpY3RcIjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAodXJsLCBvcHRpb25zKSB7XG4gIGlmICghb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuXG4gIGlmICghdXJsKSB7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHVybCA9IFN0cmluZyh1cmwuX19lc01vZHVsZSA/IHVybC5kZWZhdWx0IDogdXJsKTsgLy8gSWYgdXJsIGlzIGFscmVhZHkgd3JhcHBlZCBpbiBxdW90ZXMsIHJlbW92ZSB0aGVtXG5cbiAgaWYgKC9eWydcIl0uKlsnXCJdJC8udGVzdCh1cmwpKSB7XG4gICAgdXJsID0gdXJsLnNsaWNlKDEsIC0xKTtcbiAgfVxuXG4gIGlmIChvcHRpb25zLmhhc2gpIHtcbiAgICB1cmwgKz0gb3B0aW9ucy5oYXNoO1xuICB9IC8vIFNob3VsZCB1cmwgYmUgd3JhcHBlZD9cbiAgLy8gU2VlIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTMvI3VybHNcblxuXG4gIGlmICgvW1wiJygpIFxcdFxcbl18KCUyMCkvLnRlc3QodXJsKSB8fCBvcHRpb25zLm5lZWRRdW90ZXMpIHtcbiAgICByZXR1cm4gXCJcXFwiXCIuY29uY2F0KHVybC5yZXBsYWNlKC9cIi9nLCAnXFxcXFwiJykucmVwbGFjZSgvXFxuL2csIFwiXFxcXG5cIiksIFwiXFxcIlwiKTtcbiAgfVxuXG4gIHJldHVybiB1cmw7XG59OyIsIlwidXNlIHN0cmljdFwiO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdGVtKSB7XG4gIHZhciBjb250ZW50ID0gaXRlbVsxXTtcbiAgdmFyIGNzc01hcHBpbmcgPSBpdGVtWzNdO1xuXG4gIGlmICghY3NzTWFwcGluZykge1xuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgaWYgKHR5cGVvZiBidG9hID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB2YXIgYmFzZTY0ID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoY3NzTWFwcGluZykpKSk7XG4gICAgdmFyIGRhdGEgPSBcInNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFwiLmNvbmNhdChiYXNlNjQpO1xuICAgIHZhciBzb3VyY2VNYXBwaW5nID0gXCIvKiMgXCIuY29uY2F0KGRhdGEsIFwiICovXCIpO1xuICAgIHZhciBzb3VyY2VVUkxzID0gY3NzTWFwcGluZy5zb3VyY2VzLm1hcChmdW5jdGlvbiAoc291cmNlKSB7XG4gICAgICByZXR1cm4gXCIvKiMgc291cmNlVVJMPVwiLmNvbmNhdChjc3NNYXBwaW5nLnNvdXJjZVJvb3QgfHwgXCJcIikuY29uY2F0KHNvdXJjZSwgXCIgKi9cIik7XG4gICAgfSk7XG4gICAgcmV0dXJuIFtjb250ZW50XS5jb25jYXQoc291cmNlVVJMcykuY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9pbihcIlxcblwiKTtcbiAgfVxuXG4gIHJldHVybiBbY29udGVudF0uam9pbihcIlxcblwiKTtcbn07IiwiXG4gICAgICBpbXBvcnQgQVBJIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICBpbXBvcnQgZG9tQVBJIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVEb21BUEkuanNcIjtcbiAgICAgIGltcG9ydCBpbnNlcnRGbiBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydEJ5U2VsZWN0b3IuanNcIjtcbiAgICAgIGltcG9ydCBzZXRBdHRyaWJ1dGVzIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc2V0QXR0cmlidXRlc1dpdGhvdXRBdHRyaWJ1dGVzLmpzXCI7XG4gICAgICBpbXBvcnQgaW5zZXJ0U3R5bGVFbGVtZW50IGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0U3R5bGVFbGVtZW50LmpzXCI7XG4gICAgICBpbXBvcnQgc3R5bGVUYWdUcmFuc2Zvcm1GbiBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3N0eWxlVGFnVHJhbnNmb3JtLmpzXCI7XG4gICAgICBpbXBvcnQgY29udGVudCwgKiBhcyBuYW1lZEV4cG9ydCBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1s0XS51c2VbMV0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzRdLnVzZVsyXSEuL2xpbmsubW9kdWxlLnNjc3NcIjtcbiAgICAgIFxuICAgICAgXG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuc3R5bGVUYWdUcmFuc2Zvcm0gPSBzdHlsZVRhZ1RyYW5zZm9ybUZuO1xub3B0aW9ucy5zZXRBdHRyaWJ1dGVzID0gc2V0QXR0cmlidXRlcztcblxuICAgICAgb3B0aW9ucy5pbnNlcnQgPSBpbnNlcnRGbi5iaW5kKG51bGwsIFwiaGVhZFwiKTtcbiAgICBcbm9wdGlvbnMuZG9tQVBJID0gZG9tQVBJO1xub3B0aW9ucy5pbnNlcnRTdHlsZUVsZW1lbnQgPSBpbnNlcnRTdHlsZUVsZW1lbnQ7XG5cbnZhciB1cGRhdGUgPSBBUEkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgKiBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1s0XS51c2VbMV0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzRdLnVzZVsyXSEuL2xpbmsubW9kdWxlLnNjc3NcIjtcbiAgICAgICBleHBvcnQgZGVmYXVsdCBjb250ZW50ICYmIGNvbnRlbnQubG9jYWxzID8gY29udGVudC5sb2NhbHMgOiB1bmRlZmluZWQ7XG4iLCJcbiAgICAgIGltcG9ydCBBUEkgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgIGltcG9ydCBkb21BUEkgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZURvbUFQSS5qc1wiO1xuICAgICAgaW1wb3J0IGluc2VydEZuIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0QnlTZWxlY3Rvci5qc1wiO1xuICAgICAgaW1wb3J0IHNldEF0dHJpYnV0ZXMgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zZXRBdHRyaWJ1dGVzV2l0aG91dEF0dHJpYnV0ZXMuanNcIjtcbiAgICAgIGltcG9ydCBpbnNlcnRTdHlsZUVsZW1lbnQgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRTdHlsZUVsZW1lbnQuanNcIjtcbiAgICAgIGltcG9ydCBzdHlsZVRhZ1RyYW5zZm9ybUZuIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVUYWdUcmFuc2Zvcm0uanNcIjtcbiAgICAgIGltcG9ydCBjb250ZW50LCAqIGFzIG5hbWVkRXhwb3J0IGZyb20gXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzRdLnVzZVsxXSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3J1bGVTZXRbMV0ucnVsZXNbNF0udXNlWzJdIS4vYWdlLWdhdGVkLXN0dWRlbnRzLW1vZGFsLm1vZHVsZS5zY3NzXCI7XG4gICAgICBcbiAgICAgIFxuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLnN0eWxlVGFnVHJhbnNmb3JtID0gc3R5bGVUYWdUcmFuc2Zvcm1Gbjtcbm9wdGlvbnMuc2V0QXR0cmlidXRlcyA9IHNldEF0dHJpYnV0ZXM7XG5cbiAgICAgIG9wdGlvbnMuaW5zZXJ0ID0gaW5zZXJ0Rm4uYmluZChudWxsLCBcImhlYWRcIik7XG4gICAgXG5vcHRpb25zLmRvbUFQSSA9IGRvbUFQSTtcbm9wdGlvbnMuaW5zZXJ0U3R5bGVFbGVtZW50ID0gaW5zZXJ0U3R5bGVFbGVtZW50O1xuXG52YXIgdXBkYXRlID0gQVBJKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0ICogZnJvbSBcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/P3J1bGVTZXRbMV0ucnVsZXNbNF0udXNlWzFdIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1s0XS51c2VbMl0hLi9hZ2UtZ2F0ZWQtc3R1ZGVudHMtbW9kYWwubW9kdWxlLnNjc3NcIjtcbiAgICAgICBleHBvcnQgZGVmYXVsdCBjb250ZW50ICYmIGNvbnRlbnQubG9jYWxzID8gY29udGVudC5sb2NhbHMgOiB1bmRlZmluZWQ7XG4iLCJcInVzZSBzdHJpY3RcIjtcblxudmFyIHN0eWxlc0luRE9NID0gW107XG5cbmZ1bmN0aW9uIGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpIHtcbiAgdmFyIHJlc3VsdCA9IC0xO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzSW5ET00ubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoc3R5bGVzSW5ET01baV0uaWRlbnRpZmllciA9PT0gaWRlbnRpZmllcikge1xuICAgICAgcmVzdWx0ID0gaTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIG1vZHVsZXNUb0RvbShsaXN0LCBvcHRpb25zKSB7XG4gIHZhciBpZENvdW50TWFwID0ge307XG4gIHZhciBpZGVudGlmaWVycyA9IFtdO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAgIHZhciBpdGVtID0gbGlzdFtpXTtcbiAgICB2YXIgaWQgPSBvcHRpb25zLmJhc2UgPyBpdGVtWzBdICsgb3B0aW9ucy5iYXNlIDogaXRlbVswXTtcbiAgICB2YXIgY291bnQgPSBpZENvdW50TWFwW2lkXSB8fCAwO1xuICAgIHZhciBpZGVudGlmaWVyID0gXCJcIi5jb25jYXQoaWQsIFwiIFwiKS5jb25jYXQoY291bnQpO1xuICAgIGlkQ291bnRNYXBbaWRdID0gY291bnQgKyAxO1xuICAgIHZhciBpbmRleEJ5SWRlbnRpZmllciA9IGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuICAgIHZhciBvYmogPSB7XG4gICAgICBjc3M6IGl0ZW1bMV0sXG4gICAgICBtZWRpYTogaXRlbVsyXSxcbiAgICAgIHNvdXJjZU1hcDogaXRlbVszXSxcbiAgICAgIHN1cHBvcnRzOiBpdGVtWzRdLFxuICAgICAgbGF5ZXI6IGl0ZW1bNV1cbiAgICB9O1xuXG4gICAgaWYgKGluZGV4QnlJZGVudGlmaWVyICE9PSAtMSkge1xuICAgICAgc3R5bGVzSW5ET01baW5kZXhCeUlkZW50aWZpZXJdLnJlZmVyZW5jZXMrKztcbiAgICAgIHN0eWxlc0luRE9NW2luZGV4QnlJZGVudGlmaWVyXS51cGRhdGVyKG9iaik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciB1cGRhdGVyID0gYWRkRWxlbWVudFN0eWxlKG9iaiwgb3B0aW9ucyk7XG4gICAgICBvcHRpb25zLmJ5SW5kZXggPSBpO1xuICAgICAgc3R5bGVzSW5ET00uc3BsaWNlKGksIDAsIHtcbiAgICAgICAgaWRlbnRpZmllcjogaWRlbnRpZmllcixcbiAgICAgICAgdXBkYXRlcjogdXBkYXRlcixcbiAgICAgICAgcmVmZXJlbmNlczogMVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWRlbnRpZmllcnMucHVzaChpZGVudGlmaWVyKTtcbiAgfVxuXG4gIHJldHVybiBpZGVudGlmaWVycztcbn1cblxuZnVuY3Rpb24gYWRkRWxlbWVudFN0eWxlKG9iaiwgb3B0aW9ucykge1xuICB2YXIgYXBpID0gb3B0aW9ucy5kb21BUEkob3B0aW9ucyk7XG4gIGFwaS51cGRhdGUob2JqKTtcblxuICB2YXIgdXBkYXRlciA9IGZ1bmN0aW9uIHVwZGF0ZXIobmV3T2JqKSB7XG4gICAgaWYgKG5ld09iaikge1xuICAgICAgaWYgKG5ld09iai5jc3MgPT09IG9iai5jc3MgJiYgbmV3T2JqLm1lZGlhID09PSBvYmoubWVkaWEgJiYgbmV3T2JqLnNvdXJjZU1hcCA9PT0gb2JqLnNvdXJjZU1hcCAmJiBuZXdPYmouc3VwcG9ydHMgPT09IG9iai5zdXBwb3J0cyAmJiBuZXdPYmoubGF5ZXIgPT09IG9iai5sYXllcikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGFwaS51cGRhdGUob2JqID0gbmV3T2JqKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXBpLnJlbW92ZSgpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gdXBkYXRlcjtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobGlzdCwgb3B0aW9ucykge1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgbGlzdCA9IGxpc3QgfHwgW107XG4gIHZhciBsYXN0SWRlbnRpZmllcnMgPSBtb2R1bGVzVG9Eb20obGlzdCwgb3B0aW9ucyk7XG4gIHJldHVybiBmdW5jdGlvbiB1cGRhdGUobmV3TGlzdCkge1xuICAgIG5ld0xpc3QgPSBuZXdMaXN0IHx8IFtdO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsYXN0SWRlbnRpZmllcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBpZGVudGlmaWVyID0gbGFzdElkZW50aWZpZXJzW2ldO1xuICAgICAgdmFyIGluZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcik7XG4gICAgICBzdHlsZXNJbkRPTVtpbmRleF0ucmVmZXJlbmNlcy0tO1xuICAgIH1cblxuICAgIHZhciBuZXdMYXN0SWRlbnRpZmllcnMgPSBtb2R1bGVzVG9Eb20obmV3TGlzdCwgb3B0aW9ucyk7XG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIF9pZGVudGlmaWVyID0gbGFzdElkZW50aWZpZXJzW19pXTtcblxuICAgICAgdmFyIF9pbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKF9pZGVudGlmaWVyKTtcblxuICAgICAgaWYgKHN0eWxlc0luRE9NW19pbmRleF0ucmVmZXJlbmNlcyA9PT0gMCkge1xuICAgICAgICBzdHlsZXNJbkRPTVtfaW5kZXhdLnVwZGF0ZXIoKTtcblxuICAgICAgICBzdHlsZXNJbkRPTS5zcGxpY2UoX2luZGV4LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYXN0SWRlbnRpZmllcnMgPSBuZXdMYXN0SWRlbnRpZmllcnM7XG4gIH07XG59OyIsIlwidXNlIHN0cmljdFwiO1xuXG52YXIgbWVtbyA9IHt9O1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5cbmZ1bmN0aW9uIGdldFRhcmdldCh0YXJnZXQpIHtcbiAgaWYgKHR5cGVvZiBtZW1vW3RhcmdldF0gPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICB2YXIgc3R5bGVUYXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCk7IC8vIFNwZWNpYWwgY2FzZSB0byByZXR1cm4gaGVhZCBvZiBpZnJhbWUgaW5zdGVhZCBvZiBpZnJhbWUgaXRzZWxmXG5cbiAgICBpZiAod2luZG93LkhUTUxJRnJhbWVFbGVtZW50ICYmIHN0eWxlVGFyZ2V0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxJRnJhbWVFbGVtZW50KSB7XG4gICAgICB0cnkge1xuICAgICAgICAvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFjY2VzcyB0byBpZnJhbWUgaXMgYmxvY2tlZFxuICAgICAgICAvLyBkdWUgdG8gY3Jvc3Mtb3JpZ2luIHJlc3RyaWN0aW9uc1xuICAgICAgICBzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgICAgICBzdHlsZVRhcmdldCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbWVtb1t0YXJnZXRdID0gc3R5bGVUYXJnZXQ7XG4gIH1cblxuICByZXR1cm4gbWVtb1t0YXJnZXRdO1xufVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5cblxuZnVuY3Rpb24gaW5zZXJ0QnlTZWxlY3RvcihpbnNlcnQsIHN0eWxlKSB7XG4gIHZhciB0YXJnZXQgPSBnZXRUYXJnZXQoaW5zZXJ0KTtcblxuICBpZiAoIXRhcmdldCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGZpbmQgYSBzdHlsZSB0YXJnZXQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgdmFsdWUgZm9yIHRoZSAnaW5zZXJ0JyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cIik7XG4gIH1cblxuICB0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGluc2VydEJ5U2VsZWN0b3I7IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuZnVuY3Rpb24gaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpIHtcbiAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG4gIG9wdGlvbnMuc2V0QXR0cmlidXRlcyhlbGVtZW50LCBvcHRpb25zLmF0dHJpYnV0ZXMpO1xuICBvcHRpb25zLmluc2VydChlbGVtZW50LCBvcHRpb25zLm9wdGlvbnMpO1xuICByZXR1cm4gZWxlbWVudDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBpbnNlcnRTdHlsZUVsZW1lbnQ7IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuZnVuY3Rpb24gc2V0QXR0cmlidXRlc1dpdGhvdXRBdHRyaWJ1dGVzKHN0eWxlRWxlbWVudCkge1xuICB2YXIgbm9uY2UgPSB0eXBlb2YgX193ZWJwYWNrX25vbmNlX18gIT09IFwidW5kZWZpbmVkXCIgPyBfX3dlYnBhY2tfbm9uY2VfXyA6IG51bGw7XG5cbiAgaWYgKG5vbmNlKSB7XG4gICAgc3R5bGVFbGVtZW50LnNldEF0dHJpYnV0ZShcIm5vbmNlXCIsIG5vbmNlKTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHNldEF0dHJpYnV0ZXNXaXRob3V0QXR0cmlidXRlczsiLCJcInVzZSBzdHJpY3RcIjtcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5mdW5jdGlvbiBhcHBseShzdHlsZUVsZW1lbnQsIG9wdGlvbnMsIG9iaikge1xuICB2YXIgY3NzID0gXCJcIjtcblxuICBpZiAob2JqLnN1cHBvcnRzKSB7XG4gICAgY3NzICs9IFwiQHN1cHBvcnRzIChcIi5jb25jYXQob2JqLnN1cHBvcnRzLCBcIikge1wiKTtcbiAgfVxuXG4gIGlmIChvYmoubWVkaWEpIHtcbiAgICBjc3MgKz0gXCJAbWVkaWEgXCIuY29uY2F0KG9iai5tZWRpYSwgXCIge1wiKTtcbiAgfVxuXG4gIHZhciBuZWVkTGF5ZXIgPSB0eXBlb2Ygb2JqLmxheWVyICE9PSBcInVuZGVmaW5lZFwiO1xuXG4gIGlmIChuZWVkTGF5ZXIpIHtcbiAgICBjc3MgKz0gXCJAbGF5ZXJcIi5jb25jYXQob2JqLmxheWVyLmxlbmd0aCA+IDAgPyBcIiBcIi5jb25jYXQob2JqLmxheWVyKSA6IFwiXCIsIFwiIHtcIik7XG4gIH1cblxuICBjc3MgKz0gb2JqLmNzcztcblxuICBpZiAobmVlZExheWVyKSB7XG4gICAgY3NzICs9IFwifVwiO1xuICB9XG5cbiAgaWYgKG9iai5tZWRpYSkge1xuICAgIGNzcyArPSBcIn1cIjtcbiAgfVxuXG4gIGlmIChvYmouc3VwcG9ydHMpIHtcbiAgICBjc3MgKz0gXCJ9XCI7XG4gIH1cblxuICB2YXIgc291cmNlTWFwID0gb2JqLnNvdXJjZU1hcDtcblxuICBpZiAoc291cmNlTWFwICYmIHR5cGVvZiBidG9hICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgY3NzICs9IFwiXFxuLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxcIi5jb25jYXQoYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKSwgXCIgKi9cIik7XG4gIH0gLy8gRm9yIG9sZCBJRVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAgKi9cblxuXG4gIG9wdGlvbnMuc3R5bGVUYWdUcmFuc2Zvcm0oY3NzLCBzdHlsZUVsZW1lbnQsIG9wdGlvbnMub3B0aW9ucyk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVN0eWxlRWxlbWVudChzdHlsZUVsZW1lbnQpIHtcbiAgLy8gaXN0YW5idWwgaWdub3JlIGlmXG4gIGlmIChzdHlsZUVsZW1lbnQucGFyZW50Tm9kZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHN0eWxlRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlRWxlbWVudCk7XG59XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cblxuXG5mdW5jdGlvbiBkb21BUEkob3B0aW9ucykge1xuICB2YXIgc3R5bGVFbGVtZW50ID0gb3B0aW9ucy5pbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucyk7XG4gIHJldHVybiB7XG4gICAgdXBkYXRlOiBmdW5jdGlvbiB1cGRhdGUob2JqKSB7XG4gICAgICBhcHBseShzdHlsZUVsZW1lbnQsIG9wdGlvbnMsIG9iaik7XG4gICAgfSxcbiAgICByZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZSgpIHtcbiAgICAgIHJlbW92ZVN0eWxlRWxlbWVudChzdHlsZUVsZW1lbnQpO1xuICAgIH1cbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBkb21BUEk7IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuZnVuY3Rpb24gc3R5bGVUYWdUcmFuc2Zvcm0oY3NzLCBzdHlsZUVsZW1lbnQpIHtcbiAgaWYgKHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0KSB7XG4gICAgc3R5bGVFbGVtZW50LnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzcztcbiAgfSBlbHNlIHtcbiAgICB3aGlsZSAoc3R5bGVFbGVtZW50LmZpcnN0Q2hpbGQpIHtcbiAgICAgIHN0eWxlRWxlbWVudC5yZW1vdmVDaGlsZChzdHlsZUVsZW1lbnQuZmlyc3RDaGlsZCk7XG4gICAgfVxuXG4gICAgc3R5bGVFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc3R5bGVUYWdUcmFuc2Zvcm07IiwiaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUmVhY3QsIHtIVE1MQXR0cmlidXRlc30gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge0NvbXBvbmVudFNpemVYU1RvTH0gZnJvbSAnQGNkby9hcHBzL2NvbXBvbmVudExpYnJhcnkvY29tbW9uL3R5cGVzJztcblxuaW1wb3J0IG1vZHVsZVN0eWxlcyBmcm9tICcuL2xpbmsubW9kdWxlLnNjc3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtCYXNlUHJvcHMgZXh0ZW5kcyBIVE1MQXR0cmlidXRlczxIVE1MQW5jaG9yRWxlbWVudD4ge1xuICAvKiogTGluayBpZCAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIEN1c3RvbSBjbGFzcyBuYW1lICovXG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgLyoqIERvZXMgdGhlIGxpbmsgZ28gdG8gYW4gZXh0ZXJuYWwgc291cmNlPyAqL1xuICBleHRlcm5hbD86IGJvb2xlYW47XG4gIC8qKiBTaG91bGQgdGhlIGxpbmsgb3BlbiBpbiBhIG5ldyB0YWI/ICovXG4gIG9wZW5Jbk5ld1RhYj86IGJvb2xlYW47XG4gIC8qKiBMaW5rIGRlc3RpbmF0aW9uICovXG4gIGhyZWY6IHN0cmluZztcbiAgLyoqIElzIHRoZSBsaW5rIGRpc2FibGVkPyAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiBDYWxsYmFjayBmb3IgY2xpY2sgZXZlbnQgKi9cbiAgb25DbGljaz86IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHZvaWQ7XG4gIC8qKiBTaXplIG9mIGxpbmsgKi9cbiAgc2l6ZT86IENvbXBvbmVudFNpemVYU1RvTDtcbiAgLyoqIFR5cGUgb2YgbGluayAqL1xuICB0eXBlPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeSc7XG4gIC8qKiBSb2xlIG9mIGxpbmsgKi9cbiAgcm9sZT86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgTGlua1dpdGhDaGlsZHJlbiA9IExpbmtCYXNlUHJvcHMgJiB7XG4gIC8qKiBMaW5rIGNvbnRlbnQgKi9cbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgdGV4dD86IG5ldmVyO1xufTtcblxuZXhwb3J0IHR5cGUgTGlua1dpdGhUZXh0ID0gTGlua0Jhc2VQcm9wcyAmIHtcbiAgLyoqIExpbmsgdGV4dCBjb250ZW50ICovXG4gIHRleHQ6IHN0cmluZztcbiAgY2hpbGRyZW4/OiBuZXZlcjtcbn07XG5cbmV4cG9ydCB0eXBlIExpbmtQcm9wcyA9IExpbmtXaXRoQ2hpbGRyZW4gfCBMaW5rV2l0aFRleHQ7XG5cbi8qKlxuICogIyMjIFByb2R1Y3Rpb24tcmVhZHkgQ2hlY2tsaXN0OlxuICogKiAo4pyUKSBpbXBsZW1lbnRhdGlvbiBvZiBjb21wb25lbnQgYXBwcm92ZWQgYnkgZGVzaWduIHRlYW07XG4gKiAqICjinJQpIGhhcyBzdG9yeWJvb2ssIGNvdmVyZWQgd2l0aCBzdG9yaWVzIGFuZCBkb2N1bWVudGF0aW9uO1xuICogKiAo4pyUKSBoYXMgdGVzdHM6IHRlc3QgZXZlcnkgcHJvcCwgZXZlcnkgc3RhdGUgYW5kIGV2ZXJ5IGludGVyYWN0aW9uIHRoYXQncyBqcyByZWxhdGVkO1xuICogKiAoc2VlIGFwcHMvdGVzdC91bml0L2NvbXBvbmVudExpYnJhcnkvTGlua1Rlc3QuanN4KVxuICogKiAoPykgcGFzc2VzIGFjY2Vzc2liaWxpdHkgY2hlY2tzO1xuICpcbiAqICMjIyAgU3RhdHVzOiBgYGBSZWFkeSBmb3IgZGV2YGBgXG4gKlxuICogRGVzaWduIFN5c3RlbTogTGluayBDb21wb25lbnQuXG4gKiBVc2VkIGZvciBpbnRlcm5hbCBvciBleHRlcm5hbCBsaW5rcy4gU2hvcnRjdXQgZm9yIGdlbmVyYWwgPGE+IEhUTUwgdGFnICh3aXRoIERTQ08gc3R5bGVzIGFwcGxpZWQpLlxuICogQ2FuIGJlIG9wZW5lZCBpbiBuZXcgdGFiLCBoYXZlIGN1c3RvbSBvbkNsaWNrLCBhbHNvIGNhbiBiZSBkaXNhYmxlZC5cbiAqL1xuY29uc3QgTGluazogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8TGlua1Byb3BzPiA9ICh7XG4gIGNoaWxkcmVuLFxuICB0ZXh0LFxuICBpZCxcbiAgY2xhc3NOYW1lLFxuICBleHRlcm5hbCxcbiAgb3BlbkluTmV3VGFiLFxuICBocmVmID0gJyMnLFxuICBkaXNhYmxlZCxcbiAgb25DbGljayxcbiAgc2l6ZSA9ICdtJyxcbiAgdHlwZSA9ICdwcmltYXJ5JyxcbiAgcm9sZSxcbiAgLi4uSFRNTEF0dHJpYnV0ZXNcbn0pID0+IChcbiAgPGFcbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXG4gICAgICBtb2R1bGVTdHlsZXMubGluayxcbiAgICAgIG1vZHVsZVN0eWxlc1tgbGluay0ke3R5cGV9YF0sXG4gICAgICBtb2R1bGVTdHlsZXNbYGxpbmstJHtzaXplfWBdLFxuICAgICAgY2xhc3NOYW1lXG4gICAgKX1cbiAgICBocmVmPXshZGlzYWJsZWQgPyBocmVmIDogdW5kZWZpbmVkfVxuICAgIGlkPXtpZH1cbiAgICBvbkNsaWNrPXshZGlzYWJsZWQgPyBvbkNsaWNrIDogdW5kZWZpbmVkfVxuICAgIHJlbD17b3BlbkluTmV3VGFiIHx8IGV4dGVybmFsID8gJ25vb3BlbmVyIG5vcmVmZXJyZXInIDogdW5kZWZpbmVkfVxuICAgIHRhcmdldD17KG9wZW5Jbk5ld1RhYiB8fCB1bmRlZmluZWQpICYmICdfYmxhbmsnfVxuICAgIHJvbGU9e3JvbGV9XG4gICAgey4uLihkaXNhYmxlZCA/IHsnYXJpYS1kaXNhYmxlZCc6IHRydWV9IDoge30pfVxuICAgIHsuLi5IVE1MQXR0cmlidXRlc31cbiAgPlxuICAgIHt0ZXh0IHx8IGNoaWxkcmVufVxuICA8L2E+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBMaW5rO1xuIiwiZXhwb3J0IHR5cGUge1xuICBMaW5rUHJvcHMsXG4gIExpbmtCYXNlUHJvcHMsXG4gIExpbmtXaXRoQ2hpbGRyZW4sXG4gIExpbmtXaXRoVGV4dCxcbn0gZnJvbSAnLi9MaW5rJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBkZWZhdWx0fSBmcm9tICcuL0xpbmsnO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtTZW1hbnRpY1RhZywgVmlzdWFsQXBwZWFyYW5jZSwgVHlwb2dyYXBoeUVsZW1lbnRQcm9wc30gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tICcuL1R5cG9ncmFwaHknO1xuXG5pbnRlcmZhY2UgVHlwb2dyYXBoeUVsZW1lbnRUb0dlbmVyYXRlVGVtcGxhdGUge1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICBzZW1hbnRpY1RhZzogU2VtYW50aWNUYWc7XG4gIGRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlOiBWaXN1YWxBcHBlYXJhbmNlO1xufVxuY29uc3QgdHlwb2dyYXBoeUVsZW1lbnRzVG9HZW5lcmF0ZTogVHlwb2dyYXBoeUVsZW1lbnRUb0dlbmVyYXRlVGVtcGxhdGVbXSA9IFtcbiAge1xuICAgIGRpc3BsYXlOYW1lOiAnSGVhZGluZzEnLFxuICAgIHNlbWFudGljVGFnOiAnaDEnLFxuICAgIGRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlOiAnaGVhZGluZy14eGwnLFxuICB9LFxuICB7XG4gICAgZGlzcGxheU5hbWU6ICdIZWFkaW5nMicsXG4gICAgc2VtYW50aWNUYWc6ICdoMicsXG4gICAgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2U6ICdoZWFkaW5nLXhsJyxcbiAgfSxcbiAge1xuICAgIGRpc3BsYXlOYW1lOiAnSGVhZGluZzMnLFxuICAgIHNlbWFudGljVGFnOiAnaDMnLFxuICAgIGRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlOiAnaGVhZGluZy1sZycsXG4gIH0sXG4gIHtcbiAgICBkaXNwbGF5TmFtZTogJ0hlYWRpbmc0JyxcbiAgICBzZW1hbnRpY1RhZzogJ2g0JyxcbiAgICBkZWZhdWx0VmlzdWFsQXBwZWFyYW5jZTogJ2hlYWRpbmctbWQnLFxuICB9LFxuICB7XG4gICAgZGlzcGxheU5hbWU6ICdIZWFkaW5nNScsXG4gICAgc2VtYW50aWNUYWc6ICdoNScsXG4gICAgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2U6ICdoZWFkaW5nLXNtJyxcbiAgfSxcbiAge1xuICAgIGRpc3BsYXlOYW1lOiAnSGVhZGluZzYnLFxuICAgIHNlbWFudGljVGFnOiAnaDYnLFxuICAgIGRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlOiAnaGVhZGluZy14cycsXG4gIH0sXG4gIHtcbiAgICBkaXNwbGF5TmFtZTogJ0JvZHlPbmVUZXh0JyxcbiAgICBzZW1hbnRpY1RhZzogJ3AnLFxuICAgIGRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlOiAnYm9keS1vbmUnLFxuICB9LFxuICB7XG4gICAgZGlzcGxheU5hbWU6ICdCb2R5VHdvVGV4dCcsXG4gICAgc2VtYW50aWNUYWc6ICdwJyxcbiAgICBkZWZhdWx0VmlzdWFsQXBwZWFyYW5jZTogJ2JvZHktdHdvJyxcbiAgfSxcbiAge1xuICAgIGRpc3BsYXlOYW1lOiAnQm9keVRocmVlVGV4dCcsXG4gICAgc2VtYW50aWNUYWc6ICdwJyxcbiAgICBkZWZhdWx0VmlzdWFsQXBwZWFyYW5jZTogJ2JvZHktdGhyZWUnLFxuICB9LFxuICB7XG4gICAgZGlzcGxheU5hbWU6ICdCb2R5Rm91clRleHQnLFxuICAgIHNlbWFudGljVGFnOiAncCcsXG4gICAgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2U6ICdib2R5LWZvdXInLFxuICB9LFxuICB7XG4gICAgZGlzcGxheU5hbWU6ICdPdmVybGluZU9uZVRleHQnLFxuICAgIHNlbWFudGljVGFnOiAncCcsXG4gICAgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2U6ICdvdmVybGluZS1vbmUnLFxuICB9LFxuICB7XG4gICAgZGlzcGxheU5hbWU6ICdPdmVybGluZVR3b1RleHQnLFxuICAgIHNlbWFudGljVGFnOiAncCcsXG4gICAgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2U6ICdvdmVybGluZS10d28nLFxuICB9LFxuICB7XG4gICAgZGlzcGxheU5hbWU6ICdPdmVybGluZVRocmVlVGV4dCcsXG4gICAgc2VtYW50aWNUYWc6ICdwJyxcbiAgICBkZWZhdWx0VmlzdWFsQXBwZWFyYW5jZTogJ292ZXJsaW5lLXRocmVlJyxcbiAgfSxcbiAge2Rpc3BsYXlOYW1lOiAnRW1UZXh0Jywgc2VtYW50aWNUYWc6ICdlbScsIGRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlOiAnZW0nfSxcbiAge1xuICAgIGRpc3BsYXlOYW1lOiAnU3Ryb25nVGV4dCcsXG4gICAgc2VtYW50aWNUYWc6ICdzdHJvbmcnLFxuICAgIGRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlOiAnc3Ryb25nJyxcbiAgfSxcbiAge1xuICAgIGRpc3BsYXlOYW1lOiAnRXh0cmFTdHJvbmdUZXh0JyxcbiAgICBzZW1hbnRpY1RhZzogJ3N0cm9uZycsXG4gICAgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2U6ICdleHRyYS1zdHJvbmcnLFxuICB9LFxuICB7XG4gICAgZGlzcGxheU5hbWU6ICdGaWdjYXB0aW9uJyxcbiAgICBzZW1hbnRpY1RhZzogJ2ZpZ2NhcHRpb24nLFxuICAgIGRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlOiAnZmlnY2FwdGlvbicsXG4gIH0sXG5dO1xuXG4vLyBHZW5lcmF0ZXMgYSBzZXQgb2YgY29tcG9uZW50cyhUeXBvZ3JhcGh5IEVsZW1lbnRzKSBiYXNlZCBvbiB0aGUgZGF0YSBpbiB0eXBvZ3JhcGh5RWxlbWVudHNUb0dlbmVyYXRlXG5jb25zdCBnZW5lcmF0ZUNvbXBvbmVudHMgPSAoXG4gIGNvbXBvbmVudHNUb0dlbmVyYXRlOiBUeXBvZ3JhcGh5RWxlbWVudFRvR2VuZXJhdGVUZW1wbGF0ZVtdXG4pOiB7W2tleTogc3RyaW5nXTogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8VHlwb2dyYXBoeUVsZW1lbnRQcm9wcz59ID0+XG4gIGNvbXBvbmVudHNUb0dlbmVyYXRlLnJlZHVjZSgoYWNjLCBjb21wb25lbnRUZW1wbGF0ZURhdGEpID0+IHtcbiAgICBjb25zdCB7ZGlzcGxheU5hbWUsIHNlbWFudGljVGFnLCBkZWZhdWx0VmlzdWFsQXBwZWFyYW5jZX0gPVxuICAgICAgY29tcG9uZW50VGVtcGxhdGVEYXRhO1xuXG4gICAgY29uc3QgVHlwb2dyYXBoeUVsZW1lbnQ6IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PFxuICAgICAgVHlwb2dyYXBoeUVsZW1lbnRQcm9wc1xuICAgID4gPSBjb21wb25lbnRQcm9wcyA9PiB7XG4gICAgICBjb25zdCB7dmlzdWFsQXBwZWFyYW5jZSwgY2hpbGRyZW4sIGNsYXNzTmFtZSwgc3R5bGUsIGlkfSA9IGNvbXBvbmVudFByb3BzO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VHlwb2dyYXBoeVxuICAgICAgICAgIHNlbWFudGljVGFnPXtzZW1hbnRpY1RhZ31cbiAgICAgICAgICB2aXN1YWxBcHBlYXJhbmNlPXt2aXN1YWxBcHBlYXJhbmNlIHx8IGRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlfVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICk7XG4gICAgfTtcbiAgICBUeXBvZ3JhcGh5RWxlbWVudC5kaXNwbGF5TmFtZSA9IGRpc3BsYXlOYW1lO1xuICAgIHJldHVybiB7Li4uYWNjLCBbZGlzcGxheU5hbWVdOiBUeXBvZ3JhcGh5RWxlbWVudH07XG4gIH0sIHt9KTtcblxuZXhwb3J0IGNvbnN0IHtcbiAgSGVhZGluZzEsXG4gIEhlYWRpbmcyLFxuICBIZWFkaW5nMyxcbiAgSGVhZGluZzQsXG4gIEhlYWRpbmc1LFxuICBIZWFkaW5nNixcbiAgQm9keU9uZVRleHQsXG4gIEJvZHlUd29UZXh0LFxuICBCb2R5VGhyZWVUZXh0LFxuICBCb2R5Rm91clRleHQsXG4gIE92ZXJsaW5lT25lVGV4dCxcbiAgT3ZlcmxpbmVUd29UZXh0LFxuICBPdmVybGluZVRocmVlVGV4dCxcbiAgRW1UZXh0LFxuICBTdHJvbmdUZXh0LFxuICBFeHRyYVN0cm9uZ1RleHQsXG4gIEZpZ2NhcHRpb24sXG59ID0gZ2VuZXJhdGVDb21wb25lbnRzKHR5cG9ncmFwaHlFbGVtZW50c1RvR2VuZXJhdGUpO1xuIiwiZXhwb3J0ICogZnJvbSAnLi9UeXBvZ3JhcGh5RWxlbWVudHMnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIGRlZmF1bHR9IGZyb20gJy4vVHlwb2dyYXBoeSc7XG4iLCJpbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3R9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7Y29ubmVjdCwgdXNlU2VsZWN0b3J9IGZyb20gJ3JlYWN0LXJlZHV4JztcblxuaW1wb3J0IExpbmsgZnJvbSAnQGNkby9hcHBzL2NvbXBvbmVudExpYnJhcnkvbGluayc7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tICdAY2RvL2FwcHMvY29tcG9uZW50TGlicmFyeS90eXBvZ3JhcGh5JztcbmltcG9ydCB7RVZFTlRTfSBmcm9tICdAY2RvL2FwcHMvbWV0cmljcy9BbmFseXRpY3NDb25zdGFudHMnO1xuaW1wb3J0IGFuYWx5dGljc1JlcG9ydGVyIGZyb20gJ0BjZG8vYXBwcy9tZXRyaWNzL0FuYWx5dGljc1JlcG9ydGVyJztcbmltcG9ydCBTcGlubmVyIGZyb20gJ0BjZG8vYXBwcy9zaGFyZWRDb21wb25lbnRzL1NwaW5uZXInO1xuaW1wb3J0IHtSb290U3RhdGV9IGZyb20gJ0BjZG8vYXBwcy90eXBlcy9yZWR1eCc7XG5pbXBvcnQgaTE4biBmcm9tICdAY2RvL2xvY2FsZSc7XG5cbmltcG9ydCBCYXNlRGlhbG9nIGZyb20gJy4uLy4uL0Jhc2VEaWFsb2cnO1xuXG5pbXBvcnQgQWdlR2F0ZWRTdHVkZW50c1RhYmxlIGZyb20gJy4vQWdlR2F0ZWRTdHVkZW50c1RhYmxlJztcblxuaW1wb3J0IHN0eWxlcyBmcm9tICdAY2RvL2FwcHMvdGVtcGxhdGVzL3BvbGljeV9jb21wbGlhbmNlL0FnZUdhdGVkU3R1ZGVudHNNb2RhbC9hZ2UtZ2F0ZWQtc3R1ZGVudHMtbW9kYWwubW9kdWxlLnNjc3MnO1xuXG5pbnRlcmZhY2UgUmVkdXhTdGF0ZSB7XG4gIG1hbmFnZVN0dWRlbnRzOiB7XG4gICAgaXNMb2FkaW5nU3R1ZGVudHM/OiBib29sZWFuO1xuICB9O1xufVxuaW50ZXJmYWNlIFByb3BzIHtcbiAgb25DbG9zZTogKCkgPT4gdm9pZDtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBpc0xvYWRpbmdTdHVkZW50czogYm9vbGVhbjtcbiAgYWdlR2F0ZWRTdHVkZW50c0NvdW50PzogbnVtYmVyO1xufVxuXG5jb25zdCBBZ2VHYXRlZFN0dWRlbnRzTW9kYWw6IFJlYWN0LkZDPFByb3BzPiA9ICh7XG4gIGlzTG9hZGluZ1N0dWRlbnRzLFxuICBpc09wZW4sXG4gIG9uQ2xvc2UsXG4gIGFnZUdhdGVkU3R1ZGVudHNDb3VudCA9IDAsXG59KSA9PiB7XG4gIGNvbnN0IGN1cnJlbnRVc2VyID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLmN1cnJlbnRVc2VyKTtcbiAgY29uc3QgcmVwb3J0RXZlbnQgPSAoZXZlbnROYW1lOiBzdHJpbmcsIHBheWxvYWQ6IG9iamVjdCA9IHt9KSA9PiB7XG4gICAgYW5hbHl0aWNzUmVwb3J0ZXIuc2VuZEV2ZW50KGV2ZW50TmFtZSwgcGF5bG9hZCk7XG4gIH07XG5cbiAgY29uc3QgaGVscERvY3NVcmwgPVxuICAgICdodHRwczovL3N1cHBvcnQuY29kZS5vcmcvaGMvZW4tdXMvYXJ0aWNsZXMvMTU0NjU0MjM0OTEwODUtSG93LWRvLUktb2J0YWluLXBhcmVudC1vci1ndWFyZGlhbi1wZXJtaXNzaW9uLWZvci1zdHVkZW50LWFjY291bnRzJztcblxuICBjb25zdCBtb2RhbERvY3VtZW50YXRpb25DbGlja2VkID0gKCkgPT4ge1xuICAgIHJlcG9ydEV2ZW50KEVWRU5UUy5DQVBfU1RVREVOVF9XQVJOSU5HX0xJTktfQ0xJQ0tFRCwge1xuICAgICAgdXNlcl9pZDogY3VycmVudFVzZXIudXNlcklkLFxuICAgICAgbnVtYmVyX29mX2dhdGVhYmxlX3N0dWRlbnRzOiBhZ2VHYXRlZFN0dWRlbnRzQ291bnQsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgbW9kYWxDbG9zZWQgPSAoKSA9PiB7XG4gICAgcmVwb3J0RXZlbnQoRVZFTlRTLkNBUF9BR0VfR0FURURfTU9EQUxfQ0xPU0VELCB7XG4gICAgICB1c2VyX2lkOiBjdXJyZW50VXNlci51c2VySWQsXG4gICAgICBudW1iZXJfb2ZfZ2F0ZWFibGVfc3R1ZGVudHM6IGFnZUdhdGVkU3R1ZGVudHNDb3VudCxcbiAgICB9KTtcbiAgICBvbkNsb3NlKCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXBvcnRFdmVudChFVkVOVFMuQ0FQX0FHRV9HQVRFRF9NT0RBTF9TSE9XTiwge1xuICAgICAgdXNlcl9pZDogY3VycmVudFVzZXIudXNlcklkLFxuICAgICAgbnVtYmVyX29mX2dhdGVhYmxlX3N0dWRlbnRzOiBhZ2VHYXRlZFN0dWRlbnRzQ291bnQsXG4gICAgfSk7XG4gIH0sIFtjdXJyZW50VXNlci51c2VySWQsIGFnZUdhdGVkU3R1ZGVudHNDb3VudF0pO1xuICByZXR1cm4gKFxuICAgIDxCYXNlRGlhbG9nXG4gICAgICBpc09wZW49e2lzT3Blbn1cbiAgICAgIGhhbmRsZUNsb3NlPXttb2RhbENsb3NlZH1cbiAgICAgIHVzZVVwZGF0ZWRTdHlsZXM9e3RydWV9XG4gICAgICBmaXhlZFdpZHRoPXs4MDB9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy5tb2RhbENvbnRhaW5lcn1cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2ZvcmJpZC1kb20tcHJvcHNcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJhZ2UtZ2F0ZWQtc3R1ZGVudHMtbW9kYWxcIlxuICAgICAgICBpZD1cInVpdGVzdC1hZ2UtZ2F0ZWQtc3R1ZGVudHMtbW9kYWxcIlxuICAgICAgPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxUeXBvZ3JhcGh5XG4gICAgICAgICAgICBzZW1hbnRpY1RhZz1cImgyXCJcbiAgICAgICAgICAgIHZpc3VhbEFwcGVhcmFuY2U9XCJoZWFkaW5nLW1kXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLm1vZGFsSGVhZGVyfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpMThuLmNoaWxkQWNjb3VudFBvbGljeV9zdHVkZW50UGFyZW50YWxDb25zZW50U3RhdHVzKCl9XG4gICAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgIDxociAvPlxuICAgICAgICAgIDxUeXBvZ3JhcGh5IHNlbWFudGljVGFnPVwicFwiIHZpc3VhbEFwcGVhcmFuY2U9XCJib2R5LXR3b1wiPlxuICAgICAgICAgICAge2kxOG4uY2hpbGRBY2NvdW50UG9saWN5X3N0dWRlbnRQYXJlbnRhbENvbnNlbnROb3RpY2UoKX1cbiAgICAgICAgICA8L1R5cG9ncmFwaHk+XG4gICAgICAgICAgPFR5cG9ncmFwaHkgc2VtYW50aWNUYWc9XCJwXCIgdmlzdWFsQXBwZWFyYW5jZT1cImJvZHktdHdvXCI+XG4gICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICBocmVmPXtoZWxwRG9jc1VybH1cbiAgICAgICAgICAgICAgb25DbGljaz17bW9kYWxEb2N1bWVudGF0aW9uQ2xpY2tlZH1cbiAgICAgICAgICAgICAgb3BlbkluTmV3VGFiPXt0cnVlfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi5jaGlsZEFjY291bnRQb2xpY3lfY29uc2VudFByb2Nlc3NSZWFkTW9yZSgpfVxuICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICB7aXNMb2FkaW5nU3R1ZGVudHMgJiYgPFNwaW5uZXIgLz59XG4gICAgICAgICAgeyFpc0xvYWRpbmdTdHVkZW50cyAmJiA8QWdlR2F0ZWRTdHVkZW50c1RhYmxlIC8+fVxuICAgICAgICAgIDxociAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMubW9kYWxCdXR0b259PlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17bW9kYWxDbG9zZWR9PlxuICAgICAgICAgICAgICB7aTE4bi5jbG9zZURpYWxvZygpfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9CYXNlRGlhbG9nPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29ubmVjdCgoc3RhdGU6IFJlZHV4U3RhdGUpID0+ICh7XG4gIGlzTG9hZGluZ1N0dWRlbnRzOiBzdGF0ZS5tYW5hZ2VTdHVkZW50cy5pc0xvYWRpbmdTdHVkZW50cyB8fCBmYWxzZSxcbn0pKShBZ2VHYXRlZFN0dWRlbnRzTW9kYWwpO1xuIl0sIm5hbWVzIjpbIl9wcm9wVHlwZXMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIl9Gb250QXdlc29tZSIsIl9sb2NhbGUiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl9zZXRQcm90b3R5cGVPZiIsInQiLCJPYmplY3QiLCJzZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJfZGVmaW5lUHJvcGVydHkiLCJyIiwiX3RvUHJvcGVydHlLZXkiLCJpIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwiU3Bpbm5lciIsImFwcGx5IiwiYXJndW1lbnRzIiwiX2luaGVyaXRzTG9vc2UiLCJjcmVhdGUiLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsInRoaXMiLCJwcm9wcyIsInNpemUiLCJzdHlsZSIsImRpc3BsYXlTaXplIiwiY3JlYXRlRWxlbWVudCIsImljb24iLCJjbGFzc05hbWUiLCJjb25jYXQiLCJ0aXRsZSIsImkxOG4iLCJsb2FkaW5nIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvbmVPZiIsIm9iamVjdCIsIm1vZHVsZSIsImRlZmF1bHQiLCJfQnV0dG9uIiwiX2NvbnN0YW50cyIsIl9jb2xvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJsZW5ndGgiLCJmb3JFYWNoIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJCYXNlRGlhbG9nIiwiX3RoaXMiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImV2ZW50Iiwia2V5IiwiY2xvc2VEaWFsb2ciLCJoYW5kbGVLZXlEb3duIiwidW5jbG9zZWFibGUiLCJoYW5kbGVDbG9zZSIsInNvdW5kUGxheWVyIiwic3RvcEFsbEF1ZGlvIiwiX3Byb3RvIiwiY29tcG9uZW50RGlkTW91bnQiLCJmb2N1c0RpYWxvZyIsImNvbXBvbmVudERpZFVwZGF0ZSIsImdldFRhYmJhYmxlRWxlbWVudHMiLCJzbGljZSIsInJlZnMiLCJkaWFsb2ciLCJxdWVyeVNlbGVjdG9yQWxsIiwiZGVzY2VuZGFudElzQWN0aXZlIiwiZG9jdW1lbnQiLCJhY3RpdmVFbGVtZW50IiwiY29udGFpbnMiLCJpc09wZW4iLCJmb2N1cyIsImhpZGVCYWNrZHJvcCIsImJvZHlTdHlsZSIsIm1vZGFsQm9keVN0eWxlIiwieENsb3NlU3R5bGUiLCJmdWxsV2lkdGgiLCJ3aWR0aCIsIm1hcmdpbkxlZnQiLCJmdWxsSGVpZ2h0IiwiaGVpZ2h0IiwiYm94U2l6aW5nIiwid3JhcHBlckNsYXNzTmFtZXMiLCJtb2RhbENsYXNzTmFtZXMiLCJtb2RhbEJvZHlDbGFzc05hbWVzIiwib3ZlcmZsb3dYIiwib3ZlcmZsb3ciLCJvdmVyZmxvd1kiLCJmaXhlZEhlaWdodCIsInVzZVVwZGF0ZWRTdHlsZXMiLCJiYWNrZ3JvdW5kIiwibWF4SGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwidXNlRmxleGJveCIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiZml4ZWRXaWR0aCIsIkJBU0VfRElBTE9HX1dJRFRIIiwibm9Nb2RhbFN0eWxlcyIsInBvc2l0aW9uIiwidG9wIiwiaW5zZXRJbmxpbmVFbmQiLCJwYWRkaW5nIiwiY29sb3IiLCJuZXV0cmFsX2RhcmszMCIsImN1cnNvciIsImZvbnRTaXplIiwiYm9yZGVyIiwiYm9keUNsYXNzTmFtZSIsImpvaW4iLCJib2R5IiwidGFiSW5kZXgiLCJyZWYiLCJvbktleURvd24iLCJpZCIsImJvZHlJZCIsImhpZGVDbG9zZUJ1dHRvbiIsIm9uQ2xpY2siLCJjaGlsZHJlbiIsImJhY2tkcm9wU3R5bGUiLCJib29sIiwiZnVuYyIsIm5vZGUiLCJudW1iZXIiLCJzdHJpbmciLCJjdXJyZW50VXNlciIsInN0YXRlIiwidW5kZWZpbmVkIiwiaW5pdGlhbFN0YXRlIiwiYWN0aW9uIiwidHlwZSIsIlNFVF9DVVJSRU5UX1VTRVJfTkFNRSIsInVzZXJOYW1lIiwiU0VUX0hBU19TRUVOX1NUQU5EQVJEU19SRVBPUlQiLCJoYXNTZWVuU3RhbmRhcmRzUmVwb3J0SW5mbyIsImhhc1NlZW5TdGFuZGFyZHNSZXBvcnQiLCJTRVRfVVNFUl9TSUdORURfSU4iLCJzaWduSW5TdGF0ZSIsImlzU2lnbmVkSW4iLCJTaWduSW5TdGF0ZSIsIlNpZ25lZEluIiwiU2lnbmVkT3V0IiwiU0VUX1VTRVJfVFlQRSIsInVzZXJUeXBlIiwidW5kZXIxMyIsIlNFVF9PVkVSXzIxIiwib3ZlcjIxIiwiU0VUX1VTRVJfUk9MRV9JTl9DT1VSU0UiLCJ1c2VyUm9sZUluQ291cnNlIiwiU0VUX01VVEVfTVVTSUMiLCJpc0JhY2tncm91bmRNdXNpY011dGVkIiwiU0VUX1NPUlRfQllfRkFNSUxZX05BTUUiLCJpc1NvcnRlZEJ5RmFtaWx5TmFtZSIsImFuYWx5dGljc1JlcG9ydCIsInNlbmRFdmVudCIsIkVWRU5UUyIsIlNPUlRfQllfRkFNSUxZX05BTUUiLCJzZWN0aW9uSWQiLCJ1bml0TmFtZSIsInNvdXJjZSIsIlNPUlRfQllfRElTUExBWV9OQU1FIiwiU0VUX1NIT1dfUFJPR1JFU1NfVEFCTEVfVjIiLCJzaG93UHJvZ3Jlc3NUYWJsZVYyIiwiU0VUX1BST0dSRVNTX1RBQkxFX1YyX0NMT1NFRF9CRVRBIiwicHJvZ3Jlc3NUYWJsZVYyQ2xvc2VkQmV0YSIsIlNFVF9EQVRFX1BST0dSRVNTX1RBQkxFX0lOVklUQVRJT05fTEFTVF9ERUxBWUVEIiwiZGF0ZVByb2dyZXNzVGFibGVJbnZpdGF0aW9uRGVsYXllZCIsIlNFVF9TRUVOX1BST0dSRVNTX1RBQkxFX0lOVklUQVRJT04iLCJoYXNTZWVuUHJvZ3Jlc3NUYWJsZUludml0ZSIsIlNFVF9BSV9SVUJSSUNTX0RJU0FCTEVEIiwiYWlSdWJyaWNzRGlzYWJsZWQiLCJTRVRfVVNFUl9DUkVBVEVEX0FUIiwidXNlckNyZWF0ZWRBdCIsIlNFVF9JTklUSUFMX0RBVEEiLCJfYWN0aW9uJHNlcnZlclVzZXIiLCJzZXJ2ZXJVc2VyIiwidXVpZCIsInVzZXJuYW1lIiwidXNlcl90eXBlIiwibXV0ZV9tdXNpYyIsInVuZGVyXzEzIiwib3Zlcl8yMSIsInNvcnRfYnlfZmFtaWx5X25hbWUiLCJzaG93X3Byb2dyZXNzX3RhYmxlX3YyIiwiYWlfcnVicmljc19kaXNhYmxlZCIsInByb2dyZXNzX3RhYmxlX3YyX2Nsb3NlZF9iZXRhIiwiaXNfbHRpIiwiZGF0ZV9wcm9ncmVzc190YWJsZV9pbnZpdGF0aW9uX2xhc3RfZGVsYXllZCIsImhhc19zZWVuX3Byb2dyZXNzX3RhYmxlX3YyX2ludml0YXRpb24iLCJjaGlsZF9hY2NvdW50X2NvbXBsaWFuY2Vfc3RhdGUiLCJjb3VudHJ5X2NvZGUiLCJ1c19zdGF0ZV9jb2RlIiwiYWdlIiwiaW5fc2VjdGlvbiIsImNyZWF0ZWRfYXQiLCJpc192ZXJpZmllZF9pbnN0cnVjdG9yIiwic2V0VXNlclByb3BlcnRpZXMiLCJleHBlcmltZW50cyIsImdldEVuYWJsZWRFeHBlcmltZW50cyIsInN0YXRzaWdSZXBvcnRlciIsInVzZXJJZCIsImlzTHRpIiwiaXNUZWFjaGVyIiwiVXNlclR5cGVzIiwiVEVBQ0hFUiIsImluVVNBIiwiaW5jbHVkZXMiLCJjaGlsZEFjY291bnRDb21wbGlhbmNlU3RhdGUiLCJjb3VudHJ5Q29kZSIsInVzU3RhdGVDb2RlIiwiaW5TZWN0aW9uIiwiX0FuYWx5dGljc0NvbnN0YW50cyIsIl9BbmFseXRpY3NSZXBvcnRlciIsIl9TdGF0c2lnUmVwb3J0ZXIiLCJfZXhwZXJpbWVudHMiLCJfc2hhcmVkQ29uc3RhbnRzIiwiX3V0aWxzIiwibWFrZUVudW0iLCJDb3Vyc2VSb2xlcyIsInNldEN1cnJlbnRVc2VyTmFtZSIsInNldEN1cnJlbnRVc2VySGFzU2VlblN0YW5kYXJkc1JlcG9ydEluZm8iLCJzZXRVc2VyU2lnbmVkSW4iLCJzZXRVc2VyVHlwZSIsInNldE92ZXIyMSIsInNldFVzZXJSb2xlSW5Db3Vyc2UiLCJzZXRJbml0aWFsRGF0YSIsInNldE11dGVNdXNpYyIsInNldFNvcnRCeUZhbWlseU5hbWUiLCJzZXRTaG93UHJvZ3Jlc3NUYWJsZVYyIiwic2V0UHJvZ3Jlc3NUYWJsZVYyQ2xvc2VkQmV0YSIsInNldEhhc1NlZW5Qcm9ncmVzc1RhYmxlSW52aXRlIiwic2V0RGF0ZVByb2dyZXNzVGFibGVJbnZpdGF0aW9uRGVsYXllZCIsInNldEFpUnVicmljc0Rpc2FibGVkIiwic2V0VXNlckNyZWF0ZWRBdCIsIlVua25vd24iLCJjdXJyZW50VXNlclN0YXRlIiwiaGFzT3duIiwiaGFzT3duUHJvcGVydHkiLCJjbGFzc05hbWVzIiwiY2xhc3NlcyIsImFyZyIsImFyZ1R5cGUiLCJpc0FycmF5IiwiaW5uZXIiLCJ0b1N0cmluZyIsIl9fX0NTU19MT0FERVJfRVhQT1JUX19fIiwibG9jYWxzIiwiY3NzV2l0aE1hcHBpbmdUb1N0cmluZyIsImxpc3QiLCJtYXAiLCJpdGVtIiwiY29udGVudCIsIm5lZWRMYXllciIsIm1vZHVsZXMiLCJtZWRpYSIsImRlZHVwZSIsInN1cHBvcnRzIiwibGF5ZXIiLCJhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzIiwiayIsIl9rIiwidXJsIiwib3B0aW9ucyIsInRlc3QiLCJoYXNoIiwibmVlZFF1b3RlcyIsInJlcGxhY2UiLCJjc3NNYXBwaW5nIiwiYnRvYSIsImJhc2U2NCIsInVuZXNjYXBlIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsImRhdGEiLCJzb3VyY2VNYXBwaW5nIiwic291cmNlVVJMcyIsInNvdXJjZXMiLCJzb3VyY2VSb290Iiwic3R5bGVUYWdUcmFuc2Zvcm0iLCJzZXRBdHRyaWJ1dGVzIiwiaW5zZXJ0IiwiZG9tQVBJIiwiaW5zZXJ0U3R5bGVFbGVtZW50Iiwic3R5bGVzSW5ET00iLCJnZXRJbmRleEJ5SWRlbnRpZmllciIsImlkZW50aWZpZXIiLCJyZXN1bHQiLCJtb2R1bGVzVG9Eb20iLCJpZENvdW50TWFwIiwiaWRlbnRpZmllcnMiLCJiYXNlIiwiY291bnQiLCJpbmRleEJ5SWRlbnRpZmllciIsIm9iaiIsImNzcyIsInNvdXJjZU1hcCIsInJlZmVyZW5jZXMiLCJ1cGRhdGVyIiwiYWRkRWxlbWVudFN0eWxlIiwiYnlJbmRleCIsInNwbGljZSIsImFwaSIsInVwZGF0ZSIsIm5ld09iaiIsInJlbW92ZSIsImxhc3RJZGVudGlmaWVycyIsIm5ld0xpc3QiLCJpbmRleCIsIm5ld0xhc3RJZGVudGlmaWVycyIsIl9pIiwiX2luZGV4IiwibWVtbyIsImluc2VydEJ5U2VsZWN0b3IiLCJ0YXJnZXQiLCJnZXRUYXJnZXQiLCJzdHlsZVRhcmdldCIsInF1ZXJ5U2VsZWN0b3IiLCJ3aW5kb3ciLCJIVE1MSUZyYW1lRWxlbWVudCIsImNvbnRlbnREb2N1bWVudCIsImhlYWQiLCJFcnJvciIsImFwcGVuZENoaWxkIiwiZWxlbWVudCIsImF0dHJpYnV0ZXMiLCJzZXRBdHRyaWJ1dGVzV2l0aG91dEF0dHJpYnV0ZXMiLCJzdHlsZUVsZW1lbnQiLCJub25jZSIsInNldEF0dHJpYnV0ZSIsInJlbW92ZVN0eWxlRWxlbWVudCIsInBhcmVudE5vZGUiLCJyZW1vdmVDaGlsZCIsInN0eWxlU2hlZXQiLCJjc3NUZXh0IiwiZmlyc3RDaGlsZCIsImNyZWF0ZVRleHROb2RlIiwiTGluayIsInRleHQiLCJleHRlcm5hbCIsIm9wZW5Jbk5ld1RhYiIsImhyZWYiLCJkaXNhYmxlZCIsInJvbGUiLCJIVE1MQXR0cmlidXRlcyIsImxpbmsiLCJyZWwiLCJIZWFkaW5nMSIsImRpc3BsYXlOYW1lIiwic2VtYW50aWNUYWciLCJkZWZhdWx0VmlzdWFsQXBwZWFyYW5jZSIsInJlZHVjZSIsImFjYyIsImNvbXBvbmVudFRlbXBsYXRlRGF0YSIsIlR5cG9ncmFwaHlFbGVtZW50IiwiY29tcG9uZW50UHJvcHMiLCJ2aXN1YWxBcHBlYXJhbmNlIiwiSGVhZGluZzIiLCJIZWFkaW5nMyIsIkhlYWRpbmc0IiwiSGVhZGluZzUiLCJIZWFkaW5nNiIsIkJvZHlPbmVUZXh0IiwiQm9keVR3b1RleHQiLCJCb2R5VGhyZWVUZXh0IiwiQm9keUZvdXJUZXh0IiwiT3ZlcmxpbmVPbmVUZXh0IiwiT3ZlcmxpbmVUd29UZXh0IiwiT3ZlcmxpbmVUaHJlZVRleHQiLCJFbVRleHQiLCJTdHJvbmdUZXh0IiwiRXh0cmFTdHJvbmdUZXh0IiwiRmlnY2FwdGlvbiIsIkFnZUdhdGVkU3R1ZGVudHNNb2RhbCIsImlzTG9hZGluZ1N0dWRlbnRzIiwib25DbG9zZSIsImFnZUdhdGVkU3R1ZGVudHNDb3VudCIsInVzZVNlbGVjdG9yIiwicmVwb3J0RXZlbnQiLCJldmVudE5hbWUiLCJwYXlsb2FkIiwibW9kYWxDbG9zZWQiLCJDQVBfQUdFX0dBVEVEX01PREFMX0NMT1NFRCIsInVzZXJfaWQiLCJudW1iZXJfb2ZfZ2F0ZWFibGVfc3R1ZGVudHMiLCJ1c2VFZmZlY3QiLCJDQVBfQUdFX0dBVEVEX01PREFMX1NIT1dOIiwibW9kYWxDb250YWluZXIiLCJtb2RhbEhlYWRlciIsImNoaWxkQWNjb3VudFBvbGljeV9zdHVkZW50UGFyZW50YWxDb25zZW50U3RhdHVzIiwiY2hpbGRBY2NvdW50UG9saWN5X3N0dWRlbnRQYXJlbnRhbENvbnNlbnROb3RpY2UiLCJDQVBfU1RVREVOVF9XQVJOSU5HX0xJTktfQ0xJQ0tFRCIsImNoaWxkQWNjb3VudFBvbGljeV9jb25zZW50UHJvY2Vzc1JlYWRNb3JlIiwibW9kYWxCdXR0b24iLCJjb25uZWN0IiwibWFuYWdlU3R1ZGVudHMiXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file +/*! For license information please see 1250.9799e369.iframe.bundle.js.LICENSE.txt */ +(self.webpackChunkblockly_mooc=self.webpackChunkblockly_mooc||[]).push([[1250],{"./src/sharedComponents/Spinner.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")),_FontAwesome=_interopRequireDefault(__webpack_require__("./src/legacySharedComponents/FontAwesome.jsx")),_locale=_interopRequireDefault(__webpack_require__("./src/util/locale-do-not-import.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 _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}(exports.default=function(_React$Component){function Spinner(){return _React$Component.apply(this,arguments)||this}return function _inheritsLoose(t,o){t.prototype=Object.create(o.prototype),t.prototype.constructor=t,_setPrototypeOf(t,o)}(Spinner,_React$Component),Spinner.prototype.render=function render(){var _this$props=this.props,size=_this$props.size,style=_this$props.style,displaySize="small"===size?"":"medium"===size?"fa-2x":"fa-3x";return _react.default.createElement(_FontAwesome.default,{style,icon:"spinner",className:"fa-pulse ".concat(displaySize),title:_locale.default.loading()})},Spinner}(_react.default.Component),"propTypes",{size:_propTypes.default.oneOf(["small","medium","large"]),style:_propTypes.default.object}),module.exports=exports.default},"./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{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SignInState=exports.CourseRoles=void 0,exports.default=function currentUser(){var state=arguments.length>0&&void 0!==arguments[0]?arguments[0]:initialState,action=arguments.length>1?arguments[1]:void 0;if(action.type===SET_CURRENT_USER_NAME)return _objectSpread(_objectSpread({},state),{},{userName:action.userName});if(action.type===SET_HAS_SEEN_STANDARDS_REPORT)return _objectSpread(_objectSpread({},state),{},{hasSeenStandardsReportInfo:action.hasSeenStandardsReport});if(action.type===SET_USER_SIGNED_IN)return _objectSpread(_objectSpread({},state),{},{signInState:action.isSignedIn?SignInState.SignedIn:SignInState.SignedOut});if(action.type===SET_USER_TYPE)return _objectSpread(_objectSpread({},state),{},{userType:action.userType,under13:action.under13});if(action.type===SET_OVER_21)return _objectSpread(_objectSpread({},state),{},{over21:action.over21});if(action.type===SET_USER_ROLE_IN_COURSE)return _objectSpread(_objectSpread({},state),{},{userRoleInCourse:action.userRoleInCourse});if(action.type===SET_MUTE_MUSIC)return _objectSpread(_objectSpread({},state),{},{isBackgroundMusicMuted:action.isBackgroundMusicMuted});if(action.type===SET_SORT_BY_FAMILY_NAME)return action.isSortedByFamilyName?_AnalyticsReporter.default.sendEvent(_AnalyticsConstants.EVENTS.SORT_BY_FAMILY_NAME,{sectionId:action.sectionId,unitName:action.unitName,source:action.source}):_AnalyticsReporter.default.sendEvent(_AnalyticsConstants.EVENTS.SORT_BY_DISPLAY_NAME,{sectionId:action.sectionId,unitName:action.unitName,source:action.source}),_objectSpread(_objectSpread({},state),{},{isSortedByFamilyName:action.isSortedByFamilyName});if(action.type===SET_SHOW_PROGRESS_TABLE_V2)return _objectSpread(_objectSpread({},state),{},{showProgressTableV2:action.showProgressTableV2});if(action.type===SET_PROGRESS_TABLE_V2_CLOSED_BETA)return _objectSpread(_objectSpread({},state),{},{progressTableV2ClosedBeta:action.progressTableV2ClosedBeta});if(action.type===SET_DATE_PROGRESS_TABLE_INVITATION_LAST_DELAYED)return _objectSpread(_objectSpread({},state),{},{dateProgressTableInvitationDelayed:action.dateProgressTableInvitationDelayed});if(action.type===SET_SEEN_PROGRESS_TABLE_INVITATION)return _objectSpread(_objectSpread({},state),{},{hasSeenProgressTableInvite:action.hasSeenProgressTableInvite});if(action.type===SET_AI_RUBRICS_DISABLED)return _objectSpread(_objectSpread({},state),{},{aiRubricsDisabled:action.aiRubricsDisabled});if(action.type===SET_USER_CREATED_AT)return _objectSpread(_objectSpread({},state),{},{userCreatedAt:action.userCreatedAt});if(action.type===SET_INITIAL_DATA){var _action$serverUser=action.serverUser,id=_action$serverUser.id,uuid=_action$serverUser.uuid,username=_action$serverUser.username,user_type=_action$serverUser.user_type,mute_music=_action$serverUser.mute_music,under_13=_action$serverUser.under_13,over_21=_action$serverUser.over_21,sort_by_family_name=_action$serverUser.sort_by_family_name,show_progress_table_v2=_action$serverUser.show_progress_table_v2,ai_rubrics_disabled=_action$serverUser.ai_rubrics_disabled,progress_table_v2_closed_beta=_action$serverUser.progress_table_v2_closed_beta,is_lti=_action$serverUser.is_lti,date_progress_table_invitation_last_delayed=_action$serverUser.date_progress_table_invitation_last_delayed,has_seen_progress_table_v2_invitation=_action$serverUser.has_seen_progress_table_v2_invitation,child_account_compliance_state=_action$serverUser.child_account_compliance_state,country_code=_action$serverUser.country_code,us_state_code=_action$serverUser.us_state_code,age=_action$serverUser.age,in_section=_action$serverUser.in_section,created_at=_action$serverUser.created_at,is_verified_instructor=_action$serverUser.is_verified_instructor;return _AnalyticsReporter.default.setUserProperties(id,user_type,_experiments.default.getEnabledExperiments()),_StatsigReporter.default.setUserProperties(id,user_type,is_verified_instructor,_experiments.default.getEnabledExperiments()),_objectSpread(_objectSpread({},state),{},{userId:id,uuid,userName:username,userType:user_type,isBackgroundMusicMuted:mute_music,under13:under_13,over21:over_21,isSortedByFamilyName:sort_by_family_name,showProgressTableV2:show_progress_table_v2,aiRubricsDisabled:ai_rubrics_disabled,progressTableV2ClosedBeta:progress_table_v2_closed_beta,isLti:is_lti,isTeacher:user_type===_sharedConstants.UserTypes.TEACHER,inUSA:["US","RD"].includes(country_code)||!!us_state_code,dateProgressTableInvitationDelayed:date_progress_table_invitation_last_delayed,hasSeenProgressTableInvite:has_seen_progress_table_v2_invitation,childAccountComplianceState:child_account_compliance_state,countryCode:country_code,usStateCode:us_state_code,age,inSection:in_section,userCreatedAt:created_at})}return state},exports.setUserType=exports.setUserSignedIn=exports.setUserRoleInCourse=exports.setUserCreatedAt=exports.setSortByFamilyName=exports.setShowProgressTableV2=exports.setProgressTableV2ClosedBeta=exports.setOver21=exports.setMuteMusic=exports.setInitialData=exports.setHasSeenProgressTableInvite=exports.setDateProgressTableInvitationDelayed=exports.setCurrentUserName=exports.setCurrentUserHasSeenStandardsReportInfo=exports.setAiRubricsDisabled=exports.isSignedIn=void 0;var _AnalyticsConstants=__webpack_require__("./src/metrics/AnalyticsConstants.js"),_AnalyticsReporter=_interopRequireDefault(__webpack_require__("./src/metrics/AnalyticsReporter.js")),_StatsigReporter=_interopRequireDefault(__webpack_require__("./src/metrics/StatsigReporter.js")),_experiments=_interopRequireDefault(__webpack_require__("./src/util/experiments.js")),_sharedConstants=__webpack_require__("./generated-scripts/sharedConstants.ts"),_utils=__webpack_require__("./src/utils.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{var __WEBPACK_AMD_DEFINE_RESULT__;!function(){"use strict";var hasOwn={}.hasOwnProperty;function classNames(){for(var classes=[],i=0;i{"use strict";__webpack_require__.d(__webpack_exports__,{A:()=>__WEBPACK_DEFAULT_EXPORT__});var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/css-loader/dist/runtime/sourceMaps.js"),_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js"),___CSS_LOADER_EXPORT___=__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__)()(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default());___CSS_LOADER_EXPORT___.push([module.id,'.x4MludsHfvCmOViErHaL{display:inline-flex;justify-content:center;align-items:center;gap:10px;text-decoration:underline}.x4MludsHfvCmOViErHaL:focus-visible{outline:2px solid #0093a4;border-radius:.25rem;outline-offset:0}.x4MludsHfvCmOViErHaL:active:not([aria-disabled=true]){text-decoration:none}.Q4UpEen0GJ5clQxDJsYQ{color:#8c52ba}.Q4UpEen0GJ5clQxDJsYQ:hover,.Q4UpEen0GJ5clQxDJsYQ :active,.Q4UpEen0GJ5clQxDJsYQ :visited{color:#6c468a}.Q4UpEen0GJ5clQxDJsYQ:focus-visible{color:#8c52ba}.wQyYyT_I8UFuWdgLMyIW{color:#292f36}.wQyYyT_I8UFuWdgLMyIW:hover,.wQyYyT_I8UFuWdgLMyIW :active,.wQyYyT_I8UFuWdgLMyIW :visited{color:#5f6872}.wQyYyT_I8UFuWdgLMyIW:focus-visible{color:#292f36}.x4MludsHfvCmOViErHaL[aria-disabled=true]{cursor:not-allowed;color:#bec2c7}.ivKdY8M5qksh1_kpK1KY{font-family:"Metropolis","Noto Sans","Noto Sans Math","Noto Sans Arabic","Noto Sans Armenian","Noto Sans Bengali","Noto Sans SC","Noto Sans TC","Noto Sans Devanagari","Noto Sans Georgian","Noto Sans Hebrew","Noto Sans JP","Noto Sans Kannada","Noto Sans Khmer","Noto Sans KR","Noto Sans Myanmar","Noto Sans Sinhala","Noto Sans Tamil","Noto Sans Telugu","Noto Sans Thai","Noto Sans Thaana",sans-serif;font-weight:600;font-style:normal;text-decoration:underline;font-size:1.25rem;line-height:1.4}.kqqRSaZcF21csXAjfgdj{font-family:"Metropolis","Noto Sans","Noto Sans Math","Noto Sans Arabic","Noto Sans Armenian","Noto Sans Bengali","Noto Sans SC","Noto Sans TC","Noto Sans Devanagari","Noto Sans Georgian","Noto Sans Hebrew","Noto Sans JP","Noto Sans Kannada","Noto Sans Khmer","Noto Sans KR","Noto Sans Myanmar","Noto Sans Sinhala","Noto Sans Tamil","Noto Sans Telugu","Noto Sans Thai","Noto Sans Thaana",sans-serif;font-weight:600;font-style:normal;text-decoration:underline;font-size:1rem;line-height:1.48}.fU3p6q80j_Ol_BSp9hII{font-family:"Metropolis","Noto Sans","Noto Sans Math","Noto Sans Arabic","Noto Sans Armenian","Noto Sans Bengali","Noto Sans SC","Noto Sans TC","Noto Sans Devanagari","Noto Sans Georgian","Noto Sans Hebrew","Noto Sans JP","Noto Sans Kannada","Noto Sans Khmer","Noto Sans KR","Noto Sans Myanmar","Noto Sans Sinhala","Noto Sans Tamil","Noto Sans Telugu","Noto Sans Thai","Noto Sans Thaana",sans-serif;font-weight:600;font-style:normal;text-decoration:underline;font-size:.875rem;line-height:1.54}.gFBuFFWJf0LTgd7r1cQp{font-family:"Metropolis","Noto Sans","Noto Sans Math","Noto Sans Arabic","Noto Sans Armenian","Noto Sans Bengali","Noto Sans SC","Noto Sans TC","Noto Sans Devanagari","Noto Sans Georgian","Noto Sans Hebrew","Noto Sans JP","Noto Sans Kannada","Noto Sans Khmer","Noto Sans KR","Noto Sans Myanmar","Noto Sans Sinhala","Noto Sans Tamil","Noto Sans Telugu","Noto Sans Thai","Noto Sans Thaana",sans-serif;font-weight:600;font-style:normal;text-decoration:underline;font-size:.75rem;line-height:1.64}',"",{version:3,sources:["webpack://./src/componentLibrary/link/link.module.scss","webpack://./../shared/css/color.scss","webpack://./../shared/css/font.scss","webpack://./src/componentLibrary/common/styles/mixins.scss"],names:[],mappings:"AAIA,sBACE,mBAAA,CACA,sBAAA,CACA,kBAAA,CACA,QAAA,CACA,yBAAA,CAGA,oCACE,yBAAA,CACA,oBAAA,CACA,gBAAA,CAGF,uDACE,oBAAA,CAGF,sBACE,aC6KkB,CD3KlB,yFACE,aC2KgB,CDxKlB,oCACE,aCsKgB,CDlKpB,sBACE,aC8MU,CD5MV,yFACE,aCyKW,CDtKb,oCACE,aCuMQ,CDlMZ,0CACE,kBAAA,CACA,aCyJa,CDpJjB,sBE4BE,8YApEU,CAqEV,eA9DsB,CA+DtB,iBAAA,CCjDA,yBAAA,CAKA,iBAAA,CACA,eAAA,CHiBF,sBEwBE,8YApEU,CAqEV,eA9DsB,CA+DtB,iBAAA,CCjDA,yBAAA,CAWA,cAAA,CACA,gBAAA,CHeF,sBEoBE,8YApEU,CAqEV,eA9DsB,CA+DtB,iBAAA,CCjDA,yBAAA,CAiBA,iBAAA,CACA,gBAAA,CHaF,sBEgBE,8YApEU,CAqEV,eA9DsB,CA+DtB,iBAAA,CCjDA,yBAAA,CAuBA,gBAAA,CACA,gBAAA",sourcesContent:['@import "color";\n@import "@cdo/apps/componentLibrary/common/styles/mixins";\n\n// Link common styles\n.link {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n gap: 10px;\n text-decoration: underline;\n\n\n &:focus-visible {\n outline: 2px solid $light_primary_500;\n border-radius: 0.25rem;\n outline-offset: 0;\n }\n\n &:active:not([aria-disabled="true"]) {\n text-decoration: none;\n }\n\n &-primary {\n color: $light_secondary_500;\n\n &:hover, :active, :visited {\n color: $light_secondary_700;\n }\n\n &:focus-visible {\n color: $light_secondary_500;\n }\n }\n\n &-secondary {\n color: $light_black;\n\n &:hover, :active, :visited {\n color: $light_gray_800;\n }\n\n &:focus-visible {\n color: $light_black;\n }\n }\n\n\n &[aria-disabled="true"] {\n cursor: not-allowed;\n color: $light_gray_300;\n }\n}\n\n// Sizes\n.link-l {\n @include link-body-one;\n}\n\n.link-m {\n @include link-body-two;\n}\n\n.link-s {\n @include link-body-three;\n}\n\n.link-xs {\n @include link-body-four;\n}',"// colors from https://www.dropbox.com/s/ycjiwt8vxlmv2ih/Code.org_stylesheet_v2_09.05.13.pdf\n\n// Please keep this file simple; it should only contain color definitions\n// and aliases. Variables defined in this file are exported to\n// apps/src/util/color.js during the apps build process.\n\n$black: #000;\n$background_black: #121416;\n$dark_gray: #2D3139;\n$darkest_gray: #292F36;\n$dark_slate_gray: #282c34;\n$darkest_slate_gray: #25292d;\n$dark_charcoal: #4d575f;\n$charcoal: #5b6770;\n$light_gray: #949ca2;\n$lighter_gray: #c6cacd;\n$lightest_gray: #e7e8ea;\n$background_gray: #f2f2f2;\n$dimgray: #696969;\n$white: #fff;\n$default_blue: #3670b3;\n\n$dark_teal: #0094a3;\n$teal: #0093a4;\n$applab_button_teal: #1abc9c;\n$light_teal: #59cad3;\n$lightish_teal: #80d6de;\n$lighter_teal: #a6e3e8;\n$lightest_teal: #d9f3f5;\n$ai_rubric_cyan: #3cfff8;\n\n$purple: #8c52ba;\n$light_purple: #a69bc1;\n$lighter_purple: #cfc9de;\n$lightest_purple: #ebe8f1;\n\n$cyan: #0094ca;\n$light_cyan: #59b9dc;\n$lighter_cyan: #a6daed;\n$lightest_cyan: #d9eff7;\n$almost_white_cyan: #f5fcff;\n\n$orange: #ffa400;\n$light_orange: #ffc459;\n$lighter_orange: #ffe0a6;\n$lightest_orange: #fff2d9;\n$dark_orange: #ff8600;\n\n$green: #b9bf15;\n$light_green: #d1d567;\n$lighter_green: #e7e9ad;\n$lightest_green: #f5f5dc;\n$highlight_green: #8afc9b;\n\n$yellow: #ffb81d;\n$light_yellow: #ffdb74;\n$lighter_yellow: #ffebb5;\n$lightest_yellow: #fff7df;\n\n$goldenrod: #daa520;\n\n$header_text: $white;\n$bkgnd_color: $teal;\n$inset_color: $lighter_gray;\n$dark_color: $purple;\n$hdr_color: $purple;\n\n// Some extra colors.\n$red: #c00;\n$lightest_red: #fcc;\n$dark_red: #d62911;\n$realgreen: #008000;\n$realyellow: #ff0;\n$mustardyellow: #efcd1c;\n$twitter_blue: #00aced;\n$facebook_blue: #3b5998;\n$linkedin_blue: #0077B5;\n$dark_blue: #00647f;\n$blockly_flyout_gray: #ddd;\n$default_text: #333;\n$border_gray: #bbb;\n$border_light_gray: #d8d8d8;\n$table_header: #ececec;\n$table_light_row: #fcfcfc;\n$table_dark_row: #f4f4f4;\n\n// Progress colors.\n$level_submitted: $purple;\n$level_perfect: rgb(14, 190, 14);\n$level_passed: rgb(159, 212, 159);\n$level_attempted: $realyellow;\n$level_not_tried: #fefefe;\n$level_current: $orange;\n$level_review_rejected: $red;\n$level_review_accepted: rgb(11, 142, 11); // TODO: $level_passed;\n$assessment: $cyan;\n$workspace_running_background: #e5e5e5;\n\n// Experimental Sprite Lab validation colors.\n$dark_purple: #682A77;\n$bright_green: #0ebe0e;\n$neon_pink: #e9118f;\n\n// Links (used in apps).\n$link_color: #0596ce;\n\n// Shadow.\n$shadow: rgba(0, 0, 0, 0.3);\n\n// Colors that are taken from bootstrap, and not necessarily part of our core theme.\n$bootstrap_button_blue: #337ab7;\n$bootstrap_button_red: #d9534f;\n$bootstrap_error_background: #f2dede;\n$bootstrap_error_text: #b94a48;\n$bootstrap_v3_error_text: #a94442;\n$bootstrap_error_border: #ebccd1;\n$bootstrap_warning_background: #fcf8e3;\n$bootstrap_warning_text: #c09853;\n$bootstrap_warning_border: #faebcc;\n$bootstrap_border_color: #cccccc;\n$bootstrap_success_background: #dff0d8;\n$bootstrap_success_text: #468847;\n$bootstrap_success_border: #d6e9c6;\n\n// Colors taken from droplet, not part of our core theme.\n$droplet_light_green: #d3e965;\n$droplet_blue: #64b5f6;\n$droplet_bright_blue: #19c3e1;\n$droplet_yellow: #fff176;\n$droplet_orange: #ffb74d;\n$droplet_red: #f78183;\n$droplet_cyan: #4dd0e1;\n$droplet_pink: #f57ac6;\n$droplet_purple: #bb77c7;\n$droplet_green: #68d995;\n$droplet_white: $white;\n\n// Oceans: deep blue background.\n$oceans_deep_blue: rgb(2, 0, 28);\n\n// Dark theme background (used by default in Music Lab)\n$dark_black: #121212;\n\n// ===----===----===---- Phase 1 Colors: ----===----===----===\n// Brand\n$brand_primary_light: #E0F8F9;\n$brand_primary_default: #009EB0;\n$brand_primary_dark: #007785;\n\n$brand_secondary_light: #E0D1EC;\n$brand_secondary_default: #8C52BA;\n$brand_secondary_dark: #6C468A;\n\n$brand_accent_default: #ED6060;\n\n$brand_teal_5: #DFF2F4;\n\n//Product\n$product_affirmative_default: #3EA33E;\n\n$product_negative_light: #FDEBE9;\n$product_negative_default: #E5311A;\n$product_negative_dark: #AA2513;\n\n$product_caution_default: #F9CB28;\n\n$product_information_default: #007ACC;\n\n// Neutral\n$neutral_white: #FFFFFF;\n$neutral_light: #F7F8FA;\n$neutral_gray10: #EAEBEB;\n$neutral_dark10: #EAECEF;\n$neutral_dark20: #D1D4D8;\n$neutral_dark30: #BEC2C7;\n$neutral_dark40: #ABB0B6;\n$neutral_dark50: #989EA5;\n$neutral_dark60: #858C94;\n$neutral_dark70: #727A83;\n$neutral_dark80: #5F6872;\n$neutral_dark90: #4C5661;\n$neutral_dark: #292F36;\n\n//Brands\n$google_brand_color: #0F9D58;\n$microsoft_brand_color: #FFB900;\n$facebook_brand_color: #3B5998;\n$clever_brand_color: #1464FF;\n\n// ===----===----===---- Design system colors: ----===----===----===\n\n$light_primary_100: #BFE4E8;\n$light_primary_500: #0093A4;\n$light_primary_700: #007785;\n\n$light_secondary_100: #E2D4EE;\n$light_secondary_500: #8C52BA;\n$light_secondary_700: #6C468A;\n\n$light_gray_50: #F7F8FA;\n$light_gray_100: #EAECEF;\n$light_gray_200: #D1D4D8;\n$light_gray_300: #BEC2C7;\n$light_gray_400: #ABB0B6;\n$light_gray_500: #989EA5;\n$light_gray_600: #858C94;\n$light_gray_700: #727A83;\n$light_gray_800: #5F6872;\n$light_gray_900: #4C5661;\n$light_gray_950: #394450;\n\n$light_affirmative_100: #E2F1E2;\n$light_affirmative_500: #3EA33E;\n$light_affirmative_700: #2D742D;\n\n$light_negative_100: #FBE0DD;\n$light_negative_500: #E5311A;\n$light_negative_700: #B24949;\n\n$light_caution_100: #FEF7DF;\n$light_caution_500: #F9CB28;\n$light_caution_700: #C7A220;\n\n$light_accent_100: #FAD7D7;\n$light_accent_500: #ED6060;\n$light_accent_700: #D84C4C;\n\n$light_aqua_100: #CEFFFD;\n$light_aqua_500: #3CFFF8;\n$light_aqua_700: #30CCC6;\n\n$light_orange_100: #FFEDCC;\n$light_orange_500: #FFA400;\n$light_orange_700: #CC8300;\n\n$light_info_100: #DCEFFB;\n$light_info_500: #1892E3;\n$light_info_700: #1375B6;\n\n$light_white: #FFFFFF;\n\n$light_black: #292F36;\n\n$light_black_opacity_90: rgba(41, 47, 54, 0.90);\n$light_black_opacity-80: rgba(41, 47, 54, 0.80);\n$light_black_opacity-70: rgba(41, 47, 54, 0.70);\n$light_black_opacity-60: rgba(41, 47, 54, 0.60);\n$light_black_opacity-50: rgba(41, 47, 54, 0.50);\n$light_black_opacity-40: rgba(41, 47, 54, 0.40);\n$light_black_opacity-30: rgba(41, 47, 54, 0.30);\n$light_black_opacity-20: rgba(41, 47, 54, 0.20);\n$light_black_opacity-10: rgba(41, 47, 54, 0.10);\n","// Common site-wide fonts, put here for easy access from all scss files\n\n// Please note (!): use only single quotes (' ') for strings (!) to allow our custom converter to work properly.\n// This file is being transpiled to js object.\n// (So it can be used in jsx/tsx files for inline styles. This is made mostly for legacy.\n// Try to avoid use of inline styles if you're creating new component).\n// Keeping that in mind -\n\n$metropolis-font: 'Metropolis';\n$noto-sans-fonts: 'Noto Sans', 'Noto Sans Math', 'Noto Sans Arabic', 'Noto Sans Armenian', 'Noto Sans Bengali',\n'Noto Sans SC', 'Noto Sans TC', 'Noto Sans Devanagari', 'Noto Sans Georgian', 'Noto Sans Hebrew', 'Noto Sans JP',\n'Noto Sans Kannada', 'Noto Sans Khmer', 'Noto Sans KR', 'Noto Sans Myanmar', 'Noto Sans Sinhala',\n'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Thai', 'Noto Sans Thaana';\n\n$main-font: $metropolis-font, $noto-sans-fonts, sans-serif;\n\n$thin-font-weight: 100;\n$extra-light-font-weight: 200;\n$light-font-weight: 300;\n$regular-font-weight: 400;\n$medium-font-weight: 500;\n$semi-bold-font-weight: 600;\n$bold-font-weight: 700;\n$extra-bold-font-weight: 800;\n$black-font-weight: 900;\n\n@mixin main-font-thin {\n font-family: $main-font;\n font-weight: $thin-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-thin-italic {\n @include main-font-thin;\n font-style: italic;\n}\n\n@mixin main-font-extra-light {\n font-family: $main-font;\n font-weight: $extra-light-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-extra-light-italic {\n @include main-font-extra-light;\n font-style: italic;\n}\n\n@mixin main-font-light {\n font-family: $main-font;\n font-weight: $light-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-light-italic {\n @include main-font-light;\n font-style: italic;\n}\n\n@mixin main-font-regular {\n font-family: $main-font;\n font-weight: $regular-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-regular-italic {\n @include main-font-regular;\n font-style: italic;\n}\n\n@mixin main-font-medium {\n font-family: $main-font;\n font-weight: $medium-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-medium-italic {\n @include main-font-medium;\n font-style: italic;\n}\n\n@mixin main-font-semi-bold {\n font-family: $main-font;\n font-weight: $semi-bold-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-semi-bold-italic {\n @include main-font-semi-bold;\n font-style: italic;\n}\n\n@mixin main-font-bold {\n font-family: $main-font;\n font-weight: $bold-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-bold-italic {\n @include main-font-bold;\n font-style: italic;\n}\n\n@mixin main-font-extra-bold {\n font-family: $main-font;\n font-weight: $extra-bold-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-extra-bold-italic {\n @include main-font-extra-bold;\n font-style: italic;\n}\n\n@mixin main-font-black {\n font-family: $main-font;\n font-weight: $black-font-weight;\n font-style: normal;\n}\n\n@mixin main-font-black-italic {\n @include main-font-black;\n font-style: italic;\n}\n\n$barlowSemiCondensed-semibold: 'Barlow Semi Condensed Semibold', $noto-sans-fonts, sans-serif;\n$barlowSemiCondensed-medium: 'Barlow Semi Condensed Medium', $noto-sans-fonts, sans-serif;\n\n$code-font: 'Source Code Pro', Monaco, 'Bitstream Vera Sans Mono', 'Lucida Console', Terminal, monospace;\n\n/*\n Font Awesome S3 Bucket URLs\n Current version: 6.6.0\n If you are changing the location of these files,\n see the readme in this directory for more detail on manual steps to take when uploading new files.\n */\n$font-awesome-core-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/fontawesome.min.css';\n$font-awesome-brands-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/brands.min.css';\n$font-awesome-solid-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/solid.min.css';\n$font-awesome-regular-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/regular.min.css';\n$font-awesome-v4-fonts-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/v4-font-face.min.css';\n$font-awesome-v4-shims-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/v4-shims.min.css';\n$font-awesome-v4-shims-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/v4-shims.min.css';\n$font-awesome-duotone-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/duotone.min.css';\n$font-awesome-custom-icons-url: 'https://dsco.code.org/assets/font-awesome-pro/1728421354/css/custom-icons.min.css';\n","@import 'color', 'font';\n\n// Typography - Label styles\n@mixin label-common {\n @include main-font-semi-bold;\n margin-bottom: 0.5rem;\n}\n\n@mixin label-one {\n @include label-common;\n font-size: 1rem;\n line-height: 1.48;\n}\n\n@mixin label-two {\n @include label-common;\n font-size: 0.875rem;\n line-height: 1.54;\n}\n\n@mixin label-three {\n @include label-common;\n font-size: 0.75rem;\n line-height: 1.64;\n}\n\n@mixin label-four {\n @include label-common;\n font-size: 0.625rem;\n line-height: 1.8;\n}\n\n// Typography - Link styles (Link Body styles)\n@mixin link-body-common {\n @include main-font-semi-bold;\n text-decoration: underline;\n}\n\n@mixin link-body-one {\n @include link-body-common;\n font-size: 1.25rem;\n line-height: 1.4;\n}\n\n@mixin link-body-two {\n @include link-body-common;\n font-size: 1rem;\n line-height: 1.48;\n}\n\n@mixin link-body-three {\n @include link-body-common;\n font-size: 0.875rem;\n line-height: 1.54;\n}\n\n@mixin link-body-four {\n @include link-body-common;\n font-size: 0.75rem;\n line-height: 1.64;\n}\n\n// Typography Button text styles\n@mixin button-text-common {\n @include main-font-semi-bold;\n margin-bottom: 0.5rem;\n}\n\n@mixin button-one-text {\n @include button-text-common;\n font-size: 1.25rem;\n line-height: 1.4;\n}\n\n@mixin button-two-text {\n @include button-text-common;\n font-size: 1rem;\n line-height: 1.48;\n}\n\n@mixin button-three-text {\n @include button-text-common;\n font-size: 0.875rem;\n line-height: 1.54;\n}\n\n@mixin button-four-text {\n @include button-text-common;\n font-size: 0.75rem;\n line-height: 1.64;\n}\n\n// Common field styles\n@mixin field-helper-section-common {\n display: flex;\n align-items: baseline;\n align-self: stretch;\n}\n\n@mixin field-helper-section-l {\n @include body-two;\n margin-bottom: 0;\n gap: 0.375rem;\n}\n\n@mixin field-helper-section-m {\n @include body-three;\n margin-bottom: 0;\n gap: 0.375rem;\n}\n\n@mixin field-helper-section-s {\n @include body-four;\n margin-bottom: 0;\n gap: 0.25rem;\n}\n\n@mixin field-helper-section-black {\n color: $light_black;\n}\n\n@mixin field-helper-section-black-disabled {\n color: $light_gray_200;\n}\n\n@mixin field-helper-section-white {\n color: $light_white;\n}\n\n@mixin field-helper-section-white-disabled {\n color: $light_gray_700;\n}\n\n@mixin field-error-section-black {\n color: $light_negative_500;\n}\n\n@mixin field-error-section-white {\n color: $light_white;\n}\n\n@mixin field-read-only-black-colors {\n color: $light_black;\n border-color: $light_gray_200;\n background-color: $light_gray_50;\n}\n\n@mixin field-read-only-white-colors {\n color: $light_white;\n border-color: $light_gray_700;\n background-color: $light_gray_900;\n}\n"],sourceRoot:""}]),___CSS_LOADER_EXPORT___.locals={link:"x4MludsHfvCmOViErHaL","link-primary":"Q4UpEen0GJ5clQxDJsYQ","link-secondary":"wQyYyT_I8UFuWdgLMyIW","link-l":"ivKdY8M5qksh1_kpK1KY","link-m":"kqqRSaZcF21csXAjfgdj","link-s":"fU3p6q80j_Ol_BSp9hII","link-xs":"gFBuFFWJf0LTgd7r1cQp"};const __WEBPACK_DEFAULT_EXPORT__=___CSS_LOADER_EXPORT___},"./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./src/templates/policy_compliance/AgeGatedStudentsModal/age-gated-students-modal.module.scss":(module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{A:()=>__WEBPACK_DEFAULT_EXPORT__});var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/css-loader/dist/runtime/sourceMaps.js"),_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js"),___CSS_LOADER_EXPORT___=__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__)()(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default());___CSS_LOADER_EXPORT___.push([module.id,".hsmMUofUJi42eFdHdlIo{padding:20px}.hsmMUofUJi42eFdHdlIo hr{border-color:#c6cacd}.U3PuIsdjgDJaV9hYxdMs{color:#000;font-weight:600}.Nk6JIMRltBoe4W7mlIKx{text-align:end}.Nk6JIMRltBoe4W7mlIKx button{background-color:#8c52ba;border-color:#8c52ba;color:#fff}","",{version:3,sources:["webpack://./src/templates/policy_compliance/AgeGatedStudentsModal/age-gated-students-modal.module.scss","webpack://./../shared/css/color.scss"],names:[],mappings:"AAGA,sBACE,YAAA,CAEA,yBACE,oBCQW,CDJf,sBACE,UCNM,CDON,eAAA,CAGF,sBACE,cAAA,CAEA,6BACE,wBCkIsB,CDjItB,oBCiIsB,CDhItB,UCmJY",sourcesContent:["@use 'sass:math';\n@import 'color.scss';\n\n.modalContainer {\n padding: 20px;\n\n hr {\n border-color: $lighter_gray;\n }\n}\n\n.modalHeader {\n color: $black;\n font-weight: 600;\n}\n\n.modalButton {\n text-align: end;\n\n button {\n background-color: $brand_secondary_default;\n border-color: $brand_secondary_default;\n color: $neutral_white;\n }\n}\n","// colors from https://www.dropbox.com/s/ycjiwt8vxlmv2ih/Code.org_stylesheet_v2_09.05.13.pdf\n\n// Please keep this file simple; it should only contain color definitions\n// and aliases. Variables defined in this file are exported to\n// apps/src/util/color.js during the apps build process.\n\n$black: #000;\n$background_black: #121416;\n$dark_gray: #2D3139;\n$darkest_gray: #292F36;\n$dark_slate_gray: #282c34;\n$darkest_slate_gray: #25292d;\n$dark_charcoal: #4d575f;\n$charcoal: #5b6770;\n$light_gray: #949ca2;\n$lighter_gray: #c6cacd;\n$lightest_gray: #e7e8ea;\n$background_gray: #f2f2f2;\n$dimgray: #696969;\n$white: #fff;\n$default_blue: #3670b3;\n\n$dark_teal: #0094a3;\n$teal: #0093a4;\n$applab_button_teal: #1abc9c;\n$light_teal: #59cad3;\n$lightish_teal: #80d6de;\n$lighter_teal: #a6e3e8;\n$lightest_teal: #d9f3f5;\n$ai_rubric_cyan: #3cfff8;\n\n$purple: #8c52ba;\n$light_purple: #a69bc1;\n$lighter_purple: #cfc9de;\n$lightest_purple: #ebe8f1;\n\n$cyan: #0094ca;\n$light_cyan: #59b9dc;\n$lighter_cyan: #a6daed;\n$lightest_cyan: #d9eff7;\n$almost_white_cyan: #f5fcff;\n\n$orange: #ffa400;\n$light_orange: #ffc459;\n$lighter_orange: #ffe0a6;\n$lightest_orange: #fff2d9;\n$dark_orange: #ff8600;\n\n$green: #b9bf15;\n$light_green: #d1d567;\n$lighter_green: #e7e9ad;\n$lightest_green: #f5f5dc;\n$highlight_green: #8afc9b;\n\n$yellow: #ffb81d;\n$light_yellow: #ffdb74;\n$lighter_yellow: #ffebb5;\n$lightest_yellow: #fff7df;\n\n$goldenrod: #daa520;\n\n$header_text: $white;\n$bkgnd_color: $teal;\n$inset_color: $lighter_gray;\n$dark_color: $purple;\n$hdr_color: $purple;\n\n// Some extra colors.\n$red: #c00;\n$lightest_red: #fcc;\n$dark_red: #d62911;\n$realgreen: #008000;\n$realyellow: #ff0;\n$mustardyellow: #efcd1c;\n$twitter_blue: #00aced;\n$facebook_blue: #3b5998;\n$linkedin_blue: #0077B5;\n$dark_blue: #00647f;\n$blockly_flyout_gray: #ddd;\n$default_text: #333;\n$border_gray: #bbb;\n$border_light_gray: #d8d8d8;\n$table_header: #ececec;\n$table_light_row: #fcfcfc;\n$table_dark_row: #f4f4f4;\n\n// Progress colors.\n$level_submitted: $purple;\n$level_perfect: rgb(14, 190, 14);\n$level_passed: rgb(159, 212, 159);\n$level_attempted: $realyellow;\n$level_not_tried: #fefefe;\n$level_current: $orange;\n$level_review_rejected: $red;\n$level_review_accepted: rgb(11, 142, 11); // TODO: $level_passed;\n$assessment: $cyan;\n$workspace_running_background: #e5e5e5;\n\n// Experimental Sprite Lab validation colors.\n$dark_purple: #682A77;\n$bright_green: #0ebe0e;\n$neon_pink: #e9118f;\n\n// Links (used in apps).\n$link_color: #0596ce;\n\n// Shadow.\n$shadow: rgba(0, 0, 0, 0.3);\n\n// Colors that are taken from bootstrap, and not necessarily part of our core theme.\n$bootstrap_button_blue: #337ab7;\n$bootstrap_button_red: #d9534f;\n$bootstrap_error_background: #f2dede;\n$bootstrap_error_text: #b94a48;\n$bootstrap_v3_error_text: #a94442;\n$bootstrap_error_border: #ebccd1;\n$bootstrap_warning_background: #fcf8e3;\n$bootstrap_warning_text: #c09853;\n$bootstrap_warning_border: #faebcc;\n$bootstrap_border_color: #cccccc;\n$bootstrap_success_background: #dff0d8;\n$bootstrap_success_text: #468847;\n$bootstrap_success_border: #d6e9c6;\n\n// Colors taken from droplet, not part of our core theme.\n$droplet_light_green: #d3e965;\n$droplet_blue: #64b5f6;\n$droplet_bright_blue: #19c3e1;\n$droplet_yellow: #fff176;\n$droplet_orange: #ffb74d;\n$droplet_red: #f78183;\n$droplet_cyan: #4dd0e1;\n$droplet_pink: #f57ac6;\n$droplet_purple: #bb77c7;\n$droplet_green: #68d995;\n$droplet_white: $white;\n\n// Oceans: deep blue background.\n$oceans_deep_blue: rgb(2, 0, 28);\n\n// Dark theme background (used by default in Music Lab)\n$dark_black: #121212;\n\n// ===----===----===---- Phase 1 Colors: ----===----===----===\n// Brand\n$brand_primary_light: #E0F8F9;\n$brand_primary_default: #009EB0;\n$brand_primary_dark: #007785;\n\n$brand_secondary_light: #E0D1EC;\n$brand_secondary_default: #8C52BA;\n$brand_secondary_dark: #6C468A;\n\n$brand_accent_default: #ED6060;\n\n$brand_teal_5: #DFF2F4;\n\n//Product\n$product_affirmative_default: #3EA33E;\n\n$product_negative_light: #FDEBE9;\n$product_negative_default: #E5311A;\n$product_negative_dark: #AA2513;\n\n$product_caution_default: #F9CB28;\n\n$product_information_default: #007ACC;\n\n// Neutral\n$neutral_white: #FFFFFF;\n$neutral_light: #F7F8FA;\n$neutral_gray10: #EAEBEB;\n$neutral_dark10: #EAECEF;\n$neutral_dark20: #D1D4D8;\n$neutral_dark30: #BEC2C7;\n$neutral_dark40: #ABB0B6;\n$neutral_dark50: #989EA5;\n$neutral_dark60: #858C94;\n$neutral_dark70: #727A83;\n$neutral_dark80: #5F6872;\n$neutral_dark90: #4C5661;\n$neutral_dark: #292F36;\n\n//Brands\n$google_brand_color: #0F9D58;\n$microsoft_brand_color: #FFB900;\n$facebook_brand_color: #3B5998;\n$clever_brand_color: #1464FF;\n\n// ===----===----===---- Design system colors: ----===----===----===\n\n$light_primary_100: #BFE4E8;\n$light_primary_500: #0093A4;\n$light_primary_700: #007785;\n\n$light_secondary_100: #E2D4EE;\n$light_secondary_500: #8C52BA;\n$light_secondary_700: #6C468A;\n\n$light_gray_50: #F7F8FA;\n$light_gray_100: #EAECEF;\n$light_gray_200: #D1D4D8;\n$light_gray_300: #BEC2C7;\n$light_gray_400: #ABB0B6;\n$light_gray_500: #989EA5;\n$light_gray_600: #858C94;\n$light_gray_700: #727A83;\n$light_gray_800: #5F6872;\n$light_gray_900: #4C5661;\n$light_gray_950: #394450;\n\n$light_affirmative_100: #E2F1E2;\n$light_affirmative_500: #3EA33E;\n$light_affirmative_700: #2D742D;\n\n$light_negative_100: #FBE0DD;\n$light_negative_500: #E5311A;\n$light_negative_700: #B24949;\n\n$light_caution_100: #FEF7DF;\n$light_caution_500: #F9CB28;\n$light_caution_700: #C7A220;\n\n$light_accent_100: #FAD7D7;\n$light_accent_500: #ED6060;\n$light_accent_700: #D84C4C;\n\n$light_aqua_100: #CEFFFD;\n$light_aqua_500: #3CFFF8;\n$light_aqua_700: #30CCC6;\n\n$light_orange_100: #FFEDCC;\n$light_orange_500: #FFA400;\n$light_orange_700: #CC8300;\n\n$light_info_100: #DCEFFB;\n$light_info_500: #1892E3;\n$light_info_700: #1375B6;\n\n$light_white: #FFFFFF;\n\n$light_black: #292F36;\n\n$light_black_opacity_90: rgba(41, 47, 54, 0.90);\n$light_black_opacity-80: rgba(41, 47, 54, 0.80);\n$light_black_opacity-70: rgba(41, 47, 54, 0.70);\n$light_black_opacity-60: rgba(41, 47, 54, 0.60);\n$light_black_opacity-50: rgba(41, 47, 54, 0.50);\n$light_black_opacity-40: rgba(41, 47, 54, 0.40);\n$light_black_opacity-30: rgba(41, 47, 54, 0.30);\n$light_black_opacity-20: rgba(41, 47, 54, 0.20);\n$light_black_opacity-10: rgba(41, 47, 54, 0.10);\n"],sourceRoot:""}]),___CSS_LOADER_EXPORT___.locals={modalContainer:"hsmMUofUJi42eFdHdlIo",modalHeader:"U3PuIsdjgDJaV9hYxdMs",modalButton:"Nk6JIMRltBoe4W7mlIKx"};const __WEBPACK_DEFAULT_EXPORT__=___CSS_LOADER_EXPORT___},"./node_modules/css-loader/dist/runtime/api.js":module=>{"use strict";module.exports=function(cssWithMappingToString){var list=[];return list.toString=function toString(){return this.map((function(item){var content="",needLayer=void 0!==item[5];return item[4]&&(content+="@supports (".concat(item[4],") {")),item[2]&&(content+="@media ".concat(item[2]," {")),needLayer&&(content+="@layer".concat(item[5].length>0?" ".concat(item[5]):""," {")),content+=cssWithMappingToString(item),needLayer&&(content+="}"),item[2]&&(content+="}"),item[4]&&(content+="}"),content})).join("")},list.i=function i(modules,media,dedupe,supports,layer){"string"==typeof modules&&(modules=[[null,modules,void 0]]);var alreadyImportedModules={};if(dedupe)for(var k=0;k0?" ".concat(item[5]):""," {").concat(item[1],"}")),item[5]=layer),media&&(item[2]?(item[1]="@media ".concat(item[2]," {").concat(item[1],"}"),item[2]=media):item[2]=media),supports&&(item[4]?(item[1]="@supports (".concat(item[4],") {").concat(item[1],"}"),item[4]=supports):item[4]="".concat(supports)),list.push(item))}},list}},"./node_modules/css-loader/dist/runtime/getUrl.js":module=>{"use strict";module.exports=function(url,options){return options||(options={}),url?(url=String(url.__esModule?url.default:url),/^['"].*['"]$/.test(url)&&(url=url.slice(1,-1)),options.hash&&(url+=options.hash),/["'() \t\n]|(%20)/.test(url)||options.needQuotes?'"'.concat(url.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):url):url}},"./node_modules/css-loader/dist/runtime/sourceMaps.js":module=>{"use strict";module.exports=function(item){var content=item[1],cssMapping=item[3];if(!cssMapping)return content;if("function"==typeof btoa){var base64=btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping)))),data="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64),sourceMapping="/*# ".concat(data," */"),sourceURLs=cssMapping.sources.map((function(source){return"/*# sourceURL=".concat(cssMapping.sourceRoot||"").concat(source," */")}));return[content].concat(sourceURLs).concat([sourceMapping]).join("\n")}return[content].join("\n")}},"./src/componentLibrary/link/link.module.scss":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/style-loader/dist/runtime/styleDomAPI.js"),_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__),_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/style-loader/dist/runtime/insertBySelector.js"),_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__),_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"),_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__),_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/style-loader/dist/runtime/insertStyleElement.js"),_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__),_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/style-loader/dist/runtime/styleTagTransform.js"),_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__),_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_link_module_scss__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./src/componentLibrary/link/link.module.scss"),options={};options.styleTagTransform=_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default(),options.setAttributes=_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default(),options.insert=_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null,"head"),options.domAPI=_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default(),options.insertStyleElement=_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default();_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_link_module_scss__WEBPACK_IMPORTED_MODULE_6__.A,options);const __WEBPACK_DEFAULT_EXPORT__=_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_link_module_scss__WEBPACK_IMPORTED_MODULE_6__.A&&_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_link_module_scss__WEBPACK_IMPORTED_MODULE_6__.A.locals?_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_link_module_scss__WEBPACK_IMPORTED_MODULE_6__.A.locals:void 0},"./src/templates/policy_compliance/AgeGatedStudentsModal/age-gated-students-modal.module.scss":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>__WEBPACK_DEFAULT_EXPORT__});var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__),_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/style-loader/dist/runtime/styleDomAPI.js"),_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__),_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/style-loader/dist/runtime/insertBySelector.js"),_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__),_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"),_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__),_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/style-loader/dist/runtime/insertStyleElement.js"),_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__),_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/style-loader/dist/runtime/styleTagTransform.js"),_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__),_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_age_gated_students_modal_module_scss__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./src/templates/policy_compliance/AgeGatedStudentsModal/age-gated-students-modal.module.scss"),options={};options.styleTagTransform=_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default(),options.setAttributes=_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default(),options.insert=_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null,"head"),options.domAPI=_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default(),options.insertStyleElement=_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default();_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_age_gated_students_modal_module_scss__WEBPACK_IMPORTED_MODULE_6__.A,options);const __WEBPACK_DEFAULT_EXPORT__=_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_age_gated_students_modal_module_scss__WEBPACK_IMPORTED_MODULE_6__.A&&_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_age_gated_students_modal_module_scss__WEBPACK_IMPORTED_MODULE_6__.A.locals?_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_age_gated_students_modal_module_scss__WEBPACK_IMPORTED_MODULE_6__.A.locals:void 0},"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":module=>{"use strict";var stylesInDOM=[];function getIndexByIdentifier(identifier){for(var result=-1,i=0;i{"use strict";var memo={};module.exports=function insertBySelector(insert,style){var target=function getTarget(target){if(void 0===memo[target]){var styleTarget=document.querySelector(target);if(window.HTMLIFrameElement&&styleTarget instanceof window.HTMLIFrameElement)try{styleTarget=styleTarget.contentDocument.head}catch(e){styleTarget=null}memo[target]=styleTarget}return memo[target]}(insert);if(!target)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");target.appendChild(style)}},"./node_modules/style-loader/dist/runtime/insertStyleElement.js":module=>{"use strict";module.exports=function insertStyleElement(options){var element=document.createElement("style");return options.setAttributes(element,options.attributes),options.insert(element,options.options),element}},"./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";module.exports=function setAttributesWithoutAttributes(styleElement){var nonce=__webpack_require__.nc;nonce&&styleElement.setAttribute("nonce",nonce)}},"./node_modules/style-loader/dist/runtime/styleDomAPI.js":module=>{"use strict";module.exports=function domAPI(options){var styleElement=options.insertStyleElement(options);return{update:function update(obj){!function apply(styleElement,options,obj){var css="";obj.supports&&(css+="@supports (".concat(obj.supports,") {")),obj.media&&(css+="@media ".concat(obj.media," {"));var needLayer=void 0!==obj.layer;needLayer&&(css+="@layer".concat(obj.layer.length>0?" ".concat(obj.layer):""," {")),css+=obj.css,needLayer&&(css+="}"),obj.media&&(css+="}"),obj.supports&&(css+="}");var sourceMap=obj.sourceMap;sourceMap&&"undefined"!=typeof btoa&&(css+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))))," */")),options.styleTagTransform(css,styleElement,options.options)}(styleElement,options,obj)},remove:function remove(){!function removeStyleElement(styleElement){if(null===styleElement.parentNode)return!1;styleElement.parentNode.removeChild(styleElement)}(styleElement)}}}},"./node_modules/style-loader/dist/runtime/styleTagTransform.js":module=>{"use strict";module.exports=function styleTagTransform(css,styleElement){if(styleElement.styleSheet)styleElement.styleSheet.cssText=css;else{for(;styleElement.firstChild;)styleElement.removeChild(styleElement.firstChild);styleElement.appendChild(document.createTextNode(css))}}},"./src/componentLibrary/link/Link.tsx":function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i HTML tag (with DSCO styles applied).\nCan be opened in new tab, have custom onClick, also can be disabled.",displayName:"Link",props:{id:{defaultValue:null,description:"Link id",name:"id",required:!1,type:{name:"string"}},className:{defaultValue:null,description:"Custom class name",name:"className",required:!1,type:{name:"string"}},external:{defaultValue:null,description:"Does the link go to an external source?",name:"external",required:!1,type:{name:"boolean"}},openInNewTab:{defaultValue:null,description:"Should the link open in a new tab?",name:"openInNewTab",required:!1,type:{name:"boolean"}},href:{defaultValue:{value:"#"},description:"Link destination",name:"href",required:!1,type:{name:"string"}},disabled:{defaultValue:null,description:"Is the link disabled?",name:"disabled",required:!1,type:{name:"boolean"}},onClick:{defaultValue:null,description:"Callback for click event",name:"onClick",required:!1,type:{name:"((event: MouseEvent) => void)"}},size:{defaultValue:{value:"m"},description:"Size of link",name:"size",required:!1,type:{name:"enum",value:[{value:'"s"'},{value:'"xs"'},{value:'"m"'},{value:'"l"'}]}},type:{defaultValue:{value:"primary"},description:"Type of link",name:"type",required:!1,type:{name:"enum",value:[{value:'"primary"'},{value:'"secondary"'}]}},role:{defaultValue:null,description:"Role of link",name:"role",required:!1,type:{name:"string"}},text:{defaultValue:null,description:"Link text content",name:"text",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/componentLibrary/link/Link.tsx#Link"]={docgenInfo:Link.__docgenInfo,name:"Link",path:"src/componentLibrary/link/Link.tsx#Link"})}catch(__react_docgen_typescript_loader_error){}},"./src/componentLibrary/link/index.ts":function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var Link_1=__webpack_require__("./src/componentLibrary/link/Link.tsx");Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return __importDefault(Link_1).default}})},"./src/componentLibrary/typography/TypographyElements.tsx":function(__unused_webpack_module,exports,__webpack_require__){"use strict";var _a,__assign=this&&this.__assign||function(){return __assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i void"}},isOpen:{defaultValue:null,description:"",name:"isOpen",required:!0,type:{name:"boolean"}},ageGatedStudentsCount:{defaultValue:{value:"0"},description:"",name:"ageGatedStudentsCount",required:!1,type:{name:"number"}},ageGatedStudentsUsState:{defaultValue:null,description:"",name:"ageGatedStudentsUsState",required:!1,type:{name:"string"}}}},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/templates/policy_compliance/AgeGatedStudentsModal/AgeGatedStudentsModal.tsx#AgeGatedStudentsModal"]={docgenInfo:AgeGatedStudentsModal.__docgenInfo,name:"AgeGatedStudentsModal",path:"src/templates/policy_compliance/AgeGatedStudentsModal/AgeGatedStudentsModal.tsx#AgeGatedStudentsModal"})}catch(__react_docgen_typescript_loader_error){}}}]); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QXFCLDhCQUFDLGdDQUFxQixNQUM3Qyx5Q0FDQSxxQ0FBS3JXLFVBQVcsK0NBQU8wWCxhQUNyQix3Q0FBUXpRLEtBQUssU0FBU2IsUUFBU3lRLGFBQzVCLGlCQUFLM1Usa0JBT3BCLEVBRUEsaUJBQWUsZ0JBQUF5VixVQUFRLFNBQUM5USxPQUFzQixPQUM1Q3dQLGtCQUFtQnhQLE1BQU0rUSxlQUFldkIsb0JBQXFCLEVBRGpCLEdBQS9CLENBRVhEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3NoYXJlZENvbXBvbmVudHMvU3Bpbm5lci5qc3giLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3RlbXBsYXRlcy9CYXNlRGlhbG9nLmpzeCIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvdGVtcGxhdGVzL2N1cnJlbnRVc2VyUmVkdXguanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vbm9kZV9tb2R1bGVzL2NsYXNzbmFtZXMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL2NvbXBvbmVudExpYnJhcnkvbGluay9saW5rLm1vZHVsZS5zY3NzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy90ZW1wbGF0ZXMvcG9saWN5X2NvbXBsaWFuY2UvQWdlR2F0ZWRTdHVkZW50c01vZGFsL2FnZS1nYXRlZC1zdHVkZW50cy1tb2RhbC5tb2R1bGUuc2NzcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9nZXRVcmwuanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL2NvbXBvbmVudExpYnJhcnkvbGluay9saW5rLm1vZHVsZS5zY3NzPzFjMDMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3RlbXBsYXRlcy9wb2xpY3lfY29tcGxpYW5jZS9BZ2VHYXRlZFN0dWRlbnRzTW9kYWwvYWdlLWdhdGVkLXN0dWRlbnRzLW1vZGFsLm1vZHVsZS5zY3NzP2M5N2MiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydEJ5U2VsZWN0b3IuanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0U3R5bGVFbGVtZW50LmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3NldEF0dHJpYnV0ZXNXaXRob3V0QXR0cmlidXRlcy5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZURvbUFQSS5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZVRhZ1RyYW5zZm9ybS5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvY29tcG9uZW50TGlicmFyeS9saW5rL0xpbmsudHN4Iiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy9jb21wb25lbnRMaWJyYXJ5L2xpbmsvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL2NvbXBvbmVudExpYnJhcnkvdHlwb2dyYXBoeS9UeXBvZ3JhcGh5RWxlbWVudHMudHN4Iiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy9jb21wb25lbnRMaWJyYXJ5L3R5cG9ncmFwaHkvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3RlbXBsYXRlcy9wb2xpY3lfY29tcGxpYW5jZS9BZ2VHYXRlZFN0dWRlbnRzTW9kYWwvQWdlR2F0ZWRTdHVkZW50c01vZGFsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIExvYWRpbmcgc3Bpbm5lci5cbiAqL1xuXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IEZvbnRBd2Vzb21lIGZyb20gJ0BjZG8vYXBwcy9sZWdhY3lTaGFyZWRDb21wb25lbnRzL0ZvbnRBd2Vzb21lJztcbmltcG9ydCBpMThuIGZyb20gJ0BjZG8vbG9jYWxlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3Bpbm5lciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgc2l6ZTogUHJvcFR5cGVzLm9uZU9mKFsnc21hbGwnLCAnbWVkaXVtJywgJ2xhcmdlJ10pLFxuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7c2l6ZSwgc3R5bGV9ID0gdGhpcy5wcm9wcztcbiAgICBsZXQgZGlzcGxheVNpemUgPVxuICAgICAgc2l6ZSA9PT0gJ3NtYWxsJyA/ICcnIDogc2l6ZSA9PT0gJ21lZGl1bScgPyAnZmEtMngnIDogJ2ZhLTN4JztcbiAgICByZXR1cm4gKFxuICAgICAgPEZvbnRBd2Vzb21lXG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgaWNvbj1cInNwaW5uZXJcIlxuICAgICAgICBjbGFzc05hbWU9e2BmYS1wdWxzZSAke2Rpc3BsYXlTaXplfWB9XG4gICAgICAgIHRpdGxlPXtpMThuLmxvYWRpbmcoKX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufVxuIiwiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBCdXR0b24gZnJvbSAnQGNkby9hcHBzL2xlZ2FjeVNoYXJlZENvbXBvbmVudHMvQnV0dG9uJztcbmltcG9ydCBpMThuIGZyb20gJ0BjZG8vbG9jYWxlJztcblxuaW1wb3J0IHtCQVNFX0RJQUxPR19XSURUSH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCBjb2xvciBmcm9tICcuLi91dGlsL2NvbG9yJztcblxuLyoqXG4gKiBCYXNlRGlhbG9nXG4gKiBBIGdlbmVyaWMgbW9kYWwgZGlhbG9nIHRoYXQgaGFzIGFuIHgtY2xvc2UgaW4gdGhlIHVwcGVyIHJpZ2h0LCBhbmQgYVxuICogc2VtaS10cmFuc3BhcmVudCBiYWNrZHJvcC4gQ2FuIGJlIGNsb3NlZCBieSBjbGlja2luZyB0aGUgeCwgY2xpY2tpbmcgdGhlXG4gKiBiYWNrZHJvcCwgb3IgcHJlc3NpbmcgZXNjLlxuICpcbiAqIFRvIHVzZSBhIHN0eWxlZCB2ZXJzaW9uIG9mIHRoaXMgY29tcG9uZW50IHRoYXQgZm9sbG93cyBvdXIgc3R5bGUgZ3VpZGUsXG4gKiB1c2UgU3R5bGl6ZWRCYXNlRGlhbG9nLmpzeC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmFzZURpYWxvZyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNPcGVuOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBoYW5kbGVDbG9zZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgdW5jbG9zZWFibGU6IFByb3BUeXBlcy5ib29sLFxuICAgIGhpZGVDbG9zZUJ1dHRvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGFuZGxlS2V5RG93bjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgLy8gRm9yIHVzZSBpbiByZWFjdC1zdG9yeWJvb2s7IGFsbG93cyByZW5kZXJpbmcgZGlhbG9nIGlubGluZSBpbiBzdG9yeSB0YWJsZXMuXG4gICAgaGlkZUJhY2tkcm9wOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBmdWxsV2lkdGg6IFByb3BUeXBlcy5ib29sLFxuICAgIGZ1bGxIZWlnaHQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZVVwZGF0ZWRTdHlsZXM6IFByb3BUeXBlcy5ib29sLFxuICAgIG5vTW9kYWxTdHlsZXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgICBmaXhlZFdpZHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIGZpeGVkSGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIHVzZUZsZXhib3g6IFByb3BUeXBlcy5ib29sLFxuICAgIGJvZHlJZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBib2R5Q2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHNvdW5kUGxheWVyOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG92ZXJmbG93OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIC8vIFRlbXBvcmFyeSBwcm9wIHVudGlsIEFuaW1hdGlvblBpY2tlckJvZHkgaXMgcmVkZXNpZ25lZFxuICAgIGJhY2tkcm9wU3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5mb2N1c0RpYWxvZygpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgIHRoaXMuZm9jdXNEaWFsb2coKTtcbiAgfVxuXG4gIGhhbmRsZUtleURvd24gPSBldmVudCA9PiB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY2xvc2VEaWFsb2coKTtcbiAgICB9XG4gICAgdGhpcy5wcm9wcy5oYW5kbGVLZXlEb3duICYmIHRoaXMucHJvcHMuaGFuZGxlS2V5RG93bihldmVudCk7XG4gIH07XG5cbiAgY2xvc2VEaWFsb2cgPSAoKSA9PiB7XG4gICAgaWYgKCF0aGlzLnByb3BzLnVuY2xvc2VhYmxlICYmIHRoaXMucHJvcHMuaGFuZGxlQ2xvc2UpIHtcbiAgICAgIHRoaXMucHJvcHMuaGFuZGxlQ2xvc2UoKTtcbiAgICAgIGlmICh0aGlzLnByb3BzLnNvdW5kUGxheWVyKSB7XG4gICAgICAgIHRoaXMucHJvcHMuc291bmRQbGF5ZXIuc3RvcEFsbEF1ZGlvKCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8qKiBAcmV0dXJucyB7QXJyYXkuPEVsZW1lbnQ+fSAqL1xuICBnZXRUYWJiYWJsZUVsZW1lbnRzKCkge1xuICAgIHJldHVybiBbXS5zbGljZS5jYWxsKHRoaXMucmVmcy5kaWFsb2cucXVlcnlTZWxlY3RvckFsbCgnYSxidXR0b24saW5wdXQnKSk7XG4gIH1cblxuICBmb2N1c0RpYWxvZygpIHtcbiAgICAvLyBEb24ndCBzdGVhbCBmb2N1cyBpZiB0aGUgYWN0aXZlIGVsZW1lbnQgaXMgYWxyZWFkeSBhIGRlc2NlbmRhbnQgb2YgdGhlXG4gICAgLy8gZGlhbG9nIC0gcHJldmVudHMgZm9jdXMgbG9zcyBvbiB1cGRhdGVzIG9mIG9wZW4gQmFzZURpYWxvZyBjb21wb25lbnRzLlxuICAgIGNvbnN0IGRlc2NlbmRhbnRJc0FjdGl2ZSA9XG4gICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmXG4gICAgICB0aGlzLnJlZnMuZGlhbG9nICYmXG4gICAgICB0aGlzLnJlZnMuZGlhbG9nLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO1xuICAgIGlmICh0aGlzLnByb3BzLmlzT3BlbiAmJiAhZGVzY2VuZGFudElzQWN0aXZlKSB7XG4gICAgICB0aGlzLnJlZnMuZGlhbG9nLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGlmICghdGhpcy5wcm9wcy5pc09wZW4gJiYgIXRoaXMucHJvcHMuaGlkZUJhY2tkcm9wKSB7XG4gICAgICByZXR1cm4gPGRpdiAvPjtcbiAgICB9XG5cbiAgICBsZXQgYm9keVN0eWxlLCBtb2RhbEJvZHlTdHlsZSwgeENsb3NlU3R5bGU7XG4gICAgaWYgKHRoaXMucHJvcHMuZnVsbFdpZHRoKSB7XG4gICAgICBib2R5U3R5bGUgPSB7XG4gICAgICAgIC4uLmJvZHlTdHlsZSxcbiAgICAgICAgd2lkdGg6ICc5MCUnLFxuICAgICAgICBtYXJnaW5MZWZ0OiAnLTQ1JScsXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAodGhpcy5wcm9wcy5mdWxsSGVpZ2h0KSB7XG4gICAgICBib2R5U3R5bGUgPSB7XG4gICAgICAgIC4uLmJvZHlTdHlsZSxcbiAgICAgICAgaGVpZ2h0OiAnODAlJyxcbiAgICAgIH07XG4gICAgICBtb2RhbEJvZHlTdHlsZSA9IHtcbiAgICAgICAgLi4ubW9kYWxCb2R5U3R5bGUsXG4gICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBsZXQgd3JhcHBlckNsYXNzTmFtZXMgPSAnJztcbiAgICBsZXQgbW9kYWxDbGFzc05hbWVzID0gJ21vZGFsJztcbiAgICBsZXQgbW9kYWxCb2R5Q2xhc3NOYW1lcyA9ICdtb2RhbC1ib2R5JztcbiAgICBsZXQgbW9kYWxCYWNrZHJvcENsYXNzTmFtZXMgPSAnbW9kYWwtYmFja2Ryb3AnO1xuICAgIGNvbnN0IG92ZXJmbG93WCA9IHRoaXMucHJvcHMub3ZlcmZsb3cgfHwgJ2hpZGRlbic7XG4gICAgY29uc3Qgb3ZlcmZsb3dZID1cbiAgICAgIHRoaXMucHJvcHMub3ZlcmZsb3cgfHxcbiAgICAgICh0aGlzLnByb3BzLmZpeGVkSGVpZ2h0IHx8IHRoaXMucHJvcHMuZnVsbEhlaWdodCA/ICdoaWRkZW4nIDogJ2F1dG8nKTtcblxuICAgIGlmICh0aGlzLnByb3BzLnVzZVVwZGF0ZWRTdHlsZXMpIHtcbiAgICAgIHdyYXBwZXJDbGFzc05hbWVzID0gJ2Rhc2hib2FyZC1zdHlsZXMnO1xuICAgICAgbW9kYWxCb2R5Q2xhc3NOYW1lcyA9ICcnO1xuICAgICAgbW9kYWxCb2R5U3R5bGUgPSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICcjZmZmJyxcbiAgICAgICAgaGVpZ2h0OiB0aGlzLnByb3BzLmZpeGVkSGVpZ2h0LFxuICAgICAgICBtYXhIZWlnaHQ6ICF0aGlzLnByb3BzLmZpeGVkSGVpZ2h0ICYmICc4NXZoJyxcbiAgICAgICAgb3ZlcmZsb3dYOiBvdmVyZmxvd1gsXG4gICAgICAgIG92ZXJmbG93WTogb3ZlcmZsb3dZLFxuICAgICAgICBib3JkZXJSYWRpdXM6IDQsXG4gICAgICB9O1xuICAgICAgaWYgKHRoaXMucHJvcHMudXNlRmxleGJveCkge1xuICAgICAgICBtb2RhbEJvZHlTdHlsZSA9IHtcbiAgICAgICAgICAuLi5tb2RhbEJvZHlTdHlsZSxcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBib2R5U3R5bGUgPSB7XG4gICAgICAgIC4uLmJvZHlTdHlsZSxcbiAgICAgICAgd2lkdGg6IHRoaXMucHJvcHMuZml4ZWRXaWR0aCB8fCBCQVNFX0RJQUxPR19XSURUSCxcbiAgICAgICAgbWFyZ2luTGVmdDogLXRoaXMucHJvcHMuZml4ZWRXaWR0aCAvIDIgfHwgLTM1MCxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLm5vTW9kYWxTdHlsZXMpIHtcbiAgICAgIG1vZGFsQ2xhc3NOYW1lcyA9ICcnO1xuICAgICAgbW9kYWxCb2R5Q2xhc3NOYW1lcyA9ICcnO1xuICAgIH1cblxuICAgIGJvZHlTdHlsZSA9IHtcbiAgICAgIC4uLmJvZHlTdHlsZSxcbiAgICAgIC4uLih0aGlzLnByb3BzLmhpZGVCYWNrZHJvcCAmJiB7XG4gICAgICAgIHBvc2l0aW9uOiAnaW5pdGlhbCcsXG4gICAgICAgIG1hcmdpbkxlZnQ6IDAsXG4gICAgICB9KSxcbiAgICAgIC4uLnRoaXMucHJvcHMuc3R5bGUsXG4gICAgfTtcbiAgICB4Q2xvc2VTdHlsZSA9IHtcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAwLFxuICAgICAgaW5zZXRJbmxpbmVFbmQ6IDAsXG4gICAgICBwYWRkaW5nOiAwLFxuICAgICAgY29sb3I6IGNvbG9yLm5ldXRyYWxfZGFyazMwLFxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICBmb250U2l6ZTogMjQsXG4gICAgICBib3JkZXI6ICdub25lJyxcbiAgICB9O1xuXG4gICAgbW9kYWxCb2R5Q2xhc3NOYW1lcyA9IFttb2RhbEJvZHlDbGFzc05hbWVzLCB0aGlzLnByb3BzLmJvZHlDbGFzc05hbWVdXG4gICAgICAuZmlsdGVyKGNsYXNzTmFtZSA9PiAhIWNsYXNzTmFtZSlcbiAgICAgIC5qb2luKCcgJyk7XG5cbiAgICBsZXQgYm9keSA9IChcbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e2JvZHlTdHlsZX1cbiAgICAgICAgdGFiSW5kZXg9XCItMVwiXG4gICAgICAgIGNsYXNzTmFtZT17bW9kYWxDbGFzc05hbWVzfVxuICAgICAgICByZWY9XCJkaWFsb2dcIlxuICAgICAgICBvbktleURvd249e3RoaXMuaGFuZGxlS2V5RG93bn1cbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXttb2RhbEJvZHlTdHlsZX1cbiAgICAgICAgICBpZD17dGhpcy5wcm9wcy5ib2R5SWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXttb2RhbEJvZHlDbGFzc05hbWVzfVxuICAgICAgICA+XG4gICAgICAgICAgeyF0aGlzLnByb3BzLnVuY2xvc2VhYmxlICYmICF0aGlzLnByb3BzLmhpZGVDbG9zZUJ1dHRvbiAmJiAoXG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIGlkPVwieC1jbG9zZVwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuY2xvc2VEaWFsb2d9XG4gICAgICAgICAgICAgIGljb249XCJmYS1zb2xpZCBmYS14bWFya1wiXG4gICAgICAgICAgICAgIHN0eWxlPXt4Q2xvc2VTdHlsZX1cbiAgICAgICAgICAgICAgY29sb3I9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2kxOG4uY2xvc2VEaWFsb2coKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuXG4gICAgaWYgKHRoaXMucHJvcHMuaGlkZUJhY2tkcm9wKSB7XG4gICAgICByZXR1cm4gYm9keTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3dyYXBwZXJDbGFzc05hbWVzfT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17bW9kYWxCYWNrZHJvcENsYXNzTmFtZXN9XG4gICAgICAgICAgc3R5bGU9e3RoaXMucHJvcHMuYmFja2Ryb3BTdHlsZX1cbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLmNsb3NlRGlhbG9nfVxuICAgICAgICAvPlxuICAgICAgICB7Ym9keX1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiIsImltcG9ydCB7RVZFTlRTfSBmcm9tICdAY2RvL2FwcHMvbWV0cmljcy9BbmFseXRpY3NDb25zdGFudHMnO1xuaW1wb3J0IGFuYWx5dGljc1JlcG9ydCBmcm9tICdAY2RvL2FwcHMvbWV0cmljcy9BbmFseXRpY3NSZXBvcnRlcic7XG5pbXBvcnQgc3RhdHNpZ1JlcG9ydGVyIGZyb20gJ0BjZG8vYXBwcy9tZXRyaWNzL1N0YXRzaWdSZXBvcnRlcic7XG5pbXBvcnQgZXhwZXJpbWVudHMgZnJvbSAnQGNkby9hcHBzL3V0aWwvZXhwZXJpbWVudHMnO1xuaW1wb3J0IHtVc2VyVHlwZXN9IGZyb20gJ0BjZG8vZ2VuZXJhdGVkLXNjcmlwdHMvc2hhcmVkQ29uc3RhbnRzJztcblxuaW1wb3J0IHttYWtlRW51bX0gZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBTRVRfQ1VSUkVOVF9VU0VSX05BTUUgPSAnY3VycmVudFVzZXIvU0VUX0NVUlJFTlRfVVNFUl9OQU1FJztcbmNvbnN0IFNFVF9VU0VSX1NJR05FRF9JTiA9ICdjdXJyZW50VXNlci9TRVRfVVNFUl9TSUdORURfSU4nO1xuY29uc3QgU0VUX1VTRVJfVFlQRSA9ICdjdXJyZW50VXNlci9TRVRfVVNFUl9UWVBFJztcbmNvbnN0IFNFVF9PVkVSXzIxID0gJ2N1cnJlbnRVc2VyL1NFVF9PVkVSXzIxJztcbmNvbnN0IFNFVF9VU0VSX1JPTEVfSU5fQ09VUlNFID0gJ2N1cnJlbnRVc2VyL1NFVF9VU0VSX1JPTEVfSU5fQ09VUlNFJztcbmNvbnN0IFNFVF9IQVNfU0VFTl9TVEFOREFSRFNfUkVQT1JUID1cbiAgJ2N1cnJlbnRVc2VyL1NFVF9IQVNfU0VFTl9TVEFOREFSRFNfUkVQT1JUJztcbmNvbnN0IFNFVF9JTklUSUFMX0RBVEEgPSAnY3VycmVudFVzZXIvU0VUX0lOSVRJQUxfREFUQSc7XG5jb25zdCBTRVRfTVVURV9NVVNJQyA9ICdjdXJyZW50VXNlci9TRVRfTVVURV9NVVNJQyc7XG5jb25zdCBTRVRfU09SVF9CWV9GQU1JTFlfTkFNRSA9ICdjdXJyZW50VXNlci9TRVRfU09SVF9CWV9GQU1JTFlfTkFNRSc7XG5jb25zdCBTRVRfU0hPV19QUk9HUkVTU19UQUJMRV9WMiA9ICdjdXJyZW50VXNlci9TRVRfU0hPV19QUk9HUkVTU19UQUJMRV9WMic7XG5jb25zdCBTRVRfQUlfUlVCUklDU19ESVNBQkxFRCA9ICdjdXJyZW50VXNlci9TRVRfQUlfUlVCUklDU19ESVNBQkxFRCc7XG5jb25zdCBTRVRfUFJPR1JFU1NfVEFCTEVfVjJfQ0xPU0VEX0JFVEEgPVxuICAnY3VycmVudFVzZXIvU0VUX1BST0dSRVNTX1RBQkxFX1YyX0NMT1NFRF9CRVRBJztcbmNvbnN0IFNFVF9EQVRFX1BST0dSRVNTX1RBQkxFX0lOVklUQVRJT05fTEFTVF9ERUxBWUVEID1cbiAgJ2N1cnJlbnRVc2VyL1NFVF9EQVRFX1BST0dSRVNTX1RBQkxFX0lOVklUQVRJT05fTEFTVF9ERUxBWUVEJztcbmNvbnN0IFNFVF9TRUVOX1BST0dSRVNTX1RBQkxFX0lOVklUQVRJT04gPVxuICAnY3VycmVudFVzZXIvU0VUX1NFRU5fUFJPR1JFU1NfVEFCTEVfSU5WSVRBVElPTic7XG5jb25zdCBTRVRfVVNFUl9DUkVBVEVEX0FUID0gJ2N1cnJlbnRVc2VyL1NFVF9VU0VSX0NSRUFURURfQVQnO1xuXG5leHBvcnQgY29uc3QgU2lnbkluU3RhdGUgPSBtYWtlRW51bSgnVW5rbm93bicsICdTaWduZWRJbicsICdTaWduZWRPdXQnKTtcblxuZXhwb3J0IGNvbnN0IENvdXJzZVJvbGVzID0gbWFrZUVudW0oJ1Vua25vd24nLCAnSW5zdHJ1Y3RvcicsICdQYXJ0aWNpcGFudCcpO1xuXG4vLyBBY3Rpb24gY3JlYXRvcnNcbmV4cG9ydCBjb25zdCBzZXRDdXJyZW50VXNlck5hbWUgPSB1c2VyTmFtZSA9PiAoe1xuICB0eXBlOiBTRVRfQ1VSUkVOVF9VU0VSX05BTUUsXG4gIHVzZXJOYW1lLFxufSk7XG5leHBvcnQgY29uc3Qgc2V0Q3VycmVudFVzZXJIYXNTZWVuU3RhbmRhcmRzUmVwb3J0SW5mbyA9XG4gIGhhc1NlZW5TdGFuZGFyZHNSZXBvcnQgPT4gKHtcbiAgICB0eXBlOiBTRVRfSEFTX1NFRU5fU1RBTkRBUkRTX1JFUE9SVCxcbiAgICBoYXNTZWVuU3RhbmRhcmRzUmVwb3J0LFxuICB9KTtcbmV4cG9ydCBjb25zdCBzZXRVc2VyU2lnbmVkSW4gPSBpc1NpZ25lZEluID0+ICh7XG4gIHR5cGU6IFNFVF9VU0VSX1NJR05FRF9JTixcbiAgaXNTaWduZWRJbixcbn0pO1xuZXhwb3J0IGNvbnN0IHNldFVzZXJUeXBlID0gKHVzZXJUeXBlLCB1bmRlcjEzKSA9PiAoe1xuICB0eXBlOiBTRVRfVVNFUl9UWVBFLFxuICB1c2VyVHlwZSxcbiAgdW5kZXIxMyxcbn0pO1xuZXhwb3J0IGNvbnN0IHNldE92ZXIyMSA9IG92ZXIyMSA9PiAoe1xuICB0eXBlOiBTRVRfT1ZFUl8yMSxcbiAgb3ZlcjIxLFxufSk7XG5leHBvcnQgY29uc3Qgc2V0VXNlclJvbGVJbkNvdXJzZSA9IHVzZXJSb2xlSW5Db3Vyc2UgPT4gKHtcbiAgdHlwZTogU0VUX1VTRVJfUk9MRV9JTl9DT1VSU0UsXG4gIHVzZXJSb2xlSW5Db3Vyc2UsXG59KTtcbmV4cG9ydCBjb25zdCBzZXRJbml0aWFsRGF0YSA9IHNlcnZlclVzZXIgPT4gKHtcbiAgdHlwZTogU0VUX0lOSVRJQUxfREFUQSxcbiAgc2VydmVyVXNlcixcbn0pO1xuZXhwb3J0IGNvbnN0IHNldE11dGVNdXNpYyA9IGlzQmFja2dyb3VuZE11c2ljTXV0ZWQgPT4gKHtcbiAgdHlwZTogU0VUX01VVEVfTVVTSUMsXG4gIGlzQmFja2dyb3VuZE11c2ljTXV0ZWQsXG59KTtcbmV4cG9ydCBjb25zdCBzZXRTb3J0QnlGYW1pbHlOYW1lID0gKFxuICBpc1NvcnRlZEJ5RmFtaWx5TmFtZSxcbiAgc2VjdGlvbklkLFxuICB1bml0TmFtZSxcbiAgc291cmNlXG4pID0+ICh7XG4gIHR5cGU6IFNFVF9TT1JUX0JZX0ZBTUlMWV9OQU1FLFxuICBpc1NvcnRlZEJ5RmFtaWx5TmFtZSxcbiAgc2VjdGlvbklkLFxuICB1bml0TmFtZSxcbiAgc291cmNlLFxufSk7XG5leHBvcnQgY29uc3Qgc2V0U2hvd1Byb2dyZXNzVGFibGVWMiA9IHNob3dQcm9ncmVzc1RhYmxlVjIgPT4gKHtcbiAgdHlwZTogU0VUX1NIT1dfUFJPR1JFU1NfVEFCTEVfVjIsXG4gIHNob3dQcm9ncmVzc1RhYmxlVjIsXG59KTtcbmV4cG9ydCBjb25zdCBzZXRQcm9ncmVzc1RhYmxlVjJDbG9zZWRCZXRhID0gcHJvZ3Jlc3NUYWJsZVYyQ2xvc2VkQmV0YSA9PiAoe1xuICB0eXBlOiBTRVRfUFJPR1JFU1NfVEFCTEVfVjJfQ0xPU0VEX0JFVEEsXG4gIHByb2dyZXNzVGFibGVWMkNsb3NlZEJldGEsXG59KTtcbmV4cG9ydCBjb25zdCBzZXRIYXNTZWVuUHJvZ3Jlc3NUYWJsZUludml0ZSA9IGhhc1NlZW5Qcm9ncmVzc1RhYmxlSW52aXRlID0+ICh7XG4gIHR5cGU6IFNFVF9TRUVOX1BST0dSRVNTX1RBQkxFX0lOVklUQVRJT04sXG4gIGhhc1NlZW5Qcm9ncmVzc1RhYmxlSW52aXRlLFxufSk7XG5leHBvcnQgY29uc3Qgc2V0RGF0ZVByb2dyZXNzVGFibGVJbnZpdGF0aW9uRGVsYXllZCA9XG4gIGRhdGVQcm9ncmVzc1RhYmxlSW52aXRhdGlvbkRlbGF5ZWQgPT4gKHtcbiAgICB0eXBlOiBTRVRfREFURV9QUk9HUkVTU19UQUJMRV9JTlZJVEFUSU9OX0xBU1RfREVMQVlFRCxcbiAgICBkYXRlUHJvZ3Jlc3NUYWJsZUludml0YXRpb25EZWxheWVkLFxuICB9KTtcbmV4cG9ydCBjb25zdCBzZXRBaVJ1YnJpY3NEaXNhYmxlZCA9IGFpUnVicmljc0Rpc2FibGVkID0+ICh7XG4gIHR5cGU6IFNFVF9BSV9SVUJSSUNTX0RJU0FCTEVELFxuICBhaVJ1YnJpY3NEaXNhYmxlZCxcbn0pO1xuZXhwb3J0IGNvbnN0IHNldFVzZXJDcmVhdGVkQXQgPSB1c2VyQ3JlYXRlZEF0ID0+ICh7XG4gIHR5cGU6IFNFVF9VU0VSX0NSRUFURURfQVQsXG4gIHVzZXJDcmVhdGVkQXQsXG59KTtcblxuY29uc3QgaW5pdGlhbFN0YXRlID0ge1xuICB1c2VySWQ6IG51bGwsXG4gIHV1aWQ6IG51bGwsXG4gIHVzZXJOYW1lOiBudWxsLFxuICB1c2VyVHlwZTogJ3Vua25vd24nLFxuICB1c2VyUm9sZUluQ291cnNlOiBDb3Vyc2VSb2xlcy5Vbmtub3duLFxuICBzaWduSW5TdGF0ZTogU2lnbkluU3RhdGUuVW5rbm93bixcbiAgaGFzU2VlblN0YW5kYXJkc1JlcG9ydEluZm86IGZhbHNlLFxuICBpc0JhY2tncm91bmRNdXNpY011dGVkOiBmYWxzZSxcbiAgaXNTb3J0ZWRCeUZhbWlseU5hbWU6IGZhbHNlLFxuICBpc0x0aTogdW5kZWZpbmVkLFxuICBpc1RlYWNoZXI6IHVuZGVmaW5lZCxcbiAgLy8gU2V0dGluZyBkZWZhdWx0IHVuZGVyMTMgdmFsdWUgdG8gdHJ1ZSB0byBlcnIgb24gdGhlIHNpZGUgb2YgY2F1dGlvbiBmb3IgYWdlLXJlc3RyaWN0ZWQgY29udGVudC5cbiAgdW5kZXIxMzogdHJ1ZSxcbiAgb3ZlcjIxOiBmYWxzZSxcbiAgY2hpbGRBY2NvdW50Q29tcGxpYW5jZVN0YXRlOiBudWxsLFxuICBjb3VudHJ5Q29kZTogbnVsbCxcbiAgdXNTdGF0ZUNvZGU6IG51bGwsXG4gIGluU2VjdGlvbjogbnVsbCxcbiAgdXNlckNyZWF0ZWRBdDogbnVsbCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGN1cnJlbnRVc2VyKHN0YXRlID0gaW5pdGlhbFN0YXRlLCBhY3Rpb24pIHtcbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfQ1VSUkVOVF9VU0VSX05BTUUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICB1c2VyTmFtZTogYWN0aW9uLnVzZXJOYW1lLFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfSEFTX1NFRU5fU1RBTkRBUkRTX1JFUE9SVCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGhhc1NlZW5TdGFuZGFyZHNSZXBvcnRJbmZvOiBhY3Rpb24uaGFzU2VlblN0YW5kYXJkc1JlcG9ydCxcbiAgICB9O1xuICB9XG4gIGlmIChhY3Rpb24udHlwZSA9PT0gU0VUX1VTRVJfU0lHTkVEX0lOKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2lnbkluU3RhdGU6IGFjdGlvbi5pc1NpZ25lZEluXG4gICAgICAgID8gU2lnbkluU3RhdGUuU2lnbmVkSW5cbiAgICAgICAgOiBTaWduSW5TdGF0ZS5TaWduZWRPdXQsXG4gICAgfTtcbiAgfVxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9VU0VSX1RZUEUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICB1c2VyVHlwZTogYWN0aW9uLnVzZXJUeXBlLFxuICAgICAgdW5kZXIxMzogYWN0aW9uLnVuZGVyMTMsXG4gICAgfTtcbiAgfVxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9PVkVSXzIxKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgb3ZlcjIxOiBhY3Rpb24ub3ZlcjIxLFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfVVNFUl9ST0xFX0lOX0NPVVJTRSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHVzZXJSb2xlSW5Db3Vyc2U6IGFjdGlvbi51c2VyUm9sZUluQ291cnNlLFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfTVVURV9NVVNJQykge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGlzQmFja2dyb3VuZE11c2ljTXV0ZWQ6IGFjdGlvbi5pc0JhY2tncm91bmRNdXNpY011dGVkLFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfU09SVF9CWV9GQU1JTFlfTkFNRSkge1xuICAgIGlmIChhY3Rpb24uaXNTb3J0ZWRCeUZhbWlseU5hbWUpIHtcbiAgICAgIGFuYWx5dGljc1JlcG9ydC5zZW5kRXZlbnQoRVZFTlRTLlNPUlRfQllfRkFNSUxZX05BTUUsIHtcbiAgICAgICAgc2VjdGlvbklkOiBhY3Rpb24uc2VjdGlvbklkLFxuICAgICAgICB1bml0TmFtZTogYWN0aW9uLnVuaXROYW1lLFxuICAgICAgICBzb3VyY2U6IGFjdGlvbi5zb3VyY2UsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgYW5hbHl0aWNzUmVwb3J0LnNlbmRFdmVudChFVkVOVFMuU09SVF9CWV9ESVNQTEFZX05BTUUsIHtcbiAgICAgICAgc2VjdGlvbklkOiBhY3Rpb24uc2VjdGlvbklkLFxuICAgICAgICB1bml0TmFtZTogYWN0aW9uLnVuaXROYW1lLFxuICAgICAgICBzb3VyY2U6IGFjdGlvbi5zb3VyY2UsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgaXNTb3J0ZWRCeUZhbWlseU5hbWU6IGFjdGlvbi5pc1NvcnRlZEJ5RmFtaWx5TmFtZSxcbiAgICB9O1xuICB9XG4gIGlmIChhY3Rpb24udHlwZSA9PT0gU0VUX1NIT1dfUFJPR1JFU1NfVEFCTEVfVjIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBzaG93UHJvZ3Jlc3NUYWJsZVYyOiBhY3Rpb24uc2hvd1Byb2dyZXNzVGFibGVWMixcbiAgICB9O1xuICB9XG4gIGlmIChhY3Rpb24udHlwZSA9PT0gU0VUX1BST0dSRVNTX1RBQkxFX1YyX0NMT1NFRF9CRVRBKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgcHJvZ3Jlc3NUYWJsZVYyQ2xvc2VkQmV0YTogYWN0aW9uLnByb2dyZXNzVGFibGVWMkNsb3NlZEJldGEsXG4gICAgfTtcbiAgfVxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9EQVRFX1BST0dSRVNTX1RBQkxFX0lOVklUQVRJT05fTEFTVF9ERUxBWUVEKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgZGF0ZVByb2dyZXNzVGFibGVJbnZpdGF0aW9uRGVsYXllZDpcbiAgICAgICAgYWN0aW9uLmRhdGVQcm9ncmVzc1RhYmxlSW52aXRhdGlvbkRlbGF5ZWQsXG4gICAgfTtcbiAgfVxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9TRUVOX1BST0dSRVNTX1RBQkxFX0lOVklUQVRJT04pIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBoYXNTZWVuUHJvZ3Jlc3NUYWJsZUludml0ZTogYWN0aW9uLmhhc1NlZW5Qcm9ncmVzc1RhYmxlSW52aXRlLFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfQUlfUlVCUklDU19ESVNBQkxFRCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGFpUnVicmljc0Rpc2FibGVkOiBhY3Rpb24uYWlSdWJyaWNzRGlzYWJsZWQsXG4gICAgfTtcbiAgfVxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9VU0VSX0NSRUFURURfQVQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICB1c2VyQ3JlYXRlZEF0OiBhY3Rpb24udXNlckNyZWF0ZWRBdCxcbiAgICB9O1xuICB9XG5cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfSU5JVElBTF9EQVRBKSB7XG4gICAgY29uc3Qge1xuICAgICAgaWQsXG4gICAgICB1dWlkLFxuICAgICAgdXNlcm5hbWUsXG4gICAgICB1c2VyX3R5cGUsXG4gICAgICBtdXRlX211c2ljLFxuICAgICAgdW5kZXJfMTMsXG4gICAgICBvdmVyXzIxLFxuICAgICAgc29ydF9ieV9mYW1pbHlfbmFtZSxcbiAgICAgIHNob3dfcHJvZ3Jlc3NfdGFibGVfdjIsXG4gICAgICBhaV9ydWJyaWNzX2Rpc2FibGVkLFxuICAgICAgcHJvZ3Jlc3NfdGFibGVfdjJfY2xvc2VkX2JldGEsXG4gICAgICBpc19sdGksXG4gICAgICBkYXRlX3Byb2dyZXNzX3RhYmxlX2ludml0YXRpb25fbGFzdF9kZWxheWVkLFxuICAgICAgaGFzX3NlZW5fcHJvZ3Jlc3NfdGFibGVfdjJfaW52aXRhdGlvbixcbiAgICAgIGNoaWxkX2FjY291bnRfY29tcGxpYW5jZV9zdGF0ZSxcbiAgICAgIGNvdW50cnlfY29kZSxcbiAgICAgIHVzX3N0YXRlX2NvZGUsXG4gICAgICBhZ2UsXG4gICAgICBpbl9zZWN0aW9uLFxuICAgICAgY3JlYXRlZF9hdCxcbiAgICAgIGlzX3ZlcmlmaWVkX2luc3RydWN0b3IsXG4gICAgfSA9IGFjdGlvbi5zZXJ2ZXJVc2VyO1xuICAgIGFuYWx5dGljc1JlcG9ydC5zZXRVc2VyUHJvcGVydGllcyhcbiAgICAgIGlkLFxuICAgICAgdXNlcl90eXBlLFxuICAgICAgZXhwZXJpbWVudHMuZ2V0RW5hYmxlZEV4cGVyaW1lbnRzKClcbiAgICApO1xuICAgIC8vIENhbGxpbmcgU3RhdHNpZyBzZXBhcmF0ZWx5IHRvIGVtcGhhc2l6ZSBkaWZmZXJlbnQgdXNlciBpbnRlZ3JhdGlvbnNcbiAgICAvLyBhbmQgYmVjYXVzZSBkdWFsIHJlcG9ydGluZyBpcyBhc3BpcmF0aW9uYWxseSB0ZW1wb3JhcnkgKE1hcmNoIDIwMjQpXG4gICAgc3RhdHNpZ1JlcG9ydGVyLnNldFVzZXJQcm9wZXJ0aWVzKFxuICAgICAgaWQsXG4gICAgICB1c2VyX3R5cGUsXG4gICAgICBpc192ZXJpZmllZF9pbnN0cnVjdG9yLFxuICAgICAgZXhwZXJpbWVudHMuZ2V0RW5hYmxlZEV4cGVyaW1lbnRzKClcbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHVzZXJJZDogaWQsXG4gICAgICB1dWlkOiB1dWlkLFxuICAgICAgdXNlck5hbWU6IHVzZXJuYW1lLFxuICAgICAgdXNlclR5cGU6IHVzZXJfdHlwZSxcbiAgICAgIGlzQmFja2dyb3VuZE11c2ljTXV0ZWQ6IG11dGVfbXVzaWMsXG4gICAgICB1bmRlcjEzOiB1bmRlcl8xMyxcbiAgICAgIG92ZXIyMTogb3Zlcl8yMSxcbiAgICAgIGlzU29ydGVkQnlGYW1pbHlOYW1lOiBzb3J0X2J5X2ZhbWlseV9uYW1lLFxuICAgICAgc2hvd1Byb2dyZXNzVGFibGVWMjogc2hvd19wcm9ncmVzc190YWJsZV92MixcbiAgICAgIGFpUnVicmljc0Rpc2FibGVkOiBhaV9ydWJyaWNzX2Rpc2FibGVkLFxuICAgICAgcHJvZ3Jlc3NUYWJsZVYyQ2xvc2VkQmV0YTogcHJvZ3Jlc3NfdGFibGVfdjJfY2xvc2VkX2JldGEsXG4gICAgICBpc0x0aTogaXNfbHRpLFxuICAgICAgaXNUZWFjaGVyOiB1c2VyX3R5cGUgPT09IFVzZXJUeXBlcy5URUFDSEVSLFxuICAgICAgaW5VU0E6IFsnVVMnLCAnUkQnXS5pbmNsdWRlcyhjb3VudHJ5X2NvZGUpIHx8ICEhdXNfc3RhdGVfY29kZSxcbiAgICAgIGRhdGVQcm9ncmVzc1RhYmxlSW52aXRhdGlvbkRlbGF5ZWQ6XG4gICAgICAgIGRhdGVfcHJvZ3Jlc3NfdGFibGVfaW52aXRhdGlvbl9sYXN0X2RlbGF5ZWQsXG4gICAgICBoYXNTZWVuUHJvZ3Jlc3NUYWJsZUludml0ZTogaGFzX3NlZW5fcHJvZ3Jlc3NfdGFibGVfdjJfaW52aXRhdGlvbixcbiAgICAgIGNoaWxkQWNjb3VudENvbXBsaWFuY2VTdGF0ZTogY2hpbGRfYWNjb3VudF9jb21wbGlhbmNlX3N0YXRlLFxuICAgICAgY291bnRyeUNvZGU6IGNvdW50cnlfY29kZSxcbiAgICAgIHVzU3RhdGVDb2RlOiB1c19zdGF0ZV9jb2RlLFxuICAgICAgYWdlLFxuICAgICAgaW5TZWN0aW9uOiBpbl9zZWN0aW9uLFxuICAgICAgdXNlckNyZWF0ZWRBdDogY3JlYXRlZF9hdCxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG5leHBvcnQgY29uc3QgaXNTaWduZWRJbiA9IGN1cnJlbnRVc2VyU3RhdGUgPT4ge1xuICByZXR1cm4gY3VycmVudFVzZXJTdGF0ZS5zaWduSW5TdGF0ZSA9PT0gU2lnbkluU3RhdGUuU2lnbmVkSW47XG59O1xuIiwiLyohXG5cdENvcHlyaWdodCAoYykgMjAxOCBKZWQgV2F0c29uLlxuXHRMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKE1JVCksIHNlZVxuXHRodHRwOi8vamVkd2F0c29uLmdpdGh1Yi5pby9jbGFzc25hbWVzXG4qL1xuLyogZ2xvYmFsIGRlZmluZSAqL1xuXG4oZnVuY3Rpb24gKCkge1xuXHQndXNlIHN0cmljdCc7XG5cblx0dmFyIGhhc093biA9IHt9Lmhhc093blByb3BlcnR5O1xuXHR2YXIgbmF0aXZlQ29kZVN0cmluZyA9ICdbbmF0aXZlIGNvZGVdJztcblxuXHRmdW5jdGlvbiBjbGFzc05hbWVzKCkge1xuXHRcdHZhciBjbGFzc2VzID0gW107XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGFyZyA9IGFyZ3VtZW50c1tpXTtcblx0XHRcdGlmICghYXJnKSBjb250aW51ZTtcblxuXHRcdFx0dmFyIGFyZ1R5cGUgPSB0eXBlb2YgYXJnO1xuXG5cdFx0XHRpZiAoYXJnVHlwZSA9PT0gJ3N0cmluZycgfHwgYXJnVHlwZSA9PT0gJ251bWJlcicpIHtcblx0XHRcdFx0Y2xhc3Nlcy5wdXNoKGFyZyk7XG5cdFx0XHR9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoYXJnKSkge1xuXHRcdFx0XHRpZiAoYXJnLmxlbmd0aCkge1xuXHRcdFx0XHRcdHZhciBpbm5lciA9IGNsYXNzTmFtZXMuYXBwbHkobnVsbCwgYXJnKTtcblx0XHRcdFx0XHRpZiAoaW5uZXIpIHtcblx0XHRcdFx0XHRcdGNsYXNzZXMucHVzaChpbm5lcik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2UgaWYgKGFyZ1R5cGUgPT09ICdvYmplY3QnKSB7XG5cdFx0XHRcdGlmIChhcmcudG9TdHJpbmcgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgJiYgIWFyZy50b1N0cmluZy50b1N0cmluZygpLmluY2x1ZGVzKCdbbmF0aXZlIGNvZGVdJykpIHtcblx0XHRcdFx0XHRjbGFzc2VzLnB1c2goYXJnLnRvU3RyaW5nKCkpO1xuXHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Zm9yICh2YXIga2V5IGluIGFyZykge1xuXHRcdFx0XHRcdGlmIChoYXNPd24uY2FsbChhcmcsIGtleSkgJiYgYXJnW2tleV0pIHtcblx0XHRcdFx0XHRcdGNsYXNzZXMucHVzaChrZXkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcblx0fVxuXG5cdGlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyAmJiBtb2R1bGUuZXhwb3J0cykge1xuXHRcdGNsYXNzTmFtZXMuZGVmYXVsdCA9IGNsYXNzTmFtZXM7XG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBjbGFzc05hbWVzO1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIGRlZmluZS5hbWQgPT09ICdvYmplY3QnICYmIGRlZmluZS5hbWQpIHtcblx0XHQvLyByZWdpc3RlciBhcyAnY2xhc3NuYW1lcycsIGNvbnNpc3RlbnQgd2l0aCBucG0gcGFja2FnZSBuYW1lXG5cdFx0ZGVmaW5lKCdjbGFzc25hbWVzJywgW10sIGZ1bmN0aW9uICgpIHtcblx0XHRcdHJldHVybiBjbGFzc05hbWVzO1xuXHRcdH0pO1xuXHR9IGVsc2Uge1xuXHRcdHdpbmRvdy5jbGFzc05hbWVzID0gY2xhc3NOYW1lcztcblx0fVxufSgpKTtcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvc291cmNlTWFwcy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLng0TWx1ZHNIZnZDbU9WaUVySGFMe2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueDRNbHVkc0hmdkNtT1ZpRXJIYUw6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCAjMDA5M2E0O2JvcmRlci1yYWRpdXM6LjI1cmVtO291dGxpbmUtb2Zmc2V0OjB9Lng0TWx1ZHNIZnZDbU9WaUVySGFMOmFjdGl2ZTpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pe3RleHQtZGVjb3JhdGlvbjpub25lfS5RNFVwRWVuMEdKNWNsUXhESnNZUXtjb2xvcjojOGM1MmJhfS5RNFVwRWVuMEdKNWNsUXhESnNZUTpob3ZlciwuUTRVcEVlbjBHSjVjbFF4REpzWVEgOmFjdGl2ZSwuUTRVcEVlbjBHSjVjbFF4REpzWVEgOnZpc2l0ZWR7Y29sb3I6IzZjNDY4YX0uUTRVcEVlbjBHSjVjbFF4REpzWVE6Zm9jdXMtdmlzaWJsZXtjb2xvcjojOGM1MmJhfS53UXlZeVRfSThVRnVXZGdMTXlJV3tjb2xvcjojMjkyZjM2fS53UXlZeVRfSThVRnVXZGdMTXlJVzpob3Zlciwud1F5WXlUX0k4VUZ1V2RnTE15SVcgOmFjdGl2ZSwud1F5WXlUX0k4VUZ1V2RnTE15SVcgOnZpc2l0ZWR7Y29sb3I6IzVmNjg3Mn0ud1F5WXlUX0k4VUZ1V2RnTE15SVc6Zm9jdXMtdmlzaWJsZXtjb2xvcjojMjkyZjM2fS54NE1sdWRzSGZ2Q21PVmlFckhhTFthcmlhLWRpc2FibGVkPXRydWVde2N1cnNvcjpub3QtYWxsb3dlZDtjb2xvcjojYmVjMmM3fS5pdktkWThNNXFrc2gxX2twSzFLWXtmb250LWZhbWlseTpcXFwiTWV0cm9wb2xpc1xcXCIsXFxcIk5vdG8gU2Fuc1xcXCIsXFxcIk5vdG8gU2FucyBNYXRoXFxcIixcXFwiTm90byBTYW5zIEFyYWJpY1xcXCIsXFxcIk5vdG8gU2FucyBBcm1lbmlhblxcXCIsXFxcIk5vdG8gU2FucyBCZW5nYWxpXFxcIixcXFwiTm90byBTYW5zIFNDXFxcIixcXFwiTm90byBTYW5zIFRDXFxcIixcXFwiTm90byBTYW5zIERldmFuYWdhcmlcXFwiLFxcXCJOb3RvIFNhbnMgR2VvcmdpYW5cXFwiLFxcXCJOb3RvIFNhbnMgSGVicmV3XFxcIixcXFwiTm90byBTYW5zIEpQXFxcIixcXFwiTm90byBTYW5zIEthbm5hZGFcXFwiLFxcXCJOb3RvIFNhbnMgS2htZXJcXFwiLFxcXCJOb3RvIFNhbnMgS1JcXFwiLFxcXCJOb3RvIFNhbnMgTXlhbm1hclxcXCIsXFxcIk5vdG8gU2FucyBTaW5oYWxhXFxcIixcXFwiTm90byBTYW5zIFRhbWlsXFxcIixcXFwiTm90byBTYW5zIFRlbHVndVxcXCIsXFxcIk5vdG8gU2FucyBUaGFpXFxcIixcXFwiTm90byBTYW5zIFRoYWFuYVxcXCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zdHlsZTpub3JtYWw7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDoxLjR9LmtxcVJTYVpjRjIxY3NYQWpmZ2Rqe2ZvbnQtZmFtaWx5OlxcXCJNZXRyb3BvbGlzXFxcIixcXFwiTm90byBTYW5zXFxcIixcXFwiTm90byBTYW5zIE1hdGhcXFwiLFxcXCJOb3RvIFNhbnMgQXJhYmljXFxcIixcXFwiTm90byBTYW5zIEFybWVuaWFuXFxcIixcXFwiTm90byBTYW5zIEJlbmdhbGlcXFwiLFxcXCJOb3RvIFNhbnMgU0NcXFwiLFxcXCJOb3RvIFNhbnMgVENcXFwiLFxcXCJOb3RvIFNhbnMgRGV2YW5hZ2FyaVxcXCIsXFxcIk5vdG8gU2FucyBHZW9yZ2lhblxcXCIsXFxcIk5vdG8gU2FucyBIZWJyZXdcXFwiLFxcXCJOb3RvIFNhbnMgSlBcXFwiLFxcXCJOb3RvIFNhbnMgS2FubmFkYVxcXCIsXFxcIk5vdG8gU2FucyBLaG1lclxcXCIsXFxcIk5vdG8gU2FucyBLUlxcXCIsXFxcIk5vdG8gU2FucyBNeWFubWFyXFxcIixcXFwiTm90byBTYW5zIFNpbmhhbGFcXFwiLFxcXCJOb3RvIFNhbnMgVGFtaWxcXFwiLFxcXCJOb3RvIFNhbnMgVGVsdWd1XFxcIixcXFwiTm90byBTYW5zIFRoYWlcXFwiLFxcXCJOb3RvIFNhbnMgVGhhYW5hXFxcIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXN0eWxlOm5vcm1hbDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNDh9LmZVM3A2cTgwal9PbF9CU3A5aElJe2ZvbnQtZmFtaWx5OlxcXCJNZXRyb3BvbGlzXFxcIixcXFwiTm90byBTYW5zXFxcIixcXFwiTm90byBTYW5zIE1hdGhcXFwiLFxcXCJOb3RvIFNhbnMgQXJhYmljXFxcIixcXFwiTm90byBTYW5zIEFybWVuaWFuXFxcIixcXFwiTm90byBTYW5zIEJlbmdhbGlcXFwiLFxcXCJOb3RvIFNhbnMgU0NcXFwiLFxcXCJOb3RvIFNhbnMgVENcXFwiLFxcXCJOb3RvIFNhbnMgRGV2YW5hZ2FyaVxcXCIsXFxcIk5vdG8gU2FucyBHZW9yZ2lhblxcXCIsXFxcIk5vdG8gU2FucyBIZWJyZXdcXFwiLFxcXCJOb3RvIFNhbnMgSlBcXFwiLFxcXCJOb3RvIFNhbnMgS2FubmFkYVxcXCIsXFxcIk5vdG8gU2FucyBLaG1lclxcXCIsXFxcIk5vdG8gU2FucyBLUlxcXCIsXFxcIk5vdG8gU2FucyBNeWFubWFyXFxcIixcXFwiTm90byBTYW5zIFNpbmhhbGFcXFwiLFxcXCJOb3RvIFNhbnMgVGFtaWxcXFwiLFxcXCJOb3RvIFNhbnMgVGVsdWd1XFxcIixcXFwiTm90byBTYW5zIFRoYWlcXFwiLFxcXCJOb3RvIFNhbnMgVGhhYW5hXFxcIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXN0eWxlOm5vcm1hbDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNTR9LmdGQnVGRldKZjBMVGdkN3IxY1Fwe2ZvbnQtZmFtaWx5OlxcXCJNZXRyb3BvbGlzXFxcIixcXFwiTm90byBTYW5zXFxcIixcXFwiTm90byBTYW5zIE1hdGhcXFwiLFxcXCJOb3RvIFNhbnMgQXJhYmljXFxcIixcXFwiTm90byBTYW5zIEFybWVuaWFuXFxcIixcXFwiTm90byBTYW5zIEJlbmdhbGlcXFwiLFxcXCJOb3RvIFNhbnMgU0NcXFwiLFxcXCJOb3RvIFNhbnMgVENcXFwiLFxcXCJOb3RvIFNhbnMgRGV2YW5hZ2FyaVxcXCIsXFxcIk5vdG8gU2FucyBHZW9yZ2lhblxcXCIsXFxcIk5vdG8gU2FucyBIZWJyZXdcXFwiLFxcXCJOb3RvIFNhbnMgSlBcXFwiLFxcXCJOb3RvIFNhbnMgS2FubmFkYVxcXCIsXFxcIk5vdG8gU2FucyBLaG1lclxcXCIsXFxcIk5vdG8gU2FucyBLUlxcXCIsXFxcIk5vdG8gU2FucyBNeWFubWFyXFxcIixcXFwiTm90byBTYW5zIFNpbmhhbGFcXFwiLFxcXCJOb3RvIFNhbnMgVGFtaWxcXFwiLFxcXCJOb3RvIFNhbnMgVGVsdWd1XFxcIixcXFwiTm90byBTYW5zIFRoYWlcXFwiLFxcXCJOb3RvIFNhbnMgVGhhYW5hXFxcIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXN0eWxlOm5vcm1hbDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2ZvbnQtc2l6ZTouNzVyZW07bGluZS1oZWlnaHQ6MS42NH1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9zcmMvY29tcG9uZW50TGlicmFyeS9saW5rL2xpbmsubW9kdWxlLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uL3NoYXJlZC9jc3MvY29sb3Iuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vc2hhcmVkL2Nzcy9mb250LnNjc3NcIixcIndlYnBhY2s6Ly8uL3NyYy9jb21wb25lbnRMaWJyYXJ5L2NvbW1vbi9zdHlsZXMvbWl4aW5zLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBSUEsc0JBQ0UsbUJBQUEsQ0FDQSxzQkFBQSxDQUNBLGtCQUFBLENBQ0EsUUFBQSxDQUNBLHlCQUFBLENBR0Esb0NBQ0UseUJBQUEsQ0FDQSxvQkFBQSxDQUNBLGdCQUFBLENBR0YsdURBQ0Usb0JBQUEsQ0FHRixzQkFDRSxhQzZLa0IsQ0QzS2xCLHlGQUNFLGFDMktnQixDRHhLbEIsb0NBQ0UsYUNzS2dCLENEbEtwQixzQkFDRSxhQzhNVSxDRDVNVix5RkFDRSxhQ3lLVyxDRHRLYixvQ0FDRSxhQ3VNUSxDRGxNWiwwQ0FDRSxrQkFBQSxDQUNBLGFDeUphLENEcEpqQixzQkU0QkUsOFlBcEVVLENBcUVWLGVBOURzQixDQStEdEIsaUJBQUEsQ0NqREEseUJBQUEsQ0FLQSxpQkFBQSxDQUNBLGVBQUEsQ0hpQkYsc0JFd0JFLDhZQXBFVSxDQXFFVixlQTlEc0IsQ0ErRHRCLGlCQUFBLENDakRBLHlCQUFBLENBV0EsY0FBQSxDQUNBLGdCQUFBLENIZUYsc0JFb0JFLDhZQXBFVSxDQXFFVixlQTlEc0IsQ0ErRHRCLGlCQUFBLENDakRBLHlCQUFBLENBaUJBLGlCQUFBLENBQ0EsZ0JBQUEsQ0hhRixzQkVnQkUsOFlBcEVVLENBcUVWLGVBOURzQixDQStEdEIsaUJBQUEsQ0NqREEseUJBQUEsQ0F1QkEsZ0JBQUEsQ0FDQSxnQkFBQVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAaW1wb3J0IFxcXCJjb2xvclxcXCI7XFxuQGltcG9ydCBcXFwiQGNkby9hcHBzL2NvbXBvbmVudExpYnJhcnkvY29tbW9uL3N0eWxlcy9taXhpbnNcXFwiO1xcblxcbi8vIExpbmsgY29tbW9uIHN0eWxlc1xcbi5saW5rIHtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgZ2FwOiAxMHB4O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XFxuXFxuXFxuICAmOmZvY3VzLXZpc2libGUge1xcbiAgICBvdXRsaW5lOiAycHggc29saWQgJGxpZ2h0X3ByaW1hcnlfNTAwO1xcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xcbiAgICBvdXRsaW5lLW9mZnNldDogMDtcXG4gIH1cXG5cXG4gICY6YWN0aXZlOm5vdChbYXJpYS1kaXNhYmxlZD1cXFwidHJ1ZVxcXCJdKSB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gIH1cXG5cXG4gICYtcHJpbWFyeSB7XFxuICAgIGNvbG9yOiAkbGlnaHRfc2Vjb25kYXJ5XzUwMDtcXG5cXG4gICAgJjpob3ZlciwgOmFjdGl2ZSwgOnZpc2l0ZWQge1xcbiAgICAgIGNvbG9yOiAkbGlnaHRfc2Vjb25kYXJ5XzcwMDtcXG4gICAgfVxcblxcbiAgICAmOmZvY3VzLXZpc2libGUge1xcbiAgICAgIGNvbG9yOiAkbGlnaHRfc2Vjb25kYXJ5XzUwMDtcXG4gICAgfVxcbiAgfVxcblxcbiAgJi1zZWNvbmRhcnkge1xcbiAgICBjb2xvcjogJGxpZ2h0X2JsYWNrO1xcblxcbiAgICAmOmhvdmVyLCA6YWN0aXZlLCA6dmlzaXRlZCB7XFxuICAgICAgY29sb3I6ICRsaWdodF9ncmF5XzgwMDtcXG4gICAgfVxcblxcbiAgICAmOmZvY3VzLXZpc2libGUge1xcbiAgICAgIGNvbG9yOiAkbGlnaHRfYmxhY2s7XFxuICAgIH1cXG4gIH1cXG5cXG5cXG4gICZbYXJpYS1kaXNhYmxlZD1cXFwidHJ1ZVxcXCJdIHtcXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG4gICAgY29sb3I6ICRsaWdodF9ncmF5XzMwMDtcXG4gIH1cXG59XFxuXFxuLy8gU2l6ZXNcXG4ubGluay1sIHtcXG4gIEBpbmNsdWRlIGxpbmstYm9keS1vbmU7XFxufVxcblxcbi5saW5rLW0ge1xcbiAgQGluY2x1ZGUgbGluay1ib2R5LXR3bztcXG59XFxuXFxuLmxpbmstcyB7XFxuICBAaW5jbHVkZSBsaW5rLWJvZHktdGhyZWU7XFxufVxcblxcbi5saW5rLXhzIHtcXG4gIEBpbmNsdWRlIGxpbmstYm9keS1mb3VyO1xcbn1cIixcIi8vIGNvbG9ycyBmcm9tIGh0dHBzOi8vd3d3LmRyb3Bib3guY29tL3MveWNqaXd0OHZ4bG12MmloL0NvZGUub3JnX3N0eWxlc2hlZXRfdjJfMDkuMDUuMTMucGRmXFxuXFxuLy8gUGxlYXNlIGtlZXAgdGhpcyBmaWxlIHNpbXBsZTsgaXQgc2hvdWxkIG9ubHkgY29udGFpbiBjb2xvciBkZWZpbml0aW9uc1xcbi8vICAgYW5kIGFsaWFzZXMuICBWYXJpYWJsZXMgZGVmaW5lZCBpbiB0aGlzIGZpbGUgYXJlIGV4cG9ydGVkIHRvXFxuLy8gICBhcHBzL3NyYy91dGlsL2NvbG9yLmpzIGR1cmluZyB0aGUgYXBwcyBidWlsZCBwcm9jZXNzLlxcblxcbiRibGFjazogIzAwMDtcXG4kYmFja2dyb3VuZF9ibGFjazogIzEyMTQxNjtcXG4kZGFya19ncmF5OiAjMkQzMTM5O1xcbiRkYXJrZXN0X2dyYXk6ICMyOTJGMzY7XFxuJGRhcmtfc2xhdGVfZ3JheTogIzI4MmMzNDtcXG4kZGFya2VzdF9zbGF0ZV9ncmF5OiAjMjUyOTJkO1xcbiRkYXJrX2NoYXJjb2FsOiAjNGQ1NzVmO1xcbiRjaGFyY29hbDogIzViNjc3MDtcXG4kbGlnaHRfZ3JheTogIzk0OWNhMjtcXG4kbGlnaHRlcl9ncmF5OiAjYzZjYWNkO1xcbiRsaWdodGVzdF9ncmF5OiAjZTdlOGVhO1xcbiRiYWNrZ3JvdW5kX2dyYXk6ICNmMmYyZjI7XFxuJGRpbWdyYXk6ICM2OTY5Njk7XFxuJHdoaXRlOiAjZmZmO1xcbiRkZWZhdWx0X2JsdWU6ICMzNjcwYjM7XFxuXFxuJGRhcmtfdGVhbDogIzAwOTRhMztcXG4kdGVhbDogIzAwOTNhNDtcXG4kYXBwbGFiX2J1dHRvbl90ZWFsOiAjMWFiYzljO1xcbiRsaWdodF90ZWFsOiAjNTljYWQzO1xcbiRsaWdodGlzaF90ZWFsOiAjODBkNmRlO1xcbiRsaWdodGVyX3RlYWw6ICNhNmUzZTg7XFxuJGxpZ2h0ZXN0X3RlYWw6ICNkOWYzZjU7XFxuJGFpX3J1YnJpY19jeWFuOiAjM2NmZmY4O1xcblxcbiRwdXJwbGU6ICM4YzUyYmE7XFxuJGxpZ2h0X3B1cnBsZTogI2E2OWJjMTtcXG4kbGlnaHRlcl9wdXJwbGU6ICNjZmM5ZGU7XFxuJGxpZ2h0ZXN0X3B1cnBsZTogI2ViZThmMTtcXG5cXG4kY3lhbjogIzAwOTRjYTtcXG4kbGlnaHRfY3lhbjogIzU5YjlkYztcXG4kbGlnaHRlcl9jeWFuOiAjYTZkYWVkO1xcbiRsaWdodGVzdF9jeWFuOiAjZDllZmY3O1xcbiRhbG1vc3Rfd2hpdGVfY3lhbjogI2Y1ZmNmZjtcXG5cXG4kb3JhbmdlOiAjZmZhNDAwO1xcbiRsaWdodF9vcmFuZ2U6ICNmZmM0NTk7XFxuJGxpZ2h0ZXJfb3JhbmdlOiAjZmZlMGE2O1xcbiRsaWdodGVzdF9vcmFuZ2U6ICNmZmYyZDk7XFxuJGRhcmtfb3JhbmdlOiAjZmY4NjAwO1xcblxcbiRncmVlbjogI2I5YmYxNTtcXG4kbGlnaHRfZ3JlZW46ICNkMWQ1Njc7XFxuJGxpZ2h0ZXJfZ3JlZW46ICNlN2U5YWQ7XFxuJGxpZ2h0ZXN0X2dyZWVuOiAjZjVmNWRjO1xcbiRoaWdobGlnaHRfZ3JlZW46ICM4YWZjOWI7XFxuXFxuJHllbGxvdzogI2ZmYjgxZDtcXG4kbGlnaHRfeWVsbG93OiAjZmZkYjc0O1xcbiRsaWdodGVyX3llbGxvdzogI2ZmZWJiNTtcXG4kbGlnaHRlc3RfeWVsbG93OiAjZmZmN2RmO1xcblxcbiRnb2xkZW5yb2Q6ICNkYWE1MjA7XFxuXFxuJGhlYWRlcl90ZXh0OiAkd2hpdGU7XFxuJGJrZ25kX2NvbG9yOiAkdGVhbDtcXG4kaW5zZXRfY29sb3I6ICRsaWdodGVyX2dyYXk7XFxuJGRhcmtfY29sb3I6ICRwdXJwbGU7XFxuJGhkcl9jb2xvcjogJHB1cnBsZTtcXG5cXG4vLyBTb21lIGV4dHJhIGNvbG9ycy5cXG4kcmVkOiAjYzAwO1xcbiRsaWdodGVzdF9yZWQ6ICNmY2M7XFxuJGRhcmtfcmVkOiAjZDYyOTExO1xcbiRyZWFsZ3JlZW46ICMwMDgwMDA7XFxuJHJlYWx5ZWxsb3c6ICNmZjA7XFxuJG11c3RhcmR5ZWxsb3c6ICNlZmNkMWM7XFxuJHR3aXR0ZXJfYmx1ZTogIzAwYWNlZDtcXG4kZmFjZWJvb2tfYmx1ZTogIzNiNTk5ODtcXG4kbGlua2VkaW5fYmx1ZTogIzAwNzdCNTtcXG4kZGFya19ibHVlOiAjMDA2NDdmO1xcbiRibG9ja2x5X2ZseW91dF9ncmF5OiAjZGRkO1xcbiRkZWZhdWx0X3RleHQ6ICMzMzM7XFxuJGJvcmRlcl9ncmF5OiAjYmJiO1xcbiRib3JkZXJfbGlnaHRfZ3JheTogI2Q4ZDhkODtcXG4kdGFibGVfaGVhZGVyOiAjZWNlY2VjO1xcbiR0YWJsZV9saWdodF9yb3c6ICNmY2ZjZmM7XFxuJHRhYmxlX2Rhcmtfcm93OiAjZjRmNGY0O1xcblxcbi8vIFByb2dyZXNzIGNvbG9ycy5cXG4kbGV2ZWxfc3VibWl0dGVkOiAkcHVycGxlO1xcbiRsZXZlbF9wZXJmZWN0OiByZ2IoMTQsIDE5MCwgMTQpO1xcbiRsZXZlbF9wYXNzZWQ6IHJnYigxNTksIDIxMiwgMTU5KTtcXG4kbGV2ZWxfYXR0ZW1wdGVkOiAkcmVhbHllbGxvdztcXG4kbGV2ZWxfbm90X3RyaWVkOiAjZmVmZWZlO1xcbiRsZXZlbF9jdXJyZW50OiAkb3JhbmdlO1xcbiRsZXZlbF9yZXZpZXdfcmVqZWN0ZWQ6ICRyZWQ7XFxuJGxldmVsX3Jldmlld19hY2NlcHRlZDogcmdiKDExLCAxNDIsIDExKTsgLy8gVE9ETzogJGxldmVsX3Bhc3NlZDtcXG4kYXNzZXNzbWVudDogJGN5YW47XFxuJHdvcmtzcGFjZV9ydW5uaW5nX2JhY2tncm91bmQ6ICNlNWU1ZTU7XFxuXFxuLy8gRXhwZXJpbWVudGFsIFNwcml0ZSBMYWIgdmFsaWRhdGlvbiBjb2xvcnMuXFxuJGRhcmtfcHVycGxlOiAjNjgyQTc3O1xcbiRicmlnaHRfZ3JlZW46ICMwZWJlMGU7XFxuJG5lb25fcGluazogI2U5MTE4ZjtcXG5cXG4vLyBMaW5rcyAodXNlZCBpbiBhcHBzKS5cXG4kbGlua19jb2xvcjogIzA1OTZjZTtcXG5cXG4vLyBTaGFkb3cuXFxuJHNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjMpO1xcblxcbi8vIENvbG9ycyB0aGF0IGFyZSB0YWtlbiBmcm9tIGJvb3RzdHJhcCwgYW5kIG5vdCBuZWNlc3NhcmlseSBwYXJ0IG9mIG91ciBjb3JlIHRoZW1lLlxcbiRib290c3RyYXBfYnV0dG9uX2JsdWU6ICMzMzdhYjc7XFxuJGJvb3RzdHJhcF9idXR0b25fcmVkOiAjZDk1MzRmO1xcbiRib290c3RyYXBfZXJyb3JfYmFja2dyb3VuZDogI2YyZGVkZTtcXG4kYm9vdHN0cmFwX2Vycm9yX3RleHQ6ICNiOTRhNDg7XFxuJGJvb3RzdHJhcF92M19lcnJvcl90ZXh0OiAjYTk0NDQyO1xcbiRib290c3RyYXBfZXJyb3JfYm9yZGVyOiAjZWJjY2QxO1xcbiRib290c3RyYXBfd2FybmluZ19iYWNrZ3JvdW5kOiAjZmNmOGUzO1xcbiRib290c3RyYXBfd2FybmluZ190ZXh0OiAjYzA5ODUzO1xcbiRib290c3RyYXBfd2FybmluZ19ib3JkZXI6ICNmYWViY2M7XFxuJGJvb3RzdHJhcF9ib3JkZXJfY29sb3I6ICNjY2NjY2M7XFxuJGJvb3RzdHJhcF9zdWNjZXNzX2JhY2tncm91bmQ6ICNkZmYwZDg7XFxuJGJvb3RzdHJhcF9zdWNjZXNzX3RleHQ6ICM0Njg4NDc7XFxuJGJvb3RzdHJhcF9zdWNjZXNzX2JvcmRlcjogI2Q2ZTljNjtcXG5cXG4vLyBDb2xvcnMgdGFrZW4gZnJvbSBkcm9wbGV0LCBub3QgcGFydCBvZiBvdXIgY29yZSB0aGVtZS5cXG4kZHJvcGxldF9saWdodF9ncmVlbjogI2QzZTk2NTtcXG4kZHJvcGxldF9ibHVlOiAjNjRiNWY2O1xcbiRkcm9wbGV0X2JyaWdodF9ibHVlOiAjMTljM2UxO1xcbiRkcm9wbGV0X3llbGxvdzogI2ZmZjE3NjtcXG4kZHJvcGxldF9vcmFuZ2U6ICNmZmI3NGQ7XFxuJGRyb3BsZXRfcmVkOiAjZjc4MTgzO1xcbiRkcm9wbGV0X2N5YW46ICM0ZGQwZTE7XFxuJGRyb3BsZXRfcGluazogI2Y1N2FjNjtcXG4kZHJvcGxldF9wdXJwbGU6ICNiYjc3Yzc7XFxuJGRyb3BsZXRfZ3JlZW46ICM2OGQ5OTU7XFxuJGRyb3BsZXRfd2hpdGU6ICR3aGl0ZTtcXG5cXG4vLyBPY2VhbnM6IGRlZXAgYmx1ZSBiYWNrZ3JvdW5kLlxcbiRvY2VhbnNfZGVlcF9ibHVlOiByZ2IoMiwgMCwgMjgpO1xcblxcbi8vIERhcmsgdGhlbWUgYmFja2dyb3VuZCAodXNlZCBieSBkZWZhdWx0IGluIE11c2ljIExhYilcXG4kZGFya19ibGFjazogIzEyMTIxMjtcXG5cXG4vLyA9PT0tLS0tPT09LS0tLT09PS0tLS0gUGhhc2UgMSBDb2xvcnM6IC0tLS09PT0tLS0tPT09LS0tLT09PVxcbi8vIEJyYW5kXFxuJGJyYW5kX3ByaW1hcnlfbGlnaHQ6ICNFMEY4Rjk7XFxuJGJyYW5kX3ByaW1hcnlfZGVmYXVsdDogIzAwOUVCMDtcXG4kYnJhbmRfcHJpbWFyeV9kYXJrOiAjMDA3Nzg1O1xcblxcbiRicmFuZF9zZWNvbmRhcnlfbGlnaHQ6ICNFMEQxRUM7XFxuJGJyYW5kX3NlY29uZGFyeV9kZWZhdWx0OiAjOEM1MkJBO1xcbiRicmFuZF9zZWNvbmRhcnlfZGFyazogIzZDNDY4QTtcXG5cXG4kYnJhbmRfYWNjZW50X2RlZmF1bHQ6ICNFRDYwNjA7XFxuXFxuJGJyYW5kX3RlYWxfNTogI0RGRjJGNDtcXG5cXG4vL1Byb2R1Y3RcXG4kcHJvZHVjdF9hZmZpcm1hdGl2ZV9kZWZhdWx0OiAjM0VBMzNFO1xcblxcbiRwcm9kdWN0X25lZ2F0aXZlX2xpZ2h0OiAjRkRFQkU5O1xcbiRwcm9kdWN0X25lZ2F0aXZlX2RlZmF1bHQ6ICNFNTMxMUE7XFxuJHByb2R1Y3RfbmVnYXRpdmVfZGFyazogI0FBMjUxMztcXG5cXG4kcHJvZHVjdF9jYXV0aW9uX2RlZmF1bHQ6ICNGOUNCMjg7XFxuXFxuJHByb2R1Y3RfaW5mb3JtYXRpb25fZGVmYXVsdDogIzAwN0FDQztcXG5cXG4vLyBOZXV0cmFsXFxuJG5ldXRyYWxfd2hpdGU6ICNGRkZGRkY7XFxuJG5ldXRyYWxfbGlnaHQ6ICNGN0Y4RkE7XFxuJG5ldXRyYWxfZ3JheTEwOiAjRUFFQkVCO1xcbiRuZXV0cmFsX2RhcmsxMDogI0VBRUNFRjtcXG4kbmV1dHJhbF9kYXJrMjA6ICNEMUQ0RDg7XFxuJG5ldXRyYWxfZGFyazMwOiAjQkVDMkM3O1xcbiRuZXV0cmFsX2Rhcms0MDogI0FCQjBCNjtcXG4kbmV1dHJhbF9kYXJrNTA6ICM5ODlFQTU7XFxuJG5ldXRyYWxfZGFyazYwOiAjODU4Qzk0O1xcbiRuZXV0cmFsX2Rhcms3MDogIzcyN0E4MztcXG4kbmV1dHJhbF9kYXJrODA6ICM1RjY4NzI7XFxuJG5ldXRyYWxfZGFyazkwOiAjNEM1NjYxO1xcbiRuZXV0cmFsX2Rhcms6ICMyOTJGMzY7XFxuXFxuLy9CcmFuZHNcXG4kZ29vZ2xlX2JyYW5kX2NvbG9yOiAjMEY5RDU4O1xcbiRtaWNyb3NvZnRfYnJhbmRfY29sb3I6ICNGRkI5MDA7XFxuJGZhY2Vib29rX2JyYW5kX2NvbG9yOiAjM0I1OTk4O1xcbiRjbGV2ZXJfYnJhbmRfY29sb3I6ICMxNDY0RkY7XFxuXFxuLy8gPT09LS0tLT09PS0tLS09PT0tLS0tIERlc2lnbiBzeXN0ZW0gY29sb3JzOiAtLS0tPT09LS0tLT09PS0tLS09PT1cXG5cXG4kbGlnaHRfcHJpbWFyeV8xMDA6ICNCRkU0RTg7XFxuJGxpZ2h0X3ByaW1hcnlfNTAwOiAjMDA5M0E0O1xcbiRsaWdodF9wcmltYXJ5XzcwMDogIzAwNzc4NTtcXG5cXG4kbGlnaHRfc2Vjb25kYXJ5XzEwMDogI0UyRDRFRTtcXG4kbGlnaHRfc2Vjb25kYXJ5XzUwMDogIzhDNTJCQTtcXG4kbGlnaHRfc2Vjb25kYXJ5XzcwMDogIzZDNDY4QTtcXG5cXG4kbGlnaHRfZ3JheV81MDogI0Y3RjhGQTtcXG4kbGlnaHRfZ3JheV8xMDA6ICNFQUVDRUY7XFxuJGxpZ2h0X2dyYXlfMjAwOiAjRDFENEQ4O1xcbiRsaWdodF9ncmF5XzMwMDogI0JFQzJDNztcXG4kbGlnaHRfZ3JheV80MDA6ICNBQkIwQjY7XFxuJGxpZ2h0X2dyYXlfNTAwOiAjOTg5RUE1O1xcbiRsaWdodF9ncmF5XzYwMDogIzg1OEM5NDtcXG4kbGlnaHRfZ3JheV83MDA6ICM3MjdBODM7XFxuJGxpZ2h0X2dyYXlfODAwOiAjNUY2ODcyO1xcbiRsaWdodF9ncmF5XzkwMDogIzRDNTY2MTtcXG4kbGlnaHRfZ3JheV85NTA6ICMzOTQ0NTA7XFxuXFxuJGxpZ2h0X2FmZmlybWF0aXZlXzEwMDogI0UyRjFFMjtcXG4kbGlnaHRfYWZmaXJtYXRpdmVfNTAwOiAjM0VBMzNFO1xcbiRsaWdodF9hZmZpcm1hdGl2ZV83MDA6ICMyRDc0MkQ7XFxuXFxuJGxpZ2h0X25lZ2F0aXZlXzEwMDogI0ZCRTBERDtcXG4kbGlnaHRfbmVnYXRpdmVfNTAwOiAjRTUzMTFBO1xcbiRsaWdodF9uZWdhdGl2ZV83MDA6ICNCMjQ5NDk7XFxuXFxuJGxpZ2h0X2NhdXRpb25fMTAwOiAjRkVGN0RGO1xcbiRsaWdodF9jYXV0aW9uXzUwMDogI0Y5Q0IyODtcXG4kbGlnaHRfY2F1dGlvbl83MDA6ICNDN0EyMjA7XFxuXFxuJGxpZ2h0X2FjY2VudF8xMDA6ICNGQUQ3RDc7XFxuJGxpZ2h0X2FjY2VudF81MDA6ICNFRDYwNjA7XFxuJGxpZ2h0X2FjY2VudF83MDA6ICNEODRDNEM7XFxuXFxuJGxpZ2h0X2FxdWFfMTAwOiAjQ0VGRkZEO1xcbiRsaWdodF9hcXVhXzUwMDogIzNDRkZGODtcXG4kbGlnaHRfYXF1YV83MDA6ICMzMENDQzY7XFxuXFxuJGxpZ2h0X29yYW5nZV8xMDA6ICNGRkVEQ0M7XFxuJGxpZ2h0X29yYW5nZV81MDA6ICNGRkE0MDA7XFxuJGxpZ2h0X29yYW5nZV83MDA6ICNDQzgzMDA7XFxuXFxuJGxpZ2h0X2luZm9fMTAwOiAjRENFRkZCO1xcbiRsaWdodF9pbmZvXzUwMDogIzE4OTJFMztcXG4kbGlnaHRfaW5mb183MDA6ICMxMzc1QjY7XFxuXFxuJGxpZ2h0X3doaXRlOiAjRkZGRkZGO1xcblxcbiRsaWdodF9ibGFjazogIzI5MkYzNjtcXG5cXG4kbGlnaHRfYmxhY2tfb3BhY2l0eV85MDogcmdiYSg0MSwgNDcsIDU0LCAwLjkwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS04MDogcmdiYSg0MSwgNDcsIDU0LCAwLjgwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS03MDogcmdiYSg0MSwgNDcsIDU0LCAwLjcwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS02MDogcmdiYSg0MSwgNDcsIDU0LCAwLjYwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS01MDogcmdiYSg0MSwgNDcsIDU0LCAwLjUwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS00MDogcmdiYSg0MSwgNDcsIDU0LCAwLjQwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS0zMDogcmdiYSg0MSwgNDcsIDU0LCAwLjMwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS0yMDogcmdiYSg0MSwgNDcsIDU0LCAwLjIwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS0xMDogcmdiYSg0MSwgNDcsIDU0LCAwLjEwKTtcXG5cIixcIi8vIENvbW1vbiBzaXRlLXdpZGUgZm9udHMsIHB1dCBoZXJlIGZvciBlYXN5IGFjY2VzcyBmcm9tIGFsbCBzY3NzIGZpbGVzXFxuXFxuLy8gUGxlYXNlIG5vdGUgKCEpOiB1c2Ugb25seSBzaW5nbGUgcXVvdGVzICgnICcpIGZvciBzdHJpbmdzICghKSB0byBhbGxvdyBvdXIgY3VzdG9tIGNvbnZlcnRlciB0byB3b3JrIHByb3Blcmx5Llxcbi8vIFRoaXMgZmlsZSBpcyBiZWluZyB0cmFuc3BpbGVkIHRvIGpzIG9iamVjdC5cXG4vLyAoU28gaXQgY2FuIGJlIHVzZWQgaW4ganN4L3RzeCBmaWxlcyBmb3IgaW5saW5lIHN0eWxlcy4gVGhpcyBpcyBtYWRlIG1vc3RseSBmb3IgbGVnYWN5Llxcbi8vIFRyeSB0byBhdm9pZCB1c2Ugb2YgaW5saW5lIHN0eWxlcyBpZiB5b3UncmUgY3JlYXRpbmcgbmV3IGNvbXBvbmVudCkuXFxuLy8gS2VlcGluZyB0aGF0IGluIG1pbmQgLVxcblxcbiRtZXRyb3BvbGlzLWZvbnQ6ICdNZXRyb3BvbGlzJztcXG4kbm90by1zYW5zLWZvbnRzOiAnTm90byBTYW5zJywgJ05vdG8gU2FucyBNYXRoJywgJ05vdG8gU2FucyBBcmFiaWMnLCAnTm90byBTYW5zIEFybWVuaWFuJywgJ05vdG8gU2FucyBCZW5nYWxpJyxcXG4nTm90byBTYW5zIFNDJywgJ05vdG8gU2FucyBUQycsICdOb3RvIFNhbnMgRGV2YW5hZ2FyaScsICdOb3RvIFNhbnMgR2VvcmdpYW4nLCAnTm90byBTYW5zIEhlYnJldycsICdOb3RvIFNhbnMgSlAnLFxcbidOb3RvIFNhbnMgS2FubmFkYScsICdOb3RvIFNhbnMgS2htZXInLCAnTm90byBTYW5zIEtSJywgJ05vdG8gU2FucyBNeWFubWFyJywgJ05vdG8gU2FucyBTaW5oYWxhJyxcXG4nTm90byBTYW5zIFRhbWlsJywgJ05vdG8gU2FucyBUZWx1Z3UnLCAnTm90byBTYW5zIFRoYWknLCAnTm90byBTYW5zIFRoYWFuYSc7XFxuXFxuJG1haW4tZm9udDogJG1ldHJvcG9saXMtZm9udCwgJG5vdG8tc2Fucy1mb250cywgc2Fucy1zZXJpZjtcXG5cXG4kdGhpbi1mb250LXdlaWdodDogMTAwO1xcbiRleHRyYS1saWdodC1mb250LXdlaWdodDogMjAwO1xcbiRsaWdodC1mb250LXdlaWdodDogMzAwO1xcbiRyZWd1bGFyLWZvbnQtd2VpZ2h0OiA0MDA7XFxuJG1lZGl1bS1mb250LXdlaWdodDogNTAwO1xcbiRzZW1pLWJvbGQtZm9udC13ZWlnaHQ6IDYwMDtcXG4kYm9sZC1mb250LXdlaWdodDogNzAwO1xcbiRleHRyYS1ib2xkLWZvbnQtd2VpZ2h0OiA4MDA7XFxuJGJsYWNrLWZvbnQtd2VpZ2h0OiA5MDA7XFxuXFxuQG1peGluIG1haW4tZm9udC10aGluIHtcXG4gIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xcbiAgZm9udC13ZWlnaHQ6ICR0aGluLWZvbnQtd2VpZ2h0O1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbn1cXG5cXG5AbWl4aW4gbWFpbi1mb250LXRoaW4taXRhbGljIHtcXG4gIEBpbmNsdWRlIG1haW4tZm9udC10aGluO1xcbiAgZm9udC1zdHlsZTogaXRhbGljO1xcbn1cXG5cXG5AbWl4aW4gbWFpbi1mb250LWV4dHJhLWxpZ2h0IHtcXG4gIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xcbiAgZm9udC13ZWlnaHQ6ICRleHRyYS1saWdodC1mb250LXdlaWdodDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG59XFxuXFxuQG1peGluIG1haW4tZm9udC1leHRyYS1saWdodC1pdGFsaWMge1xcbiAgQGluY2x1ZGUgbWFpbi1mb250LWV4dHJhLWxpZ2h0O1xcbiAgZm9udC1zdHlsZTogaXRhbGljO1xcbn1cXG5cXG5AbWl4aW4gbWFpbi1mb250LWxpZ2h0IHtcXG4gIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xcbiAgZm9udC13ZWlnaHQ6ICRsaWdodC1mb250LXdlaWdodDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG59XFxuXFxuQG1peGluIG1haW4tZm9udC1saWdodC1pdGFsaWMge1xcbiAgQGluY2x1ZGUgbWFpbi1mb250LWxpZ2h0O1xcbiAgZm9udC1zdHlsZTogaXRhbGljO1xcbn1cXG5cXG5AbWl4aW4gbWFpbi1mb250LXJlZ3VsYXIge1xcbiAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XFxuICBmb250LXdlaWdodDogJHJlZ3VsYXItZm9udC13ZWlnaHQ7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxufVxcblxcbkBtaXhpbiBtYWluLWZvbnQtcmVndWxhci1pdGFsaWMge1xcbiAgQGluY2x1ZGUgbWFpbi1mb250LXJlZ3VsYXI7XFxuICBmb250LXN0eWxlOiBpdGFsaWM7XFxufVxcblxcbkBtaXhpbiBtYWluLWZvbnQtbWVkaXVtIHtcXG4gIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xcbiAgZm9udC13ZWlnaHQ6ICRtZWRpdW0tZm9udC13ZWlnaHQ7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxufVxcblxcbkBtaXhpbiBtYWluLWZvbnQtbWVkaXVtLWl0YWxpYyB7XFxuICBAaW5jbHVkZSBtYWluLWZvbnQtbWVkaXVtO1xcbiAgZm9udC1zdHlsZTogaXRhbGljO1xcbn1cXG5cXG5AbWl4aW4gbWFpbi1mb250LXNlbWktYm9sZCB7XFxuICBmb250LWZhbWlseTogJG1haW4tZm9udDtcXG4gIGZvbnQtd2VpZ2h0OiAkc2VtaS1ib2xkLWZvbnQtd2VpZ2h0O1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbn1cXG5cXG5AbWl4aW4gbWFpbi1mb250LXNlbWktYm9sZC1pdGFsaWMge1xcbiAgQGluY2x1ZGUgbWFpbi1mb250LXNlbWktYm9sZDtcXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcXG59XFxuXFxuQG1peGluIG1haW4tZm9udC1ib2xkIHtcXG4gIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xcbiAgZm9udC13ZWlnaHQ6ICRib2xkLWZvbnQtd2VpZ2h0O1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbn1cXG5cXG5AbWl4aW4gbWFpbi1mb250LWJvbGQtaXRhbGljIHtcXG4gIEBpbmNsdWRlIG1haW4tZm9udC1ib2xkO1xcbiAgZm9udC1zdHlsZTogaXRhbGljO1xcbn1cXG5cXG5AbWl4aW4gbWFpbi1mb250LWV4dHJhLWJvbGQge1xcbiAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XFxuICBmb250LXdlaWdodDogJGV4dHJhLWJvbGQtZm9udC13ZWlnaHQ7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxufVxcblxcbkBtaXhpbiBtYWluLWZvbnQtZXh0cmEtYm9sZC1pdGFsaWMge1xcbiAgQGluY2x1ZGUgbWFpbi1mb250LWV4dHJhLWJvbGQ7XFxuICBmb250LXN0eWxlOiBpdGFsaWM7XFxufVxcblxcbkBtaXhpbiBtYWluLWZvbnQtYmxhY2sge1xcbiAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQ7XFxuICBmb250LXdlaWdodDogJGJsYWNrLWZvbnQtd2VpZ2h0O1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbn1cXG5cXG5AbWl4aW4gbWFpbi1mb250LWJsYWNrLWl0YWxpYyB7XFxuICBAaW5jbHVkZSBtYWluLWZvbnQtYmxhY2s7XFxuICBmb250LXN0eWxlOiBpdGFsaWM7XFxufVxcblxcbiRiYXJsb3dTZW1pQ29uZGVuc2VkLXNlbWlib2xkOiAnQmFybG93IFNlbWkgQ29uZGVuc2VkIFNlbWlib2xkJywgJG5vdG8tc2Fucy1mb250cywgc2Fucy1zZXJpZjtcXG4kYmFybG93U2VtaUNvbmRlbnNlZC1tZWRpdW06ICdCYXJsb3cgU2VtaSBDb25kZW5zZWQgTWVkaXVtJywgJG5vdG8tc2Fucy1mb250cywgc2Fucy1zZXJpZjtcXG5cXG4kY29kZS1mb250OiAnU291cmNlIENvZGUgUHJvJywgTW9uYWNvLCAnQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJywgJ0x1Y2lkYSBDb25zb2xlJywgVGVybWluYWwsIG1vbm9zcGFjZTtcXG5cXG4vKlxcbiAgIEZvbnQgQXdlc29tZSBTMyBCdWNrZXQgVVJMc1xcbiAgIEN1cnJlbnQgdmVyc2lvbjogNi42LjBcXG4gICBJZiB5b3UgYXJlIGNoYW5naW5nIHRoZSBsb2NhdGlvbiBvZiB0aGVzZSBmaWxlcyxcXG4gICBzZWUgdGhlIHJlYWRtZSBpbiB0aGlzIGRpcmVjdG9yeSBmb3IgbW9yZSBkZXRhaWwgb24gbWFudWFsIHN0ZXBzIHRvIHRha2Ugd2hlbiB1cGxvYWRpbmcgbmV3IGZpbGVzLlxcbiAqL1xcbiRmb250LWF3ZXNvbWUtY29yZS11cmw6ICdodHRwczovL2RzY28uY29kZS5vcmcvYXNzZXRzL2ZvbnQtYXdlc29tZS1wcm8vMTcyODQyMTM1NC9jc3MvZm9udGF3ZXNvbWUubWluLmNzcyc7XFxuJGZvbnQtYXdlc29tZS1icmFuZHMtdXJsOiAnaHR0cHM6Ly9kc2NvLmNvZGUub3JnL2Fzc2V0cy9mb250LWF3ZXNvbWUtcHJvLzE3Mjg0MjEzNTQvY3NzL2JyYW5kcy5taW4uY3NzJztcXG4kZm9udC1hd2Vzb21lLXNvbGlkLXVybDogJ2h0dHBzOi8vZHNjby5jb2RlLm9yZy9hc3NldHMvZm9udC1hd2Vzb21lLXByby8xNzI4NDIxMzU0L2Nzcy9zb2xpZC5taW4uY3NzJztcXG4kZm9udC1hd2Vzb21lLXJlZ3VsYXItdXJsOiAnaHR0cHM6Ly9kc2NvLmNvZGUub3JnL2Fzc2V0cy9mb250LWF3ZXNvbWUtcHJvLzE3Mjg0MjEzNTQvY3NzL3JlZ3VsYXIubWluLmNzcyc7XFxuJGZvbnQtYXdlc29tZS12NC1mb250cy11cmw6ICdodHRwczovL2RzY28uY29kZS5vcmcvYXNzZXRzL2ZvbnQtYXdlc29tZS1wcm8vMTcyODQyMTM1NC9jc3MvdjQtZm9udC1mYWNlLm1pbi5jc3MnO1xcbiRmb250LWF3ZXNvbWUtdjQtc2hpbXMtdXJsOiAnaHR0cHM6Ly9kc2NvLmNvZGUub3JnL2Fzc2V0cy9mb250LWF3ZXNvbWUtcHJvLzE3Mjg0MjEzNTQvY3NzL3Y0LXNoaW1zLm1pbi5jc3MnO1xcbiRmb250LWF3ZXNvbWUtdjQtc2hpbXMtdXJsOiAnaHR0cHM6Ly9kc2NvLmNvZGUub3JnL2Fzc2V0cy9mb250LWF3ZXNvbWUtcHJvLzE3Mjg0MjEzNTQvY3NzL3Y0LXNoaW1zLm1pbi5jc3MnO1xcbiRmb250LWF3ZXNvbWUtZHVvdG9uZS11cmw6ICdodHRwczovL2RzY28uY29kZS5vcmcvYXNzZXRzL2ZvbnQtYXdlc29tZS1wcm8vMTcyODQyMTM1NC9jc3MvZHVvdG9uZS5taW4uY3NzJztcXG4kZm9udC1hd2Vzb21lLWN1c3RvbS1pY29ucy11cmw6ICdodHRwczovL2RzY28uY29kZS5vcmcvYXNzZXRzL2ZvbnQtYXdlc29tZS1wcm8vMTcyODQyMTM1NC9jc3MvY3VzdG9tLWljb25zLm1pbi5jc3MnO1xcblwiLFwiQGltcG9ydCAnY29sb3InLCAnZm9udCc7XFxuXFxuLy8gVHlwb2dyYXBoeSAtIExhYmVsIHN0eWxlc1xcbkBtaXhpbiBsYWJlbC1jb21tb24ge1xcbiAgQGluY2x1ZGUgbWFpbi1mb250LXNlbWktYm9sZDtcXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcXG59XFxuXFxuQG1peGluIGxhYmVsLW9uZSB7XFxuICBAaW5jbHVkZSBsYWJlbC1jb21tb247XFxuICBmb250LXNpemU6IDFyZW07XFxuICBsaW5lLWhlaWdodDogMS40ODtcXG59XFxuXFxuQG1peGluIGxhYmVsLXR3byB7XFxuICBAaW5jbHVkZSBsYWJlbC1jb21tb247XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTQ7XFxufVxcblxcbkBtaXhpbiBsYWJlbC10aHJlZSB7XFxuICBAaW5jbHVkZSBsYWJlbC1jb21tb247XFxuICBmb250LXNpemU6IDAuNzVyZW07XFxuICBsaW5lLWhlaWdodDogMS42NDtcXG59XFxuXFxuQG1peGluIGxhYmVsLWZvdXIge1xcbiAgQGluY2x1ZGUgbGFiZWwtY29tbW9uO1xcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjg7XFxufVxcblxcbi8vIFR5cG9ncmFwaHkgLSBMaW5rIHN0eWxlcyAoTGluayBCb2R5IHN0eWxlcylcXG5AbWl4aW4gbGluay1ib2R5LWNvbW1vbiB7XFxuICBAaW5jbHVkZSBtYWluLWZvbnQtc2VtaS1ib2xkO1xcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XFxufVxcblxcbkBtaXhpbiBsaW5rLWJvZHktb25lIHtcXG4gIEBpbmNsdWRlIGxpbmstYm9keS1jb21tb247XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxuICBsaW5lLWhlaWdodDogMS40O1xcbn1cXG5cXG5AbWl4aW4gbGluay1ib2R5LXR3byB7XFxuICBAaW5jbHVkZSBsaW5rLWJvZHktY29tbW9uO1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNDg7XFxufVxcblxcbkBtaXhpbiBsaW5rLWJvZHktdGhyZWUge1xcbiAgQGluY2x1ZGUgbGluay1ib2R5LWNvbW1vbjtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS41NDtcXG59XFxuXFxuQG1peGluIGxpbmstYm9keS1mb3VyIHtcXG4gIEBpbmNsdWRlIGxpbmstYm9keS1jb21tb247XFxuICBmb250LXNpemU6IDAuNzVyZW07XFxuICBsaW5lLWhlaWdodDogMS42NDtcXG59XFxuXFxuLy8gVHlwb2dyYXBoeSBCdXR0b24gdGV4dCBzdHlsZXNcXG5AbWl4aW4gYnV0dG9uLXRleHQtY29tbW9uIHtcXG4gIEBpbmNsdWRlIG1haW4tZm9udC1zZW1pLWJvbGQ7XFxuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XFxufVxcblxcbkBtaXhpbiBidXR0b24tb25lLXRleHQge1xcbiAgQGluY2x1ZGUgYnV0dG9uLXRleHQtY29tbW9uO1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNDtcXG59XFxuXFxuQG1peGluIGJ1dHRvbi10d28tdGV4dCB7XFxuICBAaW5jbHVkZSBidXR0b24tdGV4dC1jb21tb247XFxuICBmb250LXNpemU6IDFyZW07XFxuICBsaW5lLWhlaWdodDogMS40ODtcXG59XFxuXFxuQG1peGluIGJ1dHRvbi10aHJlZS10ZXh0IHtcXG4gIEBpbmNsdWRlIGJ1dHRvbi10ZXh0LWNvbW1vbjtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS41NDtcXG59XFxuXFxuQG1peGluIGJ1dHRvbi1mb3VyLXRleHQge1xcbiAgQGluY2x1ZGUgYnV0dG9uLXRleHQtY29tbW9uO1xcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNjQ7XFxufVxcblxcbi8vIENvbW1vbiBmaWVsZCBzdHlsZXNcXG5AbWl4aW4gZmllbGQtaGVscGVyLXNlY3Rpb24tY29tbW9uIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XFxuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xcbn1cXG5cXG5AbWl4aW4gZmllbGQtaGVscGVyLXNlY3Rpb24tbCB7XFxuICBAaW5jbHVkZSBib2R5LXR3bztcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxuICBnYXA6IDAuMzc1cmVtO1xcbn1cXG5cXG5AbWl4aW4gZmllbGQtaGVscGVyLXNlY3Rpb24tbSB7XFxuICBAaW5jbHVkZSBib2R5LXRocmVlO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGdhcDogMC4zNzVyZW07XFxufVxcblxcbkBtaXhpbiBmaWVsZC1oZWxwZXItc2VjdGlvbi1zIHtcXG4gIEBpbmNsdWRlIGJvZHktZm91cjtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxuICBnYXA6IDAuMjVyZW07XFxufVxcblxcbkBtaXhpbiBmaWVsZC1oZWxwZXItc2VjdGlvbi1ibGFjayB7XFxuICBjb2xvcjogJGxpZ2h0X2JsYWNrO1xcbn1cXG5cXG5AbWl4aW4gZmllbGQtaGVscGVyLXNlY3Rpb24tYmxhY2stZGlzYWJsZWQge1xcbiAgY29sb3I6ICRsaWdodF9ncmF5XzIwMDtcXG59XFxuXFxuQG1peGluIGZpZWxkLWhlbHBlci1zZWN0aW9uLXdoaXRlIHtcXG4gIGNvbG9yOiAkbGlnaHRfd2hpdGU7XFxufVxcblxcbkBtaXhpbiBmaWVsZC1oZWxwZXItc2VjdGlvbi13aGl0ZS1kaXNhYmxlZCB7XFxuICBjb2xvcjogJGxpZ2h0X2dyYXlfNzAwO1xcbn1cXG5cXG5AbWl4aW4gZmllbGQtZXJyb3Itc2VjdGlvbi1ibGFjayB7XFxuICBjb2xvcjogJGxpZ2h0X25lZ2F0aXZlXzUwMDtcXG59XFxuXFxuQG1peGluIGZpZWxkLWVycm9yLXNlY3Rpb24td2hpdGUge1xcbiAgY29sb3I6ICRsaWdodF93aGl0ZTtcXG59XFxuXFxuQG1peGluIGZpZWxkLXJlYWQtb25seS1ibGFjay1jb2xvcnMge1xcbiAgY29sb3I6ICRsaWdodF9ibGFjaztcXG4gIGJvcmRlci1jb2xvcjogJGxpZ2h0X2dyYXlfMjAwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0X2dyYXlfNTA7XFxufVxcblxcbkBtaXhpbiBmaWVsZC1yZWFkLW9ubHktd2hpdGUtY29sb3JzIHtcXG4gIGNvbG9yOiAkbGlnaHRfd2hpdGU7XFxuICBib3JkZXItY29sb3I6ICRsaWdodF9ncmF5XzcwMDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICRsaWdodF9ncmF5XzkwMDtcXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5sb2NhbHMgPSB7XG5cdFwibGlua1wiOiBcIng0TWx1ZHNIZnZDbU9WaUVySGFMXCIsXG5cdFwibGluay1wcmltYXJ5XCI6IFwiUTRVcEVlbjBHSjVjbFF4REpzWVFcIixcblx0XCJsaW5rLXNlY29uZGFyeVwiOiBcIndReVl5VF9JOFVGdVdkZ0xNeUlXXCIsXG5cdFwibGluay1sXCI6IFwiaXZLZFk4TTVxa3NoMV9rcEsxS1lcIixcblx0XCJsaW5rLW1cIjogXCJrcXFSU2FaY0YyMWNzWEFqZmdkalwiLFxuXHRcImxpbmstc1wiOiBcImZVM3A2cTgwal9PbF9CU3A5aElJXCIsXG5cdFwibGluay14c1wiOiBcImdGQnVGRldKZjBMVGdkN3IxY1FwXCJcbn07XG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvc291cmNlTWFwcy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLmhzbU1Vb2ZVSmk0MmVGZEhkbElve3BhZGRpbmc6MjBweH0uaHNtTVVvZlVKaTQyZUZkSGRsSW8gaHJ7Ym9yZGVyLWNvbG9yOiNjNmNhY2R9LlUzUHVJc2RqZ0RKYVY5aFl4ZE1ze2NvbG9yOiMwMDA7Zm9udC13ZWlnaHQ6NjAwfS5OazZKSU1SbHRCb2U0VzdtbElLeHt0ZXh0LWFsaWduOmVuZH0uTms2SklNUmx0Qm9lNFc3bWxJS3ggYnV0dG9ue2JhY2tncm91bmQtY29sb3I6IzhjNTJiYTtib3JkZXItY29sb3I6IzhjNTJiYTtjb2xvcjojZmZmfVwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL3NyYy90ZW1wbGF0ZXMvcG9saWN5X2NvbXBsaWFuY2UvQWdlR2F0ZWRTdHVkZW50c01vZGFsL2FnZS1nYXRlZC1zdHVkZW50cy1tb2RhbC5tb2R1bGUuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vc2hhcmVkL2Nzcy9jb2xvci5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUdBLHNCQUNFLFlBQUEsQ0FFQSx5QkFDRSxvQkNRVyxDREpmLHNCQUNFLFVDTk0sQ0RPTixlQUFBLENBR0Ysc0JBQ0UsY0FBQSxDQUVBLDZCQUNFLHdCQ2tJc0IsQ0RqSXRCLG9CQ2lJc0IsQ0RoSXRCLFVDbUpZXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkB1c2UgJ3Nhc3M6bWF0aCc7XFxuQGltcG9ydCAnY29sb3Iuc2Nzcyc7XFxuXFxuLm1vZGFsQ29udGFpbmVyIHtcXG4gIHBhZGRpbmc6IDIwcHg7XFxuXFxuICBociB7XFxuICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0ZXJfZ3JheTtcXG4gIH1cXG59XFxuXFxuLm1vZGFsSGVhZGVyIHtcXG4gIGNvbG9yOiAkYmxhY2s7XFxuICBmb250LXdlaWdodDogNjAwO1xcbn1cXG5cXG4ubW9kYWxCdXR0b24ge1xcbiAgdGV4dC1hbGlnbjogZW5kO1xcblxcbiAgYnV0dG9uIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kX3NlY29uZGFyeV9kZWZhdWx0O1xcbiAgICBib3JkZXItY29sb3I6ICRicmFuZF9zZWNvbmRhcnlfZGVmYXVsdDtcXG4gICAgY29sb3I6ICRuZXV0cmFsX3doaXRlO1xcbiAgfVxcbn1cXG5cIixcIi8vIGNvbG9ycyBmcm9tIGh0dHBzOi8vd3d3LmRyb3Bib3guY29tL3MveWNqaXd0OHZ4bG12MmloL0NvZGUub3JnX3N0eWxlc2hlZXRfdjJfMDkuMDUuMTMucGRmXFxuXFxuLy8gUGxlYXNlIGtlZXAgdGhpcyBmaWxlIHNpbXBsZTsgaXQgc2hvdWxkIG9ubHkgY29udGFpbiBjb2xvciBkZWZpbml0aW9uc1xcbi8vICAgYW5kIGFsaWFzZXMuICBWYXJpYWJsZXMgZGVmaW5lZCBpbiB0aGlzIGZpbGUgYXJlIGV4cG9ydGVkIHRvXFxuLy8gICBhcHBzL3NyYy91dGlsL2NvbG9yLmpzIGR1cmluZyB0aGUgYXBwcyBidWlsZCBwcm9jZXNzLlxcblxcbiRibGFjazogIzAwMDtcXG4kYmFja2dyb3VuZF9ibGFjazogIzEyMTQxNjtcXG4kZGFya19ncmF5OiAjMkQzMTM5O1xcbiRkYXJrZXN0X2dyYXk6ICMyOTJGMzY7XFxuJGRhcmtfc2xhdGVfZ3JheTogIzI4MmMzNDtcXG4kZGFya2VzdF9zbGF0ZV9ncmF5OiAjMjUyOTJkO1xcbiRkYXJrX2NoYXJjb2FsOiAjNGQ1NzVmO1xcbiRjaGFyY29hbDogIzViNjc3MDtcXG4kbGlnaHRfZ3JheTogIzk0OWNhMjtcXG4kbGlnaHRlcl9ncmF5OiAjYzZjYWNkO1xcbiRsaWdodGVzdF9ncmF5OiAjZTdlOGVhO1xcbiRiYWNrZ3JvdW5kX2dyYXk6ICNmMmYyZjI7XFxuJGRpbWdyYXk6ICM2OTY5Njk7XFxuJHdoaXRlOiAjZmZmO1xcbiRkZWZhdWx0X2JsdWU6ICMzNjcwYjM7XFxuXFxuJGRhcmtfdGVhbDogIzAwOTRhMztcXG4kdGVhbDogIzAwOTNhNDtcXG4kYXBwbGFiX2J1dHRvbl90ZWFsOiAjMWFiYzljO1xcbiRsaWdodF90ZWFsOiAjNTljYWQzO1xcbiRsaWdodGlzaF90ZWFsOiAjODBkNmRlO1xcbiRsaWdodGVyX3RlYWw6ICNhNmUzZTg7XFxuJGxpZ2h0ZXN0X3RlYWw6ICNkOWYzZjU7XFxuJGFpX3J1YnJpY19jeWFuOiAjM2NmZmY4O1xcblxcbiRwdXJwbGU6ICM4YzUyYmE7XFxuJGxpZ2h0X3B1cnBsZTogI2E2OWJjMTtcXG4kbGlnaHRlcl9wdXJwbGU6ICNjZmM5ZGU7XFxuJGxpZ2h0ZXN0X3B1cnBsZTogI2ViZThmMTtcXG5cXG4kY3lhbjogIzAwOTRjYTtcXG4kbGlnaHRfY3lhbjogIzU5YjlkYztcXG4kbGlnaHRlcl9jeWFuOiAjYTZkYWVkO1xcbiRsaWdodGVzdF9jeWFuOiAjZDllZmY3O1xcbiRhbG1vc3Rfd2hpdGVfY3lhbjogI2Y1ZmNmZjtcXG5cXG4kb3JhbmdlOiAjZmZhNDAwO1xcbiRsaWdodF9vcmFuZ2U6ICNmZmM0NTk7XFxuJGxpZ2h0ZXJfb3JhbmdlOiAjZmZlMGE2O1xcbiRsaWdodGVzdF9vcmFuZ2U6ICNmZmYyZDk7XFxuJGRhcmtfb3JhbmdlOiAjZmY4NjAwO1xcblxcbiRncmVlbjogI2I5YmYxNTtcXG4kbGlnaHRfZ3JlZW46ICNkMWQ1Njc7XFxuJGxpZ2h0ZXJfZ3JlZW46ICNlN2U5YWQ7XFxuJGxpZ2h0ZXN0X2dyZWVuOiAjZjVmNWRjO1xcbiRoaWdobGlnaHRfZ3JlZW46ICM4YWZjOWI7XFxuXFxuJHllbGxvdzogI2ZmYjgxZDtcXG4kbGlnaHRfeWVsbG93OiAjZmZkYjc0O1xcbiRsaWdodGVyX3llbGxvdzogI2ZmZWJiNTtcXG4kbGlnaHRlc3RfeWVsbG93OiAjZmZmN2RmO1xcblxcbiRnb2xkZW5yb2Q6ICNkYWE1MjA7XFxuXFxuJGhlYWRlcl90ZXh0OiAkd2hpdGU7XFxuJGJrZ25kX2NvbG9yOiAkdGVhbDtcXG4kaW5zZXRfY29sb3I6ICRsaWdodGVyX2dyYXk7XFxuJGRhcmtfY29sb3I6ICRwdXJwbGU7XFxuJGhkcl9jb2xvcjogJHB1cnBsZTtcXG5cXG4vLyBTb21lIGV4dHJhIGNvbG9ycy5cXG4kcmVkOiAjYzAwO1xcbiRsaWdodGVzdF9yZWQ6ICNmY2M7XFxuJGRhcmtfcmVkOiAjZDYyOTExO1xcbiRyZWFsZ3JlZW46ICMwMDgwMDA7XFxuJHJlYWx5ZWxsb3c6ICNmZjA7XFxuJG11c3RhcmR5ZWxsb3c6ICNlZmNkMWM7XFxuJHR3aXR0ZXJfYmx1ZTogIzAwYWNlZDtcXG4kZmFjZWJvb2tfYmx1ZTogIzNiNTk5ODtcXG4kbGlua2VkaW5fYmx1ZTogIzAwNzdCNTtcXG4kZGFya19ibHVlOiAjMDA2NDdmO1xcbiRibG9ja2x5X2ZseW91dF9ncmF5OiAjZGRkO1xcbiRkZWZhdWx0X3RleHQ6ICMzMzM7XFxuJGJvcmRlcl9ncmF5OiAjYmJiO1xcbiRib3JkZXJfbGlnaHRfZ3JheTogI2Q4ZDhkODtcXG4kdGFibGVfaGVhZGVyOiAjZWNlY2VjO1xcbiR0YWJsZV9saWdodF9yb3c6ICNmY2ZjZmM7XFxuJHRhYmxlX2Rhcmtfcm93OiAjZjRmNGY0O1xcblxcbi8vIFByb2dyZXNzIGNvbG9ycy5cXG4kbGV2ZWxfc3VibWl0dGVkOiAkcHVycGxlO1xcbiRsZXZlbF9wZXJmZWN0OiByZ2IoMTQsIDE5MCwgMTQpO1xcbiRsZXZlbF9wYXNzZWQ6IHJnYigxNTksIDIxMiwgMTU5KTtcXG4kbGV2ZWxfYXR0ZW1wdGVkOiAkcmVhbHllbGxvdztcXG4kbGV2ZWxfbm90X3RyaWVkOiAjZmVmZWZlO1xcbiRsZXZlbF9jdXJyZW50OiAkb3JhbmdlO1xcbiRsZXZlbF9yZXZpZXdfcmVqZWN0ZWQ6ICRyZWQ7XFxuJGxldmVsX3Jldmlld19hY2NlcHRlZDogcmdiKDExLCAxNDIsIDExKTsgLy8gVE9ETzogJGxldmVsX3Bhc3NlZDtcXG4kYXNzZXNzbWVudDogJGN5YW47XFxuJHdvcmtzcGFjZV9ydW5uaW5nX2JhY2tncm91bmQ6ICNlNWU1ZTU7XFxuXFxuLy8gRXhwZXJpbWVudGFsIFNwcml0ZSBMYWIgdmFsaWRhdGlvbiBjb2xvcnMuXFxuJGRhcmtfcHVycGxlOiAjNjgyQTc3O1xcbiRicmlnaHRfZ3JlZW46ICMwZWJlMGU7XFxuJG5lb25fcGluazogI2U5MTE4ZjtcXG5cXG4vLyBMaW5rcyAodXNlZCBpbiBhcHBzKS5cXG4kbGlua19jb2xvcjogIzA1OTZjZTtcXG5cXG4vLyBTaGFkb3cuXFxuJHNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjMpO1xcblxcbi8vIENvbG9ycyB0aGF0IGFyZSB0YWtlbiBmcm9tIGJvb3RzdHJhcCwgYW5kIG5vdCBuZWNlc3NhcmlseSBwYXJ0IG9mIG91ciBjb3JlIHRoZW1lLlxcbiRib290c3RyYXBfYnV0dG9uX2JsdWU6ICMzMzdhYjc7XFxuJGJvb3RzdHJhcF9idXR0b25fcmVkOiAjZDk1MzRmO1xcbiRib290c3RyYXBfZXJyb3JfYmFja2dyb3VuZDogI2YyZGVkZTtcXG4kYm9vdHN0cmFwX2Vycm9yX3RleHQ6ICNiOTRhNDg7XFxuJGJvb3RzdHJhcF92M19lcnJvcl90ZXh0OiAjYTk0NDQyO1xcbiRib290c3RyYXBfZXJyb3JfYm9yZGVyOiAjZWJjY2QxO1xcbiRib290c3RyYXBfd2FybmluZ19iYWNrZ3JvdW5kOiAjZmNmOGUzO1xcbiRib290c3RyYXBfd2FybmluZ190ZXh0OiAjYzA5ODUzO1xcbiRib290c3RyYXBfd2FybmluZ19ib3JkZXI6ICNmYWViY2M7XFxuJGJvb3RzdHJhcF9ib3JkZXJfY29sb3I6ICNjY2NjY2M7XFxuJGJvb3RzdHJhcF9zdWNjZXNzX2JhY2tncm91bmQ6ICNkZmYwZDg7XFxuJGJvb3RzdHJhcF9zdWNjZXNzX3RleHQ6ICM0Njg4NDc7XFxuJGJvb3RzdHJhcF9zdWNjZXNzX2JvcmRlcjogI2Q2ZTljNjtcXG5cXG4vLyBDb2xvcnMgdGFrZW4gZnJvbSBkcm9wbGV0LCBub3QgcGFydCBvZiBvdXIgY29yZSB0aGVtZS5cXG4kZHJvcGxldF9saWdodF9ncmVlbjogI2QzZTk2NTtcXG4kZHJvcGxldF9ibHVlOiAjNjRiNWY2O1xcbiRkcm9wbGV0X2JyaWdodF9ibHVlOiAjMTljM2UxO1xcbiRkcm9wbGV0X3llbGxvdzogI2ZmZjE3NjtcXG4kZHJvcGxldF9vcmFuZ2U6ICNmZmI3NGQ7XFxuJGRyb3BsZXRfcmVkOiAjZjc4MTgzO1xcbiRkcm9wbGV0X2N5YW46ICM0ZGQwZTE7XFxuJGRyb3BsZXRfcGluazogI2Y1N2FjNjtcXG4kZHJvcGxldF9wdXJwbGU6ICNiYjc3Yzc7XFxuJGRyb3BsZXRfZ3JlZW46ICM2OGQ5OTU7XFxuJGRyb3BsZXRfd2hpdGU6ICR3aGl0ZTtcXG5cXG4vLyBPY2VhbnM6IGRlZXAgYmx1ZSBiYWNrZ3JvdW5kLlxcbiRvY2VhbnNfZGVlcF9ibHVlOiByZ2IoMiwgMCwgMjgpO1xcblxcbi8vIERhcmsgdGhlbWUgYmFja2dyb3VuZCAodXNlZCBieSBkZWZhdWx0IGluIE11c2ljIExhYilcXG4kZGFya19ibGFjazogIzEyMTIxMjtcXG5cXG4vLyA9PT0tLS0tPT09LS0tLT09PS0tLS0gUGhhc2UgMSBDb2xvcnM6IC0tLS09PT0tLS0tPT09LS0tLT09PVxcbi8vIEJyYW5kXFxuJGJyYW5kX3ByaW1hcnlfbGlnaHQ6ICNFMEY4Rjk7XFxuJGJyYW5kX3ByaW1hcnlfZGVmYXVsdDogIzAwOUVCMDtcXG4kYnJhbmRfcHJpbWFyeV9kYXJrOiAjMDA3Nzg1O1xcblxcbiRicmFuZF9zZWNvbmRhcnlfbGlnaHQ6ICNFMEQxRUM7XFxuJGJyYW5kX3NlY29uZGFyeV9kZWZhdWx0OiAjOEM1MkJBO1xcbiRicmFuZF9zZWNvbmRhcnlfZGFyazogIzZDNDY4QTtcXG5cXG4kYnJhbmRfYWNjZW50X2RlZmF1bHQ6ICNFRDYwNjA7XFxuXFxuJGJyYW5kX3RlYWxfNTogI0RGRjJGNDtcXG5cXG4vL1Byb2R1Y3RcXG4kcHJvZHVjdF9hZmZpcm1hdGl2ZV9kZWZhdWx0OiAjM0VBMzNFO1xcblxcbiRwcm9kdWN0X25lZ2F0aXZlX2xpZ2h0OiAjRkRFQkU5O1xcbiRwcm9kdWN0X25lZ2F0aXZlX2RlZmF1bHQ6ICNFNTMxMUE7XFxuJHByb2R1Y3RfbmVnYXRpdmVfZGFyazogI0FBMjUxMztcXG5cXG4kcHJvZHVjdF9jYXV0aW9uX2RlZmF1bHQ6ICNGOUNCMjg7XFxuXFxuJHByb2R1Y3RfaW5mb3JtYXRpb25fZGVmYXVsdDogIzAwN0FDQztcXG5cXG4vLyBOZXV0cmFsXFxuJG5ldXRyYWxfd2hpdGU6ICNGRkZGRkY7XFxuJG5ldXRyYWxfbGlnaHQ6ICNGN0Y4RkE7XFxuJG5ldXRyYWxfZ3JheTEwOiAjRUFFQkVCO1xcbiRuZXV0cmFsX2RhcmsxMDogI0VBRUNFRjtcXG4kbmV1dHJhbF9kYXJrMjA6ICNEMUQ0RDg7XFxuJG5ldXRyYWxfZGFyazMwOiAjQkVDMkM3O1xcbiRuZXV0cmFsX2Rhcms0MDogI0FCQjBCNjtcXG4kbmV1dHJhbF9kYXJrNTA6ICM5ODlFQTU7XFxuJG5ldXRyYWxfZGFyazYwOiAjODU4Qzk0O1xcbiRuZXV0cmFsX2Rhcms3MDogIzcyN0E4MztcXG4kbmV1dHJhbF9kYXJrODA6ICM1RjY4NzI7XFxuJG5ldXRyYWxfZGFyazkwOiAjNEM1NjYxO1xcbiRuZXV0cmFsX2Rhcms6ICMyOTJGMzY7XFxuXFxuLy9CcmFuZHNcXG4kZ29vZ2xlX2JyYW5kX2NvbG9yOiAjMEY5RDU4O1xcbiRtaWNyb3NvZnRfYnJhbmRfY29sb3I6ICNGRkI5MDA7XFxuJGZhY2Vib29rX2JyYW5kX2NvbG9yOiAjM0I1OTk4O1xcbiRjbGV2ZXJfYnJhbmRfY29sb3I6ICMxNDY0RkY7XFxuXFxuLy8gPT09LS0tLT09PS0tLS09PT0tLS0tIERlc2lnbiBzeXN0ZW0gY29sb3JzOiAtLS0tPT09LS0tLT09PS0tLS09PT1cXG5cXG4kbGlnaHRfcHJpbWFyeV8xMDA6ICNCRkU0RTg7XFxuJGxpZ2h0X3ByaW1hcnlfNTAwOiAjMDA5M0E0O1xcbiRsaWdodF9wcmltYXJ5XzcwMDogIzAwNzc4NTtcXG5cXG4kbGlnaHRfc2Vjb25kYXJ5XzEwMDogI0UyRDRFRTtcXG4kbGlnaHRfc2Vjb25kYXJ5XzUwMDogIzhDNTJCQTtcXG4kbGlnaHRfc2Vjb25kYXJ5XzcwMDogIzZDNDY4QTtcXG5cXG4kbGlnaHRfZ3JheV81MDogI0Y3RjhGQTtcXG4kbGlnaHRfZ3JheV8xMDA6ICNFQUVDRUY7XFxuJGxpZ2h0X2dyYXlfMjAwOiAjRDFENEQ4O1xcbiRsaWdodF9ncmF5XzMwMDogI0JFQzJDNztcXG4kbGlnaHRfZ3JheV80MDA6ICNBQkIwQjY7XFxuJGxpZ2h0X2dyYXlfNTAwOiAjOTg5RUE1O1xcbiRsaWdodF9ncmF5XzYwMDogIzg1OEM5NDtcXG4kbGlnaHRfZ3JheV83MDA6ICM3MjdBODM7XFxuJGxpZ2h0X2dyYXlfODAwOiAjNUY2ODcyO1xcbiRsaWdodF9ncmF5XzkwMDogIzRDNTY2MTtcXG4kbGlnaHRfZ3JheV85NTA6ICMzOTQ0NTA7XFxuXFxuJGxpZ2h0X2FmZmlybWF0aXZlXzEwMDogI0UyRjFFMjtcXG4kbGlnaHRfYWZmaXJtYXRpdmVfNTAwOiAjM0VBMzNFO1xcbiRsaWdodF9hZmZpcm1hdGl2ZV83MDA6ICMyRDc0MkQ7XFxuXFxuJGxpZ2h0X25lZ2F0aXZlXzEwMDogI0ZCRTBERDtcXG4kbGlnaHRfbmVnYXRpdmVfNTAwOiAjRTUzMTFBO1xcbiRsaWdodF9uZWdhdGl2ZV83MDA6ICNCMjQ5NDk7XFxuXFxuJGxpZ2h0X2NhdXRpb25fMTAwOiAjRkVGN0RGO1xcbiRsaWdodF9jYXV0aW9uXzUwMDogI0Y5Q0IyODtcXG4kbGlnaHRfY2F1dGlvbl83MDA6ICNDN0EyMjA7XFxuXFxuJGxpZ2h0X2FjY2VudF8xMDA6ICNGQUQ3RDc7XFxuJGxpZ2h0X2FjY2VudF81MDA6ICNFRDYwNjA7XFxuJGxpZ2h0X2FjY2VudF83MDA6ICNEODRDNEM7XFxuXFxuJGxpZ2h0X2FxdWFfMTAwOiAjQ0VGRkZEO1xcbiRsaWdodF9hcXVhXzUwMDogIzNDRkZGODtcXG4kbGlnaHRfYXF1YV83MDA6ICMzMENDQzY7XFxuXFxuJGxpZ2h0X29yYW5nZV8xMDA6ICNGRkVEQ0M7XFxuJGxpZ2h0X29yYW5nZV81MDA6ICNGRkE0MDA7XFxuJGxpZ2h0X29yYW5nZV83MDA6ICNDQzgzMDA7XFxuXFxuJGxpZ2h0X2luZm9fMTAwOiAjRENFRkZCO1xcbiRsaWdodF9pbmZvXzUwMDogIzE4OTJFMztcXG4kbGlnaHRfaW5mb183MDA6ICMxMzc1QjY7XFxuXFxuJGxpZ2h0X3doaXRlOiAjRkZGRkZGO1xcblxcbiRsaWdodF9ibGFjazogIzI5MkYzNjtcXG5cXG4kbGlnaHRfYmxhY2tfb3BhY2l0eV85MDogcmdiYSg0MSwgNDcsIDU0LCAwLjkwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS04MDogcmdiYSg0MSwgNDcsIDU0LCAwLjgwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS03MDogcmdiYSg0MSwgNDcsIDU0LCAwLjcwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS02MDogcmdiYSg0MSwgNDcsIDU0LCAwLjYwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS01MDogcmdiYSg0MSwgNDcsIDU0LCAwLjUwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS00MDogcmdiYSg0MSwgNDcsIDU0LCAwLjQwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS0zMDogcmdiYSg0MSwgNDcsIDU0LCAwLjMwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS0yMDogcmdiYSg0MSwgNDcsIDU0LCAwLjIwKTtcXG4kbGlnaHRfYmxhY2tfb3BhY2l0eS0xMDogcmdiYSg0MSwgNDcsIDU0LCAwLjEwKTtcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLmxvY2FscyA9IHtcblx0XCJtb2RhbENvbnRhaW5lclwiOiBcImhzbU1Vb2ZVSmk0MmVGZEhkbElvXCIsXG5cdFwibW9kYWxIZWFkZXJcIjogXCJVM1B1SXNkamdESmFWOWhZeGRNc1wiLFxuXHRcIm1vZGFsQnV0dG9uXCI6IFwiTms2SklNUmx0Qm9lNFc3bWxJS3hcIlxufTtcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qXG4gIE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG4gIEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKSB7XG4gIHZhciBsaXN0ID0gW107IC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblxuICBsaXN0LnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICB2YXIgY29udGVudCA9IFwiXCI7XG4gICAgICB2YXIgbmVlZExheWVyID0gdHlwZW9mIGl0ZW1bNV0gIT09IFwidW5kZWZpbmVkXCI7XG5cbiAgICAgIGlmIChpdGVtWzRdKSB7XG4gICAgICAgIGNvbnRlbnQgKz0gXCJAc3VwcG9ydHMgKFwiLmNvbmNhdChpdGVtWzRdLCBcIikge1wiKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW1bMl0pIHtcbiAgICAgICAgY29udGVudCArPSBcIkBtZWRpYSBcIi5jb25jYXQoaXRlbVsyXSwgXCIge1wiKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5lZWRMYXllcikge1xuICAgICAgICBjb250ZW50ICs9IFwiQGxheWVyXCIuY29uY2F0KGl0ZW1bNV0ubGVuZ3RoID4gMCA/IFwiIFwiLmNvbmNhdChpdGVtWzVdKSA6IFwiXCIsIFwiIHtcIik7XG4gICAgICB9XG5cbiAgICAgIGNvbnRlbnQgKz0gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtKTtcblxuICAgICAgaWYgKG5lZWRMYXllcikge1xuICAgICAgICBjb250ZW50ICs9IFwifVwiO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbVsyXSkge1xuICAgICAgICBjb250ZW50ICs9IFwifVwiO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbVs0XSkge1xuICAgICAgICBjb250ZW50ICs9IFwifVwiO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9KS5qb2luKFwiXCIpO1xuICB9OyAvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuXG5cbiAgbGlzdC5pID0gZnVuY3Rpb24gaShtb2R1bGVzLCBtZWRpYSwgZGVkdXBlLCBzdXBwb3J0cywgbGF5ZXIpIHtcbiAgICBpZiAodHlwZW9mIG1vZHVsZXMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIG1vZHVsZXMgPSBbW251bGwsIG1vZHVsZXMsIHVuZGVmaW5lZF1dO1xuICAgIH1cblxuICAgIHZhciBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzID0ge307XG5cbiAgICBpZiAoZGVkdXBlKSB7XG4gICAgICBmb3IgKHZhciBrID0gMDsgayA8IHRoaXMubGVuZ3RoOyBrKyspIHtcbiAgICAgICAgdmFyIGlkID0gdGhpc1trXVswXTtcblxuICAgICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICAgIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAodmFyIF9rID0gMDsgX2sgPCBtb2R1bGVzLmxlbmd0aDsgX2srKykge1xuICAgICAgdmFyIGl0ZW0gPSBbXS5jb25jYXQobW9kdWxlc1tfa10pO1xuXG4gICAgICBpZiAoZGVkdXBlICYmIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgbGF5ZXIgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtWzVdID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgaXRlbVs1XSA9IGxheWVyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1bMV0gPSBcIkBsYXllclwiLmNvbmNhdChpdGVtWzVdLmxlbmd0aCA+IDAgPyBcIiBcIi5jb25jYXQoaXRlbVs1XSkgOiBcIlwiLCBcIiB7XCIpLmNvbmNhdChpdGVtWzFdLCBcIn1cIik7XG4gICAgICAgICAgaXRlbVs1XSA9IGxheWVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChtZWRpYSkge1xuICAgICAgICBpZiAoIWl0ZW1bMl0pIHtcbiAgICAgICAgICBpdGVtWzJdID0gbWVkaWE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXRlbVsxXSA9IFwiQG1lZGlhIFwiLmNvbmNhdChpdGVtWzJdLCBcIiB7XCIpLmNvbmNhdChpdGVtWzFdLCBcIn1cIik7XG4gICAgICAgICAgaXRlbVsyXSA9IG1lZGlhO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChzdXBwb3J0cykge1xuICAgICAgICBpZiAoIWl0ZW1bNF0pIHtcbiAgICAgICAgICBpdGVtWzRdID0gXCJcIi5jb25jYXQoc3VwcG9ydHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1bMV0gPSBcIkBzdXBwb3J0cyAoXCIuY29uY2F0KGl0ZW1bNF0sIFwiKSB7XCIpLmNvbmNhdChpdGVtWzFdLCBcIn1cIik7XG4gICAgICAgICAgaXRlbVs0XSA9IHN1cHBvcnRzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxpc3QucHVzaChpdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIGxpc3Q7XG59OyIsIlwidXNlIHN0cmljdFwiO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICh1cmwsIG9wdGlvbnMpIHtcbiAgaWYgKCFvcHRpb25zKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG5cbiAgaWYgKCF1cmwpIHtcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgdXJsID0gU3RyaW5nKHVybC5fX2VzTW9kdWxlID8gdXJsLmRlZmF1bHQgOiB1cmwpOyAvLyBJZiB1cmwgaXMgYWxyZWFkeSB3cmFwcGVkIGluIHF1b3RlcywgcmVtb3ZlIHRoZW1cblxuICBpZiAoL15bJ1wiXS4qWydcIl0kLy50ZXN0KHVybCkpIHtcbiAgICB1cmwgPSB1cmwuc2xpY2UoMSwgLTEpO1xuICB9XG5cbiAgaWYgKG9wdGlvbnMuaGFzaCkge1xuICAgIHVybCArPSBvcHRpb25zLmhhc2g7XG4gIH0gLy8gU2hvdWxkIHVybCBiZSB3cmFwcGVkP1xuICAvLyBTZWUgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YWx1ZXMtMy8jdXJsc1xuXG5cbiAgaWYgKC9bXCInKCkgXFx0XFxuXXwoJTIwKS8udGVzdCh1cmwpIHx8IG9wdGlvbnMubmVlZFF1b3Rlcykge1xuICAgIHJldHVybiBcIlxcXCJcIi5jb25jYXQodXJsLnJlcGxhY2UoL1wiL2csICdcXFxcXCInKS5yZXBsYWNlKC9cXG4vZywgXCJcXFxcblwiKSwgXCJcXFwiXCIpO1xuICB9XG5cbiAgcmV0dXJuIHVybDtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0ZW0pIHtcbiAgdmFyIGNvbnRlbnQgPSBpdGVtWzFdO1xuICB2YXIgY3NzTWFwcGluZyA9IGl0ZW1bM107XG5cbiAgaWYgKCFjc3NNYXBwaW5nKSB7XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICBpZiAodHlwZW9mIGJ0b2EgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIHZhciBiYXNlNjQgPSBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShjc3NNYXBwaW5nKSkpKTtcbiAgICB2YXIgZGF0YSA9IFwic291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsXCIuY29uY2F0KGJhc2U2NCk7XG4gICAgdmFyIHNvdXJjZU1hcHBpbmcgPSBcIi8qIyBcIi5jb25jYXQoZGF0YSwgXCIgKi9cIik7XG4gICAgdmFyIHNvdXJjZVVSTHMgPSBjc3NNYXBwaW5nLnNvdXJjZXMubWFwKGZ1bmN0aW9uIChzb3VyY2UpIHtcbiAgICAgIHJldHVybiBcIi8qIyBzb3VyY2VVUkw9XCIuY29uY2F0KGNzc01hcHBpbmcuc291cmNlUm9vdCB8fCBcIlwiKS5jb25jYXQoc291cmNlLCBcIiAqL1wiKTtcbiAgICB9KTtcbiAgICByZXR1cm4gW2NvbnRlbnRdLmNvbmNhdChzb3VyY2VVUkxzKS5jb25jYXQoW3NvdXJjZU1hcHBpbmddKS5qb2luKFwiXFxuXCIpO1xuICB9XG5cbiAgcmV0dXJuIFtjb250ZW50XS5qb2luKFwiXFxuXCIpO1xufTsiLCJcbiAgICAgIGltcG9ydCBBUEkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgIGltcG9ydCBkb21BUEkgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZURvbUFQSS5qc1wiO1xuICAgICAgaW1wb3J0IGluc2VydEZuIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0QnlTZWxlY3Rvci5qc1wiO1xuICAgICAgaW1wb3J0IHNldEF0dHJpYnV0ZXMgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zZXRBdHRyaWJ1dGVzV2l0aG91dEF0dHJpYnV0ZXMuanNcIjtcbiAgICAgIGltcG9ydCBpbnNlcnRTdHlsZUVsZW1lbnQgZnJvbSBcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRTdHlsZUVsZW1lbnQuanNcIjtcbiAgICAgIGltcG9ydCBzdHlsZVRhZ1RyYW5zZm9ybUZuIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVUYWdUcmFuc2Zvcm0uanNcIjtcbiAgICAgIGltcG9ydCBjb250ZW50LCAqIGFzIG5hbWVkRXhwb3J0IGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzRdLnVzZVsxXSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3J1bGVTZXRbMV0ucnVsZXNbNF0udXNlWzJdIS4vbGluay5tb2R1bGUuc2Nzc1wiO1xuICAgICAgXG4gICAgICBcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5zdHlsZVRhZ1RyYW5zZm9ybSA9IHN0eWxlVGFnVHJhbnNmb3JtRm47XG5vcHRpb25zLnNldEF0dHJpYnV0ZXMgPSBzZXRBdHRyaWJ1dGVzO1xuXG4gICAgICBvcHRpb25zLmluc2VydCA9IGluc2VydEZuLmJpbmQobnVsbCwgXCJoZWFkXCIpO1xuICAgIFxub3B0aW9ucy5kb21BUEkgPSBkb21BUEk7XG5vcHRpb25zLmluc2VydFN0eWxlRWxlbWVudCA9IGluc2VydFN0eWxlRWxlbWVudDtcblxudmFyIHVwZGF0ZSA9IEFQSShjb250ZW50LCBvcHRpb25zKTtcblxuXG5cbmV4cG9ydCAqIGZyb20gXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzRdLnVzZVsxXSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3J1bGVTZXRbMV0ucnVsZXNbNF0udXNlWzJdIS4vbGluay5tb2R1bGUuc2Nzc1wiO1xuICAgICAgIGV4cG9ydCBkZWZhdWx0IGNvbnRlbnQgJiYgY29udGVudC5sb2NhbHMgPyBjb250ZW50LmxvY2FscyA6IHVuZGVmaW5lZDtcbiIsIlxuICAgICAgaW1wb3J0IEFQSSBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qc1wiO1xuICAgICAgaW1wb3J0IGRvbUFQSSBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3N0eWxlRG9tQVBJLmpzXCI7XG4gICAgICBpbXBvcnQgaW5zZXJ0Rm4gZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRCeVNlbGVjdG9yLmpzXCI7XG4gICAgICBpbXBvcnQgc2V0QXR0cmlidXRlcyBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3NldEF0dHJpYnV0ZXNXaXRob3V0QXR0cmlidXRlcy5qc1wiO1xuICAgICAgaW1wb3J0IGluc2VydFN0eWxlRWxlbWVudCBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydFN0eWxlRWxlbWVudC5qc1wiO1xuICAgICAgaW1wb3J0IHN0eWxlVGFnVHJhbnNmb3JtRm4gZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZVRhZ1RyYW5zZm9ybS5qc1wiO1xuICAgICAgaW1wb3J0IGNvbnRlbnQsICogYXMgbmFtZWRFeHBvcnQgZnJvbSBcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanM/P3J1bGVTZXRbMV0ucnVsZXNbNF0udXNlWzFdIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1s0XS51c2VbMl0hLi9hZ2UtZ2F0ZWQtc3R1ZGVudHMtbW9kYWwubW9kdWxlLnNjc3NcIjtcbiAgICAgIFxuICAgICAgXG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuc3R5bGVUYWdUcmFuc2Zvcm0gPSBzdHlsZVRhZ1RyYW5zZm9ybUZuO1xub3B0aW9ucy5zZXRBdHRyaWJ1dGVzID0gc2V0QXR0cmlidXRlcztcblxuICAgICAgb3B0aW9ucy5pbnNlcnQgPSBpbnNlcnRGbi5iaW5kKG51bGwsIFwiaGVhZFwiKTtcbiAgICBcbm9wdGlvbnMuZG9tQVBJID0gZG9tQVBJO1xub3B0aW9ucy5pbnNlcnRTdHlsZUVsZW1lbnQgPSBpbnNlcnRTdHlsZUVsZW1lbnQ7XG5cbnZhciB1cGRhdGUgPSBBUEkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgKiBmcm9tIFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1s0XS51c2VbMV0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzRdLnVzZVsyXSEuL2FnZS1nYXRlZC1zdHVkZW50cy1tb2RhbC5tb2R1bGUuc2Nzc1wiO1xuICAgICAgIGV4cG9ydCBkZWZhdWx0IGNvbnRlbnQgJiYgY29udGVudC5sb2NhbHMgPyBjb250ZW50LmxvY2FscyA6IHVuZGVmaW5lZDtcbiIsIlwidXNlIHN0cmljdFwiO1xuXG52YXIgc3R5bGVzSW5ET00gPSBbXTtcblxuZnVuY3Rpb24gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcikge1xuICB2YXIgcmVzdWx0ID0gLTE7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXNJbkRPTS5sZW5ndGg7IGkrKykge1xuICAgIGlmIChzdHlsZXNJbkRPTVtpXS5pZGVudGlmaWVyID09PSBpZGVudGlmaWVyKSB7XG4gICAgICByZXN1bHQgPSBpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gbW9kdWxlc1RvRG9tKGxpc3QsIG9wdGlvbnMpIHtcbiAgdmFyIGlkQ291bnRNYXAgPSB7fTtcbiAgdmFyIGlkZW50aWZpZXJzID0gW107XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGl0ZW0gPSBsaXN0W2ldO1xuICAgIHZhciBpZCA9IG9wdGlvbnMuYmFzZSA/IGl0ZW1bMF0gKyBvcHRpb25zLmJhc2UgOiBpdGVtWzBdO1xuICAgIHZhciBjb3VudCA9IGlkQ291bnRNYXBbaWRdIHx8IDA7XG4gICAgdmFyIGlkZW50aWZpZXIgPSBcIlwiLmNvbmNhdChpZCwgXCIgXCIpLmNvbmNhdChjb3VudCk7XG4gICAgaWRDb3VudE1hcFtpZF0gPSBjb3VudCArIDE7XG4gICAgdmFyIGluZGV4QnlJZGVudGlmaWVyID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcik7XG4gICAgdmFyIG9iaiA9IHtcbiAgICAgIGNzczogaXRlbVsxXSxcbiAgICAgIG1lZGlhOiBpdGVtWzJdLFxuICAgICAgc291cmNlTWFwOiBpdGVtWzNdLFxuICAgICAgc3VwcG9ydHM6IGl0ZW1bNF0sXG4gICAgICBsYXllcjogaXRlbVs1XVxuICAgIH07XG5cbiAgICBpZiAoaW5kZXhCeUlkZW50aWZpZXIgIT09IC0xKSB7XG4gICAgICBzdHlsZXNJbkRPTVtpbmRleEJ5SWRlbnRpZmllcl0ucmVmZXJlbmNlcysrO1xuICAgICAgc3R5bGVzSW5ET01baW5kZXhCeUlkZW50aWZpZXJdLnVwZGF0ZXIob2JqKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHVwZGF0ZXIgPSBhZGRFbGVtZW50U3R5bGUob2JqLCBvcHRpb25zKTtcbiAgICAgIG9wdGlvbnMuYnlJbmRleCA9IGk7XG4gICAgICBzdHlsZXNJbkRPTS5zcGxpY2UoaSwgMCwge1xuICAgICAgICBpZGVudGlmaWVyOiBpZGVudGlmaWVyLFxuICAgICAgICB1cGRhdGVyOiB1cGRhdGVyLFxuICAgICAgICByZWZlcmVuY2VzOiAxXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZGVudGlmaWVycy5wdXNoKGlkZW50aWZpZXIpO1xuICB9XG5cbiAgcmV0dXJuIGlkZW50aWZpZXJzO1xufVxuXG5mdW5jdGlvbiBhZGRFbGVtZW50U3R5bGUob2JqLCBvcHRpb25zKSB7XG4gIHZhciBhcGkgPSBvcHRpb25zLmRvbUFQSShvcHRpb25zKTtcbiAgYXBpLnVwZGF0ZShvYmopO1xuXG4gIHZhciB1cGRhdGVyID0gZnVuY3Rpb24gdXBkYXRlcihuZXdPYmopIHtcbiAgICBpZiAobmV3T2JqKSB7XG4gICAgICBpZiAobmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJiBuZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJiBuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwICYmIG5ld09iai5zdXBwb3J0cyA9PT0gb2JqLnN1cHBvcnRzICYmIG5ld09iai5sYXllciA9PT0gb2JqLmxheWVyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYXBpLnVwZGF0ZShvYmogPSBuZXdPYmopO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVtb3ZlKCk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiB1cGRhdGVyO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChsaXN0LCBvcHRpb25zKSB7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICBsaXN0ID0gbGlzdCB8fCBbXTtcbiAgdmFyIGxhc3RJZGVudGlmaWVycyA9IG1vZHVsZXNUb0RvbShsaXN0LCBvcHRpb25zKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZShuZXdMaXN0KSB7XG4gICAgbmV3TGlzdCA9IG5ld0xpc3QgfHwgW107XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxhc3RJZGVudGlmaWVycy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGlkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbaV07XG4gICAgICB2YXIgaW5kZXggPSBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKTtcbiAgICAgIHN0eWxlc0luRE9NW2luZGV4XS5yZWZlcmVuY2VzLS07XG4gICAgfVxuXG4gICAgdmFyIG5ld0xhc3RJZGVudGlmaWVycyA9IG1vZHVsZXNUb0RvbShuZXdMaXN0LCBvcHRpb25zKTtcblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBsYXN0SWRlbnRpZmllcnMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICB2YXIgX2lkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbX2ldO1xuXG4gICAgICB2YXIgX2luZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoX2lkZW50aWZpZXIpO1xuXG4gICAgICBpZiAoc3R5bGVzSW5ET01bX2luZGV4XS5yZWZlcmVuY2VzID09PSAwKSB7XG4gICAgICAgIHN0eWxlc0luRE9NW19pbmRleF0udXBkYXRlcigpO1xuXG4gICAgICAgIHN0eWxlc0luRE9NLnNwbGljZShfaW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhc3RJZGVudGlmaWVycyA9IG5ld0xhc3RJZGVudGlmaWVycztcbiAgfTtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBtZW1vID0ge307XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cblxuZnVuY3Rpb24gZ2V0VGFyZ2V0KHRhcmdldCkge1xuICBpZiAodHlwZW9mIG1lbW9bdGFyZ2V0XSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgIHZhciBzdHlsZVRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGFyZ2V0KTsgLy8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcblxuICAgIGlmICh3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQgJiYgc3R5bGVUYXJnZXQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIFRoaXMgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24gaWYgYWNjZXNzIHRvIGlmcmFtZSBpcyBibG9ja2VkXG4gICAgICAgIC8vIGR1ZSB0byBjcm9zcy1vcmlnaW4gcmVzdHJpY3Rpb25zXG4gICAgICAgIHN0eWxlVGFyZ2V0ID0gc3R5bGVUYXJnZXQuY29udGVudERvY3VtZW50LmhlYWQ7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgICAgIHN0eWxlVGFyZ2V0ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtZW1vW3RhcmdldF0gPSBzdHlsZVRhcmdldDtcbiAgfVxuXG4gIHJldHVybiBtZW1vW3RhcmdldF07XG59XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cblxuXG5mdW5jdGlvbiBpbnNlcnRCeVNlbGVjdG9yKGluc2VydCwgc3R5bGUpIHtcbiAgdmFyIHRhcmdldCA9IGdldFRhcmdldChpbnNlcnQpO1xuXG4gIGlmICghdGFyZ2V0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmluZCBhIHN0eWxlIHRhcmdldC4gVGhpcyBwcm9iYWJseSBtZWFucyB0aGF0IHRoZSB2YWx1ZSBmb3IgdGhlICdpbnNlcnQnIHBhcmFtZXRlciBpcyBpbnZhbGlkLlwiKTtcbiAgfVxuXG4gIHRhcmdldC5hcHBlbmRDaGlsZChzdHlsZSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaW5zZXJ0QnlTZWxlY3RvcjsiLCJcInVzZSBzdHJpY3RcIjtcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5mdW5jdGlvbiBpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucykge1xuICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgb3B0aW9ucy5zZXRBdHRyaWJ1dGVzKGVsZW1lbnQsIG9wdGlvbnMuYXR0cmlidXRlcyk7XG4gIG9wdGlvbnMuaW5zZXJ0KGVsZW1lbnQsIG9wdGlvbnMub3B0aW9ucyk7XG4gIHJldHVybiBlbGVtZW50O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGluc2VydFN0eWxlRWxlbWVudDsiLCJcInVzZSBzdHJpY3RcIjtcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5mdW5jdGlvbiBzZXRBdHRyaWJ1dGVzV2l0aG91dEF0dHJpYnV0ZXMoc3R5bGVFbGVtZW50KSB7XG4gIHZhciBub25jZSA9IHR5cGVvZiBfX3dlYnBhY2tfbm9uY2VfXyAhPT0gXCJ1bmRlZmluZWRcIiA/IF9fd2VicGFja19ub25jZV9fIDogbnVsbDtcblxuICBpZiAobm9uY2UpIHtcbiAgICBzdHlsZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwibm9uY2VcIiwgbm9uY2UpO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc2V0QXR0cmlidXRlc1dpdGhvdXRBdHRyaWJ1dGVzOyIsIlwidXNlIHN0cmljdFwiO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cbmZ1bmN0aW9uIGFwcGx5KHN0eWxlRWxlbWVudCwgb3B0aW9ucywgb2JqKSB7XG4gIHZhciBjc3MgPSBcIlwiO1xuXG4gIGlmIChvYmouc3VwcG9ydHMpIHtcbiAgICBjc3MgKz0gXCJAc3VwcG9ydHMgKFwiLmNvbmNhdChvYmouc3VwcG9ydHMsIFwiKSB7XCIpO1xuICB9XG5cbiAgaWYgKG9iai5tZWRpYSkge1xuICAgIGNzcyArPSBcIkBtZWRpYSBcIi5jb25jYXQob2JqLm1lZGlhLCBcIiB7XCIpO1xuICB9XG5cbiAgdmFyIG5lZWRMYXllciA9IHR5cGVvZiBvYmoubGF5ZXIgIT09IFwidW5kZWZpbmVkXCI7XG5cbiAgaWYgKG5lZWRMYXllcikge1xuICAgIGNzcyArPSBcIkBsYXllclwiLmNvbmNhdChvYmoubGF5ZXIubGVuZ3RoID4gMCA/IFwiIFwiLmNvbmNhdChvYmoubGF5ZXIpIDogXCJcIiwgXCIge1wiKTtcbiAgfVxuXG4gIGNzcyArPSBvYmouY3NzO1xuXG4gIGlmIChuZWVkTGF5ZXIpIHtcbiAgICBjc3MgKz0gXCJ9XCI7XG4gIH1cblxuICBpZiAob2JqLm1lZGlhKSB7XG4gICAgY3NzICs9IFwifVwiO1xuICB9XG5cbiAgaWYgKG9iai5zdXBwb3J0cykge1xuICAgIGNzcyArPSBcIn1cIjtcbiAgfVxuXG4gIHZhciBzb3VyY2VNYXAgPSBvYmouc291cmNlTWFwO1xuXG4gIGlmIChzb3VyY2VNYXAgJiYgdHlwZW9mIGJ0b2EgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBjc3MgKz0gXCJcXG4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LFwiLmNvbmNhdChidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpLCBcIiAqL1wiKTtcbiAgfSAvLyBGb3Igb2xkIElFXG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICAqL1xuXG5cbiAgb3B0aW9ucy5zdHlsZVRhZ1RyYW5zZm9ybShjc3MsIHN0eWxlRWxlbWVudCwgb3B0aW9ucy5vcHRpb25zKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlRWxlbWVudCkge1xuICAvLyBpc3RhbmJ1bCBpZ25vcmUgaWZcbiAgaWYgKHN0eWxlRWxlbWVudC5wYXJlbnROb2RlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3R5bGVFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGVFbGVtZW50KTtcbn1cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuXG5cbmZ1bmN0aW9uIGRvbUFQSShvcHRpb25zKSB7XG4gIHZhciBzdHlsZUVsZW1lbnQgPSBvcHRpb25zLmluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKTtcbiAgcmV0dXJuIHtcbiAgICB1cGRhdGU6IGZ1bmN0aW9uIHVwZGF0ZShvYmopIHtcbiAgICAgIGFwcGx5KHN0eWxlRWxlbWVudCwgb3B0aW9ucywgb2JqKTtcbiAgICB9LFxuICAgIHJlbW92ZTogZnVuY3Rpb24gcmVtb3ZlKCkge1xuICAgICAgcmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlRWxlbWVudCk7XG4gICAgfVxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGRvbUFQSTsiLCJcInVzZSBzdHJpY3RcIjtcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5mdW5jdGlvbiBzdHlsZVRhZ1RyYW5zZm9ybShjc3MsIHN0eWxlRWxlbWVudCkge1xuICBpZiAoc3R5bGVFbGVtZW50LnN0eWxlU2hlZXQpIHtcbiAgICBzdHlsZUVsZW1lbnQuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuICB9IGVsc2Uge1xuICAgIHdoaWxlIChzdHlsZUVsZW1lbnQuZmlyc3RDaGlsZCkge1xuICAgICAgc3R5bGVFbGVtZW50LnJlbW92ZUNoaWxkKHN0eWxlRWxlbWVudC5maXJzdENoaWxkKTtcbiAgICB9XG5cbiAgICBzdHlsZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzdHlsZVRhZ1RyYW5zZm9ybTsiLCJpbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBSZWFjdCwge0hUTUxBdHRyaWJ1dGVzfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7Q29tcG9uZW50U2l6ZVhTVG9MfSBmcm9tICdAY2RvL2FwcHMvY29tcG9uZW50TGlicmFyeS9jb21tb24vdHlwZXMnO1xuXG5pbXBvcnQgbW9kdWxlU3R5bGVzIGZyb20gJy4vbGluay5tb2R1bGUuc2Nzcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlua0Jhc2VQcm9wcyBleHRlbmRzIEhUTUxBdHRyaWJ1dGVzPEhUTUxBbmNob3JFbGVtZW50PiB7XG4gIC8qKiBMaW5rIGlkICovXG4gIGlkPzogc3RyaW5nO1xuICAvKiogQ3VzdG9tIGNsYXNzIG5hbWUgKi9cbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAvKiogRG9lcyB0aGUgbGluayBnbyB0byBhbiBleHRlcm5hbCBzb3VyY2U/ICovXG4gIGV4dGVybmFsPzogYm9vbGVhbjtcbiAgLyoqIFNob3VsZCB0aGUgbGluayBvcGVuIGluIGEgbmV3IHRhYj8gKi9cbiAgb3BlbkluTmV3VGFiPzogYm9vbGVhbjtcbiAgLyoqIExpbmsgZGVzdGluYXRpb24gKi9cbiAgaHJlZjogc3RyaW5nO1xuICAvKiogSXMgdGhlIGxpbmsgZGlzYWJsZWQ/ICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIENhbGxiYWNrIGZvciBjbGljayBldmVudCAqL1xuICBvbkNsaWNrPzogKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4gdm9pZDtcbiAgLyoqIFNpemUgb2YgbGluayAqL1xuICBzaXplPzogQ29tcG9uZW50U2l6ZVhTVG9MO1xuICAvKiogVHlwZSBvZiBsaW5rICovXG4gIHR5cGU/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JztcbiAgLyoqIFJvbGUgb2YgbGluayAqL1xuICByb2xlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBMaW5rV2l0aENoaWxkcmVuID0gTGlua0Jhc2VQcm9wcyAmIHtcbiAgLyoqIExpbmsgY29udGVudCAqL1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICB0ZXh0PzogbmV2ZXI7XG59O1xuXG5leHBvcnQgdHlwZSBMaW5rV2l0aFRleHQgPSBMaW5rQmFzZVByb3BzICYge1xuICAvKiogTGluayB0ZXh0IGNvbnRlbnQgKi9cbiAgdGV4dDogc3RyaW5nO1xuICBjaGlsZHJlbj86IG5ldmVyO1xufTtcblxuZXhwb3J0IHR5cGUgTGlua1Byb3BzID0gTGlua1dpdGhDaGlsZHJlbiB8IExpbmtXaXRoVGV4dDtcblxuLyoqXG4gKiAjIyMgUHJvZHVjdGlvbi1yZWFkeSBDaGVja2xpc3Q6XG4gKiAqICjinJQpIGltcGxlbWVudGF0aW9uIG9mIGNvbXBvbmVudCBhcHByb3ZlZCBieSBkZXNpZ24gdGVhbTtcbiAqICogKOKclCkgaGFzIHN0b3J5Ym9vaywgY292ZXJlZCB3aXRoIHN0b3JpZXMgYW5kIGRvY3VtZW50YXRpb247XG4gKiAqICjinJQpIGhhcyB0ZXN0czogdGVzdCBldmVyeSBwcm9wLCBldmVyeSBzdGF0ZSBhbmQgZXZlcnkgaW50ZXJhY3Rpb24gdGhhdCdzIGpzIHJlbGF0ZWQ7XG4gKiAqIChzZWUgYXBwcy90ZXN0L3VuaXQvY29tcG9uZW50TGlicmFyeS9MaW5rVGVzdC5qc3gpXG4gKiAqICg/KSBwYXNzZXMgYWNjZXNzaWJpbGl0eSBjaGVja3M7XG4gKlxuICogIyMjICBTdGF0dXM6IGBgYFJlYWR5IGZvciBkZXZgYGBcbiAqXG4gKiBEZXNpZ24gU3lzdGVtOiBMaW5rIENvbXBvbmVudC5cbiAqIFVzZWQgZm9yIGludGVybmFsIG9yIGV4dGVybmFsIGxpbmtzLiBTaG9ydGN1dCBmb3IgZ2VuZXJhbCA8YT4gSFRNTCB0YWcgKHdpdGggRFNDTyBzdHlsZXMgYXBwbGllZCkuXG4gKiBDYW4gYmUgb3BlbmVkIGluIG5ldyB0YWIsIGhhdmUgY3VzdG9tIG9uQ2xpY2ssIGFsc28gY2FuIGJlIGRpc2FibGVkLlxuICovXG5jb25zdCBMaW5rOiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxMaW5rUHJvcHM+ID0gKHtcbiAgY2hpbGRyZW4sXG4gIHRleHQsXG4gIGlkLFxuICBjbGFzc05hbWUsXG4gIGV4dGVybmFsLFxuICBvcGVuSW5OZXdUYWIsXG4gIGhyZWYgPSAnIycsXG4gIGRpc2FibGVkLFxuICBvbkNsaWNrLFxuICBzaXplID0gJ20nLFxuICB0eXBlID0gJ3ByaW1hcnknLFxuICByb2xlLFxuICAuLi5IVE1MQXR0cmlidXRlc1xufSkgPT4gKFxuICA8YVxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgIG1vZHVsZVN0eWxlcy5saW5rLFxuICAgICAgbW9kdWxlU3R5bGVzW2BsaW5rLSR7dHlwZX1gXSxcbiAgICAgIG1vZHVsZVN0eWxlc1tgbGluay0ke3NpemV9YF0sXG4gICAgICBjbGFzc05hbWVcbiAgICApfVxuICAgIGhyZWY9eyFkaXNhYmxlZCA/IGhyZWYgOiB1bmRlZmluZWR9XG4gICAgaWQ9e2lkfVxuICAgIG9uQ2xpY2s9eyFkaXNhYmxlZCA/IG9uQ2xpY2sgOiB1bmRlZmluZWR9XG4gICAgcmVsPXtvcGVuSW5OZXdUYWIgfHwgZXh0ZXJuYWwgPyAnbm9vcGVuZXIgbm9yZWZlcnJlcicgOiB1bmRlZmluZWR9XG4gICAgdGFyZ2V0PXsob3BlbkluTmV3VGFiIHx8IHVuZGVmaW5lZCkgJiYgJ19ibGFuayd9XG4gICAgcm9sZT17cm9sZX1cbiAgICB7Li4uKGRpc2FibGVkID8geydhcmlhLWRpc2FibGVkJzogdHJ1ZX0gOiB7fSl9XG4gICAgey4uLkhUTUxBdHRyaWJ1dGVzfVxuICA+XG4gICAge3RleHQgfHwgY2hpbGRyZW59XG4gIDwvYT5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IExpbms7XG4iLCJleHBvcnQgdHlwZSB7XG4gIExpbmtQcm9wcyxcbiAgTGlua0Jhc2VQcm9wcyxcbiAgTGlua1dpdGhDaGlsZHJlbixcbiAgTGlua1dpdGhUZXh0LFxufSBmcm9tICcuL0xpbmsnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIGRlZmF1bHR9IGZyb20gJy4vTGluayc7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge1NlbWFudGljVGFnLCBWaXN1YWxBcHBlYXJhbmNlLCBUeXBvZ3JhcGh5RWxlbWVudFByb3BzfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gJy4vVHlwb2dyYXBoeSc7XG5cbmludGVyZmFjZSBUeXBvZ3JhcGh5RWxlbWVudFRvR2VuZXJhdGVUZW1wbGF0ZSB7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIHNlbWFudGljVGFnOiBTZW1hbnRpY1RhZztcbiAgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2U6IFZpc3VhbEFwcGVhcmFuY2U7XG59XG5jb25zdCB0eXBvZ3JhcGh5RWxlbWVudHNUb0dlbmVyYXRlOiBUeXBvZ3JhcGh5RWxlbWVudFRvR2VuZXJhdGVUZW1wbGF0ZVtdID0gW1xuICB7XG4gICAgZGlzcGxheU5hbWU6ICdIZWFkaW5nMScsXG4gICAgc2VtYW50aWNUYWc6ICdoMScsXG4gICAgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2U6ICdoZWFkaW5nLXh4bCcsXG4gIH0sXG4gIHtcbiAgICBkaXNwbGF5TmFtZTogJ0hlYWRpbmcyJyxcbiAgICBzZW1hbnRpY1RhZzogJ2gyJyxcbiAgICBkZWZhdWx0VmlzdWFsQXBwZWFyYW5jZTogJ2hlYWRpbmcteGwnLFxuICB9LFxuICB7XG4gICAgZGlzcGxheU5hbWU6ICdIZWFkaW5nMycsXG4gICAgc2VtYW50aWNUYWc6ICdoMycsXG4gICAgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2U6ICdoZWFkaW5nLWxnJyxcbiAgfSxcbiAge1xuICAgIGRpc3BsYXlOYW1lOiAnSGVhZGluZzQnLFxuICAgIHNlbWFudGljVGFnOiAnaDQnLFxuICAgIGRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlOiAnaGVhZGluZy1tZCcsXG4gIH0sXG4gIHtcbiAgICBkaXNwbGF5TmFtZTogJ0hlYWRpbmc1JyxcbiAgICBzZW1hbnRpY1RhZzogJ2g1JyxcbiAgICBkZWZhdWx0VmlzdWFsQXBwZWFyYW5jZTogJ2hlYWRpbmctc20nLFxuICB9LFxuICB7XG4gICAgZGlzcGxheU5hbWU6ICdIZWFkaW5nNicsXG4gICAgc2VtYW50aWNUYWc6ICdoNicsXG4gICAgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2U6ICdoZWFkaW5nLXhzJyxcbiAgfSxcbiAge1xuICAgIGRpc3BsYXlOYW1lOiAnQm9keU9uZVRleHQnLFxuICAgIHNlbWFudGljVGFnOiAncCcsXG4gICAgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2U6ICdib2R5LW9uZScsXG4gIH0sXG4gIHtcbiAgICBkaXNwbGF5TmFtZTogJ0JvZHlUd29UZXh0JyxcbiAgICBzZW1hbnRpY1RhZzogJ3AnLFxuICAgIGRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlOiAnYm9keS10d28nLFxuICB9LFxuICB7XG4gICAgZGlzcGxheU5hbWU6ICdCb2R5VGhyZWVUZXh0JyxcbiAgICBzZW1hbnRpY1RhZzogJ3AnLFxuICAgIGRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlOiAnYm9keS10aHJlZScsXG4gIH0sXG4gIHtcbiAgICBkaXNwbGF5TmFtZTogJ0JvZHlGb3VyVGV4dCcsXG4gICAgc2VtYW50aWNUYWc6ICdwJyxcbiAgICBkZWZhdWx0VmlzdWFsQXBwZWFyYW5jZTogJ2JvZHktZm91cicsXG4gIH0sXG4gIHtcbiAgICBkaXNwbGF5TmFtZTogJ092ZXJsaW5lT25lVGV4dCcsXG4gICAgc2VtYW50aWNUYWc6ICdwJyxcbiAgICBkZWZhdWx0VmlzdWFsQXBwZWFyYW5jZTogJ292ZXJsaW5lLW9uZScsXG4gIH0sXG4gIHtcbiAgICBkaXNwbGF5TmFtZTogJ092ZXJsaW5lVHdvVGV4dCcsXG4gICAgc2VtYW50aWNUYWc6ICdwJyxcbiAgICBkZWZhdWx0VmlzdWFsQXBwZWFyYW5jZTogJ292ZXJsaW5lLXR3bycsXG4gIH0sXG4gIHtcbiAgICBkaXNwbGF5TmFtZTogJ092ZXJsaW5lVGhyZWVUZXh0JyxcbiAgICBzZW1hbnRpY1RhZzogJ3AnLFxuICAgIGRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlOiAnb3ZlcmxpbmUtdGhyZWUnLFxuICB9LFxuICB7ZGlzcGxheU5hbWU6ICdFbVRleHQnLCBzZW1hbnRpY1RhZzogJ2VtJywgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2U6ICdlbSd9LFxuICB7XG4gICAgZGlzcGxheU5hbWU6ICdTdHJvbmdUZXh0JyxcbiAgICBzZW1hbnRpY1RhZzogJ3N0cm9uZycsXG4gICAgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2U6ICdzdHJvbmcnLFxuICB9LFxuICB7XG4gICAgZGlzcGxheU5hbWU6ICdFeHRyYVN0cm9uZ1RleHQnLFxuICAgIHNlbWFudGljVGFnOiAnc3Ryb25nJyxcbiAgICBkZWZhdWx0VmlzdWFsQXBwZWFyYW5jZTogJ2V4dHJhLXN0cm9uZycsXG4gIH0sXG4gIHtcbiAgICBkaXNwbGF5TmFtZTogJ0ZpZ2NhcHRpb24nLFxuICAgIHNlbWFudGljVGFnOiAnZmlnY2FwdGlvbicsXG4gICAgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2U6ICdmaWdjYXB0aW9uJyxcbiAgfSxcbl07XG5cbi8vIEdlbmVyYXRlcyBhIHNldCBvZiBjb21wb25lbnRzKFR5cG9ncmFwaHkgRWxlbWVudHMpIGJhc2VkIG9uIHRoZSBkYXRhIGluIHR5cG9ncmFwaHlFbGVtZW50c1RvR2VuZXJhdGVcbmNvbnN0IGdlbmVyYXRlQ29tcG9uZW50cyA9IChcbiAgY29tcG9uZW50c1RvR2VuZXJhdGU6IFR5cG9ncmFwaHlFbGVtZW50VG9HZW5lcmF0ZVRlbXBsYXRlW11cbik6IHtba2V5OiBzdHJpbmddOiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxUeXBvZ3JhcGh5RWxlbWVudFByb3BzPn0gPT5cbiAgY29tcG9uZW50c1RvR2VuZXJhdGUucmVkdWNlKChhY2MsIGNvbXBvbmVudFRlbXBsYXRlRGF0YSkgPT4ge1xuICAgIGNvbnN0IHtkaXNwbGF5TmFtZSwgc2VtYW50aWNUYWcsIGRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlfSA9XG4gICAgICBjb21wb25lbnRUZW1wbGF0ZURhdGE7XG5cbiAgICBjb25zdCBUeXBvZ3JhcGh5RWxlbWVudDogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8XG4gICAgICBUeXBvZ3JhcGh5RWxlbWVudFByb3BzXG4gICAgPiA9IGNvbXBvbmVudFByb3BzID0+IHtcbiAgICAgIGNvbnN0IHt2aXN1YWxBcHBlYXJhbmNlLCBjaGlsZHJlbiwgY2xhc3NOYW1lLCBzdHlsZSwgaWR9ID0gY29tcG9uZW50UHJvcHM7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUeXBvZ3JhcGh5XG4gICAgICAgICAgc2VtYW50aWNUYWc9e3NlbWFudGljVGFnfVxuICAgICAgICAgIHZpc3VhbEFwcGVhcmFuY2U9e3Zpc3VhbEFwcGVhcmFuY2UgfHwgZGVmYXVsdFZpc3VhbEFwcGVhcmFuY2V9XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgIGlkPXtpZH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgKTtcbiAgICB9O1xuICAgIFR5cG9ncmFwaHlFbGVtZW50LmRpc3BsYXlOYW1lID0gZGlzcGxheU5hbWU7XG4gICAgcmV0dXJuIHsuLi5hY2MsIFtkaXNwbGF5TmFtZV06IFR5cG9ncmFwaHlFbGVtZW50fTtcbiAgfSwge30pO1xuXG5leHBvcnQgY29uc3Qge1xuICBIZWFkaW5nMSxcbiAgSGVhZGluZzIsXG4gIEhlYWRpbmczLFxuICBIZWFkaW5nNCxcbiAgSGVhZGluZzUsXG4gIEhlYWRpbmc2LFxuICBCb2R5T25lVGV4dCxcbiAgQm9keVR3b1RleHQsXG4gIEJvZHlUaHJlZVRleHQsXG4gIEJvZHlGb3VyVGV4dCxcbiAgT3ZlcmxpbmVPbmVUZXh0LFxuICBPdmVybGluZVR3b1RleHQsXG4gIE92ZXJsaW5lVGhyZWVUZXh0LFxuICBFbVRleHQsXG4gIFN0cm9uZ1RleHQsXG4gIEV4dHJhU3Ryb25nVGV4dCxcbiAgRmlnY2FwdGlvbixcbn0gPSBnZW5lcmF0ZUNvbXBvbmVudHModHlwb2dyYXBoeUVsZW1lbnRzVG9HZW5lcmF0ZSk7XG4iLCJleHBvcnQgKiBmcm9tICcuL1R5cG9ncmFwaHlFbGVtZW50cyc7XG5leHBvcnQge2RlZmF1bHQgYXMgZGVmYXVsdH0gZnJvbSAnLi9UeXBvZ3JhcGh5JztcbiIsImltcG9ydCBSZWFjdCwge3VzZUVmZmVjdH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtjb25uZWN0LCB1c2VTZWxlY3Rvcn0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5pbXBvcnQgTGluayBmcm9tICdAY2RvL2FwcHMvY29tcG9uZW50TGlicmFyeS9saW5rJztcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gJ0BjZG8vYXBwcy9jb21wb25lbnRMaWJyYXJ5L3R5cG9ncmFwaHknO1xuaW1wb3J0IHtFVkVOVFN9IGZyb20gJ0BjZG8vYXBwcy9tZXRyaWNzL0FuYWx5dGljc0NvbnN0YW50cyc7XG5pbXBvcnQgYW5hbHl0aWNzUmVwb3J0ZXIgZnJvbSAnQGNkby9hcHBzL21ldHJpY3MvQW5hbHl0aWNzUmVwb3J0ZXInO1xuaW1wb3J0IFNwaW5uZXIgZnJvbSAnQGNkby9hcHBzL3NoYXJlZENvbXBvbmVudHMvU3Bpbm5lcic7XG5pbXBvcnQge1Jvb3RTdGF0ZX0gZnJvbSAnQGNkby9hcHBzL3R5cGVzL3JlZHV4JztcbmltcG9ydCBpMThuIGZyb20gJ0BjZG8vbG9jYWxlJztcblxuaW1wb3J0IEJhc2VEaWFsb2cgZnJvbSAnLi4vLi4vQmFzZURpYWxvZyc7XG5cbmltcG9ydCBBZ2VHYXRlZFN0dWRlbnRzVGFibGUgZnJvbSAnLi9BZ2VHYXRlZFN0dWRlbnRzVGFibGUnO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gJ0BjZG8vYXBwcy90ZW1wbGF0ZXMvcG9saWN5X2NvbXBsaWFuY2UvQWdlR2F0ZWRTdHVkZW50c01vZGFsL2FnZS1nYXRlZC1zdHVkZW50cy1tb2RhbC5tb2R1bGUuc2Nzcyc7XG5cbmludGVyZmFjZSBSZWR1eFN0YXRlIHtcbiAgbWFuYWdlU3R1ZGVudHM6IHtcbiAgICBpc0xvYWRpbmdTdHVkZW50cz86IGJvb2xlYW47XG4gIH07XG59XG5pbnRlcmZhY2UgUHJvcHMge1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGlzTG9hZGluZ1N0dWRlbnRzOiBib29sZWFuO1xuICBhZ2VHYXRlZFN0dWRlbnRzQ291bnQ/OiBudW1iZXI7XG4gIGFnZUdhdGVkU3R1ZGVudHNVc1N0YXRlPzogc3RyaW5nO1xufVxuXG5jb25zdCBBZ2VHYXRlZFN0dWRlbnRzTW9kYWw6IFJlYWN0LkZDPFByb3BzPiA9ICh7XG4gIGlzTG9hZGluZ1N0dWRlbnRzLFxuICBpc09wZW4sXG4gIG9uQ2xvc2UsXG4gIGFnZUdhdGVkU3R1ZGVudHNDb3VudCA9IDAsXG4gIGFnZUdhdGVkU3R1ZGVudHNVc1N0YXRlLFxufSkgPT4ge1xuICBjb25zdCBjdXJyZW50VXNlciA9IHVzZVNlbGVjdG9yKChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS5jdXJyZW50VXNlcik7XG4gIGNvbnN0IHJlcG9ydEV2ZW50ID0gKGV2ZW50TmFtZTogc3RyaW5nLCBwYXlsb2FkOiBvYmplY3QgPSB7fSkgPT4ge1xuICAgIGFuYWx5dGljc1JlcG9ydGVyLnNlbmRFdmVudChldmVudE5hbWUsIHBheWxvYWQpO1xuICB9O1xuXG4gIGNvbnN0IGhlbHBEb2NzVXJsID1cbiAgICAnaHR0cHM6Ly9zdXBwb3J0LmNvZGUub3JnL2hjL2VuLXVzL2FydGljbGVzLzE1NDY1NDIzNDkxMDg1LUhvdy1kby1JLW9idGFpbi1wYXJlbnQtb3ItZ3VhcmRpYW4tcGVybWlzc2lvbi1mb3Itc3R1ZGVudC1hY2NvdW50cyc7XG5cbiAgY29uc3QgbW9kYWxEb2N1bWVudGF0aW9uQ2xpY2tlZCA9ICgpID0+IHtcbiAgICByZXBvcnRFdmVudChFVkVOVFMuQ0FQX1NUVURFTlRfV0FSTklOR19MSU5LX0NMSUNLRUQsIHtcbiAgICAgIHVzZXJfaWQ6IGN1cnJlbnRVc2VyLnVzZXJJZCxcbiAgICAgIG51bWJlcl9vZl9nYXRlYWJsZV9zdHVkZW50czogYWdlR2F0ZWRTdHVkZW50c0NvdW50LFxuICAgICAgdXNTdGF0ZTogYWdlR2F0ZWRTdHVkZW50c1VzU3RhdGUsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgbW9kYWxDbG9zZWQgPSAoKSA9PiB7XG4gICAgcmVwb3J0RXZlbnQoRVZFTlRTLkNBUF9BR0VfR0FURURfTU9EQUxfQ0xPU0VELCB7XG4gICAgICB1c2VyX2lkOiBjdXJyZW50VXNlci51c2VySWQsXG4gICAgICBudW1iZXJfb2ZfZ2F0ZWFibGVfc3R1ZGVudHM6IGFnZUdhdGVkU3R1ZGVudHNDb3VudCxcbiAgICAgIHVzU3RhdGU6IGFnZUdhdGVkU3R1ZGVudHNVc1N0YXRlLFxuICAgIH0pO1xuICAgIG9uQ2xvc2UoKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlcG9ydEV2ZW50KEVWRU5UUy5DQVBfQUdFX0dBVEVEX01PREFMX1NIT1dOLCB7XG4gICAgICB1c2VyX2lkOiBjdXJyZW50VXNlci51c2VySWQsXG4gICAgICBudW1iZXJfb2ZfZ2F0ZWFibGVfc3R1ZGVudHM6IGFnZUdhdGVkU3R1ZGVudHNDb3VudCxcbiAgICAgIHVzU3RhdGU6IGFnZUdhdGVkU3R1ZGVudHNVc1N0YXRlLFxuICAgIH0pO1xuICB9LCBbY3VycmVudFVzZXIudXNlcklkLCBhZ2VHYXRlZFN0dWRlbnRzQ291bnQsIGFnZUdhdGVkU3R1ZGVudHNVc1N0YXRlXSk7XG4gIHJldHVybiAoXG4gICAgPEJhc2VEaWFsb2dcbiAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgaGFuZGxlQ2xvc2U9e21vZGFsQ2xvc2VkfVxuICAgICAgdXNlVXBkYXRlZFN0eWxlcz17dHJ1ZX1cbiAgICAgIGZpeGVkV2lkdGg9ezgwMH1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLm1vZGFsQ29udGFpbmVyfVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZm9yYmlkLWRvbS1wcm9wc1xuICAgICAgICBkYXRhLXRlc3RpZD1cImFnZS1nYXRlZC1zdHVkZW50cy1tb2RhbFwiXG4gICAgICAgIGlkPVwidWl0ZXN0LWFnZS1nYXRlZC1zdHVkZW50cy1tb2RhbFwiXG4gICAgICA+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPFR5cG9ncmFwaHlcbiAgICAgICAgICAgIHNlbWFudGljVGFnPVwiaDJcIlxuICAgICAgICAgICAgdmlzdWFsQXBwZWFyYW5jZT1cImhlYWRpbmctbWRcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMubW9kYWxIZWFkZXJ9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2kxOG4uY2hpbGRBY2NvdW50UG9saWN5X3N0dWRlbnRQYXJlbnRhbENvbnNlbnRTdGF0dXMoKX1cbiAgICAgICAgICA8L1R5cG9ncmFwaHk+XG4gICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgPFR5cG9ncmFwaHkgc2VtYW50aWNUYWc9XCJwXCIgdmlzdWFsQXBwZWFyYW5jZT1cImJvZHktdHdvXCI+XG4gICAgICAgICAgICB7aTE4bi5jaGlsZEFjY291bnRQb2xpY3lfc3R1ZGVudFBhcmVudGFsQ29uc2VudE5vdGljZSgpfVxuICAgICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICA8VHlwb2dyYXBoeSBzZW1hbnRpY1RhZz1cInBcIiB2aXN1YWxBcHBlYXJhbmNlPVwiYm9keS10d29cIj5cbiAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgIGhyZWY9e2hlbHBEb2NzVXJsfVxuICAgICAgICAgICAgICBvbkNsaWNrPXttb2RhbERvY3VtZW50YXRpb25DbGlja2VkfVxuICAgICAgICAgICAgICBvcGVuSW5OZXdUYWI9e3RydWV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLmNoaWxkQWNjb3VudFBvbGljeV9jb25zZW50UHJvY2Vzc1JlYWRNb3JlKCl9XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgIHtpc0xvYWRpbmdTdHVkZW50cyAmJiA8U3Bpbm5lciAvPn1cbiAgICAgICAgICB7IWlzTG9hZGluZ1N0dWRlbnRzICYmIDxBZ2VHYXRlZFN0dWRlbnRzVGFibGUgLz59XG4gICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5tb2RhbEJ1dHRvbn0+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXttb2RhbENsb3NlZH0+XG4gICAgICAgICAgICAgIHtpMThuLmNsb3NlRGlhbG9nKCl9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L0Jhc2VEaWFsb2c+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KChzdGF0ZTogUmVkdXhTdGF0ZSkgPT4gKHtcbiAgaXNMb2FkaW5nU3R1ZGVudHM6IHN0YXRlLm1hbmFnZVN0dWRlbnRzLmlzTG9hZGluZ1N0dWRlbnRzIHx8IGZhbHNlLFxufSkpKEFnZUdhdGVkU3R1ZGVudHNNb2RhbCk7XG4iXSwibmFtZXMiOlsiX3Byb3BUeXBlcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0ZvbnRBd2Vzb21lIiwiX2xvY2FsZSIsImUiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsIm8iLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwiX3NldFByb3RvdHlwZU9mIiwidCIsIk9iamVjdCIsInNldFByb3RvdHlwZU9mIiwiYmluZCIsIl9fcHJvdG9fXyIsIl9kZWZpbmVQcm9wZXJ0eSIsInIiLCJfdG9Qcm9wZXJ0eUtleSIsImkiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiZXhwb3J0cyIsIl9SZWFjdCRDb21wb25lbnQiLCJTcGlubmVyIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJfaW5oZXJpdHNMb29zZSIsImNyZWF0ZSIsInJlbmRlciIsIl90aGlzJHByb3BzIiwidGhpcyIsInByb3BzIiwic2l6ZSIsInN0eWxlIiwiZGlzcGxheVNpemUiLCJjcmVhdGVFbGVtZW50IiwiaWNvbiIsImNsYXNzTmFtZSIsImNvbmNhdCIsInRpdGxlIiwiaTE4biIsImxvYWRpbmciLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9uZU9mIiwib2JqZWN0IiwibW9kdWxlIiwiZGVmYXVsdCIsIl9CdXR0b24iLCJfY29uc3RhbnRzIiwiX2NvbG9yIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJwdXNoIiwiX29iamVjdFNwcmVhZCIsImxlbmd0aCIsImZvckVhY2giLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIkJhc2VEaWFsb2ciLCJfdGhpcyIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiZXZlbnQiLCJrZXkiLCJjbG9zZURpYWxvZyIsImhhbmRsZUtleURvd24iLCJ1bmNsb3NlYWJsZSIsImhhbmRsZUNsb3NlIiwic291bmRQbGF5ZXIiLCJzdG9wQWxsQXVkaW8iLCJfcHJvdG8iLCJjb21wb25lbnREaWRNb3VudCIsImZvY3VzRGlhbG9nIiwiY29tcG9uZW50RGlkVXBkYXRlIiwiZ2V0VGFiYmFibGVFbGVtZW50cyIsInNsaWNlIiwicmVmcyIsImRpYWxvZyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJkZXNjZW5kYW50SXNBY3RpdmUiLCJkb2N1bWVudCIsImFjdGl2ZUVsZW1lbnQiLCJjb250YWlucyIsImlzT3BlbiIsImZvY3VzIiwiaGlkZUJhY2tkcm9wIiwiYm9keVN0eWxlIiwibW9kYWxCb2R5U3R5bGUiLCJ4Q2xvc2VTdHlsZSIsImZ1bGxXaWR0aCIsIndpZHRoIiwibWFyZ2luTGVmdCIsImZ1bGxIZWlnaHQiLCJoZWlnaHQiLCJib3hTaXppbmciLCJ3cmFwcGVyQ2xhc3NOYW1lcyIsIm1vZGFsQ2xhc3NOYW1lcyIsIm1vZGFsQm9keUNsYXNzTmFtZXMiLCJvdmVyZmxvd1giLCJvdmVyZmxvdyIsIm92ZXJmbG93WSIsImZpeGVkSGVpZ2h0IiwidXNlVXBkYXRlZFN0eWxlcyIsImJhY2tncm91bmQiLCJtYXhIZWlnaHQiLCJib3JkZXJSYWRpdXMiLCJ1c2VGbGV4Ym94IiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJmaXhlZFdpZHRoIiwiQkFTRV9ESUFMT0dfV0lEVEgiLCJub01vZGFsU3R5bGVzIiwicG9zaXRpb24iLCJ0b3AiLCJpbnNldElubGluZUVuZCIsInBhZGRpbmciLCJjb2xvciIsIm5ldXRyYWxfZGFyazMwIiwiY3Vyc29yIiwiZm9udFNpemUiLCJib3JkZXIiLCJib2R5Q2xhc3NOYW1lIiwiam9pbiIsImJvZHkiLCJ0YWJJbmRleCIsInJlZiIsIm9uS2V5RG93biIsImlkIiwiYm9keUlkIiwiaGlkZUNsb3NlQnV0dG9uIiwib25DbGljayIsImNoaWxkcmVuIiwiYmFja2Ryb3BTdHlsZSIsImJvb2wiLCJmdW5jIiwibm9kZSIsIm51bWJlciIsInN0cmluZyIsImN1cnJlbnRVc2VyIiwic3RhdGUiLCJ1bmRlZmluZWQiLCJpbml0aWFsU3RhdGUiLCJhY3Rpb24iLCJ0eXBlIiwiU0VUX0NVUlJFTlRfVVNFUl9OQU1FIiwidXNlck5hbWUiLCJTRVRfSEFTX1NFRU5fU1RBTkRBUkRTX1JFUE9SVCIsImhhc1NlZW5TdGFuZGFyZHNSZXBvcnRJbmZvIiwiaGFzU2VlblN0YW5kYXJkc1JlcG9ydCIsIlNFVF9VU0VSX1NJR05FRF9JTiIsInNpZ25JblN0YXRlIiwiaXNTaWduZWRJbiIsIlNpZ25JblN0YXRlIiwiU2lnbmVkSW4iLCJTaWduZWRPdXQiLCJTRVRfVVNFUl9UWVBFIiwidXNlclR5cGUiLCJ1bmRlcjEzIiwiU0VUX09WRVJfMjEiLCJvdmVyMjEiLCJTRVRfVVNFUl9ST0xFX0lOX0NPVVJTRSIsInVzZXJSb2xlSW5Db3Vyc2UiLCJTRVRfTVVURV9NVVNJQyIsImlzQmFja2dyb3VuZE11c2ljTXV0ZWQiLCJTRVRfU09SVF9CWV9GQU1JTFlfTkFNRSIsImlzU29ydGVkQnlGYW1pbHlOYW1lIiwiYW5hbHl0aWNzUmVwb3J0Iiwic2VuZEV2ZW50IiwiRVZFTlRTIiwiU09SVF9CWV9GQU1JTFlfTkFNRSIsInNlY3Rpb25JZCIsInVuaXROYW1lIiwic291cmNlIiwiU09SVF9CWV9ESVNQTEFZX05BTUUiLCJTRVRfU0hPV19QUk9HUkVTU19UQUJMRV9WMiIsInNob3dQcm9ncmVzc1RhYmxlVjIiLCJTRVRfUFJPR1JFU1NfVEFCTEVfVjJfQ0xPU0VEX0JFVEEiLCJwcm9ncmVzc1RhYmxlVjJDbG9zZWRCZXRhIiwiU0VUX0RBVEVfUFJPR1JFU1NfVEFCTEVfSU5WSVRBVElPTl9MQVNUX0RFTEFZRUQiLCJkYXRlUHJvZ3Jlc3NUYWJsZUludml0YXRpb25EZWxheWVkIiwiU0VUX1NFRU5fUFJPR1JFU1NfVEFCTEVfSU5WSVRBVElPTiIsImhhc1NlZW5Qcm9ncmVzc1RhYmxlSW52aXRlIiwiU0VUX0FJX1JVQlJJQ1NfRElTQUJMRUQiLCJhaVJ1YnJpY3NEaXNhYmxlZCIsIlNFVF9VU0VSX0NSRUFURURfQVQiLCJ1c2VyQ3JlYXRlZEF0IiwiU0VUX0lOSVRJQUxfREFUQSIsIl9hY3Rpb24kc2VydmVyVXNlciIsInNlcnZlclVzZXIiLCJ1dWlkIiwidXNlcm5hbWUiLCJ1c2VyX3R5cGUiLCJtdXRlX211c2ljIiwidW5kZXJfMTMiLCJvdmVyXzIxIiwic29ydF9ieV9mYW1pbHlfbmFtZSIsInNob3dfcHJvZ3Jlc3NfdGFibGVfdjIiLCJhaV9ydWJyaWNzX2Rpc2FibGVkIiwicHJvZ3Jlc3NfdGFibGVfdjJfY2xvc2VkX2JldGEiLCJpc19sdGkiLCJkYXRlX3Byb2dyZXNzX3RhYmxlX2ludml0YXRpb25fbGFzdF9kZWxheWVkIiwiaGFzX3NlZW5fcHJvZ3Jlc3NfdGFibGVfdjJfaW52aXRhdGlvbiIsImNoaWxkX2FjY291bnRfY29tcGxpYW5jZV9zdGF0ZSIsImNvdW50cnlfY29kZSIsInVzX3N0YXRlX2NvZGUiLCJhZ2UiLCJpbl9zZWN0aW9uIiwiY3JlYXRlZF9hdCIsImlzX3ZlcmlmaWVkX2luc3RydWN0b3IiLCJzZXRVc2VyUHJvcGVydGllcyIsImV4cGVyaW1lbnRzIiwiZ2V0RW5hYmxlZEV4cGVyaW1lbnRzIiwic3RhdHNpZ1JlcG9ydGVyIiwidXNlcklkIiwiaXNMdGkiLCJpc1RlYWNoZXIiLCJVc2VyVHlwZXMiLCJURUFDSEVSIiwiaW5VU0EiLCJpbmNsdWRlcyIsImNoaWxkQWNjb3VudENvbXBsaWFuY2VTdGF0ZSIsImNvdW50cnlDb2RlIiwidXNTdGF0ZUNvZGUiLCJpblNlY3Rpb24iLCJfQW5hbHl0aWNzQ29uc3RhbnRzIiwiX0FuYWx5dGljc1JlcG9ydGVyIiwiX1N0YXRzaWdSZXBvcnRlciIsIl9leHBlcmltZW50cyIsIl9zaGFyZWRDb25zdGFudHMiLCJfdXRpbHMiLCJtYWtlRW51bSIsIkNvdXJzZVJvbGVzIiwic2V0Q3VycmVudFVzZXJOYW1lIiwic2V0Q3VycmVudFVzZXJIYXNTZWVuU3RhbmRhcmRzUmVwb3J0SW5mbyIsInNldFVzZXJTaWduZWRJbiIsInNldFVzZXJUeXBlIiwic2V0T3ZlcjIxIiwic2V0VXNlclJvbGVJbkNvdXJzZSIsInNldEluaXRpYWxEYXRhIiwic2V0TXV0ZU11c2ljIiwic2V0U29ydEJ5RmFtaWx5TmFtZSIsInNldFNob3dQcm9ncmVzc1RhYmxlVjIiLCJzZXRQcm9ncmVzc1RhYmxlVjJDbG9zZWRCZXRhIiwic2V0SGFzU2VlblByb2dyZXNzVGFibGVJbnZpdGUiLCJzZXREYXRlUHJvZ3Jlc3NUYWJsZUludml0YXRpb25EZWxheWVkIiwic2V0QWlSdWJyaWNzRGlzYWJsZWQiLCJzZXRVc2VyQ3JlYXRlZEF0IiwiVW5rbm93biIsImN1cnJlbnRVc2VyU3RhdGUiLCJoYXNPd24iLCJoYXNPd25Qcm9wZXJ0eSIsImNsYXNzTmFtZXMiLCJjbGFzc2VzIiwiYXJnIiwiYXJnVHlwZSIsImlzQXJyYXkiLCJpbm5lciIsInRvU3RyaW5nIiwiX19fQ1NTX0xPQURFUl9FWFBPUlRfX18iLCJsb2NhbHMiLCJjc3NXaXRoTWFwcGluZ1RvU3RyaW5nIiwibGlzdCIsIm1hcCIsIml0ZW0iLCJjb250ZW50IiwibmVlZExheWVyIiwibW9kdWxlcyIsIm1lZGlhIiwiZGVkdXBlIiwic3VwcG9ydHMiLCJsYXllciIsImFscmVhZHlJbXBvcnRlZE1vZHVsZXMiLCJrIiwiX2siLCJ1cmwiLCJvcHRpb25zIiwidGVzdCIsImhhc2giLCJuZWVkUXVvdGVzIiwicmVwbGFjZSIsImNzc01hcHBpbmciLCJidG9hIiwiYmFzZTY0IiwidW5lc2NhcGUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJKU09OIiwic3RyaW5naWZ5IiwiZGF0YSIsInNvdXJjZU1hcHBpbmciLCJzb3VyY2VVUkxzIiwic291cmNlcyIsInNvdXJjZVJvb3QiLCJzdHlsZVRhZ1RyYW5zZm9ybSIsInNldEF0dHJpYnV0ZXMiLCJpbnNlcnQiLCJkb21BUEkiLCJpbnNlcnRTdHlsZUVsZW1lbnQiLCJzdHlsZXNJbkRPTSIsImdldEluZGV4QnlJZGVudGlmaWVyIiwiaWRlbnRpZmllciIsInJlc3VsdCIsIm1vZHVsZXNUb0RvbSIsImlkQ291bnRNYXAiLCJpZGVudGlmaWVycyIsImJhc2UiLCJjb3VudCIsImluZGV4QnlJZGVudGlmaWVyIiwib2JqIiwiY3NzIiwic291cmNlTWFwIiwicmVmZXJlbmNlcyIsInVwZGF0ZXIiLCJhZGRFbGVtZW50U3R5bGUiLCJieUluZGV4Iiwic3BsaWNlIiwiYXBpIiwidXBkYXRlIiwibmV3T2JqIiwicmVtb3ZlIiwibGFzdElkZW50aWZpZXJzIiwibmV3TGlzdCIsImluZGV4IiwibmV3TGFzdElkZW50aWZpZXJzIiwiX2kiLCJfaW5kZXgiLCJtZW1vIiwiaW5zZXJ0QnlTZWxlY3RvciIsInRhcmdldCIsImdldFRhcmdldCIsInN0eWxlVGFyZ2V0IiwicXVlcnlTZWxlY3RvciIsIndpbmRvdyIsIkhUTUxJRnJhbWVFbGVtZW50IiwiY29udGVudERvY3VtZW50IiwiaGVhZCIsIkVycm9yIiwiYXBwZW5kQ2hpbGQiLCJlbGVtZW50IiwiYXR0cmlidXRlcyIsInNldEF0dHJpYnV0ZXNXaXRob3V0QXR0cmlidXRlcyIsInN0eWxlRWxlbWVudCIsIm5vbmNlIiwic2V0QXR0cmlidXRlIiwicmVtb3ZlU3R5bGVFbGVtZW50IiwicGFyZW50Tm9kZSIsInJlbW92ZUNoaWxkIiwic3R5bGVTaGVldCIsImNzc1RleHQiLCJmaXJzdENoaWxkIiwiY3JlYXRlVGV4dE5vZGUiLCJMaW5rIiwidGV4dCIsImV4dGVybmFsIiwib3BlbkluTmV3VGFiIiwiaHJlZiIsImRpc2FibGVkIiwicm9sZSIsIkhUTUxBdHRyaWJ1dGVzIiwibGluayIsInJlbCIsIkhlYWRpbmcxIiwiZGlzcGxheU5hbWUiLCJzZW1hbnRpY1RhZyIsImRlZmF1bHRWaXN1YWxBcHBlYXJhbmNlIiwicmVkdWNlIiwiYWNjIiwiY29tcG9uZW50VGVtcGxhdGVEYXRhIiwiVHlwb2dyYXBoeUVsZW1lbnQiLCJjb21wb25lbnRQcm9wcyIsInZpc3VhbEFwcGVhcmFuY2UiLCJIZWFkaW5nMiIsIkhlYWRpbmczIiwiSGVhZGluZzQiLCJIZWFkaW5nNSIsIkhlYWRpbmc2IiwiQm9keU9uZVRleHQiLCJCb2R5VHdvVGV4dCIsIkJvZHlUaHJlZVRleHQiLCJCb2R5Rm91clRleHQiLCJPdmVybGluZU9uZVRleHQiLCJPdmVybGluZVR3b1RleHQiLCJPdmVybGluZVRocmVlVGV4dCIsIkVtVGV4dCIsIlN0cm9uZ1RleHQiLCJFeHRyYVN0cm9uZ1RleHQiLCJGaWdjYXB0aW9uIiwiQWdlR2F0ZWRTdHVkZW50c01vZGFsIiwiaXNMb2FkaW5nU3R1ZGVudHMiLCJvbkNsb3NlIiwiYWdlR2F0ZWRTdHVkZW50c0NvdW50IiwiYWdlR2F0ZWRTdHVkZW50c1VzU3RhdGUiLCJ1c2VTZWxlY3RvciIsInJlcG9ydEV2ZW50IiwiZXZlbnROYW1lIiwicGF5bG9hZCIsIm1vZGFsQ2xvc2VkIiwiQ0FQX0FHRV9HQVRFRF9NT0RBTF9DTE9TRUQiLCJ1c2VyX2lkIiwibnVtYmVyX29mX2dhdGVhYmxlX3N0dWRlbnRzIiwidXNTdGF0ZSIsInVzZUVmZmVjdCIsIkNBUF9BR0VfR0FURURfTU9EQUxfU0hPV04iLCJtb2RhbENvbnRhaW5lciIsIm1vZGFsSGVhZGVyIiwiY2hpbGRBY2NvdW50UG9saWN5X3N0dWRlbnRQYXJlbnRhbENvbnNlbnRTdGF0dXMiLCJjaGlsZEFjY291bnRQb2xpY3lfc3R1ZGVudFBhcmVudGFsQ29uc2VudE5vdGljZSIsIkNBUF9TVFVERU5UX1dBUk5JTkdfTElOS19DTElDS0VEIiwiY2hpbGRBY2NvdW50UG9saWN5X2NvbnNlbnRQcm9jZXNzUmVhZE1vcmUiLCJtb2RhbEJ1dHRvbiIsImNvbm5lY3QiLCJtYW5hZ2VTdHVkZW50cyJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file diff --git a/1250.9c1108c3.iframe.bundle.js.LICENSE.txt b/1250.9799e369.iframe.bundle.js.LICENSE.txt similarity index 100% rename from 1250.9c1108c3.iframe.bundle.js.LICENSE.txt rename to 1250.9799e369.iframe.bundle.js.LICENSE.txt diff --git a/4686.197b2f41.iframe.bundle.js b/7198.536ce5c2.iframe.bundle.js similarity index 99% rename from 4686.197b2f41.iframe.bundle.js rename to 7198.536ce5c2.iframe.bundle.js index 9ffa1007..443a523a 100644 --- a/4686.197b2f41.iframe.bundle.js +++ b/7198.536ce5c2.iframe.bundle.js @@ -1,3 +1,3 @@ -/*! For license information please see 4686.197b2f41.iframe.bundle.js.LICENSE.txt */ -(self.webpackChunkblockly_mooc=self.webpackChunkblockly_mooc||[]).push([[4686],{"./src/blockTooltips/DropletFunctionTooltip.html.ejs":(module,__unused_webpack_exports,__webpack_require__)=>{module.exports=function anonymous(locals,escapeFn,include,rethrow){"use strict";rethrow=rethrow||function rethrow(err,str,flnm,lineno,esc){var lines=str.split("\n"),start=Math.max(lineno-3,0),end=Math.min(lines.length,lineno+3),filename=esc(flnm),context=lines.slice(start,end).map((function(line,i){var curr=i+start+1;return(curr==lineno?" >> ":" ")+curr+"| "+line})).join("\n");throw err.path=filename,err.message=(filename||"ejs")+":"+lineno+"\n"+context+"\n\n"+err.message,err},escapeFn=escapeFn||function(markup){return null==markup?"":String(markup).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(c){return _ENCODE_HTML_RULES[c]||c}var __line=1;try{var __output="";function __append(s){null!=s&&(__output+=s)}var i18n=__webpack_require__("./src/util/locale-do-not-import.js");function getPrefixedName(){return locals.tipPrefix?locals.tipPrefix+locals.functionName:locals.functionName}if(__append("\n"),__line=2,__line=4,__append('\n
\n '),__line=6,locals.signatureOverride)__append(" "),__line=7,__append(escapeFn(locals.signatureOverride)),__append("\n "),__line=8;else if(locals.isProperty)__append(" "),__line=9,__append(escapeFn(getPrefixedName())),__append("\n "),__line=10;else{__line=15,__append(" "),__line=16,__append(escapeFn(getPrefixedName())),__append("(");for(var i=0;i\n"),__line=19,locals.functionShortDescription&&(__append("\n "),__line=20,locals.functionShortDescription.split("\n").map((function(descriptionLine){__append("\n
\n "),__line=22,__append(escapeFn(descriptionLine)),__append("\n
\n "),__line=24})),__append("\n"),__line=25),__append("\n"),__line=26;return __append("\n"),__line=27,locals.showCodeLink&&(__append('\n \n"),__line=31),__append("\n"),__line=32,locals.showExamplesLink&&(__append('\n \n"),__line=36),__append("\n"),__line=37,__output}catch(e){rethrow(e,'<% var i18n = require(\'@cdo/locale\'); %>\n<% function getPrefixedName () {\n return locals.tipPrefix ? locals.tipPrefix + locals.functionName : locals.functionName;\n} %>\n
\n <% if (locals.signatureOverride) { -%>\n <%= locals.signatureOverride %>\n <% } else if (locals.isProperty) { -%>\n <%= getPrefixedName() %>\n <% } else {\n /**\n * TODO(bjordan): would be nice to split the following line up, can\'t figure\n * out how to do so without inserting extraneous spaces between locals.parameters.\n */\n -%>\n <%= getPrefixedName() %>(<% for (var i = 0; i < locals.parameters.length; i++) { -%><%- locals.parameters[i].name -%><% if (i < locals.parameters.length - 1) { -%>, <% } -%><% } -%>)\n <% } %>\n
\n<% if (locals.functionShortDescription) { %>\n <% locals.functionShortDescription.split(\'\\n\').map(function(descriptionLine) { %>\n
\n <%= descriptionLine %>\n
\n <% }) %>\n<% } %>\n<% var linkText = "" %>\n<% if (locals.showCodeLink) { %>\n \n<% } %>\n<% if (locals.showExamplesLink) { %>\n \n<% } %>\n',"src/blockTooltips/DropletFunctionTooltip.html.ejs",__line,escapeFn)}}},"./src/blockTooltips/DropletParameterTooltip.html.ejs":(module,__unused_webpack_exports,__webpack_require__)=>{module.exports=function anonymous(locals,escapeFn,include,rethrow){"use strict";rethrow=rethrow||function rethrow(err,str,flnm,lineno,esc){var lines=str.split("\n"),start=Math.max(lineno-3,0),end=Math.min(lines.length,lineno+3),filename=esc(flnm),context=lines.slice(start,end).map((function(line,i){var curr=i+start+1;return(curr==lineno?" >> ":" ")+curr+"| "+line})).join("\n");throw err.path=filename,err.message=(filename||"ejs")+":"+lineno+"\n"+context+"\n\n"+err.message,err},escapeFn=escapeFn||function(markup){return null==markup?"":String(markup).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(c){return _ENCODE_HTML_RULES[c]||c}var __line=1;try{var __output="";function __append(s){null!=s&&(__output+=s)}var i18n=__webpack_require__("./src/util/locale-do-not-import.js");__append("\n"),__line=2;locals.funcName;var functionName=locals.functionName,parameters=(locals.isProperty,locals.tipPrefix,locals.functionShortDescription,locals.parameters),signatureOverride=locals.signatureOverride,showExamplesLink=locals.showExamplesLink,currentParameterIndex=locals.currentParameterIndex;if(__line=15,__append('\n
\n '),__line=17,signatureOverride)__append(" "),__line=18,__append(escapeFn(signatureOverride)),__append("\n "),__line=19;else{__line=24,__append(" "),__line=25,__append(escapeFn(functionName)),__append("(");for(var i=0;i'),__append(parameters[i].name),__append(""),i\n"),__line=28,parameters[currentParameterIndex]&¶meters[currentParameterIndex].description&&(__append("
"),__append(escapeFn(parameters[currentParameterIndex].description)),__append("
")),__append("\n"),__line=29,parameters[currentParameterIndex]&¶meters[currentParameterIndex].assetTooltip&&(__append('\n \n"),__line=33),__append("\n"),__line=34,showExamplesLink&&(__append('\n \n"),__line=38),__append("\n"),__line=39,__output}catch(e){rethrow(e,'<% var i18n = require(\'@cdo/locale\'); %>\n<%\n/**\n * This block destructures the local variables for use within this ejs template.\n */\nvar funcName = locals.funcName;\nvar functionName = locals.functionName;\nvar isProperty = locals.isProperty;\nvar tipPrefix = locals.tipPrefix;\nvar functionShortDescription = locals.functionShortDescription;\nvar parameters = locals.parameters;\nvar signatureOverride = locals.signatureOverride;\nvar showExamplesLink = locals.showExamplesLink;\nvar currentParameterIndex = locals.currentParameterIndex;\n%>\n
\n <% if (signatureOverride) { -%>\n <%= signatureOverride %>\n <% } else {\n /**\n * TODO(bjordan): would be nice to split the following line up, can\'t figure\n * out how to do so without inserting extraneous spaces between parameters.\n */\n -%>\n <%= functionName %>(<% for (var i = 0; i < parameters.length; i++) { -%><%- parameters[i].name -%><% if (i < parameters.length - 1) { -%>, <% } -%><% } -%>)\n <% } %>\n
\n<% if (parameters[currentParameterIndex] && parameters[currentParameterIndex].description) { %>
<%= parameters[currentParameterIndex].description %>
<% } %>\n<% if (parameters[currentParameterIndex] && parameters[currentParameterIndex].assetTooltip) { %>\n \n<% } %>\n<% if (showExamplesLink) { %>\n \n<% } %>\n',"src/blockTooltips/DropletParameterTooltip.html.ejs",__line,escapeFn)}}},"./src/templates/learn.html.ejs":(module,__unused_webpack_exports,__webpack_require__)=>{module.exports=function anonymous(locals,escapeFn,include,rethrow){"use strict";rethrow=rethrow||function rethrow(err,str,flnm,lineno,esc){var lines=str.split("\n"),start=Math.max(lineno-3,0),end=Math.min(lines.length,lineno+3),filename=esc(flnm),context=lines.slice(start,end).map((function(line,i){var curr=i+start+1;return(curr==lineno?" >> ":" ")+curr+"| "+line})).join("\n");throw err.path=filename,err.message=(filename||"ejs")+":"+lineno+"\n"+context+"\n\n"+err.message,err},escapeFn=escapeFn||function(markup){return null==markup?"":String(markup).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(c){return _ENCODE_HTML_RULES[c]||c}var __line=1;try{var __output="";function __append(s){null!=s&&(__output+=s)}var msg=__webpack_require__("./src/util/locale-do-not-import.js");__append("\n"),__line=2;var assetUrl=locals.assetUrl;__line=7,__append("\n\n"),__line=9;var root=location.protocol+"//"+location.host.replace("learn.","").replace("studio.","");return __append('\n\n\n"),__line=20,__output}catch(e){rethrow(e,"<% var msg = require('@cdo/locale') %>\n<%\n/**\n * This block destructures the local variables for use within this ejs template.\n */\nvar assetUrl = locals.assetUrl;\n%>\n\n<% var root = location.protocol + '//' + location.host.replace('learn\\.', '').replace('studio\\.', ''); %>\n\n\n","src/templates/learn.html.ejs",__line,escapeFn)}}},"./src/templates/makeYourOwn.html.ejs":(module,__unused_webpack_exports,__webpack_require__)=>{module.exports=function anonymous(locals,escapeFn,include,rethrow){"use strict";rethrow=rethrow||function rethrow(err,str,flnm,lineno,esc){var lines=str.split("\n"),start=Math.max(lineno-3,0),end=Math.min(lines.length,lineno+3),filename=esc(flnm),context=lines.slice(start,end).map((function(line,i){var curr=i+start+1;return(curr==lineno?" >> ":" ")+curr+"| "+line})).join("\n");throw err.path=filename,err.message=(filename||"ejs")+":"+lineno+"\n"+context+"\n\n"+err.message,err},escapeFn=escapeFn||function(markup){return null==markup?"":String(markup).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(c){return _ENCODE_HTML_RULES[c]||c}var __line=1;try{var __output="";function __append(s){null!=s&&(__output+=s)}__webpack_require__("./src/util/locale-do-not-import.js");__append("\n"),__line=2;var data=locals.data;return __line=7,__append('\n\n
\n\n

\n<%\n/**\n * This block destructures the local variables for use within this ejs template.\n */\nvar data = locals.data;\n%>\n\n\n","src/templates/makeYourOwn.html.ejs",__line,escapeFn)}}},"./src/templates/puzzleRating.html.ejs":module=>{module.exports=function anonymous(locals,escapeFn,include,rethrow){"use strict";rethrow=rethrow||function rethrow(err,str,flnm,lineno,esc){var lines=str.split("\n"),start=Math.max(lineno-3,0),end=Math.min(lines.length,lineno+3),filename=esc(flnm),context=lines.slice(start,end).map((function(line,i){var curr=i+start+1;return(curr==lineno?" >> ":" ")+curr+"| "+line})).join("\n");throw err.path=filename,err.message=(filename||"ejs")+":"+lineno+"\n"+context+"\n\n"+err.message,err},escapeFn=escapeFn||function(markup){return null==markup?"":String(markup).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(c){return _ENCODE_HTML_RULES[c]||c}var __line=1;try{var __output="";function __append(s){null!=s&&(__output+=s)}var label=locals.label;return __line=6,__append("\n
\n

"),__line=8,__append(escapeFn(label)),__append('

\n\n\n \n \n \n\n\n\n \n \n \n\n'),__line=37,__output}catch(e){rethrow(e,'<%\n/**\n * This block destructures the local variables for use within this ejs template.\n */\nvar label = locals.label;\n%>\n
\n

<%= label %>

\n\n\n \n \n \n\n\n\n \n \n \n\n',"src/templates/puzzleRating.html.ejs",__line,escapeFn)}}},"./src/templates/shareFailure.html.ejs":module=>{module.exports=function anonymous(locals,escapeFn,include,rethrow){"use strict";rethrow=rethrow||function rethrow(err,str,flnm,lineno,esc){var lines=str.split("\n"),start=Math.max(lineno-3,0),end=Math.min(lines.length,lineno+3),filename=esc(flnm),context=lines.slice(start,end).map((function(line,i){var curr=i+start+1;return(curr==lineno?" >> ":" ")+curr+"| "+line})).join("\n");throw err.path=filename,err.message=(filename||"ejs")+":"+lineno+"\n"+context+"\n\n"+err.message,err},escapeFn=escapeFn||function(markup){return null==markup?"":String(markup).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(c){return _ENCODE_HTML_RULES[c]||c}var __line=1;try{var __output="";function __append(s){null!=s&&(__output+=s)}var shareFailure=locals.shareFailure;return __line=6,__append('\n

'),__line=7,__append(escapeFn(shareFailure.message)),__append("

\n\n"),__line=9,shareFailure.contents&&(__append('\n \n"),__line=13),__append("\n"),__line=14,__output}catch(e){rethrow(e,'<%\n/**\n * This block destructures the local variables for use within this ejs template.\n */\nvar shareFailure = locals.shareFailure;\n%>\n

<%= shareFailure.message %>

\n\n<% if (shareFailure.contents) { %>\n \n<% } %>\n',"src/templates/shareFailure.html.ejs",__line,escapeFn)}}},"./src/templates/sharing.html.ejs":(module,__unused_webpack_exports,__webpack_require__)=>{module.exports=function anonymous(locals,escapeFn,include,rethrow){"use strict";rethrow=rethrow||function rethrow(err,str,flnm,lineno,esc){var lines=str.split("\n"),start=Math.max(lineno-3,0),end=Math.min(lines.length,lineno+3),filename=esc(flnm),context=lines.slice(start,end).map((function(line,i){var curr=i+start+1;return(curr==lineno?" >> ":" ")+curr+"| "+line})).join("\n");throw err.path=filename,err.message=(filename||"ejs")+":"+lineno+"\n"+context+"\n\n"+err.message,err},escapeFn=escapeFn||function(markup){return null==markup?"":String(markup).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(c){return _ENCODE_HTML_RULES[c]||c}var __line=1;try{var __output="";function __append(s){null!=s&&(__output+=s)}var options=locals.options;__line=6,__append("\n"),__line=7;var msg=__webpack_require__("./src/util/locale-do-not-import.js");return __append("\n"),__line=8,options.feedbackImage?(__append('\n \n