-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path2040.e2cbbf29.iframe.bundle.js
2 lines (2 loc) · 84 KB
/
2040.e2cbbf29.iframe.bundle.js
1
2
"use strict";(self.webpackChunkblockly_mooc=self.webpackChunkblockly_mooc||[]).push([[2040],{"./src/templates/currentUserRedux.js":(__unused_webpack_module,exports,__webpack_require__)=>{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_AI_DIFFERENTIATION_ENABLED)return _objectSpread(_objectSpread({},state),{},{aiDifferentiationEnabled:action.aiDifferentiationEnabled});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,display_name=_action$serverUser.display_name,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,ai_differentiation_enabled=_action$serverUser.ai_differentiation_enabled,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,has_completed_ai_differentiation_welcome=_action$serverUser.has_completed_ai_differentiation_welcome,educator_role=_action$serverUser.educator_role;return _AnalyticsReporter.default.setUserProperties(id,user_type,_experiments.default.getEnabledExperiments()),_StatsigReporter.default.setUserProperties({userId:id,userType:user_type,isVerifiedInstructor:is_verified_instructor,enabledExperiments:_experiments.default.getEnabledExperiments(),educatorRole:educator_role}),_objectSpread(_objectSpread({},state),{},{userId:id,uuid,userName:username,userType:user_type,displayName:display_name,isBackgroundMusicMuted:mute_music,under13:under_13,over21:over_21,isSortedByFamilyName:sort_by_family_name,showProgressTableV2:show_progress_table_v2,aiRubricsDisabled:ai_rubrics_disabled,aiDifferentiationEnabled:ai_differentiation_enabled,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,hasCompletedAiDifferentiationWelcome:has_completed_ai_differentiation_welcome,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.setAiDifferentiationEnabled=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<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){_defineProperty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function _defineProperty(e,r,t){return(r=function _toPropertyKey(t){var i=function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==_typeof(i)?i:i+""}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var SET_CURRENT_USER_NAME="currentUser/SET_CURRENT_USER_NAME",SET_USER_SIGNED_IN="currentUser/SET_USER_SIGNED_IN",SET_USER_TYPE="currentUser/SET_USER_TYPE",SET_OVER_21="currentUser/SET_OVER_21",SET_USER_ROLE_IN_COURSE="currentUser/SET_USER_ROLE_IN_COURSE",SET_HAS_SEEN_STANDARDS_REPORT="currentUser/SET_HAS_SEEN_STANDARDS_REPORT",SET_INITIAL_DATA="currentUser/SET_INITIAL_DATA",SET_MUTE_MUSIC="currentUser/SET_MUTE_MUSIC",SET_SORT_BY_FAMILY_NAME="currentUser/SET_SORT_BY_FAMILY_NAME",SET_SHOW_PROGRESS_TABLE_V2="currentUser/SET_SHOW_PROGRESS_TABLE_V2",SET_AI_RUBRICS_DISABLED="currentUser/SET_AI_RUBRICS_DISABLED",SET_AI_DIFFERENTIATION_ENABLED="currentUser/SET_AI_DIFFERENTIATION_ENABLED",SET_PROGRESS_TABLE_V2_CLOSED_BETA="currentUser/SET_PROGRESS_TABLE_V2_CLOSED_BETA",SET_DATE_PROGRESS_TABLE_INVITATION_LAST_DELAYED="currentUser/SET_DATE_PROGRESS_TABLE_INVITATION_LAST_DELAYED",SET_SEEN_PROGRESS_TABLE_INVITATION="currentUser/SET_SEEN_PROGRESS_TABLE_INVITATION",SET_USER_CREATED_AT="currentUser/SET_USER_CREATED_AT",SignInState=exports.SignInState=(0,_utils.makeEnum)("Unknown","SignedIn","SignedOut"),CourseRoles=exports.CourseRoles=(0,_utils.makeEnum)("Unknown","Instructor","Participant"),initialState=(exports.setCurrentUserName=function setCurrentUserName(userName){return{type:SET_CURRENT_USER_NAME,userName}},exports.setCurrentUserHasSeenStandardsReportInfo=function setCurrentUserHasSeenStandardsReportInfo(hasSeenStandardsReport){return{type:SET_HAS_SEEN_STANDARDS_REPORT,hasSeenStandardsReport}},exports.setUserSignedIn=function setUserSignedIn(isSignedIn){return{type:SET_USER_SIGNED_IN,isSignedIn}},exports.setUserType=function setUserType(userType,under13){return{type:SET_USER_TYPE,userType,under13}},exports.setOver21=function setOver21(over21){return{type:SET_OVER_21,over21}},exports.setUserRoleInCourse=function setUserRoleInCourse(userRoleInCourse){return{type:SET_USER_ROLE_IN_COURSE,userRoleInCourse}},exports.setInitialData=function setInitialData(serverUser){return{type:SET_INITIAL_DATA,serverUser}},exports.setMuteMusic=function setMuteMusic(isBackgroundMusicMuted){return{type:SET_MUTE_MUSIC,isBackgroundMusicMuted}},exports.setSortByFamilyName=function setSortByFamilyName(isSortedByFamilyName,sectionId,unitName,source){return{type:SET_SORT_BY_FAMILY_NAME,isSortedByFamilyName,sectionId,unitName,source}},exports.setShowProgressTableV2=function setShowProgressTableV2(showProgressTableV2){return{type:SET_SHOW_PROGRESS_TABLE_V2,showProgressTableV2}},exports.setProgressTableV2ClosedBeta=function setProgressTableV2ClosedBeta(progressTableV2ClosedBeta){return{type:SET_PROGRESS_TABLE_V2_CLOSED_BETA,progressTableV2ClosedBeta}},exports.setHasSeenProgressTableInvite=function setHasSeenProgressTableInvite(hasSeenProgressTableInvite){return{type:SET_SEEN_PROGRESS_TABLE_INVITATION,hasSeenProgressTableInvite}},exports.setDateProgressTableInvitationDelayed=function setDateProgressTableInvitationDelayed(dateProgressTableInvitationDelayed){return{type:SET_DATE_PROGRESS_TABLE_INVITATION_LAST_DELAYED,dateProgressTableInvitationDelayed}},exports.setAiRubricsDisabled=function setAiRubricsDisabled(aiRubricsDisabled){return{type:SET_AI_RUBRICS_DISABLED,aiRubricsDisabled}},exports.setAiDifferentiationEnabled=function setAiDifferentiationEnabled(aiDifferentiationEnabled){return{type:SET_AI_DIFFERENTIATION_ENABLED,aiDifferentiationEnabled}},exports.setUserCreatedAt=function setUserCreatedAt(userCreatedAt){return{type:SET_USER_CREATED_AT,userCreatedAt}},{userId:null,uuid:null,userName:null,userType:"unknown",userRoleInCourse:CourseRoles.Unknown,signInState:SignInState.Unknown,hasSeenStandardsReportInfo:!1,aiDifferentiationEnabled:null,isBackgroundMusicMuted:!1,isSortedByFamilyName:!1,isLti:void 0,isTeacher:void 0,under13:!0,over21:!1,childAccountComplianceState:null,countryCode:null,usStateCode:null,inSection:null,userCreatedAt:null});exports.isSignedIn=function isSignedIn(currentUserState){return currentUserState.signInState===SignInState.SignedIn}},"./src/util/usePrevious.js":(module,exports,__webpack_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=__webpack_require__("./node_modules/react/index.js");exports.default=function usePrevious(value){var ref=(0,_react.useRef)(value);return(0,_react.useEffect)((function(){ref.current=value}),[value]),ref.current};module.exports=exports.default},"./src/redux/parentalPermissionRequestReducer.ts":function(__unused_webpack_module,exports,__webpack_require__){var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++)for(var p in s=arguments[i])Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p]);return t},__assign.apply(this,arguments)},__awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__generator=this&&this.__generator||function(thisArg,body){var f,y,t,g,_={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),throw:verb(1),return:verb(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return function step(op){if(f)throw new TypeError("Generator is already executing.");for(;g&&(g=0,op[0]&&(_=0)),_;)try{if(f=1,y&&(t=2&op[0]?y.return:op[0]?y.throw||((t=y.return)&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;switch(y=0,t&&(op=[2&op[0],t.value]),op[0]){case 0:case 1:t=op;break;case 4:return _.label++,{value:op[1],done:!1};case 5:_.label++,y=op[1],op=[0];continue;case 7:op=_.ops.pop(),_.trys.pop();continue;default:if(!(t=_.trys,(t=t.length>0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(6===op[0]&&_.label<t[1]){_.label=t[1],t=op;break}if(t&&_.label<t[2]){_.label=t[2],_.ops.push(op);break}t[2]&&_.ops.pop(),_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e],y=0}finally{f=t=0}if(5&op[0])throw op[1];return{value:op[0]?op[1]:void 0,done:!0}}([n,v])}}},__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.resetParentalPermissionRequest=exports.requestParentalPermission=exports.fetchPendingPermissionRequest=exports.REQUEST_PARENTAL_PERMISSION_SUCCESS=void 0,exports.default=function parentalPermissionRequestReducer(state,action){switch(action.type){case RESET_PARENTAL_PERMISSION_REQUEST:return{isLoading:!1};case FETCH_PENDING_PERMISSION_REQUEST_PERFORM:return __assign(__assign({},state),{action:action.type,isLoading:!0,error:null});case FETCH_PENDING_PERMISSION_REQUEST_SUCCESS:return __assign(__assign({},state),{action:action.type,isLoading:!1,parentalPermissionRequest:action.parentalPermissionRequest});case FETCH_PENDING_PERMISSION_REQUEST_FAILURE:return __assign(__assign({},state),{action:action.type,isLoading:!1,error:action.error});case REQUEST_PARENTAL_PERMISSION_PERFORM:return __assign(__assign({},state),{action:action.type,isLoading:!0,error:null});case exports.REQUEST_PARENTAL_PERMISSION_SUCCESS:return __assign(__assign({},state),{action:action.type,isLoading:!1,parentalPermissionRequest:action.parentalPermissionRequest});case REQUEST_PARENTAL_PERMISSION_FAILURE:return __assign(__assign({},state),{action:action.type,isLoading:!1,error:action.error});default:return state}};var AuthenticityTokenStore_1=__webpack_require__("./src/util/AuthenticityTokenStore.ts"),locale_1=__importDefault(__webpack_require__("./src/util/locale-do-not-import.js")),FETCH_PENDING_PERMISSION_REQUEST_PERFORM="fetchPendingPermissionRequest/perform",FETCH_PENDING_PERMISSION_REQUEST_SUCCESS="fetchPendingPermissionRequest/success",FETCH_PENDING_PERMISSION_REQUEST_FAILURE="fetchPendingPermissionRequest/failure",REQUEST_PARENTAL_PERMISSION_PERFORM="requestParentalPermission/perform";exports.REQUEST_PARENTAL_PERMISSION_SUCCESS="requestParentalPermission/success";var REQUEST_PARENTAL_PERMISSION_FAILURE="requestParentalPermission/failure",RESET_PARENTAL_PERMISSION_REQUEST="resetParentalPermissionRequest";exports.fetchPendingPermissionRequest=function(dispatch){return __awaiter(void 0,void 0,void 0,(function(){var response,_a,_b,error_1,_c;return __generator(this,(function(_d){switch(_d.label){case 0:return _d.trys.push([0,5,,6]),dispatch({type:FETCH_PENDING_PERMISSION_REQUEST_PERFORM}),[4,fetch("/policy_compliance/pending_permission_request",{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json"}})];case 1:if(!(response=_d.sent()).ok)throw locale_1.default.formServerError();return _a=dispatch,_c={type:FETCH_PENDING_PERMISSION_REQUEST_SUCCESS},204!==response.status?[3,2]:(_b=null,[3,4]);case 2:return[4,response.json()];case 3:_b=_d.sent(),_d.label=4;case 4:return _a.apply(void 0,[(_c.parentalPermissionRequest=_b,_c)]),[3,6];case 5:return error_1=_d.sent(),dispatch({type:FETCH_PENDING_PERMISSION_REQUEST_FAILURE,error:error_1 instanceof Error?locale_1.default.formServerError():error_1}),[3,6];case 6:return[2]}}))}))};exports.requestParentalPermission=function(dispatch,parentEmail){return __awaiter(void 0,void 0,void 0,(function(){var response,_a,_b,_c,responseData,error_2,_d,_e;return __generator(this,(function(_f){switch(_f.label){case 0:return _f.trys.push([0,4,,5]),dispatch({type:REQUEST_PARENTAL_PERMISSION_PERFORM}),_a=fetch,_b=["/policy_compliance/child_account_consent"],_d={method:"POST"},_e={Accept:"application/json","Content-Type":"application/json"},_c="X-CSRF-Token",[4,(0,AuthenticityTokenStore_1.getAuthenticityToken)()];case 1:return[4,_a.apply(void 0,_b.concat([(_d.headers=(_e[_c]=_f.sent(),_e),_d.body=JSON.stringify({"parent-email":parentEmail}),_d)]))];case 2:return[4,(response=_f.sent()).json()];case 3:if(responseData=_f.sent(),!response.ok)throw responseData.error||locale_1.default.formServerError();return dispatch({type:exports.REQUEST_PARENTAL_PERMISSION_SUCCESS,parentalPermissionRequest:responseData}),[3,5];case 4:return error_2=_f.sent(),dispatch({type:REQUEST_PARENTAL_PERMISSION_FAILURE,error:error_2 instanceof Error?locale_1.default.formServerError():error_2}),[3,5];case 5:return[2]}}))}))};exports.resetParentalPermissionRequest=function(dispatch){return dispatch({type:RESET_PARENTAL_PERMISSION_REQUEST})}},"./src/util/AuthenticityTokenStore.ts":function(__unused_webpack_module,exports){var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))},__generator=this&&this.__generator||function(thisArg,body){var f,y,t,g,_={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]};return g={next:verb(0),throw:verb(1),return:verb(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return function step(op){if(f)throw new TypeError("Generator is already executing.");for(;g&&(g=0,op[0]&&(_=0)),_;)try{if(f=1,y&&(t=2&op[0]?y.return:op[0]?y.throw||((t=y.return)&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;switch(y=0,t&&(op=[2&op[0],t.value]),op[0]){case 0:case 1:t=op;break;case 4:return _.label++,{value:op[1],done:!1};case 5:_.label++,y=op[1],op=[0];continue;case 7:op=_.ops.pop(),_.trys.pop();continue;default:if(!(t=_.trys,(t=t.length>0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(6===op[0]&&_.label<t[1]){_.label=t[1],t=op;break}if(t&&_.label<t[2]){_.label=t[2],_.ops.push(op);break}t[2]&&_.ops.pop(),_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e],y=0}finally{f=t=0}if(5&op[0])throw op[1];return{value:op[0]?op[1]:void 0,done:!0}}([n,v])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AUTHENTICITY_TOKEN_HEADER=void 0,exports.getAuthenticityToken=function getAuthenticityToken(){return __awaiter(this,void 0,Promise,(function(){var token;return __generator(this,(function(_a){switch(_a.label){case 0:return null!==authenticityToken?[2,authenticityToken]:[4,refreshToken()];case 1:return token=_a.sent(),[2,authenticityToken=token]}}))}))};var authenticityToken=null;function refreshToken(){return __awaiter(this,void 0,Promise,(function(){var tokenContainer,response,token;return __generator(this,(function(_a){switch(_a.label){case 0:return(tokenContainer=document.querySelector('meta[name="csrf-token"]'))&&tokenContainer.content?[2,tokenContainer.content]:[4,fetch("/get_token")];case 1:if(response=_a.sent(),null===(token=response.headers.get("csrf-token")))throw new Error("Could not retrieve CSRF token");return[2,token]}}))}))}exports.AUTHENTICITY_TOKEN_HEADER="X-CSRF-TOKEN"},"./static/common_images/penguin/dancing.png":module=>{module.exports="data:image/png;base64,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"},"./static/common_images/penguin/yelling.png":module=>{module.exports="data:image/png;base64,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"}}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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bEIsVUFDRyxPQUFBQSxTQUFTLENBQUNsTCxLQUFNdUssbUNBQWhCLEMsbzNEQ2xKRyxRQUFBd0IscUJBN0JSLFNBQWVBLHVCLDZCQUF3Qk0sU0FBTyxXLHdFQUM1QyxPQUEwQixPQUF0QkMsa0JBQ0ssQ0FBUCxFQUFPQSxtQkFHSyxHQUFNQyxnQixPQUVwQixPQUZNQyxNQUFRLFVBRVAsQ0FBUCxFQURBRixrQkFBb0JFLE8sUUFSdEIsSUFBSUYsa0JBQW1DLEtBWXZDLFNBQWVDLGUsNkJBQWdCRixTQUFPLFcsZ0dBTXBDLE9BSk1JLGVBQWlCQyxTQUFTQyxjQUM5Qiw2QkFHb0JGLGVBQWVHLFFBQzVCLENBQVAsRUFBT0gsZUFBZUcsU0FJUCxHQUFNekIsTUFBTSxlLE9BRTdCLEdBRk1JLFNBQVcsVUFFSCxRQURSaUIsTUFBUWpCLFNBQVNGLFFBQVF3QixJQUFJLGVBRWpDLE1BQU0sSUFBSWpCLE1BQU0saUNBRWxCLE1BQU8sQ0FBUCxFQUFPWSxPLE9BSUksUUFBQU0sMEJBQTRCLGMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvdGVtcGxhdGVzL2N1cnJlbnRVc2VyUmVkdXguanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3V0aWwvdXNlUHJldmlvdXMuanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3JlZHV4L3BhcmVudGFsUGVybWlzc2lvblJlcXVlc3RSZWR1Y2VyLnRzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy91dGlsL0F1dGhlbnRpY2l0eVRva2VuU3RvcmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFVkVOVFN9IGZyb20gJ0BjZG8vYXBwcy9tZXRyaWNzL0FuYWx5dGljc0NvbnN0YW50cyc7XG5pbXBvcnQgYW5hbHl0aWNzUmVwb3J0IGZyb20gJ0BjZG8vYXBwcy9tZXRyaWNzL0FuYWx5dGljc1JlcG9ydGVyJztcbmltcG9ydCBzdGF0c2lnUmVwb3J0ZXIgZnJvbSAnQGNkby9hcHBzL21ldHJpY3MvU3RhdHNpZ1JlcG9ydGVyJztcbmltcG9ydCBleHBlcmltZW50cyBmcm9tICdAY2RvL2FwcHMvdXRpbC9leHBlcmltZW50cyc7XG5pbXBvcnQge1VzZXJUeXBlc30gZnJvbSAnQGNkby9nZW5lcmF0ZWQtc2NyaXB0cy9zaGFyZWRDb25zdGFudHMnO1xuXG5pbXBvcnQge21ha2VFbnVtfSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IFNFVF9DVVJSRU5UX1VTRVJfTkFNRSA9ICdjdXJyZW50VXNlci9TRVRfQ1VSUkVOVF9VU0VSX05BTUUnO1xuY29uc3QgU0VUX1VTRVJfU0lHTkVEX0lOID0gJ2N1cnJlbnRVc2VyL1NFVF9VU0VSX1NJR05FRF9JTic7XG5jb25zdCBTRVRfVVNFUl9UWVBFID0gJ2N1cnJlbnRVc2VyL1NFVF9VU0VSX1RZUEUnO1xuY29uc3QgU0VUX09WRVJfMjEgPSAnY3VycmVudFVzZXIvU0VUX09WRVJfMjEnO1xuY29uc3QgU0VUX1VTRVJfUk9MRV9JTl9DT1VSU0UgPSAnY3VycmVudFVzZXIvU0VUX1VTRVJfUk9MRV9JTl9DT1VSU0UnO1xuY29uc3QgU0VUX0hBU19TRUVOX1NUQU5EQVJEU19SRVBPUlQgPVxuICAnY3VycmVudFVzZXIvU0VUX0hBU19TRUVOX1NUQU5EQVJEU19SRVBPUlQnO1xuY29uc3QgU0VUX0lOSVRJQUxfREFUQSA9ICdjdXJyZW50VXNlci9TRVRfSU5JVElBTF9EQVRBJztcbmNvbnN0IFNFVF9NVVRFX01VU0lDID0gJ2N1cnJlbnRVc2VyL1NFVF9NVVRFX01VU0lDJztcbmNvbnN0IFNFVF9TT1JUX0JZX0ZBTUlMWV9OQU1FID0gJ2N1cnJlbnRVc2VyL1NFVF9TT1JUX0JZX0ZBTUlMWV9OQU1FJztcbmNvbnN0IFNFVF9TSE9XX1BST0dSRVNTX1RBQkxFX1YyID0gJ2N1cnJlbnRVc2VyL1NFVF9TSE9XX1BST0dSRVNTX1RBQkxFX1YyJztcbmNvbnN0IFNFVF9BSV9SVUJSSUNTX0RJU0FCTEVEID0gJ2N1cnJlbnRVc2VyL1NFVF9BSV9SVUJSSUNTX0RJU0FCTEVEJztcbmNvbnN0IFNFVF9BSV9ESUZGRVJFTlRJQVRJT05fRU5BQkxFRCA9XG4gICdjdXJyZW50VXNlci9TRVRfQUlfRElGRkVSRU5USUFUSU9OX0VOQUJMRUQnO1xuY29uc3QgU0VUX1BST0dSRVNTX1RBQkxFX1YyX0NMT1NFRF9CRVRBID1cbiAgJ2N1cnJlbnRVc2VyL1NFVF9QUk9HUkVTU19UQUJMRV9WMl9DTE9TRURfQkVUQSc7XG5jb25zdCBTRVRfREFURV9QUk9HUkVTU19UQUJMRV9JTlZJVEFUSU9OX0xBU1RfREVMQVlFRCA9XG4gICdjdXJyZW50VXNlci9TRVRfREFURV9QUk9HUkVTU19UQUJMRV9JTlZJVEFUSU9OX0xBU1RfREVMQVlFRCc7XG5jb25zdCBTRVRfU0VFTl9QUk9HUkVTU19UQUJMRV9JTlZJVEFUSU9OID1cbiAgJ2N1cnJlbnRVc2VyL1NFVF9TRUVOX1BST0dSRVNTX1RBQkxFX0lOVklUQVRJT04nO1xuY29uc3QgU0VUX1VTRVJfQ1JFQVRFRF9BVCA9ICdjdXJyZW50VXNlci9TRVRfVVNFUl9DUkVBVEVEX0FUJztcblxuZXhwb3J0IGNvbnN0IFNpZ25JblN0YXRlID0gbWFrZUVudW0oJ1Vua25vd24nLCAnU2lnbmVkSW4nLCAnU2lnbmVkT3V0Jyk7XG5cbmV4cG9ydCBjb25zdCBDb3Vyc2VSb2xlcyA9IG1ha2VFbnVtKCdVbmtub3duJywgJ0luc3RydWN0b3InLCAnUGFydGljaXBhbnQnKTtcblxuLy8gQWN0aW9uIGNyZWF0b3JzXG5leHBvcnQgY29uc3Qgc2V0Q3VycmVudFVzZXJOYW1lID0gdXNlck5hbWUgPT4gKHtcbiAgdHlwZTogU0VUX0NVUlJFTlRfVVNFUl9OQU1FLFxuICB1c2VyTmFtZSxcbn0pO1xuZXhwb3J0IGNvbnN0IHNldEN1cnJlbnRVc2VySGFzU2VlblN0YW5kYXJkc1JlcG9ydEluZm8gPVxuICBoYXNTZWVuU3RhbmRhcmRzUmVwb3J0ID0+ICh7XG4gICAgdHlwZTogU0VUX0hBU19TRUVOX1NUQU5EQVJEU19SRVBPUlQsXG4gICAgaGFzU2VlblN0YW5kYXJkc1JlcG9ydCxcbiAgfSk7XG5leHBvcnQgY29uc3Qgc2V0VXNlclNpZ25lZEluID0gaXNTaWduZWRJbiA9PiAoe1xuICB0eXBlOiBTRVRfVVNFUl9TSUdORURfSU4sXG4gIGlzU2lnbmVkSW4sXG59KTtcbmV4cG9ydCBjb25zdCBzZXRVc2VyVHlwZSA9ICh1c2VyVHlwZSwgdW5kZXIxMykgPT4gKHtcbiAgdHlwZTogU0VUX1VTRVJfVFlQRSxcbiAgdXNlclR5cGUsXG4gIHVuZGVyMTMsXG59KTtcbmV4cG9ydCBjb25zdCBzZXRPdmVyMjEgPSBvdmVyMjEgPT4gKHtcbiAgdHlwZTogU0VUX09WRVJfMjEsXG4gIG92ZXIyMSxcbn0pO1xuZXhwb3J0IGNvbnN0IHNldFVzZXJSb2xlSW5Db3Vyc2UgPSB1c2VyUm9sZUluQ291cnNlID0+ICh7XG4gIHR5cGU6IFNFVF9VU0VSX1JPTEVfSU5fQ09VUlNFLFxuICB1c2VyUm9sZUluQ291cnNlLFxufSk7XG5leHBvcnQgY29uc3Qgc2V0SW5pdGlhbERhdGEgPSBzZXJ2ZXJVc2VyID0+ICh7XG4gIHR5cGU6IFNFVF9JTklUSUFMX0RBVEEsXG4gIHNlcnZlclVzZXIsXG59KTtcbmV4cG9ydCBjb25zdCBzZXRNdXRlTXVzaWMgPSBpc0JhY2tncm91bmRNdXNpY011dGVkID0+ICh7XG4gIHR5cGU6IFNFVF9NVVRFX01VU0lDLFxuICBpc0JhY2tncm91bmRNdXNpY011dGVkLFxufSk7XG5leHBvcnQgY29uc3Qgc2V0U29ydEJ5RmFtaWx5TmFtZSA9IChcbiAgaXNTb3J0ZWRCeUZhbWlseU5hbWUsXG4gIHNlY3Rpb25JZCxcbiAgdW5pdE5hbWUsXG4gIHNvdXJjZVxuKSA9PiAoe1xuICB0eXBlOiBTRVRfU09SVF9CWV9GQU1JTFlfTkFNRSxcbiAgaXNTb3J0ZWRCeUZhbWlseU5hbWUsXG4gIHNlY3Rpb25JZCxcbiAgdW5pdE5hbWUsXG4gIHNvdXJjZSxcbn0pO1xuZXhwb3J0IGNvbnN0IHNldFNob3dQcm9ncmVzc1RhYmxlVjIgPSBzaG93UHJvZ3Jlc3NUYWJsZVYyID0+ICh7XG4gIHR5cGU6IFNFVF9TSE9XX1BST0dSRVNTX1RBQkxFX1YyLFxuICBzaG93UHJvZ3Jlc3NUYWJsZVYyLFxufSk7XG5leHBvcnQgY29uc3Qgc2V0UHJvZ3Jlc3NUYWJsZVYyQ2xvc2VkQmV0YSA9IHByb2dyZXNzVGFibGVWMkNsb3NlZEJldGEgPT4gKHtcbiAgdHlwZTogU0VUX1BST0dSRVNTX1RBQkxFX1YyX0NMT1NFRF9CRVRBLFxuICBwcm9ncmVzc1RhYmxlVjJDbG9zZWRCZXRhLFxufSk7XG5leHBvcnQgY29uc3Qgc2V0SGFzU2VlblByb2dyZXNzVGFibGVJbnZpdGUgPSBoYXNTZWVuUHJvZ3Jlc3NUYWJsZUludml0ZSA9PiAoe1xuICB0eXBlOiBTRVRfU0VFTl9QUk9HUkVTU19UQUJMRV9JTlZJVEFUSU9OLFxuICBoYXNTZWVuUHJvZ3Jlc3NUYWJsZUludml0ZSxcbn0pO1xuZXhwb3J0IGNvbnN0IHNldERhdGVQcm9ncmVzc1RhYmxlSW52aXRhdGlvbkRlbGF5ZWQgPVxuICBkYXRlUHJvZ3Jlc3NUYWJsZUludml0YXRpb25EZWxheWVkID0+ICh7XG4gICAgdHlwZTogU0VUX0RBVEVfUFJPR1JFU1NfVEFCTEVfSU5WSVRBVElPTl9MQVNUX0RFTEFZRUQsXG4gICAgZGF0ZVByb2dyZXNzVGFibGVJbnZpdGF0aW9uRGVsYXllZCxcbiAgfSk7XG5leHBvcnQgY29uc3Qgc2V0QWlSdWJyaWNzRGlzYWJsZWQgPSBhaVJ1YnJpY3NEaXNhYmxlZCA9PiAoe1xuICB0eXBlOiBTRVRfQUlfUlVCUklDU19ESVNBQkxFRCxcbiAgYWlSdWJyaWNzRGlzYWJsZWQsXG59KTtcbmV4cG9ydCBjb25zdCBzZXRBaURpZmZlcmVudGlhdGlvbkVuYWJsZWQgPSBhaURpZmZlcmVudGlhdGlvbkVuYWJsZWQgPT4gKHtcbiAgdHlwZTogU0VUX0FJX0RJRkZFUkVOVElBVElPTl9FTkFCTEVELFxuICBhaURpZmZlcmVudGlhdGlvbkVuYWJsZWQsXG59KTtcbmV4cG9ydCBjb25zdCBzZXRVc2VyQ3JlYXRlZEF0ID0gdXNlckNyZWF0ZWRBdCA9PiAoe1xuICB0eXBlOiBTRVRfVVNFUl9DUkVBVEVEX0FULFxuICB1c2VyQ3JlYXRlZEF0LFxufSk7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZSA9IHtcbiAgdXNlcklkOiBudWxsLFxuICB1dWlkOiBudWxsLFxuICB1c2VyTmFtZTogbnVsbCxcbiAgdXNlclR5cGU6ICd1bmtub3duJyxcbiAgdXNlclJvbGVJbkNvdXJzZTogQ291cnNlUm9sZXMuVW5rbm93bixcbiAgc2lnbkluU3RhdGU6IFNpZ25JblN0YXRlLlVua25vd24sXG4gIGhhc1NlZW5TdGFuZGFyZHNSZXBvcnRJbmZvOiBmYWxzZSxcbiAgYWlEaWZmZXJlbnRpYXRpb25FbmFibGVkOiBudWxsLFxuICBpc0JhY2tncm91bmRNdXNpY011dGVkOiBmYWxzZSxcbiAgaXNTb3J0ZWRCeUZhbWlseU5hbWU6IGZhbHNlLFxuICBpc0x0aTogdW5kZWZpbmVkLFxuICBpc1RlYWNoZXI6IHVuZGVmaW5lZCxcbiAgLy8gU2V0dGluZyBkZWZhdWx0IHVuZGVyMTMgdmFsdWUgdG8gdHJ1ZSB0byBlcnIgb24gdGhlIHNpZGUgb2YgY2F1dGlvbiBmb3IgYWdlLXJlc3RyaWN0ZWQgY29udGVudC5cbiAgdW5kZXIxMzogdHJ1ZSxcbiAgb3ZlcjIxOiBmYWxzZSxcbiAgY2hpbGRBY2NvdW50Q29tcGxpYW5jZVN0YXRlOiBudWxsLFxuICBjb3VudHJ5Q29kZTogbnVsbCxcbiAgdXNTdGF0ZUNvZGU6IG51bGwsXG4gIGluU2VjdGlvbjogbnVsbCxcbiAgdXNlckNyZWF0ZWRBdDogbnVsbCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGN1cnJlbnRVc2VyKHN0YXRlID0gaW5pdGlhbFN0YXRlLCBhY3Rpb24pIHtcbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfQ1VSUkVOVF9VU0VSX05BTUUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICB1c2VyTmFtZTogYWN0aW9uLnVzZXJOYW1lLFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfSEFTX1NFRU5fU1RBTkRBUkRTX1JFUE9SVCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGhhc1NlZW5TdGFuZGFyZHNSZXBvcnRJbmZvOiBhY3Rpb24uaGFzU2VlblN0YW5kYXJkc1JlcG9ydCxcbiAgICB9O1xuICB9XG4gIGlmIChhY3Rpb24udHlwZSA9PT0gU0VUX1VTRVJfU0lHTkVEX0lOKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2lnbkluU3RhdGU6IGFjdGlvbi5pc1NpZ25lZEluXG4gICAgICAgID8gU2lnbkluU3RhdGUuU2lnbmVkSW5cbiAgICAgICAgOiBTaWduSW5TdGF0ZS5TaWduZWRPdXQsXG4gICAgfTtcbiAgfVxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9VU0VSX1RZUEUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICB1c2VyVHlwZTogYWN0aW9uLnVzZXJUeXBlLFxuICAgICAgdW5kZXIxMzogYWN0aW9uLnVuZGVyMTMsXG4gICAgfTtcbiAgfVxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9PVkVSXzIxKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgb3ZlcjIxOiBhY3Rpb24ub3ZlcjIxLFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfVVNFUl9ST0xFX0lOX0NPVVJTRSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHVzZXJSb2xlSW5Db3Vyc2U6IGFjdGlvbi51c2VyUm9sZUluQ291cnNlLFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfTVVURV9NVVNJQykge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGlzQmFja2dyb3VuZE11c2ljTXV0ZWQ6IGFjdGlvbi5pc0JhY2tncm91bmRNdXNpY011dGVkLFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfU09SVF9CWV9GQU1JTFlfTkFNRSkge1xuICAgIGlmIChhY3Rpb24uaXNTb3J0ZWRCeUZhbWlseU5hbWUpIHtcbiAgICAgIGFuYWx5dGljc1JlcG9ydC5zZW5kRXZlbnQoRVZFTlRTLlNPUlRfQllfRkFNSUxZX05BTUUsIHtcbiAgICAgICAgc2VjdGlvbklkOiBhY3Rpb24uc2VjdGlvbklkLFxuICAgICAgICB1bml0TmFtZTogYWN0aW9uLnVuaXROYW1lLFxuICAgICAgICBzb3VyY2U6IGFjdGlvbi5zb3VyY2UsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgYW5hbHl0aWNzUmVwb3J0LnNlbmRFdmVudChFVkVOVFMuU09SVF9CWV9ESVNQTEFZX05BTUUsIHtcbiAgICAgICAgc2VjdGlvbklkOiBhY3Rpb24uc2VjdGlvbklkLFxuICAgICAgICB1bml0TmFtZTogYWN0aW9uLnVuaXROYW1lLFxuICAgICAgICBzb3VyY2U6IGFjdGlvbi5zb3VyY2UsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgaXNTb3J0ZWRCeUZhbWlseU5hbWU6IGFjdGlvbi5pc1NvcnRlZEJ5RmFtaWx5TmFtZSxcbiAgICB9O1xuICB9XG4gIGlmIChhY3Rpb24udHlwZSA9PT0gU0VUX1NIT1dfUFJPR1JFU1NfVEFCTEVfVjIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBzaG93UHJvZ3Jlc3NUYWJsZVYyOiBhY3Rpb24uc2hvd1Byb2dyZXNzVGFibGVWMixcbiAgICB9O1xuICB9XG4gIGlmIChhY3Rpb24udHlwZSA9PT0gU0VUX1BST0dSRVNTX1RBQkxFX1YyX0NMT1NFRF9CRVRBKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgcHJvZ3Jlc3NUYWJsZVYyQ2xvc2VkQmV0YTogYWN0aW9uLnByb2dyZXNzVGFibGVWMkNsb3NlZEJldGEsXG4gICAgfTtcbiAgfVxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9EQVRFX1BST0dSRVNTX1RBQkxFX0lOVklUQVRJT05fTEFTVF9ERUxBWUVEKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgZGF0ZVByb2dyZXNzVGFibGVJbnZpdGF0aW9uRGVsYXllZDpcbiAgICAgICAgYWN0aW9uLmRhdGVQcm9ncmVzc1RhYmxlSW52aXRhdGlvbkRlbGF5ZWQsXG4gICAgfTtcbiAgfVxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9TRUVOX1BST0dSRVNTX1RBQkxFX0lOVklUQVRJT04pIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBoYXNTZWVuUHJvZ3Jlc3NUYWJsZUludml0ZTogYWN0aW9uLmhhc1NlZW5Qcm9ncmVzc1RhYmxlSW52aXRlLFxuICAgIH07XG4gIH1cbiAgaWYgKGFjdGlvbi50eXBlID09PSBTRVRfQUlfUlVCUklDU19ESVNBQkxFRCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGFpUnVicmljc0Rpc2FibGVkOiBhY3Rpb24uYWlSdWJyaWNzRGlzYWJsZWQsXG4gICAgfTtcbiAgfVxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9BSV9ESUZGRVJFTlRJQVRJT05fRU5BQkxFRCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGFpRGlmZmVyZW50aWF0aW9uRW5hYmxlZDogYWN0aW9uLmFpRGlmZmVyZW50aWF0aW9uRW5hYmxlZCxcbiAgICB9O1xuICB9XG4gIGlmIChhY3Rpb24udHlwZSA9PT0gU0VUX1VTRVJfQ1JFQVRFRF9BVCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHVzZXJDcmVhdGVkQXQ6IGFjdGlvbi51c2VyQ3JlYXRlZEF0LFxuICAgIH07XG4gIH1cblxuICBpZiAoYWN0aW9uLnR5cGUgPT09IFNFVF9JTklUSUFMX0RBVEEpIHtcbiAgICBjb25zdCB7XG4gICAgICBpZCxcbiAgICAgIHV1aWQsXG4gICAgICB1c2VybmFtZSxcbiAgICAgIGRpc3BsYXlfbmFtZSxcbiAgICAgIHVzZXJfdHlwZSxcbiAgICAgIG11dGVfbXVzaWMsXG4gICAgICB1bmRlcl8xMyxcbiAgICAgIG92ZXJfMjEsXG4gICAgICBzb3J0X2J5X2ZhbWlseV9uYW1lLFxuICAgICAgc2hvd19wcm9ncmVzc190YWJsZV92MixcbiAgICAgIGFpX3J1YnJpY3NfZGlzYWJsZWQsXG4gICAgICBhaV9kaWZmZXJlbnRpYXRpb25fZW5hYmxlZCxcbiAgICAgIHByb2dyZXNzX3RhYmxlX3YyX2Nsb3NlZF9iZXRhLFxuICAgICAgaXNfbHRpLFxuICAgICAgZGF0ZV9wcm9ncmVzc190YWJsZV9pbnZpdGF0aW9uX2xhc3RfZGVsYXllZCxcbiAgICAgIGhhc19zZWVuX3Byb2dyZXNzX3RhYmxlX3YyX2ludml0YXRpb24sXG4gICAgICBjaGlsZF9hY2NvdW50X2NvbXBsaWFuY2Vfc3RhdGUsXG4gICAgICBjb3VudHJ5X2NvZGUsXG4gICAgICB1c19zdGF0ZV9jb2RlLFxuICAgICAgYWdlLFxuICAgICAgaW5fc2VjdGlvbixcbiAgICAgIGNyZWF0ZWRfYXQsXG4gICAgICBpc192ZXJpZmllZF9pbnN0cnVjdG9yLFxuICAgICAgaGFzX2NvbXBsZXRlZF9haV9kaWZmZXJlbnRpYXRpb25fd2VsY29tZSxcbiAgICAgIGVkdWNhdG9yX3JvbGUsXG4gICAgfSA9IGFjdGlvbi5zZXJ2ZXJVc2VyO1xuICAgIGFuYWx5dGljc1JlcG9ydC5zZXRVc2VyUHJvcGVydGllcyhcbiAgICAgIGlkLFxuICAgICAgdXNlcl90eXBlLFxuICAgICAgZXhwZXJpbWVudHMuZ2V0RW5hYmxlZEV4cGVyaW1lbnRzKClcbiAgICApO1xuICAgIC8vIENhbGxpbmcgU3RhdHNpZyBzZXBhcmF0ZWx5IHRvIGVtcGhhc2l6ZSBkaWZmZXJlbnQgdXNlciBpbnRlZ3JhdGlvbnNcbiAgICAvLyBhbmQgYmVjYXVzZSBkdWFsIHJlcG9ydGluZyBpcyBhc3BpcmF0aW9uYWxseSB0ZW1wb3JhcnkgKE1hcmNoIDIwMjQpXG4gICAgc3RhdHNpZ1JlcG9ydGVyLnNldFVzZXJQcm9wZXJ0aWVzKHtcbiAgICAgIHVzZXJJZDogaWQsXG4gICAgICB1c2VyVHlwZTogdXNlcl90eXBlLFxuICAgICAgaXNWZXJpZmllZEluc3RydWN0b3I6IGlzX3ZlcmlmaWVkX2luc3RydWN0b3IsXG4gICAgICBlbmFibGVkRXhwZXJpbWVudHM6IGV4cGVyaW1lbnRzLmdldEVuYWJsZWRFeHBlcmltZW50cygpLFxuICAgICAgZWR1Y2F0b3JSb2xlOiBlZHVjYXRvcl9yb2xlLFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHVzZXJJZDogaWQsXG4gICAgICB1dWlkOiB1dWlkLFxuICAgICAgdXNlck5hbWU6IHVzZXJuYW1lLFxuICAgICAgdXNlclR5cGU6IHVzZXJfdHlwZSxcbiAgICAgIGRpc3BsYXlOYW1lOiBkaXNwbGF5X25hbWUsXG4gICAgICBpc0JhY2tncm91bmRNdXNpY011dGVkOiBtdXRlX211c2ljLFxuICAgICAgdW5kZXIxMzogdW5kZXJfMTMsXG4gICAgICBvdmVyMjE6IG92ZXJfMjEsXG4gICAgICBpc1NvcnRlZEJ5RmFtaWx5TmFtZTogc29ydF9ieV9mYW1pbHlfbmFtZSxcbiAgICAgIHNob3dQcm9ncmVzc1RhYmxlVjI6IHNob3dfcHJvZ3Jlc3NfdGFibGVfdjIsXG4gICAgICBhaVJ1YnJpY3NEaXNhYmxlZDogYWlfcnVicmljc19kaXNhYmxlZCxcbiAgICAgIGFpRGlmZmVyZW50aWF0aW9uRW5hYmxlZDogYWlfZGlmZmVyZW50aWF0aW9uX2VuYWJsZWQsXG4gICAgICBwcm9ncmVzc1RhYmxlVjJDbG9zZWRCZXRhOiBwcm9ncmVzc190YWJsZV92Ml9jbG9zZWRfYmV0YSxcbiAgICAgIGlzTHRpOiBpc19sdGksXG4gICAgICBpc1RlYWNoZXI6IHVzZXJfdHlwZSA9PT0gVXNlclR5cGVzLlRFQUNIRVIsXG4gICAgICBpblVTQTogWydVUycsICdSRCddLmluY2x1ZGVzKGNvdW50cnlfY29kZSkgfHwgISF1c19zdGF0ZV9jb2RlLFxuICAgICAgZGF0ZVByb2dyZXNzVGFibGVJbnZpdGF0aW9uRGVsYXllZDpcbiAgICAgICAgZGF0ZV9wcm9ncmVzc190YWJsZV9pbnZpdGF0aW9uX2xhc3RfZGVsYXllZCxcbiAgICAgIGhhc1NlZW5Qcm9ncmVzc1RhYmxlSW52aXRlOiBoYXNfc2Vlbl9wcm9ncmVzc190YWJsZV92Ml9pbnZpdGF0aW9uLFxuICAgICAgaGFzQ29tcGxldGVkQWlEaWZmZXJlbnRpYXRpb25XZWxjb21lOlxuICAgICAgICBoYXNfY29tcGxldGVkX2FpX2RpZmZlcmVudGlhdGlvbl93ZWxjb21lLFxuICAgICAgY2hpbGRBY2NvdW50Q29tcGxpYW5jZVN0YXRlOiBjaGlsZF9hY2NvdW50X2NvbXBsaWFuY2Vfc3RhdGUsXG4gICAgICBjb3VudHJ5Q29kZTogY291bnRyeV9jb2RlLFxuICAgICAgdXNTdGF0ZUNvZGU6IHVzX3N0YXRlX2NvZGUsXG4gICAgICBhZ2UsXG4gICAgICBpblNlY3Rpb246IGluX3NlY3Rpb24sXG4gICAgICB1c2VyQ3JlYXRlZEF0OiBjcmVhdGVkX2F0LFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gc3RhdGU7XG59XG5cbmV4cG9ydCBjb25zdCBpc1NpZ25lZEluID0gY3VycmVudFVzZXJTdGF0ZSA9PiB7XG4gIHJldHVybiBjdXJyZW50VXNlclN0YXRlLnNpZ25JblN0YXRlID09PSBTaWduSW5TdGF0ZS5TaWduZWRJbjtcbn07XG4iLCJpbXBvcnQge3VzZVJlZiwgdXNlRWZmZWN0fSBmcm9tICdyZWFjdCc7XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgdGFrZW4gZnJvbSB0aGUgcmVhY3QgZG9jcyBhcyBhIHdheSB0byBtaW1pYyBjb21tb24gY29tcG9uZW50RGlkTW91bnQgbG9naWNcbi8vIHNlZTogaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2hvb2tzLWZhcS5odG1sI2hvdy10by1nZXQtdGhlLXByZXZpb3VzLXByb3BzLW9yLXN0YXRlXG5jb25zdCB1c2VQcmV2aW91cyA9IHZhbHVlID0+IHtcbiAgY29uc3QgcmVmID0gdXNlUmVmKHZhbHVlKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZWYuY3VycmVudCA9IHZhbHVlO1xuICB9LCBbdmFsdWVdKTtcbiAgcmV0dXJuIHJlZi5jdXJyZW50O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgdXNlUHJldmlvdXM7XG4iLCJpbXBvcnQge0Rpc3BhdGNofSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7Z2V0QXV0aGVudGljaXR5VG9rZW59IGZyb20gJ0BjZG8vYXBwcy91dGlsL0F1dGhlbnRpY2l0eVRva2VuU3RvcmUnO1xuaW1wb3J0IGkxOG4gZnJvbSAnQGNkby9sb2NhbGUnO1xuXG5jb25zdCBGRVRDSF9QRU5ESU5HX1BFUk1JU1NJT05fUkVRVUVTVF9VUkwgPVxuICAnL3BvbGljeV9jb21wbGlhbmNlL3BlbmRpbmdfcGVybWlzc2lvbl9yZXF1ZXN0JztcbmNvbnN0IEZFVENIX1BFTkRJTkdfUEVSTUlTU0lPTl9SRVFVRVNUX1BFUkZPUk0gPVxuICAnZmV0Y2hQZW5kaW5nUGVybWlzc2lvblJlcXVlc3QvcGVyZm9ybSc7XG5jb25zdCBGRVRDSF9QRU5ESU5HX1BFUk1JU1NJT05fUkVRVUVTVF9TVUNDRVNTID1cbiAgJ2ZldGNoUGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0L3N1Y2Nlc3MnO1xuY29uc3QgRkVUQ0hfUEVORElOR19QRVJNSVNTSU9OX1JFUVVFU1RfRkFJTFVSRSA9XG4gICdmZXRjaFBlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdC9mYWlsdXJlJztcblxuY29uc3QgUkVRVUVTVF9QQVJFTlRBTF9QRVJNSVNTSU9OX1VSTCA9XG4gICcvcG9saWN5X2NvbXBsaWFuY2UvY2hpbGRfYWNjb3VudF9jb25zZW50JztcbmNvbnN0IFJFUVVFU1RfUEFSRU5UQUxfUEVSTUlTU0lPTl9QRVJGT1JNID0gJ3JlcXVlc3RQYXJlbnRhbFBlcm1pc3Npb24vcGVyZm9ybSc7XG5leHBvcnQgY29uc3QgUkVRVUVTVF9QQVJFTlRBTF9QRVJNSVNTSU9OX1NVQ0NFU1MgPVxuICAncmVxdWVzdFBhcmVudGFsUGVybWlzc2lvbi9zdWNjZXNzJztcbmNvbnN0IFJFUVVFU1RfUEFSRU5UQUxfUEVSTUlTU0lPTl9GQUlMVVJFID0gJ3JlcXVlc3RQYXJlbnRhbFBlcm1pc3Npb24vZmFpbHVyZSc7XG5cbmNvbnN0IFJFU0VUX1BBUkVOVEFMX1BFUk1JU1NJT05fUkVRVUVTVCA9ICdyZXNldFBhcmVudGFsUGVybWlzc2lvblJlcXVlc3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmVudGFsUGVybWlzc2lvblJlcXVlc3Qge1xuICBwYXJlbnRfZW1haWw6IHN0cmluZztcbiAgcmVxdWVzdGVkX2F0OiBzdHJpbmc7XG4gIHJlc2VuZHNfc2VudDogbnVtYmVyO1xuICBjb25zZW50X3N0YXR1czogc3RyaW5nO1xufVxuXG50eXBlIFBhcmVudGFsUGVybWlzc2lvblJlcXVlc3RBY3Rpb24gPVxuICB8IHtcbiAgICAgIHR5cGU6IHR5cGVvZiBSRVNFVF9QQVJFTlRBTF9QRVJNSVNTSU9OX1JFUVVFU1Q7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IHR5cGVvZiBGRVRDSF9QRU5ESU5HX1BFUk1JU1NJT05fUkVRVUVTVF9QRVJGT1JNO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiB0eXBlb2YgRkVUQ0hfUEVORElOR19QRVJNSVNTSU9OX1JFUVVFU1RfU1VDQ0VTUztcbiAgICAgIHBhcmVudGFsUGVybWlzc2lvblJlcXVlc3Q6IFBhcmVudGFsUGVybWlzc2lvblJlcXVlc3QgfCBudWxsO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiB0eXBlb2YgRkVUQ0hfUEVORElOR19QRVJNSVNTSU9OX1JFUVVFU1RfRkFJTFVSRTtcbiAgICAgIGVycm9yOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IHR5cGVvZiBSRVFVRVNUX1BBUkVOVEFMX1BFUk1JU1NJT05fUEVSRk9STTtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogdHlwZW9mIFJFUVVFU1RfUEFSRU5UQUxfUEVSTUlTU0lPTl9TVUNDRVNTO1xuICAgICAgcGFyZW50YWxQZXJtaXNzaW9uUmVxdWVzdDogUGFyZW50YWxQZXJtaXNzaW9uUmVxdWVzdDtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogdHlwZW9mIFJFUVVFU1RfUEFSRU5UQUxfUEVSTUlTU0lPTl9GQUlMVVJFO1xuICAgICAgZXJyb3I6IHN0cmluZztcbiAgICB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmVudGFsUGVybWlzc2lvblJlcXVlc3RTdGF0ZSB7XG4gIGFjdGlvbj86IHN0cmluZyB8IG51bGw7XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgcGFyZW50YWxQZXJtaXNzaW9uUmVxdWVzdD86IFBhcmVudGFsUGVybWlzc2lvblJlcXVlc3QgfCBudWxsO1xuICBlcnJvcj86IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHBhcmVudGFsUGVybWlzc2lvblJlcXVlc3RSZWR1Y2VyKFxuICBzdGF0ZTogUGFyZW50YWxQZXJtaXNzaW9uUmVxdWVzdFN0YXRlLFxuICBhY3Rpb246IFBhcmVudGFsUGVybWlzc2lvblJlcXVlc3RBY3Rpb25cbik6IFBhcmVudGFsUGVybWlzc2lvblJlcXVlc3RTdGF0ZSB7XG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICBjYXNlIFJFU0VUX1BBUkVOVEFMX1BFUk1JU1NJT05fUkVRVUVTVDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICB9O1xuICAgIGNhc2UgRkVUQ0hfUEVORElOR19QRVJNSVNTSU9OX1JFUVVFU1RfUEVSRk9STTpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhY3Rpb246IGFjdGlvbi50eXBlLFxuICAgICAgICBpc0xvYWRpbmc6IHRydWUsXG4gICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgfTtcbiAgICBjYXNlIEZFVENIX1BFTkRJTkdfUEVSTUlTU0lPTl9SRVFVRVNUX1NVQ0NFU1M6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYWN0aW9uOiBhY3Rpb24udHlwZSxcbiAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgcGFyZW50YWxQZXJtaXNzaW9uUmVxdWVzdDogYWN0aW9uLnBhcmVudGFsUGVybWlzc2lvblJlcXVlc3QsXG4gICAgICB9O1xuICAgIGNhc2UgRkVUQ0hfUEVORElOR19QRVJNSVNTSU9OX1JFUVVFU1RfRkFJTFVSRTpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhY3Rpb246IGFjdGlvbi50eXBlLFxuICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICBlcnJvcjogYWN0aW9uLmVycm9yLFxuICAgICAgfTtcbiAgICBjYXNlIFJFUVVFU1RfUEFSRU5UQUxfUEVSTUlTU0lPTl9QRVJGT1JNOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGFjdGlvbjogYWN0aW9uLnR5cGUsXG4gICAgICAgIGlzTG9hZGluZzogdHJ1ZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICB9O1xuICAgIGNhc2UgUkVRVUVTVF9QQVJFTlRBTF9QRVJNSVNTSU9OX1NVQ0NFU1M6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYWN0aW9uOiBhY3Rpb24udHlwZSxcbiAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgcGFyZW50YWxQZXJtaXNzaW9uUmVxdWVzdDogYWN0aW9uLnBhcmVudGFsUGVybWlzc2lvblJlcXVlc3QsXG4gICAgICB9O1xuICAgIGNhc2UgUkVRVUVTVF9QQVJFTlRBTF9QRVJNSVNTSU9OX0ZBSUxVUkU6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYWN0aW9uOiBhY3Rpb24udHlwZSxcbiAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IGFjdGlvbi5lcnJvcixcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZmV0Y2hQZW5kaW5nUGVybWlzc2lvblJlcXVlc3QgPSBhc3luYyAoXG4gIGRpc3BhdGNoOiBEaXNwYXRjaDxQYXJlbnRhbFBlcm1pc3Npb25SZXF1ZXN0QWN0aW9uPlxuKSA9PiB7XG4gIHRyeSB7XG4gICAgZGlzcGF0Y2goe3R5cGU6IEZFVENIX1BFTkRJTkdfUEVSTUlTU0lPTl9SRVFVRVNUX1BFUkZPUk19KTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goRkVUQ0hfUEVORElOR19QRVJNSVNTSU9OX1JFUVVFU1RfVVJMLCB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB0aHJvdyBpMThuLmZvcm1TZXJ2ZXJFcnJvcigpO1xuXG4gICAgZGlzcGF0Y2goe1xuICAgICAgdHlwZTogRkVUQ0hfUEVORElOR19QRVJNSVNTSU9OX1JFUVVFU1RfU1VDQ0VTUyxcbiAgICAgIHBhcmVudGFsUGVybWlzc2lvblJlcXVlc3Q6XG4gICAgICAgIHJlc3BvbnNlLnN0YXR1cyA9PT0gMjA0ID8gbnVsbCA6IGF3YWl0IHJlc3BvbnNlLmpzb24oKSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBkaXNwYXRjaCh7XG4gICAgICB0eXBlOiBGRVRDSF9QRU5ESU5HX1BFUk1JU1NJT05fUkVRVUVTVF9GQUlMVVJFLFxuICAgICAgZXJyb3I6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBpMThuLmZvcm1TZXJ2ZXJFcnJvcigpIDogZXJyb3IsXG4gICAgfSk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCByZXF1ZXN0UGFyZW50YWxQZXJtaXNzaW9uID0gYXN5bmMgKFxuICBkaXNwYXRjaDogRGlzcGF0Y2g8UGFyZW50YWxQZXJtaXNzaW9uUmVxdWVzdEFjdGlvbj4sXG4gIHBhcmVudEVtYWlsOiBzdHJpbmdcbikgPT4ge1xuICB0cnkge1xuICAgIGRpc3BhdGNoKHt0eXBlOiBSRVFVRVNUX1BBUkVOVEFMX1BFUk1JU1NJT05fUEVSRk9STX0pO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChSRVFVRVNUX1BBUkVOVEFMX1BFUk1JU1NJT05fVVJMLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICdYLUNTUkYtVG9rZW4nOiBhd2FpdCBnZXRBdXRoZW50aWNpdHlUb2tlbigpLFxuICAgICAgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsncGFyZW50LWVtYWlsJzogcGFyZW50RW1haWx9KSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc3BvbnNlRGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB0aHJvdyByZXNwb25zZURhdGEuZXJyb3IgfHwgaTE4bi5mb3JtU2VydmVyRXJyb3IoKTtcblxuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IFJFUVVFU1RfUEFSRU5UQUxfUEVSTUlTU0lPTl9TVUNDRVNTLFxuICAgICAgcGFyZW50YWxQZXJtaXNzaW9uUmVxdWVzdDogcmVzcG9uc2VEYXRhLFxuICAgIH0pO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6IFJFUVVFU1RfUEFSRU5UQUxfUEVSTUlTU0lPTl9GQUlMVVJFLFxuICAgICAgZXJyb3I6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBpMThuLmZvcm1TZXJ2ZXJFcnJvcigpIDogZXJyb3IsXG4gICAgfSk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCByZXNldFBhcmVudGFsUGVybWlzc2lvblJlcXVlc3QgPSAoXG4gIGRpc3BhdGNoOiBEaXNwYXRjaDxQYXJlbnRhbFBlcm1pc3Npb25SZXF1ZXN0QWN0aW9uPlxuKSA9PiBkaXNwYXRjaCh7dHlwZTogUkVTRVRfUEFSRU5UQUxfUEVSTUlTU0lPTl9SRVFVRVNUfSk7XG4iLCIvKipcbiAqIEEgdXRpbGl0eSBmb3IgcmV0cmlldmluZyB0aGUgUmFpbHMgYXV0aGVudGljaXR5IHRva2VuLCBuZWVkZWQgZm9yIGNlcnRhaW5cbiAqIHJlcXVlc3RzIG1hZGUgdG8gZGFzaGJvYXJkLiBPbiBzb21lIHBhZ2VzLCB0aGlzIGlzIHBhc3NlZCBkb3duIGFzIHBhcnQgb2YgdGhlXG4gKiBET00sIGJ1dCBpbiBvdGhlcnMsIGl0IG1heSBuZWVkIHRvIGJlIHJldHJpZXZlZCBieSBhIHNlcGFyYXRlIEFKQVggcmVxdWVzdC5cbiAqL1xuXG5sZXQgYXV0aGVudGljaXR5VG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG5hc3luYyBmdW5jdGlvbiBnZXRBdXRoZW50aWNpdHlUb2tlbigpOiBQcm9taXNlPHN0cmluZz4ge1xuICBpZiAoYXV0aGVudGljaXR5VG9rZW4gIT09IG51bGwpIHtcbiAgICByZXR1cm4gYXV0aGVudGljaXR5VG9rZW47XG4gIH1cblxuICBjb25zdCB0b2tlbiA9IGF3YWl0IHJlZnJlc2hUb2tlbigpO1xuICBhdXRoZW50aWNpdHlUb2tlbiA9IHRva2VuO1xuICByZXR1cm4gYXV0aGVudGljaXR5VG9rZW47XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlZnJlc2hUb2tlbigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAvLyBSZXRyaWV2ZSB0b2tlbiBmcm9tIERPTSBpZiBwcmVzZW50XG4gIGNvbnN0IHRva2VuQ29udGFpbmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MTWV0YUVsZW1lbnQ+KFxuICAgICdtZXRhW25hbWU9XCJjc3JmLXRva2VuXCJdJ1xuICApO1xuXG4gIGlmICh0b2tlbkNvbnRhaW5lciAmJiB0b2tlbkNvbnRhaW5lci5jb250ZW50KSB7XG4gICAgcmV0dXJuIHRva2VuQ29udGFpbmVyLmNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXF1ZXN0IGEgdG9rZW4gZnJvbSBkYXNoYm9hcmRcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgnL2dldF90b2tlbicpO1xuICBjb25zdCB0b2tlbiA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjc3JmLXRva2VuJyk7XG4gIGlmICh0b2tlbiA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IHJldHJpZXZlIENTUkYgdG9rZW4nKTtcbiAgfVxuICByZXR1cm4gdG9rZW47XG59XG5cbmV4cG9ydCB7Z2V0QXV0aGVudGljaXR5VG9rZW59O1xuZXhwb3J0IGNvbnN0IEFVVEhFTlRJQ0lUWV9UT0tFTl9IRUFERVIgPSAnWC1DU1JGLVRPS0VOJztcbiJdLCJuYW1lcyI6WyJjdXJyZW50VXNlciIsInN0YXRlIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiaW5pdGlhbFN0YXRlIiwiYWN0aW9uIiwidHlwZSIsIlNFVF9DVVJSRU5UX1VTRVJfTkFNRSIsIl9vYmplY3RTcHJlYWQiLCJ1c2VyTmFtZSIsIlNFVF9IQVNfU0VFTl9TVEFOREFSRFNfUkVQT1JUIiwiaGFzU2VlblN0YW5kYXJkc1JlcG9ydEluZm8iLCJoYXNTZWVuU3RhbmRhcmRzUmVwb3J0IiwiU0VUX1VTRVJfU0lHTkVEX0lOIiwic2lnbkluU3RhdGUiLCJpc1NpZ25lZEluIiwiU2lnbkluU3RhdGUiLCJTaWduZWRJbiIsIlNpZ25lZE91dCIsIlNFVF9VU0VSX1RZUEUiLCJ1c2VyVHlwZSIsInVuZGVyMTMiLCJTRVRfT1ZFUl8yMSIsIm92ZXIyMSIsIlNFVF9VU0VSX1JPTEVfSU5fQ09VUlNFIiwidXNlclJvbGVJbkNvdXJzZSIsIlNFVF9NVVRFX01VU0lDIiwiaXNCYWNrZ3JvdW5kTXVzaWNNdXRlZCIsIlNFVF9TT1JUX0JZX0ZBTUlMWV9OQU1FIiwiaXNTb3J0ZWRCeUZhbWlseU5hbWUiLCJhbmFseXRpY3NSZXBvcnQiLCJzZW5kRXZlbnQiLCJFVkVOVFMiLCJTT1JUX0JZX0ZBTUlMWV9OQU1FIiwic2VjdGlvbklkIiwidW5pdE5hbWUiLCJzb3VyY2UiLCJTT1JUX0JZX0RJU1BMQVlfTkFNRSIsIlNFVF9TSE9XX1BST0dSRVNTX1RBQkxFX1YyIiwic2hvd1Byb2dyZXNzVGFibGVWMiIsIlNFVF9QUk9HUkVTU19UQUJMRV9WMl9DTE9TRURfQkVUQSIsInByb2dyZXNzVGFibGVWMkNsb3NlZEJldGEiLCJTRVRfREFURV9QUk9HUkVTU19UQUJMRV9JTlZJVEFUSU9OX0xBU1RfREVMQVlFRCIsImRhdGVQcm9ncmVzc1RhYmxlSW52aXRhdGlvbkRlbGF5ZWQiLCJTRVRfU0VFTl9QUk9HUkVTU19UQUJMRV9JTlZJVEFUSU9OIiwiaGFzU2VlblByb2dyZXNzVGFibGVJbnZpdGUiLCJTRVRfQUlfUlVCUklDU19ESVNBQkxFRCIsImFpUnVicmljc0Rpc2FibGVkIiwiU0VUX0FJX0RJRkZFUkVOVElBVElPTl9FTkFCTEVEIiwiYWlEaWZmZXJlbnRpYXRpb25FbmFibGVkIiwiU0VUX1VTRVJfQ1JFQVRFRF9BVCIsInVzZXJDcmVhdGVkQXQiLCJTRVRfSU5JVElBTF9EQVRBIiwiX2FjdGlvbiRzZXJ2ZXJVc2VyIiwic2VydmVyVXNlciIsImlkIiwidXVpZCIsInVzZXJuYW1lIiwiZGlzcGxheV9uYW1lIiwidXNlcl90eXBlIiwibXV0ZV9tdXNpYyIsInVuZGVyXzEzIiwib3Zlcl8yMSIsInNvcnRfYnlfZmFtaWx5X25hbWUiLCJzaG93X3Byb2dyZXNzX3RhYmxlX3YyIiwiYWlfcnVicmljc19kaXNhYmxlZCIsImFpX2RpZmZlcmVudGlhdGlvbl9lbmFibGVkIiwicHJvZ3Jlc3NfdGFibGVfdjJfY2xvc2VkX2JldGEiLCJpc19sdGkiLCJkYXRlX3Byb2dyZXNzX3RhYmxlX2ludml0YXRpb25fbGFzdF9kZWxheWVkIiwiaGFzX3NlZW5fcHJvZ3Jlc3NfdGFibGVfdjJfaW52aXRhdGlvbiIsImNoaWxkX2FjY291bnRfY29tcGxpYW5jZV9zdGF0ZSIsImNvdW50cnlfY29kZSIsInVzX3N0YXRlX2NvZGUiLCJhZ2UiLCJpbl9zZWN0aW9uIiwiY3JlYXRlZF9hdCIsImlzX3ZlcmlmaWVkX2luc3RydWN0b3IiLCJoYXNfY29tcGxldGVkX2FpX2RpZmZlcmVudGlhdGlvbl93ZWxjb21lIiwiZWR1Y2F0b3Jfcm9sZSIsInNldFVzZXJQcm9wZXJ0aWVzIiwiZXhwZXJpbWVudHMiLCJnZXRFbmFibGVkRXhwZXJpbWVudHMiLCJzdGF0c2lnUmVwb3J0ZXIiLCJ1c2VySWQiLCJpc1ZlcmlmaWVkSW5zdHJ1Y3RvciIsImVuYWJsZWRFeHBlcmltZW50cyIsImVkdWNhdG9yUm9sZSIsImRpc3BsYXlOYW1lIiwiaXNMdGkiLCJpc1RlYWNoZXIiLCJVc2VyVHlwZXMiLCJURUFDSEVSIiwiaW5VU0EiLCJpbmNsdWRlcyIsImhhc0NvbXBsZXRlZEFpRGlmZmVyZW50aWF0aW9uV2VsY29tZSIsImNoaWxkQWNjb3VudENvbXBsaWFuY2VTdGF0ZSIsImNvdW50cnlDb2RlIiwidXNTdGF0ZUNvZGUiLCJpblNlY3Rpb24iLCJfQW5hbHl0aWNzQ29uc3RhbnRzIiwicmVxdWlyZSIsIl9BbmFseXRpY3NSZXBvcnRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfU3RhdHNpZ1JlcG9ydGVyIiwiX2V4cGVyaW1lbnRzIiwiX3NoYXJlZENvbnN0YW50cyIsIl91dGlscyIsImUiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsIm8iLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwib3duS2V5cyIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwiaSIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJleHBvcnRzIiwibWFrZUVudW0iLCJDb3Vyc2VSb2xlcyIsInNldEN1cnJlbnRVc2VyTmFtZSIsInNldEN1cnJlbnRVc2VySGFzU2VlblN0YW5kYXJkc1JlcG9ydEluZm8iLCJzZXRVc2VyU2lnbmVkSW4iLCJzZXRVc2VyVHlwZSIsInNldE92ZXIyMSIsInNldFVzZXJSb2xlSW5Db3Vyc2UiLCJzZXRJbml0aWFsRGF0YSIsInNldE11dGVNdXNpYyIsInNldFNvcnRCeUZhbWlseU5hbWUiLCJzZXRTaG93UHJvZ3Jlc3NUYWJsZVYyIiwic2V0UHJvZ3Jlc3NUYWJsZVYyQ2xvc2VkQmV0YSIsInNldEhhc1NlZW5Qcm9ncmVzc1RhYmxlSW52aXRlIiwic2V0RGF0ZVByb2dyZXNzVGFibGVJbnZpdGF0aW9uRGVsYXllZCIsInNldEFpUnVicmljc0Rpc2FibGVkIiwic2V0QWlEaWZmZXJlbnRpYXRpb25FbmFibGVkIiwic2V0VXNlckNyZWF0ZWRBdCIsIlVua25vd24iLCJjdXJyZW50VXNlclN0YXRlIiwiX3JlYWN0IiwidXNlUHJldmlvdXMiLCJyZWYiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwibW9kdWxlIiwiZGVmYXVsdCIsInBhcmVudGFsUGVybWlzc2lvblJlcXVlc3RSZWR1Y2VyIiwiUkVTRVRfUEFSRU5UQUxfUEVSTUlTU0lPTl9SRVFVRVNUIiwiaXNMb2FkaW5nIiwiRkVUQ0hfUEVORElOR19QRVJNSVNTSU9OX1JFUVVFU1RfUEVSRk9STSIsImVycm9yIiwiRkVUQ0hfUEVORElOR19QRVJNSVNTSU9OX1JFUVVFU1RfU1VDQ0VTUyIsInBhcmVudGFsUGVybWlzc2lvblJlcXVlc3QiLCJGRVRDSF9QRU5ESU5HX1BFUk1JU1NJT05fUkVRVUVTVF9GQUlMVVJFIiwiUkVRVUVTVF9QQVJFTlRBTF9QRVJNSVNTSU9OX1BFUkZPUk0iLCJSRVFVRVNUX1BBUkVOVEFMX1BFUk1JU1NJT05fU1VDQ0VTUyIsIlJFUVVFU1RfUEFSRU5UQUxfUEVSTUlTU0lPTl9GQUlMVVJFIiwiZmV0Y2hQZW5kaW5nUGVybWlzc2lvblJlcXVlc3QiLCJkaXNwYXRjaCIsImZldGNoIiwibWV0aG9kIiwiaGVhZGVycyIsIkFjY2VwdCIsInJlc3BvbnNlIiwib2siLCJmb3JtU2VydmVyRXJyb3IiLCJzdGF0dXMiLCJqc29uIiwiRXJyb3IiLCJyZXF1ZXN0UGFyZW50YWxQZXJtaXNzaW9uIiwicGFyZW50RW1haWwiLCJnZXRBdXRoZW50aWNpdHlUb2tlbiIsImJvZHkiLCJKU09OIiwic3RyaW5naWZ5IiwicmVzcG9uc2VEYXRhIiwicmVzZXRQYXJlbnRhbFBlcm1pc3Npb25SZXF1ZXN0IiwiUHJvbWlzZSIsImF1dGhlbnRpY2l0eVRva2VuIiwicmVmcmVzaFRva2VuIiwidG9rZW4iLCJ0b2tlbkNvbnRhaW5lciIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImNvbnRlbnQiLCJnZXQiLCJBVVRIRU5USUNJVFlfVE9LRU5fSEVBREVSIl0sInNvdXJjZVJvb3QiOiIifQ==