1!function(e){function t(t){for(var n,i,l=t[0],s=t[1],u=t[2],d=0,f=[];d<l.length;d++)i=l[d],a[i]&&f.push(a[i][0]),a[i]=0;for(n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n]);for(c&&c(t);f.length;)f.shift()();return o.push.apply(o,u||[]),r()}function r(){for(var e,t=0;t<o.length;t++){for(var r=o[t],n=!0,l=1;l<r.length;l++){var s=r[l];0!==a[s]&&(n=!1)}n&&(o.splice(t--,1),e=i(i.s=r[0]))}return e}var n={},a={1:0},o=[];function i(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.m=e,i.c=n,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},i.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/";var l=window.webpackJsonp=window.webpackJsonp||[],s=l.push.bind(l);l.push=t,l=l.slice();for(var u=0;u<l.length;u++)t(l[u]);var c=s;o.push([1200,0]),r()}([,,,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IconAlert=t.CompletionSummary=t.Standby=t.Activity=t.ButtongGrid=t.Footer=t.TurnPrompt=t.ActionPrompt=t.CancelButton=t.DoneButton=t.ActionButton=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=d(r(1)),o=r(11),i=d(r(15)),l=d(r(97)),s=d(r(839));r(838);var u=d(r(7)),c=d(r(13));function d(e){return e&&e.__esModule?e:{default:e}}function f(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}function p(e){var t=e.spinning,r=e.children,s=e.label,d=e.icon,p=e.className,m=e.bsStyle,h=e.disabled,y=f(e,["spinning","children","label","icon","className","bsStyle","disabled"]),g=e.href?c.default:void 0,b="default"!==m,v=!b,w=!!(s||"").trim()||!!a.default.Children.count(r);return a.default.createElement(o.Button,n({bsStyle:m||"primary",componentClass:g,className:(0,u.default)("action-button",p),disabled:t||h},y),a.default.createElement(l.default.Span,{spinning:t,white:b,black:v},d&&a.default.createElement("span",{style:{marginRight:w?"8px":"0"}},a.default.createElement(i.default,{name:d})),s||r))}function m(e){var t=a.default.createElement(o.Panel,{className:"action-prompt",bsStyle:e.bsStyle||"primary",header:e.header},a.default.createElement("div",{className:"action-prompt-content"},a.default.createElement("div",{className:"action-prompt-message"},e.children),a.default.createElement(p,{onClick:e.onClick,disabled:e.spinning||e.disabled,label:e.label,bsStyle:e.bsStyle||"primary",spinning:e.spinning})),(e.secondMsg||e.secondBtn)&&a.default.createElement("hr",{style:{margin:"10px 0",padding:0}}),(e.secondMsg||e.secondBtn)&&a.default.createElement("div",{className:"action-prompt-content"},a.default.createElement("div",{className:"action-prompt-message"},e.secondMsg),e.secondBtn&&a.default.createElement(p,{onClick:e.secondBtn.onClick,disabled:e.secondBtn.spinning||e.secondBtn.disabled,label:e.secondBtn.label,bsStyle:e.secondBtn.bsStyle||"primary",spinning:e.secondBtn.spinning})));return e.scrollIntoView?a.default.createElement(s.default,null,t):t}t.ActionButton=p,t.DoneButton=function(e){var t=e.label,r=e.children,o=e.icon,i=e.noIcon,l=f(e,["label","children","icon","noIcon"]),s=!i&&!1!==o&&("string"==typeof o?o:"check-circle"),u=t||(a.default.Children.count(r)?r:"Done");return a.default.createElement(p,n({icon:s},l),u)},t.CancelButton=function(e){var t=e.label,r=e.children,o=e.icon,i=e.noIcon,l=(e.bsStyle,f(e,["label","children","icon","noIcon","bsStyle"])),s=!i&&!1!==o&&("string"==typeof o?o:"times-circle"),u=t||(a.default.Children.count(r)?r:"Cancel");return a.default.createElement(p,n({bsStyle:"default",icon:s},l),u)},t.ActionPrompt=m,t.TurnPrompt=function(e){var t=a.default.createElement(m,{header:e.header||"Itâs your turn!",label:e.label,onClick:e.onClick,scrollIntoView:!0,spinning:e.spinning,secondBtn:e.secondBtn,secondMsg:e.secondMsg},e.children);return e.scrollIntoView?a.default.createElement(s.default,null,t):t},t.Footer=function(e){return a.default.createElement("div",{className:(0,u.default)("action-footer",e.className)},e.children)},t.ButtongGrid=function(e){return a.default.createElement("div",{className:"action-button-grid"},e.children)},t.Activity=function(e){var t=e.scrollIntoView,r=e.completed,n=e.upcoming,i=e.header,l=e.content,u=e.footer,c=e.bsStyle,d=e.noContentPadding,f=e.key,p=a.default.createElement(o.Panel,{bsStyle:c||(r||n?void 0:"primary"),header:i,footer:u,key:f},a.default.createElement("div",{style:{margin:d?"-30px":"0"}},l));return t?a.default.createElement(s.default,null,p):p},t.Standby=function(e){var t={backgroundColor:"#337ab7",borderColor:"#337ab7",fontWeight:600,color:"#fff"};return e.inactive&&(t.backgroundColor="#777",t.borderColor="#777"),a.default.createElement(o.Well,{style:t},e.children)},t.CompletionSummary=function(e){var t=n({backgroundColor:"#ffe8b2",borderColor:"#fcdd64",fontWeight:600,color:"#404040"},e.style);return a.default.createElement(o.Well,{style:t},e.children)},t.IconAlert=function(e){var t=e.icon,r=e.children,n=e.iconSize,l=e.iconNudge,s=f(e,["icon","children","iconSize","iconNudge"]);return a.default.createElement(o.Alert,s,a.default.createElement("div",{style:{float:"left",paddingTop:l||"0"}},a.default.createElement(i.default,{name:t,size:n||"3x"})),a.default.createElement("div",{style:{overflow:"hidden",paddingLeft:"15px"}},r))}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=f(r(1)),u=f(r(0)),c=r(9),d=f(r(102));function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var m=function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)},h=(0,c.inject)("$location")((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=p(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.actualHref=function(){if(n.props.sanitize){var e=(0,d.default)(n.props.to||n.props.href||"");return e.protocol()||e.protocol("http"),"http"===e.protocol()&&"https"===e.protocol()||!e.username()&&!e.password()?e.toString().length>500?"#":e.toString():"#"}return n.props.to||n.props.href||""},n.handleClick=function(e){if(n.props.onClick)try{n.props.onClick(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||n.props.target||n.props.noMagic||m(e)||!n.props.$location||!n.props.$location.goTo(n.actualHref(),{debug:"clicked from Link component"})||e.preventDefault()},p(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=this.props,t=(e.onClick,e.children),r=(e.to,e.href,e.innerRef),n=(e.sanitize,e.external),a=(e.$location,e.noMagic,function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}(e,["onClick","children","to","href","innerRef","sanitize","external","$location","noMagic"]));return s.default.createElement("a",i({},a,{href:this.actualHref(),onClick:this.handleClick,rel:n?"external nofollow noopener":null,ref:r}),t)}}]),t}(),a.propTypes={$location:u.default.object.isRequired,onClick:u.default.func,target:u.default.string,noMagic:u.default.bool,to:u.default.string,href:u.default.string,innerRef:u.default.oneOfType([u.default.string,u.default.func]),children:u.default.any.isRequired,sanitize:u.default.bool,external:u.default.bool},a.defaultProps={onClick:void 0,target:void 0,innerRef:void 0,to:void 0,href:void 0,sanitize:!1,external:!1,noMagic:!1},n=o))||n;t.default=h},,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(r(25)),a=o(r(223));function o(e){return e&&e.__esModule?e:{default:e}}var i=["ekInit","ekSetGameAttrs","ekSetOrganizer","ekInviteUsers","ekCancelInvite","ekStartCharacter","ekSetCharacterAttrs","ekDeleteCharacter","ekMove","ekCreateCard","ekEditCard","ekDeleteCard","ekBecomeGame","ekBecomeNewDeckVersion","ekBecomeClassCopy","ekBecomeReplica","ekAddArt","ekEditArt","ekDeleteArt","ekDrawSetupCards","ekDrawInitialBonds","ekEditMove","ekRequestRevisions","ekDeleteMove","ekStartScene","ekAddScenario","ekEditScenario","ekEditScenarioScene","ekDeleteScenario","ekSkipMove","ekReassignCharacter","ekRemovePlayer"],l=["ckBeginning","ckBond","ckChallenge","ckEnding","ckFlaw","ckMotivation","ckPlace","ckSetback","ckSetting","ckStrength","ckSuccess","ckTone"],s=["banner","scene","card","avatar"],u=["storySizeShort","storySizeMedium","storySizeLong"],c=["bhvr_approve_start","bhvr_art_add_direct","bhvr_art_edit","bhvr_art_remove_direct","bhvr_cancel_invite","bhvr_create_character","bhvr_create_chartype","bhvr_deck_blurb_set","bhvr_deck_grades_set","bhvr_deck_scope_publish_classroom","bhvr_deck_scope_publish_library","bhvr_deck_scope_retire_classroom","bhvr_deck_scope_retire_library","bhvr_deck_scope_unretire_classroom","bhvr_deck_scope_unretire_library","bhvr_deck_subjects_set","bhvr_delete_character","bhvr_delete_chartype","bhvr_delete_move","bhvr_draw_initial_bonds","bhvr_draw_setup_cards","bhvr_edit_move","bhvr_finish_game","bhvr_finish_scene","bhvr_materials_pdf_add","bhvr_materials_pdf_remove","bhvr_move","bhvr_move_mkDrawCharacterCards","bhvr_move_mkDrawSceneCards","bhvr_move_mkText","bhvr_move_mkFlashback","bhvr_move_mkPlayToChallenge","bhvr_move_mkPlayToEpilogue","bhvr_play_card","bhvr_request_revisions","bhvr_resolve_revision_request","bhvr_scenario_create","bhvr_scenario_delete","bhvr_scene_setback","bhvr_scene_success","bhvr_send_invite","bhvr_start_game","bhvr_start_scene","bhvr_upload_image","bhvr_win_epilogue","bhvr_write_word"],d=/^[a-z0-9]+$/,f=/^[dg]_card_[0-9]+$/,p=/^[dg]_char_[0-9]+$/,m=/^[dg]_scenario_[0-9]+$/,h=(a.default.string().valid(c),new RegExp("^("+c.join("|")+")$")),y=a.default.string().regex(d),g=a.default.string().regex(f),b=a.default.string().regex(/^[dg]_move_[0-9]+$/),v=a.default.string().regex(p
1),w=a.default.string().regex(m),E=a.default.string().regex(/^([dg]_art_[0-9]+)|characterDefault|upload$/),k=a.default.any().allow(!0),_=a.default.number().integer().strict(),C=a.default.string().valid(["mkDrawSceneCards","mkPlayToChallenge","mkDrawCharacterCards","mkPlayToEpilogue","mkFlashback","mkText"]),S=a.default.string().valid(s),P=a.default.array().min(1).items(S),O=a.default.string().valid(u),T=a.default.string().allow(""),j=a.default.string().valid("usage","slides","handout"),x=/^usage|slides|handout$/,M=a.default.string().valid("dv_public","dv_private"),z=a.default.string().valid("ds_inactive","ds_pending","ds_active","ds_retired"),A=a.default.object({classroom:z,library:z}),I=a.default.string().valid("drs_pending","drs_perm_approved","drs_perm_rejected"),$=a.default.object({bid:_,content:a.default.string(),wordCt:_,remove:k}).xor("bid","content","remove").with("bid","wordCt"),D=a.default.object({gid:E.required(),assetId:a.default.string().required(),size:a.default.string().regex(/^\d+,\d+$/,"x,y"),crop:a.default.string().regex(/^\d+,\d+,\d+,\d+$/,"x,y,w,h"),attributionUrl:T,attributionText:T,altText:a.default.string(),categories:P.required()}),N=a.default.object({type:j.required(),delete:k,assetId:a.default.string(),bytes:a.default.number().integer().strict(),pages:a.default.number().integer().strict()}).xor("assetId","delete"),R=a.default.object({type:j.required(),assetId:a.default.string().required(),bytes:a.default.number().integer().strict(),pages:a.default.number().integer().strict(),version:a.default.number().integer().strict(),createdAtUnix:_.required()}),B=a.default.object({artGid:a.default.string().required(),artInclude:D,artUpload:D,setAttribution:a.default.object({attributionUrl:T,attributionText:T,altText:T})}),U=a.default.object().keys({gid:g.required(),userPid:y.required(),kind:a.default.string().valid(l).required(),name:a.default.string().required(),fromCharacterGid:v,toCharacterGid:v,image:B,polarity:a.default.valid(0).required().when("kind",{is:"ckBond",then:a.default.valid(-1,1).required()}).when("kind",{is:"ckMotivation",then:a.default.valid(-1,1).required()}).when("kind",{is:"ckStrength",then:a.default.valid(1).required()}).when("kind",{is:"ckFlaw",then:a.default.valid(-1).required()}),deleted:k}),G=U.keys({gid:g}),F=a.default.object({gid:v.required(),userPid:y.required(),slug:a.default.string().required(),createdAtUnix:_.required(),name:a.default.string().required(),ugcName:a.default.string(),image:B,image2:B,cards:a.default.array().items(g).required(),isPlayer:k,isCharType:k,fromCharTypeGid:v,suggestedNames:a.default.array().min(1).items(a.default.string()),deleted:k,deferredJoin:k,noFirstBondYet:k}).xor("isCharType","isPlayer").without("isCharType","fromCharTypeGid").with("isCharType","suggestedNames").without("isPlayer","image2"),q=a.default.object().keys({createdAtUnix:_.required(),blurb:$.required()}),L=a.default.object({updatedAtUnix:_.required(),userPid:y.required(),isTeacher:a.default.boolean().required(),blurb:$,revisionRequestChange:a.default.string().valid("create","resolve"),revisionRequestBlurb:$}),V=a.default.array().items(L),H=a.default.object().keys({gid:b.required(),guid:a.default.string().required(),sceneId:_.required(),userPid:y.required(),characterGid:v.required(),createdAtUnix:_.required(),cards:a.default.array().min(1).items(g).required(),history:V}),W=H.keys({kind:a.default.string().valid("mkDrawSceneCards").required(),image:B}),K=H.keys({kind:a.default.string().valid("mkPlayToEpilogue").required(),blurb:$.required(),image:B,revisionRequest:q,isConclusion:k}),Y=H.keys({kind:a.default.string().valid("mkPlayToChallenge").required(),blurb:$.required(),image:B,tieBreaker:_.valid(1,-1),revisionRequest:q,isConclusion:k}),J=H.keys({kind:a.default.string().valid("mkDrawCharacterCards").required()}),Z=H.keys({kind:a.default.string().valid("mkFlashback").required(),blurb:$.required(),image:B,revisionRequest:q}),X=H.keys({kind:a.default.string().valid("mkText").required(),blurb:$.required(),image:B,revisionRequest:q,cards:a.default.array().length(0).required(),characterGid:a.default.any().forbidden()}),Q=a.default.alternatives().try(W,Y,K,J,Z,X),ee=a.default.object({moves:a.default.array().items(Q).required(),points:_.required(),startedByCharacterGid:v.required()}),te=a.default.object({blurb:$,cards:a.default.array().items(g.allow(null)).length(4).sparse(!0).required()}),re=a.default.object({gid:w.required(),name:a.default.string().required(),ugcName:a.default.string(),blurb:$,storySize:O,setupCards:a.default.array().items(g.allow(null)).sparse(!0).length(4).required(),scenes:a.default.array().items(te).required()}
1),ne=(a.default.object({characterUserPids:a.default.array().items(y).required(),isCompleted:k,isStarted:k,pendingStart:k,numTotalScenes:_.required(),numCompletedScenes:_.required(),currentSceneId:_,currentTurnUserPid:y,actionableInvitees:a.default.array().items(y).required()}),a.default.object({gamePid:y.required(),teacherUserPid:y.required(),organizerUserPid:y.required(),classroomPid:y,name:a.default.string().required(),defaultName:a.default.string(),ugcName:a.default.string(),slug:a.default.string().required(),image:B,blurb:$,setupCards:a.default.array().items(g.allow(null)).sparse(!0).length(4).required(),storySize:O.required(),scenarioGid:w,initialBonds:a.default.array().items(g),createdAtUnix:_.required(),endedAtUnix:_,isDemoHack:k,setupReady:k,initialGev:_.required(),turnCharacterGid:v,startSceneCharacterGid:v,rulesVersion:_.required(),gidCounters:a.default.object().pattern(/^[dg]_[a-z]+$/,a.default.number().integer().strict()),bakeId:_.required(),lastEventUnix:_.required(),stopWordCountingForEpilogue:k,highWordCountsUserPidBeforeEpilogue:y,isDeck:k,isMockDeck:k,deckGamePid:y,deckName:a.default.string(),deckSlug:a.default.string(),deckCreatedByUserPid:y,deckImage:B,deckIsComplete:k,deckVisibility:M,wasEverPublished:k,deckIsPublished:k,deckScopes:A,deckReviewStatus:I,libraryFirstActiveAtUnix:_,deckPdfs:a.default.object().pattern(/versions/,a.default.object().pattern(x,a.default.number())).pattern(x,R),deckBlurb:$,deckSubjects:a.default.array().items(a.default.string()),deckGrades:a.default.array().items(a.default.string()),deckVersion:a.default.number().integer().strict(),deckV1GamePid:y,isClassCopy:k,ccOrigDeckGamePid:y,ccOrigDeckV1GamePid:y,ccOrigDeckGameVersion:a.default.number().integer().strict(),ccOrigDeckCreatedByUserPid:y,addedStockCards:a.default.array().items(l),art:a.default.object().pattern(/.*/,D).required(),scenes:a.default.array().items(ee).required(),characters:a.default.object().pattern(p,F).required(),cards:a.default.object().pattern(f,U).required(),members:a.default.array().min(1).items(y).required(),invitees:a.default.array().items(y).required(),behaviors:a.default.object().pattern(d,a.default.object().pattern(h,_)).required(),wordCtDeltas:a.default.array(),scenarios:a.default.object().pattern(m,re).required()}).or("classroomPid","isDeck").and(["deckGamePid","deckName","deckSlug","deckCreatedByUserPid"])),ae=a.default.object().keys({clonedFromEvent:a.default.string().regex(/^[a-z0-9]+:\d+$/),fromDeckEventSeqId:_,blessed:k,devBlessed:k}),oe=ae.keys({kind:C.required(),characterGid:v.required(),guid:a.default.string().required(),cards:a.default.array().min(1).items(g).required()}),ie=oe.keys({kind:a.default.string().valid("mkDrawSceneCards").required()}),le=oe.keys({kind:a.default.string().valid("mkPlayToChallenge").required(),blurb:$.required(),image:B,tieBreaker:_.valid(1,-1)}),se=oe.keys({kind:a.default.string().valid("mkPlayToEpilogue").required(),blurb:$.required(),image:B}),ue=oe.keys({kind:a.default.string().valid("mkDrawCharacterCards").required(),bondToCharacterGid:v}),ce=oe.keys({kind:a.default.string().valid("mkFlashback").required(),blurb:$.required(),image:B,cards:a.default.array().min(1).max(1).items(g).required()}),de=oe.keys({kind:a.default.string().valid("mkText").required(),blurb:$.required(),image:B,characterGid:a.default.any().forbidden(),cards:a.default.array().length(0).required()}),fe=a.default.alternatives().try(ie,le,ue,se,ce,de),pe={ekInit:ae.keys({blessed:k.required(),teacherUserPid:k.required(),slug:a.default.string().required(),classroomPid:a.default.string(),rulesVersion:_.required(),gamePid:y.required(),isDeck:k,deckVisibility:M,isMockDeck:k}).or("isDeck","classroomPid"),ekSetGameAttrs:ae.keys({slug:a.default.string(),ugcName:a.default.string(),defaultName:a.default.string(),blurb:$,image:B,removeImage:k,storySize:O,deckScopes:A,setupReady:k,deckVisibility:M,deckIsPublished:k,isDemoHack:k,deckPdfAsset:N,deckBlurb:$,deckSubjects:a.default.array().items(a.default.string()),deckGrades:a.default.array().items(a.default.string()),scenarioGid:a.default.alternatives().try(w,a.default.string().valid("_delete_")),deckReviewStatus:I.allow("_delete_")}
1),ekSetOrganizer:ae.keys({blessed:k.required(),organizerUserPid:y.required()}),ekCreateCard:ae.keys({kind:a.default.string().required(),name:a.default.string().required(),image:B,polarity:a.default.valid(-1,0,1).when("kind",{is:"ckBond",then:a.default.required()}).when("kind",{is:"ckMotivation",then:a.default.required()}),isStockCard:k}),ekEditCard:ae.keys({cardGid:g.required(),name:a.default.string(),image:B,removeImage:k}),ekDeleteCard:ae.keys({cardGid:g.required()}),ekBecomeGame:ae.keys({blessed:k.required(),gamePid:y.required(),slug:a.default.string().required(),deckSlug:a.default.string().required(),classroomPid:y.required(),teacherUserPid:y.required(),ugcName:a.default.string()}),ekBecomeNewDeckVersion:ae.keys({blessed:k.required(),gamePid:y.required(),slug:a.default.string().required()}),ekBecomeReplica:ae.keys({blessed:k.required(),gamePid:y.required(),slug:a.default.string().required(),ugcName:a.default.string().required()}),ekBecomeClassCopy:ae.keys({blessed:k.required(),gamePid:y.required(),slug:a.default.string().required(),teacherUserPid:y.required()}),ekMove:fe,ekStartCharacter:ae.keys({ugcName:a.default.string().required(),image:B,image2:B,cards:a.default.array().items(g),fromCharTypeGid:v,isPlayer:k,isCharType:k,suggestedNames:a.default.array().min(1).items(a.default.string())}).xor("isCharType","isPlayer").without("isCharType","fromCharTypeGid").with("isCharType","suggestedNames").with("isCharType","image2").with("isCharType","cards").with("isPlayer","fromCharTypeGid").without("isPlayer","image2").without("isPlayer","suggestedNames"),ekSetCharacterAttrs:ae.keys({characterGid:v.required(),ugcName:a.default.string(),image:B,image2:B,removeImage:k,removeImage2:k,cards:a.default.array().min(1).items(g),suggestedNames:a.default.array().min(1).items(a.default.string())}),ekDeleteCharacter:ae.keys({characterGid:v.required()}),ekInviteUsers:ae.keys({blessed:k.required(),mockMaxException:k,invitees:a.default.array().min(1).items(y).required()}),ekCancelInvite:ae.keys({invitee:y.required()}),ekAddArt:ae.keys({assetId:a.default.string().required(),size:a.default.string().regex(/^\d+,\d+$/,"x,y"),crop:a.default.string().regex(/^\d+,\d+,\d+,\d+$/,"x,y,w,h"),attributionUrl:T,attributionText:T,altText:T,categories:P.required()}),ekEditArt:ae.keys({artGid:E.required(),assetId:a.default.string(),size:a.default.string().regex(/^\d+,\d+$/,"x,y"),crop:a.default.string().regex(/^\d+,\d+,\d+,\d+$/,"x,y,w,h"),attributionUrl:T,attributionText:T,altText:T,categories:P}),ekDeleteArt:ae.keys({artGid:E.required()}),ekDrawSetupCards:ae.keys({randSeed:a.default.string().required(),fixedDemoHackCards:a.default.array().min(1).items(g)}),ekDrawInitialBonds:ae.keys({randSeed:a.default.string().required(),isEdit:k}),ekEditMove:ae.keys({sceneId:_,gid:b.required(),blurb:$,image:B,removeImage:k}),ekRequestRevisions:ae.keys({sceneId:_,gid:b.required(),blurb:$.required()}),ekDeleteMove:ae.keys({sceneId:_,gid:b.required()}),ekStartScene:ae.keys({characterGid:v}),ekAddScenario:ae,ekEditScenario:ae.keys({scenarioGid:w.required(),ugcName:a.default.string(),blurb:$,storySize:O,setupCards:a.default.array().items(g.allow(null)).sparse(!0).length(4)}),ekEditScenarioScene:ae.keys({scenarioGid:w.required(),sceneId:_.required(),blurb:$,cards:a.default.array().items(g.allow(null)).sparse(!0).length(4)}),ekDeleteScenario:ae.keys({scenarioGid:w.required()}),ekSkipMove:ae,ekReassignCharacter:ae.keys({characterGid:v.required(),toUserPid:y.required()}),ekRemovePlayer:ae.keys({characterGid:v.required()})},me=a.default.alternatives();(0,n.default)(pe,function(e,t){me=me.when("kind",{is:t,then:e})});var he=a.default.object().keys({dbgGamePid:y,seqId:a.default.number().integer().strict().required(),userPid:y.required(),kind:a.default.any().valid(i).required(),params:me,createdAtUnix:a.default.number().integer().strict().required(),gev:a.default.number().integer().strict().required()}),ye=function(e){return void 0===e||null===e},ge={cardRequired:function(e,t,r,n,a){var o=U.validate(e[t]);return o.error&&new Error("Invalid prop "+a+" supplied to "+r+". Joi validation failed: "+o.error)},card:function(e,t,r,n,a){if(!ye(e[t])){var o=U.validate(e[t]);return o.error&&new Error("Invalid prop "+a+" supplied to "+r+". Joi validation failed: "+o.error)}},cardPreview:function(e,t,r,n,a){if(!ye(e[t])){var o=G.validate(e[t]);return o.error&&new Error("Invalid prop "+a+" supplied to "+r+". Joi validation failed: "+o.error)}},move:function(e,t,r,n,a){var o=Q.validate(e[t]);return o.error&&new Error("Invalid prop "+a+" supplied to "+r+". Joi validation failed: "+o.error)},image:function(e,t,r,n,a){if(!ye(e[t])){var o=B.validate(e[t]);return o.error&&new Error("Invalid prop "+a+" supplied to "+r+". Joi validation failed: "+o.error)}},imageRequired:function(e,t,r,n,a){var o=B.validate(e[t]);return o.error&&new Error("Invalid prop "+a+" supplied to "+r+". Joi validation failed: "+o.error)},gid:function(e,t){return ye(e[t])||/^[a-z_]+[0-9]+$/.test(e[t])?void 0:new Error(t+" must be in the form /^[a-z_]+[0-9]+$/")},gidRequired:function(e,t){return/^[a-z_]+[0-9]+$/.test(e[t])?void 0:new Error(t+" must be in the form /^[a-z_]+[0-9]+$/")}};t.default={eventKinds:i,cardKinds:l,cardKindDisplaySortOrder:["ckSetting","ckTone","ckBeginning","ckEnding","ckPlace","ckChallenge","ckSuccess","ckSetback","ckStrength","ckFlaw","ckBond","ckMotivation"],cardKindsForMoveKinds:{mkDrawSceneCards:["ckPlace","ckChallenge","ckSuccess","ckSetback"],mkPlayToChallenge:["ckStrength","ckFlaw","ckBond","ckMotivation"],mkPlayToEpilogue:["ckStrength","ckFlaw","ckBond","ckMotivation"],mkDrawCharacterCards:["ckStrength","ckFlaw","ckBond","ckMotivation"],mkFlashback:["ckStrength","ckFlaw","ckBond","ckMotivation"],mkText:[]},setupCardKinds:["ckSetting","ckTone","ckBeginning","ckEnding"],setupCardKindPrngOrder:["ckSetting","ckTone","ckBeginning","ckEnding"],artCategories:s,image:B,character:F,move:Q,scene:ee,state:ne,event:he,eventParam
1s:me,propTypes:ge,paramsByEventKind:pe,storySizes:u,deckGrades:["3rd","4th","5th","6th","7th","8th","9th","10th","11th","12th","college"]}},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();t.default=l,t.setDefaultLogLevel=s;var o=void 0,i=t.Logger=function(){function e(t,r){var a=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.prefixes=[],this.colors=["color:blue","color:purple","color:orange","color:green","color:red","color:red","color:red","color:red","color:red","color:red","color:red","color:red"],this.level="default",this.setLevel=function(e){a.level=e},this.group=function(e,t){a.prefixes.push(e),"object"===("undefined"==typeof console?"undefined":n(console))&&console.group&&a.intLevel<=0&&console.group(a.prefixes.join(" ")),t&&(t(),a.prefixes.pop(),"object"===("undefined"==typeof console?"undefined":n(console))&&console.group&&a.intLevel<=0&&console.groupEnd())},this.groupEnd=function(){a.prefixes.pop(),"object"===("undefined"==typeof console?"undefined":n(console))&&console.groupEnd&&console.groupEnd()},this.nest=function(t){var r=new e(t,a.prefixes);return r.level=a.level,r},this.inspect=function(){return{prefixes:a.prefixes,level:a.level}},r&&(this.prefixes=r.slice()),t&&(this.prefixes=this.prefixes.concat([t]))}return a(e,[{key:"print",value:function(e){var t=this;if("object"===("undefined"==typeof console?"undefined":n(console))&&console[e]){var r,a=[this.prefixes.map(function(e){return"%c"+e}).join(" ")];a=a.concat(this.prefixes.map(function(e,r){return t.colors[r]})),a=[this.prefixes.join(" ")];for(var o=arguments.length,i=Array(o>1?o-1:0),l=1;l<o;l++)i[l-1]=arguments[l];a=a.concat(i),(r=console)[e].apply(r,function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}(a))}}},{key:"chatter",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.intLevel<=-1&&this.print.apply(this,["log"].concat(t))}},{key:"log",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.intLevel<=0&&this.print.apply(this,["log"].concat(t))}},{key:"info",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.intLevel<=1&&this.print.apply(this,["info"].concat(t))}},{key:"warn",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.intLevel<=2&&this.print.apply(this,["warn"].concat(t))}},{key:"bloop",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];this.intLevel<=3&&this.print.apply(this,["error"].concat(t))}},{key:"intLevel",get:function(){return"default"===this.level?"number"==typeof o?o:0:this.level}}]),e}();function l(e){return new i(e)}function s(e){o=e}window.setDefaultLogLevel=s,window.logger=l("window")},,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();var a=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.disposers=[],this.hasBaseStore=!0}return n(e,[{key:"cleanup",value:function(){this.disposers.forEach(function(e){return e()}),this.disposers=[]}}]),e}();t.default=a},,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),w=P(r(1)),E=P(r(0)),k=r(11),_=r(12),C=r(9),S=r(10);
1function P(e){return e&&e.__esModule?e:{default:e}}function O(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function T(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function j(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var x=(n=S.observable.ref,a=S.observable.ref,o=S.observable.ref,i=S.observable.ref,(0,C.observer)((b=g=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=T(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),O(n,"show",u,n),O(n,"title",c,n),O(n,"body",d,n),O(n,"cancelOnly",f,n),O(n,"spinning",p,n),O(n,"cancel",m,n),O(n,"confirm",h,n),O(n,"pop",y,n),T(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,w.default.Component),v(t,[{key:"render",value:function(){var e=!(window&&window.g.headlessNoAnimateModals);return w.default.createElement(k.Modal,{show:this.show,onHide:this.cancel,"data-p":this.show?"confirm_modal":"",animation:e},w.default.createElement(k.Modal.Header,{closeButton:!0},this.title),w.default.createElement(k.Modal.Body,null,this.body),this.cancelOnly?w.default.createElement(k.Modal.Footer,null,w.default.createElement(k.Button,{onClick:this.cancel},"OK")):w.default.createElement(k.Modal.Footer,null,w.default.createElement(k.Button,{onClick:this.cancel,"data-p":"cancel_btn"},"Cancel"),w.default.createElement(_.ActionButton,{bsStyle:"primary",onClick:this.confirm,"data-p":"confirm_btn",spinning:this.spinning},"Confirm")))}}]),t}(),g.propTypes={cancelOnly:E.default.bool},g.defaultProps={cancelOnly:!1},u=j((s=b).prototype,"show",[S.observable],{enumerable:!0,initializer:function(){return!1}}),c=j(s.prototype,"title",[n],{enumerable:!0,initializer:null}),d=j(s.prototype,"body",[a],{enumerable:!0,initializer:null}),f=j(s.prototype,"cancelOnly",[o],{enumerable:!0,initializer:null}),p=j(s.prototype,"spinning",[i],{enumerable:!0,initializer:null}),m=j(s.prototype,"cancel",[S.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.show=!1,e.resolve(!1)}}}),h=j(s.prototype,"confirm",[S.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(e.onConfirm){e.spinning=!0;var t=e.onConfirm();t&&t.then?t.then((0,S.action)(function(){e.show=!1,e.spinning=!1,e.resolve(!0)})).catch((0,S.action)(function(){e.spinning=!1})):(e.show=!1,e.resolve(!0))}else e.show=!1,e.resolve(!0)}}}),y=j(s.prototype,"pop",[S.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r,n){return e.title=t,e.body=r,e.show=!0,e.cancelOnly=!(!n||!n.cancelOnly)||e.props.cancelOnly,e.onConfirm=n&&n.onConfirm,new Promise(function(t){e.resolve=t})}}}),l=s))||l);t.default=x},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w,E=z(r(174)),k=z(r(335)),_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},C=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),S=z(r(1)),P=z(r(0)),O=z(r(75)),T=r(9),j=r(10);r(642);var x=z(r(334)),M=r(11);
1function z(e){return e&&e.__esModule?e:{default:e}}function A(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function I(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var $=(n=(0,T.inject)("$gameplay","$deckEditor"),a=j.observable.ref,o=j.observable.ref,i=j.observable.ref,n(l=(0,T.observer)((w=v=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return A(r,"ourRect",u,r),A(r,"gridRects",c,r),r.transitionDuration=.6,r.cardIndexDelay=.3,A(r,"animationState",d,r),A(r,"transitioning",f,r),A(r,"transitionPhase",p,r),A(r,"showingCardGids",m,r),r.newestSeenCardsProp=-999,r.newestSeenHoldNotYetDrawnProp=-999,r.drawInProgress=!1,A(r,"getRect",h,r),A(r,"checkPropChanges",y,r),A(r,"handlePhase",g,r),r.signalDrawInProgress=function(e,t){r.props.setDrawInProgress&&(t||r.drawInProgress!==e)&&(r.props.setDrawInProgress(e),r.drawInProgress=e)},A(r,"animationCheckpoint",b,r),r.getCardWrapperStyle=function(e){var t={position:"absolute",left:"5px",top:"5px",zIndex:50+("swept"===r.animationState?-1:1)*e+"",transform:"rotate(0deg)"};if(!r.transitioning||"prep"!==r.transitionPhase&&"move"!==r.transitionPhase)t.transition="none";else{var n=e*r.cardIndexDelay+"s",a=r.transitionDuration+"s";"swept"===r.animationState?t.transition="left "+a+" ease-in-out "+n+", top "+a+" ease-in-out "+n+", transform "+a+" ease-out "+n:t.transition="left "+a+" linear "+n+", top "+a+" ease-in-out "+n+", transform "+a+" ease-out "+n}if(!r.gridRects||!r.gridRects[e])return t;var o=r.animationState;if(r.transitioning&&"prep"===r.transitionPhase&&(o="notYetDrawn"===r.animationState?"notYetDrawn":"drawn"===r.animationState?"notYetDrawn":(r.animationState,"drawn")),"drawn"===o)return t;if("notYetDrawn"===o){var i=r.ourRect,l=r.gridRects[e];t.left=i.width/2-l.width/2-(l.left-i.left)+5+"px",t.top=i.height+20-(l.top-i.top)+5+"px",t.transform="rotate(-40deg)"}if("swept"===o){var s=r.ourRect,u=r.gridRects[e];t.left=s.width+40-(u.left-s.left)+5+"px",t.top="5px",t.transform="rotate(20deg)"}return t},(0,j.action)(function(){r.animationState="drawn",r.transitioning=!1,r.transitionPhase="static",r.showingCardGids=e.cards.slice(),(e.startNotYetDrawn||e.holdNotYetDrawn)&&(r.animationState="notYetDrawn")})(),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,S.default.Component),C(t,[{key:"componentDidMount",value:function(){this.mounted=!0,this.getRect(),window.addEventListener("resize",this.getRect),setTimeout(this.animationCheckpoint,50),this.signalDrawInProgress(!1,!0)}},{key:"componentDidUpdate",value:function(){this.getRect(),this.checkPropChanges()}},{key:"componentWillUnmount",value:function(){this.mounted=!1,window.removeEventListener("resize",this.getRect)}},{key:"orderedCardsNotGids",value:function(e){var t=this.props.$gameplay.gsm;return(this.props.doSort?e[0]&&e[0].gid?t.cardsDisplaySorted(e):t.cardGidsDisplaySorted(e):e).map(function(e){return"string"==typeof e?t.state.cards[e]:e})}},{key:"render",value:function(){var e=this,t=this.props.$gameplay.gsm,r=this.props.bonds,n=this.props.desaturate,a=_({},this.props.style);"around"===this.props.justify&&(a.justifyContent="space-around"),"between"===this.props.justify&&(a.justifyContent="space-between"),"first"===this.props.justify&&(a.justifyContent="flex-start"),"left"===this.props.justify&&(a.justifyContent="flex-start"),"right"===this.props.justify&&(a.justifyContent="flex-end"),"center"===this.props.justify&&(a.justifyContent="center"),this.props.padded&&(a.padding="30px");var o=this.orderedCardsNotGids(this.showingCardGids);this.gridRefs=[],a.overflow="hidden";var i=t.deckEditingRestrictionLevel(),l=0,s=0,u=0;return this.props.minimumSocketsKind&&(l=this.props.minimumSocketsPolarityPos,s=this.props.minimumSocketsPolarityNone,u=this.props.minimumSocketsPolarityNeg,o.forEach(function(e){e.polarity>0&&l--,e.polarity<0&&u--,0===e.polarity&&s--}),l<0&&(l=0),s<0&&(s=0),u<0&&(u=0)),S.default.createElement("div",{className:"card-grid",style:a,ref:function(t){e.ref=t}},o.map(function(a,o){if(r){var l=t.state.characters[a.fromCharacterGid].name;return S.default.createElement("div",{key:a.gid+","+o,className:"card-grid-square"},S.default.createElement("p",{style:{textAlign:"center",margin:"10px 0 0 0",paddingBottom:"10px"}},l," is..."),S.default.createElement("div",{style:{position:"relative"},ref:function(t){e.gridRefs[o]=t}},S.default.createElement(x.default,{card:a}
1),!e.props.socketsOnly&&S.default.createElement("div",{style:e.getCardWrapperStyle(o)},S.default.createElement(O.default,{card:a,desaturate:n}))))}return S.default.createElement("div",{key:a.gid+","+o,className:"card-grid-square"},S.default.createElement("div",{style:{position:"relative"},ref:function(t){e.gridRefs[o]=t}},S.default.createElement(x.default,{card:a,renderAsBondToCharacter:e.props.renderAsBondToCharacter}),!e.props.socketsOnly&&S.default.createElement("div",{style:e.getCardWrapperStyle(o)},S.default.createElement(O.default,{card:a,desaturate:n,renderAsBondToCharacter:e.props.renderAsBondToCharacter}))),e.props.deckEditable&&"deck_edits_none"!==i&&S.default.createElement("p",{style:{textAlign:"center",margin:"-15px 0 0 0"}},S.default.createElement(M.Button,{bsStyle:"link",onClick:function(){return e.props.$deckEditor.editCard(a.gid)},"data-p":"card-edit-link","data-gid":a.gid},"Edit"),"deck_edits_all"===i&&S.default.createElement("span",null,"â¢",S.default.createElement(M.Button,{bsStyle:"link",onClick:function(){return e.props.$deckEditor.confirmDeleteCard(a.gid)},"data-p":"card-delete-link","data-gid":a.gid},"Delete"))))}),this.props.minimumSocketsKind&&(0,E.default)(l,function(t){return S.default.createElement("div",{key:"extra_"+t,className:"card-grid-square"},S.default.createElement("div",null,S.default.createElement(x.default,{kind:e.props.minimumSocketsKind,polarity:1})))}),this.props.minimumSocketsKind&&(0,E.default)(u,function(t){return S.default.createElement("div",{key:"extra_"+t,className:"card-grid-square"},S.default.createElement("div",null,S.default.createElement(x.default,{kind:e.props.minimumSocketsKind,polarity:-1})))}),this.props.minimumSocketsKind&&(0,E.default)(s,function(t){return S.default.createElement("div",{key:"extra_"+t,className:"card-grid-square"},S.default.createElement("div",null,S.default.createElement(x.default,{kind:e.props.minimumSocketsKind,polarity:0})))}))}},{key:"realDuration",get:function(){return 1e3*(this.transitionDuration+(this.showingCardGids.length-1)*this.cardIndexDelay)}}]),t}(),v.propTypes={$gameplay:P.default.object.isRequired,$deckEditor:P.default.object.isRequired,cards:P.default.array.isRequired,doSort:P.default.bool,bonds:P.default.bool,justify:P.default.oneOf(["dynamic","between","around","first","center","left","right"]),desaturate:P.default.bool,renderAsBondToCharacter:P.default.any,style:P.default.any,padded:P.default.bool,startNotYetDrawn:P.default.bool,holdNotYetDrawn:P.default.bool,setDrawInProgress:P.default.func,autoAnimate:P.default.bool,socketsOnly:P.default.bool,deckEditable:P.default.bool,minimumSocketsPolarityPos:P.default.number,minimumSocketsPolarityNone:P.default.number,minimumSocketsPolarityNeg:P.default.number,minimumSocketsKind:P.default.string},v.defaultProps={bonds:!1,justify:"around",doSort:!1,desaturate:!1,renderAsBondToCharacter:!1,style:!1,padded:!1,startNotYetDrawn:!1,holdNotYetDrawn:!1,setDrawInProgress:void 0,autoAnimate:!1,socketsOnly:!1,deckEditable:!1,minimumSocketsPolarityPos:0,minimumSocketsPolarityNone:0,minimumSocketsPolarityNeg:0,minimumSocketsKind:void 0},u=I((s=w).prototype,"ourRect",[a],{enumerable:!0,initializer:null}),c=I(s.prototype,"gridRects",[o],{enumerable:!0,initializer:null}),d=I(s.prototype,"animationState",[j.observable],{enumerable:!0,initializer:null}),f=I(s.prototype,"transitioning",[j.observable],{enumerable:!0,initializer:null}),p=I(s.prototype,"transitionPhase",[j.observable],{enumerable:!0,initializer:null}),m=I(s.prototype,"showingCardGids",[i],{enumerable:!0,initializer:null}),h=I(s.prototype,"getRect",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(e.ref){var t=e.ref.getBoundingClientRect(),r={width:t.width,height:t.height,top:t.top,left:t.left};(0,k.default)(r,(0,j.toJS)(e.ourRect))||(e.ourRect=r);var n=[];e.gridRefs&&(e.gridRefs.forEach(function(e){if(e){var t=e.getBoundingClientRect(),r={width:t.width,height:t.height,top:t.top,left:t.left};n.push(r)}}),(0,k.default)(n,(0,j.toJS)(e.gridRects))||(e.gridRects=n))}}}}),y=I(s.prototype,"checkPropChanges",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.cardsDidChange=e.cardsDidChange||-999!==e.newestSeenCardsProp&&!(0,k.default)(e.props.cards,e.newestSeenCardsProp);var t=!!e.props.holdNotYetDrawn!=!!e.newestSeenHoldNotYetDrawnProp;e.newestSeenCardsProp=e.props.cards.slice(),e.newestSeenHoldNotYetDrawnProp=e.props.holdNotYetDrawn,(e.cardsDidChange||t)&&(e.mounted&&e.props.autoAnimate&&!e.props.socketsOnl
1y?e.animationCheckpoint():(e.showingCardGids=e.props.cards.slice(),e.cardsDidChange=!1))}}}),g=I(s.prototype,"handlePhase",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(e.mounted){e.transitioning,e.transitionPhase;"prep"===e.transitionPhase?(e.transitionPhase="move",setTimeout(e.handlePhase,e.realDuration)):"move"===e.transitionPhase?(e.transitionPhase="end",setTimeout(e.handlePhase,50)):"end"===e.transitionPhase&&(e.transitionPhase="static",e.transitioning=!1,e.animationCheckpoint())}}}}),b=I(s.prototype,"animationCheckpoint",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(e.mounted&&!e.transitioning&&e.props.autoAnimate&&!e.props.socketsOnly)return"notYetDrawn"===e.animationState?(e.cardsDidChange&&(e.showingCardGids=e.props.cards.slice(),e.cardsDidChange=!1),e.props.holdNotYetDrawn?void e.signalDrawInProgress(!1):(e.animationState="drawn",e.transitioning=!0,e.transitionPhase="prep",e.signalDrawInProgress(!0),void setTimeout(e.handlePhase,50))):void("drawn"!==e.animationState?"swept"!==e.animationState||(e.animationState="notYetDrawn"):e.props.holdNotYetDrawn||e.cardsDidChange?(e.animationState="swept",e.transitioning=!0,e.transitionPhase="prep",e.signalDrawInProgress(!0),setTimeout(e.handlePhase,50)):e.signalDrawInProgress(!1))}}}),l=s))||l)||l);t.default=$},,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),a=l(r(1)),o=l(r(97)),i=r(817);function l(e){return e&&e.__esModule?e:{default:e}}r(811);var s=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.state={showing:!0},e.timeout&&(r.state.showing=!1),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,a.default.Component),n(t,[{key:"componentDidMount",value:function(){var e=this;this.timeoutID=setTimeout(function(){e.setState({showing:!0}),e.timeoutID=!1},this.props.timeout)}},{key:"componentWillUnmount",value:function(){this.timeoutID&&clearTimeout(this.timeoutID),this.timeoutID=!1}},{key:"render",value:function(){return this.state.showing?a.default.createElement("div",null,a.default.createElement("div",{style:{position:"relative",width:"100%",height:"400px",textAlign:"center"}},a.default.createElement(i.CSSTransitionGroup,{transitionName:"fade2s",transitionAppear:!0,transitionAppearTimeout:2e3,transitionEnter:!1,transitionLeave:!1},a.default.createElement("div",{style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%,-50%)"}},a.default.createElement(o.default,{size:"30px",black:!0}),a.default.createElement("br",null),a.default.createElement("span",{style:{lineHeight:"1.5em"}},"Hang tight,",a.default.createElement("br",null)," storyteller"))))):null}}]),t}();t.default=s},,,,,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=d(r(1)),s=d(r(0)),u=d(r(64)),c=d(r(13));
1function d(e){return e&&e.__esModule?e:{default:e}}function f(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var p=(a=n=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=f(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.onClickEditBtn=function(e){e.preventDefault(),e.stopPropagation(),n.props.onEdit&&n.props.onEdit()},f(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props,t=e.character,r=e.image,n=e.artGid,a=e.useImage2,i=e.desaturate,s=e.lightbox,d=e.onEdit,f=void 0;t&&(f=t.image),r&&(f=r),a&&(f=t.image2),n&&(f={artGid:n}),f&&f.artGid||(f={artGid:"characterDefault"});var p={xs:"30px",s:"65px",m:"120px",l:"200px"}[this.props.size],m=p;this.props.width100&&(p="100%",m=void 0);var h=o({boxSizing:this.props.width100?"border-box":"content-box",width:p,height:m,margin:"0",display:"inline-block",verticalAlign:"middle",overflow:"hidden"},this.props.style),y={};return d&&(h.position="relative",y.position="absolute",y.top="4px",y.right="3px",y.opacity=.9,y.fontSize={xs:"12px",s:"12px",m:"15px",l:"15px"}[this.props.size]),l.default.createElement("div",{className:"avatar thumbnail",style:h},l.default.createElement(u.default,{width100:!0,image:f,category:"avatar",desaturate:i,lightbox:s}),d&&l.default.createElement(c.default,{onClick:this.onClickEditBtn,style:y},l.default.createElement("span",{className:"sr-only"},"Edit"),l.default.createElement("span",{className:"fa-stack fa-lg"},l.default.createElement("i",{className:"fa fa-square fa-stack-2x"}),l.default.createElement("i",{className:"fa fa-pencil fa-stack-1x fa-inverse"}))))}}]),t}(),n.propTypes={character:s.default.object,artGid:s.default.string,image:s.default.object,size:s.default.oneOf(["xs","s","m","l"]),width100:s.default.bool,style:s.default.object,useImage2:s.default.bool,desaturate:s.default.bool,lightbox:s.default.bool,onEdit:s.default.func},n.defaultProps={character:void 0,image:void 0,artGid:void 0,size:"s",width100:!1,style:{},useImage2:!1,desaturate:!1,lightbox:!1,onEdit:void 0},a);t.default=p},,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),d=g(r(1)),f=g(r(0)),p=r(9),m=r(10),h=g(r(15)),y=r(11);function g(e){return e&&e.__esModule?e:{default:e}}function b(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function v(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function w(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}r(638);var E=(0,p.inject)("$authUser")(n=(0,p.observer)((u=s=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,s=Array(a),u=0;u<a;u++)s[u]=arguments[u];return r=n=v(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(s))),b(n,"toggled",o,n),b(n,"dismissing",i,n),b(n,"toggle",l,n),v(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}
1(t,d.default.Component),c(t,[{key:"render",value:function(){return!!(this.toggled?this.dismissed:!this.dismissed)&&d.default.createElement(y.Alert,{bsStyle:"info",closeLabel:"close tip",onDismiss:this.toggle,style:this.props.style},d.default.createElement("div",{className:"newbie-tip-icon"},d.default.createElement(h.default,{name:"info-circle",size:"2x",onClick:this.toggle})),d.default.createElement("div",{className:"newbie-tip-content"},this.props.children))}},{key:"newCsvValue",get:function(){var e=this.props.$authUser;return e.preferences&&e.preferences.skip_newbie_tips_csv?e.preferences.skip_newbie_tips_csv.split(",").concat([this.props.id]).join(","):this.props.id}},{key:"dismissed",get:function(){var e=this.props.$authUser;return e.pid&&e.preferences&&e.preferences.skip_newbie_tips_csv&&e.preferences.skip_newbie_tips_csv.split(",").indexOf(this.props.id)>=0}}]),t}(),s.propTypes={id:f.default.string.isRequired,$authUser:f.default.object.isRequired,children:f.default.any.isRequired},o=w((a=u).prototype,"toggled",[m.observable],{enumerable:!0,initializer:function(){return!1}}),i=w(a.prototype,"dismissing",[m.observable],{enumerable:!0,initializer:function(){return!1}}),l=w(a.prototype,"toggle",[m.action],{enumerable:!0,initializer:function(){var e=this;return function(t){t.preventDefault();var r=e.props.$authUser;e.dismissed?e.toggled=!e.toggled:(e.dismissing=!0,r.setPreference("skip_newbie_tips_csv",e.newCsvValue).then((0,m.action)(function(){e.dismissing=!1,e.toggled=!1})).catch((0,m.action)(function(){e.dismissing=!1,e.toggled=!1})))}}}),n=a))||n)||n;t.default=E},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AssetImage=t.aspectRatios=t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=h(r(1)),s=h(r(0)),u=r(354),c=h(r(17)),d=r(9),f=h(r(19)),p=h(r(678)),m=h(r(13));function h(e){return e&&e.__esModule?e:{default:e}}var y=(0,f.default)("AssetImage"),g=(0,d.inject)("$gameplay","$tracking")(n=(0,d.observer)((o=a=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.handleClick=function(e){r.props.lightbox&&(e.preventDefault(),r.setState({lightboxOpen:!0}),r.props.$tracking.event("misc","lightbox_open")),r.props.onClick&&(e.preventDefault(),r.props.onClick(e))},r.handleCloseLightbox=function(){r.setState({lightboxOpen:!1})},r.state={lightboxOpen:!1},r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props,t=e.$gameplay,r=e.image,n=e.artGid,a=e.category,o=e.width100,i=e.width,s=e.lightbox,c=e.desaturate,d=(e.onClick,e.containerOnly),f=e.containerBgColor,h=(0,u.getImageDims)(a,{width:i||void 0}),g={},b={};s&&(g.cursor="pointer"),g.position="relative",g.overflow="hidden",g.backgroundColor=f,b.position="absolute",b.top="0",b.left="0",o?(g.width="100%",g.paddingBottom=1*h.height/h.width*100+"%",b.width="100%"):(g.width=h.width+"px",g.height=h.height+"px",b.width=h.width+"px",b.height=h.height+"px");var v=l.default.createElement("div",{style:g,onClick:this.handleClick});if(d)return v;var w=void 0;if(r&&(w=r),n&&(w={artGid:n}),!w)return y.warn("AssetImage rendering only container due to lack of image/artGid props"),v;var E=void 0;if(w&&w.artInclude)E=w.artInclude;else if(w&&w.artUpload)E=w.artUpload;else{var k=t.gsm;if(!k)return y.warn("AssetImage rendering only container due to lack of gsm"),v;E=k.state.art[w.artGid]}if(!E)return y.warn("AssetImage rendering only container due to lack of an art asset"),v;var _=l.default.createElement("div",{style:g,onClick:this.handleClick},l.default.createElement("img",{style:b,src:(0,u.getImageUrl)(E.assetId,a,{desaturate:c,width:h.width}),alt:E.altText}));if(this.state.lightboxOpen){var C="";return E.attributionUrl&&!E.attributionText&&(C=l.default.createElement(m.default,{sanitize:!0,external:!0,to:E.attributionUrl},"Image source")),!E.attributionUrl&&E.attributionText&&(C=E.attributionText),E.attributionUrl&&E.attributionText&&(C=l.default.createElement(m.default,{sanitize:!0,external:!0,to:E.attributionUrl},E.attributionText)),l.default.createElement("div",null,_,l.default.createElement(p.default,{mainSrc:(0,u.getImageUrl)(E.assetId,a,{original:!0}),onCloseRequest:this.handleCloseLightbox,imageCaption:C}
1))}return _}}]),t}(),a.propTypes={$gameplay:s.default.object.isRequired,$tracking:s.default.object.isRequired,image:s.default.object,artGid:s.default.string,category:s.default.oneOf(c.default.artCategories).isRequired,width100:s.default.bool,width:s.default.number,lightbox:s.default.bool,desaturate:s.default.bool,onClick:s.default.func,containerOnly:s.default.bool,containerBgColor:s.default.string},a.defaultProps={image:void 0,artGid:void 0,width100:!1,width:void 0,lightbox:!1,desaturate:!1,containerOnly:!1,containerBgColor:"#eee"},n=o))||n)||n;t.default=g,t.aspectRatios={card:200/140,user:1,avatar:1,character:1,charTypeAvatar1:1,charTypeAvatar2:1,move:3.25,scene:3.25,banner:3.25},t.AssetImage=g},,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=m(r(1)),s=m(r(0)),u=m(r(17)),c=r(9),d=m(r(64)),f=m(r(19));r(337);var p=m(r(15));function m(e){return e&&e.__esModule?e:{default:e}}r(336);var h=(0,f.default)("Card"),y=(0,c.inject)("$gameplay")(n=(0,c.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$gameplay.gsm,t=this.props.desaturate;if(!this.props.card&&!this.props.gid&&!this.props.incompleteCard)return h.warn("Card component did not receive a card or gid or incompleteCard prop"),!1;var r=this.props.card||this.props.incompleteCard||e.state.cards[this.props.gid];if(!r)return h.warn("Card component could not resolve the card data"),!1;var n=["card"];r.kind&&!t&&n.push(r.kind),0!==r.polarity&&n.push(r.polarity>0?"positive":"negative");var a=l.default.createElement(p.default,{name:"circle",style:{opacity:0}}),o="ckBond"===r.kind&&(this.props.renderAsBondToCharacter||r.toCharacterGid&&e.state.characters[r.toCharacterGid]);return l.default.createElement("div",{className:n.join(" ")},l.default.createElement("div",{className:"card-inner"},l.default.createElement("div",{className:"card-inner2"},l.default.createElement("div",{className:"top-label"},l.default.createElement("div",{className:"kind-icon"},l.default.createElement(p.default,{name:e.kindIcon(r.kind)})),l.default.createElement("div",{className:"kind",style:{textAlign:"center"}},e.prettyKind(r.kind)),l.default.createElement("div",{className:"polarity-icon"},1===r.polarity?l.default.createElement(p.default,{name:"plus-circle"}):-1===r.polarity?l.default.createElement(p.default,{name:"minus-circle"}):a)),l.default.createElement("div",{className:"art"},r.image?l.default.createElement(d.default,{image:r.image,category:"card",lightbox:!this.props.noLightbox,width100:!0,desaturate:t}):l.default.createElement("div",{className:"img-placeholder",alt:"empty card image placeholder"},l.default.createElement("div",{className:"icon adjust-"+r.kind},l.default.createElement(p.default,{name:e.kindIcon(r.kind),size:"5x"}))),l.default.createElement("div",{className:"edge"})),l.default.createElement("div",{className:"content-outer"},o?l.default.createElement("div",{className:"content"},l.default.createElement("span",{className:"bond-possessive"},o.name,"âs")," ",r.name):l.default.createElement("div",{className:"content"},r.name)))),l.default.createElement("div",{className:"card-gradient"}),l.default.createElement("div",{className:"card-texture"}))}}]),t}(),a.propTypes={$gameplay:s.default.object.isRequired,card:u.default.propT
1ypes.cardPreview,incompleteCard:s.default.object,gid:u.default.propTypes.gid,renderAsBondToCharacter:s.default.any,noLightbox:s.default.bool,desaturate:s.default.bool},a.defaultProps={card:null,gid:null,renderAsBondToCharacter:!1,noLightbox:!1,desaturate:!1},n=o))||n)||n;t.default=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=(""+e).trim();return""===t?0:t.split(/\s+/).length}},,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=g(r(50)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=g(r(1)),u=g(r(0)),c=r(9),d=g(r(13)),f=(g(r(17)),g(r(64))),p=g(r(350)),m=g(r(377));r(662);var h=g(r(15)),y=r(123);function g(e){return e&&e.__esModule?e:{default:e}}var b=(0,c.inject)("$userInfo","$dashboard")(n=(0,c.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=this.props,t=e.link,r=e.vob,n=e.gsmState,a=e.deleteLink,o=e.onDeleted,l=e.showAuthor,u=e.showTags,c=e.$userInfo,g=e.yourTurnHighlight,b=void 0;if(n&&(b={is_deck:n.isDeck,deck_grades:n.deckGrades,deck_subjects:n.deckSubjects,organizer_user_pid:n.organizerUserPid,game_pid:n.gamePid,is_class_copy:n.isClassCopy,slug:n.slug,image:n.image,name:n.name,created_at_unix:n.createdAtUnix,cc_orig_deck_created_by_user_pid:n.ccOrigDeckCreatedByUserPid,classroom_pid:n.classroomPid,library_recommended:!1}),r&&(b={is_deck:r.is_deck,deck_grades:r.deck_grades,deck_subjects:r.deck_subjects,organizer_user_pid:r.organizer_user_pid,game_pid:r.game_pid,is_class_copy:r.is_class_copy,slug:r.slug,image:r.image,name:r.name,deck_versions_meta:r.deck_versions_meta,created_at_unix:r.created_at_unix,cc_orig_deck_created_by_user_pid:r.cc_orig_deck_created_by_user_pid,classroom_pid:r.classroom_pid,library_recommended:r.library_recommended}),!b)throw new Error("banner component requires gsmState or vob prop");var v=t?"/"+(b.is_deck?"storyworld":"game")+"/"+b.slug:null,w=t?d.default:"div",E=u&&b.is_deck&&b.deck_grades&&b.deck_subjects&&b.organizer_user_pid,k=this.props.versionUpgradeOverlays&&b.deck_versions_meta&&(0,i.default)(b.deck_versions_meta.pubPids)!==b.game_pid,_=!1,C=!1,S=!1;if(this.props.showGameClassAndPlayers&&b.classroom_pid){var P=this.props.$dashboard;P.dashboard.classrooms[b.classroom_pid]&&(C=P.dashboard.classrooms[b.classroom_pid].name),P.dashboard.games[b.game_pid]&&(S=P.dashboard.games[b.game_pid].character_user_pids),_=!!C&&!!S}return s.default.createElement("div",{className:"banner-outer"+(g?" your-turn-highlight":""),"data-p":"banner","data-pid":b.game_pid,"data-slug":b.slug},g&&s.default.createElement("p",{className:"your-turn-message"},s.default.createElement(m.default,null),"yt_move"===g&&s.default.createElement("span",null,"Itâs your turn to move."),"yt_chargen"===g&&s.default.createElement("span",null,"Itâs time to create your character."),"yt_organize"===g&&s.default.createElement("span",null,"As the organizer, itâs your job to start this game once everyone is ready.")),s.default.createElement(w,{to:v,className:"thumbnail banner","data-p":"thumbnail"},b.image&&b.image.artInclude?s.default.createElement(f.default,{image:b.image,category:"banner",width100:!0,lightbox:!t}):b.image&&b.image.artGid?s.default.createElement(f.default,{image:b.image,category:"banner",width100:!0,lightbox:!t}):s.default.createElement("div",{style:{width:"100%",paddingTop:"32.5%",backgroundColor:"#ccc"}}),b.library_recommended&&s.default.createElement("div",{className:"library-recommended"},"StoriumEdu recommended"),s.default.createElement("div",{className:"caption"},s.default.createElement("h3",{style:{margin:0},"data-p":"game_name"},b.name),(l||E)&&s.default.createElement("div",{className:"deck-detail
1s"},l&&!t&&c.profilePath(b.organizer_user_pid)&&s.default.createElement("p",{className:"deck-author","data-p":"banner_deck_author_linked"},"by ",s.default.createElement(d.default,{to:c.profilePath(b.organizer_user_pid)},c.displayName(b.organizer_user_pid))),l&&(t||!c.profilePath(b.organizer_user_pid))&&s.default.createElement("p",{className:"deck-author","data-p":"banner_deck_author_unlinked"},"by ",c.displayName(b.organizer_user_pid)),E&&s.default.createElement("div",{className:"tag-lines"},b.deck_grades&&s.default.createElement("p",{className:"deck-subject-tag-line left",style:{margin:0}},b.deck_grades.map(function(e,t){return s.default.createElement("span",{key:t},0!==t&&s.default.createElement("span",null,s.default.createElement("span",{className:"sep"},",")," "),s.default.createElement("span",{className:"deck-subject-tag"},e))})),b.deck_subjects&&s.default.createElement("p",{className:"deck-subject-tag-line right",style:{margin:0}},b.deck_subjects.map(function(e,t){return s.default.createElement("span",{key:t},0!==t&&s.default.createElement("span",null,s.default.createElement("span",{className:"sep"},",")," "),s.default.createElement("span",{className:"deck-subject-tag"},e))})))),b.is_class_copy&&s.default.createElement("div",{className:"class-copy-info","data-p":"class_copy_info"},"Copied from a storyworld originally by"," ",c.displayName(b.cc_orig_deck_created_by_user_pid)," ","on ",(0,y.YMDunix)(b.created_at_unix)),k&&s.default.createElement("div",{className:"upgrade-overlay","data-
1p":"upgrade_available_overlay"},s.default.createElement(h.default,{name:"info-circle"})," New version available"),_&&s.default.createElement("div",{className:"deck-details"},s.default.createElement("p",{className:"classroom-and-players"},"Classroom: ",C,s.default.createElement("br",null),"Players: ",S.map(function(e){return c.displayName(e)}).join(", "))))),a&&s.default.createElement(p.default,{gamePid:b.game_pid,slug:b.slug,onDeleted:o,visualStyle:"bannerCallout"}))}}]),t}(),a.propTypes={$userInfo:u.default.object.isRequired,$dashboard:u.default.object.isRequired,vob:u.default.object,gsmState:u.default.object,link:u.default.bool,deleteLink:u.default.bool,onDeleted:u.default.func,showAuthor:u.default.bool,showTags:u.default.bool,yourTurnHighlight:u.default.string,versionUpgradeOverlays:u.default.bool,showGameClassAndPlayers:u.default.bool},a.defaultProps={link:!1,deleteLink:!1,onDeleted:void 0,showAuthor:!1,showTags:!1,versionUpgradeOverlays:!1,vob:void 0,gsmState:void 0,showGameClassAndPlayers:!1},n=o))||n)||n;t.default=b},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return(0,n.default)(""+Math.random()+Math.random()+Math.random()+Math.random())};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(774))},,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.openArtChooserViaRef=t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w,E,k,_,C,S,P,O=G(r(35)),T=G(r(31)),j=G(r(27)),x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},M=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),z=G(r(1)),A=G(r(0)),I=r(11),$=r(12),D=r(9),N=r(10),R=r(64),B=G(r(330)),U=G(r(329));function G(e){return e&&e.__esModule?e:{default:e}}function F(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function q(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function L(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var V=(n=function(){function e(t,r){var n=this;q(this,e),F(this,"artCategory",a,this),F(this,"libraryUploadOnly",o,this),F(this,"currentImage",i,this),F(this,"uploadError",l,this),F(this,"chosenImage",s,this),F(this,"isSaving",u,this),F(this,"metaEditorShowing",c,this),F(this,"mainState",d,this),this.onToggle=void 0,F(this,"setLibraryUploadOnly",f,this),F(this,"setArtCategory",p,this),F(this,"setCurrentImage",m,this),F(this,"open",h,this),F(this,"cancel",y,this),F(this,"showLibraryChooser",g,this),F(this,"selectGid",b,this),F(this,"proceedToChosen",v,this),this.setOnComplete=function(e){return n.onComplete=e},F(this,"save",w,this),F(this,"remove",E,this),this.launchWidget=function(){(0,U.default)({category:n.artCategory,onSuccess:(0,N.action)(function(e){n.chosenImage=e,n.uploadError=!1,n.mainState="chosenImageState"}),onFail:(0,N.action)(function(){n.uploadError=!0}),onClose:(0,N.action)(function(){n.uploadError=!1})})},F(this,"doneEditMeta",k,this),F(this,"setMetaEditorShowing",_,this),this.generatedArtAsset=function(){if(n.chosenImage){if(n.chosenImage.artUpload)return n.chosenImage.artUpload;if(n.chosenImage.artGid)return x({},n.gsm.state.art[n.chosenImage.artGid],n.chosenImage.setAttribution)}},this.$gameplay=t,this.$authUser=r}return M(e,[{key:"gsm",get:function(){return this.$gameplay.gsm}},{key:"initialOpenState",get:function(){return this.$authUser.is_under_13?"chooseImageState":"chooseMethodState"}},{key:"mainButtonIsDisabled",get:function(){return this.$authUser.is_under_13&&this.libraryUploadOnly}}]),e}(),a=L(n.prototype,"artCategory",[N.observable],{enumerable:!0,initializer:null}),o=L(n.prototype,"libraryUploadOnly",[N.observable],{enumerable:!0,initializer:null}),i=L(n.prototype,"currentImage",[N.observable],{enumerable:!0,initializer:null}),l=L(n.prototype,"uploadError",[N.observable],{enumerable:!0,initializer:null}),s=L(n.prototype,"chosenImage",[N.observable],{enumerable:!0,initializer:null}),u=L(n.prototype,"isSaving",[N.observable],{enumerable:!0,initializer:null}),c=L(n.prototype,"metaEditorShowing",[N.observable],{enumerable:!0,initializer:null}),d=L(n.prototype,"mainState",[N.observable],{enumerable:!0,initializer:function(){return"closedState"}}),L(n.prototype,"gsm",[N.computed],Object.getOwnPropertyDescriptor(n.prototype,"gsm"),n.prototype),L(n.prototype,"initialOpenState",[N.computed],Object.getOwnPropertyDescriptor(n.prototype,"initialOpenState"),n.prototype),f=L(n.prototype,"setLibraryUploadOnly",[N.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.libraryUploadOnly=!!t}}}),L(n.prototype,"mainButtonIsDisabled",[N.computed],Object.getOwnPropertyDescriptor(n.prototype,"mainButtonIsDisabled"),n.prototype),p=L(n.prototype,"setArtCategory",[N.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.artCategory=t}}}),m=L(n.prototype,"setCurrentImage",[N.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.currentImage=t}}}),h=L(n.prototype,"open",[N.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.libraryUploadOnly?e.launchWidget():(e.mainState=e.initialOpenState,e.chosenImage=!1,e.currentImage&&(e.mainState="chosenImageState",e.chosenImage=JSON.parse(JSON.stringify(e.currentImage))),e.uploadError=!1,e.isSaving=!1,e.onToggle&&e.onToggle(!0))}}}),y=L(n.prototype,"cancel",[N.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.mainState="closedState",e.isSaving=!1,e.onToggle&&e.onToggle(!1)}}}),g=L(n.prototype,"showLibraryChooser",[N.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.mainState="chooseImageState",e.chosenImage=!1}}}),b=L(n.prototype,"selectGid",[N.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.chosenImage={artGid:t}}}}),v=L(n.prototype,"proceedToChosen",[N.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.chosenImage&&(e.mainState="chosenImageState")}}}),w=L(n.prototype,"save",[N.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(e.onComplete){var t=e.onComplete(e.chosenImage);t&&t.then?(e.isSaving=!0,t.then((0,N.action)(function(){e.isSaving=!1,e.mainState="closedState",e.onToggle&&e.onToggle(!1)}),(0,N.action)(function(){e.isSaving=!1}))):(e.mainState="closedState",e.onToggle&&e.onToggle(!1))}}}}),E=L(n.prototype,"remove",[N.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(e.onComplete){var t=e.onComplete(!1);t&&t.then?(e.isRemoving=!0,t.then((0,N.action)(function(){e.isRemoving=!1,e.chosenImage=!1,e.mainState="closedState",e.onToggle&&e.onToggle(!1)}),(0,N.action)(function(){e.isRemoving=!1}))):(e.mainState="closedState",e.chosenImage=!1,e.onToggle&&e.onToggle(!1))}}}}),k=L(n.prototype,"doneEditMeta",[N.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return t&&(e.chosenImage.artUpload?(e.chosenImage.artUpload.attributionUrl=t.attributionUrl,e.chosenImage.artUpload.attributionText=t.attributionText,e.chosenImage.artUpload.altText=t.altText):(e.chosenImage.setAttribution={},e.chosenImage.setAttribution.attributionUrl=t.attributionUrl,e.chosenImage.setAttribution.attributionText=t.attributionText,e.chosenImage.setAttribution.altText=t.altText)),!1}}}),_=L(n.prototype,"setMetaEditorShowing",[N.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.metaEditorShowing=t}}}),n),H=(0,D.observer)(function(e){var t=e.store,r=t.currentImage?"Edit Image":"Add Image";return z.default.createElement(I.Modal,{show:!0},z.default.createElement(I.Modal.Header,null,r),z.default.createElement(I.Modal.Body,null,z.default.createElement("div",{className:"padded-grid"},z.default.createElement($.ActionButton,{style:{padding:"30px",flex:"1"},onClick:t.launchWidget},"Upload"),z.default.createElement($.ActionButton,{style:{padding:"30px",flex:"1"},onClick:t.showLibraryChooser},"Choose from library")),t.uploadError&&z.default.createElement(I.Alert,{bsStyle:"danger"},"There was a problem uploading the image. Please reload the page and try again. If the problem persists, please have your teacher contact us at [email protected] and we will be happy to help. (You might also try a different browser, and/or disabling any extensions that might block scripts. We recommend running the latest version of Google Chrome or Mozilla Firefox if you are not already using one of them.)")),z.default.createElement(I.Modal.Footer,null,z.default.createElement($.Footer,null,z.default.createElement($.CancelButton,{onClick:t.cancel}))))}),W=(0,D.observer)(function(e){var t=e.store,r=(0,j.default)((0,T.default)(t.gsm.state.art),function(e){return!e.match(/default/i)}),n=(r=(0,O.default)(r,function(e){return t.gsm.intGid(e)})).length>6,a=t.currentImage?"Edit Image":"Add Image";return z.default.createElement(I.Modal,{show:!0,dialogClassName:n?"full-width-modal":""},z.default.createElement(I.Modal.Header,null,a),z.default.createElement(I.Modal.Body,null,z.default.createElement("div",{className:"padded-grid"},r.map(function(e){return z.default.createElement("div",{key:e,className:"grid-item-selectable "+(t.chosenImage&&t.chosenImage.artGid===e?"grid-item-selected":"")},z.default.createElement(R.AssetImage,{artGid:e,category:t.artCategory,width:200,onClick:function(){return t.selectGid(e)}}))})),0===r.length&&z.default.createElement("p",null,z.default.createElement("em",null,"There are currently no images in this gameâs image library. Please use the upload function to add an image."))),z.default.createElement(I.Modal.Footer,null,z.default.createElement($.Footer,null,z.default.createElement($.CancelButton,{onClick:t.cancel}),z.default.createElement($.ActionButton,{onClick:t.proceedToChosen,label:"Continue",disabled:!t.chosenImage}))))}),K=(0,D.observer)(function(e){var t=e.store,r=t.currentImage?"Edit Image":"Add Image";return z.default.createElement(I.Modal,{keyboard:!1,backdrop:"static",show:!0},t.metaEditorShowing&&z.default.createElement("div",{className:"modal-suppressor"}),z.default.createElement(I.Modal.Header,null,r),z.default.createElement(I.Modal.Body,null,z.default.createElement("div",{className:"text-center"},z.default.createElement("div",{className:"center-children-via-flex"},z.default.createElement(R.AssetImage,{image:t.chosenImage,category:t.artCategory,width100:"banner"===t.artCategory})),z.default.createElement("br",null),z.default.createElement(B.default,{linkOrButton:"button",artAsset:t.generatedArtAsset(),onOpenChange:t.setMetaEditorShowing,onComplete:t.doneEditMeta}))),z.default.createElement(I.Modal.Footer,null,z.default.createElement($.Footer,null,z.default.createElement($.CancelButton,{onClick:t.cancel}),t.currentImage&&z.default.createElement($.ActionButton,{onClick:t.remove,label:"Remove",bsStyle:"info",icon:"trash",spinning:t.isRemoving}),z.default.createElement($.DoneButton,{onClick:t.save,label:"Done",spinning:t.isSaving}))))}),Y=(0,D.observer)(function(e){var t=e.store,r=e.isRequired,n=e.orange,a=r?t.currentImage?"info":n?"warning":"primary":"info";return z.default.createElement($.ActionButton,{onClick:t.open,icon:"camera",disabled:t.mainButtonIsDisabled,bsStyle:a},t.currentImage?"Edit Image":"Add Image")}),J=(0,D.inject)("$gameplay","$authUser")(C=(0,D.observer)((P=S=function(e){function t(e){q(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r._openViaRef=function(){r.store.open()},r.store=new V(e.$gameplay,e.$authUser),r.store.setArtCategory(r.props.artCategory),r.store.setCurrentImage(r.props.currentImage),r.store.setOnComplete(r.props.onComplete),r.store.onToggle=r.props.onToggle,r.store.setLibraryUploadOnly(r.props.libraryUploadOnly),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}
1(t,z.default.Component),M(t,[{key:"componentWillReceiveProps",value:function(e){this.store.setArtCategory(e.artCategory),this.store.setCurrentImage(e.currentImage),this.store.setOnComplete(this.props.onComplete),this.store.onToggle=e.onToggle,this.store.setLibraryUploadOnly(this.props.libraryUploadOnly)}},{key:"render",value:function(){var e=this.store,t=z.default.createElement(Y,{store:e,isRequired:this.props.isRequired,orange:this.props.orange});return"closedState"===e.mainState?!this.props.externallyTriggered&&t:z.default.createElement("div",{style:{display:"inline-block"}},"chooseMethodState"===e.mainState&&z.default.createElement(H,{store:e}),"chooseImageState"===e.mainState&&z.default.createElement(W,{store:e}),"chosenImageState"===e.mainState&&z.default.createElement(K,{store:e}),!this.props.externallyTriggered&&t)}}]),t}(),S.propTypes={$gameplay:A.default.object.isRequired,$authUser:A.default.object.isRequired,currentImage:A.default.any,artCategory:A.default.any.isRequired,onComplete:A.default.func.isRequired,isRequired:A.default.bool,orange:A.default.bool,onToggle:A.default.func,libraryUploadOnly:A.default.bool,externallyTriggered:A.default.bool},S.defaultProps={currentImage:!1,isRequired:!1,orange:!1,onToggle:void 0,libraryUploadOnly:!1,externallyTriggered:!1},C=P))||C)||C;t.default=J,t.openArtChooserViaRef=function(e){e.wrappedInstance._openViaRef()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),i=s(r(1)),l=s(r(0));function s(e){return e&&e.__esModule?e:{default:e}}var u=(a=n=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.Component),o(t,[{key:"render",value:function(){var e=this.props.tasks,t=this.props.toWhat,r=e&&e.map(function(e){if("requiredActionWriteBlurb"===e)return"write your move";if("requiredActionDrawCards"===e)return"draw cards";if("requiredActionChooseCard"===e)return"pick a card";if("requiredActionChooseAvatar"===e)return"pick an avatar";if("requiredActionChooseName"===e)return"pick a name";if("requiredActionChooseCharacterType"===e)return"pick a character type";if("requiredActionChooseTieBreaker"===e)return"pick an outcome card";throw new Error("unrecognized task value for RequiredActionTip",e)}).join(", ");return!!r&&(t?i.default.createElement("span",{className:"vertically-last"},i.default.createElement("em",null,t.charAt(0).toUpperCase()+t.slice(1),": ",r)):i.default.createElement("span",{className:"vertically-last"},i.default.createElement("em",null,r.charAt(0).toUpperCase()+r.slice(1))))}}]),t}(),n.propTypes={tasks:l.default.array,toWhat:l.default.string},n.defaultProps={tasks:void 0,toWhat:void 0},a);t.default=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=f(r(1)),u=f(r(0)),c=r(9),d=r(654);
1function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,c.inject)("$gameplay","$blurbs")(n=(0,c.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=(0,d.playerMarkdownCached)(this.props.$blurbs.smart(this.props.$gameplay.gamePid,this.props.blurb)),t=this.props,r=(t.$gameplay,t.$blurbs,t.blurb,function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}(t,["$gameplay","$blurbs","blurb"]));return s.default.createElement("div",i({dangerouslySetInnerHTML:{__html:e}},r))}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$blurbs:u.default.object.isRequired,blurb:u.default.oneOfType([u.default.shape({content:u.default.string.isRequired}),u.default.shape({bid:u.default.number.isRequired})]).isRequired},n=o))||n)||n;t.default=p},,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=i(r(1)),o=i(r(0));function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}var s=function(e){var t=e.size,r=e.white,o=e.black,i=l(e,["size","white","black"]),s=(r?"#FFF":o&&"#000")||"#FFF";return a.default.createElement("svg",n({width:t,height:t,viewBox:"0 0 10 10",xmlns:"http://www.w3.org/2000/svg",stroke:s},i),a.default.createElement("g",{fill:"none",fillRule:"evenodd"},a.default.createElement("g",{strokeWidth:"1.5"},a.default.createElement("circle",{strokeOpacity:".25",cx:"5",cy:"5",r:"4"}),a.default.createElement("g",{transform:"rotate(30 5 5)"},a.default.createElement("path",{strokeOpacity:".33",d:"M 5,1 a4,4 0 0,1 4,4"},a.default.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 5 5",to:"360 5 5",dur:"0.5s",repeatCount:"indefinite"}))),a.default.createElement("g",{transform:"rotate(15 5 5)"},a.default.createElement("path",{strokeOpacity:".33",d:"M 5,1 a4,4 0 0,1 4,4"},a.default.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 5 5",to:"360 5 5",dur:"0.5s",repeatCount:"indefinite"}))),a.default.createElement("path",{strokeOpacity:".33",d:"M 5,1 a4,4 0 0,1 4,4"},a.default.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 5 5",to:"360 5 5",dur:"0.5s",repeatCount:"indefinite"})))))};s.propTypes={size:o.default.string,white:o.default.bool,black:o.default.bool},s.defaultProps={size:"15px",white:!1,black:!1},(s.Span=function(e){var t=e.spinning,r=e.white,o=e.black,i=e.size,u=e.children,c=l(e,["spinning","white","black","size","children"]);return a.default.createElement("span",n({style:{position:"relative"}},c),t&&a.default.createElement(s,{white:r,black:o,size:i,style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%,-50%)"}}),a.default.createElement("span",{style:{opacity:t?"0":"1"}},u))}).propTypes={spinning:o.default.bool,size:o.default.string,white:o.default.bool,black:o.default.bool,children:o.default.any.isRequired},s.Span.defaultProps={spinning:!1,size:void 0,white:void 0,black:void 0},t.default=s},,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];
1for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=l(r(1)),o=l(r(169)),i=l(r(0));function l(e){return e&&e.__esModule?e:{default:e}}var s=function(e){var t=e.noBorder,r=function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}(e,["noBorder"]);return a.default.createElement(o.default,n({className:"fancy-textarea "+(t?"no-border":""),minRows:4},r))};s.propTypes={noBorder:i.default.bool},s.defaultProps={noBorder:!1},t.default=s},function(e,t,r){"use strict";function n(e,t,r){if(!e||!t||"number"!=typeof e||"number"!=typeof t)return"";var n=r||{},a=e-t;if(a<=1e4)return"just now";var o=void 0,i=void 0,l=!1;if(a<6e4)o=Math.round(a/1e3),i="second";else if(a<36e5)o=Math.round(a/6e4),i="minute";else if(a<864e5)o=Math.round(a/36e5),i="hour";else if(a<2592e6)l=!0,o=Math.round(a/864e5),i="day";else if(a<31536e6)l=!0,o=Math.round(a/2592e6),i="month";else{if(a>63072e7)return"";l=!0,o=Math.round(a/31536e6),i="year"}return!1===n.about&&(l=!1),(l?"about ":"")+o+" "+i+(1!==o?"s":"")+" ago"}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n,t.movePublishedAt=function(e,t){if(!e||!t||"number"!=typeof e||"number"!=typeof t)return"";if(e-t>=12096e5){var r=new Date(t);return r.getMonth()+1+"/"+r.getDate()+"/"+r.getFullYear()}return n(e,t,{about:!1})},t.YMDunix=function(e){var t=new Date(1e3*e);return t.getMonth()+1+"/"+t.getDate()+"/"+t.getFullYear()},t.YMD=function(e){return e.getMonth()+1+"/"+e.getDate()+"/"+e.getFullYear()}},,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return Math.floor((e||new Date).getTime()/1e3)}},,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),i=u(r(1)),l=u(r(0)),s=u(r(76));function u(e){return e&&e.__esModule?e:{default:e}}var c=(a=n=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.Component),o(t,[{key:"render",value:function(){var e=(0,s.default)(this.props.text);return i.default.createElement("p",{className:"text-right"},e," word",1===e?"":"s")}}]),t}(),n.propTypes={text:l.default.string.isRequired},a);t.default=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return e&&e.__esModule?e:{default:e}}(r(1));t.default=function(){return n.default.createElement("div",{"data-p":"not-found-page",style:{margin:"0 auto",padding:"100px 50px 50px",textAlign:"center",maxWidth:"500px"}},n.default.createElement("h2",null,"Oops, thereâs ",n.default.createElement("span",{style:{whiteSpace:"nowrap"}},"nothing here.")),n.default.createElement("p",null,"The page you were looking for does not exist."))}},,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=i(r(1)),o=i(r(7));function i(e){return e&&e.__esModule?e:{default:e}}var l={HorizGrid:function(e){var t=e.collapse,r=e.style,i=e.className,l=e.children,s=e.wideButtons,u=e.gapped,c=e.mb10,d=e.mb20,f=e.packRight,p=e.packLeft,m=function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}(e,["collapse","style","className","children","wideButtons","gapped","mb10","mb20","packRight","packLeft"]),h=(0,o.default)({"flex-row-justify":!0,"mobile-columnify":!!t,"mobile-wide-btns":!!s,mb10:!!c,mb20:!!d,gapped:!!u,"pack-right":!!f,"pack-left":!!p},i),y=n({},r);return a.default.createElement("div",n({style:y,className:h},m),l)}};t.default=l},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d=w(r(26)),f=w(r(150)),p=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),m=w(r(1)),h=w(r(0)),y=w(r(332)),g=w(r(75)),b=r(9),v=r(10);function w(e){return e&&e.__esModule?e:{default:e}}function E(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function k(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var _=(0,b.inject)("$gameplay","$tracking")(n=(0,b.observer)((u=s=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return c.call(r),r.setSelectedIndexFromProps(e),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}
1(t,m.default.Component),p(t,[{key:"componentWillReceiveProps",value:function(e){this.setSelectedIndexFromProps(e)}},{key:"render",value:function(){return m.default.createElement(y.default,{id:this.props.id,choices:this.scrollChooserChoices(this.props),selected:this.selectedKey(this.props),onChange:this.handleChange,noDeselectAllowed:this.props.noDeselectAllowed})}}]),t}(),s.propTypes={$gameplay:h.default.object.isRequired,$tracking:h.default.object.isRequired,choices:h.default.array.isRequired,selected:h.default.any,onChange:h.default.func.isRequired,id:h.default.string.isRequired,renderAsBondToCharacter:h.default.any,useCase:h.default.string.isRequired,noDeselectAllowed:h.default.bool},s.defaultProps={selected:!1,renderAsBondToCharacter:!1,noDeselectAllowed:!1},c=function(){var e=this;E(this,"selectedIndex",o,this),this.sortedGids=function(e){var t=e.choices.map(function(e){return e.gid||e});return e.$gameplay.gsm.cardGidsDisplaySorted(t)},this.scrollChooserChoices=function(t){return t.choices.map(function(e){return e.gid||e}).forEach(function(r){e.props.$gameplay.gsm.state.cards[r]||e.props.$tracking.trackErrorOnce("card picker gid not found in gsm",{gid:r+"",choices:t.choices,useCase:e.props.useCase})}),e.sortedGids(t).map(function(t,r){return{key:t+";;"+r,gid:t,content:m.default.createElement(g.default,{gid:t,noLightbox:!0,renderAsBondToCharacter:e.props.renderAsBondToCharacter})}})},this.selectedGid=function(t){return!1!==e.selectedIndex&&e.scrollChooserChoices(t)[e.selectedIndex].gid},this.selectedKey=function(t){return!1!==e.selectedIndex&&e.selectedGid(t)+";;"+e.selectedIndex},E(this,"setSelectedIndexFromProps",i,this),this.parentChoice=function(t){if(!1!==e.selectedIndex){var r=e.selectedGid(t);return(0,d.default)(t.choices,function(e){return(e.gid||e)===r})}return!1},E(this,"handleChange",l,this)},o=k((a=u).prototype,"selectedIndex",[v.observable],{enumerable:!0,initializer:function(){return!1}}),i=k(a.prototype,"setSelectedIndexFromProps",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(t.selected){var r=t.selected.gid||t.selected;e.selectedGid(t)!==r&&(e.selectedIndex=(0,f.default)(e.scrollChooserChoices(t),function(e){return r===e.gid}))}else e.selectedIndex=!1}}}),l=k(a.prototype,"handleChange",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=e.parentChoice(e.props);if(t){var n=t.split(";;")[1];e.selectedIndex=parseInt(n,10)}else e.selectedIndex=!1;var a=e.parentChoice(e.props);r!==a&&e.props.onChange(a)}}}),n=a))||n)||n;t.default=_},,function(e,t,r){},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=f(r(1)),s=f(r(13)),u=r(9),c=r(12),d=f(r(0));f(r(15));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,u.inject)("$webPush","$gameplay","$authUser","$composer")(n=(0,u.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$webPush,t=this.props.$authUser,r=this.props.$gameplay,n=this.props.$composer;if(!e.ready)return!1;if(!e.isSupported)return!1;if("on"===e.basicState)return!1;if(e.stopBugging)return!1;if("gameplay"===this.props.mode){var a=r.gsm.whoseTurn();if(a.to&&a.userPid==t.pid)return!1;if(!r.activeCharacterGid)return!1;if(!(r.focusedSceneId===r.highSceneId))return!1;if(n.composingOnScene(r.focusedSceneId))return!1}var o="gameplay"===this.props.mode?"100%":"90%";return l.default.createElement(c.IconAlert,{icon:"bell-o",bsStyle:"success",iconSize:"2x",iconNudge:"5px",style:{fontSize:o}},"off"===e.basicState&&l.default.createElement("p",{className:"nom"},l.default.createElement("strong",null,"teacher_dashboard"===this.props.mode?l.default.createElement("span",null,"To get an alert when a game needs your approval, "):l.default.createElement("span",null,"To get an alert when itâs your turn, "),l.default.createElement(s.default,{onClick:e.turnOn},"enable notifications.")),l.default.createElement("br",null),l.default.createElement("em",{style:{fontSize:"90%"}},"Learn more on your"," ",l.default.createElement(s.default,{href:"/notifications"},"notifications preferences page"),", or"," ",l.default.createElement(s.default,{onClick:function(){return e.setStopBugging(!0)}},"hide this"))),"denied"===e.basicState&&l.default.createElement("p",{className:"nom"},"Youâve blocked notifications in this browser. We highly recommend enabling them"," ","teacher_dashboard"===this.props.mode?l.default.createElement("span",null,"to get alerted when a game needs your approval. "):l.default.createElement("span",null,"to know when itâs your turn. "),l.default.createElement("br",null),l.default.createElement("em",{style:{fontSize:"90%"}},"Learn more on your"," ",l.default.createElement(s.default,{href:"/notifications"},"notifications preferences page"),", or"," ",l.default.createElement(s.default,{onClick:function(){return e.setStopBugging(!0)}},"hide this"))))}}]),t}(),a.propTypes={$webPush:d.default.object.isRequired,$gameplay:d.default.object.isRequired,$authUser:d.default.object.isRequired,$composer:d.default.object.isRequired},n=o))||n)||n;t.default=p},,,function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0});var n=new function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.isMockJoi=!0,this.error=null;var r=function(){return t};"\n any\n allow\n alphanum\n alternatives\n and\n arity\n array\n assert\n base64\n binary\n boolean\n class\n concat\n creditCard\n date\n default\n description\n email\n empty\n encoding\n example\n falsy\n forbidden\n forbiddenKeys\n func\n greater\n guid\n hex\n hostname\n insensitive\n insensitive\n integer\n ip\n iso\n isoDate\n items\n keys\n label\n lazy\n length\n length\n length\n length\n less\n lowercase\n max\n max\n max\n max\n max\n maxArity\n meta\n min\n min\n min\n min\n min\n minArity\n multiple\n nand\n negative\n normalize\n notes\n number\n object\n optional\n optionalKeys\n options\n or\n ordered\n pattern\n positive\n precision\n raw\n ref\n regex\n rename\n replace\n required\n requiredKeys\n schema\n single\n sparse\n strict\n string\n strip\n tags\n timestamp\n token\n trim\n truncate\n truthy\n try\n type\n unique\n unit\n unknown\n uppercase\n uri\n valid\n validate\n when\n when\n with\n without\n xor\n ".trim().split(/[\s\n]+/).forEach(function(e){t[e]=r}),this.default=this};t.default=n},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.computeCast=t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w,E,k,_,C=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),S=I(r(1)),P=I(r(0)),O=r(10),T=r(9),j=r(11),x=I(r(56)),M=I(r(13)),z=I(r(15)),A=r(12);function I(e){return e&&e.__esModule?e:{default:e}}function $(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function D(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function N(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var R=function(e){var t=e.gsm,r=t.wordCounts(),n=e.focusedSceneId===e.highSceneId,a=t.whoseTurn(),o={},i=[];return t.playerCharacters("pcCast").forEach(function(e,l){o[e.userPid]=!0;var s=e.fromCharTypeGid&&t.state.characters[e.fromCharTypeGid],u=n&&e.userPid===a.userPid,c=u&&a.isSkippable;i.push({userPid:e.userPid,character:e,fromCharTypeCharacter:s,turnOrder:!!n&&l+1,wordCount:r[e.userPid],highlighted:u,isSkippable:c,deleted:e.deleted})}),t.playerCharacters("pcDeferredJoin").forEach(function(e){var r=e.fromCharTypeGid&&t.state.characters[e.fromCharTypeGid];i.push({userPid:e.userPid,character:e,fromCharTypeCharacter:r,turnOrder:!1,wordCount:0,highlighted:!1,deleted:!1})}
1),t.state.invitees.forEach(function(e){o[e]||(o[e]=!0,i.push({userPid:e,character:!1,turnOrder:!1,wordCount:0,highlighted:!1}))}),i},B=(0,T.inject)("$gameplay","$userInfo","$gamePresence","$authUser","$dashboard")(n=(0,T.observer)((_=k=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,k=Array(a),_=0;_<a;_++)k[_]=arguments[_];return r=n=D(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(k))),$(n,"modalType",o,n),$(n,"modalCharacterGid",i,n),$(n,"modalUserPid",l,n),$(n,"spinning",s,n),$(n,"toUser",u,n),$(n,"removeConfirmed",c,n),$(n,"cancelInviteConfirmed",d,n),$(n,"addConfirmed",f,n),$(n,"reassignConfirmed",p,n),n.toUserError=function(){var e=n.props,t=e.$gameplay,r=e.$authUser,a=e.$userInfo,o=e.$dashboard,i=t.gsm,l=n.toUser.trim().toLowerCase();if(l){var s=!1;if(i.playerCharacters("pcUserList").forEach(function(e){a.displayName(e.userPid).toLowerCase()===l&&(s=!0)}),s)return"alreadyPlaying";var u=!1;return o.dashboard.students?(Object.values(o.dashboard.students).forEach(function(e){e.name.toLowerCase()===l&&e.classroom_pid===i.state.classroomPid&&(u=e)}),l==r.name.toLowerCase()&&(u=!0),!u&&"notInDash"):"notInDash"}return"empty"},$(n,"setToUser",m,n),n.getModal=function(){var e=n.props,t=e.$gameplay,r=e.$userInfo;if(!n.modalType)return!1;if("cancelInvite"===n.modalType)return S.default.createElement(j.Modal,{show:!0,onHide:n.cancelModal},S.default.createElement(j.Modal.Header,{closeButton:!0},"Cancel invite"),S.default.createElement(j.Modal.Body,null,S.default.createElement("p",null,"This action will remove the current pending invitation for"," ",r.displayName(n.modalUserPid)," from the game. If they have a character in progress, it will be lost.")),S.default.createElement(j.Modal.Footer,null,S.default.createElement(A.Footer,null,S.default.createElement(A.CancelButton,{onClick:n.cancelModal}),S.default.createElement(A.ActionButton,{onClick:n.cancelInviteConfirmed,spinning:n.spinning},"Cancel invite"))));if("remove"===n.modalType){var a=t.gsm.state.characters[n.modalCharacterGid];return t.gsm.playerCharacters("pcMoveOrder").length<=2?S.default.createElement(j.Modal,{show:!0,onHide:n.cancelModal},S.default.createElement(j.Modal.Header,{closeButton:!0},"Canât remove any players at this time"),S.default.createElement(j.Modal.Body,null,"Because all games require at least two characters, you canât currently remove any more players from this game. You can, however, reassign characters to other students (or to yourself), and can add new players.",S.default.createElement("br",null)),S.default.createElement(j.Modal.Footer,null,S.default.createElement(A.Footer,null,S.default.createElement(A.CancelButton,{onClick:n.cancelModal})))):S.default.createElement(j.Modal,{show:!0,onHide:n.cancelModal},S.default.createElement(j.Modal.Header,{closeButton:!0},"Remove ",r.displayName(a.userPid)," and â",a.name,"â"),S.default.createElement(j.Modal.Body,null,S.default.createElement("p",null,"This action will remove ",r.displayName(a.userPid)," ","and their character, â",a.name,"â from the game. Any moves they already made in the game will remain, but they will no longer be able to make new ones.")),S.default.createElement(j.Modal.Footer,null,S.default.createElement(A.Footer,null,S.default.createElement(A.CancelButton,{onClick:n.cancelModal}),S.default.createElement(A.ActionButton,{onClick:n.removeConfirmed,spinning:n.spinning},"Remove player"))))}if("add"===n.modalType){var o=n.toUserError();return S.default.createElement(j.Modal,{show:!0,onHide:n.cancelModal},S.default.createElement(j.Modal.Header,{closeButton:!0},"Add a player"),S.default.createElement(j.Modal.Body,null,S.default.createElement("p",null,"Even after a game has begun you can still add a player, up to a maximum of 4 total players per game. The invited player will see the game on their homepage, be asked to create a new character, and will join the action once they submit their character. Note that You can add yourself to a game if you arenât already playing a character."),S.default.createElement("form",{className:"form-inline",style:{marginBottom:"10px"},onSubmit:function(e){e.preventDefault(),o||n.addConfirmed()}},S.default.createElement("div",{className:"form-group"},S.default.createElement("label",{htmlFor:"toUser"},"Invite:"),"Â Â ",S.default.createElement("input",{type:"text",autoFocus:!0,id:"toUser",name:"toUser",value:n.toUser,onChange:n.setToUser,placeholder:"Mary",size:"40"}))),"alreadyPlaying"===o&&S.default.createElement(j.Alert,{bsStyle:"danger",style:{margin:0}},"The user â",n.toUser,"â already has a character in this game, or is invited to join."),"notInDash"===o&&S.default.createElement(j.Alert,{bsStyle:"danger",style:{margin:0}},"There is no student in the classroom named â",n.toUser,"â")),S.default.createElement(j.Mod
1al.Footer,null,S.default.createElement(A.Footer,null,S.default.createElement(A.CancelButton,{onClick:n.cancelModal}),S.default.createElement(A.ActionButton,{disabled:!!o,onClick:n.addConfirmed,spinning:n.spinning},"Add"))))}if("reassign"===n.modalType){var i=n.toUserError(),l=t.gsm.state.characters[n.modalCharacterGid];return S.default.createElement(j.Modal,{show:!0,onHide:n.cancelModal},S.default.createElement(j.Modal.Header,{closeButton:!0},"Reassign â",l.name,"â"),S.default.createElement(j.Modal.Body,null,S.default.createElement("p",null,"You can reassign this character to a different owner, including yourself, as long as the new owner is not already playing in this game. The change will take effect immediately."),S.default.createElement("form",{className:"form-inline",style:{marginBottom:"10px"},onSubmit:function(e){e.preventDefault(),i||n.addConfirmed()}},S.default.createElement("div",{className:"form-group"},S.default.createElement("label",{htmlFor:"toUser"},"Invite:"),"Â Â ",S.default.createElement("input",{type:"text",autoFocus:!0,id:"toUser",name:"toUser",value:n.toUser,onChange:n.setToUser,placeholder:"Mary",size:"40"}))),"alreadyPlaying"===i&&S.default.createElement(j.Alert,{bsStyle:"danger",style:{margin:0}},"The user â",n.toUser,"â already has a character in this game, or is invited to join."),"notInDash"===i&&S.default.createElement(j.Alert,{bsStyle:"danger",style:{margin:0}},"There is no student in the classroom named â",n.toUser,"â")),S.default.createElement(j.Modal.Footer,null,S.default.createElement(A.Footer,null,S.default.createElement(A.CancelButton,{onClick:n.cancelModal}),S.default.createElement(A.ActionButton,{disabled:!!i,onClick:n.reassignConfirmed,spinning:n.spinning},"Reassign"))))}if("confirmSkip"===n.modalType){var s=t.gsm.whoseTurn();return S.default.createElement(j.Modal,{show:!0,onHide:n.cancelModal},S.default.createElement(j.Modal.Header,{closeButton:!0},"Skip ",r.displayName(s.userPid),"âs turn"),S.default.createElement(j.Modal.Body,null,S.default.createElement("p",null,"Skipping a player advances the current turn to the next player in the game. This is useful when a player is temporarily unavailable or is taking too long to play."),S.default.createElement("p",null,"Note that this usually has the effect of giving someone else the chance to move twice in the scene (since the total number of turns does not change.) And, if the current player has a draft in progress, it will become unpublishable (they will still be able to view the content of it if they want to save or reuse their work.)")),S.default.createElement(j.Modal.Footer,null,S.default.createElement(A.Footer,null,S.default.createElement(A.CancelButton,{onClick:n.cancelModal}),S.default.createElement(A.ActionButton,{onClick:n.skipConfirmed,spinning:n.spinning},"Skip ",r.displayName(s.userPid),"âs turn"))))}},$(n,"confirmReassign",h,n),$(n,"confirmAdd",y,n),$(n,"confirmRemove",g,n),$(n,"confirmCancelInvite",b,n),$(n,"cancelModal",v,n),$(n,"confirmSkip",w,n),$(n,"skipConfirmed",E,n),D(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,S.default.Component),C(t,[{key:"render",value:function(){var e=this,t=this.props,r=t.$gameplay,n=t.$userInfo,a=t.$gamePresence,o=t.$authUser,i=r.gsm;if(!i)return!1;var l=i.state.teacherUserPid===o.pid,s=i.gameIsStarted("castList"),u=l&&s&&i.canInvite(),c=R(r);return S.default.createElement("div",{className:"cast","data-p":"cast"},this.getModal(),S.default.createElement("p",{className:"cast-heading"},"Current players:"),S.default.createElement("div",{className:"container-fluid"},S.default.createElement(j.Row,null,c.map(function(t){return S.default.createElement(j.Col,{xs:12,sm:6,key:t.userPid,"data-p":"player","data-pid":t.userPid},S.default.createElement("div",{className:"cast-cell "+(t.highlighted?"turn-active":"")},t.turnOrder&&S.default.createElement("div",{className:"turn-order"},S.default.createElement("div",null,t.turnOrder)),t.character&&S.default.createElement("div",{className:"cast-avatar"},S.default.createElement(M.default,{to:r.characterPath(t.character)},S.default.createElement(x.default,{width100:!0,character:t.character}))),!t.character&&S.default.createElement("div",{className:"cast-avatar"},S.default.createElement(x.default,{width100:!0,artGid:"characterDefault"})),S.default.createElement("div",{className:"name-etc"},S.default.createElement("strong",null,n.displayName(t.userPid)),t.userPid===o.pid&&" (You) ",a.userIsOnline(t.userPid)&&S.default.createElement("span",{className:"cast-presence","data-p":"online","data-pid":t.userPid}
1," ",S.default.createElement(z.default,{name:"circle"})," online now"),S.default.createElement("br",null),t.character&&S.default.createElement("span",{"data-p":"character"},S.default.createElement(M.default,{to:r.characterPath(t.character)},t.character.name),t.fromCharTypeCharacter&&S.default.createElement("span",null," ","⢠",t.fromCharTypeCharacter.name)),!t.character&&S.default.createElement("span",{"data-p":"invited"},"Invited"),t.character&&t.character.deferredJoin&&S.default.createElement("span",null,S.default.createElement("br",null),S.default.createElement("em",null,"Joins action in next scene")),t.character&&S.default.createElement("span",null,S.default.createElement("br",null),t.wordCount," word",1===t.wordCount?"":"s"),l&&s&&!t.deleted&&t.character&&S.default.createElement("span",{className:"remove-reassign"},S.default.createElement("br",null),t.isSkippable&&S.default.createElement("span",null,S.default.createElement(M.default,{onClick:e.confirmSkip},"Skip")," ","â¢"," "),S.default.createElement(M.default,{onClick:function(){return e.confirmReassign(t.character.gid)}},"Reassign")," ","â¢"," ",S.default.createElement(M.default,{onClick:function(){return e.confirmRemove(t.character.gid)}},"Remove")),l&&s&&!t.deleted&&!t.character&&S.default.createElement("span",{className:"remove-reassign"},S.default.createElement("br",null),S.default.createElement(M.default,{onClick:function(){return e.confirmCancelInvite(t.userPid)}},"Remove")))))}),u&&S.default.createElement(j.Col,{xs:12,sm:6},S.default.createElement("div",{className:"cast-cell"},S.default.createElement("div",{className:"cast-avatar"},S.default.createElement(M.default,{onClick:this.confirmAdd},S.default.createElement("div",{className:"thumbnail addplayer"},S.default.createElement("div",{className:"centered-outer"},S.default.createElement("div",{className:"centered-inner"},S.default.createElement(z.default,{name:"plus-circle",size:"2x"})))))),S.default.createElement("div",{className:"name-etc"},S.default.createElement(M.default,{onClick:this.confirmAdd},"Add a player")))))))}}]),t}(),k.propTypes={$gameplay:P.default.object.isRequired,$userInfo:P.default.object.isRequired,$gamePresence:P.default.object.isRequired,$authUser:P.default.object.isRequired},k.defaultProps={startOpen:!1,noToggle:!1},o=N((a=_).prototype,"modalType",[O.observable],{enumerable:!0,initializer:function(){return!1}}),i=N(a.prototype,"modalCharacterGid",[O.observable],{enumerable:!0,initializer:function(){return!1}}),l=N(a.prototype,"modalUserPid",[O.observable],{enumerable:!0,initializer:function(){return!1}}),s=N(a.prototype,"spinning",[O.observable],{enumerable:!0,initializer:function(){return!1}}),u=N(a.prototype,"toUser",[O.observable],{enumerable:!0,initializer:function(){return""}}),c=N(a.prototype,"removeConfirmed",[O.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=e.props.$gameplay;e.spinning=!0,t.eventWrites.removePlayer(e.modalCharacterGid).then(e.cancelModal).catch((0,O.action)(function(){e.spinning=!1}))}}}),d=N(a.prototype,"cancelInviteConfirmed",[O.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=e.props.$gameplay;e.spinning=!0,t.eventWrites.postCancelInvite(e.modalUserPid).then(e.cancelModal).catch((0,O.action)(function(){e.spinning=!1}))}}}),f=N(a.prototype,"addConfirmed",[O.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=e.props,r=t.$gameplay,n=t.$dashboard,a=t.$authUser,o=r.gsm,i=!1,l=e.toUser.trim().toLowerCase();Object.values(n.dashboard.students).forEach(function(e){e.name.toLowerCase()===l&&e.classroom_pid===o.state.classroomPid&&(i=e.pid)}),l==a.name.toLowerCase()&&(i=a.pid),i&&(e.spinning=!0,r.eventWrites.postInvites(l).then(e.cancelModal).catch((0,O.action)(function(){e.spinning=!1})))}}}),p=N(a.prototype,"reassignConfirmed",[O.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=e.props,r=t.$gameplay,n=t.$dashboard,a=t.$authUser,o=r.gsm,i=!1,l=e.toUser.trim().toLowerCase();Object.values(n.dashboard.students).forEach(function(e){e.name.toLowerCase()===l&&e.classroom_pid===o.state.classroomPi
1d&&(i=e.pid)}),l==a.name.toLowerCase()&&(i=a.pid),i&&(e.spinning=!0,r.eventWrites.reassignCharacter(e.modalCharacterGid,i).then(e.cancelModal).catch((0,O.action)(function(){e.spinning=!1})))}}}),m=N(a.prototype,"setToUser",[O.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.toUser=t.target.value}}}),h=N(a.prototype,"confirmReassign",[O.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.props.$gameplay.readOnlyGateKeeper()||(e.modalCharacterGid=t,e.modalType="reassign")}}}),y=N(a.prototype,"confirmAdd",[O.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.props.$gameplay.readOnlyGateKeeper()||(e.modalType="add")}}}),g=N(a.prototype,"confirmRemove",[O.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.props.$gameplay.readOnlyGateKeeper()||(e.modalCharacterGid=t,e.modalType="remove")}}}),b=N(a.prototype,"confirmCancelInvite",[O.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.props.$gameplay.readOnlyGateKeeper()||(e.modalUserPid=t,e.modalType="cancelInvite")}}}),v=N(a.prototype,"cancelModal",[O.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.modalType=!1,e.modalCharacterGid=!1,e.modalUserPid=!1,e.toUser="",e.spinning=!1}}}),w=N(a.prototype,"confirmSkip",[O.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.props.$gameplay.readOnlyGateKeeper()||(e.modalType="confirmSkip")}}}),E=N(a.prototype,"skipConfirmed",[O.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.spinning=!0,e.props.$gameplay.eventWrites.skipTurn().then(e.cancelModal).catch((0,O.action)(function(){e.spinning=!1}))}}}),n=a))||n)||n;t.default=B,t.computeCast=R},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),u=w(r(1)),c=w(r(0)),d=r(10),f=r(9),p=w(r(64)),m=w(r(13)),h=w(r(15));r(599);var y=w(r(36)),g=w(r(321)),b=w(r(597)),v=w(r(63));function w(e){return e&&e.__esModule?e:{default:e}}var E=(0,f.inject)("$gameplay","$userInfo","$router","$rtDraftStatuses","$authUser")(n=(0,f.observer)((l=i=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return function(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}(r,"isOpen",o,r),r.isOpen=e.startOpen,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,u.default.Component),s(t,[{key:"render",value:function(){var e=this,t=this.props,r=t.$gameplay,n=t.$userInfo,a=t.$router,o=t.$rtDraftStatuses,i=t.$authUser,l=r.gsm;if(!l)return!1;var s=l.state,c=!(!o.stagedSetupCards||o.stagedSetupCards.userPid===i.pid),d=c?o.stagedSetupCards.cards:!!l.hasAllSetupCards()&&s.setupCards,f=l.pickSetupCards("0"),w=void 0;"storySizeShort"===l.state.storySize&&(w="short"),"storySizeMedium"===l.state.storySize&&(w="medium"),"storySizeLong"===l.state.storySize&&(w="long");var E=this.props.$router.toPath("gameTextViewRoute"),k=l.gameIsStarted("pageMode"),_=u.default.createElement("div",{className:"game-name-meta"},u.default.createElement("h3",{style:{margin:0}},s.name),u.default.createElement("div",{style:{paddingTop:"20px"}},u.default.createElement("p",null,"A ",w," story started by"," ",n.displayName(s.organizerUserPi
1d),l.state.deckSlug&&u.default.createElement("span",null," ","using the"," ",u.default.createElement(m.default,{to:a.toPath("deckRoute",{slug:l.state.deckSlug})},l.state.deckName)," ","storyworld."))),l.state.scenarioGid&&u.default.createElement("p",null,"Scenario: â",l.currentScenario().name,"â"));return u.default.createElement("div",{id:"superbanner"},u.default.createElement("div",null,s.image?u.default.createElement(p.default,{artGid:s.image.artGid,category:"banner",width100:!0,lightbox:!0}):u.default.createElement(p.default,{category:"banner",width100:!0,containerOnly:!0,containerBgColor:"#aaa"})),u.default.createElement("div",{className:"caption"},_,u.default.createElement("div",{ref:function(t){e.detailsDiv=t},className:"details "+(this.props.startOpen?"details-open":"details-closed")},u.default.createElement("div",{ref:function(t){e.detailsInnerDiv=t}},!r.authIsTeacherOrOrganizer&&u.default.createElement(v.default,{id:"gameCards"},"Each game starts with four randomly-drawn"," ",u.default.createElement("strong",null,"story cards")," that tell you and your fellow players where and when your story takes place, the narrative tone youâre aiming for, and how your story will begin and end."),d&&u.default.createElement(y.default,{doSort:!0,justify:"dynamic",cards:d,desaturate:c,autoAnimate:!0,startNotYetDrawn:c}),!d&&!r.authIsTeacherOrOrganizer&&u.default.createElement(y.default,{doSort:!0,justify:"dynamic",cards:f,socketsOnly:!0}),u.default.createElement(g.default,null)))),u.default.createElement("div",{style:{marginTop:"20px"}}),r.authIsTeacherOrOrganizer&&u.default.createElement(b.default,null),!r.authIsTeacherOrOrganizer&&k&&u.default.createElement("div",null,u.default.createElement("span",{className:"edit-link"},u.default.createElement(m.default,{to:E,target:"_new"},u.default.createElement(h.default,{name:"print"})," Print"))))}}]),t}(),i.propTypes={$gameplay:c.default.object.isRequired,$userInfo:c.default.object.isRequired,$router:c.default.object.isRequired,$rtDraftStatuses:c.default.object.isRequired,$authUser:c.default.object.isRequired,startOpen:c.default.bool},i.defaultProps={startOpen:!1},o=function(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}((a=l).prototype,"isOpen",[d.observable],{enumerable:!0,initializer:null}),n=a))||n)||n;t.default=E},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),m=E(r(1)),h=r(9),y=r(10),g=E(r(0)),b=r(11),v=r(12),w=E(r(13));function E(e){return e&&e.__esModule?e:{default:e}}function k(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function _(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function C(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var S=(0,h.inject)("$gameplay","$classrooms","$authUser","$router")(n=(0,h.observer)((f=d=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,d=Array(a),f=0;f<a;f++)d[f]=arguments[f];return r=n=_(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(d))),k(n,"showChooseClassroomModal",o,n),k(n,"chosenClassroomPi
1d",i,n),k(n,"popChooseClassroomModal",l,n),k(n,"setChosenClassroomPid",s,n),k(n,"cancelModal",u,n),k(n,"doCreateGame",c,n),_(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,m.default.Component),p(t,[{key:"render",value:function(){var e=this,t=this.props.$classrooms,r=this.props.$gameplay;return!!r.gameCreation.authUserCanCreateGameFromThisDeck&&m.default.createElement("div",{style:{display:"inline-block"},"data-p":"create_game_from_deck_btn","data-slug":r.gsm.state.slug,key:this.props.key},this.showChooseClassroomModal&&m.default.createElement(b.Modal,{show:!0,onHide:this.cancelModal,"data-p":"choose_classroom_modal"},m.default.createElement(b.Modal.Header,{closeButton:!0},"Choose a classroom"),m.default.createElement(b.Modal.Body,null,0===t.classrooms.length&&m.default.createElement(v.IconAlert,{bsStyle:"info",icon:"info-circle"},"You donât have any classrooms yet. Before starting a game, please create one from the"," ",m.default.createElement(w.default,{to:this.props.$router.toPath("classroomsRoute")},"classrooms section of your home page.")),m.default.createElement("p",null,"Please choose a classroom for this game."),m.default.createElement("div",{className:"form-inline"},m.default.createElement("div",{className:"form-group"},m.default.createElement("label",{htmlFor:"classroomPid"},"Name:")," ",m.default.createElement("select",{"data-p":"classroom_selector",name:"classroomPid",id:"classroomPid",value:this.chosenClassroomPid,onChange:function(t){e.setChosenClassroomPid(t.target.value)}},m.default.createElement("option",{key:"undef",value:void 0},"--- select one ---"),t.classrooms.map(function(e){return m.default.createElement("option",{key:e.pid,value:e.pid},e.name)}))))),m.default.createElement(b.Modal.Footer,null,m.default.createElement(v.CancelButton,{onClick:this.cancelModal,"data-p":"cancel_btn"}),m.default.createElement(v.DoneButton,{"data-p":"done_btn",disabled:!this.chosenClassroomPid,onClick:function(){return e.doCreateGame({classroomPid:e.chosenClassroomPid})},spinning:r.gameCreation.creatingGameSpinning}))),m.default.createElement(v.ActionButton,{onClick:function(){return e.doCreateGame({})},label:"Start a game",spinning:r.gameCreation.creatingGameSpinning}))}}]),t}(),d.propTypes={$gameplay:g.default.object.isRequired,$classrooms:g.default.object.isRequired,$authUser:g.default.object.isRequired,$router:g.default.object.isRequired},o=C((a=f).prototype,"showChooseClassroomModal",[y.observable],{enumerable:!0,initializer:function(){return!1}}),i=C(a.prototype,"chosenClassroomPid",[y.observable],{enumerable:!0,initializer:null}),l=C(a.prototype,"popChooseClassroomModal",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.chosenClassroomPid=void 0,e.props.$classrooms.lastViewedClassroomPid&&(e.chosenClassroomPid=e.props.$classrooms.lastViewedClassroomPid),e.showChooseClassroomModal=!0}}}),s=C(a.prototype,"setChosenClassroomPid",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.chosenClassroomPid=t}}}),u=C(a.prototype,"cancelModal",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.showChooseClassroomModal=!1}}}),c=C(a.prototype,"doCreateGame",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=t.classroomPid,n=e.props.$gameplay;e.props.$authUser.is_teacher?r?n.gameCreation.createGameFromDeckAndRedirect({classroomPid:r}):e.popChooseClassroomModal():n.gameCreation.createGameFromDeckAndRedirect({})}}}),n=a))||n)||n;t.default=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),p=T(r(1)),m=r(9),h=r(10),y=T(r(0)),g=r(11),b=r(12),v=T(r(15)),w=(T(r(17)),T(r(13))),E=T(r(34)),k=T(r(76)),_=T(r(169)),C=T(r(75)),S=T(r(334)),P=r(327),O=T(r(94));
1function T(e){return e&&e.__esModule?e:{default:e}}function j(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function x(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function M(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}function z(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function A(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function I(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var $=(0,m.observer)(function(e){var t=e.gsm,r=(e.scenario,e.tasks);return 0===r.length?p.default.createElement(b.CompletionSummary,null,p.default.createElement("p",null,p.default.createElement(v.default,{className:"mr5",name:"check-circle-o",style:{color:"#090"},size:"lg"})," ","This scenario is complete.")):p.default.createElement(b.CompletionSummary,null,p.default.createElement("p",null,p.default.createElement(v.default,{name:"circle-o",style:{color:"#900"},size:"lg"})," This scenario still needs:"),p.default.createElement("ul",null,r.map(function(e){return p.default.createElement("li",{key:e},t.scenarioPrettyTask(e))})))}),D=(0,m.inject)("$deckEditor","$gameplay","$blurbs")(n=(0,m.observer)(n=function(e){function t(){return z(this,t),A(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return I(t,p.default.Component),f(t,[{key:"render",value:function(){var e,t=this,r=this.props.$gameplay.gsm,n=this.props,a=n.scenario,o=n.type,i=n.sceneId,l=n.onChoose,s=n.editable,u=r.deckEditingRestrictionLevel(),c=s&&"deck_edits_all"===u,d=void 0,f=void 0,m=void 0,h=void 0;return(e="setupCards"===o)?(f=["ckSetting","ckTone","ckBeginning","ckEnding"],d=a.setupCards.map(function(e,t){return e?r.state.cards[e]:f[t]})):(f=["ckPlace","ckChallenge","ckSuccess","ckSetback"],d=a.scenes[i].cards.map(function(e,t){return e?r.state.cards[e]:f[t]}),m=(m=r.sceneHeadingForIdInStorySize(i,a.storySize)).epilogue?"Epilogue":"Act "+m.actNumber+" Scene "+m.sceneNumber,h=a.scenes[i]),p.default.createElement(g.Well,null,p.default.createElement("h4",{className:"mt0"},p.default.createElement(v.default,{name:"list-alt",className:"mr5"})," ",e?"Game cards":m),e&&c&&p.default.createElement("p",null,"Choose the Setting, Tone, Beginning, and Ending cards for this scenario."),!e&&c&&p.default.createElement(g.Well,{style:{backgroundColor:"#ddd",padding:"0 10px",margin:"20px 0"}},p.default.createElement("h5",null,"Instructions for players:"),p.default.createElement("div",{className:"flex-row-justify mb10"},p.default.createElement("div",{className:"gutter-after"},h.blurb?p.default.createElement(O.default,{blurb:h.blurb}):p.default.createElement("p",null,p.default.createElement("em",null,"Give the players direction for how to write this scene, including plot tips or specific educational goals. (Optional, 200 words maximum.)"))),p.default.createElement("div",null,p.default.createElement(b.ActionButton,{icon:"pencil",label:"Edit",bsStyle:"info",onClick:function(){return t.props.$deckEditor.editScenarioDetailProp("sceneBlurb",i)}})))),!e&&!c&&!!h.blurb&&p.default.createElement(b.IconAlert,{icon:"lightbulb-o",bsStyle:"success"},p.default.createElement("p",null,p.default.createElement("strong",null,"What to do in this scene:")),p.default.createElement(O.default,{blurb:h.blurb})),p.default.createElement("div",{className:"scenario-card-grid"},d.map(function(e,t){return p.default.createElement("div",{key:t,className:"cell"},e.kind?p.default.createElement(C.default,{card:e,style:{margin:"5px"}}):p.default.createElement(S.default,{kind:e}),c&&p.default.createElement(b.ActionButton,{label:e.kind?"Change":"Choose",bsStyle:e.kind?"info":"warning",onClick:function(){return l({type:o,idx:t,sceneId:i,kind:e.kind||e})}}))})))}}]),t}())||n)||n,N=(0,m.inject)("$deckEditor","$gameplay","$blurbs")(a=(0,m.observer)((i=o=function(e){function t(e){z(this,t);var r=A(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));
1return r.state={blurb:"",sceneBlurb:"",ugcName:"",storySize:""},r}return I(t,p.default.Component),f(t,[{key:"componentDidMount",value:function(){var e=this.props.$deckEditor.editingScenarioDetailProp,t=this.props.scenario;if("blurb"===e){var r=void 0;t.blurb&&"..."!==(r=this.props.$blurbs.smart(this.props.$gameplay.gamePid,t.blurb))&&"...."!==r||(r=""),this.setState({blurb:r})}if("sceneBlurb"===e){var n=t.scenes[this.props.$deckEditor.editingScenarioBlurbSceneId],a=void 0;n.blurb&&"..."!==(a=this.props.$blurbs.smart(this.props.$gameplay.gamePid,n.blurb))&&"...."!==a||(a=""),this.setState({sceneBlurb:a})}"ugcName"===e&&this.setState({ugcName:t.ugcName||""}),"storySize"===e&&this.setState({storySize:t.storySize||""})}},{key:"render",value:function(){var e=this,t=this.props.$deckEditor.editingScenarioDetailProp;return p.default.createElement(g.Modal,{show:!0,keyboard:!1,backdrop:"static"},"blurb"===t&&p.default.createElement("div",null,p.default.createElement(g.Modal.Header,null,"Edit scenario description"),p.default.createElement(g.Modal.Body,null,p.default.createElement("p",null,"Briefly describe this scenario and its educational goals, for the benefit of other teachers who might want to use it. 200 words maximum."),(0,k.default)(this.state.blurb)>200&&p.default.createElement(g.Alert,{bsStyle:"danger"},p.default.createElement("p",null,"A maximum of 200 words is allowed for this description.",p.default.createElement("br",null),"Your current word count is: ",(0,k.default)(this.state.blurb)," ","words.")),p.default.createElement(_.default,{style:{width:"100%"},minRows:4,value:this.state.blurb,onChange:function(t){e.setState({blurb:t.target.value})}}))),"sceneBlurb"===t&&p.default.createElement("div",null,p.default.createElement(g.Modal.Header,null,"Edit scene instructions"),p.default.createElement(g.Modal.Body,null,p.default.createElement("p",null,"Give the players direction for how to write this scene, including plot tips or specific educational goals. (Optional, 200 words maximum.)"),(0,k.default)(this.state.sceneBlurb)>200&&p.default.createElement(g.Alert,{bsStyle:"danger"},p.default.createElement("p",null,"A maximum of 200 words is allowed for these instructions.",p.default.createElement("br",null),"Your current word count is:"," ",(0,k.default)(this.state.sceneBlurb)," words.")),p.default.createElement(_.default,{style:{width:"100%"},minRows:4,value:this.state.sceneBlurb,onChange:function(t){e.setState({sceneBlurb:t.target.value})}}))),"ugcName"===t&&p.default.createElement("div",null,p.default.createElement(g.Modal.Header,null,"Edit scenario name"),p.default.createElement(g.Modal.Body,null,p.default.createElement("p",null,"Every scenario must have a name. The scenario name should be treated as the title of the story, and becomes the default name of new games based on it."),p.default.createElement("div",{className:"form-group"},p.default.createElement("label",{htmlFor:"t__input_scenario_name"},"Name:")," ",p.default.createElement("input",{id:"t__input_scenario_name",style:{width:"20em"},autoFocus:!0,value:this.state.ugcName,onChange:function(t){e.setState({ugcName:t.target.value})}})))),"storySize"===t&&p.default.createElement("div",null,p.default.createElement(g.Modal.Header,null,"Edit scenario story length"),p.default.createElement(g.Modal.Body,null,p.default.createElement("p",null,"Choose the number of scenes in this scenario. Note that the epilogue scene does not have specific cards associated with it."),p.default.createElement("div",{className:"form-group"},p.default.createElement("select",{id:"selectedStorySize",className:"form-control",value:this.state.storySize,onChange:function(t){return e.setState({storySize:t.target.value})}},p.default.createElement("option",{value:""},"--- select one ---"),p.default.createElement("option",{value:"storySizeShort"},"Short story: 4 scenes (3 acts of 1 scene each, plus epilogue)"),p.default.createElement("option",{value:"storySizeMedium"},"Medium story: 7 scenes (3 acts of 2 scenes each, plus epilogue)"),p.default.createElement("option",{value:"storySizeLong"}
1,"Long story: 10 scenes (3 acts of 3 scenes each, plus epilogue)"))))),p.default.createElement(g.Modal.Footer,null,p.default.createElement(b.Footer,null,p.default.createElement(b.CancelButton,{onClick:this.props.$deckEditor.cancel}),p.default.createElement(b.DoneButton,{disabled:!this.props.$deckEditor.editingScenarioPropValidToSave(this.state[t]),onClick:function(){return e.props.$deckEditor.saveScenarioDetailProp(e.state[t])},spinning:"saveScenarioDetailProp"===this.props.$deckEditor.spinning}))))}}]),t}(),o.propTypes={$deckEditor:y.default.object.isRequired,$gameplay:y.default.object.isRequired,$blurbs:y.default.object.isRequired,scenario:y.default.object.isRequired},a=i))||a)||a,R=(0,m.inject)("$deckEditor","$gameplay")(l=(0,m.observer)((s=function(e){function t(){var e,r,n;z(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=A(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),x(n,"activeTab",u,n),x(n,"setActiveTab",c,n),A(n,r)}return I(t,p.default.Component),f(t,[{key:"render",value:function(){var e,t=this.props.$gameplay.gsm,r=this.props.$deckEditor,n=r.cardEditorStore,a=r.choosingScenarioCardArgs,o=a.kind,i=void 0;return"setupCards"===a.type&&(i=t.filterCardsForUseCase("pickSetupCards",{kind:o})),"sceneCards"===a.type&&(i=t.filterCardsForUseCase("pickSceneCards",{kind:o})),p.default.createElement(g.Modal,{show:!0,keyboard:!1,backdrop:"static",dialogClassName:"wider-modal"},p.default.createElement(g.Modal.Header,null,"Choose a ",t.prettyKind(o)," card"),p.default.createElement(g.Modal.Body,null,p.default.createElement(g.Tabs,(j(e={animation:!1,id:"scenario-card-chooser",activeKey:"choose"},"activeKey",this.activeTab),j(e,"onSelect",this.setActiveTab),e),p.default.createElement(g.Tab,{eventKey:"choose",title:"Choose a card"},p.default.createElement("div",{className:"mb10"}),p.default.createElement("div",{className:"flex-row-justify mobile-columnify"},p.default.createElement("div",{className:"gutter-after flex-grow-2"},p.default.createElement("select",{size:"7",style:{width:"100%",margin:"10px 0",height:"17em"},value:r.selectedScenarioCardGid,onChange:function(e){return r.selectScenarioCard(e.target.value)}},p.default.createElement("option",{key:"init",value:""},"--- select a card ---"),i.map(function(e){return p.default.createElement("option",{key:e.gid,value:e.gid},e.name)}))),p.default.createElement("div",{style:{textAlign:"center"}},r.selectedScenarioCardGid?p.default.createElement(C.default,{gid:r.selectedScenarioCardGid}):p.default.createElement(S.default,{kind:o})))),p.default.createElement(g.Tab,{eventKey:"create",title:"Create a card"},p.default.createElement("div",{className:"mb10"}),p.default.createElement(P.CardEditorForm,{inWiderModal:!0})))),p.default.createElement(g.Modal.Footer,null,p.default.createElement(b.Footer,null,p.default.createElement(b.CancelButton,{onClick:this.props.$deckEditor.cancel}),"choose"===this.activeTab&&p.default.createElement(b.DoneButton,{disabled:!this.props.$deckEditor.selectedScenarioCardGid,onClick:this.props.$deckEditor.saveSelectedScenarioCard,spinning:"saveSelectedScenarioCard"===this.props.$deckEditor.spinning}),"create"===this.activeTab&&p.default.createElement(b.DoneButton,{onClick:function(){return n.save().then(r.saveNewCardToScenario)},spinning:n.spinning,disabled:!n.spinning&&!n.validToSave},"Save"))))}}]),t}(),u=M(s.prototype,"activeTab",[h.observable],{enumerable:!0,initializer:function(){return"choose"}}),c=M(s.prototype,"setActiveTab",[h.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.activeTab=t}}}),l=s))||l)||l,B=(0,m.inject)("$gameplay","$deckEditor","$router","$blurbs")(d=(0,m.observer)(d=function(e){function t(){var e,r,n;z(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=A(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.confirmDelete=function(e){n.confirmModal.pop("Really delete this scenario?","This will permanently remove this scenario from the storyworld. This action cannot be undone.",{onConfirm:function(){return n.props.$deckEditor.deleteScenario(e)}})},A(n,r)}return I(t,p.default.Component),f(t,[{key:"render",value:function(){var e=this,t=this.props.$gameplay.gsm,r=this.props.$deckEditor,n=this.props.$router.route.captures.gid,a=t.state.scenarios[n],o=this.props.editable,i=t.deckEditingRestrictionLevel(),l=i&&"deck_edits_all"===i;if(!a)return null;var s=void 0;"storySizeShort"===a.storySize&&(s="Short story"),"storySizeMedium"===a.storySize&&(s="Medium story"),"storySizeLong"===a.storySize&&(s="Long story");var u=t.scenarioTasks(a),c=u.indexOf("scenarioTaskUgcName")>=0,d=u.indexOf("scenarioTaskBlurb")>=0,f=u.indexOf("scenarioTaskStorySize")>=0;return p.default.createElement("div",null,p.default.createElement(E.default,{ref:function(t){e.confirmModal=t}}),"scenarioPropEditor"===r.modalTypeOpen&&p.default.createElement(N,{scenario:a}),"chooseScenarioCard"===r.modalTypeOpen&&p.default.createElement(R,null),p.default.createElement("div",{style:{marginBottom:20}},p.default.createElement("p",null,p.default.createElement(w.default,{href:this.props.$router.toPath("deckRoute")},t.state.name)," ","/ ",a.name),p.default.createElement("h3",null,"Scenario")),p.default.createElement("div",{className:"flex-row-justify mt20 mb20"},p.default.createElement("div",{className:"gutter-after"},p.default.createElement("h4",{className:"mt0 mb0"},"â",a.name,"â")),l&&p.default.createElement("div",null,p.default.createElement(b.ActionButton,{icon:"times-circle",bsStyle:"default",label:"Delete",spinning:r.spinning==="deleteScenario-"+a.gid,onClick:function(){return e.confirmDelete(a.gid)}})),!l&&s&&p.default.createElement("div",null,p.default.createElement(v.default,{className:"mr5",name:"clock-o"})," ",s)),l&&p.default.createElement($,{tasks:u,gsm:t,scenario:a}),l&&p.default.createElement(g.Well,null,p.default.createElement("div",{className:"flex-row-justify mb10"},p.default.createElement("div",{className:"gutter-after"},p.default.createElement("h4",{className:"mt0"},a.name)),p.default.createElement("div",null,p.default.createElement(b.ActionButton,{icon:"pencil",label:"Edit",bsStyle:c?"warning":"info",onClick:function(){return r.editScenarioDetailProp("ugcName")}}))),!a.ugcName&&p.default.createElement("p",null,p.default.createElement("em",null,"Every scenario needs a name."))),!l&&a.blurb&&p.default.createElement("div",{className:"mt20 mb20"},p.default.createElement(O.default,{blurb:a.blurb})),l&&p.default.createElement(g.Well,null,p.default.createElement("div",{className:"flex-row-justify mb10"},p.default.createElement("div",{className:"gutter-after"},p.default.createElement("h4",{className:"mt0"},p.default.createElement(v.default,{className:"mr5",name:"pencil-square-o"})," ","Description")),p.default.createElement("div",null,p.default.createElement(b.ActionButton,{icon:"pencil",label:"Edit",bsStyle:d?"warning":"info",onClick:function(){return r.editScenarioDetailProp("blurb")}}))),a.blurb?p.default.createElement(O.default,{blurb:a.blurb}):p.default.createElement("p",null,p.default.createElement("em",null,"Briefly describe this scenario and its educational goals, for the benefit of other teachers who might want to use it. 200 words maximum."))),l&&p.default.createElement(g.Well,null,p.default.createElement("div",{className:"flex-row-justify mb10"},p.default.createElement("div",{className:"gutter-after"},p.default.createElement("h4",{className:"mt0"},p.default.createElement(v.default,{className:"mr5",name:"clock-o"})," ",s||"Story length")),p.default.createElement("div",null,p.default.createElement(b.ActionButton,{icon:"pencil",label:"Edit",bsStyle:f?"warning":"info",onClick:function(){return r.editScenarioDetailProp("storySize")}}))),!s&&p.default.createElement("p",null,p.default.createElement("em",null,"Choose the number of scenes in this scenario.")),"storySizeShort"===a.storySize&&p.default.createElement("p",null,"4 scenes: 3 acts of 1 scene each, plus epilogue (no scenario cards in epilogue)"),"storySizeMedium"===a.storySize&&p.default.createElement("p",null,"7 scenes: 3 acts of 2 scenes each, plus epilogue (no scenario cards in epilogue)"),"storySizeLong"===a.storySize&&p.default.createElement("p",null,"10 sce
1nes: 3 acts of 3 scenes each, plus epilogue (no scenario cards in epilogue)")),p.default.createElement(D,{gsm:t,type:"setupCards",scenario:a,onChoose:r.openChooseScenarioCardModal,editable:o}),0===a.scenes.length&&p.default.createElement(g.Well,null,p.default.createElement("h4",{className:"mt0"},p.default.createElement(v.default,{className:"mr5",name:"list-alt"})," Scene 1"),p.default.createElement("p",null,p.default.createElement("em",null,"Once you select a story length, this area will show one group of cards per scene for you to define."))),a.scenes.length>0&&a.scenes.map(function(e,n){return p.default.createElement(D,{key:n,gsm:t,type:"sceneCards",sceneId:n,scenario:a,onChoose:r.openChooseScenarioCardModal,editable:o})}))}}]),t}())||d)||d;t.default=B},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=y(r(27)),l=y(r(35)),s=y(r(37)),u=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),c=y(r(1)),d=r(9),f=y(r(0)),p=r(11),m=r(12),h=y(r(34));function y(e){return e&&e.__esModule?e:{default:e}}function g(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var b=(0,d.inject)("$gameplay","$deckEditor")(n=(0,d.observer)((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=g(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.confirmDelete=function(e){n.confirmModal.pop("Really delete this scenario?","This will permanently remove this scenario from the storyworld. However, any cards you created in the process of defining this scenario will remain in the storyworldâs card library (use the âCardsâ tab to remove any such cards if desired.)",{onConfirm:function(){return n.props.$deckEditor.deleteScenario(e)}})},g(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,c.default.Component),u(t,[{key:"render",value:function(){var e=this,t=this.props.editable,r=this.props.$deckEditor,n=this.props.$gameplay.gsm,a=n.deckEditingRestrictionLevel(),o=t&&"deck_edits_all"===a,u=(0,s.default)(n.state.scenarios);return u=(0,l.default)(u,function(e){return n.intGid(e.gid)}),o||(u=(0,i.default)(u,function(e){return n.scenarioIsComplete(e)})),c.default.createElement("div",null,c.default.createElement(h.default,{ref:function(t){e.confirmModal=t}}),c.default.createElement("div",{className:"mb20"}),o?c.default.createElement("div",null,c.default.createElement("p",null,"A scenario is a pre-determined story line. Instead of drawing random cards during play, scenarios choose these cards in advance. This makes it easier to tell specific kinds of stories (even though players still get to choose what they write and which cards they play)."),c.default.createElement("p",null,"You should only create scenarios once you have a full deck of cards to work with.")):c.default.createElement("p",null,"This page lists the storyworldâs scenarios. A scenario is a pre-determined story line. Instead of drawing random cards during play, scenarios choose these cards in advance. This makes it easier to tell specific kinds of stories (even though players still get to choose what they write and which cards they play)."),c.default.createElement("div",{className:"mb20"}),u.map(function(t){return c.default.createElement(p.Well,{key:t.gid,className:"mb20"},c.default.createElement("div",{className:"flex-row-justify"},c.default.createElement("div",{className:"gutter-after"},c.default.createElement("h4",null,t.name)),o&&c.default.createElement("div",null,c.default.createElement(m.ActionButton,{icon:"pencil",bsStyle:"info",label:"Edit",onClick:function(){return r.editScenario(t.gid)}})," ","deck_edits_all"===a&&c.default.createElement(m.ActionButton,{icon:"times-circle",bsStyle:"default",label:"Delete",spinning:r.spinning==="deleteScenario-"+t.gid,onClick:function(){return e.confirmDelete(t.gid)}})),!o&&c.default.createElement("div",null,c.default.createElement(m.ActionButton,{icon:"eye",bsStyle:"info",label:"View",onClick:function(){return r.editScenario(t.gid)}})," ")),!n.scenarioIsComplete(t)&&c.default.createElement("p",null,c.default.createElement("em",null,"Incomplete")))}),o&&c.default.createElement(p.Well,{className:"mb20"},c.default.createElement("div",{className:"flex-row-justify"},c.default.createElement("div",{className:"gutter-after"}
1,c.default.createElement("h4",null,"Add a scenario to this storyworld")),c.default.createElement("div",null,c.default.createElement(m.ActionButton,{icon:"plus-circle",bsStyle:"info",label:"Add",onClick:r.addScenario,spinning:"addScenario"===r.spinning})))),o&&0===u.length&&c.default.createElement("p",null,c.default.createElement("em",null,"There are currently no scenarios in this storyworld.")))}}]),t}(),a.propTypes={editable:f.default.bool,$gameplay:f.default.object.isRequired,$deckEditor:f.default.object.isRequired},a.defaultProps={editable:!1},n=o))||n)||n;t.default=b},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f=P(r(35)),p=P(r(37)),m=P(r(27)),h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},y=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),g=P(r(1)),b=r(9),v=(r(10),P(r(0))),w=r(11),E=(r(12),P(r(15)),P(r(17)),P(r(92))),k=P(r(330)),_=r(64),C=P(r(13)),S=P(r(34));function P(e){return e&&e.__esModule?e:{default:e}}function O(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function T(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function j(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var x=(0,b.inject)("$gameplay")(n=(0,b.observer)((o=a=function(e){function t(){var e,r,n;O(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=T(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.handleArt=function(e){if(e){var t=h({},e.artUpload);return delete t.gid,n.props.$gameplay.eventWrites.postNewArtAsset(t)}},n.popConfirmModalFn=function(e,t,r){n.confirmModal.pop(e,t,r)},T(n,r)}return j(t,g.default.Component),y(t,[{key:"render",value:function(){var e=this,t=this.props.editable,r=this.props.$gameplay.gsm.deckEditingRestrictionLevel(),n=t&&"deck_edits_none"!==r;return g.default.createElement("div",null,g.default.createElement(S.default,{ref:function(t){e.confirmModal=t}}),g.default.createElement("div",{className:"mb20"}),n?g.default.createElement("p",null,"This page helps you manage your storyworldâs artwork. Any artwork in this library can be used for cards, scenes, or character avatars. Note that if you delete artwork from this view it will also be removed from any place where it is currently being used."):g.default.createElement("p",null,"This page contains the storyworldâs artwork. Any artwork in this library can be used for cards, scenes, or character avatars."),g.default.createElement("div",{className:"mb20"}),g.default.createElement(w.Tabs,{animation:!1,id:"artwork-tabs"},[["Banners","banner"],["Cards","card"],["Avatars","avatar"]].map(function(t){var r=t[0],a=t[1];return g.default.createElement(w.Tab,{key:a,eventKey:a,title:r},g.default.createElement("div",{className:"mb20"}),n&&g.default.createElement("div",{className:"mb20 text-align-right"},g.default.createElement(E.default,{libraryUploadOnly:!0,artCategory:a,onComplete:e.handleArt})),g.default.createElement(M,{popConfirmModalFn:e.popConfirmModalFn,category:a,actuallyEditable:n}))})))}}]),t}(),a.propTypes={editable:v.default.bool,$gameplay:v.default.object.isRequired},a.defaultProps={editable:!1},n=o))||n)||n;t.default=x;var M=(0,b.inject)("$gameplay")(i=(0,b.observer)((s=l=function(e){function t(){return O(this,t),T(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return j(t,g.default.Component),y(t,[{key:"render",value:function(){var e=this,t=this.props.$gameplay.gsm,r=this.props.category,n=this.props.actuallyEditable,a=(0,m.default)((0,p.default)(t.state.art),function(e){return e.categories.indexOf(r)>=0});return a=(0,m.default)(a,function(e){return!e.gid.match(/default/i)}),0===(a=(0,f.default)(a,function(e){return t.intGid(e.gid)})).length?g.default.createElement("p",null,g.default.createElement("em",null,"There is no art of this type yet in this storyworld.")):g.default.createElement("div",{className:"art-grid art-grid-"+r},a.map(function(t){return g.default.createElement(z,{key:t.gid,gid:t.gid,actuallyEditable:n,category:r,popConfirmModalFn:e.props.popConfirmModalFn})}))}}]),t}(),l.propTypes={category:v.default.string.isRequired,actuallyEditable:v.default.bool,$gameplay:v.default.object.isRequired,popConfirmModalFn:v.default.func},l.defaultProps={actuallyEditable:!1},i=s))||i)||i,z=(0,b.inject)("$gameplay")(u=(0,b.observer)((d=c=function(e){function t(){var e,r,n;O(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=T(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.saveMetadata=function(e){if(e)return n.props.$gameplay.eventWrites.postEditArtAsset(h({},e,{artGid:n.props.gid}
1))},n.confirmDelete=function(){n.props.popConfirmModalFn&&n.props.popConfirmModalFn("Really delete this art?","The art will be removed from the storyworldâs art library. It will also be removed from all cards, characters, and banners that currently use it, if any. This action cannot be un-done.",{onConfirm:function(){return n.props.$gameplay.eventWrites.postDeleteArt(n.props.gid)}})},T(n,r)}return j(t,g.default.Component),y(t,[{key:"render",value:function(){var e=this.props.$gameplay.gsm,t=this.props.gid,r=this.props.category,n=this.props.actuallyEditable,a=e.state.art[t];return g.default.createElement("div",{className:"art-grid-cell"},g.default.createElement(_.AssetImage,{artGid:t,lightbox:!0,category:r,width100:!0}),n&&g.default.createElement("div",{className:"edit-links"},g.default.createElement(k.default,{linkOrButton:"link",artAsset:a,onComplete:this.saveMetadata})," ","⢠",g.default.createElement(C.default,{onClick:this.confirmDelete},"Delete")))}}]),t}(),c.propTypes={gid:v.default.string.isRequired,category:v.default.string.isRequired,actuallyEditable:v.default.bool,popConfirmModalFn:v.default.func},c.defaultProps={actuallyEditable:!1},u=d))||u)||u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CardsTabCardEditor=t.CardEditorForm=void 0;var n,a,o,i,l,s,u,c,d,f=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),p=E(r(1)),m=E(r(0)),h=r(9),y=(r(10),r(11)),g=r(12),b=E(r(92)),v=E(r(75)),w=E(r(15));function E(e){return e&&e.__esModule?e:{default:e}}function k(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function C(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var S=(0,h.inject)("$deckEditor")(n=(0,h.observer)((o=a=function(e){function t(){return k(this,t),_(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return C(t,p.default.Component),f(t,[{key:"render",value:function(){var e=this.props.$deckEditor.cardEditorStore;return p.default.createElement(y.FormControl,{type:"text",autoFocus:!0,value:e.fastName,onChange:function(t){return e.setFastName(t.target.value)},className:"flex-grow-2","data-p":"card_name_input"})}}]),t}(),a.propTypes={$deckEditor:m.default.object.isRequired},n=o))||n)||n,P=t.CardEditorForm=(0,h.inject)("$deckEditor","$gameplay")(i=(0,h.observer)((s=l=function(e){function t(){return k(this,t),_(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return C(t,p.default.Component),f(t,[{key:"render",value:function(){var e=this.props.$deckEditor.cardEditorStore,t=this.props.$gameplay.gsm,r=this.props.inWiderModal;return p.default.createElement("div",null,p.default.createElement(y.FormGroup,{className:r?"form-inline flex-row-justify mobile-columnify":""},p.default.createElement(y.ControlLabel,{className:"gutter-after"},"Card name:"),p.default.createElement(S,{store:e})),e.cardNameIsTaken&&!e.spinning&&p.default.createElement(y.Alert,{bsStyle:"danger"},"There is already a ",t.prettyKind(e.kind)," card with this name."),e.polarityIsEditable&&p.default.createElement(y.FormGroup,{className:"form-inline flex-row-justify flex-start"},p.default.createElement(y.ControlLabel,{className:"gutter-after"},"Card polarity:"),p.default.createElement(y.Radio,{name:"polarity",value:1,checked:1===e.polarity,className:"gutter-after",onChange:function(t){return e.setPolarity(parseInt(t.target.value,10))},"data-p":"polarity_radio_positive"}," Positive  ",p.default.createElement(w.default,{name:"plus-circle"})),p.default.createElement(y.Radio,{name:"polarity",value:-1,checked:-1===e.polarity,onChange:function(t){return e.setPolarity(parseInt(t.target.value,10))},"data-p":"polarity_radio_negative"}," Negative  ",p.default.createElement(w.default,{name:"minus-circle"}))),p.default.createElement("div",{className:"text-center"},p.default.createElement(v.default,{incompleteCard:e.previewCard,noLightbox:!0}),p.default.createElement("br",null),p.default.createElement(b.default,{currentImage:e.image,artCategory:"card",onComplete:e.setImage,onToggle:e.setArtChooserOpen})))}}]),t}(),l.propTypes={$deckEditor:m.default.object.isRequired,$gameplay:m.default.object.isRequired,inWiderModal:m.default.bool},l.defaultProps={inWiderModal:!1},i=s))||i)||i;t.CardsTabCardEditor=(0,h.inject)("$gameplay","$deckEditor")(u=(0,h.observer)((d=c=function(e){function t(){return k(this,t),_(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return C(t,p.default.Component),f(t,[{key:"render",value:function(){var e=this.props.$deckEditor,t=this.props.$gameplay.gsm,r=t.deckEditingRestrictionLevel();
1if("confirmDeleteCard"===e.modalTypeOpen){var n=t.state.cards[e.deletingCardGid];return t.cardIsUsedByOtherDeckObjects(n.gid)?p.default.createElement(y.Modal,{show:!0,onHide:e.cancel},p.default.createElement(y.Modal.Header,{closeButton:!0},"This card is in use by a character type or scenario"),p.default.createElement(y.Modal.Body,null,p.default.createElement("p",null,"Deleting this card would impact one or more character types or scenarios in your storyworld, where it is already in use. Please remove all usage of this card in the storyworld before deleting it.")),p.default.createElement(y.Modal.Footer,null,p.default.createElement(g.Footer,null,p.default.createElement(g.CancelButton,{onClick:e.cancel})))):p.default.createElement(y.Modal,{show:!0,onHide:e.cancel},p.default.createElement(y.Modal.Header,{closeButton:!0},"Really delete the card â",n.name,"â?"),p.default.createElement(y.Modal.Body,null,p.default.createElement("p",null,"Deleting it will permanently remove it from the storyworld. However, any art uploaded for the card will remain available in the storyworldsâs art library (use the âArtâ tab to remove any corresponding artwork as well.)")),p.default.createElement(y.Modal.Footer,null,p.default.createElement(g.Footer,null,p.default.createElement(g.CancelButton,{onClick:e.cancel}),p.default.createElement(g.ActionButton,{onClick:e.reallyDeleteCard,spinning:"deleteCardSpinning"===e.spinning,"data-p":"confirm_delete_card_btn"},"Delete it"))))}if("cardEditor"===e.modalTypeOpen){var a=e.cardEditorStore;return p.default.createElement(y.Modal,{show:!0,onHide:e.cancel,keyboard:!1,backdrop:"static"},a.artChooserOpen&&p.default.createElement("div",{className:"modal-suppressor"}),p.default.createElement(y.Modal.Header,{closeButton:!0},a.editingCardGid?p.default.createElement("span",null,"Edit this ",t.prettyKind(a.kind)," card"):p.default.createElement("span",null,"Create a new ",t.prettyKind(a.kind)," card")),p.default.createElement(y.Modal.Body,null,"deck_edits_minor"===r&&p.default.createElement(y.Alert,{type:"info"},"Warning: edits here will affect all existing games based on this storyworld. Please only make minor changes and improvements without altering the fictional intent."),p.default.createElement(P,null)),p.default.createElement(y.Modal.Footer,null,p.default.createElement(g.Footer,null,p.default.createElement(g.CancelButton,{onClick:e.cancel}),p.default.createElement(g.ActionButton,{onClick:function(){return a.save().then(e.cancel,function(){})},spinning:a.spinning,disabled:!a.validToSave,"data-p":"save_card_btn"},"Save"))))}return!1}}]),t}(),c.propTypes={$gameplay:m.default.object.isRequired,$deckEditor:m.default.object.isRequired},u=d))||u)||u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=h(r(170)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=h(r(1)),u=h(r(0)),c=r(9),d=r(11),f=r(12),p=h(r(56)),m=h(r(92));function h(e){return e&&e.__esModule?e:{default:e}}var y=(0,c.inject)("$gameplay","$deckEditor")(n=(0,c.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=this.props.$deckEditor,t=this.props.$gameplay.gsm,r=t.deckEditingRestrictionLevel();if("confirmDeleteCharType"===e.modalTypeOpen){var n=t.state.characters[e.deletingCharTypeGid];return s.default.createElement(d.Modal,{show:!0,onHide:e.cancel},s.default.createElement(d.Modal.Header,{closeButton:!0},"Really delete the character type â",n.name,"â?"),s.default.createElement(d.Modal.Body,null,s.default.createElement("p",null,"Deleting it will permanently remove it from the storyworld. However, any art uploaded for the character type will remain available in the storyworldsâs art library (use the âArtâ tab to remove any corresponding artwork as well.)")),s.default.createElement(d.Modal.Footer,null,s.default.createElement(f.Footer,null,s.default.createElement(f.CancelButton,{onClick:e.cancel}),s.default.createElement(f.ActionButton,{onClick:e.reallyDeleteCharType,spinning:"deleteCharType
1Spinning"===e.spinning},"Delete it"))))}var a=t.filterCardsForUseCase("charTypeEditor",{kind:"ckStrength"}),o=t.filterCardsForUseCase("charTypeEditor",{kind:"ckFlaw"}),l=t.filterCardsForUseCase("charTypeEditor",{kind:"ckMotivation"});return"charTypeInsufficientDataWarning"===e.modalTypeOpen?s.default.createElement(d.Modal,{show:!0,onHide:e.cancel},s.default.createElement(d.Modal.Header,{closeButton:!0},s.default.createElement("span",null,"Canât create a new character type yet")),s.default.createElement(d.Modal.Body,null,s.default.createElement("p",null,"Before you can create a new character type, you need to define at least one Strength, Flaw, and negative Motivation card in the cards section. This is because every character type starts with one of each of those cards.")),s.default.createElement(d.Modal.Footer,null,s.default.createElement(f.Footer,null,s.default.createElement(f.CancelButton,{onClick:e.cancel})))):"charTypeEditor"===e.modalTypeOpen&&s.default.createElement(d.Modal,{show:!0,onHide:e.cancel,keyboard:!1,backdrop:"static"},s.default.createElement(d.Modal.Header,{closeButton:!0},e.editingCharTypeGid?s.default.createElement("span",null,"Edit this character type"):s.default.createElement("span",null,"Create a new character type")),s.default.createElement(d.Modal.Body,null,"deck_edits_minor"===r&&s.default.createElement(d.Alert,{type:"info"},"Warning: edits here will affect all existing games based on this storyworld. Please only make minor changes and improvements without altering the fictional intent."),s.default.createElement("p",null,s.default.createElement("em",null,"All fields are required.")),s.default.createElement(d.FormGroup,null,s.default.createElement(d.ControlLabel,null,"Character Type Title"),s.default.createElement(d.FormControl,{type:"text",value:e.charTypeAttrs.name,placeholder:"E.g. âThe Scholarâ or âSeasoned Warriorâ",onChange:function(t){return e.setCharTypeProp("name",t.target.value)}})),s.default.createElement(d.FormGroup,null,s.default.createElement(d.ControlLabel,null,"Avatars"),s.default.createElement("div",null,s.default.createElement("div",{style:{display:"inline-block"}},e.charTypeAttrs.image?s.default.createElement(p.default,{image:e.charTypeAttrs.image,size:"m",style:{margin:"0 20px 10px 0"}}):s.default.createElement(p.default,{artGid:"characterDefault",size:"m",style:{margin:"0 20px 10px 0"}}),s.default.createElement("br",null),s.default.createElement(m.default,{currentImage:e.charTypeAttrs.image,isRequired:!0,orange:!0,artCategory:"avatar",onComplete:function(t){return e.setCharTypeProp("image",t)}})),s.default.createElement("div",{style:{display:"inline-block"}},e.charTypeAttrs.image2?s.default.createElement(p.default,{image:e.charTypeAttrs.image2,size:"m",style:{margin:"0 20px 10px 0"}}):s.default.createElement(p.default,{artGid:"characterDefault",size:"m",style:{margin:"0 20px 10px 0"}}),s.default.createElement("br",null),s.default.createElement(m.default,{currentImage:e.charTypeAttrs.image2,isRequired:!0,orange:!0,artCategory:"avatar",onComplete:function(t){return e.setCharTypeProp("image2",t)}})))),s.default.createElement(d.FormGroup,null,s.default.createElement(d.ControlLabel,null,"Initial Strength card"),s.default.createElement(d.FormControl,{componentClass:"select",placeholder:"select",value:e.charTypeAttrs.defaultStrength,onChange:function(t){return e.setCharTypeProp("defaultStrength",t.target.value)},disabled:"deck_edits_all"!==r},s.default.createElement("option",{value:""},"-- Select a card --"),(0,i.default)(a,function(e){return s.default.createElement("option",{key:e.gid,value:e.gid},e.name)}))),s.default.createElement(d.FormGroup,null,s.default.createElement(d.ControlLabel,null,"Initial Flaw card"),s.default.createElement(d.FormControl,{componentClass:"select",placeholder:"select",value:e.charTypeAttrs.defaultFlaw,onChange:function(t){return e.setCharTypeProp("defaultFlaw",t.target.value)},disabled:"deck_edits_all"!==r},s.default.createElement("option",{value:""},"-- Select a card --"),(0,i.default)(o,function(e){return s.default.createElement("option",{key:e.gid,value:e.gid},e.name)}))),s.default.createElement(d.FormGroup,null,s.default.createElement(d.Control
1Label,null,"Initial Motivation card"),s.default.createElement(d.FormControl,{componentClass:"select",placeholder:"select",value:e.charTypeAttrs.defaultMotivation,onChange:function(t){return e.setCharTypeProp("defaultMotivation",t.target.value)},disabled:"deck_edits_all"!==r},s.default.createElement("option",{value:""},"-- Select a card --"),(0,i.default)(l,function(e){return s.default.createElement("option",{key:e.gid,value:e.gid},e.name)}))),s.default.createElement(d.FormGroup,null,s.default.createElement(d.ControlLabel,null,"Suggested names (6)"),(0,i.default)([0,1,2,3,4,5],function(t){return s.default.createElement(d.FormControl,{key:t,text:"text",style:{marginBottom:"5px"},value:e.charTypeAttrs.suggestedNames[t],placeholder:"Suggested name #"+(t+1),onChange:function(r){return e.setCharTypeProp("suggestedNames",r.target.value,t)}})}))),s.default.createElement(d.Modal.Footer,null,s.default.createElement(f.Footer,null,s.default.createElement(f.CancelButton,{onClick:e.cancel}),s.default.createElement(f.ActionButton,{onClick:e.saveCharType,spinning:"saveCharTypeSpinning"===e.spinning,disabled:!e.validToSave},"Save"))))}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$deckEditor:u.default.object.isRequired},n=o))||n)||n;t.default=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(64);t.default=function(e){var t=e.category,r=e.onSuccess,a=e.onFail,o=e.onClose,i=e.extraTags,l=["edubeta",t];l.push("production"),i&&i.length&&(l=l.concat(i));var s={cloudName:"protagonistlabs",uploadPreset:"kbtksikv",multiple:!1,cropping:!0,croppingAspectRatio:n.aspectRatios[t],showSkipCropButton:!1,croppingDefaultSelectionRatio:1,showPoweredBy:!1,tags:l,sources:["local","url","camera","dropbox","google_drive"]};"pdf"===t&&(s.uploadPreset="o3y8v2um-edu-pdf",s.sources=["local"],s.cropping=!1,delete s.croppingAspectRatio,delete s.croppingDefaultSelectionRatio),cloudinary.openUploadWidget(s,function(e,n){
1n&&"success"===n.event&&n.info&&n.info.public_id&&(console.log("uploaded result:",n),r&&r("pdf"===t?{assetId:n.info.public_id}:{artGid:"upload",artUpload:{gid:"upload",assetId:n.info.public_id,size:n.info.width+","+n.info.height,categories:[t]}})),e&&(console.log("error uploading image:",e,n),a?a():o&&o())})}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),g=C(r(1)),b=C(r(0)),v=r(11),w=r(12),E=r(9),k=r(10),_=C(r(13));function C(e){return e&&e.__esModule?e:{default:e}}function S(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function P(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function O(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var T=(0,E.observer)((h=m=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,m=Array(a),h=0;h<a;h++)m[h]=arguments[h];return r=n=P(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(m))),S(n,"attributionUrlInput",o,n),S(n,"attributionTextInput",i,n),S(n,"altTextInput",l,n),S(n,"isOpen",s,n),S(n,"spinning",u,n),S(n,"setAttr",c,n),S(n,"open",d,n),S(n,"close",f,n),S(n,"completeWithResult",p,n),n.save=function(){var e={attributionUrl:n.attributionUrlInput.trim(),attributionText:n.attributionTextInput.trim(),altText:n.altTextInput.trim()};e.altText||delete e.altText,e.attributionUrl||delete e.attributionUrl,e.attributionText||delete e.attributionText,n.completeWithResult(e)},n.cancel=function(){n.completeWithResult(!1)},P(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,g.default.Component),y(t,[{key:"render",value:function(){var e=this,t=!1;return this.isOpen&&(t=g.default.createElement(v.Modal,{keyboard:!1,backdrop:"static",show:!0},g.default.createElement(v.Modal.Header,null,"Edit image info"),g.default.createElement(v.Modal.Body,null,g.default.createElement(v.FormGroup,null,g.default.createElement(v.ControlLabel,null,"Image attribution text"),g.default.createElement(v.FormControl,{type:"text",value:this.attributionTextInput,onChange:function(t){return e.setAttr("attributionTextInput",t.target.value)}})),g.default.createElement(v.FormGroup,null,g.default.createElement(v.ControlLabel,null,"Image attribution URL"),g.default.createElement(v.FormControl,{type:"text",value:this.attributionUrlInput,onChange:function(t){return e.setAttr("attributionUrlInput",t.target.value)}})),g.default.createElement(v.FormGroup,null,g.default.createElement(v.ControlLabel,null,"Image description"),g.default.createElement(v.FormControl,{type:"text",value:this.altTextInput,onChange:function(t){return e.setAttr("altTextInput",t.target.value)}}))),g.default.createElement(v.Modal.Footer,null,g.default.createElement(w.Footer,null,g.default.createElement(w.CancelButton,{onClick:this.cancel}),g.default.createElement(w.DoneButton,{onClick:this.save,label:"Done",spinning:this.spinning}))))),"link"===this.props.linkOrButton?g.default.createElement("div",{style:{display:"inline-block"}},t,g.default.createElement(_.default,{onClick:this.open,style:this.props.style},"Edit")):g.default.createElement("div",{style:{display:"inline-block"}},t,g.default.createElement(w.ActionButton,{icon:"pencil",bsStyle:"info",onClick:this.open,style:this.props.style},"Edit info"))}}]),t}(),m.propTypes={linkOrButton:b.default.string.isRequired,artAsset:b.default.any.isRequired,onComplete:b.default.func.isRequired,onOpen:b.default.func},o=O((a=h).prototype,"attributionUrlInput",[k.observable],{enumerable:!0,initializer:null}),i=O(a.prototype,"attributionTextInput",[k.observable],{enumerable:!0,initializer:null}),l=O(a.prototype,"altTextInput",[k.observable],{enumerable:!0,initializer:null}),s=O(a.prototype,"isOpen",[k.observable],{enumerable:!0,initializer:null}),u=O(a.prototype,"spinning",[k.observable],{enumerable:!0,initializer:null}),c=O(a.prototype,"setAttr",[k.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r){e[t]=r}}}),d=O(a.prototype,"open",[k.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=e.props.artAsset;e.attributionUrlInput=t.attributionUrl||"",e.attributionTextInput=t.attributionText||"",e.altTextInput=t.altText||"",e.isOpen=!0,e.props.onOpenChange&&e.props.onOpenChange(!0)}}}),f=O(a.prototype,"close",[k.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.spinning=!1,e.isOpen=!1,e.props.onOpenChange&&e.props.onOpenChange(!1)}}}),p=O(a.prototype,"completeWithResult",[k.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=e.props.onComplete(t);r&&r.then?(e.spinning=!0,r.then(e.close).catch((0,k.action)(function(){e.spinning=!1}))):e.close()}}}),n=a))||n;t.default=T},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),c=b(r(1)),d=b(r(0)),f=r(9),p=(r(10),r(11)),m=r(12),h=b(r(92)),y=b(r(75)),g=b(r(15));function b(e){return e&&e.__esModule?e:{default:e}}function v(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function w(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function E(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var k=(0,f.inject)("$deckEditor","$gameplay")(n=(0,f.observer)((o=a=function(e){function t(){return v(this,t),w(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return E(t,c.default.Component),u(t,[{key:"render",value:function(){var e=this.props.$deckEditor,t=this.props.$gameplay.gsm,r=e.cardEditorStore;return c.default.createElement("div",null,r.bulkAddCardNames.map(function(e,n){return c.default.createElement("div",{key:n},c.default.createElement(p.FormGroup,{className:"flex-row-justify flex-start"},c.default.createElement(p.ControlLabel,{style:{marginRight:10}},n+1,". "),c.default.createElement(p.FormControl,{type:"text",autoFocus:0===n,value:e,onChange:function(e){return r.setBulkCardName(n,e.target.value)}})),r.bulkCardNamesTaken[n]&&c.default.createElement(p.Alert,{bsStyle:"danger"},"There is already a ",t.prettyKind(r.kind)," card with the name â",e,"â."))}),c.default.createElement(p.FormGroup,{className:"flex-row-justify flex-start"},c.default.createElement(p.ControlLabel,{style:{marginRight:10,opacity:0}},r.bulkAddCardNames.length,"."),c.default.createElement(m.ActionButton,{icon:"plus-circle",label:"Add more",onClick:r.addMoreBulkNames})))}}]),t}(),a.propTypes={$deckEditor:d.default.object.isRequired,$gameplay:d.default.object.isRequired},n=o))||n)||n,_=(0,f.inject)("$gameplay","$deckEditor")(i=(0,f.observer)((s=l=function(e){function t(){return v(this,t),w(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return E(t,c.default.Component),u(t,[{key:"render",value:function(){var e=this.props.$deckEditor,t=this.props.$gameplay.gsm,r=e.cardEditorStore;return"bulkAdder"===e.modalTypeOpen&&c.default.createElement(p.Modal,{show:!0,onHide:e.cancel,keyboard:!1,backdrop:"static"},r.artChooserOpen&&c.default.createElement("div",{className:"modal-suppressor"}),c.default.createElement(p.Modal.Header,{closeButton:!0},c.default.createElement("span",null,"Create a set of new ",t.prettyKind(r.kind)," cards")),c.default.createElement(p.Modal.Body,null,c.default.createElement("p",null,"This creates multiple cards at once, each having a unique name but all with the same image",0!==r.polarity?" and polarity":"","."),r.polarityIsEditable&&c.default.createElement(p.FormGroup,{className:"form-inline flex-row-justify flex-start"},c.default.createElement(p.ControlLabel,{className:"gutter-after"},"Card polarity:"),c.default.createElement(p.Radio,{name:"polarity",value:1,checked:1===r.polarity,className:"gutter-after",onChange:function(e){return r.setPolarity(1)}}," Positive  ",c.default.createElement(g.default,{name:"plus-circle"})),c.default.createElement(p.Radio,{name:"polarity",value:-1,checked:-1===r.polarity,onChange:function(e){return r.setPolarity(-1)}}," Negative  ",c.default.createElement(g.default,{name:"minus-circle"}))),c.default.createElement("p",null,c.default.createElement("strong",null,"Card names:")," (one per card, blank entries will be ignored)"),c.default.createElement(k,null),c.default.createElement("div",{className:"text-center"},c.default.createElement(y.default,{incompleteCard:r.previewCard,noLightbox:!0}),c.default.createElement("br",null),c.default.createElement(h.default,{currentImage:r.image,artCategory:"card",onComplete:r.setImage,onToggle:r.setArtChooserOpen}))),c.default.createElement(p.Modal.Footer,null,c.default.createElement(m.Footer,null,c.default.createElement(m.CancelButton,{onClick:e.cancel}),c.default.createElement(m.ActionButton,{onClick:function(){return r.s
1ave().then(e.cancel)},spinning:r.spinning,disabled:!r.validToSave},"Save"))))}}]),t}(),l.propTypes={$gameplay:d.default.object.isRequired,$deckEditor:d.default.object.isRequired},i=s))||i)||i;t.default=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f=E(r(225)),p=E(r(150)),m=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),h=E(r(1)),y=r(10),g=r(9),b=E(r(0));r(631);var v=E(r(13)),w=E(r(15));function E(e){return e&&e.__esModule?e:{default:e}}function k(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function _(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var C=(0,g.observer)((d=c=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return k(r,"centerIdx",o,r),k(r,"initCenter",i,r),k(r,"selectIdx",l,r),k(r,"maybeDeselect",s,r),k(r,"slide",u,r),r.initCenter(),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,h.default.Component),m(t,[{key:"render",value:function(){var e=this,t=this.props.choices,r={transform:"translate("+(!1===this.centerIdx?-1*t.length/2*100:100*(-.5-this.centerIdx))+"%,0%)"};return h.default.createElement("div",{className:"scroll-chooser",id:this.props.id},h.default.createElement("div",{className:"slider"},h.default.createElement("div",{className:"slider-window"},h.default.createElement("div",{className:"slider-content"},t.map(function(t,n){var a=e.props.id+"_"+t.key;return h.default.createElement("div",{key:t.key,onClick:function(){return e.maybeDeselect(n)},className:"chooser-item-outer "+(e.props.selected===t.key?"selected":""),style:r},h.default.createElement("label",{htmlFor:a},h.default.createElement("input",{id:a,type:"radio",name:"picker_"+e.props.id,value:n,onChange:function(){return e.selectIdx(n)},checked:e.props.selected===t.key}),h.default.createElement("div",{className:"chooser-item-inner"},t.content)))}))),h.default.createElement(v.default,{className:"control-left",onClick:function(){return e.slide(-1)}},h.default.createElement("div",{className:"control-icon"},h.default.createElement(w.default,{size:"2x",name:"chevron-left"}))),h.default.createElement(v.default,{className:"control-right",onClick:function(){return e.slide(1)}},h.default.createElement("span",{className:"control-icon"},h.default.createElement(w.default,{size:"2x",name:"chevron-right"}))),h.default.createElement("div",{className:"pointer"},h.default.createElement("div",{className:"pointer-inner "+(this.props.selected&&"active")})),h.default.createElement("div",{className:"shadow-left"}),h.default.createElement("div",{className:"shadow-right"})))}}]),t}(),c.propTypes={choices:b.default.array.isRequired,selected:b.default.any,onChange:b.default.func.isRequired,id:b.default.string.isRequired,noDeselectAllowed:b.default.bool},c.defaultProps={selected:!1,noDeselectAllowed:!1},o=_((a=d).prototype,"centerIdx",[y.observable],{enumerable:!0,initializer:function(){return!1}}),i=_(a.prototype,"initCenter",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=(0,p.default)(e.props.choices,function(t){return t.key===e.props.selected});e.centerIdx=t>=0&&t}}}),l=_(a.prototype,"selectIdx",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.centerIdx=t,e.props.onChange(e.props.choices[t].key),e.trap=t,setTimeout(function(){e.trap=!1},50)}}}),s=_(a.prototype,"maybeDeselect",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(t){setTimeout(function(){e.trap!==t&&(e.props.noDeselectAllowed||e.props.onChange(!1))},25)}}}),u=_(a.prototype,"slide",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(t){!1===e.centerIdx?e.props.choices.length%2==0?e.centerIdx=t>0?Math.floor(e.props.choices.length/2):Math.floor(e.props.choices.length/2)-1:e.centerIdx=Math.floor(e.props.choices.length/2):e.centerIdx+=t,e.centerIdx=(0,f.default)(e.centerIdx,0,e.props.choices.length-1),e.props.selected&&(e.props.onChange(e.props.choices[e.centerIdx].key),e.trap=e.centerIdx,setTimeout(function(){e.trap=!1},50))}}}),n=a))||n;t.default=C},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=p(r(1)),s=(r(10),r(9)),u=p(r(0)),c=r(12),d=p(r(636)),f=p(r(34));p(r(13));function p(e){return e&&e.__esModule?e:{default:e}}var m=(0,s.inject)("$gameplay","$composer","$authUser","$userInfo","$chargen")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this,t=this.props,r=t.$gameplay,n=t.$composer,a=t.$authUser,o=t.$userInfo,i=t.$chargen,s=r.gsm;if(!(r.focusedSceneId===r.highSceneId))return!1;if(n.composingOnScene(r.focusedSceneId))return!1;var u=s.state.characters[r.activeCharacterGid],p=s.whoseTurn(),m=!1,h=!1,y=!1;if(s.canMoveMkText(a.pid,p)&&(m="As the teacher, you can add to the story outside the regular sequence of moves at any time.",h={onClick:function(){return n.beginComposing("mkText")},label:"Add to the story"},y=l.default.createElement(c.ActionPrompt,{header:"You can still add to the story",label:h.label,onClick:h.onClick},m)),i.canStart)return!r.authIsOrganizer&&l.default.createElement(c.ActionPrompt,{header:"Youâre invited to this game",onClick:i.start,label:"Join"},l.default.createElement("p",null,"The organizer (",o.displayName(r.organizerUserPid),") has invited you to play a character in this game."));if(!p.to)return p.gameOver&&p.canStartFlashback.indexOf(r.activeCharacterGid)>=0?l.default.createElement(c.ActionPrompt,{header:"You can still write a flashback",label:"Write a flashback",onClick:function(){return n.beginComposing("mkFlashback")},scrollIntoView:!0,secondMsg:m,secondBtn:h},"Even though the game is over, once per scene you can still optionally make an extra turn called a ",l.default.createElement("strong",null,"flashback"),", which lets you tell us some backstory about your character."):!!m&&y;var g=!!r.activeCharacterGid,b=p.userPid&&o.displayName(p.userPid),v=s.state.teacherUserPid===s.state.organizerUserPid,w=!!s.state.setupReady,E=s.state.teacherUserPid===a.pid;if(!v&&E&&w)return l.default.createElement(c.TurnPrompt,{header:l.default.createElement("span",null,"Ready to start â approval required"),onClick:function(){return n.startScene({confirmModal:e.confirmModal,firstScene:!0})},label:"Approve game to start",spinning:"startingScene"===n.spinning},"This gameâs organizer (",o.displayName(s.state.organizerUserPid),") says theyâre ready to start the game. Please review the gameâs name, cast, cards, and scenario (if any), and then approve the game. If there are any issues you can ask the organizer to fix them, or you can fix them yourself on this page.",l.default.createElement(f.default,{ref:function(t){e.confirmModal=t}}));if(p.userPid!==a.pid){if(g){if("turnToStartScene"===p.to&&p.isEpilogue){var k=l.default.createElement("span",null,b," wrote the most words in this game, so they won the chance to start the epilogue. Standby...");return p.canStartFlashback.indexOf(r.activeCharacterGid)>=0?l.default.createElement(c.ActionPrompt,{header:k,label:"Write a flashback",onClick:function(){return n.beginComposing("mkFlashback")},scrollIntoView:!0,secondMsg:m,secondBtn:h},"In the meantime, once per scene you can optionally make an extra turn called a ",l.default.createElement("strong",null,"flashback"),", which lets you tell us some backstory about your character."):l.default.createElement("div",null,l.default.createElement(c.Standby,null,k),y)}var _=l.default.createElement("span",null,"Standby, itâs ",b,"âs turn to"," ","turnToStartScene"===p.to&&"start the "+(p.firstScene?"first":"next")+" scene","turnToDrawInitialBonds"===p.to&&"draw Bond cards","turnToMove"===p.to&&"mkDrawSceneCards"===p.kind&&"draw cards for the scene","turnToMove"===p.to&&"mkDrawCharacterCards"===p.kind&&"move","turnToMove"===p.to&&"mkPlayToEpilogue"===p.kind&&"move","turnToMove"===p.to&&"mkPlayToChallenge"===p.kind&&"move","...");return p.canStartFlashback.indexOf(r.activeCharacterGid)>=0?l.default.createElement("div",null,l.default.createElement(d.default,null),l.default.createElement(c.ActionPrompt,{header:_,label:"Write a flashback",onClick:function(){return n.beginComposing("mkFlashback")},scrollIntoView:!0,secondMsg:m,secondBtn:h},"In the meantime, once per scene you can optionally make an extra turn called a ",l.default.createElement("strong",null,"flashback"),", which lets you tell us some backstory about your character.")):p.mustDrawCards.indexOf(r.activeCharacterGid)>=0?l.default.createElement("div",null,l.default.createElement(d.default,null),l.default.createElement(c.ActionPrompt,{header:_,label:"Draw cards",onClick:function(){return n.beginComposing("mkDrawCharacterCards")},scrollIntoView:!0,secondMsg:m,secondBtn:h},u.noFirstBondYet?l.default.createElement("span",null,"In the meantime, you can draw your first card."):l.default.createElement("span",null,"In the meantime, you can draw a new card."))):l.default.createElement("div",null,l.default.createElement(d.default,null),l.default.createElement(c.Standby,null,_),y)}return"turnToStartScene"===p.to&&p.isEpilogue?l.default.createElement("div",null,l.default.createElement(c.Standby,{inactive:!0},b," wrote the most words in this game, so they won the chance to start the epilogue."),y):l.default.createElement("div",null,l.default.createElement(d.default,null),l.default.createElement(c.Standby,{inactive:!0},"Itâs ",b,"âs turn to"," ","turnToStartScene"===p.to&&"start the "+(p.firstScene?"first":"next")+" scene","turnToDrawInitialBonds"===p.to&&"draw Bond cards","turnToMove"===p.to&&"mkDrawSceneCards"===p.kind&&"draw cards for the scene","turnToMove"===p.to&&"mkDrawCharacterCards"===p.kind&&"move","turnToMove"===p.to&&"mkPlayToEpilogue"===p.kind&&"move","turnToMove"===p.to&&"mkPlayToChallenge"===p.kind&&"move","..."),y)}if("turnToStartScene"===p.to)return p.isEpilogue?l.default.createElement(c.TurnPrompt,{onClick:function(){return n.startScene({confirmModal:!1})},label:"Start the epilogue",spinning:"startingScene"===n.spinning,secondMsg:m,secondBtn:h},b,", you wrote the most words in this game, so itâs your turn to write the epilogue"):p.firstScene?w?l.default.createElement(c.Standby,null,l.default.createElement(f.default,{ref:function(t){e.confirmModal=t}}),l.default.createElement("div",{className:"flex-row-justify align-items-start"},l.default.createElement("div",{className:"gutter-after"},"Almost ready! Once your teacher approves your game it will start right away. (If you arenât actually ready to start, you can still cancel and make more changes to your game.)"),l.default.createElement(c.ActionButton,{onClick:function(){return n.cancelSignalReady({confirmModal:e.confirmModal})},bsStyle:"default",icon:"times-circle",label:"Cancel",spinning:"signallingReady"===n.spinning}))):v||s.state.isDemoHack?l.default.createElement(c.TurnPrompt,{onClick:function(){return n.startScene({confirmModal:e.confirmModal,firstScene:!0})},label:"Start the game",spinning:"startingScene"===n.spinning}
1,b,", itâs your turn to start the first scene.",l.default.createElement(f.default,{ref:function(t){e.confirmModal=t}})):l.default.createElement(c.TurnPrompt,{onClick:function(){return n.signalReady({confirmModal:e.confirmModal})},label:"Start the game",spinning:"signallingReady"===n.spinning},l.default.createElement("span",null,b,", youâre ready to start the first scene of your game."),l.default.createElement(f.default,{ref:function(t){e.confirmModal=t}})):l.default.createElement(c.TurnPrompt,{onClick:function(){return n.startScene({confirmModal:!1})},label:"Start next scene",spinning:"startingScene"===n.spinning,secondMsg:m,secondBtn:h},l.default.createElement("span",null,b,", itâs your turn to start the next scene."));if("turnToDrawInitialBonds"===p.to)return!1;if("turnToMove"===p.to){var C=m?" as your character":"";if("mkDrawSceneCards"===p.kind)return l.default.createElement(c.TurnPrompt,{onClick:function(){return n.beginComposing()},label:"Draw scene cards",secondMsg:m,secondBtn:h},p.firstScene?l.default.createElement("span",null,b,", itâs your turn to draw"," ",l.default.createElement("strong",null,"scene cards")," for the first scene."):l.default.createElement("span",null,b,", itâs your turn to draw"," ",l.default.createElement("strong",null,"scene cards"),"."));if("mkDrawCharacterCards"===p.kind)return l.default.createElement(c.TurnPrompt,{onClick:function(){return n.beginComposing()},label:"Draw your card",secondMsg:m,secondBtn:h},b,", itâs your turn to draw a new card",C,".");if("mkPlayToChallenge"===p.kind)return l.default.createElement(c.TurnPrompt,{onClick:function(){return n.beginComposing()},label:"Move",secondMsg:m,secondBtn:h},b,", itâs your turn to make a move",C,".");if("mkPlayToEpilogue"===p.kind)return l.default.createElement(c.TurnPrompt,{onClick:function(){return n.beginComposing()},label:"Move",secondMsg:m,secondBtn:h},b,", itâs your turn to make your final move",C,".")}return!1}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$composer:u.default.object.isRequired,$authUser:u.default.object.isRequired,$userInfo:u.default.object.isRequired,$chargen:u.default.object.isRequired},n=o))||n)||n;t.default=m},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=p(r(1)),s=p(r(0)),u=p(r(17)),c=r(9),d=p(r(19));r(337);var f=p(r(15));r(336);r(10);function p(e){return e&&e.__esModule?e:{default:e}}var m=(0,d.default)("Card"),h=(0,c.inject)("$gameplay")(n=(0,c.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$gameplay.gsm;if(!this.props.card&&!this.props.gid&&!this.props.kind)return m.warn("CardSocket component did not receive a card or gid or kind prop"),!1;var t=this.props.card?this.props.card:this.props.gid?e.state.cards[this.props.gid]:null,r=this.props.kind||t&&t.kind;if(!r)return m.warn("CardSocket component could not resolve the card data"),!1;var n=this.props.polarity?this.props.polarity:t?t.polarity:e.cardKindFixedPolarity(r),a=["card-socket"];return a.push(r),l.default.createElement("div",{className:a.join(" ")},l.default.createElement("div",{className:"card-socket-inner"},l.default.createElement("div",{className:"card-socket-inner2"},l.default.createElement("div",{className:"socket-label"},l.default.createElement("div",{className:"kind-icon"},l.default.createElement(f.default,{name:e.kindIcon(r)})),l.default.createElement("div",{className:"kind"},e.prettyKind(r)),l.default.createElement("div",{className:"polarity-icon"},1===n?l.default.createElement(f.default,{name:"plus-circle"}):-1===n&&l.default.createElement(f.default,{name:"minus-circle"}))))))}}]),t}(),a.propTypes={$gameplay:s.default.object.isRequired,card:u.default.propT
1ypes.cardPreview,gid:u.default.propTypes.gid,kind:s.default.string,polarity:s.default.number},a.defaultProps={card:null,gid:null,kind:null,polarity:null},n=o))||n)||n;t.default=h},,function(e,t,r){e.exports=r.p+"assets/clean-gray-paper.18beaf05ef33f7bbb04f114e091d2c79.png"},function(e,t,r){},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=C(r(50)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=C(r(1)),u=r(11),c=r(9),d=C(r(0)),f=C(r(17)),p=C(r(75)),m=C(r(94));r(644);var h=C(r(64)),y=C(r(36)),g=C(r(13)),b=C(r(56)),v=C(r(15)),w=C(r(640)),E=C(r(639)),k=C(r(63)),_=r(123);function C(e){return e&&e.__esModule?e:{default:e}}var S=(0,c.inject)("$gameplay","$userInfo","$composer","$editor","$authUser","$rtDraftStatuses","$tracking")(n=(0,c.observer)((o=a=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.state={animClass:e.$composer.newPublishedMoveGid===(e.move&&e.move.gid)?"new-published-move":""},r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"componentDidMount",value:function(){var e=this;this.mounted=!0,this.state.animClass&&setTimeout(function(){e.props.$composer.clearNewMoveState(),e.mounted&&e.setState({animClass:"new-published-move entered"})},100)}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"render",value:function(){var e=this.props,t=e.$gameplay,r=e.$userInfo,n=e.$authUser,a=e.$editor,o=e.$rtDraftStatuses,l=e.isSocketDraftPreview,c=this.props.move||this.props.fakeSocketMove;if(!c)return!1;if(("mkDrawCharacterCards"===c.kind||"mkFlashback"===c.kind)&&l)return!1;var d=t.gsm,f=c.characterGid&&d.state.characters[c.characterGid],C=d.sceneSummary(c.sceneId),S=void 0,P=C.finished&&!C.heading.epilogue&&(0,i.default)(d.state.scenes[c.sceneId].moves)===c,O=P&&(C.challengeTrend>0?C.successCard:C.setbackCard),T=C.heading.epilogue&&d.state.scenes[c.sceneId].moves[1]===c,j=T&&d.endingCardGid();l&&(P=!!(S=o.nextMoveDraft).outcomeCardGid,O=d.state.cards[S.outcomeCardGid],T=!!S.endingCardGid,j=S.endingCardGid);var x="mkPlayToChallenge"===c.kind||"mkPlayToEpilogue"===c.kind||"mkFlashback"===c.kind,M=f&&f.name+" ("+r.displayName(c.userPid,{you:!0})+") ",z=M,A=!1;l?("mkPlayToChallenge"===c.kind&&(z+="is moving"),"mkPlayToEpilogue"===c.kind&&(z+="is moving"),"mkDrawSceneCards"===c.kind&&(z+="is drawing cards for the scene")):("mkPlayToChallenge"===c.kind&&(z+="moved",A=(0,_.movePublishedAt)((new Date).getTime(),1e3*c.createdAtUnix)),"mkPlayToEpilogue"===c.kind&&(z+="moved",A=(0,_.movePublishedAt)((new Date).getTime(),1e3*c.createdAtUnix)),"mkFlashback"===c.kind&&(A=(0,_.movePublishedAt)((new Date).getTime(),1e3*c.createdAtUnix)),"mkDrawSceneCards"===c.kind&&(z="Scene cards")),"mkText"===c.kind&&(z=r.displayName(t.teacherUserPid)+" added to the story"),A&&(A=s.default.createElement("div",{className:"time-ago"},s.default.createElement("span",null,"Published ",A)));var I="mkDrawCharacterCards"===c.kind||"mkPlayToChallenge"===c.kind||"mkPlayToEpilogue"===c.kind;if(I&&(z=s.default.createElement("div",null,s.default.createElement(g.default,{to:t.characterPath(f)},s.default.createElement(b.default,{character:f})),z)),"mkFlashback"===c.kind&&(z=s.default.createElement("div",{className:"flashback-heading"},s.default.createElement("div",{className:"bolt"},s.default.createElement(v.default,{name:"bolt",size:"2x",style:{paddingRight:6}})),s.default.createElement("div",{className:"textstuff"},s.default.createElement("div",{className:"exclamation"},"Flashback!"),s.default.createElement("div",{className:"charName"},M)),s.default.createElement(g.default,{className:"theavatar",to:t.characterPath(f)},s.default.createElement(b.default,{character:f})))),c.cards&&c.cards.length){var $=!1;if(c.cards.forEach(function(e){d.state.cards[e]||($=e)}),$){var D={badCardGid:$,move:c,authUserPid:n.pid,gamePid:t.gamePid,isSocketDraftPreview:l,nextMoveDraft:S};return this.props.$tracking.trackErrorOnce("invalid move card reference detected",D),!1}}var N=!1,R=!1;if("mkPlayToEpilogue"===c.kind||"mkPlayToChallenge"===c.kind){if(c.cards&&c.cards.length){var B=d.state.cards[c.cards[0]];R=B.polarity,c.tieBreaker&&(R=c.tieBreaker),N=s.default.createElement("div",{className:"clear played-challenge-card "+(B.polarity>0?"positive":"negative")+" "+(O||j?"with-second-card":"")},s.default.createElement(p.default,{card:B,desaturate:l}),O&&s.default.createElement(p.default,{card:O,desaturate:l}),j&&s.default.createElement(p.default,{gid:j,desaturate:l}))}}else if("mkFlashback"===c.kind){var U=d.state.cards[c.cards[0]];N=s.default.createElement("div",{className:"clear played-challenge-card"},s.default.createElement(p.default,{card:U,desaturate:l}))}else{var G=l&&S.bondToCharacterGid&&d.state.characters[S.bondToCharacterGid];N=c.cards&&!!c.cards.length&&s.default.createElement(y.default,{doSort:!0,justify:"mkDrawSceneCards"===c.kind?"dynamic":"center",cards:c.cards,renderAsBondToCharacter:G,desaturate:l,style:{marginBottom:x?"10px":"0"},autoAnimate:l&&"mkDrawSceneCards"===c.kind,startNotYetDrawn:l&&"mkDrawSceneCards"===c.kind})}var F=!l&&d.moveIsOverallEditableBy(c,n.pid),q=!l&&d.moveIsRevisionRequestableBy(c,n.pid),L=!l&&d.moveIsDeletableByUserIfNoNewDraftsAreInProgress(c,n.pid);return"mkDrawCharacterCards"===c.kind?(z=s.default.createElement("span",null,s.default.createElement(b.default,{character:f}),s.default.createElement("strong",null,M," drew ",c.cards.length>
11?"cards":"a card",":"," "),s.default.createElement("em",null,s.default.createElement(w.default,{allCommas:!0},c.cards.map(function(e){return s.default.createElement(E.default,{key:e,card:e})}))),L&&s.default.createElement("span",{className:"edit-link"},s.default.createElement("span",null,s.default.createElement(g.default,{onClick:function(){return a.maybeDelete(c)}},"Delete")))),s.default.createElement("div",{className:"move "+c.kind+" non-dead-end "+(R&&(R>0?"positive":"negative"))+" "+this.state.animClass+" "+(I?"with-avatar":"")},s.default.createElement(u.Panel,{header:z}))):s.default.createElement("div",{className:"move "+c.kind+" non-dead-end "+(R&&(R>0?"positive":"negative"))+" "+this.state.animClass+" "+(I?"with-avatar":"")},s.default.createElement(u.Panel,{header:z},c.revisionRequest&&s.default.createElement(u.Alert,{bsStyle:"danger"},s.default.createElement("p",{style:{marginBottom:"10px"}},"The teacher has asked for changes to this move:"),s.default.createElement(m.default,{blurb:c.revisionRequest.blurb})),c.image&&c.image.artGid&&s.default.createElement("div",{className:"move-image"},s.default.createElement(h.default,{artGid:c.image.artGid,category:"banner",lightbox:!0,width100:!0})),"mkFlashback"===c.kind&&s.default.createElement("div",null,s.default.createElement(k.default,{id:"flashback"},"A ",s.default.createElement("strong",null,"flashback")," is a short story about a characterâs past. Anyone can optionally write one flashback per scene. Cards played in flashbacks donât count towards the sceneâs challenge.")),N,c.blurb&&!l&&s.default.createElement("div",{className:"body-text"},c.blurb&&s.default.createElement(m.default,{blurb:c.blurb})),l&&x&&s.default.createElement("div",{className:"body-text"},M," ",o.drafterIsTyping?"is typing...":"has started their move..."),(F||q||L)&&s.default.createElement("span",{className:"edit-link"},L&&s.default.createElement("span",null,s.default.createElement(g.default,{onClick:function(){return a.maybeDelete(c)}},"Delete"),(F||q)&&s.default.createElement("span",null," â¢Â ")),q&&s.default.createElement("span",null,s.default.createElement(g.default,{onClick:function(){return a.startRevisionRequest(c)}},"Ask for changes"),F&&s.default.createElement("span",null," â¢Â ")),F&&s.default.createElement(g.default,{onClick:function(){return a.startEditing(c)}},"Edit"))),A)}}]),t}(),a.propTypes={$gameplay:d.default.object.isRequired,$userInfo:d.default.object.isRequired,$composer:d.default.object.isRequired,$editor:d.default.object.isRequired,$authUser:d.default.object.isRequired,$rtDraftStatuses:d.default.object.isRequired,$tracking:d.default.object.isRequired,move:f.default.propTypes.move,fakeSocketMove:d.default.object,isSocketDraftPreview:d.default.bool},a.defaultProps={isSocketDraftPreview:!1,move:void 0,fakeSocketMove:void 0},n=o))||n)||n;t.default=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),v=O(r(1)),w=r(10),E=r(9),k=O(r(76)),_=r(11),C=r(12),S=O(r(0)),P=O(r(169));function O(e){return e&&e.__esModule?e:{default:e}}function T(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function j(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function x(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var M=(0,E.observer)((g=y=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,y=Array(a),g=0;g<a;g++)y[g]=arguments[g];return r=n=j(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(y))),T(n,"isOpen",o,n),T(n,"value",i,n),T(n,"spinning",l,n),T(n,"strictValidation",s,n),T(n,"softError",u,n),T(n,"open",c,n),T(n,"setValue",d,n),n.handleChange=function(e){n.setValue(e.target.value)},T(n,"cancel",f,n),T(n,"done",p,n),T(n,"errorHandler",m,n),n.val
1idToSave=function(){return!(n.props.maxWords&&n.wordCount>n.props.maxWords)&&(!(n.props.maxLen&&n.value.trim().length>n.props.maxLen)&&(!(n.props.required&&!n.value.trim().length)&&!n.formError))},T(n,"submit",h,n),j(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,v.default.Component),b(t,[{key:"render",value:function(){var e=this;return!!this.isOpen&&v.default.createElement(_.Modal,{show:!0,keyboard:!1,backdrop:"static"},this.props.heading&&v.default.createElement(_.Modal.Header,null,this.props.heading),v.default.createElement(_.Modal.Body,null,v.default.createElement("form",{onSubmit:function(t){t.preventDefault(),e.submit()}},v.default.createElement("div",null,this.props.blurb,this.softError&&v.default.createElement(_.Alert,{bsStyle:"danger"},this.softError),this.formError&&v.default.createElement(_.Alert,{bsStyle:"danger"},this.formError),"textarea"===this.props.inputType&&v.default.createElement(P.default,{style:{width:"100%"},minRows:4,value:this.value,onChange:this.handleChange}),"email"===this.props.inputType&&v.default.createElement("input",{type:"email",style:{width:"100%"},value:this.value,onChange:this.handleChange,maxLength:this.maxLen}),"input"===this.props.inputType&&v.default.createElement("input",{type:"text",style:{width:"100%"},value:this.value,onChange:this.handleChange,maxLength:this.maxLen}),this.wordsLeft))),v.default.createElement(_.Modal.Footer,null,v.default.createElement(C.Footer,null,v.default.createElement(C.CancelButton,{onClick:this.cancel}),v.default.createElement(C.DoneButton,{disabled:!this.spinning&&!this.validToSave(),onClick:this.submit,spinning:this.spinning}))))}},{key:"wordCount",get:function(){return(0,k.default)(this.value+"")}},{key:"wordsLeft",get:function(){if(this.props.maxWords){var e=this.props.maxWords-this.wordCount,t={color:"#999",textAlign:"right"};return e<=0&&(t.color="red"),v.default.createElement("p",{style:t},e," word",1===e?"":"s"," left")}return!1}},{key:"formError",get:function(){return!("email"!==this.props.inputType||!this.strictValidation||this.value.trim().match(/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/))&&"That does not look like a valid email address"}}]),t}(),y.propTypes={onSave:S.default.func.isRequired,maxWords:S.default.number,originalValue:S.default.string,heading:S.default.string,inputType:S.default.string.isRequired,required:S.default.bool,softErrors:S.default.object},o=x((a=g).prototype,"isOpen",[w.observable],{enumerable:!0,initializer:null}),i=x(a.prototype,"value",[w.observable],{enumerable:!0,initializer:null}),l=x(a.prototype,"spinning",[w.observable],{enumerable:!0,initializer:null}),s=x(a.prototype,"strictValidation",[w.observable],{enumerable:!0,initializer:null}),u=x(a.prototype,"softError",[w.observable],{enumerable:!0,initializer:null}),x(a.prototype,"wordCount",[w.computed],Object.getOwnPropertyDescriptor(a.prototype,"wordCount"),a.prototype),x(a.prototype,"wordsLeft",[w.computed],Object.getOwnPropertyDescriptor(a.prototype,"wordsLeft"),a.prototype),c=x(a.prototype,"open",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.setValue(e.props.originalValue||""),e.isOpen=!0}}}),d=x(a.prototype,"setValue",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.value=t}}}),f=x(a.prototype,"cancel",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.value="",e.isOpen=!1,e.spinning=!1,e.strictValidation=!1,e.softError=!1}}}),p=x(a.prototype,"done",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.value="",e.isOpen=!1,e.spinning=!1,e.strictValidation=!1,e.softError=!1}}}),m=x(a.prototype,"errorHandler",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.spinning=!1,t&&t.data&&t.data.soft_error&&e.props.softErrors[t.data.soft_error]&&(e.softError=e.props.softErrors[t.data.soft_error])}}}),x(a.prototype,"formError",[w.computed],Object.getOwnPropertyDescriptor(a.prototype,"formError"),a.prototype),h=x(a.prototype,"submit",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.strictValidation=!0,e.validToSave()&&(e.spinning=!0,e.props.onSave(e.value).then(e.done).catch(e.errorHandler))}}}),n=a))||n;t.default=M},,,,,function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),h=k(r(1)),y=r(11),g=r(10),b=(k(r(13)),r(9)),v=r(12),w=k(r(0)),E=k(r(15));function k(e){return e&&e.__esModule?e:{default:e}}function _(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function C(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function S(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var P=(0,b.inject)("$authUser","$router","$v2Api","$location")(n=(0,b.observer)((p=f=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,f=Array(a),p=0;p<a;p++)f[p]=arguments[p];return r=n=C(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(f))),_(n,"alreadyVerified",o,n),_(n,"tooMany",i,n),_(n,"resentOk",l,n),_(n,"spinning",s,n),_(n,"requestAnother",u,n),_(n,"handleResp",c,n),_(n,"closeModal",d,n),n.goHome=function(){n.props.$location.reload()},C(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,h.default.Component),m(t,[{key:"render",value:function(){var e=this.props.$authUser,t=(e.email_verification_initial,!1);return this.alreadyVerified&&(t=h.default.createElement(y.Modal,{show:!0,onHide:this.closeModal},h.default.createElement(y.Modal.Header,{closeButton:!0},"Verification is complete"),h.default.createElement(y.Modal.Body,null,h.default.createElement("p",null,"Youâve completed verification already (perhaps in another tab or browser?) Just reload the page or click the OK button below to go to your StoriumEdu home page.")),h.default.createElement(y.Modal.Footer,null,h.default.createElement(v.Footer,null,h.default.createElement(v.DoneButton,{onClick:this.goHome},"OK"))))),this.tooMany&&(t=h.default.createElement(y.Modal,{show:!0,onHide:this.closeModal},h.default.createElement(y.Modal.Header,{closeButton:!0},"Please wait a few minutes before requesting another email"),h.default.createElement(y.Modal.Body,null,h.default.createElement("p",null,"Youâve been requesting a lot of email verification emails. If you havenât been receiving them, we apologize for the inconvenience. Please email us for assistance at [email protected]. Thanks!")),h.default.createElement(y.Modal.Footer,null,h.default.createElement(v.Footer,null,h.default.createElement(v.DoneButton,{onClick:this.closeModal},"OK"))))),h.default.createElement("div",null,t,h.default.createElement("p",null,h.default.createElement(v.ActionButton,{"data-p":"resend-button",onClick:this.requestAnother,spinning:this.spinning},"Re-send verification email"),this.resentOk&&h.default.createElement("span",{style:{color:"#090",position:"relative",top:"2px"}}," ",h.default.createElement(E.default,{name:"check-circle"})," Sent")))}}]),t}(),f.propTypes={$authUser:w.default.object.isRequired,$router:w.default.object.isRequired,$v2Api:w.default.object.isRequired,$location:w.default.object.isRequired},o=S((a=p).prototype,"alreadyVerified",[g.observable],{enumerable:!0,initializer:null}),i=S(a.prototype,"tooMany",[g.observable],{enumerable:!0,initializer:null}),l=S(a.prototype,"resentOk",[g.observable],{enumerable:!0,initializer:null}),s=S(a.prototype,"spinning",[g.observable],{enumerable:!0,initializer:null}),u=S(a.prototype,"requestAnother",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.spinning=!0,e.resentOk=!1,e.tooMany=!1,e.alreadyVerified=!1,e.props.$v2Api.commonCall("post","/resend_email_verification",{},{noErrorModalIfSoftError:!0,minLatency:2e3}).then(e.handleResp,e.handleResp)}}}),c=S(a.prototype,"handleResp",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.spinning=!1,t&&t.data&&t.data.success&&(e.resentOk=!0,t.data.vob&&e.props.$authUser.importVob(t.data.vob)),t&&t.data&&"already_verified"===t.data.soft_error&&(e.alreadyVerified=!0),t&&t.data&&"too_many_emails"===t.data.soft_error&&(e.tooMany=!0)}}}),d=S(a.prototype,"closeModal",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.alreadyVerified=!1,e.tooMany=!1}}}),n=a))||n)||n;t.default=P},,,,,function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=d(r(1)),s=r(0),u=r(9),c=d(r(13));function d(e){return e&&e.__esModule?e:{default:e}}var f=(0,u.inject)("$router","$tracking")(n=(0,u.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this,t=this.props.name,r=void 0;if("teacher_guide"===t&&(r="static/Teachers-Guide-to-StoriumEdu.pdf"),"parent_guide"===t&&(r="static/Parents-Guide-to-StoriumEdu.pdf"),"curriculum_collaborative_writing"===t&&(r="static/StoriumEdu-collaborative-writing.pdf"),"faq"===t&&(r="static/StoriumEdu-FAQ.pdf"),"brochure"===t&&(r="static/StoriumEdu-brochure.pdf"),!r)throw new Error('bad "name" prop on PdfLink component');return l.default.createElement(c.default,{href:r,onClick:function(r){return e.props.$tracking.event("misc","pdf_download",{document:t,viaRoute:e.props.$router.route.name}),!0},target:"_blank",noMagic:!0},this.props.children)}}]),t}(),a.propTypes={$router:s.PropTypes.object.isRequired,$tracking:s.PropTypes.object.isRequired,name:s.PropTypes.string.isRequired},n=o))||n)||n;t.default=f},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),w=T(r(1)),E=T(r(0)),k=r(10),_=r(9),C=r(11),S=r(12),P=T(r(13)),O=T(r(15));function T(e){return e&&e.__esModule?e:{default:e}}function j(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function x(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function M(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function z(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var A=(a=z((n=function e(t){M(this,e),x(this,"confirmingDeletion",a,this),x(this,"spinning",o,this),x(this,"confirmYesInput",i,this),x(this,"cancel",l,this),x(this,"confirmDeleteGame",s,this),x(this,"setConfirmYesInput",u,this),x(this,"reallyDeleteGame",c,this),this.$gameplay=t}).prototype,"confirmingDeletion",[k.observable],{enumerable:!0,initializer:null}),o=z(n.prototype,"spinning",[k.observable],{enumerable:!0,initializer:function(){return!1}}),i=z(n.prototype,"confirmYesInput",[k.observable],{enumerable:!0,initializer:function(){return""}}),l=z(n.prototype,"cancel",[k.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingDeletion=!1,e.confirmYesInput=""}}}),s=z(n.prototype,"confirmDeleteGame",[k.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingDeletion=!0}}}),u=z(n.prototype,"setConfirmYesInput",[k.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.confirmYesInput=t}}}),c=z(n.prototype,"reallyDeleteGame",[k.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r){e.spinning=!0,e.$gameplay.gameCreation.deleteGame(t).then(function(){return r(t)}).then((0,k.action)(function(){e.spinning=!1,e.cancel()})).catch((0,k.action)(function(){e.spinning=!1}))}}}),n),I=(d=(0,_.inject)("$gameplay"),f=k.observable.ref,d(p=(0,_.observer)((b=g=function(e){function t(){var e,r,n;M(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=j(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),x(n,"store",h,n),x(n,"confirmDeleteGame",y,n),j(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,w.default.Component),v(t,[{key:"render",value:function(){var e=this,t=this.store,r=!1;return t&&t.confirmingDeletion&&(r=w.default.createElement(C.Modal,{show:!0,onHide:t.cancel,"data-
1p":"confirm_delete_modal"},w.default.createElement(C.Modal.Header,{closeButton:!0},"Really delete this game?"),w.default.createElement(C.Modal.Body,null,w.default.createElement("p",null,"As the teacher, you can delete any game in your classrooms at any time. Any content created within it by you or your students will be lost."),w.default.createElement("p",null,"This action cannot be undone. To confirm you really want to do this, please type âyesâ in the box below, then click the âDeleteâ button."),w.default.createElement("div",{className:"form"},w.default.createElement("div",{className:"form-group"},w.default.createElement("label",{htmlFor:"yesInput"},"Type âyesâ to confirm:"),w.default.createElement("input",{"data-p":"type_yes_input",type:"text",id:"yesInput",className:"form-control",value:t.confirmYesInput,onChange:function(e){return t.setConfirmYesInput(e.target.value)}})))),w.default.createElement(C.Modal.Footer,null,w.default.createElement(S.Footer,null,w.default.createElement(S.CancelButton,{onClick:t.cancel,"data-p":"cancel_btn"}),w.default.createElement(S.DoneButton,{"data-p":"confirm_delete_btn",label:"Delete",disabled:"yes"!==t.confirmYesInput.trim().toLowerCase(),onClick:function(){t.reallyDeleteGame(e.props.gamePid,e.props.onDeleted)},spinning:t.spinning}))))),"link"===this.props.visualStyle?w.default.createElement("div",{style:{display:"inline-block"}},r,w.default.createElement(P.default,{onClick:this.confirmDeleteGame},this.props.label||"Delete")):"bannerCallout"===this.props.visualStyle?w.default.createElement("div",null,r,w.default.createElement("div",{className:"banner-subscript-link"},w.default.createElement(P.default,{onClick:this.confirmDeleteGame,"data-p":"banner_delete_link","data-pid":this.props.gamePid,"data-slug":this.props.slug},w.default.createElement(O.default,{name:"times-circle"})," ",this.props.label||"Delete"))):void 0}}]),t}(),g.propTypes={$gameplay:E.default.object.isRequired,gamePid:E.default.string.isRequired,slug:E.default.string.isRequired,onDeleted:E.default.func.isRequired,visualStyle:E.default.string.isRequired,label:E.default.string},h=z((m=b).prototype,"store",[f],{enumerable:!0,initializer:null}),y=z(m.prototype,"confirmDeleteGame",[k.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.store||(e.store=new A(e.props.$gameplay)),e.store.confirmDeleteGame()}}}),p=m))||p)||p);t.default=I},,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GEV=t.default=void 0;var n=C(r(745)),a=C(r(744)),o=C(r(719)),i=C(r(718)),l=C(r(717)),s=C(r(716)),u=C(r(714)),c=C(r(713)),d=C(r(712)),f=C(r(711)),p=C(r(709)),m=C(r(708)),h=C(r(707)),y=C(r(706)),g=r(703),b=C(g),v=C(r(702)),w=C(r(701)),E=C(r(700)),k=C(r(699)),_=C(r(698));function C(e){return e&&e.__esModule?e:{default:e}}var S=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,(0,n.default)(Object).with(a.default,o.default,i.default,l.default,s.default,u.default,c.default,d.default,f.default,p.default,m.default,h.default,y.default,b.default,v.default,w.default,E.default,k.default,_.default)),t}();t.default=S,t.GEV=g.GEV},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={card:{width:200,height:140},avatar:{width:200,height:200},banner:{width:650,height:200}},a={avatar:"character-avatar-default-960_bd6tul"},o={user:"avatar",avatar:"avatar",character:"avatar",charTypeAvatar1:"avatar",charTypeAvatar2:"avatar",card:"card",banner:"banner",scene:"banner",move:"banner"};function i(e,t){var r=n[o[e]];return t&&t.width&&(r={width:t.width,height:Math.round(1*r.height/r.width*t.width)}),r}t.defaultDims=n,t.fallbackAssetIds=a,t.getImageUrl=function(e,t,r){var n="",l=r&&r.desaturate,s=i(t,r),u=a[o[t]];return n=r&&r.original?"a_exif":"a_exif/w_"+s.width+",h_"+s.height+",c_fill,g_face/e_sharpen:50",l&&(n+="/e_grayscale"),["https://res.cloudinary.com/protagonistlabs/image/upload/",n,"/",encodeURIComponent(e||u),".jpg"].join("")},t.getImageDims=i},,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=p(r(1)),s=r(9),u=r(12),c=r(11),d=p(r(0)),f=p(r(13));function p(e){return e&&e.__esModule?e:{default:e}}var m=(0,s.inject)("$v2Api","$authUser")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$v2Api,t=this.props.$authUser,r=t.is_teacher;return"maintenance"===e.showErrorModalUseCase?l.default.createElement(c.Modal,{animation:!1,show:!0,onHide:e.clearErrorModal},l.default.createElement(c.Modal.Body,null,l.default.createElement("p",null,e.maintenanceMessage)),l.default.createElement(c.Modal.Footer,null,l.default.createElement(c.Button,{bsStyle:"primary",onClick:e.clearErrorModal},"OK"))):"read_only"===e.showErrorModalUseCase?r?"trial_expired"===t.subscription_status?l.default.createElement(c.Modal,{animation:!1,show:!0,onHide:e.clearErrorModal},l.default.createElement(c.Modal.Header,{closeButton:!0},"This action requires a subscription"),l.default.createElement(c.Modal.Body,null,l.default.createElement("p",null,"Your free trial has ended and your account is now in âread onlyâ mode. In order to keep playing StoriumEdu, please consider becoming a subscriber."),l.default.createElement("p",null,"If you have questions or concerns, please feel free to contact us at"," ",l.default.createElement(f.default,{href:"mailto:[email protected]"},"[email protected]"),". We look forward to seeing your students write more stories with StoriumEdu!")),l.default.createElement(c.Modal.Footer,null,l.default.createElement(u.Footer,null,l.default.createElement(u.CancelButton,{onClick:e.clearErrorModal}),l.default.createElement(u.ActionButton,{onClick:e.clearErrorModal,href:"/subscribe"},"Subscribe now")))):l.default.createElement(c.Modal,{animation:!1,show:!0,onHide:e.clearErrorModal},l.default.createElement(c.Modal.Header,{closeButton:!0},"This action requires a subscription"),l.default.createElement(c.Modal.Body,null,l.default.createElement("p",null,"Your subscription has expired and your account is now in âread onlyâ mode. In order to keep playing StoriumEdu, please consider renewing your subscription."),l.default.createElement("p",null,"If you have other questions or concerns, please contact us at"," ",l.default.createElement(f.default,{href:"mailto:[email protected]"},"[email protected]"),". We look forward to seeing your students write more stories with StoriumEdu!")),l.default.createElement(c.Modal.Footer,null,l.default.createElement(u.Footer,null,l.default.createElement(u.CancelButton,{onClick:e.clearErrorModal}),l.default.createElement(u.ActionButton,{onClick:e.clearErrorModal,href:"/subscribe"},"Resubscribe now")))):l.default.createElement(c.Modal,{animation:!1,show:!0,onHide:e.clearErrorModal},l.default.createElement(c.Modal.Header,{closeButton:!0},"Your teacherâs subscription has expired"),l.default.createElement(c.Modal.Body,null,l.default.createElement("p",null,"In order to keep playing StoriumEdu, your teacher needs to purchase a subscription."," ",l.default.createElement("strong",null,"Let them know you still want to play!")),l.default.createElement("p",null,"(You can still view your existing games, but nobody in the class can create new games or moves right now.)")),l.default.createElement(c.Modal.Footer,null,l.default.createElement(u.Footer,null,l.default.createElement(u.ActionButton,{onClick:e.clearErrorModal},"OK")))):"reload_required"===e.showErrorModalUseCase?l.default.createElement(c.Modal,{animation:!1,show:!0,backdrop:"static",keyboard:!1,onHide:e.clearErrorModal},l.default.createElement(c.Modal.Header,null,"Please reload the page"),l.default.createElement(c.Modal.Body,null,l.default.createElement("p",{"data-p":"reload_required_modal_content"},"Weâve updated StoriumEdu, and a page reload is required. Sorry for the inconvenience!"),l.default.createElement("p",null,"If this happens again after reloading the page, please ask your teacher to let us know.")),l.default.createElement(c.Modal.Footer,null,l.default.createElement(c.Button,{bsStyle:"primary",onClick:function(){window.location.reload(!0)}},"Reload now"))):"authCookieChanged"===e.showErrorModalUseCase?l.default.createElement(c.Modal,{animation:!1,show:!0,backdrop:"static",keyboard:!1,onHide:e.clearErrorModal},l.default.createElement(c.Modal.Header,null,"Youâre now logged in as a different user"),l.default.createElement(c.Modal.Body,null,l.default.createElement("p",null,"In another window or tab, youâve logged in as a different user. Please reload this page so it can reflect your current login status.")),l.default.createElement(c.Modal.Footer,null,l.default.createElement(c.Button,{bsStyle:"primary",onClick:function(){window.location.reload(!0)}},"Reload now"))):"authCookieGone"===e.showErrorModalUseCase?l.default.createElement(c.Modal,{animation:!1,show:!0,backdrop:"static",keyboard:!1,onHide:e.clearErrorModal},l.default.createElement(c.Modal.Header,null,"Youâve been logged out"),l.default.createElement(c.Modal.Body,null,l.default.createElement("p",null,"Your login session has ended. Please reload the page or"," ",l.default.createElement("a",{href:"/login"},"log in again"),".")),l.default.createElement(c.Modal.Footer,null,l.default.createElement(c.Button,{bsStyle:"primary",onClick:function(){window.location.reload(!0)}},"Reload now"))):"too_many_requests"===e.showErrorModalUseCase?l.default.createElement(c.Modal,{animation:!1,show:!0,onHide:e.clearErrorModal},l.default.createElement(c.Modal.Header,{closeButton:!0},"Slow down, please"),l.default.createElement(c.Modal.Body,null,l.default.createElement("p",null,"StoriumEdu has received too many requests from you in too short of a time period. Please take a break and try again shortly. If youâre not sure why youâre seeing this, please contact us as [email protected] and weâll be happy to help. Thanks!")),l.default.createElement(c.Modal.Footer,null,l.default.createElement(c.Button,{bsStyle:"primary",onClick:e.clearErrorModal},"OK"))):"webPushConnectError"===e.showErrorModalUseCase?l.default.createElement(c.Modal,{animation:!1,show:!0,backdrop:"static",keyboard:!1,onHide:e.clearErrorModal},l.default.createElement(c.Modal.Header,null,"Notifications could not be enabled"),l.default.createElement(c.Modal.Body,null,l.default.createElement("p",null,"There was a problem enabling notifications on this browser. Please reload the page and try one more time. If this error continues, tr
1y another browser (if possible), or contact StoriumEDU for assistance. Our apologies for the inconvenience!")),l.default.createElement(c.Modal.Footer,null,l.default.createElement(c.Button,{bsStyle:"primary",onClick:e.clearErrorModal},"OK"))):e.showErrorModalUseCase?l.default.createElement(c.Modal,{animation:!1,show:!0,onHide:e.clearErrorModal},l.default.createElement(c.Modal.Header,{closeButton:!0},"Oops! Something went wrong."),l.default.createElement(c.Modal.Body,null,l.default.createElement("p",null,"There was a problem communicating with StoriumEdu. You might try reloading the page and trying again. If the problem happens again, please ask your teacher to let us know!")),l.default.createElement(c.Modal.Footer,null,l.default.createElement(c.Button,{bsStyle:"primary",onClick:e.clearErrorModal},"OK"))):null}}]),t}(),a.propTypes={$v2Api:d.default.object.isRequired,$authUser:d.default.object.isRequired},n=o))||n)||n;t.default=m},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(r(1)),a=o(r(15));function o(e){return e&&e.__esModule?e:{default:e}}t.default=function(){return n.default.createElement(a.default,{name:"play-circle",className:"your-turn-signal-bullet"})}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}; 2/*! Version 1.45.44-rc.2 */!function(){var e={7111:function(e,t,r){var n=r(6733),a=r(9821);e.exports=function(e){if(n(e))return e;throw TypeError(a(e)+" is not a function")}},7988:function(e,t,r){var n=r(2359),a=r(9821);e.exports=function(e){if(n(e))return e;throw TypeError(a(e)+" is not a constructor")}},8505:function(e,t,r){var a=r(6733);e.exports=function(e){if("object"==(void 0===e?"undefined":n(e))||a(e))return e;throw TypeError("Can't set "+String(e)+" as a prototype")}},9736:function(e,t,r){var n=r(95),a=r(2391),o=r(1787),i=n("unscopables"),l=Array.prototype;null==l[i]&&o.f(l,i,{configurable:!0,value:a(null)}),e.exports=function(e){l[i][e]=!0}},6637:function(e,t,r){var n=r(966).charAt;e.exports=function(e,t,r){return t+(r?n(e,t).length:1)}},7728:function(e){e.exports=function(e,t,r){if(e instanceof t)return e;throw TypeError("Incorrect "+(r?r+" ":"")+"invocation")}},1176:function(e,t,r){var n=r(5052);e.exports=function(e){if(n(e))return e;throw TypeError(String(e)+" is not an object")}},6570:function(e,t,r){var n=r(9996).forEach,a=r(6038)("forEach");e.exports=a?[].forEach:function(e){return n(this,e,arguments.length>1?arguments[1]:void 0)}},507:function(e,t,r){var n=r(7636),a=r(2991),o=r(4960),i=r(1943),l=r(2359),s=r(9646),u=r(2324),c=r(8403),d=r(8830);e.exports=function(e){var t=a(e),r=l(this),f=arguments.length,p=f>1?arguments[1]:void 0,m=void 0!==p;m&&(p=n(p,f>2?arguments[2]:void 0,2));var h,y,g,b,v,w,E=d(t),k=0;if(!E||this==Array&&i(E))for(h=s(t),y=r?new this(h):Array(h);h>k;k++)w=m?p(t[k],k):t[k],u(y,k,w);else for(v=(b=c(t,E)).next,y=r?new this:[];!(g=v.call(b)).done;k++)w=m?o(b,p,[g.value,k],!0):g.value,u(y,k,w);return y.length=k,y}},9540:function(e,t,r){var n=r(905),a=r(3231),o=r(9646),i=function(e){return function(t,r,i){var l,s=n(t),u=o(s),c=a(i,u);if(e&&r!=r){for(;u>c;)if((l=s[c++])!=l)return!0}else for(;u>c;c++)if((e||c in s)&&s[c]===r)return e||c||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},9996:function(e,t,r){var n=r(7636),a=r(9337),o=r(2991),i=r(9646),l=r(7501),s=[].push,u=function(e){var t=1==e,r=2==e,u=3==e,c=4==e,d=6==e,f=7==e,p=5==e||d;return function(m,h,y,g){for(var b,v,w=o(m),E=a(w),k=n(h,y,3),_=i(E),C=0,S=g||l,P=t?S(m,_):r||f?S(m,0):void 0;_>C;C++)if((p||C in E)&&(v=k(b=E[C],C,w),e))if(t)P[C]=v;else if(v)switch(e){case 3:return!0;case 5:return b;case 6:return C;case 2:s.call(P,b)}else switch(e){case 4:return!1;case 7:s.call(P,b)}return d?-1:u||c?c:P}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterReject:u(7)}},1460:function(e,t,r){var n=r(4229),a=r(95),o=r(6358),i=a("species");e.exports=function(e){return o>=51||!n(function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}
vendor: 4,688 bytes, line 2
2},1!==t[e](Boolean).foo})}},6038:function(e,t,r){var n=r(4229);e.exports=function(e,t){var r=[][e];return!!r&&n(function(){r.call(null,t||function(){throw 1},1)})}},8760:function(e,t,r){var n=r(3718),a=r(2359),o=r(5052),i=r(95)("species");e.exports=function(e){var t;return n(e)&&(t=e.constructor,(a(t)&&(t===Array||n(t.prototype))||o(t)&&null===(t=t[i]))&&(t=void 0)),void 0===t?Array:t}},7501:function(e,t,r){var n=r(8760);e.exports=function(e,t){return new(n(e))(0===t?0:t)}},4960:function(e,t,r){var n=r(1176),a=r(7281);e.exports=function(e,t,r,o){try{return o?t(n(r)[0],r[1]):t(r)}catch(t){a(e,"throw",t)}}},4575:function(e,t,r){var n=r(95)("iterator"),a=!1;try{var o=0,i={next:function(){return{done:!!o++}},return:function(){a=!0}};i[n]=function(){return this},Array.from(i,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!a)return!1;var r=!1;try{var o={};o[n]=function(){return{next:function(){return{done:r=!0}}}},e(o)}catch(e){}return r}},7079:function(e){var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},1589:function(e,t,r){var n=r(1601),a=r(6733),o=r(7079),i=r(95)("toStringTag"),l="Arguments"==o(function(){return arguments}());e.exports=n?o:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),i))?r:l?o(t):"Object"==(n=o(t))&&a(t.callee)?"Arguments":n}},7081:function(e,t,r){var n=r(8270),a=r(4826),o=r(7933),i=r(1787);e.exports=function(e,t){for(var r=a(t),l=i.f,s=o.f,u=0;u<r.length;u++){var c=r[u];n(e,c)||l(e,c,s(t,c))}}},8127:function(e,t,r){var n=r(95)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(r){try{return t[n]=!1,"/./"[e](t)}catch(e){}}return!1}},7528:function(e,t,r){var n=r(4229);e.exports=!n(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})},3723:function(e,t,r){var n=r(693).IteratorPrototype,a=r(2391),o=r(5358),i=r(4555),l=r(5495),s=function(){return this};e.exports=function(e,t,r){var u=t+" Iterator";return e.prototype=a(n,{next:o(1,r)}),i(e,u,!1,!0),l[u]=s,e}},5762:function(e,t,r){var n=r(7400),a=r(1787),o=r(5358);e.exports=n?function(e,t,r){return a.f(e,t,o(1,r))}:function(e,t,r){return e[t]=r,e}},5358:function(e){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},2324:function(e,t,r){var n=r(9310),a=r(1787),o=r(5358);e.exports=function(e,t,r){var i=n(t);i in e?a.f(e,i,o(0,r)):e[i]=r}},7675:function(e,t,r){var n=r(3103),a=r(4231),o=r(1805),i=r(6733),l=r(3723),s=r(7567),u=r(6540),c=r(4555),d=r(5762),f=r(7487),p=r(95),m=r(5495),h=r(693),y=o.PROPER,g=o.CONFIGURABLE,b=h.IteratorPrototype,v=h.BUGGY_SAFARI_ITERATORS,w=p("iterator"),E="keys",k="values",_="entries",C=function(){return this};e.exports=function(e,t,r,o,p,h,S){l(r,t,o);var P,O,T,j=function(e){if(e===p&&I)return I;if(!v&&e in z)return z[e];switch(e){case E:case k:case _:return function(){return new r(this,e)}}return function(){return new r(this)}},x=t+" Iterator",M=!1,z=e.prototype,A=z[w]||z["@@iterator"]||p&&z[p],I=!v&&A||j(p),$="Array"==t&&z.entries||A;if($&&(P=s($.call(new e)))!==Object.prototype&&P.next&&(a||s(P)===b||(u?u(P,b):i(P[w])||f(P,w,C)),c(P,x,!0,!0),a&&(m[x]=C)),y&&p==k&&A&&A.name!==k&&(!a&&g?d(z,"name",k):(M=!0,I=function(){return A.call(this)})),p)if(O={values:j(k),keys:h?I:j(E),entries:j(_)},S)for(T in O)(v||M||!(T in z))&&f(z,T,O[T]);else n({target:t,proto:!0,forced:v||M},O);return a&&!S||z[w]===I||f(z,w,I,{name:p}),m[t]=I,O}},8423:function(e,t,r){var n=r(9276),a=r(8270),o=r(5391),i=r(1787).f;e.exports=function(e){var t=n.Symbol||(n.Symbol={});a(t,e)||i(t,e,{value:o.f(e)})}},7400:function(e,t,r){var n=r(4229);e.exports=!n(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})},2635:function(e,t,r){var n=r(9859),a=r(5052),o=n.document,i=a(o)&&a(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},5694:function(e){e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8865:function(e,t,r){var n=r(2635)("span").classList,a=n&&n.constructor&&n.constructor.prototype;e.exports=a===Object.prototype?void 0:a},8639:function(e){e.exports="object"==("undefined"==typeof window?"undefined":n(window))}
2,8983:function(e,t,r){var n=r(598),a=r(9859);e.exports=/ipad|iphone|ipod/i.test(n)&&void 0!==a.Pebble},2023:function(e,t,r){var n=r(598);e.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(n)},8801:function(e,t,r){var n=r(7079),a=r(9859);e.exports="process"==n(a.process)},263:function(e,t,r){var n=r(598);e.exports=/web0s(?!.*chrome)/i.test(n)},598:function(e,t,r){var n=r(1333);e.exports=n("navigator","userAgent")||""},6358:function(e,t,r){var n,a,o=r(9859),i=r(598),l=o.process,s=o.Deno,u=l&&l.versions||s&&s.version,c=u&&u.v8;c?a=(n=c.split("."))[0]<4?1:n[0]+n[1]:i&&(!(n=i.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=i.match(/Chrome\/(\d+)/))&&(a=n[1]),e.exports=a&&+a},3837:function(e){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},3103:function(e,t,r){var a=r(9859),o=r(7933).f,i=r(5762),l=r(7487),s=r(2079),u=r(7081),c=r(6541);e.exports=function(e,t){var r,d,f,p,m,h=e.target,y=e.global,g=e.stat;if(r=y?a:g?a[h]||s(h,{}):(a[h]||{}).prototype)for(d in t){if(p=t[d],f=e.noTargetGet?(m=o(r,d))&&m.value:r[d],!c(y?d:h+(g?".":"#")+d,e.forced)&&void 0!==f){if((void 0===p?"undefined":n(p))==(void 0===f?"undefined":n(f)))continue;u(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),l(r,d,p,e)}}},4229:function(e){e.exports=function(e){try{return!!e()}catch(e){return!0}}},4954:function(e,t,r){r(7950);var n=r(7487),a=r(3466),o=r(4229),i=r(95),l=r(5762),s=i("species"),u=RegExp.prototype;e.exports=function(e,t,r,c){var d=i(e),f=!o(function(){var t={};return t[d]=function(){return 7},7!=""[e](t)}),p=f&&!o(function(){var t=!1,r=/a/;return"split"===e&&((r={}).constructor={},r.constructor[s]=function(){return r},r.flags="",r[d]=/./[d]),r.exec=function(){return t=!0,null},r[d](""),!t});if(!f||!p||r){var m=/./[d],h=t(d,""[e],function(e,t,r,n,o){var i=t.exec;return i===a||i===u.exec?f&&!o?{done:!0,value:m.call(t,r,n)}:{done:!0,value:e.call(r,t,n)}:{done:!1}});n(String.prototype,e,h[0]),n(u,d,h[1])}c&&l(u[d],"sham",!0)}},8476:function(e,t,r){var n=r(4229);e.exports=!n(function(){return Object.isExtensible(Object.preventExtensions({}))})},7636:function(e,t,r){var n=r(7111);e.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 0:return function(){return e.call(t)};case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,a){return e.call(t,r,n,a)}}return function(){return e.apply(t,arguments)}}},1805:function(e,t,r){var n=r(7400),a=r(8270),o=Function.prototype,i=n&&Object.getOwnPropertyDescriptor,l=a(o,"name"),s=l&&"something"===function(){}.name,u=l&&(!n||n&&i(o,"name").configurable);e.exports={EXISTS:l,PROPER:s,CONFIGURABLE:u}},1333:function(e,t,r){var n=r(9859),a=r(6733);e.exports=function(e,t){return arguments.length<2?function(e){return a(e)?e:void 0}(n[e]):n[e]&&n[e][t]}},8830:function(e,t,r){var n=r(1589),a=r(5300),o=r(5495),i=r(95)("iterator");e.exports=function(e){if(null!=e)return a(e,i)||a(e,"@@iterator")||o[n(e)]}},8403:function(e,t,r){var n=r(7111),a=r(1176),o=r(8830);e.exports=function(e,t){var r=arguments.length<2?o(e):t;if(n(r))return a(r.call(e));throw TypeError(String(e)+" is not iterable")}},5300:function(e,t,r){var n=r(7111);e.exports=function(e,t){var r=e[t];return null==r?void 0:n(r)}},9859:function(e,t,r){var a=function(e){return e&&e.Math==Math&&e};e.exports=a("object"==("undefined"==typeof globalThis?"undefined":n(globalThis))&&globalThis)||a("object"==("undefined"==typeof window?"undefined":n(window))&&window)||a("object"==("undefined"==typeof self?"undefined":n(self))&&self)||a("object"==n(r.g)&&r.g)||function(){return this}()||Function("return this")()},8270:function(e,t,r){var n=r(2991),a={}.hasOwnProperty;e.exports=Object.hasOwn||function(e,t){return a.call(n(e),t)}},5977:function(e){e.exports={}},4665:function(e,t,r){var n=r(9859);e.exports=function(e,t){var r=n.console;r&&r.error&&(1===arguments.length?r.error(e):r.error(e,t))}},3777:function(e,t,r){var n=r(1333);e.exports=n("document","documentElement")},4394:function(e,t,r){var n=r(7400),a=r(4229),o=r(2635);e.exports=!n&&!a(function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a})},9337:function(e,t,r){var n=r(4229),a=r(7079),o="".split;e.exports=n(function(){return!Object("z").propertyIsEnumerable(0)})?function(e){return"String"==a(e)?o.call(e,""):Object(e)}:Object}
2,8511:function(e,t,r){var n=r(6733),a=r(5353),o=Function.toString;n(a.inspectSource)||(a.inspectSource=function(e){return o.call(e)}),e.exports=a.inspectSource},5926:function(e,t,r){var a=r(3103),o=r(5977),i=r(5052),l=r(8270),s=r(1787).f,u=r(8151),c=r(166),d=r(1441),f=r(8476),p=!1,m=d("meta"),h=0,y=Object.isExtensible||function(){return!0},g=function(e){s(e,m,{value:{objectID:"O"+h++,weakData:{}}})},b=e.exports={enable:function(){b.enable=function(){},p=!0;var e=u.f,t=[].splice,r={};r[m]=1,e(r).length&&(u.f=function(r){for(var n=e(r),a=0,o=n.length;a<o;a++)if(n[a]===m){t.call(n,a,1);break}return n},a({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:c.f}))},fastKey:function(e,t){if(!i(e))return"symbol"==(void 0===e?"undefined":n(e))?e:("string"==typeof e?"S":"P")+e;if(!l(e,m)){if(!y(e))return"F";if(!t)return"E";g(e)}return e[m].objectID},getWeakData:function(e,t){if(!l(e,m)){if(!y(e))return!0;if(!t)return!1;g(e)}return e[m].weakData},onFreeze:function(e){return f&&p&&y(e)&&!l(e,m)&&g(e),e}};o[m]=!0},6407:function(e,t,r){var n,a,o,i=r(8694),l=r(9859),s=r(5052),u=r(5762),c=r(8270),d=r(5353),f=r(4399),p=r(5977),m="Object already initialized",h=l.WeakMap;if(i||d.state){var y=d.state||(d.state=new h),g=y.get,b=y.has,v=y.set;n=function(e,t){if(b.call(y,e))throw new TypeError(m);return t.facade=e,v.call(y,e,t),t},a=function(e){return g.call(y,e)||{}},o=function(e){return b.call(y,e)}}else{var w=f("state");p[w]=!0,n=function(e,t){if(c(e,w))throw new TypeError(m);return t.facade=e,u(e,w,t),t},a=function(e){return c(e,w)?e[w]:{}},o=function(e){return c(e,w)}}e.exports={set:n,get:a,has:o,enforce:function(e){return o(e)?a(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!s(t)||(r=a(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}}},1943:function(e,t,r){var n=r(95),a=r(5495),o=n("iterator"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(a.Array===e||i[o]===e)}},3718:function(e,t,r){var n=r(7079);e.exports=Array.isArray||function(e){return"Array"==n(e)}},6733:function(e){e.exports=function(e){return"function"==typeof e}},2359:function(e,t,r){var n=r(4229),a=r(6733),o=r(1589),i=r(1333),l=r(8511),s=[],u=i("Reflect","construct"),c=/^\s*(?:class|function)\b/,d=c.exec,f=!c.exec(function(){}),p=function(e){if(!a(e))return!1;try{return u(Object,s,e),!0}catch(e){return!1}};e.exports=!u||n(function(){var e;return p(p.call)||!p(Object)||!p(function(){e=!0})||e})?function(e){if(!a(e))return!1;switch(o(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return f||!!d.call(c,l(e))}:p},6541:function(e,t,r){var n=r(4229),a=r(6733),o=/#|\.prototype\./,i=function(e,t){var r=s[l(e)];return r==c||r!=u&&(a(t)?n(t):!!t)},l=i.normalize=function(e){return String(e).replace(o,".").toLowerCase()},s=i.data={},u=i.NATIVE="N",c=i.POLYFILL="P";e.exports=i},5052:function(e,t,r){var a=r(6733);e.exports=function(e){return"object"==(void 0===e?"undefined":n(e))?null!==e:a(e)}},4231:function(e){e.exports=!1},8311:function(e,t,r){var n=r(5052),a=r(7079),o=r(95)("match");e.exports=function(e){var t;return n(e)&&(void 0!==(t=e[o])?!!t:"RegExp"==a(e))}},9395:function(e,t,r){var a=r(6733),o=r(1333),i=r(6969);e.exports=i?function(e){return"symbol"==(void 0===e?"undefined":n(e))}:function(e){var t=o("Symbol");return a(t)&&Object(e)instanceof t}},9003:function(e,t,r){var a=r(1176),o=r(1943),i=r(9646),l=r(7636),s=r(8403),u=r(8830),c=r(7281),d=function(e,t){this.stopped=e,this.result=t};e.exports=function(e,t,r){var f,p,m,h,y,g,b,v=r&&r.that,w=!(!r||!r.AS_ENTRIES),E=!(!r||!r.IS_ITERATOR),k=!(!r||!r.INTERRUPTED),_=l(t,v,1+w+k),C=function(e){return f&&c(f,"normal",e),new d(!0,e)},S=function(e){return w?(a(e),k?_(e[0],e[1],C):_(e[0],e[1])):k?_(e,C):_(e)};if(E)f=e;else{if(!(p=u(e)))throw TypeError(String(e)+" is not iterable");if(o(p)){for(m=0,h=i(e);h>m;m++)if((y=S(e[m]))&&y instanceof d)return y;return new d(!1)}f=s(e,p)}for(g=f.next;!(b=g.call(f)).done;){try{y=S(b.value)}catch(e){c(f,"throw",e)}if("object"==(void 0===y?"undefined":n(y))&&y&&y instanceof d)return y}return new d(!1)}},7281:function(e,t,r){var n=r(1176),a=r(5300);e.exports=function(e,t,r){var o,i;n(e);
2try{if(!(o=a(e,"return"))){if("throw"===t)throw r;return r}o=o.call(e)}catch(e){i=!0,o=e}if("throw"===t)throw r;if(i)throw o;return n(o),r}},693:function(e,t,r){var n,a,o,i=r(4229),l=r(6733),s=r(2391),u=r(7567),c=r(7487),d=r(95),f=r(4231),p=d("iterator"),m=!1;[].keys&&("next"in(o=[].keys())?(a=u(u(o)))!==Object.prototype&&(n=a):m=!0),null==n||i(function(){var e={};return n[p].call(e)!==e})?n={}:f&&(n=s(n)),l(n[p])||c(n,p,function(){return this}),e.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:m}},5495:function(e){e.exports={}},9646:function(e,t,r){var n=r(4237);e.exports=function(e){return n(e.length)}},4794:function(e,t,r){var n,a,o,i,l,s,u,c,d=r(9859),f=r(7933).f,p=r(5795).set,m=r(2023),h=r(8983),y=r(263),g=r(8801),b=d.MutationObserver||d.WebKitMutationObserver,v=d.document,w=d.process,E=d.Promise,k=f(d,"queueMicrotask"),_=k&&k.value;_||(n=function(){var e,t;for(g&&(e=w.domain)&&e.exit();a;){t=a.fn,a=a.next;try{t()}catch(e){throw a?i():o=void 0,e}}o=void 0,e&&e.enter()},m||g||y||!b||!v?!h&&E&&E.resolve?((u=E.resolve(void 0)).constructor=E,c=u.then,i=function(){c.call(u,n)}):i=g?function(){w.nextTick(n)}:function(){p.call(d,n)}:(l=!0,s=v.createTextNode(""),new b(n).observe(s,{characterData:!0}),i=function(){s.data=l=!l})),e.exports=_||function(e){var t={fn:e,next:void 0};o&&(o.next=t),a||(a=t,i()),o=t}},4226:function(e,t,r){var n=r(9859);e.exports=n.Promise},3839:function(e,t,r){var n=r(6358),a=r(4229);e.exports=!!Object.getOwnPropertySymbols&&!a(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41})},7274:function(e,t,r){var n=r(4229),a=r(95),o=r(4231),i=a("iterator");e.exports=!n(function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,r="";return e.pathname="c%20d",t.forEach(function(e,n){t.delete("b"),r+=n+e}),o&&!e.toJSON||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[i]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://ÃâõÃÂÃâ").host||"#%D0%B1"!==new URL("http://a#ñ").hash||"a1c3"!==r||"x"!==new URL("http://x",void 0).host})},8694:function(e,t,r){var n=r(9859),a=r(6733),o=r(8511),i=n.WeakMap;e.exports=a(i)&&/native code/.test(o(i))},6485:function(e,t,r){var n=r(7111);e.exports.f=function(e){return new function(e){var t,r;this.promise=new e(function(e,n){if(void 0!==t||void 0!==r)throw TypeError("Bad Promise constructor");t=e,r=n}),this.resolve=n(t),this.reject=n(r)}(e)}},7272:function(e,t,r){var n=r(8311);e.exports=function(e){if(n(e))throw TypeError("The method doesn't accept regular expressions");return e}},47:function(e,t,r){var n=r(7400),a=r(4229),o=r(5632),i=r(894),l=r(9195),s=r(2991),u=r(9337),c=Object.assign,d=Object.defineProperty;e.exports=!c||a(function(){if(n&&1!==c({b:1},c(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},r=Symbol(),a="abcdefghijklmnopqrst";return e[r]=7,a.split("").forEach(function(e){t[e]=e}),7!=c({},e)[r]||o(c({},t)).join("")!=a})?function(e,t){for(var r=s(e),a=arguments.length,c=1,d=i.f,f=l.f;a>c;)for(var p,m=u(arguments[c++]),h=d?o(m).concat(d(m)):o(m),y=h.length,g=0;y>g;)p=h[g++],n&&!f.call(m,p)||(r[p]=m[p]);return r}:c},2391:function(e,t,r){var n,a=r(1176),o=r(219),i=r(3837),l=r(5977),s=r(3777),u=r(2635),c=r(4399)("IE_PROTO"),d=function(){},f=function(e){return"<script>"+e+"<\/script>"},p=function(e){e.write(f("")),e.close();var t=e.parentWindow.Object;return e=null,t},m=function(){try{n=new ActiveXObject("htmlfile")}catch(e){}var e,t;m="undefined"!=typeof document?document.domain&&n?p(n):((t=u("iframe")).style.display="none",s.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(f("document.F=Object")),e.close(),e.F):p(n);for(var r=i.length;r--;)delete m.prototype[i[r]];return m()};l[c]=!0,e.exports=Object.create||function(e,t){var r;return null!==e?(d.prototype=a(e),r=new d,d.prototype=null,r[c]=e):r=m(),void 0===t?r:o(r,t)}},219:function(e,t,r){var n=r(7400),a=r(1787),o=r(1176),i=r(5632);e.exports=n?Object.defineProperties:function(e,t){o(e);for(var r,n=i(t),l=n.length,s=0;l>s;)a.f(e,r=n[s++],t[r]);return e}},1787:function(e,t,r){var n=r(7400),a=r(4394),o=r(1176),i=r(9310),l=Object.defineProperty;t.f=n?l:function(e,t,r){if(o(e),t=i(t),o(r),a)try{return l(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},7933:function(e,t,r){var n=r(7400),a=r(9195),o=r(5358),i=r(905),l=r(9310),s=r(8270),u=r(4394),c=Object.getOwnPropertyDescriptor;t.f=n?c:function(e,t){if(e=i(e),t=l(t),u)try{return c(e,t)}catch(e){}if(s(e,t))return o(!a.f.call(e,t),e[t])}},166:function(e,t,r){var a=r(905),o=r(8151).f,i={}.toString,l="object"==("undefined"==typeof window?"undefined":n(window))&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return l&&"[object Window]"==i.call(e)?function(e){try{return o(e)}catch(e){return l.slice()}}(e):o(a(e))}},8151:function(e,t,r){var n=r(140),a=r(3837).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,a)}},894:function(e,t){t.f=Object.getOwnPropertySymbols},7567:function(e,t,r){var n=r(8270),a=r(6733),o=r(2991),i=r(4399),l=r(7528),s=i("IE_PROTO"),u=Object.prototype;e.exports=l?Object.getPrototypeOf:function(e){var t=o(e);if(n(t,s))return t[s];var r=t.constructor;return a(r)&&t instanceof r?r.prototype:t instanceof Object?u:null}},140:function(e,t,r){var n=r(8270),a=r(905),o=r(9540).indexOf,i=r(5977);e.exports=function(e,t){var r,l=a(e),s=0,u=[];for(r in l)!n(i,r)&&n(l,r)&&u.push(r);for(;t.length>s;)n(l,r=t[s++])&&(~o(u,r)||u.push(r));return u}},5632:function(e,t,r){var n=r(140),a=r(3837);e.exports=Object.keys||function(e){return n(e,a)}},9195:function(e,t){var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,a=n&&!r.call({1:2},1);t.f=a?function(e){var t=n(this,e);return!!t&&t.enumerable}:r},6540:function(e,t,r){var n=r(1176),a=r(8505);
2e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),t=r instanceof Array}catch(e){}return function(r,o){return n(r),a(o),t?e.call(r,o):r.__proto__=o,r}}():void 0)},7664:function(e,t,r){var n=r(7400),a=r(5632),o=r(905),i=r(9195).f,l=function(e){return function(t){for(var r,l=o(t),s=a(l),u=s.length,c=0,d=[];u>c;)r=s[c++],n&&!i.call(l,r)||d.push(e?[r,l[r]]:l[r]);return d}};e.exports={entries:l(!0),values:l(!1)}},4059:function(e,t,r){var n=r(1601),a=r(1589);e.exports=n?{}.toString:function(){return"[object "+a(this)+"]"}},2914:function(e,t,r){var n=r(6733),a=r(5052);e.exports=function(e,t){var r,o;if("string"===t&&n(r=e.toString)&&!a(o=r.call(e)))return o;if(n(r=e.valueOf)&&!a(o=r.call(e)))return o;if("string"!==t&&n(r=e.toString)&&!a(o=r.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},4826:function(e,t,r){var n=r(1333),a=r(8151),o=r(894),i=r(1176);e.exports=n("Reflect","ownKeys")||function(e){var t=a.f(i(e)),r=o.f;return r?t.concat(r(e)):t}},9276:function(e,t,r){var n=r(9859);e.exports=n},4624:function(e){e.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}},7757:function(e,t,r){var n=r(1176),a=r(5052),o=r(6485);e.exports=function(e,t){if(n(e),a(t)&&t.constructor===e)return t;var r=o.f(e);return(0,r.resolve)(t),r.promise}},8787:function(e,t,r){var n=r(7487);e.exports=function(e,t,r){for(var a in t)n(e,a,t[a],r);return e}},7487:function(e,t,r){var n=r(9859),a=r(6733),o=r(8270),i=r(5762),l=r(2079),s=r(8511),u=r(6407),c=r(1805).CONFIGURABLE,d=u.get,f=u.enforce,p=String(String).split("String");(e.exports=function(e,t,r,s){var u,d=!!s&&!!s.unsafe,m=!!s&&!!s.enumerable,h=!!s&&!!s.noTargetGet,y=s&&void 0!==s.name?s.name:t;a(r)&&("Symbol("===String(y).slice(0,7)&&(y="["+String(y).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!o(r,"name")||c&&r.name!==y)&&i(r,"name",y),(u=f(r)).source||(u.source=p.join("string"==typeof y?y:""))),e!==n?(d?!h&&e[t]&&(m=!0):delete e[t],m?e[t]=r:i(e,t,r)):m?e[t]=r:l(t,r)})(Function.prototype,"toString",function(){return a(this)&&d(this).source||s(this)})},8115:function(e,t,r){var n=r(1176),a=r(6733),o=r(7079),i=r(3466);e.exports=function(e,t){var r=e.exec;if(a(r)){var l=r.call(e,t);return null!==l&&n(l),l}if("RegExp"===o(e))return i.call(e,t);throw TypeError("RegExp#exec called on incompatible receiver")}},3466:function(e,t,r){var n,a,o=r(3326),i=r(895),l=r(5650),s=r(3036),u=r(2391),c=r(6407).get,d=r(2926),f=r(461),p=RegExp.prototype.exec,m=s("native-string-replace",String.prototype.replace),h=p,y=(n=/a/,a=/b*/g,p.call(n,"a"),p.call(a,"a"),0!==n.lastIndex||0!==a.lastIndex),g=l.UNSUPPORTED_Y||l.BROKEN_CARET,b=void 0!==/()??/.exec("")[1];(y||b||g||d||f)&&(h=function(e){var t,r,n,a,l,s,d,f=this,v=c(f),w=o(e),E=v.raw;if(E)return E.lastIndex=f.lastIndex,t=h.call(E,w),f.lastIndex=E.lastIndex,t;var k=v.groups,_=g&&f.sticky,C=i.call(f),S=f.source,P=0,O=w;if(_&&(-1===(C=C.replace("y","")).indexOf("g")&&(C+="g"),O=w.slice(f.lastIndex),f.lastIndex>0&&(!f.multiline||f.multiline&&"\n"!==w.charAt(f.lastIndex-1))&&(S="(?: "+S+")",O=" "+O,P++),r=new RegExp("^(?:"+S+")",C)),b&&(r=new RegExp("^"+S+"$(?!\\s)",C)),y&&(n=f.lastIndex),a=p.call(_?r:f,O),_?a?(a.input=a.input.slice(P),a[0]=a[0].slice(P),a.index=f.lastIndex,f.lastIndex+=a[0].length):f.lastIndex=0:y&&a&&(f.lastIndex=f.global?a.index+a[0].length:n),b&&a&&a.length>1&&m.call(a[0],r,function(){for(l=1;l<arguments.length-2;l++)void 0===arguments[l]&&(a[l]=void 0)}),a&&k)for(a.groups=s=u(null),l=0;l<k.length;l++)s[(d=k[l])[0]]=a[d[1]];return a}),e.exports=h},895:function(e,t,r){var n=r(1176);e.exports=function(){var e=n(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},5650:function(e,t,r){var n=r(4229),a=r(9859).RegExp;t.UNSUPPORTED_Y=n(function(){var e=a("a","y");return e.lastIndex=2,null!=e.exec("abcd")}),t.BROKEN_CARET=n(function(){var e=a("^r","gy");return e.lastIndex=2,null!=e.exec("str")})},2926:function(e,t,r){var n=r(4229),a=r(9859).RegExp;e.exports=n(function(){var e=a(".","s");return!(e.dotAll&&e.exec("\n")&&"s"===e.flags)})},461:function(e,t,r){var n=r(4229),a=r(9859).RegExp;e.exports=n(function(){var e=a("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})},8885:function(e){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},2101:function(e){e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},2079:function(e,t,r){var n=r(9859);e.exports=function(e,t){try{Object.defineProperty(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}},1832:function(e,t,r){var n=r(1333),a=r(1787),o=r(95),i=r(7400),l=o("species");e.exports=function(e){var t=n(e),r=a.f;i&&t&&!t[l]&&r(t,l,{configurable:!0,get:function(){return this}})}},4555:function(e,t,r){var n=r(1787).f,a=r(8270),o=r(95)("toStringTag");
vendor: 4,679 bytes, line 2
2e.exports=function(e,t,r){e&&!a(e=r?e:e.prototype,o)&&n(e,o,{configurable:!0,value:t})}},4399:function(e,t,r){var n=r(3036),a=r(1441),o=n("keys");e.exports=function(e){return o[e]||(o[e]=a(e))}},5353:function(e,t,r){var n=r(9859),a=r(2079),o="__core-js_shared__",i=n[o]||a(o,{});e.exports=i},3036:function(e,t,r){var n=r(4231),a=r(5353);(e.exports=function(e,t){return a[e]||(a[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.18.2",mode:n?"pure":"global",copyright:"é 2021 Denis Pushkarev (zloirock.ru)"})},7942:function(e,t,r){var n=r(1176),a=r(7988),o=r(95)("species");e.exports=function(e,t){var r,i=n(e).constructor;return void 0===i||null==(r=n(i)[o])?t:a(r)}},966:function(e,t,r){var n=r(3329),a=r(3326),o=r(8885),i=function(e){return function(t,r){var i,l,s=a(o(t)),u=n(r),c=s.length;return u<0||u>=c?e?"":void 0:(i=s.charCodeAt(u))<55296||i>56319||u+1===c||(l=s.charCodeAt(u+1))<56320||l>57343?e?s.charAt(u):i:e?s.slice(u,u+2):l-56320+(i-55296<<10)+65536}};e.exports={codeAt:i(!1),charAt:i(!0)}},7321:function(e){var t=2147483647,r=/[^\0-\u007E]/,n=/[.\u3002\uFF0E\uFF61]/g,a="Overflow: input needs wider integers to process",o=Math.floor,i=String.fromCharCode,l=function(e){return e+22+75*(e<26)},s=function(e,t,r){var n=0;for(e=r?o(e/700):e>>1,e+=o(e/t);e>455;n+=36)e=o(e/35);return o(n+36*e/(e+38))},u=function(e){var r,n,u=[],c=(e=function(e){for(var t=[],r=0,n=e.length;r<n;){var a=e.charCodeAt(r++);if(a>=55296&&a<=56319&&r<n){var o=e.charCodeAt(r++);56320==(64512&o)?t.push(((1023&a)<<10)+(1023&o)+65536):(t.push(a),r--)}else t.push(a)}return t}(e)).length,d=128,f=0,p=72;for(r=0;r<e.length;r++)(n=e[r])<128&&u.push(i(n));var m=u.length,h=m;for(m&&u.push("-");h<c;){var y=t;for(r=0;r<e.length;r++)(n=e[r])>=d&&n<y&&(y=n);var g=h+1;if(y-d>o((t-f)/g))throw RangeError(a);for(f+=(y-d)*g,d=y,r=0;r<e.length;r++){if((n=e[r])<d&&++f>t)throw RangeError(a);if(n==d){for(var b=f,v=36;;v+=36){var w=v<=p?1:v>=p+26?26:v-p;if(b<w)break;var E=b-w,k=36-w;u.push(i(l(w+E%k))),b=o(E/k)}u.push(i(l(b))),p=s(f,g,h==m),f=0,++h}}++f,++d}return u.join("")};e.exports=function(e){var t,a,o=[],i=e.toLowerCase().replace(n,".").split(".");for(t=0;t<i.length;t++)a=i[t],o.push(r.test(a)?"xn--"+u(a):a);return o.join(".")}},5795:function(e,t,r){var n,a,o,i,l=r(9859),s=r(6733),u=r(4229),c=r(7636),d=r(3777),f=r(2635),p=r(2023),m=r(8801),h=l.setImmediate,y=l.clearImmediate,g=l.process,b=l.MessageChannel,v=l.Dispatch,w=0,E={};try{n=l.location}catch(e){}var k=function(e){if(E.hasOwnProperty(e)){var t=E[e];delete E[e],t()}},_=function(e){return function(){k(e)}},C=function(e){k(e.data)},S=function(e){l.postMessage(String(e),n.protocol+"//"+n.host)};h&&y||(h=function(e){for(var t=[],r=arguments.length,n=1;r>n;)t.push(arguments[n++]);return E[++w]=function(){(s(e)?e:Function(e)).apply(void 0,t)},a(w),w},y=function(e){delete E[e]},m?a=function(e){g.nextTick(_(e))}:v&&v.now?a=function(e){v.now(_(e))}:b&&!p?(i=(o=new b).port2,o.port1.onmessage=C,a=c(i.postMessage,i,1)):l.addEventListener&&s(l.postMessage)&&!l.importScripts&&n&&"file:"!==n.protocol&&!u(S)?(a=S,l.addEventListener("message",C,!1)):a="onreadystatechange"in f("script")?function(e){d.appendChild(f("script")).onreadystatechange=function(){d.removeChild(this),k(e)}}:function(e){setTimeout(_(e),0)}),e.exports={set:h,clear:y}},3231:function(e,t,r){var n=r(3329),a=Math.max,o=Math.min;e.exports=function(e,t){var r=n(e);return r<0?a(r+t,0):o(r,t)}},905:function(e,t,r){var n=r(9337),a=r(8885);e.exports=function(e){return n(a(e))}},3329:function(e){var t=Math.ceil,r=Math.floor;e.exports=function(e){var n=+e;return n!=n||0===n?0:(n>0?r:t)(n)}},4237:function(e,t,r){var n=r(3329),a=Math.min;e.exports=function(e){return e>0?a(n(e),9007199254740991):0}},2991:function(e,t,r){var n=r(8885);e.exports=function(e){return Object(n(e))}},2066:function(e,t,r){var n=r(5052),a=r(9395),o=r(5300),i=r(2914),l=r(95)("toPrimitive");e.exports=function(e,t){if(!n(e)||a(e))return e;var r,s=o(e,l);if(s){if(void 0===t&&(t="default"),r=s.call(e,t),!n(r)||a(r))return r;throw TypeError("Can't convert object to primitive value")}return void 0===t&&(t="number"),i(e,t)}},9310:function(e,t,r){var n=r(2066),a=r(9395);e.exports=function(e){var t=n(e,"string");return a(t)?t:String(t)}},1601:function(e,t,r){var n={};n[r(95)("toStringTag")]="z",e.exports="[object z]"===String(n)},3326:function(e,t,r){var n=r(1589);e.exports=function(e){if("Symbol"===n(e))throw TypeError("Cannot convert a Symbol value to a string");return String(e)}},9821:function(e){e.exports=function(e){try{return String(e)}catch(e){return"Object"}}},1441:function(e){var t=0,r=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++t
2+r).toString(36)}},6969:function(e,t,r){var a=r(3839);e.exports=a&&!Symbol.sham&&"symbol"==n(Symbol.iterator)},5391:function(e,t,r){var n=r(95);t.f=n},95:function(e,t,r){var n=r(9859),a=r(3036),o=r(8270),i=r(1441),l=r(3839),s=r(6969),u=a("wks"),c=n.Symbol,d=s?c:c&&c.withoutSetter||i;e.exports=function(e){return o(u,e)&&(l||"string"==typeof u[e])||(l&&o(c,e)?u[e]=c[e]:u[e]=d("Symbol."+e)),u[e]}},8178:function(e,t,r){var n=r(3103),a=r(4229),o=r(3718),i=r(5052),l=r(2991),s=r(9646),u=r(2324),c=r(7501),d=r(1460),f=r(95),p=r(6358),m=f("isConcatSpreadable"),h=9007199254740991,y="Maximum allowed index exceeded",g=p>=51||!a(function(){var e=[];return e[m]=!1,e.concat()[0]!==e}),b=d("concat"),v=function(e){if(!i(e))return!1;var t=e[m];return void 0!==t?!!t:o(e)};n({target:"Array",proto:!0,forced:!g||!b},{concat:function(e){var t,r,n,a,o,i=l(this),d=c(i,0),f=0;for(t=-1,n=arguments.length;t<n;t++)if(v(o=-1===t?i:arguments[t])){if(f+(a=s(o))>h)throw TypeError(y);for(r=0;r<a;r++,f++)r in o&&u(d,f,o[r])}else{if(f>=h)throw TypeError(y);u(d,f++,o)}return d.length=f,d}})},5342:function(e,t,r){var n=r(3103),a=r(9996).filter;n({target:"Array",proto:!0,forced:!r(1460)("filter")},{filter:function(e){return a(this,e,arguments.length>1?arguments[1]:void 0)}})},9228:function(e,t,r){var n=r(3103),a=r(9996).find,o=r(9736),i="find",l=!0;i in[]&&Array(1).find(function(){l=!1}),n({target:"Array",proto:!0,forced:l},{find:function(e){return a(this,e,arguments.length>1?arguments[1]:void 0)}}),o(i)},7233:function(e,t,r){var n=r(3103),a=r(507);n({target:"Array",stat:!0,forced:!r(4575)(function(e){Array.from(e)})},{from:a})},5735:function(e,t,r){var n=r(905),a=r(9736),o=r(5495),i=r(6407),l=r(7675),s="Array Iterator",u=i.set,c=i.getterFor(s);e.exports=l(Array,"Array",function(e,t){u(this,{type:s,target:n(e),index:0,kind:t})},function(){var e=c(this),t=e.target,r=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}},"values"),o.Arguments=o.Array,a("keys"),a("values"),a("entries")},6781:function(e,t,r){var n=r(3103),a=r(9337),o=r(905),i=r(6038),l=[].join,s=a!=Object,u=i("join",",");n({target:"Array",proto:!0,forced:s||!u},{join:function(e){return l.call(o(this),void 0===e?",":e)}})},3450:function(e,t,r){var n=r(3103),a=r(9996).map;n({target:"Array",proto:!0,forced:!r(1460)("map")},{map:function(e){return a(this,e,arguments.length>1?arguments[1]:void 0)}})},2501:function(e,t,r){var n=r(3103),a=r(3718),o=r(2359),i=r(5052),l=r(3231),s=r(9646),u=r(905),c=r(2324),d=r(95),f=r(1460)("slice"),p=d("species"),m=[].slice,h=Math.max;n({target:"Array",proto:!0,forced:!f},{slice:function(e,t){var r,n,d,f=u(this),y=s(f),g=l(e,y),b=l(void 0===t?y:t,y);if(a(f)&&(r=f.constructor,(o(r)&&(r===Array||a(r.prototype))||i(r)&&null===(r=r[p]))&&(r=void 0),r===Array||void 0===r))return m.call(f,g,b);for(n=new(void 0===r?Array:r)(h(b-g,0)),d=0;g<b;g++,d++)g in f&&c(n,d,f[g]);return n.length=d,n}})},6936:function(e,t,r){var n=r(7400),a=r(1805).EXISTS,o=r(1787).f,i=Function.prototype,l=i.toString,s=/^\s*function ([^ (]*)/;n&&!a&&o(i,"name",{configurable:!0,get:function(){try{return l.call(this).match(s)[1]}catch(e){return""}}})},2144:function(e,t,r){var n=r(3103),a=r(8476),o=r(4229),i=r(5052),l=r(5926).onFreeze,s=Object.freeze;n({target:"Object",stat:!0,forced:o(function(){s(1)}),sham:!a},{freeze:function(e){return s&&i(e)?s(l(e)):e}})},8625:function(e,t,r){var n=r(3103),a=r(4229),o=r(905),i=r(7933).f,l=r(7400),s=a(function(){i(1)});n({target:"Object",stat:!0,forced:!l||s,sham:!l},{getOwnPropertyDescriptor:function(e,t){return i(o(e),t)}})},2775:function(e,t,r){var n=r(3103),a=r(7400),o=r(4826),i=r(905),l=r(7933),s=r(2324);n({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(e){for(var t,r,n=i(e),a=l.f,u=o(n),c={},d=0;u.length>d;)void 0!==(r=a(n,t=u[d++]))&&s(c,t,r);return c}})},4769:function(e,t,r){var n=r(3103),a=r(2991),o=r(5632);n({target:"Object",stat:!0,forced:r(4229)(function(){o(1)})},{keys:function(e){return o(a(e))}})},8188:function(e,t,r){var n=r(1601),a=r(7487),o=r(4059);n||a(Object.prototype,"toString",o,{unsafe:!0})},7890:function(e,t,r){var n=r(3103),a=r(7664).values;n({target:"Object",stat:!0},{values:function(e){return a(e)}})},3439:function(e,t,r){var n,a,o,i,l=r(3103),s=r(4231),u=r(9859),c=r(1333),d=r(4226),f=r(7487),p=r(8787),m=r(6540),h=r(4555),y=r(1832),g=r(7111),b=r(6733),v=r(5052),w=r(7728),E=r(8511),k=r(9003),_=r(4575),C=r(7942),S=r(5795).set,P=r(4794),O=r(7757),T=r(4665),j=r(6485),x=r(4624),M=r(6407),z=r(6541
2),A=r(95),I=r(8639),$=r(8801),D=r(6358),N=A("species"),R="Promise",B=M.get,U=M.set,G=M.getterFor(R),F=d&&d.prototype,q=d,L=F,V=u.TypeError,H=u.document,W=u.process,K=j.f,Y=K,J=!!(H&&H.createEvent&&u.dispatchEvent),Z=b(u.PromiseRejectionEvent),X="unhandledrejection",Q=!1,ee=z(R,function(){var e=E(q),t=e!==String(q);if(!t&&66===D)return!0;if(s&&!L.finally)return!0;if(D>=51&&/native code/.test(e))return!1;var r=new q(function(e){e(1)}),n=function(e){e(function(){},function(){})};return(r.constructor={})[N]=n,!(Q=r.then(function(){})instanceof n)||!t&&I&&!Z}),te=ee||!_(function(e){q.all(e).catch(function(){})}),re=function(e){var t;return!(!v(e)||!b(t=e.then))&&t},ne=function(e,t){if(!e.notified){e.notified=!0;var r=e.reactions;P(function(){for(var n=e.value,a=1==e.state,o=0;r.length>o;){var i,l,s,u=r[o++],c=a?u.ok:u.fail,d=u.resolve,f=u.reject,p=u.domain;try{c?(a||(2===e.rejection&&le(e),e.rejection=1),!0===c?i=n:(p&&p.enter(),i=c(n),p&&(p.exit(),s=!0)),i===u.promise?f(V("Promise-chain cycle")):(l=re(i))?l.call(i,d,f):d(i)):f(n)}catch(e){p&&!s&&p.exit(),f(e)}}e.reactions=[],e.notified=!1,t&&!e.rejection&&oe(e)})}},ae=function(e,t,r){var n,a;J?((n=H.createEvent("Event")).promise=t,n.reason=r,n.initEvent(e,!1,!0),u.dispatchEvent(n)):n={promise:t,reason:r},!Z&&(a=u["on"+e])?a(n):e===X&&T("Unhandled promise rejection",r)},oe=function(e){S.call(u,function(){var t,r=e.facade,n=e.value;if(ie(e)&&(t=x(function(){$?W.emit("unhandledRejection",n,r):ae(X,r,n)}),e.rejection=$||ie(e)?2:1,t.error))throw t.value})},ie=function(e){return 1!==e.rejection&&!e.parent},le=function(e){S.call(u,function(){var t=e.facade;$?W.emit("rejectionHandled",t):ae("rejectionhandled",t,e.value)})},se=function(e,t,r){return function(n){e(t,n,r)}},ue=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=2,ne(e,!0))},ce=function e(t,r,n){if(!t.done){t.done=!0,n&&(t=n);try{if(t.facade===r)throw V("Promise can't be resolved itself");var a=re(r);a?P(function(){var n={done:!1};try{a.call(r,se(e,n,t),se(ue,n,t))}catch(e){ue(n,e,t)}}):(t.value=r,t.state=1,ne(t,!1))}catch(r){ue({done:!1},r,t)}}};if(ee&&(L=(q=function(e){w(this,q,R),g(e),n.call(this);var t=B(this);try{e(se(ce,t),se(ue,t))}catch(e){ue(t,e)}}).prototype,(n=function(e){U(this,{type:R,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=p(L,{then:function(e,t){var r=G(this),n=K(C(this,q));return n.ok=!b(e)||e,n.fail=b(t)&&t,n.domain=$?W.domain:void 0,r.parent=!0,r.reactions.push(n),0!=r.state&&ne(r,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),a=function(){var e=new n,t=B(e);this.promise=e,this.resolve=se(ce,t),this.reject=se(ue,t)},j.f=K=function(e){return e===q||e===o?new a(e):Y(e)},!s&&b(d)&&F!==Object.prototype)){i=F.then,Q||(f(F,"then",function(e,t){var r=this;return new q(function(e,t){i.call(r,e,t)}).then(e,t)},{unsafe:!0}),f(F,"catch",L.catch,{unsafe:!0}));try{delete F.constructor}catch(e){}m&&m(F,L)}l({global:!0,wrap:!0,forced:ee},{Promise:q}),h(q,R,!1,!0),y(R),o=c(R),l({target:R,stat:!0,forced:ee},{reject:function(e){var t=K(this);return t.reject.call(void 0,e),t.promise}}),l({target:R,stat:!0,forced:s||ee},{resolve:function(e){return O(s&&this===o?q:this,e)}}),l({target:R,stat:!0,forced:te},{all:function(e){var t=this,r=K(t),n=r.resolve,a=r.reject,o=x(function(){var r=g(t.resolve),o=[],i=0,l=1;k(e,function(e){var s=i++,u=!1;o.push(void 0),l++,r.call(t,e).then(function(e){u||(u=!0,o[s]=e,--l||n(o))},a)}),--l||n(o)});return o.error&&a(o.value),r.promise},race:function(e){var t=this,r=K(t),n=r.reject,a=x(function(){var a=g(t.resolve);k(e,function(e){a.call(t,e).then(r.resolve,n)})});return a.error&&n(a.value),r.promise}})},7950:function(e,t,r){var n=r(3103),a=r(3466);n({target:"RegExp",proto:!0,forced:/./.exec!==a},{exec:a})},8233:function(e,t,r){var n=r(1805).PROPER,a=r(7487),o=r(1176),i=r(3326),l=r(4229),s=r(895),u="toString",c=RegExp.prototype,d=c.toString,f=l(function(){return"/a/b"!=d.call({source:"a",flags:"b"})}),p=n&&d.name!=u;(f||p)&&a(RegExp.prototype,u,function(){var e=o(this),t=i(e.source),r=e.flags;return"/"+t+"/"+i(void 0===r&&e instanceof RegExp&&!("flags"in c)?s.call(e):r)},{unsafe:!0})},6708:function(e,t,r){var n,a=r(3103),o=r(7933).f,i=r(4237),l=r(3326),s=r(7272),u=r(8885),c=r(8127),d=r(4231),f="".endsWith,p=Math.min,m=c("endsWith");a({target:"String",proto:!0,forced:!(!d&&!m&&(n=o(String.prototype,"endsWith"),n&&!n.writable)||m)},{endsWith:function(e){var t=l(u(this));s(e);var r=arguments.length>1?arguments[1]:void 0,n=t.length,a=void 0===r?n:p(i(r),n),o=l(e);return f?f.call(t,o,a):t.slice(a-o.length,a)===o}})},8673:function(e,t,r){var n=r(966).charAt,a=r(3326),o=r(6407),i=r(7675),l="Str
2ing Iterator",s=o.set,u=o.getterFor(l);i(String,"String",function(e){s(this,{type:l,string:a(e),index:0})},function(){var e,t=u(this),r=t.string,a=t.index;return a>=r.length?{value:void 0,done:!0}:(e=n(r,a),t.index+=e.length,{value:e,done:!1})})},4069:function(e,t,r){var n=r(4954),a=r(1176),o=r(4237),i=r(3326),l=r(8885),s=r(5300),u=r(6637),c=r(8115);n("match",function(e,t,r){return[function(t){var r=l(this),n=null==t?void 0:s(t,e);return n?n.call(t,r):new RegExp(t)[e](i(r))},function(e){var n=a(this),l=i(e),s=r(t,n,l);if(s.done)return s.value;if(!n.global)return c(n,l);var d=n.unicode;n.lastIndex=0;for(var f,p=[],m=0;null!==(f=c(n,l));){var h=i(f[0]);p[m]=h,""===h&&(n.lastIndex=u(l,o(n.lastIndex),d)),m++}return 0===m?null:p}]})},4908:function(e,t,r){var n=r(4954),a=r(1176),o=r(8885),i=r(2101),l=r(3326),s=r(5300),u=r(8115);n("search",function(e,t,r){return[function(t){var r=o(this),n=null==t?void 0:s(t,e);return n?n.call(t,r):new RegExp(t)[e](l(r))},function(e){var n=a(this),o=l(e),s=r(t,n,o);if(s.done)return s.value;var c=n.lastIndex;i(c,0)||(n.lastIndex=0);var d=u(n,o);return i(n.lastIndex,c)||(n.lastIndex=c),null===d?-1:d.index}]})},8319:function(e,t,r){var n=r(4954),a=r(8311),o=r(1176),i=r(8885),l=r(7942),s=r(6637),u=r(4237),c=r(3326),d=r(5300),f=r(8115),p=r(3466),m=r(5650),h=r(4229),y=m.UNSUPPORTED_Y,g=[].push,b=Math.min,v=4294967295;n("split",function(e,t,r){var n;return n="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,r){var n=c(i(this)),o=void 0===r?v:r>>>0;if(0===o)return[];if(void 0===e)return[n];if(!a(e))return t.call(n,e,o);for(var l,s,u,d=[],f=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),m=0,h=new RegExp(e.source,f+"g");(l=p.call(h,n))&&!((s=h.lastIndex)>m&&(d.push(n.slice(m,l.index)),l.length>1&&l.index<n.length&&g.apply(d,l.slice(1)),u=l[0].length,m=s,d.length>=o));)h.lastIndex===l.index&&h.lastIndex++;return m===n.length?!u&&h.test("")||d.push(""):d.push(n.slice(m)),d.length>o?d.slice(0,o):d}:"0".split(void 0,0).length?function(e,r){return void 0===e&&0===r?[]:t.call(this,e,r)}:t,[function(t,r){var a=i(this),o=null==t?void 0:d(t,e);return o?o.call(t,a,r):n.call(c(a),t,r)},function(e,a){var i=o(this),d=c(e),p=r(n,i,d,a,n!==t);if(p.done)return p.value;var m=l(i,RegExp),h=i.unicode,g=(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.unicode?"u":"")+(y?"g":"y"),w=new m(y?"^(?:"+i.source+")":i,g),E=void 0===a?v:a>>>0;if(0===E)return[];if(0===d.length)return null===f(w,d)?[d]:[];for(var k=0,_=0,C=[];_<d.length;){w.lastIndex=y?0:_;var S,P=f(w,y?d.slice(_):d);if(null===P||(S=b(u(w.lastIndex+(y?_:0)),d.length))===k)_=s(d,_,h);else{if(C.push(d.slice(k,_)),C.length===E)return C;for(var O=1;O<=P.length-1;O++)if(C.push(P[O]),C.length===E)return C;_=k=S}}return C.push(d.slice(k)),C}]},!!h(function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var r="ab".split(e);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}),y)},4112:function(e,t,r){var n,a=r(3103),o=r(7933).f,i=r(4237),l=r(3326),s=r(7272),u=r(8885),c=r(8127),d=r(4231),f="".startsWith,p=Math.min,m=c("startsWith");a({target:"String",proto:!0,forced:!(!d&&!m&&(n=o(String.prototype,"startsWith"),n&&!n.writable)||m)},{startsWith:function(e){var t=l(u(this));s(e);var r=i(p(arguments.length>1?arguments[1]:void 0,t.length)),n=l(e);return f?f.call(t,n,r):t.slice(r,r+n.length)===n}})},634:function(e,t,r){var n=r(3103),a=r(7400),o=r(9859),i=r(8270),l=r(6733),s=r(5052),u=r(1787).f,c=r(7081),d=o.Symbol;if(a&&l(d)&&(!("description"in d.prototype)||void 0!==d().description)){var f={},p=function e(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),r=this instanceof e?new d(t):void 0===t?d():d(t);return""===t&&(f[r]=!0),r};c(p,d);var m=p.prototype=d.prototype;m.constructor=p;var h=m.toString,y="Symbol(test)"==String(d("test")),g=/^Symbol\((.*)\)[^)]+$/;u(m,"description",{configurable:!0,get:function(){var e=s(this)?this.valueOf():this,t=h.call(e);if(i(f,e))return"";var r=y?t.slice(7,-1):t.replace(g,"$1");return""===r?void 0:r}}),n({global:!0,forced:!0},{Symbol:p})}},796:function(e,t,r){r(8423)("iterator")},4115:function(e,t,r){var n=r(3103),a=r(9859),o=r(1333),i=r(4231),l=r(7400),s=r(3839),u=r(4229),c=r(8270),d=r(3718),f=r(6733),p=r(5052),m=r(9395),h=r(1176),y=r(2991),g=r(905),b=r(9310),v=r(3326),w=r(5358),E=r(2391),k=r(5632),_=r(8151),C=r(166),S=r(894),P=r(7933),O=r(1787),T=r(9195),j=r(7487),x=r
2(3036),M=r(4399),z=r(5977),A=r(1441),I=r(95),$=r(5391),D=r(8423),N=r(4555),R=r(6407),B=r(9996).forEach,U=M("hidden"),G="Symbol",F=I("toPrimitive"),q=R.set,L=R.getterFor(G),V=Object.prototype,H=a.Symbol,W=o("JSON","stringify"),K=P.f,Y=O.f,J=C.f,Z=T.f,X=x("symbols"),Q=x("op-symbols"),ee=x("string-to-symbol-registry"),te=x("symbol-to-string-registry"),re=x("wks"),ne=a.QObject,ae=!ne||!ne.prototype||!ne.prototype.findChild,oe=l&&u(function(){return 7!=E(Y({},"a",{get:function(){return Y(this,"a",{value:7}).a}})).a})?function(e,t,r){var n=K(V,t);n&&delete V[t],Y(e,t,r),n&&e!==V&&Y(V,t,n)}:Y,ie=function(e,t){var r=X[e]=E(H.prototype);return q(r,{type:G,tag:e,description:t}),l||(r.description=t),r},le=function e(t,r,n){t===V&&e(Q,r,n),h(t);var a=b(r);return h(n),c(X,a)?(n.enumerable?(c(t,U)&&t[U][a]&&(t[U][a]=!1),n=E(n,{enumerable:w(0,!1)})):(c(t,U)||Y(t,U,w(1,{})),t[U][a]=!0),oe(t,a,n)):Y(t,a,n)},se=function(e,t){h(e);var r=g(t),n=k(r).concat(fe(r));return B(n,function(t){l&&!ue.call(r,t)||le(e,t,r[t])}),e},ue=function(e){var t=b(e),r=Z.call(this,t);return!(this===V&&c(X,t)&&!c(Q,t))&&(!(r||!c(this,t)||!c(X,t)||c(this,U)&&this[U][t])||r)},ce=function(e,t){var r=g(e),n=b(t);if(r!==V||!c(X,n)||c(Q,n)){var a=K(r,n);return!a||!c(X,n)||c(r,U)&&r[U][n]||(a.enumerable=!0),a}},de=function(e){var t=J(g(e)),r=[];return B(t,function(e){c(X,e)||c(z,e)||r.push(e)}),r},fe=function(e){var t=e===V,r=J(t?Q:g(e)),n=[];return B(r,function(e){!c(X,e)||t&&!c(V,e)||n.push(X[e])}),n};if(s||(j((H=function(){if(this instanceof H)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?v(arguments[0]):void 0,t=A(e);return l&&ae&&oe(V,t,{configurable:!0,set:function e(r){this===V&&e.call(Q,r),c(this,U)&&c(this[U],t)&&(this[U][t]=!1),oe(this,t,w(1,r))}}),ie(t,e)}).prototype,"toString",function(){return L(this).tag}),j(H,"withoutSetter",function(e){return ie(A(e),e)}),T.f=ue,O.f=le,P.f=ce,_.f=C.f=de,S.f=fe,$.f=function(e){return ie(I(e),e)},l&&(Y(H.prototype,"description",{configurable:!0,get:function(){return L(this).description}}),i||j(V,"propertyIsEnumerable",ue,{unsafe:!0}))),n({global:!0,wrap:!0,forced:!s,sham:!s},{Symbol:H}),B(k(re),function(e){D(e)}),n({target:G,stat:!0,forced:!s},{for:function(e){var t=v(e);if(c(ee,t))return ee[t];var r=H(t);return ee[t]=r,te[r]=t,r},keyFor:function(e){if(!m(e))throw TypeError(e+" is not a symbol");if(c(te,e))return te[e]}
2,useSetter:function(){ae=!0},useSimple:function(){ae=!1}}),n({target:"Object",stat:!0,forced:!s,sham:!l},{create:function(e,t){return void 0===t?E(e):se(E(e),t)},defineProperty:le,defineProperties:se,getOwnPropertyDescriptor:ce}),n({target:"Object",stat:!0,forced:!s},{getOwnPropertyNames:de,getOwnPropertySymbols:fe}),n({target:"Object",stat:!0,forced:u(function(){S.f(1)})},{getOwnPropertySymbols:function(e){return S.f(y(e))}}),W&&n({target:"JSON",stat:!0,forced:!s||u(function(){var e=H();return"[null]"!=W([e])||"{}"!=W({a:e})||"{}"!=W(Object(e))})},{stringify:function(e,t,r){for(var n,a=[e],o=1;arguments.length>o;)a.push(arguments[o++]);if(n=t,(p(t)||void 0!==e)&&!m(e))return d(t)||(t=function(e,t){if(f(n)&&(t=n.call(this,e,t)),!m(t))return t}),a[1]=t,W.apply(null,a)}}),!H.prototype[F]){var pe=H.prototype.valueOf;j(H.prototype,F,function(){return pe.apply(this,arguments)})}N(H,G),z[U]=!0},1939:function(e,t,r){var n=r(9859),a=r(5694),o=r(8865),i=r(6570),l=r(5762),s=function(e){if(e&&e.forEach!==i)try{l(e,"forEach",i)}catch(t){e.forEach=i}};for(var u in a)a[u]&&s(n[u]&&n[u].prototype);s(o)},6886:function(e,t,r){var n=r(9859),a=r(5694),o=r(8865),i=r(5735),l=r(5762),s=r(95),u=s("iterator"),c=s("toStringTag"),d=i.values,f=function(e,t){if(e){if(e[u]!==d)try{l(e,u,d)}catch(t){e[u]=d}if(e[c]||l(e,c,t),a[t])for(var r in i)if(e[r]!==i[r])try{l(e,r,i[r])}catch(t){e[r]=i[r]}}};for(var p in a)f(n[p]&&n[p].prototype,p);f(o,"DOMTokenList")},523:function(e,t,r){r(5735);var n=r(3103),a=r(1333),o=r(7274),i=r(7487),l=r(8787),s=r(4555),u=r(3723),c=r(6407),d=r(7728),f=r(6733),p=r(8270),m=r(7636),h=r(1589),y=r(1176),g=r(5052),b=r(3326),v=r(2391),w=r(5358),E=r(8403),k=r(8830),_=r(95),C=a("fetch"),S=a("Request"),P=S&&S.prototype,O=a("Headers"),T=_("iterator"),j="URLSearchParams",x="URLSearchParamsIterator",M=c.set,z=c.getterFor(j),A=c.getterFor(x),I=/\+/g,$=Array(4),D=function(e){return $[e-1]||($[e-1]=RegExp("((?:%[\\da-f]{2}){"+e+"})","gi"))},N=function(e){try{return decodeURIComponent(e)}catch(t){return e}},R=function(e){var t=e.replace(I," "),r=4;try{return decodeURIComponent(t)}catch(e){for(;r;)t=t.replace(D(r--),N);return t}},B=/[!'()~]|%20/g,U={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},G=function(e){return U[e]},F=function(e){return encodeURIComponent(e).replace(B,G)},q=function(e,t){if(t)for(var r,n,a=t.split("&"),o=0;o<a.length;)(r=a[o++]).length&&(n=r.split("="),e.push({key:R(n.shift()),value:R(n.join("="))}))},L=function(e){this.entries.length=0,q(this.entries,e)},V=function(e,t){if(e<t)throw TypeError("Not enough arguments")},H=u(function(e,t){M(this,{type:x,iterator:E(z(e).entries),kind:t})},"Iterator",function(){var e=A(this),t=e.kind,r=e.iterator.next(),n=r.value;return r.done||(r.value="keys"===t?n.key:"values"===t?n.value:[n.key,n.value]),r}),W=function e(){d(this,e,j);var t,r,n,a,o,i,l,s,u,c=arguments.length>0?arguments[0]:void 0,f=[];if(M(this,{type:j,entries:f,updateURL:function(){},updateSearchParams:L}),void 0!==c)if(g(c))if(t=k(c))for(n=(r=E(c,t)).next;!(a=n.call(r)).done;){if((l=(i=(o=E(y(a.value))).next).call(o)).done||(s=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");f.push({key:b(l.value),value:b(s.value)})}else for(u in c)p(c,u)&&f.push({key:u,value:b(c[u])});else q(f,"string"==typeof c?"?"===c.charAt(0)?c.slice(1):c:b(c))},K=W.prototype;if(l(K,{append:function(e,t){V(arguments.length,2);var r=z(this);r.entries.push({key:b(e),value:b(t)}),r.updateURL()},delete:function(e){V(arguments.length,1);for(var t=z(this),r=t.entries,n=b(e),a=0;a<r.length;)r[a].key===n?r.splice(a,1):a++;t.updateURL()},get:function(e){V(arguments.length,1);for(var t=z(this).entries,r=b(e),n=0;n<t.length;n++)if(t[n].key===r)return t[n].value;return null},getAll:function(e){V(arguments.length,1);for(var t=z(this).entries,r=b(e),n=[],a=0;a<t.length;a++)t[a].key===r&&n.push(t[a].value);return n},has:function(e){V(arguments.length,1);for(var t=z(this).entries,r=b(e),n=0;n<t.length;)if(t[n++].key===r)return!0;return!1},set:function(e,t){V(arguments.length,1);for(var r,n=z(this),a=n.entries,o=!1,i=b(e),l=b(t),s=0;s<a.length;s++)(r=a[s]).key===i&&(o?a.splice(s--,1):(o=!0,r.value=l));o||a.push({key:i,value:l}),n.updateURL()},sort:function(){var e,t,r,n=z(this),a=n.entries,o=a.slice();for(a.length=0,r=0;r<o.length;r++){for(e=o[r],t=0;t<r;t++)if(a[t].key>e.key){a.splice(t,0,e);break}t===r&&a.push(e)}n.updateURL()}
vendor: 4,803 bytes, line 2
2,forEach:function(e){for(var t,r=z(this).entries,n=m(e,arguments.length>1?arguments[1]:void 0,3),a=0;a<r.length;)n((t=r[a++]).value,t.key,this)},keys:function(){return new H(this,"keys")},values:function(){return new H(this,"values")},entries:function(){return new H(this,"entries")}},{enumerable:!0}),i(K,T,K.entries,{name:"entries"}),i(K,"toString",function(){for(var e,t=z(this).entries,r=[],n=0;n<t.length;)e=t[n++],r.push(F(e.key)+"="+F(e.value));return r.join("&")},{enumerable:!0}),s(W,j),n({global:!0,forced:!o},{URLSearchParams:W}),!o&&f(O)){var Y=function(e){if(g(e)){var t,r=e.body;if(h(r)===j)return(t=e.headers?new O(e.headers):new O).has("content-type")||t.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),v(e,{body:w(0,String(r)),headers:w(0,t)})}return e};if(f(C)&&n({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return C(e,arguments.length>1?Y(arguments[1]):{})}}),f(S)){var J=function e(t){return d(this,e,"Request"),new S(t,arguments.length>1?Y(arguments[1]):{})};P.constructor=J,J.prototype=P,n({global:!0,forced:!0},{Request:J})}}e.exports={URLSearchParams:W,getState:z}},4121:function(e,t,r){r(8673);var a,o=r(3103),i=r(7400),l=r(7274),s=r(9859),u=r(219),c=r(7487),d=r(7728),f=r(8270),p=r(47),m=r(507),h=r(966).codeAt,y=r(7321),g=r(3326),b=r(4555),v=r(523),w=r(6407),E=s.URL,k=v.URLSearchParams,_=v.getState,C=w.set,S=w.getterFor("URL"),P=Math.floor,O=Math.pow,T="Invalid scheme",j="Invalid host",x="Invalid port",M=/[A-Za-z]/,z=/[\d+-.A-Za-z]/,A=/\d/,I=/^0x/i,$=/^[0-7]+$/,D=/^\d+$/,N=/^[\dA-Fa-f]+$/,R=/[\0\t\n\r #%/:<>?@[\\\]^|]/,B=/[\0\t\n\r #/:<>?@[\\\]^|]/,U=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,G=/[\t\n\r]/g,F=function(e,t){var r,n,a;if("["==t.charAt(0)){if("]"!=t.charAt(t.length-1))return j;if(!(r=L(t.slice(1,-1))))return j;e.host=r}else if(X(e)){if(t=y(t),R.test(t))return j;if(null===(r=q(t)))return j;e.host=r}else{if(B.test(t))return j;for(r="",n=m(t),a=0;a<n.length;a++)r+=J(n[a],H);e.host=r}},q=function(e){var t,r,n,a,o,i,l,s=e.split(".");if(s.length&&""==s[s.length-1]&&s.pop(),(t=s.length)>4)return e;for(r=[],n=0;n<t;n++){if(""==(a=s[n]))return e;if(o=10,a.length>1&&"0"==a.charAt(0)&&(o=I.test(a)?16:8,a=a.slice(8==o?1:2)),""===a)i=0;else{if(!(10==o?D:8==o?$:N).test(a))return e;i=parseInt(a,o)}r.push(i)}for(n=0;n<t;n++)if(i=r[n],n==t-1){if(i>=O(256,5-t))return null}else if(i>255)return null;for(l=r.pop(),n=0;n<r.length;n++)l+=r[n]*O(256,3-n);return l},L=function(e){var t,r,n,a,o,i,l,s=[0,0,0,0,0,0,0,0],u=0,c=null,d=0,f=function(){return e.charAt(d)};if(":"==f()){if(":"!=e.charAt(1))return;d+=2,c=++u}for(;f();){if(8==u)return;if(":"!=f()){for(t=r=0;r<4&&N.test(f());)t=16*t+parseInt(f(),16),d++,r++;if("."==f()){if(0==r)return;if(d-=r,u>6)return;for(n=0;f();){if(a=null,n>0){if(!("."==f()&&n<4))return;d++}if(!A.test(f()))return;for(;A.test(f());){if(o=parseInt(f(),10),null===a)a=o;else{if(0==a)return;a=10*a+o}if(a>255)return;d++}s[u]=256*s[u]+a,2!=++n&&4!=n||u++}if(4!=n)return;break}if(":"==f()){if(d++,!f())return}else if(f())return;s[u++]=t}else{if(null!==c)return;d++,c=++u}}if(null!==c)for(i=u-c,u=7;0!=u&&i>0;)l=s[u],s[u--]=s[c+i-1],s[c+--i]=l;else if(8!=u)return;return s},V=function(e){var t,r,a,o;if("number"==typeof e){for(t=[],r=0;r<4;r++)t.unshift(e%256),e=P(e/256);return t.join(".")}if("object"==(void 0===e?"undefined":n(e))){for(t="",a=function(e){for(var t=null,r=1,n=null,a=0,o=0;o<8;o++)0!==e[o]?(a>r&&(t=n,r=a),n=null,a=0):(null===n&&(n=o),++a);return a>r&&(t=n,r=a),t}(e),r=0;r<8;r++)o&&0===e[r]||(o&&(o=!1),a===r?(t+=r?":":"::",o=!0):(t+=e[r].toString(16),r<7&&(t+=":")));return"["+t+"]"}return e},H={},W=p({},H,{" ":1,'"':1,"<":1,">":1,"`":1}),K=p({},W,{"#":1,"?":1,"{":1,"}":1}),Y=p({},K,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),J=function(e,t){var r=h(e,0);return r>32&&r<127&&!f(t,e)?e:encodeURIComponent(e)},Z={ftp:21,file:null,http:80,https:443,ws:80,wss:443},X=function(e){return f(Z,e.scheme)},Q=function(e){return""!=e.username||""!=e.password},ee=function(e){return!e.host||e.cannotBeABaseURL||"file"==e.scheme},te=function(e,t){var r;return 2==e.length&&M.test(e.charAt(0))&&(":"==(r=e.charAt(1))||!t&&"|"==r)},re=function(e){var t;return e.length>1&&te(e.slice(0,2))&&(2==e.length||"/"===(t=e.charAt(2))||"\\"===t||"?"===t||"#"===t)},ne=function(e){var t=e.path,r=t.length;!r||"file"==e.scheme&&1==r&&te(t[0],!0)||t.pop()},ae=function(e){return"."===e||"%2e"===e.toLowerCase()},oe={},ie={},le={},se={},ue={},ce={},de={},fe={},pe={},me={},he={},ye={},ge={},be={},ve={},we={},Ee={},ke={},_e={},Ce={},Se={},Pe=function(e,t,r,n){var o,i,l,s,u,c=r||oe,d=0,p="",h=!1,y=!1,g=!1;for(r||(e.scheme="",e.username="",e.password="",e.host=null,e.port=null,e.path=[],e.query=null,e.fragment=null,e.cannotBeABaseURL=!1,t=t.replace(U,"")),t=t.replace(G,""),o=m(t);d<=o.length;
vendor: 4,269 bytes, line 2
2){switch(i=o[d],c){case oe:if(!i||!M.test(i)){if(r)return T;c=le;continue}p+=i.toLowerCase(),c=ie;break;case ie:if(i&&(z.test(i)||"+"==i||"-"==i||"."==i))p+=i.toLowerCase();else{if(":"!=i){if(r)return T;p="",c=le,d=0;continue}if(r&&(X(e)!=f(Z,p)||"file"==p&&(Q(e)||null!==e.port)||"file"==e.scheme&&!e.host))return;if(e.scheme=p,r)return void(X(e)&&Z[e.scheme]==e.port&&(e.port=null));p="","file"==e.scheme?c=be:X(e)&&n&&n.scheme==e.scheme?c=se:X(e)?c=fe:"/"==o[d+1]?(c=ue,d++):(e.cannotBeABaseURL=!0,e.path.push(""),c=_e)}break;case le:if(!n||n.cannotBeABaseURL&&"#"!=i)return T;if(n.cannotBeABaseURL&&"#"==i){e.scheme=n.scheme,e.path=n.path.slice(),e.query=n.query,e.fragment="",e.cannotBeABaseURL=!0,c=Se;break}c="file"==n.scheme?be:ce;continue;case se:if("/"!=i||"/"!=o[d+1]){c=ce;continue}c=pe,d++;break;case ue:if("/"==i){c=me;break}c=ke;continue;case ce:if(e.scheme=n.scheme,i==a)e.username=n.username,e.password=n.password,e.host=n.host,e.port=n.port,e.path=n.path.slice(),e.query=n.query;else if("/"==i||"\\"==i&&X(e))c=de;else if("?"==i)e.username=n.username,e.password=n.password,e.host=n.host,e.port=n.port,e.path=n.path.slice(),e.query="",c=Ce;else{if("#"!=i){e.username=n.username,e.password=n.password,e.host=n.host,e.port=n.port,e.path=n.path.slice(),e.path.pop(),c=ke;continue}e.username=n.username,e.password=n.password,e.host=n.host,e.port=n.port,e.path=n.path.slice(),e.query=n.query,e.fragment="",c=Se}break;case de:if(!X(e)||"/"!=i&&"\\"!=i){if("/"!=i){e.username=n.username,e.password=n.password,e.host=n.host,e.port=n.port,c=ke;continue}c=me}else c=pe;break;case fe:if(c=pe,"/"!=i||"/"!=p.charAt(d+1))continue;d++;break;case pe:if("/"!=i&&"\\"!=i){c=me;continue}break;case me:if("@"==i){h&&(p="%40"+p),h=!0,l=m(p);for(var b=0;b<l.length;b++){var v=l[b];if(":"!=v||g){var w=J(v,Y);g?e.password+=w:e.username+=w}else g=!0}p=""}else if(i==a||"/"==i||"?"==i||"#"==i||"\\"==i&&X(e)){if(h&&""==p)return"Invalid authority";d-=m(p).length+1,p="",c=he}else p+=i;break;case he:case ye:if(r&&"file"==e.scheme){c=we;continue}if(":"!=i||y){if(i==a||"/"==i||"?"==i||"#"==i||"\\"==i&&X(e)){if(X(e)&&""==p)return j;if(r&&""==p&&(Q(e)||null!==e.port))return;if(s=F(e,p))return s;if(p="",c=Ee,r)return;continue}"["==i?y=!0:"]"==i&&(y=!1),p+=i}else{if(""==p)return j;if(s=F(e,p))return s;if(p="",c=ge,r==ye)return}break;case ge:if(!A.test(i)){if(i==a||"/"==i||"?"==i||"#"==i||"\\"==i&&X(e)||r){if(""!=p){var E=parseInt(p,10);if(E>65535)return x;e.port=X(e)&&E===Z[e.scheme]?null:E,p=""}if(r)return;c=Ee;continue}return x}p+=i;break;case be:if(e.scheme="file","/"==i||"\\"==i)c=ve;else{if(!n||"file"!=n.scheme){c=ke;continue}if(i==a)e.host=n.host,e.path=n.path.slice(),e.query=n.query;else if("?"==i)e.host=n.host,e.path=n.path.slice(),e.query="",c=Ce;else{if("#"!=i){re(o.slice(d).join(""))||(e.host=n.host,e.path=n.path.slice(),ne(e)),c=ke;continue}e.host=n.host,e.path=n.path.slice(),e.query=n.query,e.fragment="",c=Se}}break;case ve:if("/"==i||"\\"==i){c=we;break}n&&"file"==n.scheme&&!re(o.slice(d).join(""))&&(te(n.path[0],!0)?e.path.push(n.path[0]):e.host=n.host),c=ke;continue;case we:if(i==a||"/"==i||"\\"==i||"?"==i||"#"==i){if(!r&&te(p))c=ke;else if(""==p){if(e.host="",r)return;c=Ee}else{if(s=F(e,p))return s;if("localhost"==e.host&&(e.host=""),r)return;p="",c=Ee}continue}p+=i;break;case Ee:if(X(e)){if(c=ke,"/"!=i&&"\\"!=i)continue}else if(r||"?"!=i)if(r||"#"!=i){if(i!=a&&(c=ke,"/"!=i))continue}else e.fragment="",c=Se;else e.query="",c=Ce;break;case ke:if(i==a||"/"==i||"\\"==i&&X(e)||!r&&("?"==i||"#"==i)){if(".."===(u=(u=p).toLowerCase())||"%2e."===u||".%2e"===u||"%2e%2e"===u?(ne(e),"/"==i||"\\"==i&&X(e)||e.path.push("")):ae(p)?"/"==i||"\\"==i&&X(e)||e.path.push(""):("file"==e.scheme&&!e.path.length&&te(p)&&(e.host&&(e.host=""),p=p.charAt(0)+":"),e.path.push(p)),p="","file"==e.scheme&&(i==a||"?"==i||"#"==i))for(;e.path.length>1&&""===e.path[0];)e.path.shift();"?"==i?(e.query="",c=Ce):"#"==i&&(e.fragment="",c=Se)}else p+=J(i,K);break;case _e:"?"==i?(e.query="",c=Ce):"#"==i?(e.fragment="",c=Se):i!=a&&(e.path[0]+=J(i,H));break;case Ce:r||"#"!=i?i!=a&&("'"==i&&X(e)?e.query+="%27":e.query+="#"==i?"%23":J(i,H)):(e.fragment="",c=Se);break;case Se:i!=a&&(e.fragment+=J(i,W))}d++}},Oe=function e(t){var r,n,a=d(this,e,"URL"),o=arguments.length>
21?arguments[1]:void 0,l=g(t),s=C(a,{type:"URL"});if(void 0!==o)if(o instanceof e)r=S(o);else if(n=Pe(r={},g(o)))throw TypeError(n);if(n=Pe(s,l,null,r))throw TypeError(n);var u=s.searchParams=new k,c=_(u);c.updateSearchParams(s.query),c.updateURL=function(){s.query=String(u)||null},i||(a.href=je.call(a),a.origin=xe.call(a),a.protocol=Me.call(a),a.username=ze.call(a),a.password=Ae.call(a),a.host=Ie.call(a),a.hostname=$e.call(a),a.port=De.call(a),a.pathname=Ne.call(a),a.search=Re.call(a),a.searchParams=Be.call(a),a.hash=Ue.call(a))},Te=Oe.prototype,je=function(){var e=S(this),t=e.scheme,r=e.username,n=e.password,a=e.host,o=e.port,i=e.path,l=e.query,s=e.fragment,u=t+":";return null!==a?(u+="//",Q(e)&&(u+=r+(n?":"+n:"")+"@"),u+=V(a),null!==o&&(u+=":"+o)):"file"==t&&(u+="//"),u+=e.cannotBeABaseURL?i[0]:i.length?"/"+i.join("/"):"",null!==l&&(u+="?"+l),null!==s&&(u+="#"+s),u},xe=function(){var e=S(this),t=e.scheme,r=e.port;if("blob"==t)try{return new Oe(t.path[0]).origin}catch(e){return"null"}return"file"!=t&&X(e)?t+"://"+V(e.host)+(null!==r?":"+r:""):"null"},Me=function(){return S(this).scheme+":"},ze=function(){return S(this).username},Ae=function(){return S(this).password},Ie=function(){var e=S(this),t=e.host,r=e.port;return null===t?"":null===r?V(t):V(t)+":"+r},$e=function(){var e=S(this).host;return null===e?"":V(e)},De=function(){var e=S(this).port;return null===e?"":String(e)},Ne=function(){var e=S(this),t=e.path;return e.cannotBeABaseURL?t[0]:t.length?"/"+t.join("/"):""},Re=function(){var e=S(this).query;return e?"?"+e:""},Be=function(){return S(this).searchParams},Ue=function(){var e=S(this).fragment;return e?"#"+e:""},Ge=function(e,t){return{get:e,set:t,configurable:!0,enumerable:!0}};if(i&&u(Te,{href:Ge(je,function(e){var t=S(this),r=g(e),n=Pe(t,r);if(n)throw TypeError(n);_(t.searchParams).updateSearchParams(t.query)}),origin:Ge(xe),protocol:Ge(Me,function(e){var t=S(this);Pe(t,g(e)+":",oe)}),username:Ge(ze,function(e){var t=S(this),r=m(g(e));if(!ee(t)){t.username="";for(var n=0;n<r.length;n++)t.username+=J(r[n],Y)}}),password:Ge(Ae,function(e){var t=S(this),r=m(g(e));if(!ee(t)){t.password="";for(var n=0;n<r.length;n++)t.password+=J(r[n],Y)}}),host:Ge(Ie,function(e){var t=S(this);t.cannotBeABaseURL||Pe(t,g(e),he)}),hostname:Ge($e,function(e){var t=S(this);t.cannotBeABaseURL||Pe(t,g(e),ye)}),port:Ge(De,function(e){var t=S(this);ee(t)||(""==(e=g(e))?t.port=null:Pe(t,e,ge))}),pathname:Ge(Ne,function(e){var t=S(this);t.cannotBeABaseURL||(t.path=[],Pe(t,g(e),Ee))}),search:Ge(Re,function(e){var t=S(this);""==(e=g(e))?t.query=null:("?"==e.charAt(0)&&(e=e.slice(1)),t.query="",Pe(t,e,Ce)),_(t.searchParams).updateSearchParams(t.query)}),searchParams:Ge(Be),hash:Ge(Ue,function(e){var t=S(this);""!=(e=g(e))?("#"==e.charAt(0)&&(e=e.slice(1)),t.fragment="",Pe(t,e,Se)):t.fragment=null})}),c(Te,"toJSON",function(){return je.call(this)},{enumerable:!0}),c(Te,"toString",function(){return je.call(this)},{enumerable:!0}),E){var Fe=E.createObjectURL,qe=E.revokeObjectURL;Fe&&c(Oe,"createObjectURL",function(e){return Fe.apply(E,arguments)}),qe&&c(Oe,"revokeObjectURL",function(e){return qe.apply(E,arguments)})}b(Oe,"URL"),o({global:!0,forced:!l,sham:!i},{URL:Oe})},1842:function(e){e.exports=function(e){return null==e}}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==("undefined"==typeof globalThis?"undefined":n(globalThis)))return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==("undefined"==typeof window?"undefined":n(window)))return window}}(),r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){function e(e){return function(e){if(Array.isArray(e))return t(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}r(7950),r(4908),r(4769),r(4115),r(5342),r(8625),r(1939),r(2775),r(2144),r(634),r(8188),r(796),r(5735),r(8673),r(6886),r(7233),r(2501),r(6936);var a,o,i=self.console,l=Object.freeze({NONE:0,ERROR:1,WARN:2,INFO:3,LOG:4}),s=["error","warn","info","log"],u=window.Rollbar&&window.Rollbar.options.enabled,c={debug:["critical","error","warn","debug","log"],info:["critical","error","warn","info"],warning:["critical","error","warn"],error:["critical","error"],critical:["critical"]},d=void 0!==i&&void 0!==i.log&&void 0!==i.error&&void 0!==i.debug&&void 0!==i.warn&&"function"==typeof Function.prototype.apply,f=function(t,r,n){if(d){var a,o=s.indexOf(r),l=t.getLevel();return~o&&l>=o+1&&i[r].apply(i,e(n)),u&&~c[window.Rollbar.options.reportLevel].indexOf(r)&&(a=window.Rollbar)[r].apply(a,e(n)),t}},p=function(e,t,r,n){return i[t]?r?i[t](r):i[t]():e.log("----------- ".concat(r||n," ----------- "))},m=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.level=e.level||l.NONE;var t=e.newInstance||!o?function(e){var t=e.level,r={setLevel:function(e){return t=e,r},getLevel:function(){return t||a}};
2return s.forEach(function(e){r[e]=function(){for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return f(r,e,n)}}),r.groupCollapsed=function(e){return p(r,"groupCollapsed",e,"GROUP START")},r.group=function(e){return p(r,"group",e,"GROUP START")},r.groupEnd=function(){return p(r,"groupEnd",null,"GROUP END")},r.devError=function(){},r.debug=r.log,r}(e):o;return o||e.newInstance||(o=t),t},h={LOCAL:"local",URL:"url",CAMERA:"camera",IMAGE_SEARCH:"image_search",GOOGLE_DRIVE:"google_drive",DROPBOX:"dropbox",FACEBOOK:"facebook",INSTAGRAM:"instagram",SHUTTERSTOCK:"shutterstock",ISTOCK:"istock",UNSPLASH:"unsplash"},y=(r(8319),r(9228),r(4069),r(7890),{DEVELOPMENT:"development",PRODUCTION:"production",STAGING:"staging",NIGHTLY:"nightly"}),g=(r(6708),r(4112),function(){var e,t,r,n,a,o,i=(n=(null===(e=window)||void 0===e||null===(t=e.location)||void 0===t||null===(r=t.hostname)||void 0===r?void 0:r.toLowerCase())||"").endsWith(".cloudinary.com")?n.split(".")[0]:null;if(i)return(a=i).startsWith("eod4cld")?y.STAGING:null===(o=a.match(/([^-]+)$/))||void 0===o?void 0:o[1]});function b(e,t){if(e.length!==t.length)return!1;for(var r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}var v,w=r(1842),E=r.n(w),k=(r(6781),r(3450),function(e,t){return JSON.parse(JSON.stringify(e).split(/<%(.+?)%>/).map(function(e,r){return r%2==0?e:E()(t[e])?"<%".concat(e,"%>"):t[e]}).join(""))});function _(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);i=!0);}catch(e){l=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw a}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return C(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?C(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function S(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var P=(S(v={},y.PRODUCTION,""),S(v,y.DEVELOPMENT,"dev"),v),O=function(e,t){var r;void 0===t&&(t=b);var n,a=[],o=!1;return function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return o&&r===this&&t(e,a)||(n=function(e,t){var r=void 0!==P[e]?P[e]:e;return k(t,{ENV_NAME:r&&r+".",DASH_ENV_NAME:r&&"-"+r})}.apply(this,e),o=!0,r=this,a=e),n}}(0,function(e,t){return _(e,1)[0]===_(t,1)[0]});function T(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return[y.STAGING,y.NIGHTLY].find(function(t){return e.match("-".concat(t,"\\d*"))||e.match("^".concat(t,"\\d*"))})}var j={development:{logLevel:4,uwVersion:2,notifications:{timeout:3e3},app:{protocol:"https",appUrl:"//10.0.242.38:<%APP_PORT%>/index.html",appNewTlsUrl:"//upload-widget-s<%DASH_ENV_NAME%>.cloudinary.com/1.45.44/widget/index.html"},rollbar:{token:"9b23049a904048739657a2d9498f6f68"},ui:{responsiveWidth:"768px",cameraPreviewHeight:420,imagePreviewFormats:["psd"]},api:{widgetBase:"https://widget<%DASH_ENV_NAME%>.cloudinary.com/",widgetBaseNewTlsUrl:"https://widget-s<%DASH_ENV_NAME%>.cloudinary.com/",info:"info",uploadBase:"https://api<%DASH_ENV_NAME%>.cloudinary.com/",uploadVersion:"v1_1/",upload:"upload",widgetAuth:"https://localhost:9992/",widgetAuthNewTls:"https://upload-widget-s<%DASH_ENV_NAME%>.cloudinary.com/global/auth/index.html"},upload:{cors:"/cloudinary_cors.html",maxImageSize:4e7,minChunkSize:5242880,maxChunkSize:2e7,source:"uw",consoleSource:"ml",fetchFakeTimeFactor:4e7},customization:{defaultFontFamily:"'Arial', 'Helvetica Neue', 'Helvetica', sans-serif",fontDomains:["fonts.googleapis.com"],imageLoadTimeout:2e3},google:{cx:"016831625641068449605:-e0gosfo6bg",searchBase:"https://www.googleapis.com/",fetchBase:"https://www.googleapis.com/drive/v3/files/",searchPath:"customsearch/v1",searchItemsLimit:10,resultsMaxLimit:101,drive:{jsApi:"https://apis.google.com/js/api.js?onload=googleDriveCheckAuth",clientId:"124980147196-6pln31lupl374tjgg6ubg1jdohh37reg.apps.googleusercontent.com",pageSize:20,treePageSize:50,scopes:["https://www.googleapis.com/auth/drive.readonly"]},blackListApps:["form","map","drawing","site","script","jam"]},facebook:{appId:"2026152450945878",sdk:"https://connect.facebook.net/en_US/sdk/debug.js",version:"v6.0"},dropbox:{clientId:"dg5sop6irbeg8ta",maxResults:10,apiDownloadUrl:"https://content.dropboxapi.com/2/files/download",apiDownloadHeader:'Dropbox-API-Arg: {"path":"'},instagram:{integration:"instagram",authServer:"https://<%ENV_NAME%>cloudinary.com/console/api/v1/integration/",maxResults:10},shutterStock:{integration:"shutterstock_sandbox",authServer:"https://<%ENV_NAME%>cloudinary.com/console/api/v1/integration/",baseUrl:".shutterstock.com/v2/",apiSubDomain:"api-sandbox",registrationLink:"https://www.shutterstock.com/business/premier?utm_cid=7013Z000002vZh2QAE&utm_source=cloudinary&utm_medium=referral&utm_campaign=referral-cloudinary&utm_content=create-account"},iStock:{integration:"istock",authServer:"http://localhost:5555/",baseUrl:".gettyimages.com/v3/",apiSubDomain:"api",managePlanLink:"https://www.istockphoto.com/en/plans-and-pricing",registrationLink:"https://www.istockphoto.com/join?utm_medium=affiliate&utm_source=cloudinary&utm_campaign=upload-widget&utm_content=create-account",apiKey:"87q2y7kzmw35x7azkc2a3gjg"},unsplash:{baseUrl:".unsplash.com/",apiSubDomain:"api",apiKey:"y7hlp17Y_-PcACYlenTbrvf-LPileBFPHg4aPs7um10",appName:"Cld-UW"},crop:{blackList:["application/","audio/","text/","video/","image/svg\\+xml","
2image/tiff","hei[c|f]","image/vnd.adobe.photoshop|.psd$","^docx$","^pptx$","^xlsx$"]}},nightly:{logLevel:1,uwVersion:2,notifications:{timeout:3e3},app:{protocol:"https",appUrl:"//upload-widget<%DASH_ENV_NAME%>.cloudinary.com/1.45.44/widget/index.html",appNewTlsUrl:"//upload-widget-s<%DASH_ENV_NAME%>.cloudinary.com/1.45.44/widget/index.html"},rollbar:{token:"9b23049a904048739657a2d9498f6f68"},ui:{responsiveWidth:"768px",cameraPreviewHeight:420,imagePreviewFormats:["psd"]},api:{widgetBase:"https://widget<%DASH_ENV_NAME%>.cloudinary.com/",widgetBaseNewTlsUrl:"https://widget-s<%DASH_ENV_NAME%>.cloudinary.com/",info:"info",uploadBase:"https://api<%DASH_ENV_NAME%>.cloudinary.com/",uploadVersion:"v1_1/",upload:"upload",widgetAuth:"https://upload-widget<%DASH_ENV_NAME%>.cloudinary.com/global/auth/index.html",widgetAuthNewTls:"https://upload-widget-s<%DASH_ENV_NAME%>.cloudinary.com/global/auth/index.html"},upload:{cors:"/cloudinary_cors.html",maxImageSize:4e7,minChunkSize:5242880,maxChunkSize:2e7,source:"uw",consoleSource:"ml",fetchFakeTimeFactor:4e7},customization:{defaultFontFamily:"'Arial', 'Helvetica Neue', 'Helvetica', sans-serif",fontDomains:["fonts.googleapis.com"],imageLoadTimeout:2e3},google:{cx:"016831625641068449605:-e0gosfo6bg",searchBase:"https://www.googleapis.com/",fetchBase:"https://www.googleapis.com/drive/v3/files/",searchPath:"customsearch/v1",searchItemsLimit:10,resultsMaxLimit:101,drive:{jsApi:"https://apis.google.com/js/api.js?onload=googleDriveCheckAuth",clientId:"124980147196-6pln31lupl374tjgg6ubg1jdohh37reg.apps.googleusercontent.com",pageSize:20,treePageSize:50,scopes:["https://www.googleapis.com/auth/drive.readonly"]},blackListApps:["form","map","drawing","site","script","jam"]},facebook:{appId:"2026152450945878",sdk:"https://connect.facebook.net/en_US/sdk.js",version:"v6.0"},dropbox:{clientId:"dg5sop6irbeg8ta",maxResults:10,apiDownloadUrl:"https://content.dropboxapi.com/2/files/download",apiDownloadHeader:'Dropbox-API-Arg: {"path":"'},instagram:{integration:"instagram",authServer:"https://<%ENV_NAME%>cloudinary.com/console/api/v1/integration/",maxResults:10},shutterStock:{integration:"shutterstock_sandbox",authServer:"https://<%ENV_NAME%>cloudinary.com/console/api/v1/integration/",baseUrl:".shutterstock.com/v2/",apiSubDomain:"api-sandbox",registrationLink:"https://www.shutterstock.com/business/premier?utm_cid=7013Z000002vZh2QAE&utm_source=cloudinary&utm_medium=referral&utm_campaign=referral-cloudinary&utm_content=create-account"},iStock:{integration:"istock",authServer:"https://<%ENV_NAME%>cloudinary.com/console/api/v1/integration/",baseUrl:".gettyimages.com/v3/",apiSubDomain:"api",managePlanLink:"https://www.istockphoto.com/en/plans-and-pricing",registrationLink:"https://www.istockphoto.com/join?utm_medium=affiliate&utm_source=cloudinary&utm_campaign=upload-widget&utm_content=create-account",apiKey:"87q2y7kzmw35x7azkc2a3gjg"},unsplash:{baseUrl:".unsplash.com/",apiSubDomain:"api",apiKey:"NAKLGk7PMAUqLeiITi-TyjIyX3tjlNakVIW4e9X_ZU0",appName:"Cloudinary Upload Widget"},crop:{blackList:["application/","audio/","text/","video/","image/svg\\+xml","image/tiff","hei[c|f]","image/vnd.adobe.photoshop|.psd$","^docx$","^pptx$","^xlsx$"]}},production:{logLevel:1,uwVersion:2,notifications:{timeout:3e3},app:{protocol:"https",appUrl:"//upload-widget<%DASH_ENV_NAME%>.cloudinary.com/1.45.44/widget/index.html",appNewTlsUrl:"//upload-widget-s<%DASH_ENV_NAME%>.cloudinary.com/1.45.44/widget/index.html"},rollbar:{token:"9b23049a904048739657a2d9498f6f68"},ui:{responsiveWidth:"768px",cameraPreviewHeight:420,imagePreviewFormats:["psd"]},api:{widgetBase:"https://widget<%DASH_ENV_NAME%>.cloudinary.com/",widgetBaseNewTlsUrl:"https://widget-s<%DASH_ENV_NAME%>.cloudinary.com/",info:"info",uploadBase:"https://api<%DASH_ENV_NAME%>.cloudinary.com/",uploadVersion:"v1_1/",upload:"upload",widgetAuth:"https://upload-widget<%DASH_ENV_NAME%>.cloudinary.com/global/auth/index.html",widgetAuthNewTls:"https://upload-widget-s<%DASH_ENV_NAME%>.cloudinary.com/global/auth/index.html",devAuthDomains:[]},upload:{cors:"/cloudinary_cors.html",maxImageSize:4e7,minChunkSize:5242880,maxChunkSize:2e7,source:"uw",consoleSource:"ml",fetchFakeTimeFactor:4e7},customization:{defaultFontFamily:"'Arial', 'Helvetica Neue', 'Helvetica', sans-serif",fontDomains:["fonts.googleapis.com"],imageLoadTimeout:2e3},google:{cx:"016831625641068449605:-e0gosfo6bg",searchBase:"https://www.googleapis.com/",fetchBase:"https://www.googleapis.com/drive/v3/files/",searchPath:"customsearch/v1",searchItemsLimit:10,resultsMaxLimit:101,drive:{jsApi:"https://apis.google.com/js/api.js?onload=googleDriveCheckAuth",clientId:"680300757358-rs1s18mqn7t3sd783eq24gc1ghd473ju.apps.googleusercontent.com",pageSize:20,treePageSize:50,scopes:["https://www.googleapis.com/auth/drive.readonly"]},blackListApps:["form","map","drawing","site","script","jam"]},facebook:{appId:"1803062876599883",sdk:"https://connect.facebook.net/en_US/sdk.js",version:"v6.0"},dropbox:{clientId:"981xsfu2dl846i2",maxResults:10,apiDownloadUrl:"https://content.dropboxapi.com/2/files/download",apiDownloadHeader:'Dropbox-API-Arg: {"path":"'},instagram:{integration:"instagram",authServer:"https://<%ENV_NAME%>cloudinary.com/console/api/v1/integration/",maxResults:10},shutterStock:{integration:"shutterstock",authServer:"https://<%ENV_NAME%>cloudinary.com/console/api/v1/integration/",baseUrl:".shutterstock.com/v2/",apiSubDomain:"api",registrationLink:"https://www.shutterstock.com/business/premier?utm_cid=7013Z000002vZh2QAE&utm_source=cloudinary&utm_medium=referral&utm_campaign=referral-cloudinary&utm_content=create-account"},iStock:{integration:"istock",authServer:"https://<%ENV_NAME%>cloudinary.com/console/api/v1/integration/",baseUrl:".gettyimages.com/v3/",apiSubDomain:"api",managePlanLink:"https://www.istockphoto.com/en/plans-and-pricing",registrationLink:"https://www.istockphoto.com/join?utm_medium=affiliate&utm_source=cloudinary&utm_campaign=upload-widget&utm_content=create-account",apiKey:"87q2y7kzmw35x7azkc2a3gjg"},unsplash:{baseUrl:".unsplash.com/",apiSubDomain:"api",apiKey:"NAKLGk7PMAUqLeiITi-TyjIyX3tjlNakVIW4e9X_ZU0",appName:"Cloudinary Upload Widget"},crop:{blackList:["application/","audio/","text/","video/","image/svg\\+xml","
2image/tiff","hei[c|f]","image/vnd.adobe.photoshop|.psd$","^docx$","^pptx$","^xlsx$"]}},staging:{logLevel:1,uwVersion:2,notifications:{timeout:3e3},app:{protocol:"https",appUrl:"//upload-widget<%DASH_ENV_NAME%>.cloudinary.com/1.45.44/widget/index.html",appNewTlsUrl:"//upload-widget-s<%DASH_ENV_NAME%>.cloudinary.com/1.45.44/widget/index.html"},rollbar:{token:"9b23049a904048739657a2d9498f6f68"},ui:{responsiveWidth:"768px",cameraPreviewHeight:420,imagePreviewFormats:["psd"]},api:{widgetBase:"https://widget<%DASH_ENV_NAME%>.cloudinary.com/",widgetBaseNewTlsUrl:"https://widget-s<%DASH_ENV_NAME%>.cloudinary.com/",info:"info",uploadBase:"https://api<%DASH_ENV_NAME%>.cloudinary.com/",uploadVersion:"v1_1/",upload:"upload",widgetAuth:"https://upload-widget<%DASH_ENV_NAME%>.cloudinary.com/global/auth/index.html",widgetAuthNewTls:"https://upload-widget-s<%DASH_ENV_NAME%>.cloudinary.com/global/auth/index.html"},upload:{cors:"/cloudinary_cors.html",maxImageSize:4e7,minChunkSize:5242880,maxChunkSize:2e7,source:"uw",consoleSource:"ml",fetchFakeTimeFactor:4e7},customization:{defaultFontFamily:"'Arial', 'Helvetica Neue', 'Helvetica', sans-serif",fontDomains:["fonts.googleapis.com"],imageLoadTimeout:2e3},google:{cx:"016831625641068449605:-e0gosfo6bg",searchBase:"https://www.googleapis.com/",fetchBase:"https://www.googleapis.com/drive/v3/files/",searchPath:"customsearch/v1",searchItemsLimit:10,resultsMaxLimit:101,drive:{jsApi:"https://apis.google.com/js/api.js?onload=googleDriveCheckAuth",clientId:"124980147196-6pln31lupl374tjgg6ubg1jdohh37reg.apps.googleusercontent.com",pageSize:20,treePageSize:50,scopes:["https://www.googleapis.com/auth/drive.readonly"]},blackListApps:["form","map","drawing","site","script","jam"]},facebook:{appId:"2026152450945878",sdk:"https://connect.facebook.net/en_US/sdk.js",version:"v6.0"},dropbox:{clientId:"dg5sop6irbeg8ta",maxResults:10,apiDownloadUrl:"https://content.dropboxapi.com/2/files/download",apiDownloadHeader:'Dropbox-API-Arg: {"path":"'},instagram:{integration:"instagram",authServer:"https://<%ENV_NAME%>cloudinary.com/console/api/v1/integration/",maxResults:10},shutterStock:{integration:"shutterstock_sandbox",authServer:"https://<%ENV_NAME%>cloudinary.com/console/api/v1/integration/",baseUrl:".shutterstock.com/v2/",apiSubDomain:"api-sandbox",registrationLink:"https://www.shutterstock.com/business/premier?utm_cid=7013Z000002vZh2QAE&utm_source=cloudinary&utm_medium=referral&utm_campaign=referral-cloudinary&utm_content=create-account"},iStock:{integration:"istock",authServer:"https://<%ENV_NAME%>cloudinary.com/console/api/v1/integration/",baseUrl:".gettyimages.com/v3/",apiSubDomain:"api",managePlanLink:"https://www.istockphoto.com/en/plans-and-pricing",registrationLink:"https://www.istockphoto.com/join?utm_medium=affiliate&utm_source=cloudinary&utm_campaign=upload-widget&utm_content=create-account",apiKey:"87q2y7kzmw35x7azkc2a3gjg"},unsplash:{baseUrl:".unsplash.com/",apiSubDomain:"api",apiKey:"NAKLGk7PMAUqLeiITi-TyjIyX3tjlNakVIW4e9X_ZU0",appName:"Cloudinary Upload Widget"},crop:{blackList:["application/","audio/","text/","video/","image/svg\\+xml","image/tiff","hei[c|f]","image/vnd.adobe.photoshop|.psd$","^docx$","^pptx$","^xlsx$"]}}}||{},x=function(){try{return localStorage.getItem("env")}catch(e){console.warn("env-config","Cannot read environment override from local storage")}}();function M(){return x||function(){var e=g();if(T(e)||Object.values(y).find(function(t){return t===e}))return e}()||"production"}var z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=M(),r=function(){var e=M();return T(e)||e}(),n=O(t,j[r]||{});return e?function e(t,r,n){var a=Array.isArray(r)?r:r.split(".").filter(function(e){return e.length});return a.length?void 0===t?n:e(t[a.shift()],a,n):t}(n,e):n}(),A="display-changed",I="uw_prepare",$="uw_prebatch",D="uw_hide",N="uw_tags",R="uw_upload_presets",B="uw_file",U="uw_metadata_schema",G=(r(8178),["buttonCaption","buttonClass","queueViewPosition","controlVpMeta","fieldName","frameZIndex","widgetHost","thumbnails","thumbnailTransformation"]),F=["getUploadPresets"],q=(["sources","secure","defaultSource","uploadHost"].concat(["googleApiKey","dropboxAppKey","facebookAppId","instagramServer","shutterstockServer","istockServer","googleDriveClientId","searchBySites","searchByRights"]).concat(["theme","text","language","styles"]).concat(["showPoweredBy","
2showInsecurePreview","encryption"]).concat(["uploadPrefix","debug"]).concat(G).concat(["cropping","croppingAspectRatio","croppingDefaultSelectionRatio","croppingShowDimensions","croppingCoordinatesMode","croppingShowBackButton","croppingValidateDimensions","showSkipCropButton"]),r(4121),r(523),{INITIAL:"initial",EXPANDED:"expanded",MINI:"minimized"}),L=(r(8233),function(e){return"string"==typeof e}),V=function(e,t,r,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,o=(a=a||self).document.createElement(e);if(t=t||{},r&&(t.class=r),t){var i=t;Object.keys(i).forEach(function(e){return o.setAttribute(e,i[e])})}if(n){var l=n;Object.keys(l).forEach(function(e){return o.dataset[e]=l[e]})}return o},H=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t=t||self,L(e)?t.document.querySelector(e):e},W=function(e){e.parentNode&&e.parentNode.removeChild(e)},K=function(e,t){Object.keys(t).forEach(function(r){e.style[r]=t[r]})},Y=function(e){K(e,{display:"none"})},J="FileReader"in self&&"FileList"in self&&"Blob"in self,Z=function(e){return"string"==typeof e},X=function(e){return"function"==typeof e};function Q(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ee(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var te=m(),re=(r(3439),/(left|right)(?::([0-9a-z]*))?$/),ne='head meta[name="viewport"]',ae="fetch"in self;function oe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ie(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function le(e){return(le="function"==typeof Symbol&&"symbol"==n(Symbol.iterator)?function(e){return void 0===e?"undefined":n(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":n(e)})(e)}var se=m(),ue="cloudinary-thumbnails",ce=function(e){return e.fieldName||"image"},de=function(e,t){var r=t.form;return!r&&e&&(r=function(e,t){var r,n=null;if(e.closest)n=e.closest(t);else{var a=self.document.querySelectorAll(t);if(a&&a.length)for(var o=0;o<a.length;o++){var i=a[o];if(r=e,i.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_CONTAINED_BY){n=i;break}}}return n}(e,"form")),r},fe=function(e,t,r,n){if(!1!==r.thumbnails&&(r.thumbnails||t)){var a=!0,o=H("".concat(r.thumbnails||""," .").concat(ue));if(o||(a=!1,o=V("ul",null,ue)),o.appendChild(function(e,t,r,n){var a,o=V("li",null,"cloudinary-thumbnail",{cloudinary:JSON.stringify(e)});if(e.thumbnail_url?(a=V("img",{src:e.thumbnail_url})).addEventListener("load",function e(){o.classList.add("active"),a.removeEventListener("load",e)}):(a=V("span")).textContent=e.public_id,o.appendChild(a),e.delete_token){var i=V("a",{href:"#"},"cloudinary-delete");i.textContent="x",o.appendChild(i),function(e,t,r,n,a,o){e.addEventListener("click",function i(l){var s=function(e){return e.deleteHost?e.deleteHost:"https://api".concat(e.dev?"-dev":e.staging?"-staging":"",".cloudinary.com")}(a),u="".concat(s,"/v1_1/").concat(a.cloudName,"/delete_by_token");return se.log("[all.pageIntegrations]:\n about to send delete request with token: ".concat(n.delete_token," to : ").concat(u)),l.preventDefault(),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET",r=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=r&&"object"===le(r)?JSON.stringify(r):r,i=function(){return ae}();return(i?self.fetch(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?oe(Object(r),!0).forEach(function(t){ie(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):oe(Object(r)).forEac
2h(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({method:t,body:o,headers:n?new Headers(n):void 0},a.fetchOptions)):new Promise(function(r,i){var l=new XMLHttpRequest;l.open(t,e),a.responseType&&(l.responseType=a.responseType),l.onerror=function(){return i(l)},l.ontimeout=function(){return i(l)},l.onload=function(){return r(l)},function(e,t){if(t){var r=t;Object.keys(r).forEach(function(t){return e.setRequestHeader(t,r[t])})}}(l,n),l.send(o)})).then(function(e,t,r){var n=t.responseType,a=function(e){return r.response=e,r};return!t.dontRead&&e&&r.ok?n&&r[n]?r[n]().then(a):r.json().then(a):r}.bind(null,i,a))}(u,"POST",{token:n.delete_token},{"Content-Type":"application/json"},{dontRead:!0}).then(function(l){200===l.status&&(se.log("[all.pageIntegrations]: successfully deleted file"),e.removeEventListener("click",i),function(e,t,r,n){W(e);var a=de(t,n);if(a){var o=a.querySelector('input[name="'.concat(ce(n),'"][data-cloudinary-public-id="').concat(r.public_id,'"]'));o&&W(o)}}(t,r,n,a),o.triggerEvent("cloudinarywidgetdeleted",n))}).catch(function(e){se.warn("[all.pageIntegrations]: failed to delete file with status: ".concat(e.status))})})}(i,o,t,e,r,n)}return o}(e,t,r,n)),!a){se.log("[all.pageIntegrations]: adding thumbnails list to dom");var i=r.thumbnails&&H(r.thumbnails);i?i.appendChild(o):t&&t.insertAdjacentElement("afterend",o)}}},pe=function(e,t){return 0===t?e:e.substr(0,1).toUpperCase()+e.substr(1)},me=["keepWidgetOpen","stylesheet"],he=Object.prototype.toString,ye=function(e){return e?(t=e,Object.keys(t).reduce(function(e,r){return e[r.indexOf("_")>0?(n=r,n.split("_").map(pe).join("")):r]=t[r],e;var n},{})):{};var t},ge=function(e,t){if(e=e||{},"[object Object]"!==he.call(e))throw new Error("[Cloudinary.UploadWidget]: widget options must be a valid Object");var r,n=ye(e);return n.secure=!1!==n.secure,n.requirePrepareParams=!!n.prepareUploadParams||!!n.uploadSignature,n.useTagsCallback=X(n.getTags),n.useUploadPresetsCallback=X(n.getUploadPresets),n.usePreBatchCallback=X(n.preBatch),n.useMetadataCallback=X(n.getMetadataSchema),n.inlineMode=!!n.inlineContainer,n.fieldName=e.fieldName||t&&t.getAttribute("name")||null,r=n,me.forEach(function(e){void 0!==r[e]&&function(){var e;(e=console).warn.apply(e,arguments)}("Cloudinary.UploadWidget - '".concat(e,"' is no longer used in this version."))}),n},be=m(),ve=0,we=function(e){return{handleFiles:function(t,r){return t&&t.files&&t.files.length?function(t,r,n){var a="batch_".concat(ve+=1);return e.sendMessage("uw_clientbatch",{batchId:a,batchOptions:r,count:t.length}),function(t,r,n){return Promise.race(Array.prototype.map.call(t,function(a,o){var i,l=null;return i=a,J&&(i instanceof File||"[object File]"===i.toString())?l=function(t,r,n,a,o){var i;return!a.maxFileSize||a.maxFileSize>0&&t.size<=a.maxFileSize?i=function(t,r){var n=t.file,a=t.index,o=t.count;e.sendMessage(B,{file:n,index:a,count:o,batchId:r},!0)}({file:t,index:r,count:n},o):be.log("[global.all.uploadsHandler]: provided file is larger than max file size configured",t.size),i}(a,o,t.length,r,n):Z(a)?e.sendMessage(B,{file:a,index:o,count:t.length,batchId:n}):be.warn("[global.all.uploadsHandler]: unknown type of object sent to upload",a),l}))}(t,n,a)}(t.files,t.batchOptions,r):Promise.resolve()}}};function Ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ke(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ee(Object(r),!0).forEach(function(t){_e(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ee(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function _e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Ce=m(),Se=0,Pe=function(e,t,r){var n,a,o,i,l,s=function(e,t){var r=ge(e,t);return Se+=1,r.widgetId="widget_".concat(Se),r}(e,r=function(e,t){var r=e||(null==t?void 0:t.element);if(r){try{r=H(r)}catch(e){throw new Error("[Cloudinary.UploadWidget]: 'element' param must either be a valid HTMLElement or a selector string")}if(!r||!r.nodeType)throw new Error("[Cloudinary.UploadWidget]: 'element' param must resolve to a valid HTMLElement")}return r}(r,e));if(s.inlineContainer&&!H(s.inlineContainer))throw new Error("[Cloudinary.UploadWidget]: 'inlineContainer' param must either be a valid HTMLElement or a selector string");delete s.element;var u,c,d,f,p=!1,m=function(e,t){s.$&&s.$(r||s.form||document).trigger(e,t)},h=function(e){return n?n.then(function(t){return function(e,t){if(p)throw new Error("Widget was destroyed and cannot be used anymore");return t(e)}(t,e)}).catch(function(e){return Ce.error("Cloudinary.UploadWidget - encountered error ! ",e)}):Ce.error("Cloudinary.UploadWidget - Widget frame API not ready yet!")},y=function(e,t){return h(function(r){r.open(t),r.isFrameReady()&&(null!=t&&t.hidden||a.sendMessage("uw_show",{source:e,options:t},!0),o.handleFiles(t,g()).then(function(){null!=t&&t.hidden||setTimeout(function(){r.showWidget(),a.sendDisplayChangedCallback("shown")},150)}))})},g=function(){return s};return f=0!==(d=s.widgetHost?s.widgetHost:!0===s.newTlsDomain?z.app.appNewTlsUrl:z.app.appUrl).indexOf("http")?(!1===s.secure?"http:":z.app.protocol+":")+d:d,(n=function(e,t){return new Promise(function(e,t,r){var n,a=e(),o={raw:"right:35px",side:null,offset:null},i=V("iframe",{frameborder:"no",allow:"camera",width:"100%",height:"100%"},null,{test:"uw-iframe"});K(i,{border:"none",background:"transparent"});var l=window.matchMedia("(min-width: 767px)"),s=a.inlineContainer&&H(a.inlineContainer),u=a.frameContainer&&H(a.frameContainer),c=null==u||null===(n=u.style)||void 0===n?void 0:n.position;s&&K(s,{minHeight:"".concat(610,"px"),overflowX:"hidden"}),u&&K(u,{position:"relative"});var d,f=null,p=!1,m="",h=!1,y=!1,g=!1,b=!1,v=function(e){e.preventDefault()},w=function(){if(!s&&!u){var t=g&&b;d.body&&(f=null===f?d.body.style.overflow:f,d.body.style.overflow=t?"hidden":f),function(e){t?d.addEventListener("touchmove",v):d.removeEventListener("touchmove",v)}(),function(t){if(!0===e().controlVpMeta)if(t){var r=H(ne,self.top);r||(r=V("meta",{name:"viewport"}
2,null,null,self.top),d.head.appendChild(r)),r.content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"}else{var n=H(ne,self.top);p&&n?n.content=m:n&&d.head.removeChild(n)}}(t)}},E=function(){h&&y&&(Y(i),g=!1,w())},k=function(){h&&y&&(K(i,{display:"block"}),g=!0,w(),i.focus())},_=function(t){var r="".concat(Math.min(500,window.innerWidth),"px"),n="".concat(55,"px");K(i,{width:t?"100%":r,bottom:t?"0px":"5px",height:n,top:""}),function(t){var r,n=e();if(n.queueViewPosition&&n.queueViewPosition!==o.raw||!o.side||!o.offset){o.raw=n.queueViewPosition||o.raw;var a=re.exec(o.raw);if(!a)throw new Error("queueViewPosition param (".concat(n.queueViewPosition||"",') is invalid. (valid ex: "right:35px")'));o.side=a[1],o.offset=a[2]||"0"}r=t?{left:"0px",right:"0px"}:"left"===o.side?{left:o.offset||"",right:""}:{right:o.offset||"",left:""},K(i,r)}(t),b=!1,w()},C=function(){var e;e=s?{height:"".concat(610,"px"),width:"100%"}:{width:"100%",height:"100%",top:"0px",left:"0px",bottom:""},K(i,e),b=!0,w()},S=function(){k(),C()},P=function(e){_(!e.matches)},O=function(e){switch(l.removeListener(P),e.type){case q.INITIAL:case q.EXPANDED:C();break;case q.MINI:_(!l.matches),l.addListener(P)}},T=function(e){return i.contentWindow.postMessage(e,t)},j=function(){return y},x=function(){return h},M=function(){return h&&g},z=function(){return x()&&!b},A=function(){E(),h=!1},I=function(e){h=!0,y&&(null!=e&&e.hidden||(S(),null!=e&&e.files&&Y(i)))},$=function(){h&&y&&!b&&_(!l.matches)},D=function(){W(i),u&&c&&K(u,{position:c})},N=function e(){i.removeEventListener("load",e),y=!0,r({open:I,close:A,showWidget:k,hideWidget:E,isFrameReady:j,isWidgetOpen:x,isWidgetMinimized:z,isWidgetShowing:M,postMessage:T,handleWidgetViewTypeChange:O,optionsUpdated:$,remove:D}),S()};!function(r){d=function(){var e=self.document;try{e=self.top.document}catch(e){}return e}();var n,a=function(e){var t=[];return e.debug&&t.push("debug=true"),e.dev&&t.push("dev=true"),e.cloudName&&t.push("cloudName=".concat(e.cloudName)),t.push("pmHost=".concat(self.location.protocol,"//").concat(self.location.host)),t}(r),o="".concat(t,"?").concat(a.join("&"));i.setAttribute("src",o),Y(i),K(i,{position:s?null:u?"absolute":"fixed",zIndex:s?null:r.frameZIndex||"1000000"}),i.addEventListener("load",N),function(){if(!0===e().controlVpMeta){var t=H(ne,self.top);t&&(m=t.content,p=!0)}}(),n=i,(s||u||document.body).appendChild(n),s||d.addEventListener("keyup",function(e){27===e.keyCode&&E()})}(a)}.bind(null,g,f))}()).then(function(e){i=e.isWidgetShowing,l=e.isWidgetMinimized,a=function(e,t,r){var n,a,o=new URL(t).origin;te.log("[all.comms]: creating comms channel for domain = ".concat(t));var i=function(e,t){r.widgetCallback&&r.widgetCallback(t,e)},l=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2]?{type:e,data:t}:function(e,t){return JSON.stringify({type:e,data:t})}(e,t);r.postMessage(n)},s=function(e){i({info:e,event:A,uw_event:!0,data:{event:A,info:e}})},u=(ee(n={},"widget-view-change",function(e){r.handleWidgetViewTypeChange(e.info);var t=e.info.type===q.MINI?q.MINI:q.EXPANDED;s(t)}),ee(n,"upload-finish",function(e){if(te.log("[all.comms]: received uploaded file data - ",e),e.info.failed)i(e.info,{status:e.info.status,statusText:e.info.statusText}),r.triggerEvent("cloudinarywidgetfileuploadfail",[e.info]);else{var t=e.info.uploadInfo,n={event:"success",info:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Q(Object(r),!0).forEach(function(t){ee(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Q(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({id:e.info.id,batchId:e.info.batchId},t)};r.processUploadResult(t),i(n),r.triggerEvent("cloudinarywidgetfileuploadsuccess",n)}}),n),c=(ee(a={},"uw_event",function(e,t){e.event&&u[e.event]?u[e.event](e,t):i({info:e.info,event:e.event,uw_event:!0,data:e})}),ee(a,D,function(){r.hideWidget();var e={event:"close",info:{message:"user closed the widget"}};i(e),r.triggerEvent("cloudinarywidgetclosed",e),s("hidden")}),ee(a,I,function(e,t){var r=function(e){return l(I,e)},n=t.prepareUploadParams||t.uploadSignature;X(n)?n(function(e){te.log("[all.comms]: received prepared data from client: ",e);var t=[].concat(e).map(function(e){return Z(e)?{signature:e}:e});r(t)},e.request,e.files):Z(t.uploadSignature)&&r([{signature:t.uploadSignature}])}),ee(a,$,function(e,t){if(!X(t.preBatch))throw new Error("UploadWidget - preBatch handler not found!");t.preBatch(function(e){te.log("[all.comms]: received pre-batch data from client: ",e),l($,e)},e.request)}),ee(a,N,function(e,t){t.getTags(function(e){te.log("[all.comms]: received tags from client: ",e),l(N,{tags:e})},e.prefix)}),ee(a,R,function(e,t){X(t.getUploadPresets)?t.getUploadPresets(function(e){te.log("[all.comms]: received uploadPresets from client: ",e),l(R,{uploadPresets:e})}):l(R,{uploadPresets:[]})}),ee(a,U,function(e,t){t.getMetadataSchema(function(e){te.log("[all.comms]: received metadata schema from client: ",e),l(U,e)},e)}),a);function d(t){var r=e();if(t.origin===o){var n=function(e){var t;try{Z(e)&&(t=JSON.parse(e))}catch(t){te.log("[all.comms]: failed to deserialize message: ",e)}return t}(t.data),a=!1;n&&n.widgetId&&n.widgetId===r.widgetId&&(te.log("[all.comms]: received message from widget: ".concat(r.widgetId),n),c[n.type]&&(a=!0,c[n.type](n,r))),a||te.log("[all.comms]: received invali
2d message, invalid widget ID or invalid type! ",t.data)}}return window.addEventListener("message",d),{sendMessage:l,sendDisplayChangedCallback:s,close:function(){window.removeEventListener("message",d)}}}(g,f,ke({triggerEvent:m,processUploadResult:function(e){return function(e,t,r,n){(function(e,t,r){var n=de(t,r);n&&(n=H(n))&&function(e,t,r){var n=V("input",{type:"hidden",name:ce(r)},null,{cloudinaryPublicId:e.public_id});n.value="".concat([e.resource_type,e.type,e.path].join("/"),"#").concat(e.signature);try{n.dataset.cloudinary=JSON.stringify(e)}catch(e){se.error("[all.pageIntegrations]: failed to add info as serialized data attribute")}t.appendChild(n)}(e,n,r)})(e,t,r),fe(e,t,r,n)}(e,r,g(),{triggerEvent:m})},widgetCallback:t},e));var n,s=g();a.sendMessage("uw_init",ke(ke({},s),{},{showOnStart:e.isWidgetOpen()})),o=we(a),r&&(u=function(e,t,r){var n=V("a",{href:"#"},r.buttonClass||"cloudinary-button");return n.innerHTML=r.buttonCaption||"Upload image",e.parentNode&&e.parentNode.insertBefore(n,e.previousSibling),n.addEventListener("click",function(e){return t(),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1}),n}(r,y,s),c=null===(n=r.style)||void 0===n?void 0:n.display,r.style.display="none")}),{open:function(e,t){return y(e,t),this},update:function(e){var t=this;return function(e){return h(function(t){var r,n,o=ye(e);a.sendMessage("uw_config",o),r=o,n=ke({},s),G.forEach(function(e){void 0!==r[e]&&(n[e]=r[e])}),F.forEach(function(e){Object.prototype.hasOwnProperty.call(r,e)&&(n[e]=r[e])}),ge(s=n),t.optionsUpdated()})}(e).then(function(){return t})},close:function(e){return function(e){h(function(t){t.close(),a.sendMessage(D,e)})}(e),this},hide:function(){return h(function(e){return e.hideWidget()}),this},show:function(){return h(function(e){return e.showWidget()}),this},minimize:function(){return h(function(){a.sendMessage("uw_mini")}),this},isShowing:function(){return!p&&!!i&&i()},isMinimized:function(){return!p&&!!l&&l()},destroy:function(e){return function(e){return h(function(t){var n;t.remove(),p=!0,a.close(),t=null,a=null,o=null,u&&W(u),null!==(n=r)&&void 0!==n&&n.style&&(r.style.display=c),null!=e&&e.removeThumbnails&&function(e){if(!1!==e.thumbnails){var t=H("".concat(e.thumbnails||""," .").concat(ue));t&&W(t)}}(s)})}(e)},isDestroyed:function(){return p}}},Oe=m();function Te(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function je(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Te(Object(r),!0).forEach(function(t){xe(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Te(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function xe(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}!function(e){var t,r="1.45.44-rc.2",n={cloudName:null,apiKey:null},o=e.jQuery?e.jQuery:e.$&&e.$.fn&&e.$.fn.jquery?e.$:null,i=e.location.search.indexOf("debug=true")>-1,s=e.location.search.indexOf("dev=true")>-1;t=i?l.LOG:l.WARN,a=t,function(){try{var e=V("style",{id:"cloudinary-uw-page-styles",type:"text/css"});e.innerHTML=".cloudinary-thumbnails { list-style: none; margin: 10px 0; padding: 0 }\n .cloudinary-thumbnails:after { clear: both; display: block; content: '' }\n .cloudinary-thumbnail { float: left; padding: 0; margin: 0 15px 5px 0; display: none } \n .cloudinary-thumbnail.active { display: block } \n .cloudinary-thumbnail img { border: 1px solid #01304d; border-radius: 2px; -moz-border-radius: 2px; -webkit-border-radius: 2px } \n .cloudinary-thumbnail span { font-size: 11px; font-family: Arial, sans-serif; line-height: 14px; border: 1px solid #aaa; max-width: 150px; word-wrap: break-word; word-break: break-all; display: inline-block; padding: 3px; max-height: 60px; overflow: hidden; color: #999; } \n .cloudinary-delete { vertical-align: top; font-size: 13px; text-decoration: none; padding-left: 2px; line-height: 8px; font-family: Arial, sans-serif; color: #01304d }\n .cloudinary-button { background-color: #0078FF; color: #FFFFFF; text-decoration: none; font-size: 14px; line-height: 28px; height: 28x; cursor: pointer; font-weight: normal; display: inline-block; border-radius: 4px; padding: 10px 14px;}\n .cloudinary-button:hover {-webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .5); box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .5); } ";var t=H("head");t&&t.appendChild(e)}catch(e){Oe.error("[all.pageStyles]: failed to apply styles")}}();var u=e.cloudinary=e.cloudinary||{};u.applyUploadWidget=function(e,t,a){return Pe(function(e){return je(je(je({},n),{},{dev:s,debug:i},e),{},{widgetVersion:r,$:o})}(t),a,e)},u.createUploadWidget=function(e,t){return u.applyUploadWidget(null,e,t)},u.openUploadWidget=function(e,t){return u.createUploadWidget(e,t).open()},u.setCloudName=function(e){n.cloudName=e},u.setAPIKey=function(e){n.apiKey=e},u.WIDGET_SOURCES=je({},h),u.WIDGET_VERSION=r,o&&(o.fn.cloudinary_upload_widget=function(e,t){u.applyUploadWidget(o(this)[0],e,t)})}(self)}()}()},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.dehydrate=function(e){for(var t=[],r={},a=function e(a){if(a instanceof Array)return a.map(function(t){return e(t)});if(void 0===a)return-1;if(null===a){var o=JSON.stringify(a);return r.hasOwnProperty(o)||(r[o]=t.length,t.push(o)),r[o]}if("object"===(void 0===a?"undefined":n(a))){var i={};return Object.keys(a).forEach(function(t){i[JSON.stringify(e(t))]=e(a[t])}),i}var l=JSON.stringify(a);return r.hasOwnProperty(l)||(r[l]=t.length,t.push(l)),r[l]}(e),o=t.slice(),i=t.length-1;i>0;i--){var l=Math.floor(Math.random()*(i+1)),s=t[i];t[i]=t[l],t[l]=s}var u={},c=Math.floor(t.length/3);return t.forEach(function(e,r){u[e]=(r+c)%t.length}),[function e(t){if(-1===t)return-1;if(t instanceof Array)return t.map(function(t){return e(t)});if("object"===(void 0===t?"undefined":n(t))){var r={};return Object.keys(t).forEach(function(n){r[JSON.stringify(u[o[parseInt(n,10)]])]=e(t[n])}),r}return u[o[t]]}(a),t]},t.rehydrate=function(e){var t=e[0],r=e[1],a=Math.floor(r.length/3);return function e(t){if(t instanceof Array)return t.map(function(t){return e(t)});if("object"===(void 0===t?"undefined":n(t))){var o={};return Object.keys(t).forEach(function(n){o[JSON.parse(r[(r.length+parseInt(n,10)-a)%r.length])]=e(t[n])}),o}return-1!==t?JSON.parse(r[(r.length+t-a)%r.length]):void 0}(t)}},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w,E,k,_=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),C=(T(r(82)),T(r(302)),r(10)),S=T(r(19)),P=T(r(23)),O=T(r(370));function T(e){return e&&e.__esModule?e:{default:e}}function j(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function x(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function M(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var z=(0,S.default)("webPush");var A=(n=C.observable.ref,a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,_=Array(a),S=0;S<a;S++)_[S]=arguments[S];return r=n=x(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(_))),j(n,"isSupported",o,n),j(n,"isSafari",i,n),j(n,"safariPromptingDisabled",l,n),j(n,"permission",s,n),j(n,"stopBugging",u,n),j(n,"working",c,n),j(n,"ready",d,n),j(n,"subscription",f,n),j(n,"apnDeviceToken",p,n),n.justSubscribedSendConfirmation=!1,n.serviceWorkerSrcRef="/service-worker.js",n.setLogLevel=function(e){z.setLevel(e)},j(n,"setWorking",m,n),j(n,"setReady",h,n),j(n,"setSubscription",y,n),j(n,"setApnDeviceToken",g,n),j(n,"setPermission",b,n),j(n,"updateStatus",v,n),j(n,"setStopBugging",w,n),n.boot=function(e){if("clientInit"===e||"ssrClientResume"===e){n.applePushWsUrl=window.globalConfigFromServer.WEB_PUSH_WS_URL,n.applePushSiteId=window.globalConfigFromServer.WEB_PUSH_SITE_ID,n.appServerKeyB64=window.globalConfigFromServer.WEB_PUSH_PUB_KEY;var t=n;n.disposers.push((0,C.autorun)(function(){n.$authUser.isLoaded&&n.$authUser.pid&&t.updateStatus()}))}},j(n,"checkIsSupported",E,n),n.getOrRegisterServiceWorker=function(){return z.chatter("getOrRegisterServiceWorker"),n.isSupported?n.isSafari?Promise.resolve():navigator.serviceWorker.getRegistrations().then(function(e){return e.length?(z.chatter("found existing service worker"),e.forEach(function(e){return e.update(
2)}),n.swRegistration=e[0],n.swRegistration):(z.chatter("registering service worker"),navigator.serviceWorker.register(n.serviceWorkerSrcRef).then(function(e){return z.info("Service worker successfully registered."),n.swRegistration=e,n.swRegistration}))}).catch(function(e){z.warn("Unable to register service worker.",e),n.$tracking.trackError("unable to register service worker: "+e,{}),n.$v2Api.showWebPushConnectErrorModal(),n.swRegistration=void 0}):Promise.resolve()},n.checkPermission=function(){if(z.chatter("checkPermission"),!n.isSupported)return Promise.resolve();if(n.isSafari){var e=window.safari.pushNotification.permission(n.applePushSiteId);return z.info("Site Notification Permission:",e.permission),n.setPermission(e.permission),Promise.resolve()}if(navigator.permissions)return navigator.permissions.query({name:"notifications"}).then(function(e){return n.setPermission(e.state),z.info("Site Notification Permission:",n.permission),e.state});if(window.Notification&&window.Notification.permission)return n.setPermission(window.Notification.permission),z.info("Site Notification Permission:",n.permission),Promise.resolve();throw new Error("could not obtain notification permissions")},n.getExistingSubscriptionIfAny=function(){if(z.chatter("getExistingSubscriptionIfAny"),!n.isSupported)return Promise.resolve();if("granted"!==n.permission)return Promise.resolve();if(n.isSafari){var e=window.safari.pushNotification.permission(n.applePushSiteId);return n.setApnDeviceToken(e.deviceToken),n.setSubscription({apnDeviceToken:e.deviceToken,authenticationToken:n.$authUser.apn_auth_token,websitePushId:n.applePushSiteId}),z.info("safari subscription details:",n.subscription),Promise.resolve()}return n.swRegistration.pushManager.getSubscription().then(function(e){n.setSubscription(e),z.info("pushManager subscription details:",e)}).catch(function(e){n.setSubscription(null),z.warn("getSubscription rejected:",e),n.$tracking.trackError("getSubscription rejected: "+e,{}),n.$v2Api.showWebPushConnectErrorModal()})},n.updateServerState=function(){if(z.chatter("updateServerState"),!n.isSupported||"on"!==n.basicState||!n.$authUser.pid)return"undefined"!=typeof window&&window.localStorage&&window.localStorage.removeItem(n.localStorageKeyForThisUser),Promise.resolve();var e=n.isSafari?n.subscription.apnDeviceToken:n.subscription.endpoint;if(window.localStorage&&window.localStorage.getItem(n.localStorageKeyForThisUser)===e)return z.chatter("already sent token to server, skipping"),Promise.resolve();var t={provider:n.isSafari?"apn":"pushManager",subscription:n.subscription},r={payload_json:JSON.stringify(t)};return n.justSubscribedSendConfirmation&&(r.send_confirmation="1"),z.info("updateServerState:",r),n.$v2Api.commonCall("post","/web_push/subscription",{},{postData:r}).then(function(t){t&&t.data&&(n.justSubscribedSendConfirmation=!1,window.localStorage&&window.localStorage.setItem(n.localStorageKeyForThisUser,e))}).catch(function(e){throw z.warn("bad web_push/subscription response:",e),new Error("POST web push subscription got bad response")})},j(n,"showNativePrompt",k,n),n.turnOn=function(){return"off"!==n.basicState?Promise.resolve():"default"===n.permission||"prompt"===n.permission?(n.setWorking(!0),n.showNativePrompt().then(function(e){return"granted"===e?n.subscribeUser():e}).then(n.updateStatus)):"granted"===n.permission?(n.setWorking(!0),n.subscribeUser().then(n.updateStatus)):void 0},n.subscribeUser=function(){if(n.isSafari)return Promise.resolve();var e={userVisibleOnly:!0,applicationServerKey:function(e){for(var t=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/"),r=window.atob(t),n=new Uint8Array(r.length),a=0;a<r.length;++a)n[a]=r.charCodeAt(a);return n}(n.appServerKeyB64)};return n.swRegistration.pushManager.subscribe(e).then(function(e){return z.info("received new PushSubscription:",JSON.stringify(e)),n.justSubscribedSendConfirmation=!0,n.setSubscription(e),n.setStopBugging(!1),e}).catch(function(e){z.warn("pushManager.subscribe failed with:",e),n.$tracking.trackError("pushManager.subscribe failed: "+e,{}),n.$v2Api.showWebPushConnectErrorModal()})},n.turnOff=function(e){if("on"!==n.basicState)return!1;n.isSafari?e():(n.setWorking(!0),n.subscription.unsubscribe().then(n.updateStatus))},n.sendTestNotif=function(){return n.setWorking(!0),n.$v2Api.commonCall("post","/web_push/test",{},{minLatency:5e3}).catch(function(){}).finally(function(){n.setWorking(!1)})},x(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,P.default),_(t,[{key:"isEnabled",get:function(){return"on"===this.basicState}},{key:"basicState",get:function(){return this.isSupported?this.safariPromptingDisabled?"denied":"denied"===this.permission?"denied":"default"===this.permission||"prompt"===this.permission?"off":"granted"!==this.permission||this.subscription?"granted"===this.permission&&this.subscription?"on":void 0:"off":"unsupported"}},{key:"localStorageKeyForThisUser",get:function(){return"webpush_sent_sub_"+(this.$authUser.pid||"nil")}}]),t}(),o=M(a.prototype,"isSupported",[C.observable],{enumerable:!0,initializer:null}),i=M(a.prototype,"isSafari",[C.observable],{enumerable:!0,initializer:null}),l=M(a.prototype,"safariPromptingDisabled",[C.observable],{enumerable:!0,initializer:null}),s=M(a.prototype,"permission",[C.observable],{enumerable:!0,initializer:null}),u=M(a.prototype,"stopBugging",[C.observable],{enumerable:!0,initializer:null}),c=M(a.prototype,"working",[C.observable],{enumerable:!0,initializer:function(){return!0}}),d=M(a.prototype,"ready",[C.observable],{enumerable:!0,initializer:function(){return!1}}),f=M(a.prototype,"subscription",[n],{enumerable:!0,initializer:null}),p=M(a.prototype,"apnDeviceToken",[C.observable],{enumerable:!0,initializer:null}),m=M(a.prototype,"setWorking",[C.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.working=t}}}),h=M(a.prototype,"setReady",[C.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.ready=t}}}),y=M(a.prototype,"setSubscription",[C.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.subscription=t}}}),g=M(a.prototype,"setApnDeviceToken",[C.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.apnDeviceToken=t}}}),b=M(a.prototype,"setPermission",[C.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.permission=t}}}),v=M(a.prototype,"updateStatus",[C.action],{enumerable:!0,initializer:function(){var e=this;return function(){z.chatter("updateStatus"),e.setWorking(!0),e.stopBugging="n"===O.default.get("wp_nag"),e.checkIsSupported().then(e.getOrRegisterServiceWorker).then(e.checkPermission).then(e.getExistingSubscriptionIfAny).then(e.updateServerState).finally(function(){e.setWorking(!1),e.setReady(!0)})}}}),w=M(a.prototype,"setStopBugging",[C.action],{enumerable:!0,initializer:function(){var e=this;return function(t){t?O.default.set("wp_nag","n"):O.default.remove("wp_nag"),e.stopBugging=t}}}),M(a.prototype,"isEnabled",[C.computed],Object.getOwnPropertyDescriptor(a.prototype,"isEnabled"),a.prototype),M(a.prototype,"basicState",[C.computed],Object.getOwnPropertyDescriptor(a.prototype,"basicState"),a.prototype),E=M(a.prototype,"checkIsSupported",[C.action],{enumerable:!0,initializer:function(){var e=this;return function(){z.chatter("checkIsSupported");var t=!0;return"undefined"!=typeof window&&(window.safari&&window.safari.pushNotification?(t=!0,e.isSafari=!0):("undefined"==typeof navigator&&(t=!1),"serviceWorker"
2in navigator||(t=!1),"PushManager"in window||(t=!1)),e.isSupported=t,z.chatter("Push notifications supported:",t),Promise.resolve())}}}),M(a.prototype,"localStorageKeyForThisUser",[C.computed],Object.getOwnPropertyDescriptor(a.prototype,"localStorageKeyForThisUser"),a.prototype),k=M(a.prototype,"showNativePrompt",[C.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.isSafari?new Promise(function(t){try{window.safari.pushNotification.requestPermission(e.applePushWsUrl,e.applePushSiteId,{user_pid:e.$authUser.pid,apn_auth_token:e.$authUser.apn_auth_token},function(r){z.info("a3"),z.info("requestPermission result:",r.permission),"granted"===r.permission&&(e.justSubscribedSendConfirmation=!0),t(r.permission)})}catch(t){if("string"!=typeof t||!t.match(/Push notification prompting has been disabled/))throw t;(0,C.action)(function(){e.safariPromptingDisabled=!0})(),e.setWorking(!1)}}):new Promise(function(e,t){var r=Notification.requestPermission(function(t){e(t)});r&&r.then(e,t)}).then(function(e){return z.info("permissionResult:",e),e})}}}),a);t.default=A},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=d(r(124)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=d(r(23)),u=d(r(19)),c=r(10);function d(e){return e&&e.__esModule?e:{default:e}}function f(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function p(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function m(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var h=(0,u.default)("idle"),y=(n=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var l=arguments.length,s=Array(l),u=0;u<l;u++)s[u]=arguments[u];return r=n=p(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(s))),f(n,"isIdle",a,n),n.lastActivityDate=new Date,n.idle_after_ms=6e4,n.check_for_reload_interval_ms=108e5,n._checkIdleIntervalRef=void 0,n._checkReloadIntervalRef=void 0,n.onActivity=(0,i.default)((0,c.action)(function(e){if(h.chatter("onActivity",e&&e.type),n.isIdle){n.isIdle=!1;var t=new Date-n.lastActivityDate;n.$socket.sendSetIsIdle({isIdle:!1,wasIdleFor:t}),n.clearCheckReloadTimer(),h.info("idle disengaged"),h.chatter("was idle for",t/1e3,"seconds")}n.lastActivityDate=new Date,n.startInterval()}),1e3,{leading:!0,trailing:!0}),f(n,"maybeEngageIdle",o,n),n.startInterval=function(){n._checkIdleIntervalRef||(n._checkIdleIntervalRef=window.setInterval(n.maybeEngageIdle,500))},n.stopInterval=function(){n._checkIdleIntervalRef&&(window.clearInterval(n._checkIdleIntervalRef),n._checkIdleIntervalRef=void 0)},n.registerListeners=function(){window.document.addEventListener("mousemove",n.onActivity,!1),window.document.addEventListener("mousedown",n.onActivity,!1),window.document.addEventListener("keypress",n.onActivity,!1),window.document.addEventListener("touchmove",n.onActivity,!1),window.document.addEventListener("MSPointerMove",n.onActivity,!1)},n.checkReload=function(){n.$v2Api.commonCall("get","/should_idle_reload",{idle_for_ms:new Date-n.lastActivityDate},{noErrorModal:!0,noErrorModalOn4xx:!0}).then(function(e){e.data.should_reload&&(h.warn("should_idle_reload returned true, reloading",e.data),n.$tracking.captureBreadcrumb({message:"should_idle_reload returned true, triggering reload",data:e.data}),window.setTimeout(function(){n.isIdle&&n.$location.reload()},1e3))}).catch(function(){})},n.setCheckReloadTimer=function(){n._checkReloadIntervalRef||(n._checkReloadIntervalRef=window.setInterval(n.checkReload,n.check_for_reload_interval_ms))},n.clearCheckReloadTimer=function(){n._checkReloadIntervalRef&&(window.clearInterval(n._checkReloadIntervalRef),n._checkReloadIntervalRef=void 0)},p(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default),l(t,[{key:"boot",value:function(){this.registerListeners(),this.startInterval()}}]),t}(),a=m(n.prototype,"isIdle",[c.observable],{enumerable:!0,initializer:null}),o=m(n.prototype,"maybeEngageIdle",[c.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.isIdle||new Date-e.lastActivityDate>e.idle_after_ms-500&&(h.info("idle engaged"),e.isIdle=!0,e.stopInterval(),e.setCheckReloadTimer(),e.$socket.sendSetIsIdle({isIdle:!0}))}}}),n);t.default=y},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=r(10),u=d(r(19)),c=d(r(23));function d(e){return e&&e.__esModule?e:{default:e}}function f(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function p(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function m(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var h=(0,u.default)("GamePresence"),y=(n=s.observable.ref,a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,l=Array(a),u=0;u<a;u++)l[u]=arguments[u];return r=n=p(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),f(n,"userPidsPlaying",o,n),n.sendPlayingInterval=60,f(n,"purgeGameData",i,n),n.handleMessage=(0,s.action)(function(e,t,r){h.chatter("got presence",r),n.userPidsPlaying=r||[],window.socketUserAuthTestFn&&window.socketUserAuthTestFn("gotPresence",r)}),n.userIsOnline=function(e){return n.userPidsPlaying.indexOf(e)>=0},p(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,c.default),l(t,[{key:"boot",value:function(e){var t=this;this.$gameplay.gameDataPurgeAutorun("socket presences",this.purgeGameData);window.setInterval(function(){t.$gameplay.gamePid&&(h.chatter("sending playing"),t.$socket.sendPlaying(t.$gameplay.gamePid))},1e3*this.sendPlayingInterval);this.disposers.push(function(){window.clearInterval(timerId)})}}]),t}(),o=m(a.prototype,"userPidsPlaying",[n],{enumerable:!0,initializer:function(){return[]}}),i=m(a.prototype,"purgeGameData",[s.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.userPidsPlaying=[]}}}),a);t.default=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h=w(r(124)),y=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),g=r(10),b=w(r(19)),v=w(r(23));function w(e){return e&&e.__esModule?e:{default:e}}function E(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function k(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var C=(0,b.default)("rtDraftStatuses"),S=(n=g.observable.ref,a=g.observable.ref,o=g.observable.ref,i=g.observable.ref,l=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=k(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),E(n,"_nextMoveDraft",s,n),E(n,"drafterIsTyping",u,n),E(n,"stagedSetupCards",c,n),E(n,"stagedInitialBonds",d,n),n.typingTimer=void 0,E(n,"purgeGameData",f,n),E(n,"handleMessage",p,n),n.setStagedInitialBonds=function(){},E(n,"setDrafterIsTypingForABit",m,n),n.setStagedSetupCards=function(e){C.chatter("setStagedSetupCards",e),n.$socket.sendSetDraftProp(n.$gameplay.gamePid,"stagedSetupCards",e)},n.setStagedInitialBonds=function(e){C.chatter("setStagedInitialBonds",e),n.$socket.sendSetDraftProp(n.$gameplay.gamePid,"stagedInitialBonds",e)},n.setNextMoveDraft=(0,h.default)(function(e){C.chatter("setNextMoveDraft",e),n.$socket.sendSetDraftProp(n.$gameplay.gamePid,"nextMoveDraft",e)},250),n.thereWasTypingInComposer=(0,h.default)(function(){C.chatter("thereWasTypingInComposer"),n.$socket.sendSetDraftProp(n.$gameplay.gamePid,"typingInDraft",!0)},1e3,{leading:!0}),k(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,v.default),y(t,[{key:"boot",value:function(e){this.$gameplay.gameDataPurgeAutorun("rtDraftStatuses",this.purgeGameData)}},{key:"nextMoveDraft",get:function(){if(this._nextMoveDraft){var e=this.$gameplay.gsm;if(e&&!e.moveGuidIsPublished(this._nextMoveDraft.guid))return this._nextMoveDraft}}},{key:"anyoneDraftingNextMove",get:function(){return!!this.nextMoveDraft}}]),t}(),s=_(l.prototype,"_nextMoveDraft",[n],{enumerable:!0,initializer:null}),u=_(l.prototype,"drafterIsTyping",[a],{enumerable:!0,initializer:function(){return!1}}),c=_(l.prototype,"stagedSetupCards",[o],{enumerable:!0,initializer:null}),d=_(l.prototype,"stagedInitialBonds",[i],{enumerable:!0,initializer:null}),f=_(l.prototype,"purgeGameData",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(){e._nextMoveDraft=!1,e.stagedSetupCards=!1,e.drafterIsTyping=!1,e.stagedInitialBonds=!1}}}),p=_(l.prototype,"handleMessage",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r,n){"RT_DRAFTPROP"===r&&("nextMoveDraft"===n.prop&&(C.chatter("received nextMoveDraft",n.value),e._nextMoveDraft=n.value),"typingInDraft"===n.prop&&(C.chatter("received typingInDraft",n.value),e.setDrafterIsTypingForABit(n.value)),"stagedSetupCards"===n.prop&&(C.chatter("received stagedSetupCards",n.value),e.stagedSetupCards=n.value),"stagedInitialBonds"===n.prop&&(C.chatter("received stagedInitialBonds",n.value),e.stagedInitialBonds=n.value))}}}),_(l.prototype,"nextMoveDraft",[g.computed],Object.getOwnPropertyDescriptor(l.prototype,"nextMoveDraft"),l.prototype),_(l.prototype,"anyoneDraftingNextMove",[g.computed],Object.getOwnPropertyDescriptor(l.prototype,"anyoneDraftingNextMove"),l.prototype),m=_(l.prototype,"setDrafterIsTypingForABit",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(e.typingTimer&&clearTimeout(e.typingTimer),!t)return e.drafterIsTyping=!1,void(e.typingTimer=!1);e.drafterIsTyping=!0,e.typingTimer=setTimeout(function(){e.setDrafterIsTypingForABit(!1)},3e3)}}}),l);t.default=S},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),a=(r(10),i(r(19))),o=i(r(23));function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var s=(0,a.default)("rtUserChannel"),u=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.onMessage=function(e,t,r){s.chatter("onMessage",e,t,r),n.$authUser.is_teacher&&n.$dashboard.onRtMessage(t,r),n.$authUser.is_student&&n.$sdb.onRtMessage(t,r),n.$notifications.onRtMessage(t,r)},n.onMissedEvent=function(e,t,r){s.chatter("onMissedEvent",e,t,r),n.$authUser.is_teacher&&n.$dashboard.fetchFull(),n.$authUser.is_student&&n.$sdb.fetchFull()},n.onTokenReloadNeeded=function(e,t){s.chatter("onTokenReloadNeeded",e,t),n.$authUser.refetch()},l(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.default),n(t,[{key:"boot",value:function(){var e=this;this.$socket.autoJoinLeave({channelAndTokenFn:function(){return!(!e.$authUser.pid||!e.$authUser.channel_token)&&{channel:"/user/"+e.$authUser.pid,token:e.$authUser.channel_token}},onMessage:this.onMessage,onMissedEvent:this.onMissedEvent,onTokenReloadNeeded:this.onTokenReloadNeeded,onJoin:function(){},onLeave:function(){}})}}]),t}();t.default=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),a=(r(10),i(r(19))),o=i(r(23));function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var s=(0,a.default)("rtGameChannel"),u=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.priorGamePid=void 0,n.onMessage=function(e,t,r){if("RT_NEW_GAME_EVENTS"===t){var a=r.gamePid,o=r.fromBakeId,i=r.events;s.log("got new events",a,o,i.length),s.chatter("new events full",i
2),n.$gameplay.ingestion.ingestSocketEvents({gamePid:a,fromBakeId:o,events:i})}if("RT_DRAFTPROP"===t&&(s.chatter("got draft prop",e,t,r),n.$rtDraftStatuses.handleMessage(e,t,r)),"RT_PRESENCE"===t&&(s.chatter("got presence",e,t,r),n.$gamePresence.handleMessage(e,t,r)),"RT_GAME_SUMMARY_CHANGE"===t){var l=r.vob,u=r.deleted;s.log("got new game summary",l,u),n.$gameplay.ingestion.ingestSocketGameVob({vob:l,deleted:u})}},n.onMissedEvent=function(e,t,r){s.chatter("onMissedEvent",e,t,r),n.$gameplay.fetching.throttledRefetchGameState()},n.onTokenReloadNeeded=function(e,t){s.chatter("onTokenReloadNeeded",e,t),n.$gameplay.fetching.throttledRefetchGameState()},l(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.default),n(t,[{key:"boot",value:function(){var e=this;this.$socket.autoJoinLeave({channelAndTokenFn:function(){return!(!e.$gameplay.gamePid||!e.$gameplay.gsmContainer.gameSocketToken)&&{channel:"/game/"+e.$gameplay.gamePid,token:e.$gameplay.gsmContainer.gameSocketToken}},onMessage:this.onMessage,onMissedEvent:this.onMissedEvent,onTokenReloadNeeded:this.onTokenReloadNeeded,onJoin:function(){},onLeave:function(){}})}}]),t}();t.default=u},,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),y=k(r(82)),g=k(r(302)),b=r(10);r(489);var v=k(r(488)),w=k(r(19)),E=k(r(23));function k(e){return e&&e.__esModule?e:{default:e}}function _(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function C(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var S=(0,w.default)("api"),P=15,O="/v2api/",T=(n=function(e){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.enableSsrCookies=function(t){e.ssrCookiesEnabled=!0,e.ssrRequestCookies=t,e.ssrResponseCookies=[]},e.enableXsrfTokenToHeaderConversion=function(){e.xsrfTokenToHeaderConversion=!0},_(e,"showErrorModalUseCase",a,e),_(e,"errorDetails",o,e),_(e,"maintenanceMessage",i,e),e.clientVersion=8,e.responseHandlers=[],e.clientContextId=(0,y.default)(),e.clientRequestCounter=0,e.eaup=void 0,e.setLogLevel=function(e){S.setLevel(e)},e.setEaup=function(t){e.eaup=t},e.registerResponseHandler=function(t){e.responseHandlers.push(t)},_(e,"showReloadRequiredErrorModal",l,e),_(e,"showAuthCookieGoneErrorModal",s,e),_(e,"showAuthCookieChangedErrorModal",u,e),_(e,"clearAuthCookieErrorModal",c,e),_(e,"showWebPushConnectErrorModal",d,e),_(e,"clearErrorModal",f,e),e.trackApiError=function(t,r,n,a,o){var i={failureReason:t,path:r,url:n,status:o&&o.status||0,error_code:o&&o.data&&o.data.error_code,responseData:o&&o.data,cli_req_id:a,codeRevisionSha:"object"===("undefined"==typeof window?"undefined":m(window))&&window.globalConfigFromServer&&window.globalConfigFromServer.
2SCOUT_REVISION_SHA};t.match(/403 success===false/)&&(t="catchall: v2api 403"),t.match(/timed out/)&&(t="catchall: v2api timed out"),t.match(/error_code=33\b/i)&&(t="catchall: v2api expired_sub_ready_only error_code=33"),t.match(/error_code=34\b/i)&&(t="catchall: v2api too_many_requests error_code=34"),t.match(/error_code=7\b/i)&&(t="catchall: v2api game_cache_build_error error_code=7"),e.$tracking&&e.$tracking.trackError("v2Api error "+t,i,t)},e.readOnlyGateKeeper=function(){return!!e.$authUser.read_only&&(e.showErrorModalUseCase="read_only",!0)},e.generateNewDefaultGetParams=function(){e.clientRequestCounter++,window.sessionStorage&&window.sessionStorage.setItem("clientRequestCounter",e.clientRequestCounter);var t={cli_req_id:e.clientContextId+"_"+e.clientRequestCounter,eaup:e.eaup,cv:e.clientVersion,sha:"object"===("undefined"==typeof window?"undefined":m(window))&&window.globalConfigFromServer&&window.globalConfigFromServer.SCOUT_REVISION_SHA};return e.$authUser&&e.$authUser.firstFetchAtUnix&&(t.ff=e.$authUser.firstFetchAtUnix),t},e.commonCall=function(t,r,n,a){var o=a||{},i=t.toUpperCase(),l=r.replace(/^\//,""),s=new Promise(function(t,r){var a=!1,s=void 0,u=!1,c={method:i,credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"}};e.$authUser&&e.$authUser.xsrfTokenCookie&&(c.headers["X-XSRF-TOKEN"]=e.$authUser.xsrfTokenCookie),e.ssrRequestCookies&&(c.headers.cookie=e.ssrRequestCookies,e.xsrfTokenToHeaderConversion&&e.ssrRequestCookies.forEach(function(e){var t=v.default.parse(e);t["XSRF-TOKEN"]&&(c.headers["X-XSRF-TOKEN"]=t["XSRF-TOKEN"])}));var d=o.postData||("GET"===i?void 0:n);if(d){var f=new FormData,m=!1;Object.keys(d).forEach(function(e){void 0!==d[e]&&f.append(e,d[e]),m=!0}),m&&(c.body=f,o.postDataForTestAssertion&&(c.postDataForTestAssertion=d))}var h=e.generateNewDefaultGetParams();o.getParams&&(h=p({},h,o.getParams)),"GET"===i&&n&&(h=p({},h,n));var y=""+O+l+"?"+Object.keys(h).map(function(e){return encodeURIComponent(e)+"="+encodeURIComponent(h[e])}).join("&");S.log(i,y,c,o);var g=new Date,w=function(){S.info(l,"finalSucceed","for cli_req_id=",h.cli_req_id),e.responseHandlers.forEach(function(e){return e(s)}),t(s)},E=(0,b.action)("finalFail",function(t){S.info(l,"finalFail","for cli_req_id=",h.cli_req_id),function(t){var r=void 0,n=!1,a=!1;if(s&&s.data&&s.data.reload_required)r="reload_required";else if(s&&s.data&&s.data.blocked_read_only)r="read_only";else{if(o.noErrorModal)return;if(t.match(/BOUNCED/))return;if(o.noErrorModalOn4xx&&s&&s.status>=400&&s.status<=499)return;if(e.showErrorModalUseCase)return;if(u)r="timeout";else if(s&&s.status)if(s.data)if(s.data.maintenance)n=s.data.message,r="maintenance";else if(s.data.soft_error)if("max_seq_id_mismatch"===s.data.soft_error){if(o.noErrorModalIfBakeIdMismatch)return;r="generic"}else{if(o.noErrorModalIfSoftError)return;r="generic"}else 34===s.data.error_code||"34"===s.data.error_code?r="too_many_requests":s.data.error?(a=JSON.parse(JSON.stringify(s.data.error)),s.data.soft_error&&(a.user_description=s.data.soft_error),r="custom"):r="generic";else r="generic";else r="generic"}e.showErrorModalUseCase=r,e.errorDetails=a,e.maintenanceMessage=n}(t),function(t){var r=!0;s&&s.data&&s.data.soft_error?"max_seq_id_mismatch"===s.data.soft_error?o.noErrorModalIfBakeIdMismatch&&(r=!1):o.noErrorModalIfSoftError&&(r=!1):s&&s.data&&s.data.reload_required?r=!0:s&&s.data&&s.data.maintenance?r=!1:t.match(/BOUNCED/)?r=!1:o.noErrorModalOn4xx&&s&&s.status>=400&&s.status<=499&&(r=!1),r&&e.trackApiError(t,l,y,h.cli_req_id,s)}(t),r(s)}),k=function(e,t){if(!a){a=!0;var r=function(){return(new Date).getTime()-g.getTime()}(),n=e?w:function(){return E(t)};o.minLatency&&o.minLatency>r?(S.chatter("queueFinalResult waiting for minLatency"),setTimeout(n,o.minLatency-r)):n()}};e.fetch(y,c).then(function(t){a||(e.ssrCookiesEnabled&&t.headers.forEach(function(t,r){if("Set-Cookie"===r||"set-cookie"===r){e.ssrResponseCookies.push(t);var n=v.default.parse(t);n["XSRF-TOKEN"]&&e.$authUser&&(e.$authUser.ssrFetchedXsrfTokenCookie=n["XSRF-TOKEN"])}}),(s=t).isApiResponse=!0,t.status>=500||413===t.status?k(!1,"catchall: v2api "+t.status):t.text().then(function(r){var n=void 0;try{n=JSON.parse(r)}
2catch(e){S.warn("response is not valid json",e),S.warn("reponse text:",r),k(!1,"invalid json in response")}S.chatter("response parsed"),t.data=n,t.data&&t.data.success?(S.chatter("explicit success===true from backend"),k(!0)):t.data&&t.data.reload_required?(S.chatter("explicit reload_required from backend"),k(!1,"reload_required from backend")):t.data&&!1===t.data.success?(S.chatter("explicit success===false from backend (status="+t.status+")"),403===t.status&&e.$authUser&&e.$authUser.isLoaded&&!e.$authUser.pid&&!o.noBounce?(e.$router&&e.$router.bounce(),k(!1,t.status+" success===false on "+O+l+" (BOUNCED)")):(403===t.status&&e.$authUser&&e.$authUser.isLoaded&&e.$authUser.pid&&"me"!==l&&(S.warn("403 v2api response auto-triggering auth user refetch"),e.$authUser.refetch(),e.$router&&e.$router.bounce()),t.data.error_code?k(!1,t.status+" success===false on "+O+l+" error_code="+t.data.error_code):k(!1,t.status+" success===false on "+O+l))):(S.warn("json in response does not conform to expected structure",n),k(!1,"json in response does not conform to expected structure on "+O+l))},function(e){S.warn("resp.text() rejected promise with error:",e),k(!1,"catchall: fetch error")}))}).catch(function(e){S.warn("fetch error on "+l,e),k(!1,"catchall: fetch error")}),setTimeout(function(){a||(S.warn("timed out"),u=!0,k(!1,"timed out"))},o.timeout||1e3*P)});return e.$asyncTask?e.$asyncTask.track(s,"commonCall "+i+" "+l):s},e.fetch=g.default,window.sessionStorage&&(e.clientContextId=window.sessionStorage.getItem("clientContextId"),e.clientRequestCounter=window.sessionStorage.getItem("clientRequestCounter"),e.clientContextId||(e.clientContextId=(0,y.default)(),window.sessionStorage.setItem("clientContextId",e.clientContextId)),e.clientRequestCounter||(e.clientRequestCounter=0,window.sessionStorage.setItem("clientRequestCounter",e.clientRequestCounter))),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,E.default),h(t,[{key:"setMockFetch",value:function(e){this.fetch=e}}]),t}(),a=C(n.prototype,"showErrorModalUseCase",[b.observable],{enumerable:!0,initializer:function(){return!1}}),o=C(n.prototype,"errorDetails",[b.observable],{enumerable:!0,initializer:function(){return!1}}),i=C(n.prototype,"maintenanceMessage",[b.observable],{enumerable:!0,initializer:function(){return!1}}),l=C(n.prototype,"showReloadRequiredErrorModal",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.showErrorModalUseCase="reload_required",e.errorDetails=!1,e.maintenanceMessage=!1}}}),s=C(n.prototype,"showAuthCookieGoneErrorModal",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(){"authCookieGone"!==!e.showErrorModalUseCase&&S.warn("showAuthCookieGoneErrorModal"),e.showErrorModalUseCase="authCookieGone",e.errorDetails=!1,e.maintenanceMessage=!1}}}),u=C(n.prototype,"showAuthCookieChangedErrorModal",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(){"authCookieChanged"!==!e.showErrorModalUseCase&&S.warn("showAuthCookieChangedErrorModal"),e.showErrorModalUseCase="authCookieChanged",e.errorDetails=!1,e.maintenanceMessage=!1}}}),c=C(n.prototype,"clearAuthCookieErrorModal",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(){"authCookieChanged"===e.showErrorModalUseCase&&e.clearErrorModal(),"authCookieGone"===e.showErrorModalUseCase&&e.clearErrorModal()}}}),d=C(n.prototype,"showWebPushConnectErrorModal",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.showErrorModalUseCase="webPushConnectError",e.errorDetails=!1,e.maintenanceMessage=!1}}}),f=C(n.prototype,"clearErrorModal",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.showErrorModalUseCase=!1,e.errorDetails=!1,e.maintenanceMessage=!1}}}),n);t.default=T},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s=h(r(95)),u=h(r(31)),c=h(r(25)),d=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),f=r(10),p=h(r(19)),m=h(r(23));function h(e){return e&&e.__esModule?e:{default:e}}function y(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function g(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function b(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var v=(0,p.default)("blurbs"),w=(n=(0,f.action)("blurbs_set"),b((a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,d=Array(a),p=0;p<a;p++)d[p]=arguments[p];return r=n=g(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(d))),n.needed={},n.loading={},n.loadedBlurbs=f.observable.map(),n.asyncTaskPromise=!1,n.asyncTaskPromiseResolve=!1,n.lruGamePids=[],y(n,"thaw",o,n),y(n,"set",i,n),y(n,"resolveAsyncIfNeeded",l,n),n.get=function(e,t){return n.lruGamePids[0]!==e&&((0,s.default)(n.lruGamePids,e),n.lruGamePids.unshift(e)),n.loadedBlurbs.get(e)&&n.loadedBlurbs.get(e).get(t)?n.loadedBlurbs.get(e).get(t):(n.loading[e]&&n.loading[e][t]||(n.needed[e]=n.needed[e]||[],n.needed[e].push(t)),n.asyncTaskPromise||(n.asyncTaskPromise=new Promise(function(e){n.asyncTaskPromiseResolve=e}),n.$asyncTask.track(n.asyncTaskPromise,"blurbs queue")),setTimeout(n.loadNeeded),"...")},n.smart=function(e,t){return t.bid?n.get(e,t.bid):t.content?t.content:"...."},n.lruPurge=function(){if(n.lruGamePids.length>5){var e=n.lruGamePids.slice(5);v.log("purging blurb store (LRU) for gamePids:",e),e.forEach(function(e){n.loading[e]||n.loadedBlurbs.delete(e)}),n.lruGamePids=n.lruGamePids.slice(0,5)}},n.loadNeeded=function(){n.$authUser.isLoaded&&((0,u.default)(n.needed).length&&((0,c.default)(n.needed,function(e,t){n.loading[t]=n.loading[t]||{},e.forEach(function(e){n.loading[t][e]=!0})}),v.log("loading",n.needed),n.$v2Api.commonCall("post","/get_blurbs",{query:JSON.stringify(n.needed)}).then(function(e){(0,c.default)(e.data.blurbs,function(e,t){(0,c.default)(e,function(e,r){n.set(t,parseInt(r,10),e)})}),n.resolveAsyncIfNeeded()}).catch(function(){}),n.needed={}))},g(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,m.default),d(t,[{key:"boot",value:function(){var e=this;this.disposers.push((0,f.reaction)(function(){return e.$authUser.isLoaded},function(t){t&&e.loadNeeded()},{fireImmediately:!0,name:"blurbs_have_auth_user_load_needed"})),this.$v2Api.registerResponseHandler((0,f.action)("blurbs_response_handler_for_new_blurbs",function(t){t&&t.data&&t.data.new_blurbs&&(v.log("importing new_blurbs from generic response",t.data.new_blurbs),t.data.new_blurbs.forEach(function(t){e.set(t.gamePid,parseInt(t.bid,10),t.content)}),e.resolveAsyncIfNeeded())})),this.disposers.push(this.$gameplay.gameDataPurgeAutorun("blurbs",this.lruPurge))}},{key:"frozen",get:function(){return{loadedBlurbs:(0,f.toJS)(this.loadedBlurbs)}}}]),t}()).prototype,"frozen",[f.computed],Object.getOwnPropertyDescriptor(a.prototype,"frozen"),a.prototype),o=b(a.prototype,"thaw",[f.action],{enumerable:!0,initializer:function(){var e=this;return function(t){(0,c.default)(t.loadedBlurbs,function(t,r){e.loadedBlurbs.set(r,f.observable.map(t,{deep:!1}))})}}}),i=b(a.prototype,"set",[n],{enumerable:!0,initializer:function(){var e=this;return function(t,r,n){e.loadedBlurbs.get(t)||e.loadedBlurbs.set(t,f.observable.map({},{deep:!1})),e.loadedBlurbs.get(t).set(r,n),e.loading[t]&&(delete e.loading[t][r],0===(0,u.default)(e.loading[t]).length&&delete e.loading[t])}}}),l=b(a.prototype,"resolveAsyncIfNeeded",[f.action],{enumerable:!0,initializer:function(){var e=this;return function(){0===(0,u.default)(e.needed).length&&0===(0,u.default)(e.loading).length&&e.asyncTaskPromiseResolve&&(e.asyncTaskPromiseResolve(),e.asyncTaskPromise=!1,e.asyncTaskPromiseResolve=!1)}}}),a);t.default=w},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l=f(r(37)),s=f(r(31)),u=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),c=r(10),d=f(r(23));function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function m(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var h=function(e){return(""+e).charAt(0).toUpperCase()+(""+e).slice(1)},y=(n=(0,c.action)("userInfo_set"),a=function(e){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.unfetched={},e.fetchingOrFetched={},e.asyncTaskPromise=!1,e.asyncTaskPromiseResolve=!1,e.get=function(t){return e.miniUsers.get(t)},p(e,"set",o,e),e.readThrough=function(t){return e.get(t)?e.get(t):(e.fetchingOrFetched[t]||(e.unfetched[t]=!0),e.asyncTaskPromise||(e.asyncTaskPromise=new Promise(function(t){e.asyncTaskPromiseResolve=t}),e.$asyncTask.track(e.asyncTaskPromise,"mini user queue")),setTimeout(e.loadNeeded),{})},e.readThroughPromise=function(t){return e.get(t)?Promise.resolve(e.get(t)):(e.fetchingOrFetched[t]||(e.unfetched[t]=!0),e.asyncTaskPromise||(e.asyncTaskPromise=new Promise(function(t){e.asyncTaskPromiseResolve=t}),e.$asyncTask.track(e.asyncTaskPromise,"mini user queue")),setTimeout(e.loadNeeded),e.asyncTaskPromise.then(function(){return e.get(t)}))},e.loadNeeded=function(){if(e.$authUser.isLoaded){var t=(0,s.default)(e.unfetched);t.length&&(t.forEach(function(t){e.fetchingOrFetched[t]=!0}),e.unfetched={},e.$v2Api.commonCall("get","/mini_users",{user_pids_csv:t.join(",")}).then(function(t){(0,l.default)(t.data.mini_users).forEach(function(t){return e.set(t)}),0===(0,s.default)(e.needed).length&&e.asyncTaskPromiseResolve&&(e.asyncTaskPromiseResolve(),e.asyncTaskPromise=!1,e.asyncTaskPromiseResolve=!1)}).catch(function(){}))}},e.profilePath=function(t){var r=e.readThrough(t);return r.no_profile?"":r.slug?"/user/"+r.slug:""},e.displayName=function(t,r){var n=e.readThrough(t),a=n.name||n.classroom_nickname||"...";return r&&r.cap&&(a=h(a)),r&&r.youParens&&e.$authUser.pid===t?a+" (you)":r&&r.you&&e.$authUser.pid===t?r.cap?"You":"you":a},e.displayNamePromise=function(t,r){return e.readThroughPromise(t).then(function(){return e.displayName(t,r)})},p(e,"thaw",i,e),e.miniUsers=c.observable.map(),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,d.default),u(t,[{key:"boot",value:function(){var e=this;this.disposers.push((0,c.reaction)(function(){return e.$authUser.isLoaded},function(t){t&&e.loadNeeded()},{fireImmediately:!0,name:"userInfo_have_auth_user_load_needed"}))}},{key:"frozen",get:function(){return{miniUsers:(0,c.toJS)(this.miniUsers)}}}]),t}(),o=m(a.prototype,"set",[n],{enumerable:!0,initializer:function(){var e=this;return function(t){delete e.unfetched[t.pid],e.fetchingOrFetched[t.pid]=!0,e.miniUsers.set(t.pid,t)}}}),m(a.prototype,"frozen",[c.computed],Object.getOwnPropertyDescriptor(a.prototype,"frozen"),a.prototype),i=m(a.prototype,"thaw",[c.action],{enumerable:!0,initializer:function(){var e=this;
2return function(t){e.miniUsers=c.observable.map(t.miniUsers)}}}),a);t.default=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p=w(r(25)),m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),g=r(10),b=w(r(19)),v=w(r(23));function w(e){return e&&e.__esModule?e:{default:e}}function E(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function k(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var C=(0,b.default)("tracking"),S=(n=function(e){function t(){for(var e,r,n,m=arguments.length,y=Array(m),g=0;g<m;g++)y[g]=arguments[g];return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=n=k(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(y))),E(n,"hasGA",a,n),E(n,"hasAmplitude",o,n),E(n,"page",i,n),n.queue=[],n.warnedOnce={},n.bootGA=function(){!function(e,t,r,n,a,o,i){e.GoogleAnalyticsObject=a,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,o=t.createElement(r),i=t.getElementsByTagName(r)[0],o.async=1,o.src="//www.google-analytics.com/analytics.js",i.parentNode.insertBefore(o,i)}(window,document,"script",0,"ga"),window.globalConfigFromServer.GA_TRACKING_ID&&window.globalConfigFromServer.GA_TRACKING_DOMAIN&&(n.hasGA=!0,window.ga("create",window.globalConfigFromServer.GA_TRACKING_ID,window.globalConfigFromServer.GA_TRACKING_DOMAIN))},n.bootAmplitude=function(){!function(e,t){var r=e.amplitude||{_q:[],_iq:{}},n=t.createElement("script");n.type="text/javascript",n.async=!0,n.src="/static/amplitude-4.5.2-min.js",n.onload=function(){e.amplitude.runQueuedFunctions?e.amplitude.runQueuedFunctions():console.log("[Amplitude] Error: could not load SDK")};var a=t.getElementsByTagName("script")[0];function o(e,t){e.prototype[t]=function(){return this._q.push([t].concat(Array.prototype.slice.call(arguments,0))),this}}a.parentNode.insertBefore(n,a);for(var i=function(){return this._q=[],this},l=["add","append","clearAll","prepend","set","setOnce","unset"],s=0;s<l.length;s++)o(i,l[s]);r.Identify=i;for(var u=function(){return this._q=[],this},c=["setProductId","setQuantity","setPrice","setRevenueType","setEventProperties"],d=0;d<c.length;d++)o(u,c[d]);r.Revenue=u;var f=["init","logEvent","logRevenue","setUserId","setUserProperties","setOptOut","setVersionName","setDomain","setDeviceId","setGlobalUserProperties","identify","clearUserProperties","setGroup","logRevenueV2","regenerateDeviceId","logEventWithTimestamp","logEventWithGroups","setSessionId","resetSessionId"];function p(e){function t(t){e[t]=function(){e._q.push([t].concat(Array.prototype.slice.call(arguments,0)))}}for(var r=0;r<f.length;r++)t(f[r])}p(r),r.getInstance=function(e){return e=(e&&0!==e.length?e:"$default_instance").toLowerCase(),r._iq.hasOwnProperty(e)||(r._iq[e]={_q:[]},p(r._iq[e])),r._iq[e]},e.amplitude=r}(window,document),window.globalConfigFromServer.AMPLITUDE_API_KEY&&window&&window.location&&window.location.hostname&&(n.hasAmplitude=!0,amplitude.getInstance().init(window.globalConfigFromServer.AMPLITUDE_API_KEY,null,{apiEndpoint:window.location.hostname+"/nzcyvghqr"}))},E(n,"boot",l,n),n.flushQueue=function(){return!!n.ready&&(n.queue.forEach(function(e){C.chatter("unbuffering queued event",e),n[e[0]].apply(n,e[1])}),n.queue=[],!0)},n.hasSentry=function(){return void 0!==("undefined"==typeof window?"undefined":h(window))&&void 0!==window.Sentry},E(n,"setUserTrackingData",s,n),E(n,"setPage",u,n),E(n,"pageview",c,n),E(n,"event",d,n),n.trackErrorOnce=function(e,t){if(n.$authUser.svea)return!1;n.warnedOnce[e]||(n.warnedOnce[e]=!0,C.warn("trackErrorOnce",e,t),n.hasSentry()&&window.Sentry.withScope(function(r){t&&(0,p.default)(t,function(e,t){return r.setExtra(t,JSON.stringify(e))}),window.Sentry.captureMessage(e)}))},n.trackError=function(e,t,r){if(n.$authUser.svea)return!1;C.warn("tracking error",e,t),n.hasSentry()&&("string"==typeof e?window.Sentry.withScope(function(n){t&&(0,p.default)(t,function(e,t){return n.setExtra(t,JSON.stringify(e))}),r&&n.setFingerprint([r,"wut","{{ default }}","{{default}}","default"]),window.Sentry.captureMessage(e)}):e instanceof Error?window.Sentry.withScope(function(n){t&&(0,p.default)(t,function(e,t){return n.setExtra(t,JSON.stringify(e))}),r&&n.setFingerprint([r,"wut","{{ default }}","{{default}}","default"]),window.Sentry.captureException(e)}):window.Sentry.withScope(function(r){t&&(0,p.default)(t,function(e,t){return r.setExtra(t,JSON.stringify(e))}),r.setExtra("errorArgToJson",JSON.stringify(e)),window.Sentry.captureMessage("unrecognized error object type in trackError")}))},n.captureBreadcrumb=function(e){var t=e.message,r=e.category,a=e.level,o=e.data;n.hasSentry()&&window.Sentry.addBreadcrumb({message:t,category:r,level:a,data:o})},n.setExtraContext=function(e){n.hasSentry()&&(0,p.default)(e,function(e,t){window.Sentry.configureScope(function(r){return r.setExtra(t,JSON.stringify(e))})})},E(n,"trackOutboundPageAndNavigate",f,n),k(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,v.default),y(t,[{key:"noTrack",get:function(){return!!this.$authUser&&!!this.$authUser.no_track}},{key:"logTag",get:function(){return this.ready?this.noTrack?"noTrack":"ok":"queued"}},{key:"ready",get:function(){return this.$authUser.isLoaded}}]),t}(),a=_(n.prototype,"hasGA",[g.observable],{enumerable:!0,initializer:function(){return!1}}),o=_(n.prototype,"hasAmplitude",[g.observable],{enumerable:!0,initializer:function(){return!1}}),i=_(n.prototype,"page",[g.observable],{enumerable:!0,initializer:null}),l=_(n.prototype,"boot",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(t){"clientInit"!==t&&"ssrClientResume"!==t||(e.bootAmplitude(),e.bootGA
2(),e.$authUser.runWhenLoaded(function(){C.chatter("set userId",e.$authUser.pid,e.logTag),e.setUserTrackingData(),e.flushQueue()}))}}}),_(n.prototype,"noTrack",[g.computed],Object.getOwnPropertyDescriptor(n.prototype,"noTrack"),n.prototype),_(n.prototype,"logTag",[g.computed],Object.getOwnPropertyDescriptor(n.prototype,"logTag"),n.prototype),_(n.prototype,"ready",[g.computed],Object.getOwnPropertyDescriptor(n.prototype,"ready"),n.prototype),s=_(n.prototype,"setUserTrackingData",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=e.$authUser;if(!t.pid)return e.hasGA&&(window.ga("set","userId",void 0),window.ga("set","USER_ID",void 0),window.ga("set","dimension1",void 0),window.ga("set","dimension2",void 0),window.ga("set","dimension3",void 0)),void(e.hasAmplitude&&litude.getInstance().setUserId(null));if(!e.noTrack&&(e.hasGA&&(window.ga("set","userId",t.pid),window.ga("set","USER_ID",t.pid),window.ga("set","dimension1",t.subscription_status),window.ga("set","dimension2",t.is_teacher?"teacher":"student"),window.ga("set","dimension3",t.signup_form_role)),e.hasAmplitude)){window.amplitude.getInstance().setUserId(t.pid);var r=new Date(1e3*t.created_at_unix),n=function(e){var t=e+"";return t.length<2?"0"+t:t},a=r.getFullYear()+"-"+n(r.getMonth()+1)+"-"+n(r.getDate()),o=(new window.amplitude.Identify).set("is_teacher",!!t.is_teacher).set("is_student",!!t.is_student).set("subscription_status",t.subscription_status).set("read_only",!!t.read_only);t.is_teacher&&(o=o.set("is_paying",!!t.has_active_paid_subscription).set("in_free_trial",!!t.in_free_trial).set("signup_form_role",t.signup_form_role).set("recurly_plan_code",t.recurly_plan_code).set("trial_ending_soon",!!t.trial_ending_soon).set("free_trial_expired",!!t.free_trial_expired)),t.is_student&&(o=o.set("is_paying",!!t.teacher_has_aps).set("is_under_13",!!t.is_under_13).set("teacher_user_pid",t.teacher_user_pid),t.teacher_sfr&&(o=o.set("teacher_signup_role",t.teacher_sfr))),o=o.setOnce("sign_up_date",a),window.amplitude.getInstance().identify(o)}e.hasSentry()&&t.pid&&(window.Sentry.configureScope(function(e){return e.setUser({id:t.pid})}),t.moxi&&e.setExtraContext({moxi:!0}),t.svea&&e.setExtraContext({svea:!0}))}}}),u=_(n.prototype,"setPage",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.page=t,C.chatter("set page",t,e.logTag),e.ready?(e.noTrack||e.hasGA&&(window.ga("set","location",e.$location.href),window.ga("set","page",t)),!0):(e.queue.push(["setPage",[t]]),!0)}}}),c=_(n.prototype,"pageview",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(C.chatter("pageview",e.page,e.logTag),t=m({},t),!e.ready)return e.queue.push(["pageview",[t]]),!0;if(!e.noTrack&&e.page){if(e.$v2Api.commonCall("post","/ornpba",{page:e.page},{noErrorModal:!0,noBounce:!0}).catch(function(){}),e.hasGA){var r={};t.hitCallback&&(r.hitCallback=t.hitCallback),window.ga("send","pageview",r)}e.hasAmplitude&&e.page&&window.amplitude.getInstance().logEvent("pv_"+e.page)}return!0}}}),d=_(n.prototype,"event",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r,n){C.chatter("event",t,r,e.logTag);var a=m({},n);return e.ready?(e.noTrack||(e.hasGA&&window.ga("send","event",t,r),e.hasAmplitude&&window.amplitude.getInstance().logEvent(r,a),e.$v2Api.commonCall("post","/ornpba",{event_category:t,event_name:r,params_json:JSON.stringify(a)},{noErrorModal:!0,noBounce:!0}).catch(function(){})),!0):(e.queue.push(["event",[t,r]]),!0)}}}),f=_(n.prototype,"trackOutboundPageAndNavigate",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r,n){C.chatter("trackOutboundPageAndNavigate",t,r);var a=m({},n);if(e.page=t,!e.ready||e.noTrack)return e.$location.goTo(r),!0;var o=!1,i=!1,l=!1,s=!1,u=function(){o||(o=!0,e.$location.goTo(r))};return e.$v2Api.commonCall("post","/ornpba",{page:e.page},{noErrorModal:!0,noBounce:!0}).then(function(){(s=!0)&&i&&l&&u()},function(){(s=!0)&&i&&l&&u()}),e.hasGA?(window.ga("set","page",t),window.ga("send","pageview",{hitCallback:function(){i=!0,s&&i&&u()}})):i=!0,setTimeout(u,2e3),e.hasAmplitude?window.amplitude.getInstance().logEvent("pv_"+t,a,function(){l=!0,s&&i&&l&&u()}):l=!0,setTimeout(u,2e3),!0}}}),n);t.default=S},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=c(r(25)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=r(10),u=c(r(23));function c(e){return e&&e.__esModule?e:{default:e}}function d(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function f(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function p(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var m=(n=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var i=arguments.length,l=Array(i),u=0;u<i;u++)l[u]=arguments[u];return r=n=f(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),n.memory=s.observable.map(),d(n,"thawedFromLS",a,n),d(n,"thaw",o,n),n.thawFromStorage=function(){if(!n.thawedFromLS&&(n.thawedFromLS=!0,window.sessionStorage.getItem(n.storageKey))){var e=JSON.parse(window.sessionStorage.getItem(n.storageKey));n.thaw(e)}},n.freezeToStorage=function(){window.sessionStorage.setItem(n.storageKey,JSON.stringify(n.frozen))},n.boot=function(){n.disposers.push((0,s.autorun)(function(){n.$authUser.isLoaded&&n.thawFromStorage()}))},n.selectedTab=function(e,t){return n.memory.get(e)||t},n.setSelectedTabFn=function(e){return(0,s.action)(function(t){return n.memory.set(e,t),n.freezeToStorage(),t})},f(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,u.default),l(t,[{key:"frozen",get:function(){return{memory:(0,s.toJS)(this.memory)}}},{key:"storageKey",get:function(){return"tabMemory_"+this.$authUser.pid}}]),t}(),a=p(n.prototype,"thawedFromLS",[s.observable],{enumerable:!0,initializer:function(){return!1}}),p(n.prototype,"frozen",[s.computed],Object.getOwnPropertyDescriptor(n.prototype,"frozen"),n.prototype),o=p(n.prototype,"thaw",[s.action],{enumerable:!0,initializer:function(){var e=this;return function(t){(0,i.default)(t.memory,function(t,r){e.memory.set(r,t)})}}}),p(n.prototype,"storageKey",[s.computed],Object.getOwnPropertyDescriptor(n.prototype,"storageKey"),n.prototype),n);t.default=m},,,function(e,t){},,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o=m(r(96)),i=m(r(95)),l=m(r(148)),s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),c=m(r(517)),d=r(10),f=m(r(19)),p=m(r(23));function m(e){return e&&e.__esModule?e:{default:e}}function h(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function y(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var g=(0,f.default)("socket"),b=function(){function e(t,r,n){var a=this;y(this,e),this.channel="",this.joined=!1,this.connected=!1,this.counter=-1,this.handlers=[],this.missedEventHandlers=[],this.tokenReloadNeededHandlers=[],this.inTokenReloadCycle=!1,this.onConnect=function(){a.connected=!0,a.joined&&(g.chatter("(re)joining channel onconnect",a.channel),a.socket.emit("sockmsg_joinChannel",{channel:a.channel,token:a.token}
2))},this.onChannelMessage=function(e){e&&e.channel&&e.channel===a.channel&&(g.chatter("onChannelMessage",a.channel,a.counter,e),e.counter===a.counter+1||-1===a.counter||-1===e.counter?(a.counter=e.counter,a.joined&&a.handlers.forEach(function(t){return t.call(null,a.channel,e.name,e.payload)})):(g.info("missed event detected (unexpected counter)",a.channel,a.counter,e),a.counter=e.counter,a.joined&&a.missedEventHandlers.forEach(function(t){return t.call(null,a.channel,e.name,e.payload)})))},this.onCounter=function(e){-1===a.counter&&(a.counter=e),-1===e&&(a.counter=e),a.counter!==e&&a.joined&&(g.info("missed event detected (onCounter got mismatch)",a.counter,e),a.missedEventHandlers.forEach(function(e){return e.call(null,a.channel,void 0,void 0)}))},this.onDisconnect=function(e){a.connected=!1,a.inTokenReloadCycle=!1,a.joined&&g.warn("channel disconnect",a.channel,e)},this.onReconnect=function(){a.connected=!0,a.inTokenReloadCycle=!1,a.joined&&(g.info("channel reconnect rejoining",a.channel),a.socket.emit("sockmsg_joinChannel",{channel:a.channel,token:a.token}))},this.onTokenOk=function(e){e.token===a.token&&(g.chatter("onTokenOk",e),a.inTokenReloadCycle=!1,window.socketTokenTestFn&&window.socketTokenTestFn("gotTokenOk",e))},this.onInvalidToken=function(e){e&&e.token===a.token&&(g.chatter("channel invalidToken",a.channel,e),a.joined=!1,a.inTokenReloadCycle||(a.inTokenReloadCycle=!0,a.tokenReloadNeededHandlers.forEach(function(t){return t.call(null,a.channel,e)})))},this.socket=t,this.channel=r,this.token=n}return u(e,[{key:"join",value:function(){g.chatter("joining channel",this.channel),this.joined=!0,this.socket.connected&&(this.socket.emit("sockmsg_joinChannel",{channel:this.channel,token:this.token}),this.connected=!0)}},{key:"leaveAndRmListeners",value:function(){this.joined&&(g.chatter("leaving channel",this.channel),this.joined=!1,this.socket.emit("sockmsg_leaveChannel",{channel:this.channel})),this.handlers=[],this.missedEventHandlers=[],this.tokenReloadNeededHandlers=[]}},{key:"addListener",value:function(e){this.handlers.push(e),this.handlers=(0,l.default)(this.handlers)}},{key:"addMissedEventListener",value:function(e){this.missedEventHandlers.push(e),this.missedEventHandlers=(0,l.default)(this.missedEventHandlers)}},{key:"addTokenReloadNeededListener",value:function(e){this.tokenReloadNeededHandlers.push(e),this.tokenReloadNeededHandlers=(0,l.default)(this.tokenReloadNeededHandlers)}},{key:"removeListener",value:function(e){(0,i.default)(this.handlers,e),(0,i.default)(this.missedHandlers,e),(0,i.default)(this.tokenReloadNeededHandlers,e)}}]),e}(),v=(n=function(e){function t(){var e,r,n;y(this,t);for(var o=arguments.length,i=Array(o),l=0;l<o;l++)i[l]=arguments[l];return r=n=h(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),function(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}(n,"ready",a,n),n.socket=!1,n.connected=!1,n.channels={},n.getChannel=function(e,t){if(!n.ready)throw new Error("must check for $socket.ready");return n.channels[e]=n.channels[e]||new b(n.socket,e,t),n.channels[e].token=t,n.channels[e]},n.sendPerformanceEvents=function(e){if(n.socket)return g.chatter("sendPerformanceEvents",e),n.socket.emit("sockmsg_performanceEvents",e),!0},n.sendPlaying=function(e){n.socket&&n.socket.connected&&n.socket.emit("sockmsg_playing",e)},n.sendSetDraftProp=function(e,t,r){n.socket&&n.socket.emit("sockmsg_setDraftProp",{gamePid:e,prop:t,value:r})},n.sendSetIsIdle=function(e){var t=e.isIdle,r=e.wasIdleFor;n.socket&&n.socket.emit("sockmsg_setIsIdle",{isIdle:t,wasIdleFor:r})},n.handleForceReload=function(e){g.warn("forceReload on socket",e),n.$tracking.trackError("forceReload on socket",{userPid:pid,userToken:n.$authUser.channel_token,gameToken:n.$gameplay.gsmContainer.gameSocketToken,cv:n.$v2Api.clientVersion,codeRevisionSha:window.globalConfigFromServer&&window.globalConfigFromServer.SCOUT_REVISION_SHA,messageData:e}),e&&e.home?n.$location.goHome({reload:!0}):n.$location.reload()},n.onReconnect=function(){g.chatter("reconnect"),n.socket&&n.socket.emit("sockmsg_getCounters",{})},n.onCounter=function(e){var t=e.channel,r=e.counter;g.chatter("onCounter",t,r),n.channels[t]&&n.channels[t].onCounter(r)},n.autoJoinLeave=function(e){var t=e.channelAndTokenFn,r=(e.tokenFn,e.onMessage),a=e.onMissedEvent,o=e.onTokenReloadNeeded,i=e.onJoin,l=e.onLeave,s=!1;n.disposers.push((0,d.reaction)(function(){return!!n.ready&&t()},function(e){if(e){var t=e.channel,u=e.token;window.socketTokenTestCorruption&&window.socketTokenTestCorruption(u)&&(u+="corrupt"),window.socketTokenTestFn&&window.socketTokenTestFn("willSendToken",u);var c=n.getChannel(t,u);if(s=c,c.joined)return;c.join(),r&&c.addListener(r),a&&c.addMissedEventListener(a),o&&c.addTokenReloadNeededListener(o),i&&i(t)}else s&&(s.joined&&(s.leaveAndRmListeners(),l&&l(s.channel)),s=!1)},{fireImmediately:!0}))},h(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,p.default),u(t,[{key:"boot",value:function(e){var t=this;"ssrServerInit"!==e&&this.disposers.push((0,d.reaction)(function(){return t.$authUser.pid},function(e){if(e){if(t.$authUser.moxi)return;g.chatter("connecting to socket"),t.socket&&(t.socket.close(),t.socket=void 0);var r={userPid:e,cv:t.$v2Api.clientVersion,codeRevisionSha:"object"===("undefined"==typeof window?"undefined":s(window))&&window.globalConfigFromServer&&window.globalConfigFromServer.
2SCOUT_REVISION_SHA};t.socket=(0,c.default)({query:r}),t.socket.on("sockmsg_codeRevisionSha",t.$location.ingestCodeRevisionSha),t.socket.on("sockmsg_forceReload",t.handleForceReload),t.socket.on("reconnect",t.onReconnect),t.socket.on("sockmsg_counter",t.onCounter),t.socket.on("connect",(0,d.action)(function(){t.ready=!0})),t.socket.on("connect",function(){(0,o.default)(t.channels,function(e){return e.onConnect})}),t.socket.on("disconnect",function(e){g.warn("disconnect"),(0,o.default)(t.channels,function(t){return t.onDisconnect(e)})}),t.socket.on("reconnect",function(e){(0,o.default)(t.channels,function(t){return t.onReconnect(e)})}),t.socket.on("sockmsg_channelMessage",function(e){(0,o.default)(t.channels,function(t){return t.onChannelMessage(e)})}),t.socket.on("sockmsg_tokenOk",function(e){(0,o.default)(t.channels,function(t){return t.onTokenOk(e)})}),t.socket.on("sockmsg_invalidToken",function(e){window.socketTokenTestFn&&window.socketTokenTestFn("gotInvalidToken",e),(0,o.default)(t.channels,function(t){return t.onInvalidToken(e)})})}else t.cleanupSocket(),t.ready=!1},{fireImmediately:!0,name:"socket-setup"}))}},{key:"cleanupSocket",value:function(){this.socket&&(g.chatter("cleaning up socket"),this.socket.close(),this.socket=void 0)}},{key:"cleanup",value:function(){(function e(t,r,n){null===t&&(t=Function.prototype);var a=Object.getOwnPropertyDescriptor(t,r);if(void 0===a){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,r,n)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(n):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"cleanup",this).call(this),g.chatter("cleanup"),this.cleanupSocket()}}]),t}(),a=function(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}(n.prototype,"ready",[d.observable],{enumerable:!0,initializer:function(){return!1}}),n);t.default=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w=S(r(25)),E=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},k=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),_=r(10),C=S(r(23));function S(e){return e&&e.__esModule?e:{default:e}}function P(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function O(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function T(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}(0,S(r(19)).default)("sdb");var j=(n=_.observable.ref,a=_.observable.ref,o=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),w=0;w<a;w++)o[w]=arguments[w];return r=n=O(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),P(n,"loading",i,n),P(n,"ready",l,n),P(n,"sdb",s,n),P(n,"availableDecks",u,n),P(n,"availableDecksLoading",c,n),P(n,"spinning",d,n),P(n,"thaw",f,n),P(n,"testHideAll",p,n),P(n,"testUnhideAll",m,n),n.boot=function(){n.disposers.push((0,_.autorun)(function(){n.$authUser.isLoaded&&n.$authUser.pid&&n.$authUser.is_student&&!n.ready&&!n.loading&&n.fetchFull()}))},P(n,"fetchFull",h,n),P(n,"onRtMessage",y,n),P(n,"ingestGame",g,n),P(n,"removeGame",b,n),P(n,"fetchAvailableDecks",v,n),O(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,C.default),k(t,[{key:"frozen",get:function(){return{sdb:(0,_.toJS)(this.sdb),loading:this.loading,ready:this.ready,spinning:this.spinning}}},{key:"yourTurnForGamePids",get:function(){var e=this,t={};return this.$authUser.pid&&(0,w.default)(this.sdb.games,function(r){r.current_turn_user_pid===e.$authUser.pid&&(t[r.pid]="yt_move"),r.actionable_invitee_user_pids&&r.actionable_invitee_user_pids.indexOf(e.$authUser.pid)>=0&&(t[r.pid]="yt_chargen"),"phaseGameNew"!==r.phase&&"phaseGameAlmostReady"!==r.phase||r.organizer_user_pid!==e.$authUser.pid||(t[r.pid]="yt_organize")}),t}}
2]),t}(),i=T(o.prototype,"loading",[_.observable],{enumerable:!0,initializer:function(){return!1}}),l=T(o.prototype,"ready",[_.observable],{enumerable:!0,initializer:function(){return!1}}),s=T(o.prototype,"sdb",[n],{enumerable:!0,initializer:function(){return{}}}),u=T(o.prototype,"availableDecks",[a],{enumerable:!0,initializer:function(){return[]}}),c=T(o.prototype,"availableDecksLoading",[_.observable],{enumerable:!0,initializer:function(){return!1}}),d=T(o.prototype,"spinning",[_.observable],{enumerable:!0,initializer:function(){return!1}}),T(o.prototype,"frozen",[_.computed],Object.getOwnPropertyDescriptor(o.prototype,"frozen"),o.prototype),f=T(o.prototype,"thaw",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.sdb=t.sdb,e.ready=t.ready,e.loading=t.loading,e.spinning=t.spinning}}}),p=T(o.prototype,"testHideAll",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(){e._hide=e.sdb,e.sdb={games:{}}}}}),m=T(o.prototype,"testUnhideAll",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.sdb=e._hide,delete e._hide}}}),h=T(o.prototype,"fetchFull",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(!e.$authUser.isLoaded||!e.$authUser.pid||!e.$authUser.is_student)return Promise.resolve();e.loading=!0,e.$v2Api.commonCall("get","/sdb/full").then((0,_.action)(function(t){t&&t.data&&t.data.success&&(e.sdb=t.data.sdb,e.loading=!1,e.ready=!0)})).catch(function(){})}}}),y=T(o.prototype,"onRtMessage",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r){e.ready&&"RT_GAME_SUMMARY_CHANGE"===t&&(r.deleted?e.removeGame(r.vob.pid):e.ingestGame(r.vob))}}}),g=T(o.prototype,"ingestGame",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=E({},e.sdb),n=t.pid;r.games[n]=t,e.sdb=r}}}),b=T(o.prototype,"removeGame",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=E({},e.sdb);delete r.games[t],e.sdb=r}}}),v=T(o.prototype,"fetchAvailableDecks",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.$authUser.isLoaded&&e.$authUser.is_student&&(e.availableDecksLoading||(e.availableDecksLoading=!0,e.$v2Api.commonCall("get","/sdb/available_decks").then((0,_.action)(function(t){e.availableDecks=t.data.decks,e.availableDecksLoading=!1})).catch(function(){})))}}}),T(o.prototype,"yourTurnForGamePids",[_.computed],Object.getOwnPropertyDescriptor(o.prototype,"yourTurnForGamePids"),o.prototype),o);t.default=j},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),w=function e(t,r,n){null===t&&(t=Function.prototype);var a=Object.getOwnPropertyDescriptor(t,r);if(void 0===a){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,r,n)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(n):void 0},E=r(10),k=function(e){return e&&e.__esModule?e:{default:e}}(r(23));function _(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function C(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var S=(n=function(e){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return _(e,"spinning",a,e),_(e,"fields",o,e),_(e,"unparseableOrTimeout",i,e),_(e,"strictValidation",l,e),_(e,"strictNameValidation",s,e),_(e,"lastInvalidEmailValue",u,e),_(e,"lastInvalidPasswordValue",c,e),_(e,"lastInvalidPasswordError",d,e),_(e,"nameAvailability",f,e),e.timers=[],e.counter=0,e.nameCheckWaitMs=500,e.nameCheckMinLatency=0,e.submitMinLatency=400,_(e,"reset",p,e),e.boot=function(t){"ssrServerInit"!==t&&e.disposers.push((0,E.reaction)(function(){return e.$router.route},function(){e.reset()},{name:"signup_route_change_reset"}))},e.cleanup=function(){w(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"cleanup",e).call(e),e.timers.map(function(e){return clearTimeout(e)})},_(e,"handleResponse",m,e),_(e,"handleFailed",h,e),_(e,"submit",y,e),_(e,"setField",g,e),_(e,"checkUsername",b,e),e.reset(),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,k.default),v(t,[{key:"nameLocalError",value:function(){return this.fields.name.trim()?this.fields.name.trim().match(/^[a-zA-Z0-9_]+$/)?this.fields.name.trim().length<4?"tooShort":this.fields.name.trim().length>30&&"tooLong":"badChars":"required"}},{key:"submitReady",get:function(){return"checking"!==this.nameAvailability&&(!this.nameError&&(!this.emailError&&!this.passwordError))}},{key:"nameError",get:function(){return"unavailable"===this.nameAvailability?"unavailable":!!this.strictNameValidation&&this.nameLocalError()}},{key:"emailError",get:function(){if(this.fields.email.trim()===this.lastInvalidEmailValue.trim()&&this.lastInvalidEmailValue.trim())return"unavailable";if(this.strictValidation){if(!this.fields.email.trim())return"required";if(!this.fields.email.match(/^.+@.+\..+$/)||this.fields.email.trim().match(/\s/))return"invalid"}return!1}},{key:"passwordError",get:function(){if(this.strictValidation){if(this.fields.password.trim()===this.lastInvalidPasswordValue.trim()&&this.lastInvalidPasswordValue.trim())return this.lastInvalidPasswordError;if(!this.fields.password.trim())return"required";if(this.fields.password.trim().length<8)return"tooShort";if(this.fields.password.trim().length>40)return"tooLong"}return!1}},{key:"roleError",get:function(){return!(!this.strictValidation||this.fields.role.trim())&&"required"}}]),t}(),a=C(n.prototype,"spinning",[E.observable],{enumerable:!0,initializer:null}),o=C(n.prototype,"fields",[E.observable],{enumerable:!0,initializer:null}),i=C(n.prototype,"unparseableOrTimeout",[E.observable],{enumerable:!0,initializer:null}),l=C(n.prototype,"strictValidation",[E.observable],{enumerable:!0,initializer:null}),s=C(n.prototype,"strictNameValidation",[E.observable],{enumerable:!0,initializer:null}),u=C(n.prototype,"lastInvalidEmailValue",[E.observable],{enumerable:!0,initializer:null}),c=C(n.prototype,"lastInvalidPasswordValue",[E.observable],{enumerable:!0,initializer:null}),d=C(n.prototype,"lastInvalidPasswordError",[E.observable],{enumerable:!0,initializer:null}),f=C(n.prototype,"nameAvailability",[E.observable],{enumerable:!0,initializer:null}),p=C(n.prototype,"reset",[E.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.spinning=!1,e.fields={name:"",email:"",password:"",role:""},e.strictValidation=!1,e.strictNameValidation=!1,e.lastInvalidEmailValue="",e.lastInvalidPasswordValue="",e.lastInvalidPasswordError=!1,e.nameAvailability="haventChecked"}}}),m=C(n.prototype,"handleResponse",[E.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.spinning=!1,t&&t.data&&t.data.success?(e.unparseableOrTimeout=!1,t.data.me&&e.$authUser.importVob(t.data.me),e.$tracking.setUserTrackingData(),e.$tracking.event("signup","signupFormSuccess"),e.$router.redirectTo("/welcome"),e.reset(),t):e.handleFailed(t)}}}),h=C(n.prototype,"handleFailed",[E.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.spinning=!1,e.unparseableOrTimeout=!1,t&&t.data&&t.data.soft_error?"name"===t.data.soft_error?e.checkUsername(e.counter):"email"===t.data.soft_error?e.lastInvalidEmailValue=e.fields.email:"password"===t.data.soft_error?(e.lastInvalidPasswordValue=e.fields.password,t.data.soft_error2.match(/username/)?e.lastInvalidPasswordError="noUsername":e.lastInvalidPasswordError="tooCommon"):e.unparseableOrTimeout=!0:e.unparseableOrTimeout=!0,t}}}),C(n.prototype,"submitReady",[E.computed],Object.getOwnPropertyDescriptor(n.prototype,"submitReady"),n.prototype),C(n.prototype,"nameError",[E.computed],Object.getOwnPropertyDescriptor(n.prototype,"nameError"),n.prototype),C(n.prototype,"emailError",[E.computed],Object.getOwnPropertyDescriptor(n.prototype,"emailError"),n.prototype),C(n.prototype,"passwordError",[E.computed],Object.getOwnPropertyDescriptor(n.prototype,"passwordError"),n.prototype),C(n.prototype,"roleError",[E.computed],Object.getOwnPropertyDescriptor(n.prototype,"roleError"),n.prototype),y=C(n.prototype,"submit",[E.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(e.strictValidation=!0,e.strictNameValidation=!0,e.spinning)return!1;if(!e.submitReady)return!1;e.spinning=!0;
2var r={name:e.fields.name,email:e.fields.email,new_password:e.fields.password,interest_attr_role:e.fields.role,url_code:e.$router.route.data&&e.$router.route.data.code};return e.$asyncTask.track(e.$v2Api.commonCall("post","/sign_up",r,{minLatency:e.submitMinLatency,noErrorModalIfSoftError:!0}).then(e.handleResponse).catch(e.handleFailed),"sign up promise")}}}),g=C(n.prototype,"setField",[E.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r){if("name"===t){e.fields.name=r,e.nameAvailability="haventChecked",e.counter++;var n=e.counter;e.timers.push(setTimeout(function(){e.checkUsername(n)},e.nameCheckWaitMs)),e.resolveTimerPromise||e.$asyncTask.track(new Promise(function(t){e.resolveTimerPromise=t}),"signup form check username timer")}"email"===t&&(e.fields.email=r),"password"===t&&(e.fields.password=r),"role"===t&&(e.fields.role=r)}}}),b=C(n.prototype,"checkUsername",[E.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(!(e.counter>t)){var r=(e.fields.name||"").trim();if(e.strictNameValidation=!0,e.nameLocalError())return e.nameAvailability="haventChecked",void(e.resolveTimerPromise&&(e.resolveTimerPromise(),e.resolveTimerPromise=!1));e.nameAvailability="checking",e.$v2Api.commonCall("get","/user/name_check",{name:r},{minLatency:e.nameCheckMinLatency,noErrorModal:!0}).then((0,E.action)(function(t){t&&t.data&&t.data.name?e.nameAvailability=t.data.available?"available":"unavailable":e.nameAvailability="haventChecked",e.resolveTimerPromise&&(e.resolveTimerPromise(),e.resolveTimerPromise=!1)})).catch(function(){})}}}}),n);t.default=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=h(r(1)),s=r(11),u=(h(r(13)),r(9)),c=r(12),d=h(r(0)),f=h(r(42)),p=h(r(15)),m=h(r(34));function h(e){return e&&e.__esModule?e:{default:e}}function y(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var g=(0,u.inject)("$authUser","$webPush","$router")(n=(0,u.observer)((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=y(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.showPleaseWaitForDelivery=function(){n.confirmModal.pop("Please allow time for delivery",l.default.createElement("p",null,"The notification should appear on your desktop shortly. It usually arrives within a few seconds, but can sometimes take a minute or two. If you donât receive it immediately, hang on and try again after a few minutes. If you continue to have problems, please let us know!"),{cancelOnly:!0})},n.showHowToTurnOffInSafari=function(){n.confirmModal.pop("How to turn off notifications in Safari",l.default.createElement("p",null,"To turn off notifications: go to the ",l.default.createElement("strong",null,"Safari")," menu, choose ",l.default.createElement("strong",null,"Preferences"),", then the ",l.default.createElement("strong",null,"Websites")," ","tab. On the left, select ",l.default.createElement("strong",null,"Notifications"),", and in the list, select ",l.default.createElement("strong",null,"StoriumEDU")," then click the"," ",l.default.createElement("strong",null,"Remove")," button. Youâll need to ",l.default.createElement("strong",null,"reload the page")," to see the changes reflected."),{cancelOnly:!0})},y(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}
2(t,l.default.Component),i(t,[{key:"componentDidMount",value:function(){this.props.$authUser.isUnauth&&this.props.$router.bounce()}},{key:"render",value:function(){var e=this,t=(this.props.$authUser,this.props.$webPush);return t.ready?l.default.createElement(s.Panel,{header:l.default.createElement("div",null,l.default.createElement("h4",{className:"nom"},"Desktop notifications"),l.default.createElement("p",{style:{fontWeight:"normal",fontSize:"80%",margin:"10px 0 0 0"}},"Get notified immediately when itâs your turn to play"))},l.default.createElement(m.default,{ref:function(t){return e.confirmModal=t}}),"off"===t.basicState&&l.default.createElement("div",null,l.default.createElement("p",null,"Desktop notifications are not currently enabled on this browser."),l.default.createElement("p",null,l.default.createElement(c.ActionButton,{onClick:t.turnOn,spinning:t.working},"Turn on notifications"))),"denied"===t.basicState&&l.default.createElement("div",null,t.safariPromptingDisabled&&l.default.createElement("div",null,l.default.createElement("p",null,l.default.createElement("strong",null,l.default.createElement(p.default,{name:"times-circle",style:{color:"#c00"}})," You have disabled the ability for websites to ask permission to send push notifications.")),l.default.createElement("p",null,'To enable them, you need to edit your browser preferences and then reload the page. Be sure to enable the "Allow websites to ask for permission to send notifications" checkbox. See instructions for '," ",l.default.createElement("a",{target:"_new",href:"https://www.google.com/search?q=enable+push+notifications+in+safari"},"Safari"),".")),!t.safariPromptingDisabled&&l.default.createElement("div",null,l.default.createElement("p",null,l.default.createElement("strong",null,l.default.createElement(p.default,{name:"times-circle",style:{color:"#c00"}})," You have blocked push notifications for this site in your browser.")," "),l.default.createElement("p",null,"To enable them, you need to edit your browser preferences and then reload the page. See instructions for:"," ",l.default.createElement("a",{target:"_new",href:"https://www.google.com/search?q=enable+push+notifications+in+chrome"},"Chrome (Desktop)"),","," ",l.default.createElement("a",{target:"_new",href:"https://www.google.com/search?q=enable+push+notifications+in+chrome+on+android"},"Chrome (Android)"),","," ",l.default.createElement("a",{target:"_new",href:"https://www.google.com/search?q=enable+push+notifications+in+safari"},"Safari"),","," ",l.default.createElement("a",{target:"_new",href:"https://www.google.com/search?q=enable+push+notifications+in+firefox"},"Firefox"),", or"," ",l.default.createElement("a",{target:"_new",href:"https://www.google.com/search?q=enable+push+notifications+in+edge"},"Edge"),"."))),"on"===t.basicState&&l.default.createElement("div",null,l.default.createElement("p",null,l.default.createElement(p.default,{name:"check-circle",style:{color:"#090"}})," ","Desktop notifications are currently enabled on this browser."),l.default.createElement("p",null,l.default.createElement(c.ActionButton,{onClick:function(){t.sendTestNotif(),e.showPleaseWaitForDelivery()},spinning:t.working,style:{marginRight:"10px"}},"Send a test notification"),l.default.createElement(c.ActionButton,{onClick:function(){return t.turnOff(e.showHowToTurnOffInSafari)},spinning:t.working},"Turn off notifications"))),"unsupported"===t.basicState&&l.default.createElement("p",null,l.default.createElement("strong",null,"Desktop notifications are not supported on this browser.")," ","Notifications are supported in newer versions of Chrome, Firefox, Safari, and Edge."),!t.isSafari&&l.default.createElement("p",null,l.default.createElement("strong",null,"Important note:"),l.default.createElement("br",null),"The browser app (Chrome, Firefox, etc) must be running in order to receive notifications, although the StoriumEdu.com website itself does not need to be loaded."),l.default.createElement("p",null,l.default.createElement("em",null,"Notifications are not yet supported on iPhone or iPad devices."))):l.default.createElement(f.default,null)}}]),t}(),a.propTypes={$authUser:d.default.object.isRequired,$webPush:d.default.object.isRequired,$router:d.default.object.isRequired},n=o))||n)||n;t.default=g},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w,E=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),k=x(r(1)),_=r(9),C=x(r(42)),S=(x(r(94)),x(r(13))),P=r(10),O=x(r(0)),T=(x(r(147)),r(12)),j=r(11);x(r(339)),x(r(15));function x(e){return e&&e.__esModule?e:{default:e}}function M(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function z(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function A(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var I=(n=function(){function e(t,r){z(this,e),M(this,"key",a,this),M(this,"totp",o,this),M(this,"password",i,this),M(this,"qrcode_data_url",l,this),M(this,"loading",s,this),M(this,"loaded",u,this),M(this,"spinning",c,this),M(this,"success",d,this),M(this,"badTotp",f,this),M(this,"badPass",p,this),M(this,"setPassword",m,this),M(this,"setTotp",h,this),M(this,"load",y,this),M(this,"submit",g,this),this.$v2Api=t,this.$authUser=r}return E(e,[{key:"validToSubmit",get:function(){return!!this.password.trim().length&&this.totp.match(/^\s*\d\d\d\d\d\d\s*$/)}}]),e}(),a=A(n.prototype,"key",[P.observable],{enumerable:!0,initializer:function(){return""}}),o=A(n.prototype,"totp",[P.observable],{enumerable:!0,initializer:function(){return""}}),i=A(n.prototype,"password",[P.observable],{enumerable:!0,initializer:function(){return""}}),l=A(n.prototype,"qrcode_data_url",[P.observable],{enumerable:!0,initializer:function(){return""}}),s=A(n.prototype,"loading",[P.observable],{enumerable:!0,initializer:function(){return!1}}),u=A(n.prototype,"loaded",[P.observable],{enumerable:!0,initializer:function(){return!1}}),c=A(n.prototype,"spinning",[P.observable],{enumerable:!0,initializer:function(){return!1}}),d=A(n.prototype,"success",[P.observable],{enumerable:!0,initializer:function(){return!1}}),f=A(n.prototype,"badTotp",[P.observable],{enumerable:!0,initializer:function(){return!1}}),p=A(n.prototype,"badPass",[P.observable],{enumerable:!0,initializer:function(){return!1}}),m=A(n.prototype,"setPassword",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.password=t.target.value}}}),h=A(n.prototype,"setTotp",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.totp=t.target.value}}}),y=A(n.prototype,"load",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.loading||(e.loading=!0,e.$v2Api.commonCall("GET","/user/new_totp").then((0,P.action)(function(t){e.key=t.data.key,e.qrcode_data_url=t.data.qrcode_data_url,e.loading=!1,e.loaded=!0})).catch((0,P.action)(function(t){e.loading=!1})))}}}),A(n.prototype,"validToSubmit",[P.computed],Object.getOwnPropertyDescriptor(n.prototype,"validToSubmit"),n.prototype),g=A(n.prototype,"submit",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.spinning=!0,e.$v2Api.commonCall("post","/user/save_new_totp",{key:e.key,totp:e.totp,password:e.password},{noErrorModalIfSoftError:!0}).then((0,P.action)(function(t){e.success=!0,e.badTotp=!1,e.badPass=!1,e.spinning=!1})).catch((0,P.action)(function(t){e.badTotp=!1,e.badPass=!1,t&&t.data&&"invalid_totp"===t.data.soft_error&&(e.badTotp=!0),t&&t.data&&"invalid_password"===t.data.soft_error&&(e.badPass=!0),e.spinning=!1}))}}}),n),$=(0,_.inject)("$v2Api","$authUser")(b=(0,_.observer)((w=v=function(e){function t(e){z(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.store=new I(r.props.$v2Api,r.props.$authUser),r.store.load(),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,k.default.Component),E(t,[{key:"render",value:function(){var e=this.store,t=this.props.$authUser;return e.loaded?e.success?k.default.createElement("div",null,k.default.createElement("h3",null,"Setup 2-factor authentication"),k.default.createElement("p",null,"You have successfully enabled 2-factor authentication for your account."),k.default.createElement("p",null,k.default.createElement(S.default,{to:"/user/"+t.name},"Return to profile page"))):k.default.createElement("div",{className:"mb80"},k.default.createElement("h3",null,"Setup 2-factor authentication"),k.default.createElement("p",null,"To add 2-factor authentication to your account, scan the QR code in Google Authenticator or similar application, or use the key provided for manual entry. Once the authenticator is configured, enter the resulting code in the input field (along with your current password) and save."),k.default.createElement("p",null,"If your account already has 2-factor authentication setup, this will permanently replace the existing configuration."),k.default.createElement("p",null,k.default.createElement("img",{src:e.qrcode_data_url,style:{border:"1px solid #ccc"}}),k.default.createElement("br",null),k.default.createElement("br",null),"Key for manual entry: ",e.key),k.default.createElement("form",{className:"form",onSubmit:function(t){t.preventDefault(),e.validToSubmit&&e.submit()},style:{maxWidth:"300px"}},k.default.createElement(j.FormGroup,null,k.default.createElement(j.Control
2Label,null,"Current password:"),k.default.createElement(j.FormControl,{type:"password",name:"password",value:e.password,onChange:e.setPassword,autoFocus:!0,autoComplete:"current-password"})),k.default.createElement(j.FormGroup,null,k.default.createElement(j.ControlLabel,null,"2-factor authentication code:"),k.default.createElement(j.FormControl,{type:"text",name:"totp",value:e.totp,onChange:e.setTotp,placeholder:"6-digit number",autoComplete:"2facode"})),e.badPass&&k.default.createElement(j.Alert,{bsStyle:"danger"},"Incorrect current password. Please try again."),e.badTotp&&k.default.createElement(j.Alert,{bsStyle:"danger"},"Invalid code. Please try again."),k.default.createElement(T.ActionButton,{onClick:e.submit,spinning:e.spinning,disabled:!e.validToSubmit},"Save"))):k.default.createElement(C.default,null)}}]),t}(),v.propTypes={$v2Api:O.default.object.isRequired,$authUser:O.default.object.isRequired},v.defaultProps={},b=w))||b)||b;t.default=$},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),d=g(r(1)),f=r(9),p=g(r(42)),m=g(r(13)),h=r(10),y=g(r(0));r(12),r(11),g(r(15)),g(r(102));function g(e){return e&&e.__esModule?e:{default:e}}function b(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function v(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function w(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var E=(0,f.inject)("$authUser","$router","$v2Api","$tracking")(n=(0,f.observer)((u=s=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,s=Array(a),u=0;u<a;u++)s[u]=arguments[u];return r=n=v(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(s))),b(n,"ready",o,n),b(n,"error",i,n),n.checkStatus=function(){var e=n.props.$authUser;e.pid?e.is_student?n.props.$router.redirectToPath("userProfileRoute",{name:e.name}):n.props.$v2Api.commonCall("post","/membership/check_success",{},{noErrorModalIfSoftError:!0}).then(n.handleResp,n.handleResp):n.props.$router.bounce()},b(n,"handleResp",l,n),v(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,d.default.Component),c(t,[{key:"componentDidMount",value:function(){this.checkStatus()}},{key:"render",value:function(){this.store;var e=this.props.$authUser;return this.ready?this.error?d.default.createElement("div",null,d.default.createElement("h4",null,"There was a temporary problem retrieving your subscription status."),d.default.createElement("p",null,"If you have not done so already, please reload the page. This may resolve the problem immediately. If the problem persists, please contact us at [email protected] for assistance."),d.default.createElement("p",null,"(Weâre sorry for the inconvenience. Occassionally, network or other technical issues can interfere with communication to our subscription payment processing provider. This is a temporary issue and the StoriumEdu team has been alerted to this case. We will investigate it and make sure your subscription is processed correctly.)")):d.default.createElement("div",null,d.default.createElement("h3",null,"Success!"),d.default.createElement("p",null,"You now have an active subscription to StoriumEdu. Thank y
2ou for your support!"),d.default.createElement("p",null,"You can always view and manage your subscription from your"," ",d.default.createElement(m.default,{to:"/user/"+e.slug},"profile page"),"."),d.default.createElement("p",null,d.default.createElement(m.default,{to:"/"},"Return to home page"))):d.default.createElement(p.default,null)}}]),t}(),s.propTypes={$router:y.default.object.isRequired,$authUser:y.default.object.isRequired,$v2Api:y.default.object.isRequired,$tracking:y.default.object.isRequired},s.defaultProps={},o=w((a=u).prototype,"ready",[h.observable],{enumerable:!0,initializer:null}),i=w(a.prototype,"error",[h.observable],{enumerable:!0,initializer:null}),l=w(a.prototype,"handleResp",[h.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=e.props.$authUser;t&&t.data&&t.data.success?(r.importVob(t.data.me),"subscribed"===r.subscription_status?(e.ready=!0,e.props.$tracking.event("subscription","subscriptionSuccess",{recurly_plan_code:t.data.me.recurly_plan_code})):e.props.$router.redirectToPath("userProfileRoute",{name:r.name})):(e.ready=!0,e.error=!0,e.props.$tracking.trackErrorOnce("subcribe_success_page_error",{userPid:r.pid}))}}}),n=a))||n)||n;t.default=E},,function(e,t,r){},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),h=S(r(1)),y=r(9),g=(S(r(42)),S(r(13))),b=r(10),v=S(r(0)),w=r(12),E=r(11),k=S(r(15)),_=S(r(102));r(525);var C=S(r(147));function S(e){return e&&e.__esModule?e:{default:e}}function P(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function O(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function T(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var j=(0,y.inject)("$authUser","$router","$tracking")(n=(0,y.observer)((p=f=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,f=Array(a),p=0;p<a;p++)f[p]=arguments[p];return r=n=O(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(f))),P(n,"annual",o,n),P(n,"parentModalOpen",i,n),P(n,"spinning",l,n),P(n,"toggleAnnual",s,n),P(n,"openParentModal",u,n),P(n,"closeParentModal",c,n),n.delayCloseParentModal=function(){return window.setTimeout(n.closeParentModal,1e3)},n.recurlyPlanCode=function(){return n.annual?"storiumedu_annual":"storiumedu_monthly"},n.recurlyUrl=function(){var e=n.props.$authUser;return(0,_.default)("https://"+window.globalConfigFromServer.RECURLY_SUBDOMAIN+".recurly.com/subscribe/"+n.recurlyPlanCode()+"/"+e.recurly_account_code+"/"+e.name).query({email:e.email}).toString()},P(n,"trackAndGo",d,n),n.parentModal=function(){return h.default.createElement(E.Modal,{keyboard:!1,backdrop:"static",show:!0,onHide:n.closeParentModal},h.default.createElement(E.Modal.Header,{closeButton:!0},"Join the waiting list"),h.default.createElement("form",{action:"https://storium.us13.list-manage.com/subscribe/post?u=808929c7ad37f8368510ddd8c&id=7ddfd7bda4",method:"post",target:"_blank",onSubmit:n.delayCloseParentModal},h.default.createElement(E.Modal.Body,null,h.default.createElement("p",null,h.default.createElement("strong",null,"StoriumEdu for Parents and Homeschoolers")," is coming soon. Weâre looking for beta tester
2s to try it out and give us feedback, in return for free access to the product."),h.default.createElement("p",null,"If youâre a parent or homeschooler and are interested in beta testing, please join our email waiting list and weâll contact you once itâs ready. Thank you for your interest!"),h.default.createElement("input",{type:"email",name:"EMAIL",autoComplete:"email",placeholder:"Your email address",style:{color:"#808080",fontSize:"18px",fontWeight:"bold",width:"100%",height:"48px",marginBottom:"10px",padding:"8px",border:"1px solid #999"},required:!0,tabIndex:"1"}),h.default.createElement("div",{style:{position:"absolute",left:"-5000px"},"aria-hidden":"true"},h.default.createElement("input",{type:"text",name:"b_808929c7ad37f8368510ddd8c_0e50af3736",tabIndex:"-1",value:""}))),h.default.createElement(E.Modal.Footer,null,h.default.createElement(w.Footer,null,h.default.createElement(w.CancelButton,{tabIndex:"3",onClick:n.closeParentModal}),h.default.createElement(w.DoneButton,{tabIndex:"2",type:"submit",label:"Join the waiting list"})))))},O(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,h.default.Component),m(t,[{key:"render",value:function(){this.store;var e=this.props.$authUser;return e.pid?e.can_subscribe?e.is_student?h.default.createElement(C.default,null):h.default.createElement("div",{className:"mb80"},this.parentModalOpen&&this.parentModal(),h.default.createElement("div",{className:"heading-toggle-line mb20",style:{paddingTop:"30px"}},h.default.createElement("h2",null,"Become a Subscriber"),h.default.createElement("div",null,"Monthly",h.default.createElement(g.default,{onClick:this.toggleAnnual},h.default.createElement(k.default,{size:"2x",style:{color:"#090",verticalAlign:"middle",margin:"0 10px"},name:"toggle-on",flip:this.annual?void 0:"horizontal"})),"Annually")),h.default.createElement("div",{className:"pricing-grid"},h.default.createElement("div",{className:"head teachers"},h.default.createElement("div",{className:"color-block"}),h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},h.default.createElement("i",{className:"fa fa-2x fa-graduation-cap sr-icons",style:{fontSize:"50px"}})))),h.default.createElement("div",{className:"for-x teachers"},h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},h.default.createElement("h3",null,"For Teachers")))),h.default.createElement("div",{className:"price teachers"},h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},this.annual?h.default.createElement("div",null,h.default.createElement("p",null,h.default.createElement("span",{style:{fontSize:"200%",fontWeight:"bold"}},"$10"),"/month"),h.default.createElement("p",{style:{color:"#999"}},h.default.createElement("em",null,"Billed as $120 annually."))):h.default.createElement("div",null,h.default.createElement("p",null,h.default.createElement("span",{style:{fontSize:"200%",fontWeight:"bold"}},"$15"),"/month"),h.default.createElement("div",{className:"mb10"}),h.default.createElement("p",{style:{color:"#999"}},h.default.createElement("em",null,"Save $60 by switching to",h.default.createElement("br",null),h.default.createElement(g.default,{onClick:this.toggleAnnual},"annual billing"),".")))))),h.default.createElement("div",{className:"action teachers"},h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},h.default.createElement("p",null,h.default.createElement(w.ActionButton,{href:this.recurlyUrl(),onClick:this.trackAndGo,spinning:this.spinning},"Subscribe now"))))),h.default.createElement("div",{className:"bullets teachers"},h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},h.default.createElement("ul",null,h.default.createElement("li",null,"Unlimited play"),h.default.createElement("li",null,"Access to all content"),h.default.createElement("li",null,"Easy rostering"),h.default.createElement("li",null,"Create and share your own storyworlds"),h.default.createElement("li",null,"Analytics dashboard for student writing"))))),h.default.createElement("div",{className:"head schools"},h.default.createElement("div",{className:"color-block"}),h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},h.default.createElement("i",{className:"fa fa-2x fa-university sr-icons",style:{fontSize:"48px"}})))),h.default.createElement("div",{className:"for-x schools"},h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},h.default.createElement("h3",null,"For Schools and Districts")))),h.default.createElement("div",{className:"price schools"},h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},h.default.createElement("p",null,h.default.createElement("span",{style:{fontSize:"150%"}},"Request a quote"))))),h.default.createElement("div",{className:"action schools"},h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},h.default.createElement("p",null,h.default.createElement(w.ActionButton,{href:"https://storiumedu.futuresimple.com",bsStyle:"info",target:"_contact"},"Contact us"))))),h.default.createElement("div",{className:"bullets schools"},h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},h.default.createElement("ul",null,h.default.createElement("li",null,"Multiple teachers and classrooms"),h.default.createElement("li",null,"Google Classroom integration"),h.default.createElement("li",null,"School/district analytics"),h.default.createElement("li",null,"Discount volume pricing"))))),h.default.createElement("div",{className:"head parents"},h.default.createElement("div",{className:"color-block"}),h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},h.default.createElement("i",{className:"fa fa-2x fa-home sr-icons",style:{fontSize:"50px"}})))),h.default.createElement("div",{className:"for-x parents"},h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},h.default.createElement("h3",null,"For Parents & Homeschoolers")))),h.default.createElement("div",{className:"price parents"},h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},this.annual?h.default.createElement("div",null,h.default.createElement("p",null,h.default.createElement("span",{style:{fontSize:"200%",fontWeight:"bold"}},"$10"),"/month"),h.default.createElement("p",{style:{color:"#999"}},h.default.createElement("em",null,"Billed as $120 annually."))):h.default.createElement("div",null,h.default.createElement("p",null,h.default.createElement("span",{style:{fontSize:"200%",fontWeight:"bold"}},"$15"),"/month"),h.default.createElement("div",{className:"mb10"}),h.default.createElement("p",{style:{color:"#999"}},h.default.createElement("em",null,"Save $60 by switching to",h.default.createElement("br",null),h.default.createElement(g.default,{onClick:this.toggleAnnual},"annual billing"),".")))))),h.default.createElement("div",{className:"action parensts"},h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},h.default.createElement("p",null,h.default.createElement(w.ActionButton,{href:this.recurlyUrl(),onClick:this.trackAndGo,spinning:this.spinning},"Subscribe now"))))),h.default.createElement("div",{className:"bullets parents"},h.default.createElement("div",{className:"cell-inner"},h.default.createElement("div",{className:"cell-content"},h.default.createElement("ul",null,h.default.createElement("li",null,"Keep your kids creatively active and socially engaged at home"),h.default.createElement("li",null,"Play with siblings and friends over the Internet")))))),h.default.createElement("div",{style:{paddingTop:30,width:"100%",textAlign:"center"}},h.default.createElement("em",null,"Have questions about our pricing?"," ",h.default.createElement("a",{href:"mailto:[email protected]"},"Contact us"),"!"))):h.default.createElement("div",null,h.default.createElement("h2",null,"Subscribe to StoriumEdu"),h.default.createElement("p",null,"You already have an active subscription. You can manage it from your"," ",h.default.createElement(g.default,{to:"/user/"+e.slug},"profile page"),".")):h.default.createElement("div",null,h.default.createElement("h2",null,"Subscribe to StoriumEdu"),h.default.createElement("p",null,"To subscribe to StoriumEdu, please first"," ",h.default.createElement(g.default,{to:"/login"},"log in"),", or sign up for an account starting on the ",h.default.createElement(g.default,{to:"/"},"home page"),". Thanks!"))}}]),t}
2(),f.propTypes={$router:v.default.object.isRequired,$authUser:v.default.object.isRequired,$tracking:v.default.object.isRequired},f.defaultProps={},o=T((a=p).prototype,"annual",[b.observable],{enumerable:!0,initializer:function(){return!0}}),i=T(a.prototype,"parentModalOpen",[b.observable],{enumerable:!0,initializer:function(){return!1}}),l=T(a.prototype,"spinning",[b.observable],{enumerable:!0,initializer:function(){return!1}}),s=T(a.prototype,"toggleAnnual",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.annual=!e.annual}}}),u=T(a.prototype,"openParentModal",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.parentModalOpen=!0}}}),c=T(a.prototype,"closeParentModal",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.parentModalOpen=!1}}}),d=T(a.prototype,"trackAndGo",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(t){t.preventDefault(),t.stopPropagation(),e.spinning=!0,e.props.$tracking.trackOutboundPageAndNavigate("recurlySubscribePaymentPage",e.recurlyUrl(),{recurly_plan_code:e.recurlyPlanCode()})}}}),n=a))||n)||n;t.default=j},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),y=_(r(1)),g=(r(11),r(10)),b=_(r(13)),v=r(9),w=(r(12),_(r(0))),E=(_(r(15)),_(r(344))),k=_(r(42));function _(e){return e&&e.__esModule?e:{default:e}}function C(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function S(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function P(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var O=(0,v.inject)("$authUser","$router","$v2Api","$location")(n=(0,v.observer)((m=p=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,p=Array(a),m=0;m<a;m++)p[m]=arguments[m];return r=n=S(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(p))),C(n,"allDone",o,n),C(n,"alreadyVerified",i,n),C(n,"badToken",l,n),C(n,"spinning",s,n),C(n,"genericError",u,n),C(n,"wasInitial",c,n),C(n,"checkToken",d,n),C(n,"handleResp",f,n),S(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}
2(t,y.default.Component),h(t,[{key:"componentDidMount",value:function(){this.props.$authUser.isUnauth?this.props.$router.bounce():this.checkToken()}},{key:"render",value:function(){var e=this.props.$authUser,t=e.email;e.email_verification_initial||this.wasInitial;return this.spinning?y.default.createElement(k.default,null):this.genericError?y.default.createElement("div",null,y.default.createElement("h4",null,"There was an unexpected problem verifying your email address."),y.default.createElement("hr",null),y.default.createElement("p",null,"Please try locating the link again from your email and clicking it again. If this problem persists, please let us know at [email protected]. We apologize for the inconvenience!")):this.allDone?y.default.createElement("div",{"data-p":"email-verified"},y.default.createElement("h3",null,"Email address verified!"),y.default.createElement("hr",null),y.default.createElement("p",null,"Thank you for helping us to secure your account. Verifying that you can receive email from us is critical in making sure you can use the âforgot passwordâ feature, as well as other essential account functionality."),y.default.createElement("p",null,"Head on over to your ",y.default.createElement(b.default,{to:"/"},"home page"),".")):this.alreadyVerified?y.default.createElement("div",{"data-p":"already-verified"},y.default.createElement("h3",null,"Youâve already verified your email address."),y.default.createElement("p",null,"No problem â head on over to your"," ",y.default.createElement(b.default,{to:"/"},"home page"),".")):this.badToken?y.default.createElement("div",{"data-p":"bad-token"},y.default.createElement("h3",null,"This link is either expired or incorrect"),y.default.createElement("hr",null),y.default.createElement("p",null,"Oops! It looks like the link you clicked has either expired or is incorrect."),e.email_verification_required&&y.default.createElement("div",null,y.default.createElement("ul",null,y.default.createElement("li",null,"Changing your email address from your"," ",y.default.createElement(b.default,{to:"/user/"+e.slug},"profile page")," ","causes any prior links to expire."),y.default.createElement("li",null,"The link may have been meant for a different user. Look for the email we sent to your email address, which is:"," ",y.default.createElement("strong",null,t),". (You can change your address at any time from your"," ",y.default.createElement(b.default,{to:"/user/"+e.slug},"profile page"),".)"),y.default.createElement("li",null,"The link may have not been copied completely or correctly into the address bar. Make sure it was not truncated or otherwise modified from the original included in the email.")),y.default.createElement("p",null,"You can request that a new link be sent to"," ",y.default.createElement("strong",null,t)," using the button below:"),y.default.createElement(E.default,null)),!e.email_verification_required&&y.default.createElement("p",null,"Your accountâs email address is already verified, though, so you can just head on over to your ",y.default.createElement(b.default,{to:"/"},"home page"),"."),y.default.createElement("p",null,"We apologize for the inconvenience. Please feel free to email us at [email protected] for assistance.")):void 0}}]),t}(),p.propTypes={$authUser:w.default.object.isRequired,$router:w.default.object.isRequired,$v2Api:w.default.object.isRequired,$location:w.default.object.isRequired},o=P((a=m).prototype,"allDone",[g.observable],{enumerable:!0,initializer:null}),i=P(a.prototype,"alreadyVerified",[g.observable],{enumerable:!0,initializer:null}),l=P(a.prototype,"badToken",[g.observable],{enumerable:!0,initializer:null}),s=P(a.prototype,"spinning",[g.observable],{enumerable:!0,initializer:function(){return!0}}),u=P(a.prototype,"genericError",[g.observable],{enumerable:!0,initializer:null}),c=P(a.prototype,"wasInitial",[g.observable],{enumerable:!0,initializer:null}),d=P(a.prototype,"checkToken",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.props.$v2Api.commonCall("post","/verify_email",{user_pid:e.props.$router.route.captures.user_pid,email_token:e.props.$router.route.captures.email_token},{noErrorModalIfSoftError:!0}).then(e.handleResp,e.handleResp)}}}),f=P(a.prototype,"handleResp",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(e.spinning=!1,t&&t.data&&t.data.success)return e.allDone=!0,t.data.vob&&e.props.$authUser.importVob(t.data.vob),void(t.data.was_initial&&(e.wasInitial=!0));t&&t.data&&"already_verified"===t.data.soft_error?e.alreadyVerified=!0:t&&t.data&&"bad_token"===t.data.soft_error?e.badToken=!0:e.genericError=!0}}}),n=a))||n)||n;t.default=O},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),g=S(r(1)),b=S(r(0)),v=r(10),w=r(9),E=S(r(13)),k=r(12),_=r(11),C=(S(r(97)),S(r(15)));function S(e){return e&&e.__esModule?e:{default:e}}function P(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function O(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function T(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var j=(a=T((n=function e(t){var r=this;O(this,e),P(this,"code",a,this),P(this,"nickname",o,this),P(this,"spinning",i,this),P(this,"strictValidation",l,this),P(this,"setCode",s,this),P(this,"setNickname",u,this),this.nicknameError=function(){return!!r.strictValidation&&(0===r.nickname.trim().length?"required":r.nickname.trim().match(/^[a-zñáéÃóúüA-ZÃÃÃÃÃÃÃ0-9]+$/)?r.nickname.trim().length<4?"tooShort":r.nickname.trim().length>30?"tooLong":void 0:"badChars")},this.codeError=function(){return!!r.strictValidation&&(0===r.code.trim().length?"required":6!==r.code.trim().length?"wrongLength":r.code.trim().match(/^[a-zA-Z0-9]+$/)?void 0:"wrongCodeChars")},this.validToSubmit=function(){return 0!==r.nickname.trim().length&&(0!==r.code.trim().length&&(!r.nicknameError()&&!r.codeError()))},P(this,"handleSuccess",c,this),P(this,"handleError",d,this),P(this,"submit",f,this),this.stores=t}).prototype,"code",[v.observable],{enumerable:!0,initializer:function(){return""}}),o=T(n.prototype,"nickname",[v.observable],{enumerable:!0,initializer:function(){return""}}),i=T(n.prototype,"spinning",[v.observable],{enumerable:!0,initializer:null}),l=T(n.prototype,"strictValidation",[v.observable],{enumerable:!0,initializer:null}),s=T(n.prototype,"setCode",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.code=t}}}),u=T(n.prototype,"setNickname",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.nickname=t}}}),c=T(n.prototype,"handleSuccess",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(t){t.data.me&&(e.stores.$authUser.importVob(t.data.me),e.stores.$tracking.setUserTrackingData(),e.stores.$tracking.event("signup","studentSelfSignup")),e.stores.$router.redirectTo("/")}}}),d=T(n.prototype,"handleError",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(e.softError=!1,e.spinning=!1,t&&t.data&&t.data.soft_error){var r=t.data.soft_error;"classroom_not_found"===r&&(e.softError="codeNotFound"),"classroom_self_signup_disabled"===r&&(e.softError="noSSS"),"nickname"===r&&(e.softError="nickTaken"),"generic"===r&&(e.softError="generic")}}}}),f=T(n.prototype,"submit",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(e.strictValidation=!0,!e.validToSubmit())return!1;if(e.spinning)return!1;e.spinning=!0;var t={self_signup:1,name:e.nickname,shortcode:e.code};return e.stores.$v2Api.commonCall("post","/sign_up",t,{minLatency:500,noErrorModalIfSoftError:!0}).then(e.handleSuccess).catch(e.handleError)}}}),n),x=(0,w.inject)("$v2Api","$authUser","$router","$tracking")(p=(0,w.observer)((h=m=function(e){function t(e){O(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.renderCodeValidationErrors=function(){var e=r.store;return g.default.createElement("div",{id:"t__code_errors"},"required"===e.codeError()&&g.default.createElement("p",{style:{color:"#f00"}}," ",g.default.createElement(C.default,{name:"times-circle"})," Required"),"wrongLength"===e.codeError()&&g.default.createElement("p",{style:{color:"#f00"}}," ",g.default.createElement(C.default,{name:"times-circle"})," Not a valid code (all codes are 6 characters long)"),"wrongCodeChars"===e.codeError()&&g.default.createElement("p",{style:{color:"#f00"}}," ",g.default.createElement(C.default,{name:"times-circle"})," Not a valid code (codes contain letters and numbers only)"),"generic"===e.softError&&g.default.createElement("p",{style:{color:"#f00"}}," ",g.default.createElement(C.default,{name:"times-circle"})," Oops, there was an unexpected problem creating your account. Please reload the page and try again, and if the problem continues, ask your teacher to email us at [email protected] for assistance."),"codeNotFound"===e.softError&&g.default.createElement("p",{style:{color:"#f00"},id:"t__code_404"}," ",g.default.createElement(C.default,{name:"times-circle"})," There is no classroom with this code, please double-check it."),"noSSS"===e.softError&&g.default.createElement("p",{style:{color:"#f00"},id:"t__no_sss"}," ",g.default.createElement(C.default,{name:"times-circle"})," Student self-signup is disabled for this classroom, so your teacher must create your account for you. To be sure, double-check that the code is correct."))},r.renderNickValidationErrors=function(){var e=r.store;return g.default.createElement("div",{id:"t__nick_errors"},"nickTaken"===e.softError&&g.default.createElement("p",{style:{color:"#f00"},id:"t__nick_taken"}," ",g.default.createElement(C.default,{name:"times-circle"})," There is already a student using this name in this classroom. Did you sign up already? Or, is there another student with a similar name?"),"required"===e.nicknameError()&&g.default.createElement("p",{style:{color:"#f00"}}," ",g.default.createElement(C.default,{name:"times-circle"})," Required"),"badChars"===e.nicknameError()&&g.default.createElement("p",{style:{color:"#f00"}}," ",g.default.createElement(C.default,{name:"times-circle"})," Letters & numbers only"),"tooShort"===e.nicknameError()&&g.default.createElement("p",{style:{color:"#f00"}}," ",g.default.createElement(C.default,{name:"times-circle"})," Too short (4 char min)"),"tooLong"===e.nicknameError()&&g.default.createElement("p",{style:{color:"#f00"}}," ",g.default.createElement(C.default,{name:"times-circle"})," Too long (30 char max)"))},r.store=new j(r.props),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,g.default.Component),y(t,[{key:"render",value:function(){if(this.props.$authUser.pid)return g.default.createElement("p",null,"You are already signed in.");var e=this.store;return g.default.createElement(_.Row,null,g.default.createElement(_.Col,{xs:12,sm:10,smPush:1,md:8,mdPush:2,lg:6,lgPush:3},g.default.createElement(_.Well,null,g.default.createElement("div",{style:{textAlign:"center"}},g.default.createElement("h4",{style:{lineHeight:"26px"}},g.default.createElement("strong",null,"Did you already join your classroom?"," ",g.default.createElement(E.default,{href:"/login"},"Log in here instead"),".")))),g.default.createElement(_.Panel,{header:g.default.createElement("h1",null,"Join a new classroom"),style:{marginTop:"40px"}},g.default.createElement("form",{onSubmit:function(t){t.preventDefault(),e.submit()}},g.default.createElement(_.FormGroup,null,g.default.createElement(_.ControlLabel,null,"Classroom code",g.default.createElement("p",{style:{fontSize:"14px",fontWeight:"normal"}},"This is the code your teacher gave you."),this.renderCodeValidationErrors()),g.default.createElement(_.FormControl,{id:"t__classroom_code_input",type:"text",value:e.code,autoComplete:"classroom-code",onChange:function(t){return e.setCode(t.target.value)}})),g.default.createElement(_.FormGroup,null,g.default.createElement(_.ControlLabel,null,"User name",g.default.createElement("p",{style:{fontSize:"14px",fontWeight:"normal"}},"This is is the name youâll use to log in, and what other students and your teacher will see. One word with no spaces. Use your first name plus your last initial."),this.renderNickValidationErrors()),g.default.createElement(_.FormControl,{id:"t__nick_input",type:"text",value:e.nickname,placeholder:"e.g. MaryS",autoComplete:"nickname",onChange:function(t){return e.setNickname(t.target.value)}})),g.default.createElement("p",{style:{textAlign:"center",fontSize:"90%"}},g.default.createElement("em",null,"(All fields required)")),g.default.createElement(k.ActionButton,{block:!0,id:"t__submit_button",type:"submit",bsStyle:"primary",disabled:!e.validToSubmit(),spinning:e.spinning},"Join")),g.default.createElement("hr",null),g.default.createElement("p",{style:{margin:"0",textAlign:"center"}},"By signing up, you agree to our"," ",g.default.createElement(E.default,{to:"/terms",target:"_blank",className:"bright-blue-link"},"Terms of Service"),"."))))}}]),t}(),m.propTypes={$v2Api:b.default.object.isRequired,$authUser:b.default.object.isRequired,$router:b.default.object.isRequired,$tracking:b.default.object.isRequired},p=h))||p)||p;t.default=x},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m=C(r(27)),h=C(r(149)),y=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),g=C(r(1)),b=C(r(0)),v=r(9),w=r(11),E=r(10),k=(C(r(19)),C(r(13))),_=(C(r(123)),C(r(353)));function C(e){return e&&e.__esModule?e:{default:e}}function S(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function P(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function O(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var T=(a=O((n=function e(){P(this,e),S(this,"loaded",a,this),S(this,"loadError",o,this),this.state={},this.events=[],S(this,"parseToSeqId",i,this),S(this,"load",l,this),S(this,"ingest",s,this),S(this,"replay",u,this),S(this,"setParseToSeqId",c,this)}).prototype,"loaded",[E.observable],{enumerable:!0,initializer:function(){return!1}}),o=O(n.prototype,"loadError",[E.observable],{enumerable:!0,initializer:function(){return!1}}),i=O(n.prototype,"parseToSeqId",[E.observable],{enumerable:!0,initializer:function(){return 0}}),l=O(n.prototype,"load",[E.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r){e.loaded=!1,window.dx=e,t.commonCall("get","/game/debug",{slug:r.route.captures.slug,as_events:1}).then(e.ingest,e.ingest)}}}),s=O(n.prototype,"ingest",[E.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.loaded=!0,t&&200===t.status&&t.data&&t.data.complete_state?(e.state=JSON.parse(t.data.complete_state.state_json),e.events=JSON.parse(t.data.complete_state.events_json),e.replay()):e.loadError=!0}}}),u=O(n.prototype,"replay",[E.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.gsm=new _.default,e.gsm.skipJoi=!0,e.gsm.state=(0,h.default)(e.state),e.gsm.advance((0,m.default)(e.events,function(t){return t.seqId<=e.parseToSeqId})),console.log("dx.gsm parsed to ",e.parseToSeqId)}}}),c=O(n.prototype,"setParseToSeqId",[E.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.parseToSeqId=t,e.replay()}}}),n),j=(0,v.inject)("$v2Api","$router","$userInfo")(d=(0,v.observer)((p=f=function(e){function t(e){P(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.trunc=function(e,t){if(!e)return e;var r=(e+"").substr(0,t);return(r.description+"").length>t&&(r+="..."),r},r.condenseParams=function(e){var t=e;for(var n in e)"blurb"===n&&(t===e&&(t=(0,h.default)(e)),t.blurb.content=r.trunc(t.blurb.content));return t},r.theDate=function(e){var t=new Date(1e3*e.createdAtUnix);return t.getMonth()+1+"/"+t.getDate()+"/"+t.getFullYear()+" "+t.getHours()+":"+t.getMinutes()+":"+t.getSeconds()},r.store=new T,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,g.default.Component),y(t,[{key:"componentDidMount",value:function(){this.store.load(this.props.$v2Api,this.props.$router)}},{key:"render",value:function(){var e=this,t=this.store,r=this.store.events,n=this.props.$userInfo;return t.loaded?t.loadError?g.default.createElement("h4",null,"load error"):g.default.createElement("div",null,g.default.createElement(w.Table,{striped:!0,style:{fontSize:"11px"}},g.default.createElement("thead",null,g.default.createElement("tr",null,g.default.createElement("th",
2null,"seqId"),g.default.createElement("th",null,"kind"),g.default.createElement("th",null,"date"),g.default.createElement("th",null,"user"),g.default.createElement("th",null,"char"),g.default.createElement("th",null,"mk"),g.default.createElement("th",null,"gev"),g.default.createElement("th",null,"params"))),g.default.createElement("tbody",null,r.map(function(r){return g.default.createElement("tr",{key:r.seqId},g.default.createElement("td",null,r.seqId===t.parseToSeqId?g.default.createElement("span",null,g.default.createElement("strong",null,r.seqId)):g.default.createElement(k.default,{onClick:function(){return t.setParseToSeqId(r.seqId)}},r.seqId)),g.default.createElement("td",null,r.kind),g.default.createElement("td",null,e.theDate(r)),g.default.createElement("td",null,r.userPid," ",g.default.createElement("em",null,n.displayName(r.userPid))),g.default.createElement("td",null,r.params.characterGid||""),g.default.createElement("td",null,r.params.kind||""),g.default.createElement("td",null,r.gev),g.default.createElement("td",null,JSON.stringify(e.condenseParams(r.params),null,2)))})))):g.default.createElement("h4",null,"loading...")}}]),t}(),f.propTypes={$v2Api:b.default.object.isRequired,$router:b.default.object.isRequired,$userInfo:b.default.object.isRequired},d=p))||d)||d;t.default=j},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),w=O(r(1)),E=O(r(0)),k=r(9),_=r(10),C=r(11),S=r(12),P=O(r(13));function O(e){return e&&e.__esModule?e:{default:e}}function T(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function j(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function x(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var M=(0,k.inject)("$v2Api","$router","$authUser","$login","$location")(n=(0,k.observer)((b=g=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,g=Array(a),b=0;b<a;b++)g[b]=arguments[b];return r=n=j(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(g))),T(n,"currentPassword",o,n),T(n,"newPassword",i,n),T(n,"confirmNewPassword",l,n),T(n,"errorMsg",s,n),T(n,"success",u,n),T(n,"strictValidation",c,n),T(n,"spinning",d,n),n.isAuthProfileUpdate=function(){return"current_password"===n.props.$router.route.captures.reset_token},n.currentPwdError=function(){return!!n.strictValidation&&(!(!n.isAuthProfileUpdate()||0!==n.currentPassword.trim().length)&&"Your current password is required")},n.pwdError=function(){return!!n.strictValidation&&(0===n.newPassword.trim().length?"A password is required":n.newPassword.trim().length<8?"Password is too short (8 character minimum)":n.newPassword.trim().length>300&&"Password is too long (300 character maximum)")},n.confirmPwdError=function(){return!!n.strictValidation&&(n.confirmNewPassword!==n.newPassword&&"Confirmation input doesnât match")},n.validToSubmit=function(){return!n.spinning&&(!n.currentPwdError()&&(!n.pwdError()&&(!n.confirmPwdError()&&(0!==n.newPassword.trim().length&&0!==n.confirmNewPassword.trim().length))))},T(n,"setCurrentPassword",f,n),T(n,"setNewPassword",p,n),T(n,"setConfirmNewPassword",m,n),T(n,"clearInputs",h,n),T(n,"submit",y,n),j(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,w.default.Component),v(t,[{key:"render",value:function(){var e=this;return this.success?w.default.createElement("div",{id:"t__reset_pwd_form"},w.default.createElement(C.Panel,{header:w.default.createElement("h1",null,"Set a new password")},w.default.createElement(C.Alert,{bsStyle:"success",id:"t__pwd_success"},"Your password has been updated."),w.default.createElement(C.FormGroup,null,w.default.createElement("p",{style:{textAlign:"center"}},this.props.$authUser.pid?w.default.createElement(P.default,{to:this.props.$router.toPath("userProfileRoute",{name:this.props.$authUser.name})},"Return to your user profile"):w.default.createElement(P.default,{id:"t__return_to_login_link",to:this.props.$router.toPath("loginRoute")},"Return to login form"))))):w.default.createElement("div",{id:"t__reset_pwd_form"},w.default.createElement(C.Panel,{header:w.default.createElement("h1",null,"Set a new password")},this.errorMsg&&w.default.createElement(C.Alert,{bsStyle:"danger"},this.errorMsg),w.default.createElement("form",{onSubmit:function(t){t.preventDefault(),e.submit()}},this.isAuthProfileUpdate()&&w.default.createElement(C.FormGroup,null,w.default.createElement(C.Control
2Label,null,"Current password"," ",w.default.createElement(P.default,{style:{fontWeight:"normal"},to:"/login/forgot_password"},"(forgot your password?)")),w.default.createElement(C.FormControl,{id:"t__current_password",type:"password",value:this.currentPassword,onChange:this.setCurrentPassword,autoComplete:"current-password"}),this.currentPwdError()&&w.default.createElement(C.Alert,{bsStyle:"danger"},this.currentPwdError())),w.default.createElement(C.FormGroup,null,w.default.createElement(C.ControlLabel,null,"New password"," ",w.default.createElement("span",{style:{fontWeight:"normal"}},"(8 chars minimum)")),w.default.createElement(C.FormControl,{id:"t__new_password",type:"password",value:this.newPassword,onChange:this.setNewPassword,autoComplete:"new-password"}),this.pwdError()&&w.default.createElement(C.Alert,{bsStyle:"danger"},this.pwdError())),w.default.createElement(C.FormGroup,null,w.default.createElement(C.ControlLabel,null,"Confirm new password"),w.default.createElement(C.FormControl,{id:"t__confirm_new_password",type:"password",value:this.confirmNewPassword,onChange:this.setConfirmNewPassword,autoComplete:"confirm-new-password"}),this.confirmPwdError()&&w.default.createElement(C.Alert,{bsStyle:"danger",id:"t__mismatch_err"},this.confirmPwdError())),w.default.createElement(C.FormGroup,null,w.default.createElement(S.ActionButton,{block:!0,type:"submit",bsStyle:"primary",spinning:this.spinning,disabled:!this.validToSubmit(),id:"t__submit_btn"},"Set new password")),w.default.createElement("p",{style:{fontSize:"90%",margin:"0"}},"Please note that for your security, updating your password will sign you out of all active sessions on other browsers and devices."))))}}]),t}(),g.propTypes={$v2Api:E.default.object.isRequired,$router:E.default.object.isRequired,$authUser:E.default.object.isRequired,$login:E.default.object.isRequired,$location:E.default.object.isRequired},g.defaultProps={},o=x((a=b).prototype,"currentPassword",[_.observable],{enumerable:!0,initializer:function(){return""}}),i=x(a.prototype,"newPassword",[_.observable],{enumerable:!0,initializer:function(){return""}}),l=x(a.prototype,"confirmNewPassword",[_.observable],{enumerable:!0,initializer:function(){return""}}),s=x(a.prototype,"errorMsg",[_.observable],{enumerable:!0,initializer:function(){return""}}),u=x(a.prototype,"success",[_.observable],{enumerable:!0,initializer:null}),c=x(a.prototype,"strictValidation",[_.observable],{enumerable:!0,initializer:function(){return!1}}),d=x(a.prototype,"spinning",[_.observable],{enumerable:!0,initializer:null}),f=x(a.prototype,"setCurrentPassword",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.currentPassword=t.target.value}}}),p=x(a.prototype,"setNewPassword",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.newPassword=t.target.value}}}),m=x(a.prototype,"setConfirmNewPassword",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.confirmNewPassword=t.target.value}}}),h=x(a.prototype,"clearInputs",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.currentPassword="",e.newPassword="",e.confirmNewPassword="",e.strictValidation=!1}}}),y=x(a.prototype,"submit",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.strictValidation||(e.strictValidation=!0),e.validToSubmit()&&(e.spinning=!0,e.props.$v2Api.commonCall("post","/reset_password",{reset_token:e.props.$router.route.captures.reset_token,current_password:e.currentPassword,new_password:e.newPassword,confirm_new_password:e.confirmNewPassword},{minLatency:1e3,noErrorModalIfSoftError:!0}).then((0,_.action)(function(t){e.clearInputs(),e.spinning=!1,e.errorMsg="",e.success=!0})).catch((0,_.action)(function(t){e.clearInputs(),e.spinning=!1,e.success=!1,t&&t.data&&t.data.soft_error&&("invalid_current_password"===t.data.soft_error&&(e.errorMsg="The current password you entered was incorrect."),"expired_token"===t.data.soft_error&&(e.errorMsg="This password reset link has expired. Please request a new one using the âForgot Passwordâ feature of the login form."),"validation_failed"===t.data.soft_error&&(e.errorMsg=t.data.message)),e.errorMsg||(e.errorMsg="There was an unexpected problem setting your password. Please reload the page and try again. If this problem persists, please let us know at [email protected]. Apologies for any inconvenience!")}
2)))}}}),n=a))||n)||n;t.default=M},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),p=E(r(1)),m=E(r(0)),h=r(9),y=r(10),g=r(11),b=(r(12),E(r(13))),v=E(r(42)),w=E(r(530));function E(e){return e&&e.__esModule?e:{default:e}}function k(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function _(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function C(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var S=(0,h.inject)("$v2Api","$router","$tracking")(n=(0,h.observer)((d=c=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,c=Array(a),d=0;d<a;d++)c[d]=arguments[d];return r=n=_(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(c))),k(n,"validatingToken",o,n),k(n,"tokenChecked",i,n),k(n,"tokenOk",l,n),k(n,"genericError",s,n),n.validToSubmit=function(){return!n.spinning&&n.emailOrUserName.trim().length>0},k(n,"checkToken",u,n),_(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,p.default.Component),f(t,[{key:"componentDidMount",value:function(){this.tokenChecked||this.validatingToken||this.checkToken()}},{key:"render",value:function(){return this.tokenChecked?this.genericError?p.default.createElement("div",{id:"t__reset_pwd"},p.default.createElement(g.Panel,{header:p.default.createElement("h1",null,"Reset password")},p.default.createElement(g.Alert,{bsStyle:"danger"},"There was a problem validating this password reset link. If this problem persists, please contact us at [email protected] â apologies for the inconvenience."))):this.tokenOk?p.default.createElement(g.Row,{id:"t__reset_pwd"},p.default.createElement(g.Col,{sm:6,md:5,lg:4},p.default.createElement(w.default,null))):p.default.createElement("div",{id:"t__reset_pwd"},p.default.createElement(g.Panel,{header:p.default.createElement("h1",null,"Reset password")},p.default.createElement(g.Alert,{bsStyle:"danger",id:"t__bad_link_alert"},"Oops, this password reset link has either expired or does not have the full content of the URL."),p.default.createElement("p",null,"Things to check:"),p.default.createElement("ul",null,p.default.createElement("li",null,"Be sure you are using the most recent reset link we sent to your email address. Requesting a new one will expire any prior links. This is the most common cause of this error."),p.default.createElement("li",null,"If you updated your password any time after this link was sent by email, the link will be invalidated."),p.default.createElement("li",null,"Check that the URL is correct, especially if you manually copy/pasted it from the original email."),p.default.createElement("li",null,"These links automatically expire after 24 hours.")),p.default.createElement("p",null,"You can always request a new reset link using the âForgot passwordâ feature of the ",p.default.createElement(b.default,{to:"/login"},"login form"),". We apologize for the inconvenience, but note that we take your account security seriously. Please feel free to email [email protected] for assistance."))):p.default.createElement(v.default,null)}}]),t}(),c.propTypes={$v2Api:m.default.object.isRequired,$router:m.default.object.isRequired,$tracking:m.default.object.isRequired},c.defaultProps={},o=C((a=d).prototype,"validatingToken",[y.observable],{enumerable:!0,initializer:function(){return!1}}),i=C(a.prototype,"tokenChecked",[y.observable],{enumerable:!0,initializer:function(){return!1}}),l=C(a.prototype,"tokenOk",[y.observable],{enumerable:!0,initializer:null}),s=C(a.prototype,"genericError",[y.observable],{enumerable:!0,initializer:null}),u=C(a.prototype,"checkToken",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.validatingToken=!0,e.props.$v2Api.commonCall("post","/check_reset_token",{reset_token:e.props.$router.route.captures.reset_token},{noErrorModalIfSoftError:!0}).then((0,y.action)(function(t){e.validatingToken=!1,e.tokenChecked=!0,e.tokenOk=!0}
2)).catch((0,y.action)(function(t){t&&t.data&&"token_404"===t.data.soft_error?(e.validatingToken=!1,e.tokenChecked=!0,e.tokenOk=!1):(e.genericError=!0,e.tokenChecked=!0,e.props.$tracking.trackErrorOnce("unrecognized failure response on validating reset pwd token",{token:e.props.$router.route.captures.reset_token,respData:t&&t.data,respStatus:t&&t.status}))}))}}}),n=a))||n)||n;t.default=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=f(r(1)),i=r(11),l=f(r(81)),s=r(9),u=f(r(42)),c=(f(r(0)),f(r(15))),d=f(r(13));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,s.inject)("$libraryDecks")(n=(0,s.observer)(n=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}
2(t,o.default.Component),a(t,[{key:"componentDidMount",value:function(){this.props.$libraryDecks.mountFetchIfNeeded()}},{key:"render",value:function(){var e=this.props.$libraryDecks;if(!e.ready)return o.default.createElement(u.default,{timeout:1e3});var t=e.filteredDecksLimited;return o.default.createElement("div",{style:{marginBottom:"100px"}},o.default.createElement("h2",{style:{marginBottom:0,marginTop:0}},o.default.createElement("span",{className:"fa fa-book",style:{width:"50px"}}),"Storyworld library"),o.default.createElement("hr",{style:{marginTop:"10px",marginBottom:"30px"}}),o.default.createElement("p",{style:{paddingBottom:"40px"}},"This page lists all the storyworlds that teachers have created and shared for the communityâs benefit. If you find one you like you can make it available to your students by clicking on it and then clicking âAdd to classrooms.â"),o.default.createElement("div",{className:"mb20"},o.default.createElement(i.FormGroup,null,o.default.createElement(i.InputGroup,null,o.default.createElement(i.InputGroup.Addon,null,o.default.createElement(c.default,{name:"search"})),o.default.createElement(i.FormControl,{type:"text",placeholder:'Search name, author, grade levels ("4th", "5th", etc) or subject areas',value:e.filterText,onChange:function(t){return e.setFilterText(t.target.value)},"data-p":"library_search_input"})))),t.map(function(e){return o.default.createElement(l.default,{key:e.game_pid,vob:e,link:!0,showTags:!0,showAuthor:!0})}),o.default.createElement("div",{style:{textAlign:"center",fontStyle:"italic"}},0===t.length?o.default.createElement("p",null,"There are no storyworlds that match your search criteria."):e.limitIsActive?o.default.createElement("p",null,"Showing ",t.length," of ",e.filteredDecks.length," ","matching storyworlds.",o.default.createElement("br",null),"Use the search and up top to narrow your results, or"," ",o.default.createElement("strong",null,o.default.createElement(d.default,{onClick:e.bumpLimit},"show 20 more."))):o.default.createElement("p",null,"Showing ",t.length," of ",e.filteredDecks.length," ","matching results.")))}}]),t}())||n)||n;t.default=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),m=w(r(1)),h=w(r(0)),y=r(9),g=r(10),b=(w(r(19)),w(r(13))),v=r(375);function w(e){return e&&e.__esModule?e:{default:e}}function E(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function k(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var C=(n=g.observable.ref,a=g.observable.ref,i=_((o=function e(t,r){var n=this;k(this,e),E(this,"waterfalls",i,this),E(this,"waterfall",l,this),this.loadingDetails=!1,this.cleanup=function(){n.disposer()},this.loadWaterfalls=function(){n.$v2api.commonCall("get","/waterfalls").then(n.ingest,n.ingest)},this.loadWaterfall=function(e){n.loadingDetails=e,n.$v2api.commonCall("get","/waterfall",{client_context_id:e}).then(n.ingest,n.ingest)},E(this,"clearWaterfall",s,this),E(this,"ingest",u,this),this.$v2api=t,this.$router=r,this.disposer=(0,g.reaction)(function(){return n.$router.route},function(e){e.captures&&e.captures.clientContextId?n.loadWaterfall(e.captures.clientContextId):n.clearWaterfall()},{fireImmediately:!0})}).prototype,"waterfalls",[n],{enumerable:!0,initializer:null}),l=_(o.prototype,"waterfall",[a],{enumerable:!0,initializer:null}),s=_(o.prototype,"clearWaterfall",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.waterfall=!1,e.loadingDetails=!1}}}),u=_(o.prototype,"ingest",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(t){t&&t.data&&t.data.waterfalls&&(e.waterfalls=t.data.waterfalls),t&&t.data&&t.data.waterfall&&e.loadingDetails&&(e.waterfall=t.data.waterfall,e.loadingDetails=!1)}}}),o),S=(0,y.inject)("$v2Api","$router")(c=(0,y.observer)((f=d=function(e){function t(e){k(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.clearCheckInterval=function(){r.checkInterval&&(window.clearInterval(r.checkInterval),delete r.checkInterval)},r.libsAreLoaded=function(){return void 0!==window.AmCharts&&(void 0!==window.AmCharts.AmRectangularChart&&(void 0!==window.AmCharts.themes&&(void 0!==window.AmCharts.themes.light&&(void 0!==window.AmCharts.translations&&void 0!==window.AmCharts.translations.dataLoader))))},r.renderGraph=function(){if(r.clearCheckInterval(),r.store.waterfall){var e=[],t=1;e.push({idx:t,name:"asyncTasksAreZero",startTime:0,endTime:r.store.waterfall.async_zero_offset,color:"#FF9900",duration:r.store.waterfall.async_zero_offset}),t++;var n=r.store.waterfall.data.entries[0];["domInteractive","domContentLoadedEventEnd"].forEach(function(r){n[r]&&(e.push({idx:t,name:r,startTime:0,endTime:n[r],duration:n[r],color:"#aa5500"}),t++)}
2),r.store.waterfall.data.entries.forEach(function(r){var n={};n.idx=t,t++,n.name=r.name.replace(/\//g," / "),n.startTime=r.startTime,n.endTime=r.responseEnd,n.duration=r.duration||0,r.responseEnd?0===r.duration&&(n.startTime=0,n.color="#aaaaaa"):(n.startTime=0,n.endTime=r.startTime,n.color="#aa5500"),e.push(n)}),AmCharts.makeChart("chart-div",{type:"serial",theme:"light",dataProvider:e,graphs:[{balloonText:"<b>[[name]]</b><br>starts at [[startTime]]<br>ends at [[endTime]]<br>duration [[duration]]",colorField:"color",fillAlphas:.8,lineAlpha:0,openField:"startTime",type:"column",valueField:"endTime"}],rotate:!0,columnWidth:1,categoryField:"idx",categoryAxis:{gridPosition:"start",axisAlpha:0,gridAlpha:.1,position:"left"}})}},r.store=new C(r.props.$v2Api,r.props.$router),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}
2(t,m.default.Component),p(t,[{key:"componentDidMount",value:function(){var e=this;this.store.loadWaterfalls(),this.libsAreLoaded()?this.renderGraph():this.checkInterval=window.setInterval(function(){e.libsAreLoaded()&&e.renderGraph()},100)}},{key:"componentDidUpdate",value:function(e){this.libsAreLoaded()&&this.renderGraph()}},{key:"componentWillUnmount",value:function(){this.store.cleanup()}},{key:"render",value:function(){var e=this,t=(this.store,this.store.waterfalls),r=m.default.createElement(v.Helmet,null,m.default.createElement("script",{"data-p":"amcharts_include",src:"/static/amcharts/amcharts-combined.35fd0844af051415b0e249e8e3dd1a5b.js"}));if(!t)return m.default.createElement("h4",null,"loading...",r);var n=this.store.waterfall;return n?m.default.createElement("div",null,r,m.default.createElement("p",null,m.default.createElement(b.default,{to:this.props.$router.toPath("waterfallsRoute")},"back")),m.default.createElement("h4",null,"Waterfall details:"),m.default.createElement("div",{id:"chart-div",style:{width:"100%",height:"500px"}}),m.default.createElement("pre",{style:{fontSize:"60%"}},JSON.stringify(n,null,2))):m.default.createElement("div",null,r,m.default.createElement("h4",null,"Waterfalls:"),m.default.createElement("table",{className:"edu-stats",style:{fontSize:"80%"}},m.default.createElement("thead",null,m.default.createElement("tr",null,m.default.createElement("td",null,"id"),m.default.createElement("td",null,"user pid"),m.default.createElement("td",null,"route"),m.default.createElement("td",null,"asyncTasksAreZero"),m.default.createElement("td",null,"created"),m.default.createElement("td",null,"clientContextId"))),m.default.createElement("tbody",null,t.map(function(t){return m.default.createElement("tr",{key:t.id},m.default.createElement("td",null,t.id),m.default.createElement("td",null,t.user_pid),m.default.createElement("td",null,t.route),m.default.createElement("td",null,t.async_zero_offset),m.default.createElement("td",null,new Date(1e3*t.created_at_unix).toString()),m.default.createElement("td",{style:{fontSize:"50%"}},t.client_context_id),m.default.createElement("td",null,m.default.createElement(b.default,{to:e.props.$router.toPath("waterfallDetailsRoute",{clientContextId:t.client_context_id})},"view")))}))))}}]),t}(),d.propTypes={$v2Api:h.default.object.isRequired,$router:h.default.object.isRequired},c=f))||c)||c;t.default=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),p=w(r(1)),m=w(r(0)),h=r(9),y=r(11),g=r(10),b=(w(r(19)),w(r(13))),v=w(r(123));function w(e){return e&&e.__esModule?e:{default:e}}function E(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function k(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var C=(n=g.observable.ref,o=_((a=function e(){k(this,e),E(this,"data",o,this),E(this,"loaded",i,this),E(this,"load",l,this),E(this,"ingest",s,this)}).prototype,"data",[n],{enumerable:!0,initializer:null}),i=_(a.prototype,"loaded",[g.observable],{enumerable:!0,initializer:function(){return!1}}),l=_(a.prototype,"load",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.loaded=!1,t.commonCall("get","/guildnavigator2").then(e.ingest,e.ingest)}}}),s=_(a.prototype,"ingest",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(t){t&&t.data&&t.data.data&&(e.data=t.data.data,e.loaded=!0)}}}),a),S=(0,h.inject)("$v2Api","$router")(u=(0,h.observer)((d=c=function(e){function t(e){k(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.store=new C,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}
2(t,p.default.Component),f(t,[{key:"componentDidMount",value:function(){this.store.load(this.props.$v2Api)}},{key:"render",value:function(){var e=this.store,t=this.store.data;this.props.$router;return e.loaded?p.default.createElement("div",null,p.default.createElement("p",null,"(",p.default.createElement(b.default,{href:"/guildnavigator"},"View by teacher..."),")"),p.default.createElement(y.Table,{striped:!0},p.default.createElement("thead",null,p.default.createElement("tr",null,p.default.createElement("th",null,"Game"),p.default.createElement("th",null,"Teacher"),p.default.createElement("th",null,"Classroom"),p.default.createElement("th",null,"# Players"),p.default.createElement("th",null,"Last active"))),p.default.createElement("tbody",null,t.map(function(e){return p.default.createElement("tr",{key:e.gamePid},p.default.createElement("td",null,p.default.createElement(b.default,{to:"/game/"+e.gamePid},e.gameName)),p.default.createElement("td",null,p.default.createElement(b.default,{to:"/user/"+e.teacherSlug},e.teacherName)),p.default.createElement("td",null,e.classroomName," ",p.default.createElement("form",{style:{display:"inline-block"},method:"get",action:"/v2api/su"},p.default.createElement("input",{type:"hidden",name:"name",value:e.teacherName}),p.default.createElement("input",{type:"hidden",name:"redir",value:"/classroom/"+e.classroomPid}),p.default.createElement("button",{type:"submit"},"sudo visit"))),p.default.createElement("td",null,e.gameNumPlayers),p.default.createElement("td",null,(0,v.default)((new Date).getTime(),1e3*e.gameLastEventUnix)))})))):p.default.createElement("h4",null,"loading...")}}]),t}(),c.propTypes={$v2Api:m.default.object.isRequired,$router:m.default.object.isRequired},u=d))||u)||u;t.default=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),p=b(r(1)),m=b(r(0)),h=r(9),y=r(10),g=(b(r(19)),b(r(13)));function b(e){return e&&e.__esModule?e:{default:e}}function v(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function w(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function E(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var k=(n=y.observable.ref,o=E((a=function e(){w(this,e),v(this,"data",o,this),v(this,"loaded",i,this),v(this,"load",l,this),v(this,"ingest",s,this)}).prototype,"data",[n],{enumerable:!0,initializer:null}),i=E(a.prototype,"loaded",[y.observable],{enumerable:!0,initializer:function(){return!1}}),l=E(a.prototype,"load",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.loaded=!1,t.commonCall("get","/guildnavigator").then(e.ingest,e.ingest)}}}),s=E(a.prototype,"ingest",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(t){t&&t.data&&t.data.data&&(e.data=t.data.data,e.loaded=!0)}}}),a),_=(0,h.inject)("$v2Api","$router")(u=(0,h.observer)((d=c=function(e){function t(e){w(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.store=new k,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}
2(t,p.default.Component),f(t,[{key:"componentDidMount",value:function(){this.store.load(this.props.$v2Api)}},{key:"render",value:function(){var e=this.store,t=this.store.data;this.props.$router;return e.loaded?p.default.createElement("div",null,p.default.createElement("p",null,"(",p.default.createElement(g.default,{href:"/guildnavigator2"},"View by game activity..."),")"),"Teachers:",p.default.createElement("ul",null,t.map(function(e){return p.default.createElement("li",{key:e.teacher.pid},p.default.createElement(g.default,{to:"/user/"+e.teacher.slug},e.teacher.name),p.default.createElement("ul",null,e.teacher.ax.signup_interest_attrs&&p.default.createElement("li",null,"signup interest_attrs:",p.default.createElement("ul",null,Object.keys(e.teacher.ax.signup_interest_attrs).map(function(t){return p.default.createElement("li",{key:t},t,": ",e.teacher.ax.signup_interest_attrs[t])}))),e.teacher.last_seen_unix&&p.default.createElement("li",null,"Last seen"," ",new Date(1e3*e.teacher.last_seen_unix).toTimeString()," ","(",Math.round(((new Date).getTime()/1e3-e.teacher.last_seen_unix)/60/60*100)/100," ","hours ago)"),0===e.classrooms.length&&p.default.createElement("li",null,"no classrooms"),e.classrooms.map(function(t){return p.default.createElement("li",{key:t.classroom_pid},"Classroom: ",t.name,p.default.createElement("form",{style:{display:"inline-block"},method:"get",action:"/v2api/su"},p.default.createElement("input",{type:"hidden",name:"name",value:e.teacher.name}),p.default.createElement("input",{type:"hidden",name:"redir",value:"/classroom/"+t.classroom_pid}),p.default.createElement("button",{type:"submit"},"sudo visit"))," ","(",t.num_students," students)",p.default.createElement("ul",null,0===t.games.length&&p.default.createElement("li",null,"no games"),t.games.map(function(e){return p.default.createElement("li",{key:e.game_pid},p.default.createElement(g.default,{to:"/game/"+e.slug},e.name)," ","(",e.num_students," students)")})))}),0===e.decks.length&&p.default.createElement("li",null,"no decks"),e.decks.map(function(e){return p.default.createElement("li",{key:e.game_pid},"Storyworld:"," ",p.default.createElement(g.default,{to:"/deck/"+e.slug},e.name)," ",JSON.stringify(e.deck_scopes))})))}))):p.default.createElement("h4",null,"loading...")}}]),t}(),c.propTypes={$v2Api:m.default.object.isRequired,$router:m.default.object.isRequired},u=d))||u)||u;t.default=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=y(r(37)),l=y(r(27)),s=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),u=y(r(1)),c=r(11),d=y(r(81)),f=r(9),p=y(r(42)),m=y(r(0)),h=(y(r(15)),y(r(13)));function y(e){return e&&e.__esModule?e:{default:e}}var g=(0,f.inject)("$sdb","$dashboard","$gameplay","$authUser")(n=(0,f.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,u.default.Component),s(t,[{key:"componentDidMount",value:function(){this.props.$sdb.fetchAvailableDecks()}},{key:"render",value:function(){var e=this.props.$sdb,t=this.props.$dashboard,r=this.props.$gameplay,n=this.props.$authUser.is_teacher;if(!(n?t.ready:!e.availableDecksLoading))return u.default.createElement(p.default,null);var a=void 0;return a=n?(0,l.default)((0,i.default)(t.dashboard.decks),function(e){return t.dashboard.available_decks_pid_list.indexOf(e.gamePid)>=0}):e.availableDecks,u.default.createElement("div",{"data-p":"new_game_page"},u.default.createElement("h2",{className:"mb0"},"Create a game"),u.default.createElement("hr",{className:"mt5 mb30"}),u.default.createElement("p",null,"To create a game, first choose a ",u.default.createElement("strong",null,"storyworld"),". Storyworlds give you all the tools you need to play a game and tell a specific kind of story."),r.gameCreation.authUserCanCreateDecks&&u.default.createElement("p",null,"If you donât see a storyworld y
2ou like, you can"," ",u.default.createElement(h.default,{onClick:r.gameCreation.createNewDeckAndRedirect},"create your own")," ","instead."),u.default.createElement("div",{className:"mb40"}),u.default.createElement(c.Row,null,a.map(function(e){return u.default.createElement(c.Col,{key:e.gamePid,xs:12,md:6},u.default.createElement(d.default,{vob:e,link:!0}))}),0===a.length&&u.default.createElement(c.Col,{key:"empty",xs:12,md:6},u.default.createElement("p",null,u.default.createElement("em",null,"There are currently no storyworlds to choose from. Ask your teacher to add or create one!")))))}}]),t}(),a.propTypes={$sdb:m.default.object.isRequired,$dashboard:m.default.object.isRequired,$gameplay:m.default.object.isRequired,$authUser:m.default.object.isRequired},n=o))||n)||n;t.default=g},,function(e,t,r){},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h=C(r(95)),y=C(r(31)),g=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),b=C(r(1)),v=r(9),w=r(11),E=C(r(0)),k=(C(r(63)),C(r(102))),_=C(r(42));function C(e){return e&&e.__esModule?e:{default:e}}function S(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function P(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function O(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var T=(0,v.inject)("$classrooms","$v2Api")(n=(0,v.observer)((o=a=function(e){function t(){var e,r,n;S(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=P(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.clearCheckInterval=function(){n.checkInterval&&(window.clearInterval(n.checkInterval),delete n.checkInterval)},n.libsAreLoaded=function(){return void 0!==window.AmCharts&&(void 0!==window.AmCharts.AmRectangularChart&&(void 0!==window.AmCharts.themes&&(void 0!==window.AmCharts.themes.light&&(void 0!==window.AmCharts.translations&&void 0!==window.AmCharts.translations.dataLoader))))},n.csvDataUrl=function(){var e=new k.default(window.location.href);e=e.path("/v2api/classroom/graph_data");var t=n.props.$v2Api.generateNewDefaultGetParams();return t.classroom_pid=n.props.$classrooms.details.classroom.pid,t.by=n.props.by,n.props.gamePid&&(t.game_pid=n.props.gamePid),n.props.studentPid&&(t.user_pid=n.props.studentPid),(e=e.search(t)).toString()},n.renderGraph=function(){n.clearCheckInterval();var e=n.props.by;if("game"===e&&!n.props.gamePid||"student"===e&&!n.props.studentPid)return n.chart&&AmCharts.clear(),void(n.chart=void 0);AmCharts.loadFile(n.csvDataUrl(),{},function(t){var r=AmCharts.parseCSV(t,{useColumnNames:!0}),a=(0,y.default)(r[0]);(0,h.default)(a,"Date"),(0,h.default)(a,"balloon_txt"),"student"===e&&(0,h.default)(a,"Total"),"all"===e&&(a=["Total"]);var o=a.length>6||"all"===e,i=function(){return a.map(function(t){return function(t){var r="Total"===t||"student"===e,n={bullet:"round",bulletBorderThickness:1,hideBulletsCount:30,title:t,valueField:t,fillAlphas:0};return o?(n.balloonText="[[balloon_txt]]","game"===e&&(n.showBalloon=r),r||(n.balloonText="[[title]]: [[value]]")):"game"===e&&(n.balloonText="[[title]]: [[value]]"),"Total"!==t&&"student"!==e||(n.lineThickness=3),n}(t)})};if(n.chart)n.chart.dataProvider=r,n.chart.graphs=i(),n.chart.validateData();else{n.chart=AmCharts.makeChart("chart-div",{type:"serial",theme:"light",autoResize:!1,legend:{position:"bottom",useGraphSettings:!0,divId:"legend-div"},dataProvider:r,synchronizeGrid:!0,graphs:i(),chartScrollbar:{},chartCursor:{cursorPosition:"mouse"},categoryField:"Date",categoryAxis:{parseDates:!0,axisColor:"#DADADA",minorGridEnabled:!0}});var l=function(){n.chart.zoomToIndexes(n.chart.dataProvider.length-40,n.chart.dataProvider.length-1)};n.chart.addListener("rendered",l),l()}})},P(n,r)}
2return O(t,b.default.Component),g(t,[{key:"componentDidMount",value:function(){var e=this;this.libsAreLoaded()?this.renderGraph():this.checkInterval=window.setInterval(function(){e.libsAreLoaded()&&e.renderGraph()},100)}},{key:"componentDidUpdate",value:function(e){e.by===this.props.by&&e.studentPid===this.props.studentPid&&e.gamePid===this.props.gamePid||this.renderGraph()}},{key:"componentWillUnmount",value:function(){this.clearCheckInterval(),"undefined"!=typeof AmCharts&&AmCharts.clear()}},{key:"render",value:function(){this.props.$classrooms,this.props.by;return b.default.createElement("div",{id:"chart-container","data-p":"word_graph"},b.default.createElement("h4",null,"Words written by date"),b.default.createElement("div",{id:"chart-div",style:{height:"300px"}}),b.default.createElement("div",{id:"legend-container"},b.default.createElement("div",{id:"legend-div"})),b.default.createElement("p",{id:"footnote"},b.default.createElement("em",null,"Use the bar at the top of the chart to pan or zoom the graph. Note that dates are in US Pacific Time.")))}}]),t}(),a.propTypes={$classrooms:E.default.object.isRequired,$v2Api:E.default.object.isRequired,by:E.default.string.isRequired,gamePid:E.default.string,studentPid:E.default.string},a.defaultProps={gamePid:void 0,studentPid:void 0},n=o))||n)||n,j=(0,v.inject)("$classrooms")(i=(0,v.observer)((s=l=function(e){function t(){return S(this,t),P(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return O(t,b.default.Component),g(t,[{key:"render",value:function(){var e=this.props.$classrooms,t=this.props.by,r=void 0;"all"===t&&(r=e.stats.all),"game"===t&&(r=e.stats.by_game[this.props.gamePid]||{}),"student"===t&&(r=e.stats.by_student[this.props.studentPid]||{});var n=e.stats.key_order,a={cards_played:"Cards played",games_completed:"Games completed",games_started:"Games started",moves:"Moves made (all types)",moves_mkFlashback:"Moves made (flashbacks)",scenes_completed:"Scenes completed",scenes_started:"Scenes started",word_ct:"Words written",avg_words:"Average words/character",images_uploaded:"Images uploaded",move_edits:"Move edits made",characters_created:"Characters created",successes:"Successes",setbacks:"Setbacks",epilogues_won:"Epilogues won"};return b.default.createElement("table",{className:"edu-stats","data-p":"stats_table"},b.default.createElement("tbody",null,n.map(function(e){return void 0!==r[e]&&b.default.createElement("tr",{key:e,"data-p":e},b.default.createElement("td",{"data-p":"name"},a[e]),b.default.createElement("td",{"data-p":"value"},r[e]))})))}}]),t}(),l.propTypes={$classrooms:E.default.object.isRequired,by:E.default.string.isRequired,gamePid:E.default.string,studentPid:E.default.string},l.defaultProps={gamePid:void 0,studentPid:void 0},i=s))||i)||i,x=(0,v.inject)("$classrooms","$userInfo")(u=(0,v.observer)((d=c=function(e){function t(){return S(this,t),P(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return O(t,b.default.Component),g(t,[{key:"render",value:function(){var e=this,t=this.props.$classrooms,r=this.props.by;if("student"===r)return null;var n=void 0;if("all"===r&&(n=t.stats.all.leaderboard),"game"===r){if(!this.props.gamePid)return null;n=t.stats.by_game[this.props.gamePid].leaderboard}return n.length?b.default.createElement("div",null,b.default.createElement("p",null,"Overall word count totals per student:"),b.default.createElement("table",{className:"edu-stats",style:{width:"auto"}},b.default.createElement("tbody",null,n.map(function(t){return b.default.createElement("tr",{key:t.user_pid},b.default.createElement("td",null,e.props.$userInfo.displayName(t.user_pid)),b.default.createElement("td",null,t.word_ct))})))):null}}]),t}(),c.propTypes={$classrooms:E.default.object.isRequired,$userInfo:E.default.object.isRequired,by:E.default.string.isRequired,gamePid:E.default.string,studentPid:E.default.string},c.defaultProps={gamePid:void 0,studentPid:void 0},u=d))||u)||u,M=(0,v.inject)("$classrooms")(f=(0,v.observer)((m=p=function(e){function t(){return S(this,t),P(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}
2return O(t,b.default.Component),g(t,[{key:"componentDidMount",value:function(){if(window&&window.document&&!window._amcharts_included){window._amcharts_included=!0;var e=window.document.createElement("script");e.src="/static/amcharts/amcharts-combined.35fd0844af051415b0e249e8e3dd1a5b.js",e.dataset.p="amcharts_include",document.body.appendChild(e)}}},{key:"render",value:function(){var e=this.props.$classrooms;if(!e.stats)return b.default.createElement(_.default,null);var t=e.statsBy,r=e.statsGamePid,n=e.statsUserPid,a=e.details.games,o=e.details.students,i=!1;return"all"===t?i=e.stats.all.word_ct>0:"game"==t?r&&(i=e.stats.by_game[r].word_ct>0):"student"==t&&n&&(i=e.stats.by_student[n].word_ct>0),b.default.createElement("div",{className:"mb40","data-p":"stats_tab_content"},b.default.createElement(w.Well,null,b.default.createElement("form",{className:"form-inline mb2",onSubmit:function(){}},b.default.createElement("p",{className:"nom"},"Show stats for:Â ",b.default.createElement("select",{value:t,onChange:function(t){return e.setStatsBy(t.target.value)},"data-p":"stats_by_select"},b.default.createElement("option",{value:"all"},"classroom totals"),b.default.createElement("option",{value:"game"},"a game"),b.default.createElement("option",{value:"student"},"a student")),"Â ","game"===t&&b.default.createElement("select",{value:r,onChange:function(t){return e.setStatsGamePid(t.target.value)},"data-p":"game_selector"},b.default.createElement("option",{value:""},"--- choose a game ---"),a.map(function(e){return b.default.createElement("option",{key:e.gamePid,value:e.gamePid},e.name)})),"Â ","student"===t&&b.default.createElement("select",{value:n,onChange:function(t){return e.setStatsUserPid(t.target.value)},"data-p":"student_selector"},b.default.createElement("option",{value:""},"--- choose a student ---"),o.map(function(e){return b.default.createElement("option",{key:e.pid,value:e.pid},e.name)}))))),i?b.default.createElement(T,{by:t,gamePid:r,studentPid:n}):b.default.createElement("div",null,b.default.createElement("hr",null),b.default.createElement("p",{"data-p":"blank_slate",style:{paddingBottom:"10px"}},b.default.createElement("em",null,"Once there is writing activity to report, a graph will render here of words written over time."))),b.default.createElement(j,{by:t,gamePid:r,studentPid:n}),b.default.createElement(x,{by:t,gamePid:r,studentPid:n}),b.default.createElement("p",null,b.default.createElement("em",null,"Note: this report includes student activity only. If you, the teacher, are participating in any games then your own activity (words written, moves made, etc.) will not be counted here.")))}}]),t}(),p.propTypes={$classrooms:E.default.object.isRequired},f=m))||f)||f;t.default=M},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f=S(r(35)),p=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),m=S(r(1)),h=r(9),y=r(12),g=r(11),b=S(r(81)),v=S(r(0)),w=S(r(63)),E=S(r(15)),k=S(r(539));r(538);S(r(13));var _=S(r(97)),C=S(r(42));function S(e){return e&&e.__esModule?e:{default:e}}function P(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function O(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function T(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var j=(0,h.inject)("$classrooms")(n=(0,h.observer)((o=a=function(e){function t(){return P(this,t),O(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return T(t,m.default.Component),p(t,[{key:"render",value:function(){var e=this.props.$classrooms,t=e.details.students;t=(0,f.default)(t,function(e){return e.name.toLowerCase()});var r=!(window&&window.g.headlessNoAnimateModals);return m.default.createElement("div",{"data-p":"students_tab_content"},m.default.createElement(g.ListGroup,{style:{marginBottom:20}},t.map(function(t){return m.default.createElement(g.ListGroupItem,{key:t.pid,"data-p":"student_row","data-
2pid":t.pid,className:"flex-row-justify"},m.default.createElement("span",{"data-p":"student_name","data-pid":t.pid},t.name),m.default.createElement("span",null,m.default.createElement(y.ActionButton,{bsStyle:"default",label:"Edit","data-p":"edit_btn",onClick:function(){return e.popRenameStudentModal(t)}}),"Â ",m.default.createElement(y.ActionButton,{bsStyle:"default",label:"Delete","data-p":"delete_btn",onClick:function(){return e.popDeleteStudentModal(t)}})))}),0===t.length&&m.default.createElement("span",{"data-p":"blank_slate"},"None yet.")),m.default.createElement("div",{className:"flex-row-justify"},m.default.createElement(y.ActionButton,{onClick:e.popCreateStudentModal,label:"Create student","data-p":"create_student_btn",style:{marginBottom:20}})),m.default.createElement(g.Modal,{animation:r,keyboard:!1,backdrop:"static",show:"createStudent"===e.showModal,onHide:e.clearModal},m.default.createElement(g.Modal.Header,{"data-p":"create_student_modal",closeButton:!0},"Create a student"),m.default.createElement(g.Modal.Body,null,m.default.createElement("p",null,"Please choose a nickname for your student. Each nickname must be unique within the classroom, and can only contain letters and numbers (e.g. âJennyAâ)."),e.softError&&m.default.createElement(g.Alert,{bsStyle:"danger","data-p":"soft_error"},e.softError),m.default.createElement("form",{className:"form-inline",onSubmit:function(t){t.preventDefault(),e.mainValueHasContent&&e.doCreateStudent()}},m.default.createElement("div",{className:"form-group"},m.default.createElement("label",{htmlFor:"studentName"},"Name:")," ",m.default.createElement("input",{id:"studentName","data-p":"student_name_input",style:{width:"20em"},autoFocus:!0,value:e.modalMainInputValue,onChange:function(t){return e.setModalMainInputValue(t.target.value)}})),m.default.createElement("div",{className:"form-group"},m.default.createElement(g.Checkbox,{"data-p":"under_13_checkbox",checked:e.modalCheckboxValue,onChange:function(t){return e.setModalCheckboxValue(t.target.checked)}}," ","Under 13 (image uploads disabled)")))),m.default.createElement(g.Modal.Footer,null,m.default.createElement(y.Footer,null,m.default.createElement(y.CancelButton,{onClick:e.clearModal,"data-p":"cancel_btn"}),m.default.createElement(y.DoneButton,{"data-p":"confirm_btn",disabled:!e.mainValueHasContent,onClick:e.doCreateStudent,spinning:e.spinning})))),m.default.createElement(g.Modal,{animation:r,keyboard:!1,backdrop:"static",show:"renameStudent"===e.showModal,onHide:e.clearModal},m.default.createElement(g.Modal.Header,{"data-p":"rename_student_modal",closeButton:!0},"Edit student"),m.default.createElement(g.Modal.Body,null,m.default.createElement("p",null,"You can change a studentâs name at any time, but every student must have a unique name in the classroom."),e.softError&&m.default.createElement(g.Alert,{bsStyle:"danger"},e.softError),m.default.createElement("form",{className:"form-inline",onSubmit:function(t){t.preventDefault(),e.mainValueHasContent&&e.doEditStudent()}},m.default.createElement("div",{className:"form-group"},m.default.createElement("label",{htmlFor:"studentName"},"Name:")," ",m.default.createElement("input",{id:"studentName",style:{width:"20em"},autoFocus:!0,value:e.modalMainInputValue,onChange:function(t){return e.setModalMainInputValue(t.target.value)},"data-p":"student_name_input"})),m.default.createElement("div",{className:"form-group"},m.default.createElement(g.Checkbox,{checked:e.modalCheckboxValue,onChange:function(t){return e.setModalCheckboxValue(t.target.checked)},"data-p":"under_13_checkbox"}," ","Under 13 (image uploads disabled)")))),m.default.createElement(g.Modal.Footer,null,m.default.createElement(y.Footer,null,m.default.createElement(y.CancelButton,{onClick:e.clearModal,"data-p":"cancel_btn"}),m.default.createElement(y.DoneButton,{disabled:!e.studentAttrsChanged||!e.mainValueHasContent,onClick:e.doEditStudent,spinning:e.spinning,"data-p":"confirm_btn"})))),m.default.createElement(g.Modal,{animation:r,show:"deleteStudent"===e.showModal,onHide:e.clearModal},m.default.createElement(g.Modal.Header,{"data-p":"delete_student_modal",closeButton:!0},"Delete this student"),m.default.createElement(g.Modal.Body,null,m.default.createElement("p",null,"Are you sure you wish to delete this student?"),e.softError&&m.default.createElement(g.Alert,{bsStyle:"danger"},e.softError)),m.default.createElement(g.Modal.Footer,null,m.default.createElement(y.Footer,null,m.default.createElement(y.CancelButton,{onClick:e.clearModal,"data-p":"cancel_bt
2n"}),m.default.createElement(y.DoneButton,{onClick:e.doDeleteStudent,spinning:e.spinning,"data-p":"confirm_btn"})))))}}]),t}(),a.propTypes={$classrooms:v.default.object.isRequired},n=o))||n)||n,x=(0,h.inject)("$classrooms")(i=(0,h.observer)((s=l=function(e){function t(){return P(this,t),O(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return T(t,m.default.Component),p(t,[{key:"render",value:function(){var e=this.props.$classrooms,t=e.details.games;window&&window.g.headlessNoAnimateModals;return m.default.createElement("div",{"data-p":"games_tab_content"},m.default.createElement("div",{style:{marginBottom:"20px"}},t.map(function(t){return m.default.createElement("div",{style:{paddingBottom:"10px"},key:t.game_pid},m.default.createElement(b.default,{vob:t,link:!0,deleteLink:!0,onDeleted:e.removeGame}))}),0===t.length&&m.default.createElement("p",{"data-p":"blank_slate"},"None yet.")),m.default.createElement("div",{className:"flex-row-justify"},m.default.createElement(y.ActionButton,{label:"Create a game",style:{marginBottom:"20px"},href:"/game/new","data-p":"create_game_btn"})))}}]),t}(),l.propTypes={$classrooms:v.default.object.isRequired},i=s))||i)||i,M=(0,h.inject)("$classrooms","$router","$tabMemory")(u=(0,h.observer)((d=c=function(e){function t(){return P(this,t),O(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}
2return T(t,m.default.Component),p(t,[{key:"componentWillMount",value:function(){this.props.$classrooms.loadStats({reload:!0})}},{key:"render",value:function(){var e=this.props.$classrooms;if(!e.loaded)return m.default.createElement(C.default,null);if(!e.details)return!1;var t=this.props.$tabMemory,r=e.details.classroom;if(!r)return m.default.createElement(C.default,null);e.details.students,e.details.games;var n=!(window&&window.g.headlessNoAnimateModals);return m.default.createElement("div",null,m.default.createElement("div",{style:{marginBottom:50}},m.default.createElement(w.default,{id:"classroom-detail"},"Classrooms are virtual spaces where students play and learn together. If âStudent self sign-upâ is turned on you can share this classroomâs code with your students and send them to",m.default.createElement("strong",null," storiumedu.com")," to sign up. Or, you can create student accounts yourself."),m.default.createElement("div",{className:"flex-row-justify"},m.default.createElement("h2",{style:{marginBottom:0,marginTop:0},id:"t__class_details_name_heading","data-p":"class_name_heading"},r.name),m.default.createElement("span",{className:"no-wrap"},m.default.createElement(y.ActionButton,{bsStyle:"default",label:"Rename",onClick:e.popRenameClassroomModal,"data-p":"rename_btn"}),"Â ",m.default.createElement(y.ActionButton,{bsStyle:"default",label:"Delete",id:"t__delete_class_btn",onClick:e.popDeleteClassroomModal,"data-p":"delete_btn"}))),m.default.createElement("hr",{style:{marginTop:5,marginBottom:20}}),m.default.createElement("div",{className:"flex-row-justify mobile-columnify",style:{marginBottom:20}},m.default.createElement("span",{style:{paddingRight:70}},m.default.createElement("span",{style:{fontSize:"120%"}},"Classroom code:"," ",m.default.createElement("strong",{"data-p":"shortcode",style:{color:"#090"}},r.shortcode)),m.default.createElement("br",null),"Students can use this code to log into StoriumEdu by visiting"," ",m.default.createElement("strong",null,"storiumedu.com")," and clicking the âEnter class codeâ button."),m.default.createElement("span",null,m.default.createElement("label",{htmlFor:"toggle_self_signup",className:"no-wrap"},r.self_signup_enabled?m.default.createElement("span",{id:"t__self_signup_enabled"},"Student self sign-up"," ",m.default.createElement(_.default.Span,{spinning:e.togglingSelfSignup,black:!0},m.default.createElement(E.default,{size:"2x",style:{color:"#090",verticalAlign:"middle"},name:"toggle-on",onClick:e.toggleSelfSignup}))):m.default.createElement("span",{id:"t__self_signup_disabled"},"Student self sign-up"," ",m.default.createElement(_.default.Span,{spinning:e.togglingSelfSignup,black:!0},m.default.createElement(E.default,{size:"2x",style:{color:"#999",verticalAlign:"middle"},name:"toggle-off",onClick:e.toggleSelfSignup}))),m.default.createElement("input",{id:"toggle_self_signup",type:"checkbox",className:"sr-only",checked:!!r.self_signup_enabled,onChange:e.toggleSelfSignup}))))),m.default.createElement(g.Tabs,{activeKey:t.selectedTab("classroomDetails","students"),onSelect:t.setSelectedTabFn("classroomDetails"),animation:!1,id:"classroom-details-tabs",mountOnEnter:!0,unmountOnExit:!0},m.default.createElement("div",{style:{marginBottom:"20px"}}),m.default.createElement(g.Tab,{eventKey:"students",title:"Students",tabClassName:"t__students_tab"},m.default.createElement(j,null)),m.default.createElement(g.Tab,{eventKey:"games",title:"Games",tabClassName:"t__games_tab"},m.default.createElement(x,null)),m.default.createElement(g.Tab,{eventKey:"stats",title:"Stats",tabClassName:"t__stats_tab"},m.default.createElement(k.default,null))),m.default.createElement(g.Modal,{animation:n,keyboard:!1,backdrop:"static",show:"changeShortcode"===e.showModal,onHide:e.clearModal},m.default.createElement(g.Modal.Header,{closeButton:!0},"Change classroom code"),m.default.createElement(g.Modal.Body,null,m.default.createElement("p",null,"Students for this classroom log in using their assigned name along with this code. The code is case-sensitive and must be unique for every classroom."),m.default.createElement("p",null,"We recommend using a random sequence of letters and numbers, and having everyone write it down instead of trying to make it memorable."),e.softError&&m.default.createElement(g.Alert,{bsStyle:"danger"},e.softError),m.default.createElement("form",{className:"form-inline",onSubmit:function(t){t.preventDefault(),e.mainValueHasContent&&e.doChangeShortcode()}},m.default.createElement("div",{className:"form-group"},m.default.createElement("label",{htmlFor:"classroomShortcode"},"Code:")," ",m.default.createElement("input",{id:"classroomShortcode",style:{width:"20em"},autoFocus:!0,value:e.modalMainInputValue,onChange:function(t){return e.setModalMainInputValue(t.target.value)}})))),m.default.createElement(g.Modal.Footer,null,m.default.createElement(y.Footer,null,m.default.createElement(y.CancelButton,{onClick:e.clearModal}),m.default.createElement(y.DoneButton,{disabled:!e.mainValueHasContent,onClick:e.doChangeShortcode,spinning:e.spinning})))),m.default.createElement(g.Modal,{animation:n,keyboard:!1,backdrop:"static",show:"renameClass"===e.showModal,onHide:e.clearModal},m.default.createElement(g.Modal.Header,{"data-p":"rename_classroom_modal",closeButton:!0},"Rename classroom"),m.default.createElement(g.Modal.Body,null,e.softError&&m.default.createElement(g.Alert,{bsStyle:"danger"},e.softError),m.default.createElement("form",{className:"form-inline",onSubmit:function(t){t.preventDefault(),e.mainValueHasContent&&e.doRenameClass()}},m.default.createElement("div",{className:"form-group"},m.default.createElement("label",{htmlFor:"classroomName"},"Name:")," ",m.default.createElement("input",{id:"classroomName","data-p":"rename_input",style:{width:"20em"},autoFocus:!0,value:e.modalMainInputValue,onChange:function(t){return e.setModalMainInputValue(t.target.value)}})))),m.default.createElement(g.Modal.Footer,null,m.default.createElement(y.Footer,null,m.default.createElement(y.CancelButton,{onClick:e.clearModal,"data-p":"cancel_bt
2n"}),m.default.createElement(y.DoneButton,{"data-p":"confirm_btn",disabled:!e.mainValueHasContent,onClick:e.doRenameClass,spinning:e.spinning})))),m.default.createElement(g.Modal,{animation:n,show:"cantDeleteClassroom"===e.showModal,onHide:e.clearModal},m.default.createElement(g.Modal.Header,{"data-p":"cant_delete_classroom_modal",closeButton:!0},"This classroom canât be deleted yet"),m.default.createElement(g.Modal.Body,null,m.default.createElement("p",null,"A classroom that has games or students in it cannot be deleted. Please first delete each game and each student.")),m.default.createElement(g.Modal.Footer,null,m.default.createElement(y.Footer,null,m.default.createElement(y.CancelButton,{onClick:e.clearModal,"data-p":"cancel_btn"})))),m.default.createElement(g.Modal,{animation:n,show:"deleteClassroom"===e.showModal,onHide:e.clearModal},m.default.createElement(g.Modal.Header,{"data-p":"delete_classroom_modal",closeButton:!0},"Delete this classroom"),m.default.createElement(g.Modal.Body,null,m.default.createElement("p",null,"Since this classroom is emtpy it can be safely deleted. Are you sure you want to delete it?")),m.default.createElement(g.Modal.Footer,null,m.default.createElement(y.Footer,null,m.default.createElement(y.CancelButton,{onClick:e.clearModal,"data-p":"cancel_btn"}),m.default.createElement(y.DoneButton,{id:"t__confirm_delete_class_btn","data-p":"confirm_btn",onClick:e.doDeleteClassroom,spinning:e.spinning})))),m.default.createElement("div",{className:"mb80"}))}}]),t}(),c.propTypes={$classrooms:v.default.object.isRequired,$router:v.default.object.isRequired,$tabMemory:v.default.object.isRequired},u=d))||u)||u;t.default=M},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return e&&e.__esModule?e:{default:e}}(r(1));t.default=function(){return n.default.createElement("div",{"data-p":"access-denied-page",style:{margin:"0 auto",padding:"100px 50px 50px",textAlign:"center",maxWidth:"500px"}},n.default.createElement("h2",null,"Oops, you do not have access to this page."),n.default.createElement("p",null,"The page you requested is not visible to you. You need to be logged in as a user who has permission to view it."))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=d(r(1)),s=d(r(0)),u=r(9),c=d(r(13));function d(e){return e&&e.__esModule?e:{default:e}}var f=(0,u.inject)("$authUser")(n=(0,u.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){return this.props.$authUser.pid?l.default.createElement("div",null,l.default.createElement("p",null,"To log out, please use the link in the header at the top of the page.")):l.default.createElement("div",null,l.default.createElement("p",null,"You have logged out."),l.default.createElement("p",null,l.default.createElement(c.default,{to:"/login"},"Log in again")," or"," ",l.default.createElement(c.default,{to:"/"},"return to home.")))}}]),t}(),a.propTypes={$authUser:s.default.object.isRequired},n=o))||n)||n;t.default=f},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),c=v(r(1)),d=v(r(0)),f=r(10),p=r(9),m=v(r(13)),h=r(12),y=r(11),g=v(r(97)),b=v(r(15));
2function v(e){return e&&e.__esModule?e:{default:e}}function w(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function E(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function k(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var _=(0,p.inject)("$signup")(n=(0,p.observer)((s=l=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,l=Array(a),s=0;s<a;s++)l[s]=arguments[s];return r=n=E(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),w(n,"showPass",o,n),w(n,"toggleShowPass",i,n),E(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,c.default.Component),u(t,[{key:"componentDidMount",value:function(){this.autoFocusInput&&this.autoFocusInput.focus()}},{key:"render",value:function(){var e=this,t=this.props.$signup;return c.default.createElement("div",null,c.default.createElement("div",{style:{textAlign:"center"}},c.default.createElement("h2",null,"Signup for StoriumEDU"),c.default.createElement("p",null,"Start your ",c.default.createElement("strong",null,"30-day free trial")," today. Become a subscriber at any time!")),c.default.createElement("div",{style:{paddingBottom:"20px"}}),c.default.createElement(y.Panel,null,c.default.createElement("form",{onSubmit:function(e){e.preventDefault(),t.submit()}},c.default.createElement(y.FormGroup,null,c.default.createElement(y.ControlLabel,{style:{display:"block"}},c.default.createElement("div",{className:"flex-row-justify gapped"},c.default.createElement("div",null,"User name"),c.default.createElement("div",null,"checking"===t.nameAvailability&&c.default.createElement("span",{style:{marginLeft:"10px"}},c.default.createElement(g.default,{black:!0})," ",c.default.createElement("em",null,"checking...")),"available"===t.nameAvailability&&c.default.createElement("span",{style:{color:"#090"},"data-p":"username-available"},"is available ",c.default.createElement(b.default,{name:"check-circle"})),"unavailable"===t.nameAvailability&&c.default.createElement("span",{style:{color:"#f00"},"data-p":"username-unavailable"},c.default.createElement(b.default,{name:"times-circle"})," unavailable"),"required"===t.nameError&&c.default.createElement("span",{style:{color:"#f00"}},c.default.createElement(b.default,{name:"times-circle"})," required"),"badChars"===t.nameError&&c.default.createElement("span",{style:{color:"#f00"}},c.default.createElement(b.default,{name:"times-circle"})," letters & numbers only"),"tooShort"===t.nameError&&c.default.createElement("span",{style:{color:"#f00"}},c.default.createElement(b.default,{name:"times-circle"})," too short (4 char min)"),"tooLong"===t.nameError&&c.default.createElement("span",{style:{color:"#f00"}},c.default.createElement(b.default,{name:"times-circle"})," too long (30 char max)")))),c.default.createElement(y.FormControl,{"data-p":"username-input",type:"text",value:t.name,autoComplete:"username",onChange:function(e){return t.setField("name",e.target.value)},inputRef:function(t){e.autoFocusInput=t}}),c.default.createElement("p",{style:{fontSize:"85%",color:"#777",margin:"5px 0 0 0"}},"Visible to other teachers and parents. Example: MsWilliams")),c.default.createElement(y.FormGroup,null,c.default.createElement(y.Control
2Label,{style:{display:"block"}},c.default.createElement("div",{className:"flex-row-justify gapped"},c.default.createElement("div",null,"Email"),c.default.createElement("div",null,t.emailError&&c.default.createElement("span",{style:{color:"#f00"}},c.default.createElement("i",{className:"fa fa-times-circle"})," ","required"===t.emailError&&c.default.createElement("span",null,"required"),"invalid"===t.emailError&&c.default.createElement("span",null,"invalid email"),"unavailable"===t.emailError&&c.default.createElement("span",{"data-p":"email-unavailable"},"already in use by another account"))))),c.default.createElement(y.FormControl,{"data-p":"email-input",type:"email",autoComplete:"email",value:t.fields.email,onChange:function(e){t.setField("email",e.target.value)}})),c.default.createElement(y.FormGroup,null,c.default.createElement(y.ControlLabel,{style:{display:"block"}},c.default.createElement("div",{className:"flex-row-justify gapped"},c.default.createElement("div",null,"Password"),c.default.createElement("div",null,t.passwordError&&c.default.createElement("span",{style:{color:"#f00"}}," ",c.default.createElement(b.default,{name:"times-circle"})," ","required"===t.passwordError&&c.default.createElement("span",{"data-p":"pwd-required"},"required"),"tooShort"===t.passwordError&&c.default.createElement("span",{"data-p":"pwd-too-short"}," too short (8 character min)"),"tooLong"===t.passwordError&&c.default.createElement("span",{"data-p":"pwd-too-long"}," too long (40 character max)"),"noUsername"===t.passwordError&&c.default.createElement("span",{"data-p":"pwd-no-username"}," cannot include username"),"tooCommon"===t.passwordError&&c.default.createElement("span",{"data-p":"pwd-too-common"}," too common (please choose something more unique and harder to guess)"))))),c.default.createElement(y.InputGroup,null,c.default.createElement(y.FormControl,{type:this.showPass?"text":"password","data-p":"password-input",autoComplete:"new-password",value:t.fields.password,onChange:function(e){t.setField("password",e.target.value)}}),c.default.createElement(y.InputGroup.Addon,null,c.default.createElement(m.default,{title:"Show or hide your password",onClick:this.toggleShowPass},c.default.createElement(b.default,{name:this.showPass?"eye-slash":"eye"}))))),c.default.createElement(y.FormGroup,null,c.default.createElement(y.ControlLabel,{style:{display:"block"}},c.default.createElement("div",{className:"flex-row-justify gapped"},c.default.createElement("div",null,"Your role"),c.default.createElement("div",null,t.roleError&&c.default.createElement("span",{style:{color:"#f00"}}," ",c.default.createElement(b.default,{name:"times-circle"})," ","required"===t.roleError&&c.default.createElement("span",null,"required"))))),c.default.createElement("div",{className:"flex-row-justify mobile-columnify pack-left gapped"},c.default.createElement(y.Radio,{"data-p":"role-input-teacher",name:"role",value:"teacher",checked:"teacher"===t.fields.role,onChange:function(e){t.setField("role",e.target.value)}},"Teacher"),c.default.createElement(y.Radio,{"data-p":"role-input-parent",name:"role",value:"parent",checked:"parent"===t.fields.role,onChange:function(e){t.setField("role",e.target.value)}},"Parent"),c.default.createElement(y.Radio,{"data-p":"role-input-homeschooler",name:"role",value:"homeschooler",checked:"homeschooler"===t.fields.role,onChange:function(e){t.setField("role",e.target.value)}},"Homeschooler"),c.default.createElement(y.Radio,{"data-p":"role-input-admin",name:"role",value:"administrator",checked:"administrator"===t.fields.role,onChange:function(e){t.setField("role",e.target.value)}},"Administrator"),c.default.createElement(y.Radio,{"data-p":"role-input-other",name:"role",value:"other",checked:"other"===t.fields.role,onChange:function(e){t.setField("role",e.target.value)}},"Other"))),c.default.createElement(h.ActionButton,{block:!0,type:"submit",bsStyle:"primary",disabled:!t.submitReady,spinning:t.spinning,"data-p":"submit-button"},"Sign up")),c.default.createElement("hr",null),c.default.createElement("p",{style:{margin:"0",textAlign:"center"}},"By signing up, you agree to our"," ",c.default.createElement(m.default,{to:"/terms",target:"_blank",className:"bright-blue-link"},"Terms of Service")," ","and"," ",c.default.createElement(m.default,{to:"privacy",target:"_blank",className:"bright-blue-link"},"Privacy policy"),".")))}}]),t}(),l.propTypes={$signup:d.default.object.isRequired},o=k((a=s).prototype,"showPass",[f.observable],{enumerable:!0,initializer:function(){return!1}}),i=k(a.prototype,"toggleShowPass",[f.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.showPass=!e.showPass}}}),n=a))||n)||n;t.default=_},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0});var n=s(r(1)),a=r(9),o=s(r(13)),i=s(r(543)),l=r(11);s(r(15));function s(e){return e&&e.__esModule?e:{default:e}}t.default=(0,a.inject)("$authUser")((0,a.observer)(function(e){return e.$authUser.pid?n.default.createElement("p",{"data-p":"already-signed-in"},"You are already signed in."):n.default.createElement("div",null,n.default.createElement(l.Row,null,n.default.createElement(l.Col,{xs:12,sm:10,smPush:1,md:8,mdPush:2,lg:6,lgPush:3},n.default.createElement(i.default,null))),n.default.createElement(l.Row,null,n.default.createElement(l.Col,{xs:12,sm:10,smPush:1,md:8,mdPush:2,lg:6,lgPush:3},n.default.createElement("div",{style:{textAlign:"center",marginBottom:40}},n.default.createElement("h4",null,n.default.createElement(o.default,{href:"/",target:"_storiumedu"},"Learn more about StoriumEDU"," ",n.default.createElement("span",{className:"fa fa-arrow-circle-right",style:{paddingLeft:"5px"}})))))))}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),m=E(r(1)),h=E(r(0)),y=r(9),g=r(10),b=r(11),v=r(12),w=E(r(13));function E(e){return e&&e.__esModule?e:{default:e}}function k(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function _(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var C=(0,y.inject)("$v2Api","$login","$authUser","$router")(n=(0,y.observer)((f=d=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return k(r,"emailOrUserName",o,r),k(r,"errorMsg",i,r),k(r,"successMsg",l,r),k(r,"spinning",s,r),r.validToSubmit=function(){return!r.spinning&&r.emailOrUserName.trim().length>0},k(r,"setEmailOrUsername",u,r),k(r,"submit",c,r),r.emailOrUserName=e.$authUser.pid?e.$authUser.name:"",r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,m.default.Component),p(t,[{key:"render",value:function(){var e=this;return this.successMsg?m.default.createElement("div",{id:"t__forgot_pwd"},m.default.createElement(b.Panel,{header:m.default.createElement("h1",null,"Forgot password")},m.default.createElement(b.Alert,{bsStyle:"success",id:"t__success_alert"},this.successMsg),m.default.createElement(b.FormGroup,null,m.default.createElement("p",{style:{textAlign:"center"}},m.default.createElement(w.default,{to:"/login",id:"t__return_to_login_link"},"Return to login form"))))):m.default.createElement("div",{id:"t__forgot_pwd"},m.default.createElement(b.Panel,{header:m.default.createElement("h1",null,"Forgot password")},m.default.createElement("p",null,"If youâre a teacher and need to reset your password, please enter your StoriumEdu username or email address. Weâll send you an email with a link that lets you set a new password."),this.errorMsg&&m.default.createElement(b.Alert,{bsStyle:"danger",id:"t__error_alert"},this.errorMsg),m.default.createElement("form",{onSubmit:function(t){t.preventDefault(),e.submit()},id:"t__forgot_pwd_form"},m.default.createElement(b.FormGroup,null,m.default.createElement(b.ControlLabel,null,"User name or email address"),m.default.createElement(b.FormControl,{id:"t__forgotten_pwd_user_name_or_email",type:"text",value:this.emailOrUserName,onChange:this.setEmailOrUsername,autoComplete:"t__forgotten_pwd_user_name_or_email"})),m.default.createElement(b.FormGroup,null,m.default.createElement(v.ActionButton,{block:!0,id:"t__forgotten_pwd_submit_btn",type:"submit",bsStyle:"primary",spinning:this.spinning,disabled:!this.validToSubmit()},"Send reset email")),m.default.createElement(b.FormGroup,null,m.default.createElement("p",{style:{textAlign:"center"}},this.props.$authUser.pid?m.default.createElement(w.default,{id:"t__return_to_profile_link",to:this.props.$router.toPath("userProfileRoute",{name:this.props.$authUser.name})},"Return to your profile"):m.default.createElement(w.default,{id:"t__return_to_login_link",to:"/login"},"Return to login form"))))))}}]),t}(),d.propTypes={$v2Api:h.default.object.isRequired,$login:h.default.object.isRequired,$authUser:h.default.object.isRequired,$router:h.default.object.isRequired},d.defaultProps={},o=_((a=f).prototype,"emailOrUserName",[g.observable],{enumerable:!0,initializer:function(){return""}}),i=_(a.prototype,"errorMsg",[g.observable],{enumerable:!0,initializer:function(){return""}}),l=_(a.prototype,"successMsg",[g.observable],{enumerable:!0,initializer:function(){return""}}),s=_(a.prototype,"spinning",[g.observable],{enumerable:!0,initializer:null}),u=_(a.prototype,"setEmailOrUsername",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.emailOrUserName=t.target.value}}}),c=_(a.prototype,"submit",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.validToSubmit()&&(e.spinning=!0,e.props.$v2Api.commonCall("post","/forgot_pwd",{email_or_user_name:e.emailOrUserName},{minLatency:1e3,noErrorModalIfSoftError:!0}).then((0,g.action)(function(t){e.spinning=!1,e.errorMsg="",e.successMsg=t.data.message})).catch((0,g.action)(function(t){e.spinning=!1,e.successMsg="",e.errorMsg=t&&t.data&&(t.data.soft_error||t.data.message)})))}}}),n=a))||n)||n;t.default=C},function(e,t,r){e.exports=r.p+"assets/TG_Square.4695fee31ff7a4b987626bdd3293d3b5.png"},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=m(r(1)),s=m(r(0)),u=r(9),c=r(11),d=r(12),f=m(r(97)),p=(m(r(546)),m(r(13)));function m(e){return e&&e.__esModule?e:{default:e}}var h=(0,u.inject)("$login")(n=(0,u.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"componentDidMount",value:function(){this.autoFocusInput&&this.autoFocusInput.focus()}},{key:"totpModal",value:function(){var e=this.props.$login;return!!e.require2fa&&l.default.createElement(c.Modal,{show:!0,onHide:e.cancel2faModal},l.default.createElement(c.Modal.Header,{closeButton:!0},"2-factor authentication required"),l.default.createElement(c.Modal.Body,null,l.default.createElement("form",{onSubmit:function(t){t.preventDefault(),e.submit({minLatency:400})}},l.default.createElement(c.FormGroup,null,l.default.createElement(c.Control
2Label,null,"Authentication code:"),l.default.createElement(c.FormControl,{autoFocus:!0,type:"text",value:e.fields.totp,onChange:function(t){e.setField("totp",t.target.value)},autoComplete:"2facode",placeholder:"6-digit number"}),l.default.createElement(c.Checkbox,{checked:e.fields.totpSkipTrustFlag,onChange:function(t){return e.setField("totpSkipTrustFlag",t.target.checked)}}," ","Trust this browser for 30 days"))),"2fa_invalid"===e.displayError&&l.default.createElement(c.Alert,{bsStyle:"danger"},"Invalid code",l.default.createElement("br",null),l.default.createElement("br",null)," If youâre sure you entered the correct code, please note that the same code canât be used to log in more than once. If you may have already used this code, wait for a new one on your authentication device and then try again.")),l.default.createElement(c.Modal.Footer,null,l.default.createElement(d.Footer,null,l.default.createElement(d.CancelButton,{onClick:e.cancel2faModal}),l.default.createElement(d.ActionButton,{spinning:e.processing,onClick:function(){e.submit({minLatency:400})}},"Log in"))))}},{key:"render",value:function(){var e=this,t=this.props.$login;return l.default.createElement("div",null,this.totpModal(),l.default.createElement(c.Panel,{header:l.default.createElement("h1",null,"Log in to StoriumEDU")},"bad_credentials"===t.displayError&&l.default.createElement(c.Alert,{bsStyle:"danger",id:"t__bad_credentials_alert"},"There is no user with this"," ",t.wasEmailValue?"email address":"name"," and password."),"name_or_email_required"===t.displayError&&l.default.createElement(c.Alert,{bsStyle:"danger"},"An email address or user name is required."),"password_required"===t.displayError&&l.default.createElement(c.Alert,{bsStyle:"danger"},"A password is required."),l.default.createElement("form",{id:"t__login_form",onSubmit:function(e){e.preventDefault(),t.submit({minLatency:400})}},l.default.createElement(c.FormGroup,null,l.default.createElement(c.Control
2Label,null,"User name"),l.default.createElement(c.FormControl,{id:"t__user_name_or_email",inputRef:function(t){e.autoFocusInput=t},type:"text",value:t.fields.nameOrEmail,onChange:function(e){t.setField("nameOrEmail",e.target.value)},autoComplete:"user-name-or-email"})),l.default.createElement(c.FormGroup,null,l.default.createElement(c.ControlLabel,null,"Password or classroom code"),l.default.createElement(c.FormControl,{id:"t__password",type:"password",value:t.fields.password,onChange:function(e){t.setField("password",e.target.value)},autoComplete:"current-password"})),l.default.createElement(c.FormGroup,null,l.default.createElement(c.Button,{block:!0,type:"submit",bsStyle:"primary"},l.default.createElement(f.default.Span,{spinning:t.processing},"Log in"))),l.default.createElement(c.FormGroup,null,l.default.createElement("p",{style:{textAlign:"center"}},"Teacher:"," ",l.default.createElement(p.default,{to:"/login/forgot_password","data-p":"forgot_pwd_link"},"Forgot your password?"))))))}}]),t}(),a.propTypes={$login:s.default.object.isRequired},n=o))||n)||n;t.default=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(r(1)),a=r(9),o=s(r(547)),i=r(11),l=s(r(545));function s(e){return e&&e.__esModule?e:{default:e}}t.default=(0,a.inject)("$authUser","$login","$router")((0,a.observer)(function(e){var t=e.$authUser;e.$login;return"forgotPwdRoute"===e.$router.route.name?n.default.createElement(i.Row,null,n.default.createElement(i.Col,{sm:6,md:5,lg:4},n.default.createElement(l.default,null)),n.default.createElement(i.Col,{sm:6})):t.pid?n.default.createElement("p",null,"You are already signed in."):n.default.createElement(i.Row,null,n.default.createElement(i.Col,{sm:6,md:5,lg:4},n.default.createElement(o.default,null)),n.default.createElement(i.Col,{sm:6}))}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=f(r(1)),s=f(r(0)),u=f(r(13)),c=r(10),d=r(9);f(r(15));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,d.inject)("$router")((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"componentDidMount",value:function(){var e=this;this.disposer=(0,c.autorun)(function(){if(e.props.$router.route.hash){var t=e.props.$router.route.hash.replace(/^#/,""),r=document.getElementById(t);r&&r.scrollIntoView()}})}},{key:"componentWillUnmount",value:function(){this.disposer()}},{key:"render",value:function(){return l.default.createElement("div",null,l.default.createElement("h2",null,"Teacher Guide"),l.default.createElement("p",null,l.default.createElement("em",null,"Last updated: 11/14/2018")),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("p",null,"StoriumEdu is a game that helps students build their writing skills, learn storytelling techniques, practice collaboration, and explore their creativity."),l.default.createElement("div",{style:{marginBottom:40}}),l.default.createElement("h3",null,"Classroom applications"),l.default.createElement("p",null,"You can think of StoriumEdu as a sandbox â an open-ended tool that helps get your students writing. As a writing-based game, it has a wide variety of potential applications in your classroom, including (but not limited to):"),l.default.createElement("ol",null,l.default.createElement("li",null,l.default.createElement("strong",null,"Language Arts"),": students can explore the themes and characters of major works of literature by continuing or expanding the narrative."),l.default.createElement("li",null,l.default.createElement("strong",null,"Creative writing"),": StoriumEdu provides a structured, collaborative environment for creative writing that encourages creativity, character development, plotting, and â crucially â story completion."),l.default.createElement("li",null,l.default.createElement("strong",null,"History"),": students can demonstrate their comprehension of historical events and context by writing historical fiction."),l.default.createElement("li",null,l.default.createElement("strong",null,"Project-based Learning"),": StoriumEduâs writing environment and support for collaboration make it a good fit for PBL classrooms."),l.default.createElement("li",null,l.default.createElement("strong",null,"ESL"),": StoriumEdu provides a supp
2ortive environment for students to practice their English through immersive writing."),l.default.createElement("li",null,l.default.createElement("strong",null,"Learning other languages"),": while the interface for StoriumEdu is currently only offered in English, writing in any language is supported."),l.default.createElement("li",null,l.default.createElement("strong",null,"Social-emotional learning"),": as a collaborative exercise that involves reading, writing, character development, and fictional decision making, StoriumEdu is a uniquely powerful way to put students in other peopleâs shoes and help them consider other perspectives.")),l.default.createElement("div",{style:{marginBottom:40}}),l.default.createElement("h3",null,"Installation & requirements"),l.default.createElement("p",null,"Thereâs nothing to install! All you need is a Web browser; the latest versions of Chrome, Firefox, Internet Explorer, Edge, or Safari will do. Desktops, laptops, Chromebooks, and tablets are all supported."),l.default.createElement("div",{style:{marginBottom:40}}),l.default.createElement("h3",null,"How it works"),l.default.createElement("p",null,"StoriumEdu turns creative writing into a multiplayer, collaborative game. This transforms writing into an engaging group activity where students work together and lift each other up instead of struggling alone."),l.default.createElement("p",null,"We use game concepts and mechanics inspired by popular tabletop, card, and video games â things that are familiar to most students of reading age and higher. These mechanics inspire and steer studentsâ
2writing, help them overcome the dreaded âwriterâs block,â build stories with clear structure and compelling characters, and have fun along the way."),l.default.createElement("p",null,"Hereâs how it works, in a nutshell:"),l.default.createElement("ol",null,l.default.createElement("li",null,"As the teacher, you create a virtual ",l.default.createElement("strong",null,"classroom")," for students who will play together."),l.default.createElement("li",null,"Next, you"," ",l.default.createElement(u.default,{href:"/library"},"browse our library of ",l.default.createElement("strong",null,"storyworlds"))," ","and add to your classroom any that you want your students use. (Each storyworld is a collection of playing pieces and instructional content that helps students tell stories in a certain style or with a certain goal. You can use storyworlds from our library, or you can create your own!)"),l.default.createElement("li",null,"You share the ",l.default.createElement("strong",null,"classroom code")," with your students, enabling them to sign up for their own accounts and join StoriumEdu."),l.default.createElement("li",null,"Students ",l.default.createElement("strong",null,"create games and invite their classmates")," ","in groups of 2-4. You get to approve every game before it starts."),l.default.createElement("li",null,"Each student in the game controls one of the storyâs"," ",l.default.createElement("strong",null,"characters"),", which are just like the protagonists in a movie or book."),l.default.createElement("li",null,"Games are divided into ",l.default.createElement("strong",null,"scenes"),", just like in a movie. Students play one scene at a time, collaboratively writing a story as they go."),l.default.createElement("li",null,"Students play by taking turns using virtual playing cards called"," ",l.default.createElement("strong",null,"story cards"),". They serve as writing prompts, so students always have some sense of what they should be writing about and what makes sense for the story.")),l.default.createElement("div",{style:{marginBottom:40}}),l.default.createElement("h3",null,"Learning to play"),l.default.createElement("p",null,"Itâs helpful for both you and your students to have a basic grasp of StoriumEduâs rules before they start playing. Our"," ",l.default.createElement(u.default,{href:"/help"},"tutorial videos")," should provide a good overview, so we recommend both you and your student watch at least some of them."),l.default.createElement("div",{style:{marginBottom:40}}),l.default.createElement("h3",null,"Tips"),l.default.createElement("p",null,"When preparing to use StoriumEdu in your classroom, there are several factors that you should consider."),l.default.createElement("ul",null,l.default.createElement("li",null,l.default.createElement("strong",null,"Story length"),": When you or your students create games, you can specify the number of scenes to play. The more scenes in a game the longer the story will take to write. We recommend starting with the shortest game format and work your way up from there."),l.default.createElement("li",null,l.default.createElement("strong",null,"Classroom use vs. homework"),": StoriumEdu most commonly used for in-person, in-class play. Thereâs nothing keeping you from assigning StoriumEdu as homework or using it at home but keep in mind that outside of the web site itself the system does not currently notify players when itâs their turn; they have to visit the site and check."),l.default.createElement("li",null,l.default.createElement("strong",null,"Image uploads"),": In order to protect student privacy, US students under the age of 13 are not allowed to upload images without parental permission. When creating a student account you can check a box to disable image uploads if this limitation applies to the student in question. You can also"," ",l.default.createElement(u.default,{href:"http://search.creativecommons.org",target:"_cc"},"search Creative Commons")," ","to find free and legal artwork from across the web.")),l.default.createElement("div",{style:{marginBottom:40}}),l.default.createElement("h3",null,"Help and Feedback"),l.default.createElement("p",null,"Weâre eager for your honest feedback about your experience using StoriumEdu. Please donât he
2sitate to reach out with questions or comments. You can reach us at"," ",l.default.createElement(u.default,{href:"mailto:[email protected]"},"[email protected]"),", any time."),l.default.createElement("div",{style:{marginBottom:50}}))}}]),t}(),a.propTypes={$router:s.default.object.isRequired},n=o))||n;t.default=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=f(r(1)),s=f(r(0)),u=f(r(13)),c=r(10),d=r(9);f(r(15));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,d.inject)("$router")((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"componentDidMount",value:function(){var e=this;this.disposer=(0,c.autorun)(function(){if(e.props.$router.route.hash){var t=e.props.$router.route.hash.replace(/^#/,""),r=document.getElementById(t);r&&r.scrollIntoView()}})}},{key:"componentWillUnmount",value:function(){this.disposer()}},{key:"render",value:function(){return l.default.createElement("div",null,l.default.createElement("h2",null,"Terms of service"),l.default.createElement("p",null,l.default.createElement("em",null,"Effective date: 11/13/2018")),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("p",null,'The StoriumEdu website is a service of Protagonist Labs, Inc. ("Protagonist"). By using StoriumEdu after the effective date of these Terms of Service, you agree to the following terms and to their retroactive application as to all prior use of StoriumEdu. If you are a teacher or other adult with oversight of student users, you also agree that you have the authority to grant those students permission to use this service.'),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("ul",null,l.default.createElement("li",null,"StoriumEdu is usable by students of any age, but those under the age of 18 require the permission and supervision of a teacher or other appropriate adult."),l.default.createElement("li",null,"You may not abuse, harass, threaten, invade the privacy of, or intimidate anyone in any way using any part or function of the service."),l.default.createElement("li",null,"You may not use StoriumEdu for any illegal or unauthorized purpose."),l.default.createElement("li",null,"You are responsible for keeping your account information secure."),l.default.createElement("li",null,"You may not modify, adapt or hack StoriumEdu; or transmit any worms, viruses, or destructive code via StoriumEdu; or modify another website to falsely imply that it is associated with StoriumEdu."),l.default.createElement("li",null,"You may not violate any laws in your jurisdiction (including copyright laws)."),l.default.createElement("li",null,"Protagonist is not responsible for the content posted on StoriumEdu, and you use StoriumEdu at your own risk. Protagonist may remove content that we determine in our sole discretion is unlawful, offensive, threatening, libelous, defamatory, obscene, invades the privacy of others, or is otherwise objectionable or violates any partyâs intellectual property or these Terms of Service."),l.default.createElement("li",null,"Protagonist may refuse service to anyone for any reason at any time."),l.default.createElement("li",null,"Protagonist may modify or terminate StoriumEdu for any reason, at any time, without notice."),l.default.createElement("li",null,"Protagonist may modify these Terms of Service for any reason, at any time, without notice. If we do, we will post the modification on the site, provide you with conspicuous notice of the modification, and update the âEffective Dateâ at the top of this page. You may then decide to continue to use StoriumEdu subject to those modifications."),l.default.createElement("li",null,"You own all of the original content that you post on StoriumEdu."),l.default.createElement("li",null,"Protagonist may charge fees for your use of StoriumEdu and may modify those fees at any time. We will notify you in advance of any changes."),l.default.createElement("li",null,"You agree to indemnify and hold Protagonist, its officers, subsidiaries, affiliates, successors, assigns, directors, agents, service providers, attorneys, suppliers and employees, harmless from any claim or demand, including reasonable attorney fees and court costs, made by any third party due to or arising out of Content you submit, post or make available through StoriumEdu, your use of StoriumEdu, your violation of the Terms of Service or any applicable law, or your violation of any rights of another person."),l.default.createElement("li",null,"At our sole discretion, violation of any of these terms may result in the termination of your StoriumEdu account or some other penalty such as suspension or restricted use."),l.default.createElement("li",null,"StoriumEdu staff may on occasion view teacher and student content, exclusively for the purposes of providing product support, diagnosing technical issues, or improving the product."),l.default.createElement("li",null,"We consider you and your studentsâ privacy one of our highest priorities. Please see our"," ",l.default.createElement(u.default,{href:"/privacy"},"Privacy Policy")," for information and notices concerning our collection and use of your personal information.")),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Relationship of StoriumEdu to Storium"),l.default.createElement("p",null,"StoriumEdu and Storium are two services that are both operated by Protagonist Labs, Inc. However, they are completely separate services. Storium users cannot view StoriumEdu content, and they cannot interact with StoriumEdu users in any way. StoriumEdu is a private, secure, and self-contained system intended exclusively for use by teachers, parents, and students."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("p",null,"If you have any questions about these Terms of Service, please contact us at"," ",l.default.createElement(u.default,{href:"mailto:[email protected]"},"[email protected]"),"."),l.default.createElement("div",{style:{marginBottom:50}}))}}]),t}(),a.propTypes={$router:s.default.object.isRequired},n=o))||n;t.default=p},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=f(r(1)),s=f(r(0)),u=f(r(13)),c=r(10),d=r(9);f(r(15));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,d.inject)("$router")((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"componentDidMount",value:function(){var e=this;this.disposer=(0,c.autorun)(function(){if(e.props.$router.route.hash){var t=e.props.$router.route.hash.replace(/^#/,""),r=document.getElementById(t);r&&r.scrollIntoView()}})}},{key:"componentWillUnmount",value:function(){this.disposer()}},{key:"render",value:function(){return l.default.createElement("div",null,l.default.createElement("h2",null,l.default.createElement("span",{className:"fa fa-trophy hidden-sm",style:{paddingRight:"10px"}}),"Reward program for storyworld authors"),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("p",null,"StoriumEdu aims to build a rich and diverse library of great storyworlds for use by teachers and students at all grade levels. To achieve this goal ",l.default.createElement("strong",null,"we are offering a special reward to users who submit original storyworlds for sharing in StoriumEdu library!")),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"The reward"),l.default.createElement("p",null,"If you submit a qualifying storyworld you will receive ",l.default.createElement("strong",null,"one year of StoriumEdu for free!")," (If youâve already purchased a StoriumEdu subscription then we will instead give you credit for an additional free year.)"),l.default.createElement("p",null,"Have more than one idea for a storyworld? If you submit additional qualifying storyworlds we will gift a year of StoriumEdu to another user of your choosing, one for each you submit!"),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"How to qualify"),l.default.createElement("p",null,"In order to qualify for this reward, your storyworld(s) must meet StoriumEduâs "," ",l.default.createElement(u.default,{href:"/editorial"},"Editorial Policy")," as well as the following additional requirements:"),l.default.createElement("ul",null,l.default.createElement("li",null,l.default.createElement("strong",null,"Scenarios"),": At least two Scenarios must be included, with âInstructions for playersâ provided for each scene."),l.default.createElement("li",null,l.default.createElement("strong",null,"Art"),": All Cards and Character Types must include art. The same piece of art may be re-used for all instances of a given Card type but should not be re-used across different Card types. Avatars should showcase diverse representations. Default avatars for Character Types should include both male and female representations unless the subject matter suggests otherwise."),l.default.createElement("li",null,l.default.createElement("strong",null,"Usage guide"),": A Usage guide must be included to help other teachers understand how to utilize your storyworld. This guide should be at least one page in length."),l.default.createElement("li",null,l.default.createElement("strong",null,"Optional items"),": Inclusion of Instructional slides and a Student handout is encouraged, but these items are optional as they may not be appropropriate for every storyworld.")),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"How to apply"),l.default.createElement("p",null,"To apply for this reward, simply submit your original storyworld for sharing. StoriumEdu editors will review your submission. If it meets the criteria outlined here then you will receive the reward! StoriumEdu will provide confirmation via email."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("p",null,"Should you have any questions about our reward program, please contact us at"," ",l.default.createElement(u.default,{href:"mailto:[email protected]"},"[email protected]"),"."),l.default.createElement("div",{style:{marginBottom:50}}))}}]),t}(),a.propTypes={$router:s.default.object.isRequired},n=o))||n;t.default=p},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=f(r(1)),s=f(r(0)),u=f(r(13)),c=r(10),d=r(9);f(r(15));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,d.inject)("$router")((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"componentDidMount",value:function(){var e=this;this.disposer=(0,c.autorun)(function(){if(e.props.$router.route.hash){var t=e.props.$router.route.hash.replace(/^#/,""),r=document.getElementById(t);r&&r.scrollIntoView()}})}},{key:"componentWillUnmount",value:function(){this.disposer()}},{key:"render",value:function(){return l.default.createElement("div",null,l.default.createElement("h2",null,"Editorial policy"),l.default.createElement("p",null,l.default.createElement("em",null,"Effective date: 9/22/2019")),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("p",null,"StoriumEdu invites you to share your original storyworlds and associated lesson content with other educators so that they and their students can benefit! StoriumEdu staff review all submitted content to ensure that it meets the Editorial Policy laid out in this document. This ensures that our library of shared content reflects our goal for StoriumEdu to be a safe and welcoming place for students and educators of all ages and circumstances."),l.default.createElement("p",null,"Unless otherwise defined in this Editorial Policy, terms used in this Editorial Policy have the same meanings as in our"," ",l.default.createElement(u.default,{href:"/terms"},"Terms of Service"),". By using StoriumEdu you are accepting the applicable terms of the Terms of Service agreement."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Review process"),l.default.createElement("p",null,"Upon receiving a storyworld submitted for sharing with other teachers (âsubmitted storyworldâ), a StoriumEdu editor will review the storyworld to ensure it complies with this Policy. If it does, the storyworld will be added to the StoriumEdu library and the author will be notified. If the storyworld does not comply then it will not be approved. In most cases the editor will contact the author to explain why, and the author will have the opportunity to make revisions to their storyworld and submit it again."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Minimum data requirements"),l.default.createElement("p",null,"Any submitted storyworld must meet the minimum data requirements specified by the StoriumEdu user interface (including number of cards and character types). The interface will not allow you to publish or submit your storyworld for sharing until you have met these requirements. These requirements may change over time as the StoriumEdu game system evolves. Users will be notified of any changes that impact their storyworlds."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Disallowed content"),l.default.createElement("p",null,"Submitted storyworlds cannot include any of the following content ",l.default.createElement("em",null,"unless such content is vital to the educational purpose of the storyworld because the storyworld is intended to critically examine associated beliefs, attitudes, practices, language, or historical events"),":"),l.default.createElement("ul",null,l.default.createElement("li",null,"Sexist, racist, homophobic, transphobic, ableist, ageist, religist, or otherwise discriminatory beliefs or practices."),l.default.createElement("li",null,"Personal insults, particularly those related to gender, gender identity or expression, sexual orientation, race, religion, age, or disability."),l.default.createElement("li",null,"Violence, threats of violence, incitement to violence, or violent language directed against another person."),l.default.createElement("li",null,"Anything intended to target or harass a
2specific individual."),l.default.createElement("li",null,"Sexually-explicit or -suggestive content."),l.default.createElement("li",null,"Lewd or vulgar language.")),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Age appropriateness"),l.default.createElement("p",null,"The content of submitted storyworlds must be appropriate for the grade levels indicated by the author. This includes both written language and any included visual art."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Quality"),l.default.createElement("p",null,"Submitted storyworlds must utilize proper spelling, grammar, and punctuation. Written content and visual art must be at a level of quality that is appropriate for sharing with and use by other teachers in their own classrooms. Placeholders, incomplete sentences or sentence fragments, or other obviously incomplete or incoherent text cannot be included. StoriumEdu editors may make minor edits to correct spelling, grammatical, or punctuation errors."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Student-authored content"),l.default.createElement("p",null,"Although StoriumEdu does not currently enable students to create, publish, and share their own original storyworlds, in some cases teachers may elect to do so on their behalf. StoriumEdu editors will apply this Editorial Policy to such storyworlds but will bear the authorâs age in mind when doing so."),l.default.createElement("p",null,"If a teacher submits a storyworld containing student-authored content (either textual or visual) they should tag it as such by including a subject area of âStudent-createdâ. If this is not done, StoriumEdu editorial staff may do so on the submitterâs behalf."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Copyright"),l.default.createElement("p",null,"StoriumEdu respects intellectual property rights. This includes your rights, the rights of all StoriumEdu users, and the rights of other creators. Authors are responsible for ensuring that their submitted storyworlds (including both written and visual content) respect copyright law. StoriumEdu does not and cannot actively monitor all of the content that is shared StoriumEdu."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Editorsâ rights"),l.default.createElement("p",null,"StoriumEdu editors reserve the right to:"),l.default.createElement("ul",null,l.default.createElement("li",null,"Decline to approve a submitted storyworld."),l.default.createElement("li",null,"Omit specific content from a submitted storyworld."),l.default.createElement("li",null,"Edit a submitted storyworldâs metadata, including name, description, grade levels, and subject areas, in order to ensure the storyworld is properly described and classified for the benefit of other users."),l.default.createElement("li",null,"Edit a submitted storyworld to correct spelling, grammatical, or punctuation errors."),l.default.createElement("li",null,"Remove a world from the StoriumEdu library in the event of user complaints.")),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("p",null,"Should you have any questions about this document, please contact us at"," ",l.default.createElement(u.default,{href:"mailto:[email protected]"},"[email protected]"),"."),l.default.createElement("div",{style:{marginBottom:50}}))}}]),t}(),a.propTypes={$router:s.default.object.isRequired},n=o))||n;t.default=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=f(r(1)),s=f(r(0)),u=f(r(13)),c=r(10),d=r(9);f(r(15));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,d.inject)("$router")((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}
2(t,l.default.Component),i(t,[{key:"componentDidMount",value:function(){var e=this;this.disposer=(0,c.autorun)(function(){if(e.props.$router.route.hash){var t=e.props.$router.route.hash.replace(/^#/,""),r=document.getElementById(t);r&&r.scrollIntoView()}})}},{key:"componentWillUnmount",value:function(){this.disposer()}},{key:"render",value:function(){return l.default.createElement("div",null,l.default.createElement("h2",null,"Privacy policy"),l.default.createElement("p",null,l.default.createElement("em",null,"Effective date: 11/13/2018")),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("p",null,'We consider you and your studentsâ privacy one of our highest priorities. StoriumEdu, a service of Protagonist Labs, Inc. ("StoriumEdu") provides this Privacy Policy to inform you of our policies and procedures regarding the collection, use and disclosure of personal information we receive from users of storiumedu.com (the "Service").'),l.default.createElement("p",null,"Unless otherwise defined in this Privacy Policy, terms used in this Privacy Policy have the same meanings as in our"," ",l.default.createElement(u.default,{href:"/terms"},"Terms of Service"),". By using StoriumEdu you are accepting the practices set out in this Privacy Policy and the applicable Terms of Service agreement."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Our policies toward children"),l.default.createElement("p",null,"StoriumEdu is usable by students of any age, but those under the age of 18 require the permission and supervision of a teacher, parent or other appropriate adult."),l.default.createElement("p",null,l.default.createElement("strong",null,"StoriumEdu does not request, require, store, transmit, or sell any personally identifying student information.")),l.default.createElement("p",null,"For the safety of students, student writing and usage statistics are visible only to teachers, their students, and their parents."," ",l.default.createElement("strong",null,"No student content is visible on the public Internet.")," ","(StoriumEdu staff may on occasion view teacher and student content, exclusively for the purposes of providing product support, diagnosing technical issues, or improving the product.)"),l.default.createElement("p",null,"Parents or guardians can review information their children under 13 have contributed to StoriumEdu by accessing their childâs account. Parents can also request that StoriumEdu delete that information and refuse to allow the Service to collect further information from their children by contacting StoriumEdu at [email protected]. StoriumEdu may ask additional questions or take other steps to verify the identity of a parent or guardian before responding to a request to review or delete a childâs information or a request to refuse further collection from a child."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Information you provide to us to use the Service"),l.default.createElement("p",null,"We collect the information you provide when you sign up for a StoriumEdu account, log into your account, communicate with us, answer our surveys, upload content, or otherwise use the Service."),l.default.createElement("p",null,"We request a unique identifer, an email address, and a password when you choose to sign up for StoriumEdu so we can provide the Service to you and allow us to comply with applicable regulations. Without this information, we are not be able to provide you with the Service."),l.default.createElement("p",null,"Student accounts require only a unique identifier (typically a first name, and in some cases the first letter of the last name if needed to distinguish students within the same classroom)."),l.default.createElement("p",null,"Users who engage in financial transactions with StoriumEdu, for example to purchase a subscription, are asked to provide additional information in order to complete the transaction, such as a credit card number and full name."),l.default.createElement("p",null,"Visitors can always refrain from supplying certain information, but it may prevent them from engaging in certain StoriumEdu services which require that information."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Information you provide to enhance your experience"),l.default.createElement("p",null,"You can choose to provide us with additional information in order to obtain a better user experience when using the Service. This additional information will be processed with your consent and/or to provide you with services you request. This information includes biographical information, original instructional content, survey responses, participation in contests, promotions or other marketing efforts, suggestions for improvements, referrals, or any other actions on the Service."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Information we collect automatically"),l.default.createElement("p",null,"We gather data about user actions on StoriumEdu for analytics and debugging purposes, in order to make the Service better for everyone."),l.default.createElement("p",null,"Our server automatically records information that your browser sends whenever you visit a web site (âLog Dataâ), such as your computerâs IP address, your browser type, the web page you were visiting before you came to our Site, and other statistics."),l.default.createElement("p",null,"We also use third-party monitoring and analytics services like Google Analytics to help us understand your use of our Service."," ",l.default.createElement("strong",null,"We do not send personally-identifying information to these services.")),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"How your information is used by StoriumEdu"),l.default.createElement("p",null,"We use the data we collect about you to operate, improve, secure, and develop StoriumEdu. We are able to deliver our Service by using this information to understand how you interact with our services. We may conduct surveys and research, test features in development, and analyze the information we have to evaluate and improve products and services, develop new products or features, and conduct audits and troubleshooting activities."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"How your information is shared"),l.default.createElement("p",null,"Other than to its employees and contractors who may view your account information as part of their day to day efforts, StoriumEdu will disclose potentially-personally-identifying and personally-identifying information only when required to do so by law."," ",l.default.createElement("strong",null,"We do not and will not sell your data to third parties.")),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"How your information is stored"),l.default.createElement("p",null,"All information described above is stored on secure database servers, or in log files or backups stored on secure storage system."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"How long we retain your information"),l.default.createElement("p",null,"StoriumEdu retains your information in order to provide the Service, fulfill our legitimate business purposes, or to comply with our legal obligations. If you request that your account be deleted and that your data also be deleted, StoriumEdu removes your information in accordance with our standard deletion processes. StoriumEdu may retain and use non-personal information, including information which has been de-identified, aggregated, or anonymized, indefinitely. Data contained in backup systems may be retained for as long as the backups themselves are retained."),l.default.createElement("div",{style:{marginBottom:50}}
2),l.default.createElement("h3",null,"How we communicate with you"),l.default.createElement("p",null,"We use e-mail notifications to keep teachers and other adult users in the loop regarding how students are interacting with you and your content on StoriumEdu. From time to time, we may send you helpful marketing and non-marketing company notifications."," ",l.default.createElement("strong",null,"We do not contact students via email.")),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Cookies"),l.default.createElement("p",null,"A cookie is a string of information that a website stores on a visitor's computer, and that the visitor's browser provides to the website each time the visitor returns. StoriumEdu uses cookies to help us identify and track visitors, their usage of our Service, and their website access preferences. We also use cookies to allow useers to log into the Service. StoriumEdu visitors who do not wish to have cookies placed on their computers should set their browsers to refuse cookies before using the Service, with the drawback that StoriumEdu may not function properly without the aid of cookies."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"HTML5 Local Storage"),l.default.createElement("p",null,"HTML5 local storage is a string of information that a website stores on a visitor's computer, and that the visitor's browser provides to the website each time the visitor returns. StoriumEdu uses local storage to remember certain user inputs that have not yet been saved to our database, such as draft content."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Links to 3rd party sites"),l.default.createElement("p",null,"Members may include links to third-party sites within the content they share. Our privacy policy covers only the content on StoriumEdu. Please take care when visiting any third-party sites."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Business Transfers"),l.default.createElement("p",null,"If StoriumEdu or substantially all of its assets were acquired, or in the event that StoriumEdu goes out of business or enters bankruptcy, user information would be one of the assets that is transferred or acquired by a third party. You acknowledge that such transfers may occur, and that any acquirer of StoriumEdu may continue to use your personal information as set forth in this policy. That said, we will communicate this transfer to you in a timely manner prior to the event so that you may determine whether or not youâd like to continue using StoriumEdu."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Changes to our Privacy Policy"),l.default.createElement("p",null,"We may change our Privacy Policy from time to time. If we do then weâll notify you by posting the amended policy on StoriumEdu."),l.default.createElement("div",{style:{marginBottom:50}}),l.default.createElement("p",null,"Should you have any questions about this document, please contact us at"," ",l.default.createElement(u.default,{href:"mailto:[email protected]"},"[email protected]"),"."),l.default.createElement("div",{style:{marginBottom:50}}))}}]),t}(),a.propTypes={$router:s.default.object.isRequired},n=o))||n;t.default=p},,function(e,t,r){},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=d(r(1)),s=d(r(0)),u=d(r(13)),c=(r(11),r(10),r(9));d(r(15));function d(e){return e&&e.__esModule?e:{default:e}}r(555);var f=(0,c.inject)("$router","$authUser")((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){this.props.$router,this.props.$authUser;return l.default.createElement("div",null,l.default.createElement("h2",{style:{marginBottom:50}},"Whatâs new"),l.default.createElement("h3",null,"Improvements since beta launch"),l.default.createElement("hr",{style:{marginTop:"5px",marginBottom:"30px"}}),l.default.createElement("ul",{className:"padded-li"},l.default.createElement("li",null,l.default.createElement("strong",null,"4/23/19 â New curricular guide:")," Weâve just released our first curriculum guide for teachers. It explains how to use StoriumEdu to teach ",l.default.createElement("strong",null,"collaborative writing")," "," ","to students of any age, and itâs chock-full of helpful advice and examples. Find it on our our ",l.default.createElement(u.default,{href:"/help"},"Help page"),"."),l.default.createElement("li",null,l.default.createElement("strong",null,"3/21/19 â Teacher moves:")," Teachers can now add arbitrary text moves to any game in their classrooms, even if theyâre not playing a character in the game. This is helpful when you want to give a story a nudge or help your students get narratively un-stuck."),l.default.createElement("li",null,l.default.createElement("strong",null,"2/2/19 â Updated tutorial videos:")," The videos for ",l.default.createElement("a",{href:"https://www.youtube.com/watch?v=N7H1oZmS4qY",target:"_class_vid"},"setting up classroooms (also known as rostering)")," and ",l.default.createElement("a",{href:"https://www.youtube.com/watch?v=omwPpU01vyA",target:"_sws"},"creating storyworlds")," ","have both been updated to reflect the latest StoriumEdu features."),l.default.createElement("li",null,l.default.createElement("strong",null,"1/27/19 â New teacherâs guide:")," Weâve just published an all-new ",l.default.createElement("a",{href:"static/Teachers-Guide-to-StoriumEdu.pdf",target:"_teacher-guide"},"teacherâs guide"),"! This new version provides a better overview of StoriumEdu and also includes step-by-step instructions for how to get started (with screenshots)."),l.default.createElement("li",null,l.default.createElement("strong",null,"12/6/18 â Versioning for storyworlds: "),"Storyworlds now have a complete versioning system. This means that as a storyworld author you can make changes to your storyworlds even after publishing them. You do this by creating and then publishing a new version. This gives you the freedom to edit and evolve your storyworlds without disrupting students (or other teachers) who may already be using them to play."),l.default.createElement("li",null,l.default.createElement("strong",null,"11/1/18 â More turn signals:")," Players can now easily if itâs their turn in any of their games. When a game is waiting on a player to make a move or take action, that game will be outlined in green on their homepage. They will also see a green icon at the top of the screen."),l.default.createElement("li",null,l.default.createElement("strong",null,"10/8/18 â Turn signals:")," Teachers can now see whose turn it is in every active game on their homepage; this is denoted by a green dot next to the corresponding playerâs name."),l.default.createElement("li",null,l.default.createElement("strong",null,"10/3/18 â Print view:")," Every game now has a âPrintâ link which displays a text-only view that is suitable for either printing, saving as a PDF, or copy-and-pasting elsewhere."),l.default.createElement("li",null,l.default.createElement("strong",null,"9/22/18 â Student self-signup:")," Students can now create their own StoriumEdu accounts using a classroom code provided by the teacher (instead of the teacher needing to create accounts manually)."),l.default.createElement("li",null,l.default.createElement("strong",null,"9/22/18 â Student handouts:")," When creating a storyworld teachers can now optionally include a PDF to serve as a student handout."),l.default.createElement("li",null,l.default.createElement("strong",null,"9/15/18 â Player flexibility:")," Teachers can now add and remove players from games that have already started. You can also skip non-responsive players or assign their characters to other players.")),l.default.createElement("p",{style:{marginBottom:50}}),l.default.createElement("h3",null,"Improvements included in beta launch (7/30/18)"),l.default.createElement("hr",{style:{marginTop:"5px",marginBottom:"30px"}}),l.default.createElement("ul",{className:"padded-li"},l.default.createElement("li",null,l.default.createElement("strong",null,"Storyworlds: "),"Decks have been expanded into âstoryworldsâ which include greatly expanded functionality and content, including pre-made story lines, teacher materials, student handouts, and an art library."),l.default.createElement("li",null,l.default.createElement("strong",null,"Library: "),"Teachers can now share their original storyworlds with other teachers via our online storyworld library."),l.default.createElement("li",null,l.default.createElement("strong",null,"Student-driven game creation: "),"Students can now form play groups and create games themselves (instead of waiting for the teacher to do it). The teacher still retains control, however, since they get to approve every group and game before they begin."),l.default.createElement("li",null,l.default.createElement("strong",null,"Teacher dashboard: "),"The teacherâs homepage now features a dashboard showing all active games, including those that are waiting for the teacherâs approval.")),l.default.createElement("div",{style:{marginBottom:50}}))}}]),t}(),a.propTypes={$router:s.default.object.isRequired,$authUser:s.default.object.isRequired},n=o))||n;t.default=f},,,,,,,function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_scenarios-2x.04c9df2d269fb319236905c7e928fea7.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_scenarios.923cc192479c311739767af4c602b287.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_storyworlds-2x.88b934e149000cade8ca3ae6011efcaf.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_storyworlds.63dce634a29
26550e99dfcc11057968a9.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_decks-2x.69664ec2a2bec2a557f31790f2c04210.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_decks.ffca58119cd025b51c60ce4cad61dfb5.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_games-2x.cf88a345c49ef7b1c0630b2222d49e80.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_games.df4f4c76e80eaf3c6fa6ac0b56f1a1e2.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_classrooms-2x.ddaf38be723a3a19e3139b2070c0734f.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_classrooms.af0ee9bb4e1a2a5d556c499f7a6dd630.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_cards-2x.725a70720f7706f361b2a8cc55376c16.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_cards.acdb1be47506a6933bffbc6b9ce998b1.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_characters-2x.e12ef07bb8f7249d2ff9e6d51f23c4df.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_characters.1eec6dc9368a3870f2c578441804c7cc.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_how-2x.825129a1921b63b441faeca84a92308f.jpg"},function(e,t,r){e.exports=r.p+"assets/tutorial_thumbnail_how.fc49f9cbe35bf6a37107e343e15d5cda.jpg"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c=I(r(27)),d=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}
2(),f=I(r(1)),p=I(r(0)),m=I(r(13)),h=r(11),y=r(10),g=r(9),b=(I(r(15)),I(r(578))),v=I(r(577)),w=I(r(576)),E=I(r(575)),k=I(r(574)),_=I(r(573)),C=I(r(572)),S=I(r(571)),P=I(r(570)),O=I(r(569)),T=(I(r(568)),I(r(567)),I(r(566))),j=I(r(565)),x=I(r(564)),M=I(r(563)),z=I(r(562)),A=I(r(349));function I(e){return e&&e.__esModule?e:{default:e}}function $(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function D(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function N(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var R=[{id:"lxZtmHWom5M",name:"How to play",nameForTracking:"how_to_play",teacherOnly:!1,img:b.default,img2x:v.default},{id:"6YlZqxOtpQY",name:"Starting games",nameForTracking:"starting_games",teacherOnly:!1,img:P.default,img2x:O.default},{id:"D82m05b0Qq4",name:"Creating characters",nameForTracking:"creating_characters",teacherOnly:!1,img:w.default,img2x:E.default},{id:"ekwn60xt7_I",name:"All about story cards",nameForTracking:"story_cards",teacherOnly:!1,img:k.default,img2x:_.default},{id:"N7H1oZmS4qY",name:"Setting up classrooms (rostering)",nameForTracking:"classrooms",teacherOnly:!0,img:C.default,img2x:S.default},{id:"omwPpU01vyA",name:"Creating your own storyworlds",nameForTracking:"storyworlds",teacherOnly:!0,img:T.default,img2x:j.default},{id:"uYraH5bdotE",name:"Creating scenarios",nameForTracking:"scenarios",teacherOnly:!0,img:x.default,img2x:M.default}],B=(0,g.inject)("$router","$authUser","$tracking")(n=(0,g.observer)((u=s=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,s=Array(a),u=0;u<a;u++)s[u]=arguments[u];return r=n=D(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(s))),$(n,"modalVideoMeta",o,n),n.maxProgress={},$(n,"popVideo",i,n),$(n,"closeModal",l,n),n.videoProgress=function(e){if(n.modalVideoMeta){var t=n.modalVideoMeta;if(e.played>n.maxProgress[t.id]){var r=n.maxProgress[t.id];n.maxProgress[t.id]=e.played,r<.2&&e.played>=.2&&n.props.$tracking.event("misc","video_progress",{percent:"20",name:t.nameForTracking}),r<.5&&e.played>=.5&&n.props.$tracking.event("misc","video_progress",{percent:"50",name:t.nameForTracking}),r<.8&&e.played>=.8&&n.props.$tracking.event("misc","video_progress",{percent:"80",name:t.nameForTracking}),r<1&&e.played>=1&&n.props.$tracking.event("misc","video_progress",{percent:"100",name:t.nameForTracking})}}},D(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}
2(t,f.default.Component),d(t,[{key:"componentDidMount",value:function(){var e=this;this.disposer=(0,y.autorun)(function(){if(e.props.$router.route.hash){var t=e.props.$router.route.hash.replace(/^#/,""),r=document.getElementById(t);r&&r.scrollIntoView()}})}},{key:"componentWillUnmount",value:function(){this.disposer()}},{key:"render",value:function(){var e=this,t=this.props.$router,r=this.props.$authUser;return f.default.createElement("div",null,this.modalVideoMeta&&f.default.createElement(h.Modal,{show:!0,onHide:this.closeModal,dialogClassName:"full-width-modal"},f.default.createElement(h.Modal.Header,{closeButton:!0},this.modalVideoMeta.name),f.default.createElement(h.Modal.Body,null,f.default.createElement("div",{style:{position:"relative",width:"100%",height:"0",paddingBottom:"56.25%"}},f.default.createElement("div",{style:{width:"100%",height:"100%",position:"absolute",left:"0",right:"0"}},f.default.createElement(z.default,{url:"https://www.youtube.com/watch?v="+this.modalVideoMeta.id,playing:!0,controls:!0,width:"100%",height:"100%",onProgress:this.videoProgress}))))),f.default.createElement("h2",{style:{marginBottom:50}},"Help"),f.default.createElement("h3",null,"Tutorial videos"),f.default.createElement("hr",{style:{marginTop:"5px",marginBottom:"30px"}}),f.default.createElement("p",{style:{marginBottom:20}},"These short videos show you how StoriumEdu works and how to play!"),f.default.createElement("div",{className:"video-grid"},(0,c.default)(R,function(e){return!e.teacherOnly}).map(function(t){return f.default.createElement("div",{key:t.id},f.default.createElement(m.default,{key:t.id,onClick:function(){return e.popVideo(t)}},f.default.createElement("img",{src:t.img,srcSet:t.img+" 1x, "+t.img2x+" 2x",alt:t.name})))})),r.is_teacher&&f.default.createElement("div",{style:{marginTop:40}},f.default.createElement("p",null,"Additional videos just for teachers:"),f.default.createElement("div",{className:"video-grid"},(0,c.default)(R,function(e){return e.teacherOnly}).map(function(t){return f.default.createElement("div",{key:t.id},f.default.createElement(m.default,{key:t.id,onClick:function(){return e.popVideo(t)}},f.default.createElement("img",{src:t.img,srcSet:t.img+" 1x, "+t.img2x+" 2x",alt:t.name})))}))),r.is_teacher&&f.default.createElement("div",null,f.default.createElement("div",{style:{marginBottom:50}}),f.default.createElement("h3",null,"Teacher resources"),f.default.createElement("hr",{style:{marginTop:"5px",marginBottom:"30px"}}),f.default.createElement("ul",null,f.default.createElement("li",null,f.default.createElement(A.default,{name:"teacher_guide"},"Teacherâs Guide to StoriumEdu")," ","(PDF)"),f.default.createElement("li",null,f.default.createElement(A.default,{name:"parent_guide"},"Parentâs Guide to StoriumEdu")," ","(PDF)"),f.default.createElement("li",null,f.default.createElement(A.default,{name:"curriculum_collaborative_writing"},"Curriculum Guide: Teaching Collaborative Writing with StoriumEdu")," ","(PDF)"),f.default.createElement("li",null,f.default.createElement(A.default,{name:"faq"},"FAQ")," ","(PDF)"),f.default.createElement("li",null,f.default.createElement(A.default,{name:"brochure"},"Brochure")," ","(PDF)"))),f.default.createElement("div",{style:{marginBottom:50}}),f.default.createElement("h3",null,"Legal notices"),f.default.createElement("hr",{style:{marginTop:"5px",marginBottom:"30px"}}),f.default.createElement("ul",{style:{marginBottom:50}},f.default.createElement("li",null,f.default.createElement(m.default,{to:t.toPath("termsOfServiceRoute")},"Terms of service")),f.default.createElement("li",null,f.default.createElement(m.default,{to:t.toPath("privacyPolicyRoute")},"Privacy policy"))),f.default.createElement("div",{style:{marginBottom:50}}))}}]),t}(),s.propTypes={$router:p.default.object.isRequired,$authUser:p.default.object.isRequired,$tracking:p.default.object.isRequired},o=N((a=u).prototype,"modalVideoMeta",[y.observable],{enumerable:!0,initializer:function(){return!1}}),i=N(a.prototype,"popVideo",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.maxProgress[t.id]=0,e.modalVideoMeta=t,e.props.$tracking.event("misc","video_start",{name:t.nameForTracking})}}}),l=N(a.prototype,"closeModal",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.modalVideoMeta=!1}}}),n=a))||n)||n;t.default=B},,function(e,t,r){},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=f(r(1)),s=r(9),u=f(r(0)),c=f(r(13)),d=r(321);function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,s.inject)("$gameplay","$userInfo","$router")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props,t=e.$gameplay,r=e.$userInfo,n=e.$router,a=t.gsm,o=a.state,i=void 0;"storySizeShort"===a.state.storySize&&(i="short"),"storySizeMedium"===a.state.storySize&&(i="medium"),"storySizeLong"===a.state.storySize&&(i="long");var s=!!a.hasAllSetupCards()&&o.setupCards,u={};s.forEach(function(e){return u[o.cards[e].kind]=o.cards[e]});var f=(0,d.computeCast)(t);return l.default.createElement("div",{className:"text-superbanner"},l.default.createElement("h2",{className:"text-game-name"},o.name),l.default.createElement("p",{className:"text-game-meta"},"A ",i," story started by"," ",r.displayName(o.organizerUserPid),a.state.deckSlug&&l.default.createElement("span",null," ","using the"," ",l.default.createElement(c.default,{to:n.toPath("deckRoute",{slug:a.state.deckSlug})},a.state.deckName)," ","storyworld.")),a.state.scenarioGid&&l.default.createElement("p",{className:"text-game-meta"},"Scenario: â",a.currentScenario().name,"â"),s&&l.default.createElement("div",{className:"text-game-cards"},l.default.createElement("h3",null,"Game cards:"),l.default.createElement("ul",null,l.default.createElement("li",null,"Setting: â",u.ckSetting.name,"â"),l.default.createElement("li",null,"Tone: â",u.ckTone.name,"â"),l.default.createElement("li",null,"Beginning: â",u.ckBeginning.name,"â"),l.default.createElement("li",null,"Ending: â",u.ckEnding.name,"â"))),l.default.createElement("div",{className:"text-game-cast"},l.default.createElement("h3",null,"Cast:"),l.default.createElement("ul",null,f.map(function(e){return l.default.createElement("li",{key:e.userPid},r.displayName(e.userPid)," ",e.character&&l.default.createElement("span",null,"is"," ",l.default.createElement(c.default,{to:t.characterPath(e.character)},e.character.name),e.fromCharTypeCharacter&&l.default.createElement("span",null," (",e.fromCharTypeCharacter.name,")")),!e.character&&l.default.createElement("span",null,"is invited"),e.character&&e.character.deferredJoin&&l.default.createElement("span",null,l.default.createElement("em",null,"joins action in next scene")),e.character&&l.default.createElement("span",null," ","⢠",e.wordCount," word",1===e.wordCount?"":"s"))}))))}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$userInfo:u.default.object.isRequired,$router:u.default.object.isRequired},n=o))||n)||n;t.default=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=c(r(1)),s=(r(11),r(9)),u=c(r(0));c(r(64)),c(r(36)),r(12);function c(e){return e&&e.__esModule?e:{default:e}}var d=(0,s.inject)("$gameplay","$blurbs")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$gameplay.gsm,t=e.state.scenarios[e.state.scenarioGid].scenes[this.props.sceneId];if(!t)return!1;var r={};return t.cards.forEach(function(t){return r[e.state.cards[t].kind]=e.state.cards[t]}),l.default.createElement("div",{className:"text-move"},l.default.createElement("p",{className:"text-move-heading"}
2,"Scene cards:"),l.default.createElement("ul",{className:"text-card-list"},l.default.createElement("li",null,"Place card: â",r.ckPlace.name,"â"),l.default.createElement("li",null,"Challenge card: â",r.ckChallenge.name,"â"),l.default.createElement("li",null,"Success card: â",r.ckSuccess.name,"â"),l.default.createElement("li",null,"Setback card: â",r.ckSetback.name,"â")))}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$blurbs:u.default.object.isRequired,sceneId:u.default.number},n=o))||n)||n;t.default=d},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=f(r(1)),s=f(r(0)),u=(r(10),r(9)),c=r(11),d=(f(r(56)),f(r(13)));f(r(36)),f(r(82)),f(r(63)),r(12);function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var m=(0,u.inject)("$gameplay","$router")(n=(0,u.observer)((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=p(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.renderChosenBonds=function(){var e=n.props,t=e.$gameplay;e.$router,t.gsm;if(!n.initialBonds)return!1;var r=l.default.createElement("p",null,"Character Bonds"),a=l.default.createElement("div",null);return l.default.createElement(c.Panel,{header:r},a)},p(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props,t=e.$gameplay,r=(e.$router,t.gsm);return!!r&&(!!this.initialBonds&&l.default.createElement("div",{className:"text-move"},l.default.createElement("p",{className:"text-move-heading"},"Character Bonds"),l.default.createElement("ul",{className:"text-card-list"},this.initialBonds.map(function(e,n){var a=r.state.cards[e],o=r.state.characters[a.fromCharacterGid],i=r.state.characters[a.toCharacterGid];return l.default.createElement("li",{key:e+","+n},l.default.createElement(d.default,{to:t.characterPath(o)},o.name)," ","is"," ",l.default.createElement(d.default,{to:t.characterPath(i)},i.name,"âs")," ",a.name)}))))}},{key:"initialBonds",get:function(){return this.props.$gameplay.gsm.state.initialBonds}}]),t}(),a.propTypes={$gameplay:s.default.object.isRequired,$router:s.default.object.isRequired},n=o))||n)||n;t.default=m},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=p(r(50)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=p(r(1)),u=r(9),c=p(r(0)),d=p(r(17)),f=p(r(94));p(r(13)),p(r(15));function p(e){return e&&e.__esModule?e:{default:e}}var m=(0,u.inject)("$gameplay","$userInfo")(n=(0,u.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=this.props,t=e.$gameplay,r=e.$userInfo,n=this.props.move;if(!n)return!1;var a=t.gsm,o=n.characterGid&&a.state.characters[n.characterGid],l=a.sceneSummary(n.sceneId),u=l.finished&&!l.heading.epilogue&&(0,i.default)(a.state.scenes[n.sceneId].moves)===n&&(l.challengeTrend>0?l.successCard:l.setbackCard),c=l.heading.epilogue&&a.state.scenes[n.sceneId].moves[1]===n&&a.endingCardGid(),d=o&&o.name+" ("+r.displayName(n.userPid)+") ",p=d,m=!1;if("mkText"===n.kind)p=r.displayName(t.teacherUserPid)+" added to the story";else if("mkPlayToEpilogue"===n.kind||"mkPlayToChallenge"===n.kind){if(p=d+"wrote:",n.c
2ards&&n.cards.length){var h=a.state.cards[n.cards[0]];p=d+"played their "+a.prettyKind(h.kind)+" card â"+h.name+"â and wrote:",c?c&&(p=d+"played their "+a.prettyKind(h.kind)+" card â"+h.name+"â and the sceneâs "+a.prettyKind(u.kind)+" card, â"+u.name+".â The epilogue begins with the gameâs Ending card, â"+a.state.cards[c].name+".â They wrote:"):u&&(p=d+"played their "+a.prettyKind(h.kind)+" card â"+h.name+"â and the sceneâs "+a.prettyKind(u.kind)+" card, â"+u.name+",â and wrote:")}}else if("mkFlashback"===n.kind){var y=a.state.cards[n.cards[0]];p=d+"wrote a Flashback, playing their "+a.prettyKind(y.kind)+" card â"+y.name+"â:"}else if("mkDrawSceneCards"===n.kind){p="Scene cards:";var g={};n.cards.forEach(function(e){return g[a.state.cards[e].kind]=a.state.cards[e]}),m=s.default.createElement("ul",{className:"text-card-list"},s.default.createElement("li",null,"Place card: â",g.ckPlace.name,"â"),s.default.createElement("li",null,"Challenge card: â",g.ckChallenge.name,"â"),s.default.createElement("li",null,"Success card: â",g.ckSuccess.name,"â"),s.default.createElement("li",null,"Setback card: â",g.ckSetback.name,"â"))}else"mkDrawCharacterCards"===n.kind&&(p+="drew "+n.cards.map(function(e,t){var r=a.state.cards[e],o=n.cards.length>1,i=t===n.cards.length-1;return o&&i?"and the "+a.prettyKind(r.kind)+" card â"+r.name+".â":i?"the "+a.prettyKind(r.kind)+" card â"+r.name+".â":"the "+a.prettyKind(r.kind)+" card â"+r.name+",â"}));return s.default.createElement("div",{className:"text-move"},s.default.createElement("p",{className:"text-move-heading"},p),m,n.blurb&&s.default.createElement("blockquote",{className:"text-move-body"},s.default.createElement(f.default,{blurb:n.blurb,className:"no-first-child-top-margin"})))}}]),t}(),a.propTypes={$gameplay:c.default.object.isRequired,$userInfo:c.default.object.isRequired,move:d.default.propTypes.move},a.defaultProps={move:void 0},n=o))||n)||n;t.default=m},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=p(r(1)),s=r(9),u=p(r(0)),c=(r(11),p(r(585))),d=p(r(584)),f=p(r(583));function p(e){return e&&e.__esModule?e:{default:e}}var m=(0,s.inject)("$gameplay")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$gameplay,t=e.gsm,r="number"==typeof this.props.focusedSceneId?this.props.focusedSceneId:e.focusedSceneId,n=t.sceneSummary(r),a=0===r,o=t.state.scenes[r];return l.default.createElement("div",{className:"text-scene"},l.default.createElement("hr",null),n.heading.epilogue?l.default.createElement("h3",{className:"text-scene-heading"},"Epilogue"):l.default.createElement("h3",{className:"text-scene-heading"},"Act ",n.heading.actNumber," Scene ",n.heading.sceneNumber),!t.state.scenarioGid&&a&&l.default.createElement(d.default,null),!!t.state.scenarioGid&&l.default.createElement(f.default,{sceneId:r}),!!t.state.scenarioGid&&a&&l.default.createElement(d.default,null),o.moves.map(function(e){return l.default.createElement(c.default,{key:e.gid,move:e})}),n.finished&&n.heading.epilogue&&l.default.createElement("h2",{className:"text-the-end"},"The End"))}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,focusedSceneId:u.default.number},a.defaultProps={focusedSceneId:void 0},n=o))||n)||n;t.default=m},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=f(r(1)),s=r(9),u=f(r(0)),c=f(r(586)),d=f(r(582));f(r(13));function f(e){return e&&e.__esModule?e:{default:e}}r(581);var p=(0,s.inject)("$gameplay","$router")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$gameplay.gsm;return l.default.createElement("div",null,l.default.createElement("div",{className:"no-print grey"},l.default.createElement("p",null,l.default.createElement("em",null,"This text-only view of the game is useful for exporting the story to other contexts such as word processors, email, saving to PDF, or printing. You can select and copy this pageâs text to paste it elsewhere, or, use the browserâs print dialog to print or save to PDF. (This paragraph will be automatically excluded.)"))),l.default.createElement(d.default,null),e.state.scenes.map(function(e,t){return l.default.createElement(c.default,{focusedSceneId:t,key:t})}),l.default.createElement("div",{className:"mb80 no-print"}))}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$router:u.default.object.isRequired},n=o))||n)||n;t.default=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),h=O(r(1)),y=O(r(0)),g=O(r(17)),b=r(9),v=r(10),w=O(r(56)),E=r(11),k=O(r(13)),_=O(r(36)),C=r(92),S=O(C),P=r(12);function O(e){return e&&e.__esModule?e:{default:e}}function T(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function j(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function x(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var M=(0,b.inject)("$gameplay","$userInfo","$router","$authUser")(n=(0,b.observer)((p=f=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,f=Array(a),p=0;p<a;p++)f[p]=arguments[p];return r=n=j(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(f))),n.onEditAvatar=function(){n.artChooserRef&&(0,C.openArtChooserViaRef)(n.artChooserRef)},n.updateImage=function(e){return n.props.$gameplay.eventWrites.updateCharacterImage(n.props.gid,e)},T(n,"editingName",o,n),T(n,"spinning",i,n),T(n,"nameInput",l,n),T(n,"onEditName",s,n),T(n,"cancelModal",u,n),T(n,"setNameInput",c,n),T(n,"saveName",d,n),n.nameEditModal=function(){return h.default.createElement(E.Modal,{keyboard:!1,backdrop:"static",show:!0,onHide:n.cancelModal},h.default.createElement(E.Modal.Header,{closeButton:!0},"Edit character name"),h.default.createElement(E.Modal.Body,null,h.default.createElement("form",{onSubmit:function(e){e.preventDefault(),n.saveName()}},h.default.createElement("div",{className:"form-group"},h.default.createElement("label",{htmlFor:"ugcName"},"New character name:"),h.default.createElement("input",{type:"text",className:"form-control",value:n.nameInput,onChange:function(e){return n.setNameInput(e.target.value)}})))),h.default.createElement(E.Modal.Footer,null,h.default.createElement(P.Footer,null,h.default.createElement(P.CancelButton,{onClick:n.cancelModal}),h.default.createElement(P.DoneButton,{disabled:0===n.nameInput.trim().length,onClick:n.saveName,spinning:n.spinning}))))},j(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,h.default.Component),m(t,[{key:"render",value:function(){var e=this,t=this.props,r=t.$gameplay,n=t.$userInfo,a=t.$router,o=t.$authUser,i=r.gsm,l=i.state.characters[this.props.gid],s=i.state.characters[l.fromCharTypeGid];if(!l)return!1;var u=o.pid&&l.userPid===o.pid||r.authIsTeacher,c=i.cardsPlayedForCharacterGid(l.gid);return h.default.createElement(E.Well,null,this.editingName&&this.nameEditModal(),h.default.createElement("div",null,u&&h.default.createElement(S.default,{externallyTriggered:!0,currentImage:l.image,artCategory:"avatar",onComplete:function(t){return e.updateImage(t)},ref:function(t){return e.artChooserRef=t}}),h.default.createElement(w.default,{size:"l",lightbox:!0,character:l,style:{verticalAlign:"bottom",marginRight:"10px"},onEdit:u?this.onEditAvatar:void 0}),h.default.createElement("div",{style:{verticalAlign:"bottom",display:"inline-block"}},h.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"minmax(auto, max-content) min-content",alignItems:"center",gridGap:"10
2px",margin:"10px 0"}},h.default.createElement("h2",{style:{margin:"0"}},l.name),u&&h.default.createElement("span",{style:{margin:"0"}}," ",h.default.createElement(k.default,{onClick:this.onEditName,style:{fontSize:"11px"}},h.default.createElement("span",{className:"sr-only"},"Edit"),h.default.createElement("span",{className:"fa-stack fa-lg",style:{top:"3px"}},h.default.createElement("i",{className:"fa fa-square fa-stack-2x"}),h.default.createElement("i",{className:"fa fa-pencil fa-stack-1x fa-inverse"}))))),s&&h.default.createElement("p",null,s.name),h.default.createElement("p",null,"Played by"," ",h.default.createElement("strong",null,n.displayName(l.userPid))," in the game"," ",h.default.createElement(k.default,{to:a.toPath("gameRoute")},i.state.name)),h.default.createElement("p",null,"Words written: ",i.wordCounts()[l.gid]||"none yet"))),h.default.createElement("h3",null,"Current Cards"),!l.cards.length&&h.default.createElement("p",null,"None currently"),h.default.createElement(_.default,{justify:"left",doSort:!0,cards:l.cards}),h.default.createElement("h3",null,"Cards Played"),!c.length&&h.default.createElement("p",null,"None yet"),h.default.createElement(_.default,{justify:"left",doSort:!0,cards:c}))}}]),t}(),f.propTypes={$gameplay:y.default.object.isRequired,$userInfo:y.default.object.isRequired,$router:y.default.object.isRequired,$authUser:y.default.object.isRequired,gid:g.default.propTypes.gidRequired},o=x((a=p).prototype,"editingName",[v.observable],{enumerable:!0,initializer:function(){return!1}}),i=x(a.prototype,"spinning",[v.observable],{enumerable:!0,initializer:function(){return!1}}),l=x(a.prototype,"nameInput",[v.observable],{enumerable:!0,initializer:function(){return""}}),s=x(a.prototype,"onEditName",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=e.props.$gameplay.gsm.state.characters[e.props.gid];e.nameInput=t.name,e.editingName=!0}}}),u=x(a.prototype,"cancelModal",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.editingName=!1}}}),c=x(a.prototype,"setNameInput",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.nameInput=t}}}),d=x(a.prototype,"saveName",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.nameInput.trim().length>0&&(e.spinning=!0,e.props.$gameplay.eventWrites.updateCharacterName(e.props.gid,e.nameInput).then((0,v.action)(function(){e.spinning=!1,e.cancelModal()})).catch((0,v.action)(function(){e.spinning=!1})))}}}),n=a))||n)||n;t.default=M},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w,E,k,_,C,S,P=D(r(27)),O=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),T=D(r(1)),j=D(r(0)),x=r(10),M=r(9),z=D(r(36)),A=D(r(82)),I=r(12),$=D(r(63));D(r(15));function D(e){return e&&e.__esModule?e:{default:e}}function N(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function R(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function B(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var U=(n=function(){function e(t,r,n,_){var C=this;R(this,e),N(this,"randSeed",a,this),N(this,"ugcName",o,this),N(this,"publishing",i,this),N(this,"initiatedEdit",l,this),N(this,"selectedStorySize",s,this),N(this,"drewManually",u,this),N(this,"drawInProgress",c,this),N(this,"selectedScenarioGid",d,this),N(this,"clearedExistingScenario",f,this),this.signalCardsToSocket=function(){C.hasCardsToSave&&C.editing?C.$rtDraftStatuses.setStagedSetupCards({userPid:C.$authUser.pid,cards:C.cards}):C.$rtDraftStatuses.setStagedSetupCards(!1)},N(this,"firstDraw",p,this),N(this,"drawAgain",m,this),N(this,"setDrawInProgress",h,this),N(this,"cancel",
2y,this),N(this,"setUgcName",g,this),N(this,"setSelectedStorySize",b,this),N(this,"stopPublishing",v,this),N(this,"accept",w,this),N(this,"startEditing",E,this),N(this,"setSelectedScenarioGid",k,this),this.$gameplay=t,this.$tracking=_,this.ugcName=t.gsm.state.ugcName||"",this.$rtDraftStatuses=r,this.$authUser=n,this.selectedStorySize=t.gsm.state.storySize,this.randSeed=(0,A.default)().substr(0,6)}return O(e,[{key:"editing",get:function(){return this.initiatedEdit||!this.$gameplay.gsm.hasAllSetupCards()}},{key:"hasCardsToSave",get:function(){return!!this.drewManually||!!this.selectedScenarioGid||!!this.$gameplay.gsm.hasAllSetupCards()&&!this.clearedExistingScenario}},{key:"cards",get:function(){return this.selectedScenarioGid?this.selectedScenario.setupCards:this.drewManually?this.$gameplay.gsm.pickSetupCards(this.randSeed):this.$gameplay.gsm.hasAllSetupCards()&&!this.clearedExistingScenario?this.$gameplay.gsm.state.setupCards:this.$gameplay.gsm.pickSetupCards(this.randSeed)}},{key:"canCancel",get:function(){return this.$gameplay.gsm.hasAllSetupCards()}},{key:"availableScenarios",get:function(){var e=this.$gameplay.gsm;return(0,P.default)(e.state.scenarios,function(t){return e.scenarioIsComplete(t)})}},{key:"selectedScenario",get:function(){return!!this.selectedScenarioGid&&this.$gameplay.gsm.state.scenarios[this.selectedScenarioGid]}},{key:"gameIsScenarioBased",get:function(){return!!this.selectedScenarioGid}}]),e}(),a=B(n.prototype,"randSeed",[x.observable],{enumerable:!0,initializer:null}),o=B(n.prototype,"ugcName",[x.observable],{enumerable:!0,initializer:function(){return""}}),i=B(n.prototype,"publishing",[x.observable],{enumerable:!0,initializer:function(){return!1}}),l=B(n.prototype,"initiatedEdit",[x.observable],{enumerable:!0,initializer:function(){return!1}}),s=B(n.prototype,"selectedStorySize",[x.observable],{enumerable:!0,initializer:null}),u=B(n.prototype,"drewManually",[x.observable],{enumerable:!0,initializer:function(){return!1}}),c=B(n.prototype,"drawInProgress",[x.observable],{enumerable:!0,initializer:function(){return!1}}),d=B(n.prototype,"selectedScenarioGid",[x.observable],{enumerable:!0,initializer:function(){return""}}),f=B(n.prototype,"clearedExistingScenario",[x.observable],{enumerable:!0,initializer:function(){return!1}}),B(n.prototype,"editing",[x.computed],Object.getOwnPropertyDescriptor(n.prototype,"editing"),n.prototype),B(n.prototype,"hasCardsToSave",[x.computed],Object.getOwnPropertyDescriptor(n.prototype,"hasCardsToSave"),n.prototype),p=B(n.prototype,"firstDraw",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.drewManually=!0,e.signalCardsToSocket(),e.$tracking.event("drafting","draw_first_gameSetup")}}}),m=B(n.prototype,"drawAgain",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.randSeed=(0,A.default)().substr(0,6),e.drewManually=!0,e.signalCardsToSocket(),e.$tracking.event("drafting","redraw_gameSetup")}}}),h=B(n.prototype,"setDrawInProgress",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.drawInProgress=!!t}}}),B(n.prototype,"cards",[x.computed],Object.getOwnPropertyDescriptor(n.prototype,"cards"),n.prototype),B(n.prototype,"canCancel",[x.computed],Object.getOwnPropertyDescriptor(n.prototype,"canCancel"),n.prototype),y=B(n.prototype,"cancel",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.canCancel&&(e.randSeed=void 0,e.selectedScenarioGid="",e.initiatedEdit=!1,e.signalCardsToSocket(),e.clearedExistingScenario=!1,e.drewManually=!1)}}}),g=B(n.prototype,"setUgcName",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.ugcName=t}}}),b=B(n.prototype,"setSelectedStorySize",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.selectedStorySize=t}}}),v=B(n.prototype,"stopPublishing",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.publishing=!1,t&&t.data&&t.data.success&&(e.initiatedEdit=!1,e.signalCardsToSocket())}}}),w=B(n.prototype,"accept",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=[],r={ugcName:e.ugcName,storySize:e.selectedStorySize};return e.selectedScenarioGid&&(r.scenarioGid=e.selectedScenarioGid,delete r.storySize),e.clearedExistingScenario&&(r.scenarioGid="_delete_"),t.pu
2sh({kind:"ekSetGameAttrs",params:r}),e.drewManually&&t.push({kind:"ekDrawSetupCards",params:{randSeed:e.randSeed}}),e.publishing=!0,e.$gameplay.eventWrites.postEvents(t).then(e.stopPublishing,e.stopPublishing)}}}),E=B(n.prototype,"startEditing",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=e.$gameplay.gsm;e.ugcName=t.state.ugcName,e.selectedStorySize=t.state.storySize,e.initiatedEdit=!0,e.randSeed=(0,A.default)().substr(0,6),e.clearedExistingScenario=!1,e.drewManually=!1,t.state.scenarioGid&&e.setSelectedScenarioGid(t.state.scenarioGid)}}}),B(n.prototype,"availableScenarios",[x.computed],Object.getOwnPropertyDescriptor(n.prototype,"availableScenarios"),n.prototype),k=B(n.prototype,"setSelectedScenarioGid",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.selectedScenarioGid=t,t?(e.ugcName=e.selectedScenario.name,e.selectedStorySize=e.selectedScenario.storySize,e.clearedExistingScenario=!1,e.drewManually=!1):(e.ugcName=e.$gameplay.gsm.state.deckName||"",e.selectedStorySize=e.$gameplay.gsm.state.storySize,e.$gameplay.gsm.state.scenarioGid&&(e.clearedExistingScenario=!0)),e.signalCardsToSocket()}}}),B(n.prototype,"selectedScenario",[x.computed],Object.getOwnPropertyDescriptor(n.prototype,"selectedScenario"),n.prototype),B(n.prototype,"gameIsScenarioBased",[x.computed],Object.getOwnPropertyDescriptor(n.prototype,"gameIsScenarioBased"),n.prototype),n),G=(0,M.inject)("$gameplay","$rtDraftStatuses","$authUser","$tracking")(_=(0,M.observer)((S=C=function(e){function t(e){R(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.store=new U(r.props.$gameplay,r.props.$rtDraftStatuses,r.props.$authUser,r.props.$tracking),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,T.default.Component),O(t,[{key:"render",value:function(){var e=this,t=this.store;if(this.store.editing){var r=this.store.hasCardsToSave&&!this.store.drawInProgress&&(this.store.ugcName||"").trim(),n=T.default.createElement("div",null,T.default.createElement("p",null,"Game setup")),a=T.default.createElement(I.Footer,null,T.default.createElement(I.CancelButton,{disabled:!this.store.canCancel,onClick:this.store.cancel}),!this.store.selectedScenarioGid&&(this.store.hasCardsToSave?T.default.createElement(I.ActionButton,{bsStyle:"primary",onClick:this.store.drawAgain,spinning:this.store.drawInProgress,disabled:this.store.drawInProgress},"Draw again"):T.default.createElement(I.ActionButton,{bsStyle:"primary",onClick:t.firstDraw,spinning:this.store.drawInProgress,disabled:this.store.drawInProgress},"Draw")),T.default.createElement(I.DoneButton,{onClick:this.store.accept,spinning:this.store.publishing,label:"Done",disabled:!r}));return(0,I.Activity)({header:n,footer:a,content:T.default.createElement("div",null,T.default.createElement($.default,{id:"setup-card-chooser"},"In addition to a ",T.default.createElement("strong",null,"name")," and ",T.default.createElement("strong",null,"length"),", each game starts with four"," ",t.gameIsScenarioBased?"":"randomly-drawn ",T.default.createElement("strong",null,"story cards")," that tell you and your fellow players where and when your story takes place, the narrative tone youâre aiming for, and how your story will begin and end. If you arenât happy with these cards you can draw new ones."),T.default.createElement("div",{className:"form"},T.default.createElement("div",{className:"form-group"},T.default.createElement("label",{htmlFor:"ugcName"},"Story name:"),T.default.createElement("input",{type:"text",id:"ugcName",className:"form-control",value:this.store.ugcName,onChange:function(t){return e.store.setUgcName(t.target.value)}})),T.default.createElement("div",{className:"form-group"},T.default.createElement("label",{htmlFor:"selectedStorySize"},"Game length:"),T.default.createElement("select",{id:"selectedStorySize",className:"form-control",value:this.store.selectedStorySize,onChange:function(t){return e.store.setSelectedStorySize(t.target.value)},disabled:!!this.store.selectedScenarioGid},T.default.createElement("option",{value:"storySizeShort"},"Short story: 4 scenes (3 acts of 1 scene each, plus epilogue)"),T.default.createElement("option",{value:"storySizeMedium"},"Medium story: 7 scenes (3 acts of 2 scenes each, plus epilogue)"),T.default.createElement("option",{value:"storySizeLong"}
2,"Long story: 10 scenes (3 acts of 3 scenes each, plus epilogue)"))),T.default.createElement("div",{className:"form-group"},T.default.createElement("label",{htmlFor:"selectedScenarioGid"},"Scenario:"),T.default.createElement("select",{id:"selectedScenarioGid",className:"form-control",value:t.selectedScenarioGid,onChange:function(e){return t.setSelectedScenarioGid(e.target.value)},disabled:0===t.availableScenarios.length},0===t.availableScenarios.length&&T.default.createElement("option",{value:""},"There are no scenarios in this storyworld"),t.availableScenarios.length>0&&T.default.createElement("option",{value:""},"--- Optionally choose a scenario ---"),t.availableScenarios.length>0&&t.availableScenarios.map(function(e){return T.default.createElement("option",{key:e.gid,value:e.gid},e.name)})))),T.default.createElement("p",null,T.default.createElement("strong",null,"Game cards:")),T.default.createElement(z.default,{justify:"dynamic",cards:this.store.cards,padded:!0,autoAnimate:!0,holdNotYetDrawn:!this.store.hasCardsToSave,setDrawInProgress:this.store.setDrawInProgress}))})}return T.default.createElement(I.ActionPrompt,{header:"Edit game setup",onClick:this.store.startEditing,label:"Edit game setup",bsStyle:"info"},T.default.createElement("p",null,"You can change your gameâs ",T.default.createElement("strong",null,"name")," at any time."," ",T.default.createElement("strong",null,"Length")," and ",T.default.createElement("strong",null,"game cards")," canât be changed once the game starts."))}}]),t}(),C.propTypes={$gameplay:j.default.object.isRequired,$rtDraftStatuses:j.default.object.isRequired,$authUser:j.default.object.isRequired,$tracking:j.default.object.isRequired},_=S))||_)||_;t.default=G},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=m(r(1)),s=r(9),u=m(r(0)),c=r(11),d=r(12),f=m(r(97)),p=m(r(34));function m(e){return e&&e.__esModule?e:{default:e}}var h=(0,s.inject)("$userInfo","$inviter","$chargen","$gameplay","$authUser")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"componentDidMount",value:function(){this.props.$inviter.inviterComponentDidMount()}},{key:"render",value:function(){var e=this,t=this.props,r=t.$userInfo,n=t.$inviter,a=(t.$chargen,t.$gameplay),o=t.$authUser,i=n,s=a.authIsTeacher,u=(a.authIsOrganizer,a.gsm),m=u.setupTasksComplete()?"info":"primary";return(0,d.Activity)({header:"Invite players",bsStyle:m,content:l.default.createElement("div",null,l.default.createElement("p",{style:{paddingBottom:20}},"Games can have between 2-4 players. To start the game there must be at least 2 players with characters."),l.default.createElement("p",null,l.default.createElement("strong",null,"Current players and invited users:")),l.default.createElement(c.ListGroup,{style:{paddingBottom:20}},i.currentUserPids.map(function(t){return l.default.createElement(c.ListGroupItem,{key:t,className:"flex-row-justify"},l.default.createElement("span",null,r.displayName(t,{youParens:!0}),i.charactersByUserPid[t]&&l.default.createElement("span",null," ","is playing as â",i.charactersByUserPid[t].name,"â"," "),!i.charactersByUserPid[t]&&t===a.organizerUserPi
2d&&l.default.createElement("span",null," ","is the organizer, but has not yet created a character."," "),!i.charactersByUserPid[t]&&t!==a.organizerUserPid&&l.default.createElement("span",null," ","is invited, but has not yet created a character."," ")),l.default.createElement("span",null,t===a.organizerUserPid&&!1,t!==a.organizerUserPid&&l.default.createElement("span",null,u.userCanRemoveOtherUser(o.pid,t)&&l.default.createElement("span",null,l.default.createElement(c.Button,{onClick:function(){return i.cancelInviteOrDeleteCharacter(t,e.confirmModal)}},l.default.createElement(f.default.Span,{black:!0,spinning:"cancelling"===i.processing},u.characterForUser(t)?"Delete":"Cancel"))," "),!1)))})),"student_not_found"===i.sendError&&l.default.createElement(c.Alert,{bsStyle:"danger"},"There is no student in the classroom named â",i.errorName,"â"),"student_already_invited"===i.sendError&&l.default.createElement(c.Alert,{bsStyle:"danger"},"The student â",i.errorName,"â is already invited or playing character."),l.default.createElement("form",{style:{paddingBottom:20},className:"form-inline",onSubmit:function(t){t.preventDefault(),i.sendInvites({confirmModal:e.confirmModal})}},l.default.createElement("div",{className:"form-group"},l.default.createElement("label",{htmlFor:"invitees"},"Invite:")," ",l.default.createElement("input",{type:"text",id:"invitees",className:"form-control",value:i.invitesList,onChange:function(e){return i.setInvitesList(e.target.value)},placeholder:"Mary, Arthur, ...",size:"40","data-p":"game_invitees_input"}))," ",l.default.createElement(d.ActionButton,{type:"submit",label:"Invite",bsStyle:m,spinning:"inviting"===i.processing,"data-
2p":"game_invitees_submit"})),i.suggestTeacherInviteThemselves&&l.default.createElement(c.Well,{style:{margin:"20px 0 0 0"}},l.default.createElement("p",{style:{margin:"0"}},"Note: if you would like to play in this game, simply invite yourself. Youâll then be given the option to create a character.")),s&&l.default.createElement(c.Well,{style:{margin:"20px 0 0 0"}},l.default.createElement("p",null,"The ",l.default.createElement("strong",null,"organizer")," sets up the game and gets to move first. You can change the game organizer at any time until the game starts."),l.default.createElement("form",{className:"form-inline",onSubmit:function(t){t.preventDefault(),i.saveSelectedOrganizer({confirmModal:e.confirmModal})}},l.default.createElement("div",{className:"form-group"},l.default.createElement("label",{htmlFor:"curOrganizer"},"Organizer:")," ",l.default.createElement("select",{name:"curOrganizer",value:i.selectedOrganizerPid,onChange:function(e){i.setSelectedOrganizerPid(e.target.value)}},i.allUserPidsEligibleForOrganizerRole.map(function(e){return l.default.createElement("option",{key:e,value:e},r.displayName(e))})))," ",l.default.createElement(d.ActionButton,{type:"submit",label:"Update",disabled:i.selectedOrganizerPid===a.organizerUserPid,spinning:"settingOrganizer"===i.processing}))),l.default.createElement(p.default,{ref:function(t){e.confirmModal=t}}))})}}]),t}(),a.propTypes={$userInfo:u.default.object.isRequired,$inviter:u.default.object.isRequired,$chargen:u.default.object.isRequired,$gameplay:u.default.object.isRequired,$authUser:u.default.object.isRequired},n=o))||n)||n;t.default=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),m=k(r(1)),h=k(r(0)),y=r(10),g=r(9),b=k(r(590)),v=k(r(589)),w=k(r(333)),E=r(12);function k(e){return e&&e.__esModule?e:{default:e}}function _(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function C(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function S(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var P=(0,g.inject)("$gameplay","$chargen")(n=(0,g.observer)((f=d=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,d=Array(a),f=0;f<a;f++)d[f]=arguments[f];return r=n=C(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(d))),_(n,"drawingSetupCards",o,n),_(n,"drawingBonds",i,n),_(n,"startDrawingBonds",l,n),_(n,"cancelDrawingBonds",s,n),_(n,"startDrawingSetupCards",u,n),_(n,"cancelDrawingSetupCards",c,n),C(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,m.default.Component),p(t,[{key:"render",value:function(){var e=this.props,t=e.$gameplay,r=e.$chargen,n=t.authIsOrganizer&&r.canStart;return m.default.createElement("div",null,m.default.createElement(v.default,null),m.default.createElement(b.default,null),n&&m.default.createElement(E.ActionPrompt,{header:"Create a character",onClick:r.start,label:"Create my character"},m.default.createElement("p",null,"The game canât begin until everyone has joined and created a character, including you!"),t.authIsTeacher&&m.default.createElement("p",null,"(If you donât want to play in the game, set the organizer to one of your students.)")),m.default.createElement(w.default,null))}}]),t}(),d.propTypes={$gameplay:h.default.object.isRequired,$chargen:h.default.object.isRequired},o=S((a=f).prototype,"drawingSetupCards",[y.observable],{enumerable:!0,initializer:null}),i=S(a.prototype,"drawingBonds",[y.observable],{enumerable:!0,initializer:null}),l=S(a.prototype,"startDrawingBonds",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.drawingBonds=!0}}}),s=S(a.prototype,"cancelDrawingBonds",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.drawingBonds=!1}}}),u=S(a.prototype,"startDrawingSetupCards",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.drawingSetupCards=!0}}}),c=S(a.prototype,"cancelDrawingSetupCards",[y.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.drawingSetupCards=!1}}}),n=a))||n)||n;t.default=P},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=m(r(1)),s=m(r(0)),u=r(9),c=r(11),d=r(12),f=m(r(15)),p=m(r(93));function m(e){return e&&e.__esModule?e:{default:e}}var h=(0,u.inject)("$gameplay","$chargen")(n=(0,u.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props,t=e.$gameplay,r=e.$chargen,n=t.gsm,a="name"===r.editingChoice,o=r.chosenCharTypeGid&&!r.chosenCharTypeIsUnavailable&&r.chosenImage&&!r.chosenName||a,i=!r.chosenImage||!r.chosenName&&r.chosenCharTypeIsUnavailable,s=n.state.characters[r.chosenCharTypeGid];if(i)return(0,d.Activity)({upcoming:!0,header:"3. Name your character"});if(o){var u=r.formSelectedName&&r.formSelectedName.trim(),m="string"==typeof r.formSelectedName&&s.suggestedNames.indexOf(r.formSelectedName)<0?"custom":r.formSelectedName,h="custom"===m?r.formSelectedName:"";return(0,d.Activity)({scrollIntoView:!0,header:l.default.createElement("div",null,l.default.createElement("p",null,"3. Name your character"),l.default.createElement("p",{className:"header-description"},"This will be your characterâs name in the story. Weâve provided some examples you can use, or you can make one up if you prefer.")),content:l.default.createElement("div",{className:"text-center"},l.default.createElement("h4",null,l.default.createElement("em",null,"My characterâs name is...")),s.suggestedNames.map(function(e,t){return l.default.createElement("label",{key:e,htmlFor:"chooseName"+t,className:"clicky reg-box-1 children-align-middle "+(m===e?"highlight-1":""),style:{textAlign:"left",position:"relative",overflow:"hidden",margin:"10px 20px",paddingLeft:"20px",width:"300px",display:"inline-block"}},l.default.createElement("input",{id:"chooseName"+t,type:"radio",name:"chargenNameChoice",value:e,style:{position:"absolute",left:"-50px"},checked:m===e,onChange:function(e){return r.setFormSelectedName(e.target.value)}}),m===e?l.default.createElement(f.default,{size:"2x",name:"check-circle"}):l.default.createElement(f.default,{size:"2x",name:"circle-o"}),l.default.createElement("span",{style:{marginLeft:"20px"}},e))}),l.default.createElement("br",null),l.default.createElement("label",{htmlFor:"chooseCustom",className:"clicky reg-box-1 children-align-middle "+("custom"===m?"highlight-1":""),style:{textAlign:"left",position:"relative",overflow:"hidden",margin:"10px 20px",padding:"10px 5px 10px 20px",width:"300px",display:"inline-block"}},l.default.createElement("input",{id:"chooseCustom",type:"radio",name:"chargenNameChoice",value:"custom",style:{position:"absolute",left:"-50px"},checked:"custom"===m,onChange:function(){return r.setFormSelectedName("")}}),"custom"===m?l.default.createElement(f.default,{size:"2x",name:"check-circle"}):l.default.createElement(f.default,{size:"2x",name:"circle-o"}),l.default.createElement("div",{style:{display:"inline-block",marginLeft:"20px"}},"Write your own:",l.default.createElement("br",null),l.default.createElement("input",{type:"text",style:{width:"140px",border:"1px solid #ccc"},value:h,onChange:function(e){return r.setFormSelectedName(e.target.value)}})))),footer:l.default.createElement(d.Footer,null,!r.chosenName&&l.default.createElement(d.CancelButton,{onClick:function(){return r.cancel()}}),l.default.createElement(p.default,{toWhat:"To continue",tasks:u?void 0:["requiredActionChooseName"]}),l.default.createElement(d.DoneButton,{label:a?"Done":"Next",noIcon:!0,disabled:!u,onClick:r.chooseName}))})}return(0,d.Activity)({completed:!0,header:"3. Name your character",bsStyle:"info",content:l.default.createElement("div",{className:"text-center"},l.default.createElement("h4",null,l.default.createElement("em",null,"My characterâs name is...")),l.default.createElement("h3",null,"â",r.chosenName,"â")),footer:l.default.createElement(d.Footer,null,l.default.createElement(c.Button,{bsStyle:"info",onClick:function(){return r.editChoice("name")}},"Edit"))})}}]),t}(),a.propTypes={$gameplay:s.default.object.isRequired,$chargen:s.default.object.isRequired},n=o))||n)||n;t.default=h},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=E(r(335)),l=E(r(27)),s=E(r(95)),u=E(r(25)),c=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),d=E(r(1)),f=E(r(0)),p=r(9),m=r(11),h=E(r(56)),y=r(12),g=E(r(15)),b=E(r(93)),v=r(92),w=E(v);function E(e){return e&&e.__esModule?e:{default:e}}var k=(0,p.inject)("$gameplay","$chargen","$userInfo")(n=(0,p.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,d.default.Component),c(t,[{key:"render",value:function(){var e=this,t=this.props,r=t.$gameplay,n=t.$chargen,a=t.$userInfo,o=r.gsm,c="image"===n.editingChoice,f=n.chosenCharTypeGid&&!n.chosenCharTypeIsUnavailable&&!n.chosenImage||c||n.chosenAvatarIsUnavailable,p=!n.chosenCharTypeGid||!n.chosenImage&&n.chosenCharTypeIsUnavailable,E=(o.state.characters[n.chosenCharTypeGid],n.charTypesSummaryForChooser),k=function(){var e=n.radioSelectedImage;if(!e)return!1;var t=E.artGidTakenBy[e.artGid]&&o.characterForUser(E.artGidTakenBy[e.artGid]);return!!t&&d.default.createElement(m.Alert,{bsStyle:"danger",style:{margin:"20px 0 0 0"}},"This avatar is claimed by ",t.name," (",a.displayName(E.artGidTakenBy[e.artGid]),"). You must choose a different one to proceed.")}();if(p)return(0,y.Activity)({upcoming:!0,header:"2. Choose an avatar"});if(f){var _=[];(0,u.default)(o.charTypeCharacters(),function(e){e.image&&_.push(e.image),e.image2&&_.push(e.image2)}),(0,s.default)(_,{artGid:"characterDefault"});var C={};return _=(0,l.default)(_,function(e){return!C[e.artGid]&&(C[e.artGid]=!0,!0)}),(0,y.Activity)({scrollIntoView:!0,header:d.default.createElement("div",null,d.default.createElement("p",null,"2. Choose an avatar"),d.default.createElement("p",{className:"header-description"},"Your avatar is an image that shows what your character looks like.")),content:d.default.createElement("div",{className:"text-center"},d.default.createElement("h4",null,d.default.createElement("em",null,"My character looks like ...")),_.map(function(e,t){var r=JSON.stringify([e,t]),a=(0,i.default)(n.radioSelectionStockImage,e);return d.default.createElement("label",{key:r,htmlFor:"pickAva"+r,className:"clicky reg-box-1 children-align-middle "+(a?"highlight-1":"")+" "+(E.artGidTakenBy[e.artGid]?"avatar-taken":""),style:{position:"relative",overflow:"hidden",margin:"10px 10px",padding:"5px 5px 5px 10px",display:"inline-block"}},d.default.createElement("input",{id:"pickAva"+r,type:"radio",name:"chargenAvatarChoice",value:JSON.stringify(e),style:{position:"absolute",left:"-50px"},checked:a,onChange:function(e){return n.setRadioSelectionStockImage(JSON.parse(e.target.value))},disabled:!!E.artGidTakenBy[e.artGid]}),a?d.default.createElement(g.default,{size:"2x",name:"check-circle"}):d.default.createElement(g.default,{size:"2x",name:"circle-o"}),d.default.createElement(h.default,{size:"l",image:e,style:{margin:"0 0 0 10px"}}))}),d.default.createElement("label",{key:!0,htmlFor:"pickAvaCustom",className:"clicky reg-box-1 children-align-middle "+(n.radioSelectedImageIsCustom?"highlight-1":""),style:{position:"relative",overflow:"hidden",margin:"10px 10px",padding:"5px 5px 5px 10px",display:"inline-block"}},d.default.createElement("input",{id:"pickAvaCustom",type:"radio",name:"chargenAvatarChoice",value:"custom",style:{position:"absolute",left:"-50px"},checked:!n.radioSelectionStockImage&&!!n.radioSelectedImageIsCustom,onChange:function(e){return n.switchSelectionToCustomImageIfAny()}}),n.radioSelectedImageIsCustom?d.default.createElement(g.default,{size:"2x",name:"check-circle"}):d.default.createElement(g.default,{size:"2x",name:"circle-o"}),d.default.createElement("div",{style:{minWidth:"200px",minHeight:"200px",marginLeft:"10px",textAlign:"center",display:"inline-block"}},!n.radioSelectionCustomImage&&d.default.createElement("div",{style:{width:"200px",height:"200px",margin:"0"},className:"avatar thumbnail",onClick:function(){return(0,v.openArtChooserViaRef)(e.artChooserRef)}},d.default.createElement("span",{className:"vertically-centered"},"Custom")),n.radioSelectionCustomImage&&d.default.createElement(h.default,{size:"l",image:n.radioSelectionCustomImage,style:{margin:"0"}}),d.default.createElement("div",{style:{marginTop:"10px"}},d.default.createElement(w.default,{ref:function(t){e.artChooserRef=t},currentImage:n.radioSelectionCustomImage,artCategory:"avatar",onComplete:n.setRadioSelectionCustomImage})))),k),footer:d.default.createElement(y.Footer,null,!n.chosenImage&&d.default.createElement(y.CancelButton,{onClick:n.cancel}),d.default.createElement(b.default,{toWhat:"To continue",tasks:n.radioSelectedImage?void 0:["requiredActionChooseAvatar"]}),d.default.createElement(y.DoneButton,{onClick:n.chooseImage,disabled:!n.radioSelectedImage||!!k,label:c?"Done":"Next",noIcon:!0}))})}return(0,y.Activity)({completed:!0,header:"2. Choose an avatar",bsStyle:"info",content:d.default.createElement("div",{className:"text-center"},d.default.createElement("h4",null,d.default.createElement("em",null,"My character looks like ...")),d.default.createElement(h.default,{lightbox:!0,size:"l",image:n.chosenImage}),k),footer:d.default.createElement(y.Footer,null,d.default.createElement(m.Button,{bsStyle:"info",onClick:function(){return n.edit
2Choice("image")}},"Edit"))})}}]),t}(),a.propTypes={$gameplay:f.default.object.isRequired,$chargen:f.default.object.isRequired,$userInfo:f.default.object.isRequired},n=o))||n)||n;t.default=k},,function(e,t,r){},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=b(r(31)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=b(r(1)),u=b(r(0)),c=r(9),d=r(11),f=b(r(56)),p=r(12),m=b(r(36)),h=b(r(332));r(595);var y=b(r(93)),g=b(r(63));function b(e){return e&&e.__esModule?e:{default:e}}var v=(0,c.inject)("$gameplay","$userInfo","$chargen")(n=(0,c.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=this.props,t=e.$gameplay,r=e.$userInfo,n=e.$chargen,a=t.gsm,o="charType"===n.editingChoice,l=!n.chosenCharTypeGid||o||n.chosenCharTypeIsUnavailable,u=n.charTypesSummaryForChooser,c=function(e){var t=u.takenBy[e]&&a.characterForUser(u.takenBy[e]);return s.default.createElement(d.Alert,{bsStyle:"danger",style:{margin:"20px 0 0 0"}},"This character type is claimed by ",t.name," (",r.displayName(u.takenBy[e]),"). You must choose a different one to proceed.")};if(l){var b=a.state.characters[n.formSelectedCharTypeGid],v=!(!b||u.takenBy[b.gid]),w=0===(0,i.default)(u.takenBy).length,E=u.all.map(function(e){var t=!!u.takenBy[e.gid];return{key:e.gid,gid:e.gid,content:s.default.createElement("div",{className:"char-type-choice "+(t&&"taken")},s.default.createElement("div",{className:"char-name"},e.name),s.default.createElement("div",{className:"avatars"},s.default.createElement(f.default,{character:e,style:{margin:"0 10px 0 20px"}}),s.default.createElement(f.default,{character:e,useImage2:!0,style:{marginRight:"10px"}})),!w&&(t?s.default.createElement("div",{className:"taken-by-player"},r.displayName(u.takenBy[e.gid])):s.default.createElement("div",{className:"taken-by-available"},"available")))}});return(0,p.Activity)({scrollIntoView:!0,header:s.default.createElement("div",null,s.default.createElement("p",null,"1. Choose a character type"),s.default.createElement("p",{className:"header-description"},"Your character type determines the kind of person youâre playing in the story and the cards you start with. This is just to get you started: your character will change and grow as you play and draw new cards!")),content:s.default.createElement("div",{className:"text-center"},s.default.createElement("h4",null,s.default.createElement("em",null,"I want to play...")),s.default.createElement(h.default,{id:"charTypeChooser",choices:E,selected:!!b&&b.gid,onChange:function(e){return n.setFormSelectedCharTypeGid(e)}}),b&&function(e){var t=a.state.characters[e];return s.default.createElement("div",null,s.default.createElement(g.default,{id:"chargenCards"},"Strengths represent positive qualities that help your character overcome challenges, while Flaws represent limitations that hold them back. Motvations represent a characterâs personal goal that drives the decisions they make."),s.default.createElement("h4",{className:"text-center"},"Starting cards:"),s.default.createElement(m.default,{doSort:!0,justify:"center",cards:t.cards}))}(b.gid),b&&!v&&c(b.gid)),footer:s.default.createElement(p.Footer,null,!n.chosenCharTypeGid&&s.default.createElement(p.CancelButton,{onClick:n.cancel}),s.default.createElement(y.default,{toWhat:"To continue",tasks:v?void 0:["requiredActionChooseCharacterType"]}),s.default.createElement(p.DoneButton,{label:o?"Done":"Next",noIcon:!0,onClick:n.chooseCharType,disabled:!v}))})}var k=a.state.characters[n.chosenCharTypeGid];return(0,p.Activity)({completed:!0,header:"1. Choose a character type",bsStyle:"info",content:s.default.createElement("div",{className:"text-center"},s.default.createElement("h4",null,s.default.createElement("em",null,"My character is...")),s.default.createElement("h3",{className:"text-center"},k.name),s.default.createElement("h4",{className:"text-center"},"Starting cards:"),s.default.createElement(m.default,{doSort:!0,justify:"center",cards:k.cards}),n.chosenCharTypeIsUnavailable&&c(k.gid)),footer:s.default.createElement(p.Footer,null,s.default.createElement(d.Button,{bsStyle:"info",onClick:function(){return n.edit
2Choice("charType")}},"Edit"))})}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$userInfo:u.default.object.isRequired,$chargen:u.default.object.isRequired},n=o))||n)||n;t.default=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),y=C(r(1)),g=C(r(0)),b=r(10),v=r(9),w=r(11),E=r(12),k=C(r(13)),_=C(r(15));function C(e){return e&&e.__esModule?e:{default:e}}function S(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function P(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function O(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var T=(n=function(){function e(t){P(this,e),S(this,"ugcName",a,this),S(this,"publishing",o,this),S(this,"editing",i,this),S(this,"cancel",l,this),S(this,"setUgcName",s,this),S(this,"stopPublishing",u,this),S(this,"publish",c,this),S(this,"startEditing",d,this),this.$gameplay=t,this.ugcName=t.gsm.state.ugcName}return h(e,[{key:"validToPublish",get:function(){return!!this.ugcName.trim()&&this.ugcName.trim()!==this.$gameplay.gsm.state.ugcName.trim()}}]),e}(),a=O(n.prototype,"ugcName",[b.observable],{enumerable:!0,initializer:null}),o=O(n.prototype,"publishing",[b.observable],{enumerable:!0,initializer:null}),i=O(n.prototype,"editing",[b.observable],{enumerable:!0,initializer:null}),l=O(n.prototype,"cancel",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.editing=!1}}}),s=O(n.prototype,"setUgcName",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.ugcName=t}}}),u=O(n.prototype,"stopPublishing",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.publishing=!1,t&&t.data&&t.data.success&&(e.editing=!1)}}}),O(n.prototype,"validToPublish",[b.computed],Object.getOwnPropertyDescriptor(n.prototype,"validToPublish"),n.prototype),c=O(n.prototype,"publish",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(!e.validToPublish)return Promise.resolve();var t=[{kind:"ekSetGameAttrs",params:{ugcName:e.ugcName}}];return e.publishing=!0,e.$gameplay.eventWrites.postEvents(t).then(e.stopPublishing,e.stopPublishing)}}}),d=O(n.prototype,"startEditing",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.$gameplay.readOnlyGateKeeper()||(e.editing=!0,e.ugcName=e.$gameplay.gsm.state.ugcName)}}}),n),j=(0,v.inject)("$gameplay","$router")(f=(0,v.observer)((m=p=function(e){function t(e){P(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.store=new T(r.props.$gameplay),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,y.default.Component),h(t,[{key:"render",value:function(){var e=this.store,t=!1,r=this.props.$router.toPath("gameTextViewRoute"),n=this.props.$gameplay.gsm.gameIsStarted("pageMode"),a="gamePageModePreGameOrganizer"!==this.props.$gameplay.pageMode.value;return e.editing&&(t=y.default.createElement(w.Modal,{keyboard:!1,backdrop:"static",show:e.editing,onHide:e.cancel},y.default.createElement(w.Modal.Header,{closeButton:!0},"Game setup"),y.default.createElement(w.Modal.Body,null,y.default.createElement("div",{className:"form"},y.default.createElement("div",{className:"form-group"},y.default.createElement("label",{htmlFor:"ugcName"},"Story name:"),y.default.createElement("input",{type:"text",id:"ugcName",className:"form-control",value:e.ugcName,onChange:function(t){return e.setUgcName(t.target.value)}})))),y.default.createElement(w.Modal.Footer,null,y.default.createElement(E.Footer,null,y.default.createElement(E.CancelButton,{onClick:e.cancel}),y.default.createElement(E.DoneButton,{disabled:!e.validToPublish,onClick:e.publish,spinning:e.publishing}
2))))),y.default.createElement("div",null,t,!a&&n&&y.default.createElement("span",{className:"edit-link"},y.default.createElement(k.default,{to:r,target:"_new"},y.default.createElement(_.default,{name:"print"})," Print")),a&&y.default.createElement("span",{className:"edit-link"},n&&y.default.createElement("span",null,y.default.createElement(k.default,{to:r,target:"_new"},y.default.createElement(_.default,{name:"print"})," Print")," ","â¢"," "),y.default.createElement(k.default,{onClick:e.startEditing},"Edit")))}}]),t}(),p.propTypes={$gameplay:g.default.object.isRequired,$router:g.default.object.isRequired},f=m))||f)||f;t.default=j},,function(e,t,r){},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=f(r(1)),s=f(r(0)),u=r(9),c=f(r(322)),d=r(12);function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,u.inject)("$gameplay","$userInfo","$chargen","$rtDraftStatuses")(n=(0,u.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props,t=e.$gameplay,r=e.$userInfo,n=e.$chargen,a=e.$rtDraftStatuses;return l.default.createElement("div",null,l.default.createElement(c.default,{startOpen:!0,noToggle:!0}),n.completed&&l.default.createElement(d.Standby,null,"Standby... the organizer will start the game soon."),n.canStart&&l.default.createElement(d.ActionPrompt,{header:"Youâre invited to this game",onClick:n.start,label:"Join"},l.default.createElement("p",null,"The organizer (",r.displayName(t.organizerUserPid),") has invited you to play a character in this game.")),!n.completed&&!n.canStart&&(a.stagedSetupCards?l.default.createElement(d.Standby,null,"The organizer (",r.displayName(t.organizerUserPid),") has invited you to play a character in this game. Before you can join the organizer needs to finalize the"," ",l.default.createElement("strong",null,"game cards")," (previews of the cards theyâve currently drawn are shown above.) Standby..."):l.default.createElement(d.Standby,null,"The organizer (",r.displayName(t.organizerUserPid),") has invited you to play a character in this game, but they havenât yet drawn ",l.default.createElement("strong",null,"game cards"),". When theyâre done youâll be able to create your character.")))}}]),t}(),a.propTypes={$gameplay:s.default.object.isRequired,$userInfo:s.default.object.isRequired,$chargen:s.default.object.isRequired,$rtDraftStatuses:s.default.object.isRequired},n=o))||n)||n;t.default=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=y(r(1)),s=y(r(0)),u=r(9),c=y(r(600)),d=y(r(596)),f=y(r(593)),p=y(r(592)),m=y(r(34)),h=r(12);function y(e){return e&&e.__esModule?e:{default:e}}var g=(0,u.inject)("$chargen")(n=(0,u.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this,t=this.props.$chargen;if(!t.started)return l.default.createElement(c.default,null);if(t.completed)return l.default.createElement(c.default,null);var r=!!t.chosenName;return l.default.createElement("div",null,l.default.createElement(d.default,null),l.default.createElement(f.default,null),l.default.createElement(p.default,null),r&&(0,h.Activity)({scrollIntoView:!0,header:"Your character is ready",content:"Save your character to join the game!",footer
2:l.default.createElement(h.Footer,null,l.default.createElement(h.CancelButton,{onClick:t.cancel}),l.default.createElement(h.DoneButton,{onClick:function(){return t.finish({confirmModal:e.confirmModal})},label:"Iâm done",spinning:t.publishing}))}),l.default.createElement(m.default,{ref:function(t){e.confirmModal=t}}))}}]),t}(),a.propTypes={$chargen:s.default.object.isRequired},n=o))||n)||n;t.default=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h=I(r(50)),y=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),g=I(r(1)),b=r(9),v=r(10),w=I(r(0)),E=r(11),k=I(r(81)),_=I(r(36)),C=I(r(56)),S=I(r(15)),P=I(r(17)),O=r(12),T=I(r(323)),j=I(r(326)),x=I(r(325)),M=I(r(324)),z=I(r(13)),A=I(r(168));function I(e){return e&&e.__esModule?e:{default:e}}function $(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function D(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function N(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var R=(0,b.inject)("$gameplay","$authUser","$blurbs","$router","$deckEditor","$dashboard","$tabMemory","$sdb","$tracking")(n=(0,b.observer)((m=p=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,p=Array(a),m=0;m<a;m++)p[m]=arguments[m];return r=n=D(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(p))),$(n,"confirmingUpgrade",o,n),$(n,"confirmingClassCopy",i,n),$(n,"popConfirmUpgrade",l,n),$(n,"cancelConfirmUgrade",s,n),$(n,"doConfirmUpgrade",u,n),$(n,"popConfirmClassCopy",c,n),$(n,"cancelConfirmClassCopy",d,n),$(n,"doConfirmClassCopy",f,n),n.trackPdfLinkChunk=function(e,t){return n.props.$tracking.event("deckbrowser","materials_pdf_download",{material_type:t.type}),!0},D(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,g.default.Component),y(t,[{key:"componentDidMount",value:function(){this.props.$sdb.fetchAvailableDecks()}},{key:"render",value:function(){var e=this;if("scenarioDetailRoute"===this.props.$router.route.name)return g.default.createElement(M.default,{editable:!1});var t=this.props.$gameplay,r=this.props.$authUser,n=this.props.$deckEditor,a=this.props.$dashboard,o=this.props.$tabMemory,i=!r.is_teacher,l=r.is_teacher,s=t.gsm,u=s.state.deckPdfs&&s.state.deckPdfs.handout,c={ckPlace:"Place cards represent locations where specific scenes take place. They are drawn at the start of each scene.",ckStrength:"Strength cards represent positive qualities (either physical or mental) that help characters overcome challenges.",ckFlaw:"Flaw cards represent personal limitations or drawbacks that hold characters back or cause them trouble.",ckChallenge:"Challenge cards represent obstacles or situations that characters try to overcome in the course of a scene. They are drawn at the start of each scene.",ckSuccess:"Success cards tell us what happens when a challenge is met with a majority of Strength cards. They are drawn at the start of each scene.",ckSetback:"Setback cards tell us what happens when a challenge is met with a majority of Flaw cards. They are drawn at the start of each scene.",ckSetting:"Setting cards de
2scribe the time and context in which the entire story takes place. They are drawn during game setup.",ckBond:"Bond cards represent relationships between characters.",ckMotivation:"Motivation cards represent ongoing personal goals or agendas that drive characters to do what they do in the story.",ckBeginning:"Beginning cards tell us how the story begins. They are drawn during game setup.",ckEnding:"Ending cards tell us how the story will end. They are drawn during game setup.",ckTone:"Tone cards tell us the narrative tone of the story. They are drawn during game setup."},d=s.prettyKind,f=s.kindIcon,p=s.charTypeCharacters(),m={margin:"20px 0"},y={float:"left",width:"150px",fontWeight:"bold"},b={marginLeft:"160px"},v=s.state.deckPdfs&&s.state.deckPdfs.usage,w=s.state.deckPdfs&&s.state.deckPdfs.slides,I=s.state.deckPdfs&&s.state.deckPdfs.handout,$=[{type:"usage",asset:v,justUploaded:v&&(new Date).getTime()<1e3*(v.createdAtUnix+180),title:"Usage guide"},{type:"slides",asset:w,justUploaded:w&&(new Date).getTime()<1e3*(w.createdAtUnix+180),title:"Instructional slides"},{type:"handout",asset:I,justUploaded:I&&(new Date).getTime()<1e3*(I.createdAtUnix+180),title:"Student handout"}];i&&($=[$[2]]);var D={details:"Details",cards:"Cards",charTypes:"Character Types",scenarios:"Scenarios",art:"Artwork",materials:"Materials"},N=function(e){var t=n.tabCount(e);return"number"==typeof t?g.default.createElement("span",null,D[e]," ",g.default.createElement("span",{style:{color:"#999"}},"(",t,")")):D[e]},R=t.gameCreation.authUserCanCreateGameFromThisDeck,B=a.currentDeckCanBeAddedToAvailableDecks,U=a.currentDeckCanBeDeletedFromAvailableDecks,G=t.gameVob,F=G&&(0,h.default)(G.deck_versions_meta.pubPids),q=U&&G&&G.deck_versions_meta&&F!==G.gamePid,L=a.currentDeckIsAnAvailableUpgrade,V=G&&G.deck_is_published&&!G.is_class_copy&&l,H=[];return B&&H.push(g.default.createElement("div",{key:"addtoclassrooms",style:{display:"inline-block"}},g.default.createElement(O.ActionButton,{icon:"plus-circle",label:"Add to classrooms",spinning:"addrm"===a.spinning,onClick:function(){return a.addGameToAvailableDecks(t.gamePid)},"data-p":"add_to_classrooms_btn"}))),U&&H.push(g.default.createElement("div",{key:"rmfromlist",style:{display:"inline-block"}},g.default.createElement(O.ActionButton,{bsStyle:"info",icon:"times-circle",label:"Remove from classrooms",spinning:"addrm"===a.spinning,onClick:function(){return a.deleteGameFromAvailableDecks(t.gamePid)},"data-p":"rm_from_classrooms_btn"}))),V&&H.push(g.default.createElement("div",{key:"classcopy",style:{display:"inline-block"}},g.default.createElement(O.ActionButton,{label:"Create your own copy",bsStyle:"info",onClick:this.popConfirmClassCopy,"data-p":"class_copy_btn"}))),L&&H.push(g.default.createElement("div",{key:"upgrade",style:{display:"inline-block"}},g.default.createElement(O.ActionButton,{label:"Upgrade to this version",onClick:this.popConfirmUpgrade,"data-p":"upgrade_version_btn"}))),R&&H.push(g.default.createElement(T.default,{key:"cgfd"})),g.default.createElement("div",{"data-p":"deck_browser","data-pid":t.gamePid,"data-slug":s.state.slug,style:{marginBottom:"200px"}},this.confirmingClassCopy&&g.default.createElement(E.Modal,{show:!0},g.default.createElement(E.Modal.Header,null,"Create your own copy"),g.default.createElement(E.Modal.Body,null,g.default.createElement("p",null,"This will create a copy of this world that you can edit independently for use with your classrooms. Itâs a great way to use an existing storyworld as a starting point and then tailor it to meet your own needs."),g.default.createElement("p",null,"The main restriction to a copied storyworld is that it cannot be shared with other teachers. Copied storyworlds are only for use in your own classrooms. They also cannot be upgraded when the original author publishes a new version.")),g.default.createElement(E.Modal.Footer,null,g.default.createElement(O.Footer,null,g.default.createElement(O.CancelButton,{onClick:this.cancelConfirmClassCopy}),g.default.createElement(O.DoneButton,{label:"Create your own copy","data-p":"confirm_upgrade_btn",onClick:this.doConfirmClassCopy,spinning:"creatingClassCopy"===n.spinning})))),this.confirmingUpgrade&&g.default.createElement(E.Modal,{show:!0},g.default.createElement(E.Modal.Header,null,"Upgrade to this version"),g.default.createElement(E.Modal.Body,null,g.default.createElement("p",null,"This will upgrade your classrooms to use the latest version of this storyworld. Games that already exist will not be affected, but new games will use the new version.")),g.default.createElement(E.Modal.Footer,null,g.default.createElement(O.Footer,null,g.default.createElement(O.CancelButton,{onClick:this.cancelConfirmUgrade}),g.default.createElement(O.DoneButton,{"data-p":"confirm_upgrade_btn",onClick:this.doConfirmUpgrade,spinning:"upgradingDeck"===a.spinning})))),g.default.createElement(E.Row,{style:{paddingBottom:"30px"}},g.default.createElement(E.Col,{xs:12},H.length>0&&g.default.createElement(A.default.HorizGrid,{wideButtons:!0,collapse:!0,gapped:!0,mb10:!0,packRight:!0},H),g.default.createElement(k.default,{gsmState:s.state,showAuthor:!0,showTags:!i}),q&&g.default.createElement(O.CompletionSummary,{style:{textAlign:"center"}},g.default.createElement(z.default,{to:"/storyworld/"+F,"data-p":"upgrade_available_link"},g.default.createElement(S.default,{name:"info-circle"}),"Â A newer version of this storyworld is available â view and upgrade")),s.state.deckBlurb&&!i&&g.default.createElement("p",{className:"deck-blurb mt20 mb20"},this.props.$blurbs.smart(s.state.gamePid,s.state.deckBlurb)),g.default.createElement("hr",null),g.default.createElement(E.Tabs,{activeKey:n.selectedTab,onSelect:n.setClickedTab,animation:!1,id:"deck-tabs",className:"tabs-condensed"},g.default.createElement("div",{style:{marginBottom:"20px"}}),g.default.createElement(E.Tab,{eventKey:"cards",title:N("cards")},g.default.createElement(E.Tabs,{activeKey:o.selectedTab("deckBrowserCardsTab","ckSetting"),onSelect:o.setSelectedTabFn("deckBrowserCardsTab"),animation:!1,id:"deck-card-kinds",className:"tabs-condensed"},P.default.cardKindDisplaySortOrder.map(function(e){return g.default.createElement(E.Tab,{eventKey:e,key:e,title:g.default.createElement("span",null,g.default.createElement(S.default,{name:f(e)})," ",d(e,!0))},g.default.createElement("h3",null,d(e)," Cards"),g.default.createElement("p",null,c[e]),g.default.createElement(_.default,{doSort:!0,cards:function(e){return s.filterCardsForUseCase("deckBrowser",{kind:e})}(e),justify:"left"}))}))),g.default.createElement(E.Tab,{eventKey:"charTypes",title:N("charTypes")},g.default.createElement(E.Tabs,{activeKey:o.selectedTab("deckBrowserCharsTab_"+t.gamePid,p.length?p[0].gid:null),onSelect:o.setSelectedTabFn("deckBrowserCharsTab_"+t.gamePid),animation:!1,id:"deck-card-kinds",className:"tabs-condensed"},p.map(function(e){return g.default.createElement(E.Tab,{eventKey:e.gid,key:e.gid,title:e.name},g.default.createElement("h3",null,e.name),g.default.createElement("div",{style:m},g.default.createElement("div",{style:y},"Names:"),g.default.createElement("div",{style:b},e.suggestedNames.join(", "))),g.default.createElement("div",{style:m},g.default.createElement("div",{style:y},"Avatars:"),g.default.createElement("div",{style:b},g.default.createElement("div",{style:{marginBottom:"-20px"}},g.default.createElement(C.default,{character:e,size:"m",style:{margin:"0 20px 20px 0"},lightbox:!0}),g.default.createElement(C.default,{character:e,useImage2:!0,size:"m",style:{margin:"0 20px 20px 0"},lightbox:!0})))),g.default.createElement("div",{style:m},g.default.createElement("div",{style:y},"Starting cards:"),g.default.createElement("div",{style:b},g.default.createElement(_.default,{cards:e.cards,justify:"left"}))))}))),g.default.createElement(E.Tab,{eventKey:"scenarios",title:N("scenarios")},g.default.createElement(x.default,{editable:!1})),g.default.createElement(E.Tab,{eventKey:"art",title:N("art")},g.default.createElement(j.default,{editable:!1})),(!i||u)&&g.default.createElement(E.Tab,{eventKey:"materials",title:N("materials")},$.map(function(t){return t.asset?g.default.createElement(E.Well,{key:t.title},g.default.createElement("div",{className:"flex-row-justify mobile-columnify"},g.default.createElement("div",{className:"gutter-after"},g.default.createElement("h4",null,g.default.createElement(S.default,{name:"file-pdf-o"})," ",t.title)),g.default.createElement("div",null,g.default.createElement(O.ActionButton,{onClick:function(r){return e.trackPdfLinkChunk(r,t)},href:s.deckPdfAssetUrl(t.asset),target:"_pdf",icon:"download",label:"Download PDF"}))),t.justUploaded&&g.default.createElement(E.Alert,{bsStyle:"info",style:{margin:"10px 0 0 0"}},"Note: newly uploaded documents may take a few minutes before the download actually works. We scan uploaded documents for viruses and only serve the file once scanning is complete. Thanks for your patience.")):g.default.createElement(E.Well,{key:t.title},g.default.createElement("div",{className:"flex-row-justify mobile-columnify"},g.default.createElement("h4",{className:"gutter-after"},g.default.createElement(S.default,{name:"file-pdf-o"})," ",t.title),g.default.createElement("p",null,"None yet")))}))))))}}]),t}(),p.propTypes={$gameplay:w.default.object.isRequired,$authUser:w.default.object.isRequired,$blurbs:w.default.object.isRequired,$router:w.default.object.isRequired,$deckEditor:w.default.object.isRequired,$dashboard:w.default.object.isRequired,$tabMemory:w.default.object.isRequired,$sdb:w.default.object.isRequired,$tracking:w.default.object.isRequired},o=N((a=m).prototype,"confirmingUpgrade",[v.observable],{enumerable:!0,initializer:null}),i=N(a.prototype,"confirmingClassCopy",[v.observable],{enumerable:!0,initializer:null}),l=N(a.prototype,"popConfirmUpgrade",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingUpgrade=!0}}}),s=N(a.prototype,"cancelConfirmUgrade",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingUpgrade=!1}}}),u=N(a.prototype,"doConfirmUpgrade",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.props.$dashboard.upgradeDeckToLatestVersion().then((0,v.action)(function(){e.confirmingUpgrade=!1})).catch(function(){})}}}),c=N(a.prototype,"popConfirmClassCopy",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingClassCopy=!0}}}),d=N(a.prototype,"cancelConfirmClassCopy",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingClassCopy=!1}}}),f=N(a.prototype,"doConfirmClassCopy",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.props.$deckEditor.createClassCopy().then((0,v.action)(function(){e.confirmingClassCopy=!1}
2)).catch(function(){})}}}),n=a))||n)||n;t.default=R},,function(e,t,r){},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u=E(r(27)),c=E(r(170)),d=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),f=E(r(1)),p=r(9),m=(r(10),E(r(0))),h=r(11),y=r(12),g=E(r(15)),b=E(r(76)),v=E(r(169)),w=E(r(17));function E(e){return e&&e.__esModule?e:{default:e}}function k(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function C(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var S=(0,p.inject)("$deckEditor","$gameplay","$blurbs")(n=(0,p.observer)((o=a=function(e){function t(e){k(this,t);var r=_(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.state={deckBlurb:"",subjectText:"",deckSubjects:[],deckGrades:[]},r}
2return C(t,f.default.Component),d(t,[{key:"componentDidMount",value:function(){var e=this.props.$deckEditor.editingDetailProp;if("deckBlurb"===e){var t=void 0;this.props.$gameplay.gsm.state.deckBlurb&&"..."!==(t=this.props.$blurbs.smart(this.props.$gameplay.gamePid,this.props.$gameplay.gsm.state.deckBlurb))&&"...."!==t||(t=""),this.setState({deckBlurb:t})}if("deckSubjects"===e){var r=void 0,n=(r=this.props.$gameplay.gsm.state.deckSubjects?this.props.$gameplay.gsm.state.deckSubjects:[]).join(", ");this.setState({subjectText:n,deckSubjects:r})}if("deckGrades"===e){var a=void 0;a=this.props.$gameplay.gsm.state.deckGrades?this.props.$gameplay.gsm.state.deckGrades:[],this.setState({deckGrades:a})}}},{key:"render",value:function(){var e=this,t=this.props.$deckEditor.editingDetailProp;return f.default.createElement(h.Modal,{show:!0,keyboard:!1,backdrop:"static"},"deckBlurb"===t&&f.default.createElement("div",null,f.default.createElement(h.Modal.Header,null,"Edit storyworld description"),f.default.createElement(h.Modal.Body,null,f.default.createElement("p",null,"Briefly describe this storyworld and its educational goals, for the benefit of other teachers who might want to use it. 100 words maximum."),(0,b.default)(this.state.deckBlurb)>100&&f.default.createElement(h.Alert,{bsStyle:"danger"},f.default.createElement("p",null,"A maximum of 100 words is allowed for this description.",f.default.createElement("br",null),"Your current word count is:"," ",(0,b.default)(this.state.deckBlurb)," words.")),f.default.createElement(v.default,{style:{width:"100%"},minRows:4,value:this.state.deckBlurb,onChange:function(t){e.setState({deckBlurb:t.target.value})}}))),"deckSubjects"===t&&f.default.createElement("div",null,f.default.createElement(h.Modal.Header,null,"Edit storyworld subjects"),f.default.createElement(h.Modal.Body,null,f.default.createElement("p",null,"Enter one or more subject areas covered by this storyworld, separated by commas (e.g. American history, Social Studies). 100 characters maximum."),this.state.deckSubjects.join("").length>100&&f.default.createElement(h.Alert,{bsStyle:"danger"},f.default.createElement("p",null,"A maximum of 100 characters is allowed for subjects.",f.default.createElement("br",null),"Your current character count is:"," ",this.state.deckSubjects.join("").length," characters.")),f.default.createElement(v.default,{style:{width:"100%"},minRows:2,value:this.state.subjectText,onChange:function(t){var r=t.target.value.split(",");r=(0,c.default)(r,function(e){return e.trim()}),r=(0,u.default)(r,function(e){return e.length}),e.setState({deckSubjects:r,subjectText:t.target.value})}}))),"deckGrades"===t&&f.default.createElement("div",null,f.default.createElement(h.Modal.Header,null,"Edit storyworld grades"),f.default.createElement(h.Modal.Body,null,f.default.createElement("p",null,"Indicate which grade levels are most appropriate for this storyworld."),f.default.createElement("div",{className:"deck-subject-tag-line"},w.default.deckGrades.map(function(t){var r=e.state.deckGrades.indexOf(t)>=0;return f.default.createElement("span",{key:t},f.default.createElement(h.Checkbox,{className:"deck-subject-tag",checked:r,onChange:function(r){var n=e.state.deckGrades.slice();n=(0,u.default)(n,function(e){return e!==t}),r.target.checked&&n.push(t),e.setState({deckGrades:n})}},t))})))),f.default.createElement(h.Modal.Footer,null,f.default.createElement(y.Footer,null,f.default.createElement(y.CancelButton,{onClick:this.props.$deckEditor.cancel}),f.default.createElement(y.DoneButton,{disabled:!this.props.$deckEditor.editingDeckPropValidToSave(this.state[t]),onClick:function(){return e.props.$deckEditor.saveDetailProp(e.state[t])},spinning:"saveDeckDetailProp"===this.props.$deckEditor.spinning}))))}}]),t}(),a.propTypes={$deckEditor:m.default.object.isRequired,$gameplay:m.default.object.isRequired,$blurbs:m.default.object.isRequired},n=o))||n)||n,P=(0,p.inject)("$deckEditor","$gameplay","$blurbs")(i=(0,p.observer)((s=l=function(e){function t(){return k(this,t),_(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return C(t,f.default.Component),d(t,[{key:"render",value:function(){var e=this.props.$gameplay.gsm,t=this.props.$deckEditor,r=e.deckEditingRestrictionLevel(),n=this.props.completionTasks.remaining.classroom.indexOf("deckCompletionTaskDeckBlurbRequired")>=0,a=this.props.completionTasks.remaining.classroom.indexOf("deckCompletionTaskDeckSubjectsRequired")>=0,o=this.props.completionTasks.remaining.classroom.indexOf("deckCompletionTaskDeckGradesRequired")>=0;return f.default.createElement("div",null,"detailPropEditor"===t.modalTypeOpen&&f.default.createElement(S,null),f.default.createElement("div",{className:"mb20"}),f.default.createElement(h.Well,null,f.default.createElement("div",{className:"flex-row-justify mb10"},f.default.createElement("div",{className:"gutter-after"},f.default.createElement("h4",null,f.default.createElement(g.default,{name:"pencil-square-o"})," Description")),"deck_edits_none"!==r&&f.default.createElement("div",null,f.default.createElement(y.ActionButton,{icon:"pencil",bsStyle:n?"warning":"info",label:"Edit",onClick:function(){return t.editDetailProp("deckBlurb")}}))),e.state.deckBlurb?f.default.createElement("p",null,this.props.$blurbs.smart(e.state.gamePid,e.state.deckBlurb)):f.default.createElement("p",null,f.default.createElement("em",null,"Briefly describe this storyworld and its educational goals, for the benefit of other teachers who might want to use it. 100 words maximum."))),f.default.createElement(h.Well,null,f.default.createElement("div",{className:"flex-row-justify mb10"},f.default.createElement("div",{className:"gutter-after"},f.default.createElement("h4",null,f.default.createElement(g.default,{name:"book"})," Subject areas")),"deck_edits_none"!==r&&f.default.createElement("div",null,f.default.createElement(y.ActionButton,{icon:"pencil",bsStyle:a?"warning":"info",label:"Edit",onClick:function(){return t.editDetailProp("deckSubjects")}}))),e.state.deckSubjects&&e.state.deckSubjects.length?f.default.createElement("p",{className:"deck-subject-tag-line"},e.state.deckSubjects.map(function(e,t){return f.default.createElement("span",{key:t},0!==t&&f.default.createElement("span",null,f.default.createElement("span",{className:"sep"},",")," "),f.default.createElement("span",{className:"deck-subject-tag"},e))})):f.default.createElement("p",null,f.default.createElement("em",null,"Enter one or more subject areas covered by this
2storyworld, separated by commas (e.g. American history, Social Studies). 100 characters maximum."))),f.default.createElement(h.Well,null,f.default.createElement("div",{className:"flex-row-justify mb10"},f.default.createElement("div",{className:"gutter-after"},f.default.createElement("h4",null,f.default.createElement(g.default,{name:"graduation-cap"})," Grade levels")),"deck_edits_none"!==r&&f.default.createElement("div",null,f.default.createElement(y.ActionButton,{icon:"pencil",bsStyle:o?"warning":"info",label:"Edit",onClick:function(){return t.editDetailProp("deckGrades")}}))),e.state.deckGrades&&e.state.deckGrades.length?f.default.createElement("p",{className:"deck-subject-tag-line"},e.state.deckGrades.map(function(e,t){return f.default.createElement("span",{key:t},0!==t&&f.default.createElement("span",null,f.default.createElement("span",{className:"sep"},",")," "),f.default.createElement("span",{className:"deck-subject-tag"},e))})):f.default.createElement("p",null,f.default.createElement("em",null,"Indicate which grade levels are most appropriate for this storyworld."))))}}]),t}(),l.propTypes={$deckEditor:m.default.object.isRequired,$gameplay:m.default.object.isRequired,$blurbs:m.default.object.isRequired,completionTasks:m.default.any.isRequired},i=s))||i)||i;t.default=P},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=y(r(1)),s=r(9),u=y(r(0)),c=r(11),d=r(12),f=y(r(15)),p=(y(r(13)),y(r(34))),m=y(r(63)),h=y(r(329));function y(e){return e&&e.__esModule?e:{default:e}}function g(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var b=(0,s.inject)("$gameplay","$deckEditor")(n=(0,s.observer)((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=g(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.launchWidget=function(e){(0,h.default)({category:"pdf",extraTags:["deckPdfType_"+e],onSuccess:function(t){var r=t.assetId;n.props.$deckEditor.setDeckPdfAsset(e,r)}})},n.confirmDeletePdf=function(e){n.confirmModal.pop("Really delete this PDF?","This file will be removed from the storyworld. This action cannot be un-done.",{onConfirm:function(){return n.props.$deckEditor.setDeckPdfAsset(e,"__delete__")}})},g(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this,t=this.props.$gameplay,r=t.gsm,n=this.props.$deckEditor,a=r.deckEditingRestrictionLevel(),o=t.gsm.state.deckPdfs&&t.gsm.state.deckPdfs.usage,i=t.gsm.state.deckPdfs&&t.gsm.state.deckPdfs.slides,s=t.gsm.state.deckPdfs&&t.gsm.state.deckPdfs.handout,u=[{type:"usage",asset:o,justUploaded:o&&(new Date).getTime()<1e3*(o.createdAtUnix+180),title:"Usage guide",whatToDo:"Upload a PDF for other teachers that includes: additional context or descriptions; examples of use; information about cards, characters, art, or scenarios; rubrics or grading guides; and any contact information you want to share. Student accounts do not have access to this resource."},{type:"slides",asset:i,justUploaded:i&&(new Date).getTime()<1e3*(i.createdAtUnix+180),title:"Instructional slides",whatToDo:"Upload a PDF of a slide deck for teachers. Student accounts do not have access to this resource."},{type:"handout",asset:s,justUploaded:s&&(new Date).getTime()<1e3*(s.createdAtUnix+180),title:"Student handout",whatToDo:"Upload a PDF for students to refer to as they play. Student accounts can view this resource."}];return"deck_edits_none"===a?l.default.createElement("div",null,l.default.createElement("div",{className:"mb20"}),u.map(function(e){return e.asset?l.default.createElement(c.Well,{key:e.title},l.default.createElement("div",{className:"flex-row-justify mobile-columnify"},l.default.createElement("div",{className:"gutter-after"},l.default.createElement("h4",null,l.default.createElement(f.default,{name:"file-pdf-o"})," ",e.title)),l.default.createElement("div",null,l.default.createElement(d.ActionButton,{href:r.deckPdfAssetUrl(e.asset),target:"_pdf",icon:"download",label:"Download PDF"}))),e.justUploaded&&l.default.createElement(c.Alert,{bsStyle:"info",style:{margin:"10px 0 0 0"}},"Note: newly uploaded documents may take a few minutes before the download actually works. We scan uploaded documents for viruses and only serve the file once scanning is complete. Thanks for your patience.")):l.default.createElement(c.Well,{key:e.title},l.default.createElement("div",{className:"flex-row-justify mobile-columnify"},l.default.createElement("h4",{className:"gutter-after"},l.default.createElement(f.default,{name:"file-pdf-o"})," ",e.title),l.default.createElement("p",null,"None yet")))})):l.default.createElement("div",null,l.default.createElement(p.default,{ref:function(t){e.confirmModal=t}}),l.default.createElement("div",{className:"mb20"}),u.map(function(r){return r.asset?l.default.createElement(c.Well,{key:r.title},l.default.createElement("div",{className:"flex-row-justify mobile-columnify"},l.default.createElement("div",{className:"gutter-after"},l.default.createElement("h4",null,l.default.createElement(f.default,{name:"file-pdf-o"})," ",r.title)),l.default.createElement("div",null,l.default.createElement(d.ActionButton,{href:t.gsm.deckPdfAssetUrl(r.asset),target:"_pdf",icon:"download",label:"Download PDF",bsStyle:"info"})," ",l.default.createElement(d.ActionButton,{icon:"file-pdf-o",bsStyle:"default",label:"Replace",onClick:function(){e.launchWidget(r.type)},spinning:n.spinning==="saveDeckPdf-"+r.type})," ",l.default.createElement(d.ActionButton,{icon:"times-circle",bsStyle:"default",label:"Delete",onClick:function(){e.confirmDeletePdf(r.type)},spinning:n.spinning==="deleteDeckPdf-"+r.type}))),r.justUploaded&&l.default.createElement(c.Alert,{bsStyle:"info",style:{margin:"10px 0 0 0"}},"Note: newly uploaded documents may take a few minutes before the download actually works. We scan uploaded documents for viruses and only serve the file once scanning is complete. Thanks for your patience.")):l.default.createElement(c.Well,{key:r.title},l.default.createElement("div",{className:"flex-row-justify mobile-columnify mb10"},l.default.createElement("h4",{className:"gutter-after"},l.default.createElement(f.default,{name:"file-pdf-o"})," ",r.title),l.default.createElement(d.ActionButton,{icon:"file-pdf-o",label:"Upload PDF",bsStyle:"info",onClick:function(){e.launchWidget(r.type)},spinning:n.spinning==="saveDeckPdf-"+r.type})),l.default.createElement("p",null,l.default.createElement("em",null,r.whatToDo)))}),l.default.createElement(m.default,{id:"pdf-format-required",style:{margin:"10px 0 0 0"}}
2,"For compatibility across many different computing environments, storyworld materials must be in PDF format. All major word processing and presentation applications have a PDF export feature, so this should be doable without much effort. Thanks for creating and sharing your materials!"))}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$deckEditor:u.default.object.isRequired},n=o))||n)||n;t.default=b},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=y(r(1)),s=r(9),u=y(r(0)),c=r(11),d=y(r(36)),f=r(12),p=y(r(56)),m=y(r(328)),h=y(r(15));function y(e){return e&&e.__esModule?e:{default:e}}var g=(0,s.inject)("$gameplay","$deckEditor")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$gameplay,t=this.props.$deckEditor,r=e.gsm,n=r.deckEditingRestrictionLevel(),a=this.props.completionTasks,o=r.charTypeCharacters(),i={margin:"20px 0",clear:"both"},s={float:"left",width:"150px",fontWeight:"bold"},u={marginLeft:"160px"},y=a.remaining.classroom.indexOf("deckCompletionTaskCharTypeCount")>=0,g=y&&r.deckMinCharTypes-o.length;return l.default.createElement("div",null,l.default.createElement(m.default,null),l.default.createElement("div",{className:"flex-row-justify mobile-columnify mb10"},l.default.createElement("h3",{className:"gutter-after"},"Character Types"),"deck_edits_all"===n&&l.default.createElement(f.ActionButton,{onClick:function(){return t.composeNewCharType()},icon:"plus-circle",bsStyle:y?"warning":"info"},"Add new character type")),l.default.createElement("p",{style:{marginTop:30}},"Character types represent the kinds of protagonists that are common to the storyworldâs genre or setting. Student use them to create their characters."),y?l.default.createElement("p",null,l.default.createElement("strong",null,"Minimum required: ",r.deckMinCharTypes)," (",g," more needed)"):l.default.createElement("p",null,"Minimum required: ",r.deckMinCharTypes," ",l.default.createElement(h.default,{name:"check",style:{color:"#393"}})),0===o.length&&l.default.createElement("p",null,l.default.createElement("em",null,"There are currently no character types defined in this storyworld. Use the add button above to create one.")),l.default.createElement(c.Tabs,{defaultActiveKey:o[0]&&o[0].gid||"none",animation:!1,id:"deck-char-types",activeKey:t.activeCharType,onSelect:t.setActiveCharType,className:"tabs-condensed"},o.map(function(e){return l.default.createElement(c.Tab,{eventKey:e.gid,key:e.gid,title:e.name},l.default.createElement("div",{className:"flex-row-justify mobile-columnify mb10"},l.default.createElement("h3",{className:"gutter-after"},e.name),l.default.createElement("div",null,"deck_edits_none"!==n&&l.default.createElement(f.ActionButton,{bsStyle:"info",onClick:function(){return t.editCharType(e.gid)},icon:"pencil"},"Edit"),"deck_edits_all"===n&&l.default.createElement("span",null,"Â ",l.default.createElement(f.ActionButton,{bsStyle:"default",onClick:function(){return t.confirmDeleteCharType(e.gid)},icon:"times-circle"},"Delete")))),l.default.createElement("div",{style:i},l.default.createElement("div",{style:s},"Names:"),l.default.createElement("div",{style:u},e.suggestedNames.join(", "))),l.default.createElement("div",{style:i},l.default.createElement("div",{style:s},"Avatars:"),l.default.createElement("div",{style:u},l.default.createElement("div",{style:{marginBottom:"-20px"}},l.default.createElement(p.default,{character:e,size:"m",style:{margin:"0 20px 20px 0"},lightbox:!0}),l.default.createElement(p.default,{character:e,useImage2:!0,size:"m",style:{margin:"0 20px 20px 0"},lightbox:!0})))),l.default.createElement("div",{style:i},l.default.createElement("div",{style:s},"Starting cards:"),l.default.createElement("div",{style:u},l.default.createElement(d.default,{cards:e.cards,justify:"left"}))))})))}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$deckEditor:u.default.object.isRequired,completionTasks:u.default.any.isRequired},n=o))||n)||n;t.default=g},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f=P(r(31)),p=P(r(27)),m=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),h=P(r(1)),y=r(9),g=r(10),b=P(r(0)),v=r(11),w=P(r(36)),E=P(r(15)),k=P(r(17)),_=r(12),C=r(327),S=P(r(331));function P(e){return e&&e.__esModule?e:{default:e}}function O(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function T(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function j(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var x={ckTone:[[0,"Dark"],[0,"Hopeful"],[0,"Playful"],[0,"Serious"],[0,"Funny"],[0,"Dramatic"],[0,"Tragic"],[0,"Parody"],[0,"Heroic"],[0,"Scary"],[0,"Realistic"],[0,"Dreamy"]],ckStrength:[[1,"Smart"],[1,"Perceptive"],[1,"Persuasive"],[1,"Witty"],[1,"Resourceful"],[1,"Charismatic"],[1,"Brave"],[1,"Good instincts"],[1,"Charming"],[1,"Confident"],[1,"Strong"],[1,"Agile"],[1,"Experienced"],[1,"Lucky"],[1,"Inspiring"],[1,"Respected"],[1,"Principled"],[1,"Decisive"],[1,"Humble"],[1,"Loyal"],[1,"Compassionate"],[1,"Honest"],[1,"Hard-working"],[1,"Creative"],[1,"Quick"],[1,"Patient"],[1,"Responsible"],[1,"Kind"],[1,"Curious"],[1,"Open-minded"]],ckFlaw:[[-1,"Greedy"],[-1,"Insensitive"],[-1,"Overconfident"],[-1,"Insecure"],[-1,"Afraid"],[-1,"Secretive"],[-1,"Stubborn"],[-1,"Untrusting"],[-1,"Inexperienced"],[-1,"Indecisive"],[-1,"Impulsive"],[-1,"Egotistical"],[-1,"Arrogant"],[-1,"Self-centered"],[-1,"Unlucky"],[-1,"Awkward"],[-1,"Lonely"],[-1,"Sick"],[-1,"Naive"],[-1,"Frail"],[-1,"Dull"],[-1,"Nervous"],[-1,"Clumsy"],[-1,"Angry"],[-1,"Rude"],[-1,"Uptight"],[-1,"Scary"],[-1,"Thoughtless"],[-1,"Worried"],[-1,"Jealous"]],ckMotivation:[[1,"Help someone"],[1,"Accomplish something important"],[1,"Earn respect"],[1,"Discover something new"],[1,"Prove yourself"],[1,"Prove something to yourself"],[1,"Make a new friend"],[1,"Earn someoneâs trust"],[1,"Turn over a new leaf"],[1,"Teach someone something"],[1,"Learn something"],[1,"Fix a relationship"],[1,"Find someone whoâs lost"],[1,"Find something thatâs lost"],[1,"Forgive yourself"],[1,"Protect someone"],[1,"Do your duty"],[1,"Make up for past mistakes"],[1,"Overcome past trauma"],[1,"Face a fear"],[-1,"Get revenge"],[-1,"Undermine a rival"],[-1,"Keep a secret"],[-1,"Learn something forbidden"],[-1,"Take out your anger"],[-1,"Find fame"],[-1,"Get rich"],[-1,"Get ahead"],[-1,"Be feared"],[-1,"Take power"],[-1,"Prove someone wrong"],[-1,"Take risks"],[-1,"Avoid conflict"],[-1,"Avoid responsibility"],[-1,"Look out for yourself"],[-1,"Break the rules"],[-1,"Reject authority"],[-1,"Take credit"],[-1,"Break something"],[-1,"Take something"]],ckBond:[[1,"Sibling"],[1,"Protector"],[1,"Coworker"],[1,"Mentor"],[1,"New friend"],[1,"Neighbor"],[1,"Classmate"],[1,"Family friend"],[1,"Confidant"],[1,"Best friend"],[-1,"Charge"],[-1,"Rival"],[-1,"Enemy"],[-1,"Former friend"],[-1,"Accomplice"],[-1,"Target"],[-1,"Partner in crime"],[-1,"Betrayer"],[-1,"Grudge"],[-1,"Unfriendly relative"]]},M=(0,y.inject)("$gameplay","$deckEditor","$tabMemory")(n=(0,y.observer)((d=c=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,c=Array(a),d=0;d<a;d++)c[d]=arguments[d];return r=n=T(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(c))),O(n,"confirmingStockKind",o,n),O(n,"savingStockCards",i,n),O(n,"popConfirmAddStockCards",l,n),O(n,"cancelStockModal",s,n),O(n,"saveStockCards",u,n),n.stockCardModal=function(){var e=n.confirmingStockKind;if(!e)return!1;var t=n.props.$gameplay.gsm.prettyKind(e),r=x[e];if(!r||0===r.length)return!1;var a=r.length,o=(0,p.default)(r,function(e){return 0===e[0]}).map(function(e){return e[1]}),i=(0,p.default)(r,function(e){return e[0]>0}).map(function(e){return e[1]}),l=(0,p.default)(r,function(e){return e[0]<0}).map(function(e){return e[1]});return h.default.createElement(v.Modal,{show:!0,onHide:n.cancelStockModal,dialogClassName:"full-width-modal"},h.default.createElement(v.Modal.Header,{closeButton:!0},"Add default ",t," cards"),h.default.createElement(v.Modal.Body,null,h.default.createElement("p",null,"To help you create your storyworld faster, you can optionally insert the follwing pre-made cards that are common to a wide variety of stories. (Donât worry: youâll be able to edit or delete these cards.)"),h.default.createElement("p",null,"This will add ",h.default.createElement("strong",null,a)," pre-made"," ",h.default.createElement("strong",null,t)," cards:"),h.default.createElement("ul",{className:"stock-card-name-grid"},!!i.length&&i.map(function(e){return h.default.createElement("li",{key:e},h.default.createElement("i",{className:"bull fa fa-plus-circle"}),h.default.createElement("span",{className:"stock-name"},e))}),!!l.length&&l.map(function(e){return h.default.createElement("li",{key:e},h.default.createElement("i",{className:"bull fa fa-minus-circle"}),h.default.createElement("span",{className:"stock-name"},e))}),!!o.length&&o.map(function(e){return h.default.createElement("li",{key:e},h.default.createElement("span",{className:"bull"},"â¢"),h.default.createElement("span",{className:"stock-name"},e))}))),h.default.createElement(v.Modal.Footer,null,h.default.createElement(_.Footer,null,h.default.createElement(_.CancelButton,{onClick:n.cancelStockModal}),h.default.createElement(_.ActionButton,{onClick:n.saveStockCards,spinning:n.savingStockCards},"Add cards"))))},T(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,h.default.Component),m(t,[{key:"render",value:function(){var e=this,t=this.props.$gameplay,r=this.props.$deckEditor,n=this.props.$tabMemory,a=t.gsm,o=a.deckEditingRestrictionLevel(),i=this.props.completionTasks,l={ckPlace:"Place cards represent the locations where each scene of a story might take place.",ckStrength:"Strength cards represent positive qualities (either physical or mental) that help characters overcome challenges.",ckFlaw:"Flaw cards represent personal limitations or drawbacks that hold characters back or cause them trouble.",ckCh
2allenge:"Challenge cards are obstacles or situations that studentsâ characters have to overcome in the course of a scene.",ckSuccess:"Success cards tell students what happens when a challenge is met with a majority of Strength cards.",ckSetback:"Setback cards tell students what happens when a challenge is met with a majority of Flaw cards.",ckSetting:"Setting cards describe a specific time and context in which the story takes place.",ckBond:"Bond cards represent preexisting relationships between the studentsâ characters.",ckMotivation:"Motivation cards represent ongoing personal goals or agendas that drive the studentsâ characters to do what they do.",ckBeginning:"Beginning cards are a âhookâ that tells students how their story begins.",ckEnding:"Ending cards tell students how their story will ultimately end.",ckTone:"Tone cards tell students the narrative tone they should aim for in their writing."},s={ckPlace:[0,0,10],ckStrength:[10,0,0],ckFlaw:[0,10,0],ckChallenge:[0,0,10],ckSuccess:[0,0,10],ckSetback:[0,0,10],ckSetting:[0,0,5],ckBond:[10,10,0],ckMotivation:[10,10,0],ckBeginning:[0,0,5],ckEnding:[0,0,5],ckTone:[0,0,5]},u={ckPlace:"10",ckStrength:"10",ckFlaw:"10",ckChallenge:"10",ckSuccess:"10",ckSetback:"10",ckSetting:"5",ckBond:"10 positive, 10 negative",ckMotivation:"10 positive, 10 negative",ckBeginning:"5",ckEnding:"5",ckTone:"5"},c=a.prettyKind,d=a.kindIcon,p=a.filterCardsForUseCase("cardKindCounts"),m={};(0,f.default)(i.cardKindPolarityNeeded).forEach(function(e){var t=i.cardKindPolarityNeeded[e];t>0&&k.default.cardKindDisplaySortOrder.forEach(function(r){m[r]=m[r]||{positive:0,negative:0,neutral:0},e.indexOf(r)>=0&&(e.indexOf("-1")>=0?m[r].negative=t:e.indexOf("1")>=0?m[r].positive=t:m[r].neutral=t)})}),(0,f.default)(m).forEach(function(e){var t=m[e];"ckBond"===e||"ckMotivation"===e?t.positive&&t.negative?m[e]="needs "+t.positive+" more positive, "+t.negative+" more negative":t.positive?m[e]="needs "+t.positive+" more positive":t.negative?m[e]="needs "+t.negative+" more negative":m[e]=!1:(m[e]=!1,t.positive&&(m[e]="needs "+t.positive+" more"),t.negative&&(m[e]="needs "+t.negative+" more"),t.neutral&&(m[e]="needs "+t.neutral+" more"))});return h.default.createElement("div",null,h.default.createElement("div",{style:{marginBottom:"20px"}}),h.default.createElement(C.CardsTabCardEditor,null),h.default.createElement(S.default,null),this.stockCardModal(),h.default.createElement(v.Tab.Container,{id:"cardTabs",activeKey:n.selectedTab("deckEditorCardsTab","ckSetting"),onSelect:n.setSelectedTabFn("deckEditorCardsTab")},h.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"auto auto",gridGap:"30px"}},h.default.createElement(v.Nav,{bsStyle:"pills",stacked:!0},k.default.cardKindDisplaySortOrder.map(function(e){var t={color:"#888"};return m[e]?t.color="#f90":n.selectedTab("deckEditorCardsTab","ckSetting")===e&&(t.color="#fff"),h.default.createElement(v.NavItem,{key:e,eventKe
2y:e},h.default.createElement("div",{style:{display:"grid",width:"100%",alignItems:"baseline",gridTemplateColumns:"min-content min-content auto",gridGap:"8px"}},h.default.createElement(E.default,{name:d(e)}),h.default.createElement("span",null,c(e,!0),h.default.createElement("span",{style:t},"Â (",p[e],")"))))})),h.default.createElement(v.Tab.Content,null,k.default.cardKindDisplaySortOrder.map(function(n){var i=h.default.createElement("h3",{className:"flex-grow-2",style:{marginTop:"8px"}},c(n)," cards"),d=[];return"deck_edits_all"===o&&(d=[h.default.createElement(_.ActionButton,{key:"1",onClick:function(){return r.composeNewCard(n)},icon:"plus-circle",className:"gutter-after",bsStyle:m[n]?"warning":"info","data-p":"add_new_card_btn"},"Add new card"),h.default.createElement(_.ActionButton,{key:"2",onClick:function(){return r.openBulkAddCards(n)},icon:"plus-circle",bsStyle:"info","data-p":"bulk_add_cards_btn"},"Bulk add cards")],function(e){return x[e]&&"deck_edits_all"===o&&(!t.gsm.state.addedStockCards||t.gsm.state.addedStockCards.indexOf(e)<0)}(n)&&d.push(h.default.createElement(_.ActionButton,{key:"3",onClick:function(){return e.popConfirmAddStockCards(n)},bsStyle:"info",className:"gutter-before",icon:"plus-circle","data-p":"add_stock_cards_btn"},"Add default cards"))),h.default.createElement(v.Tab.Pane,{key:n,eventKey:n},3===d.length?h.default.createElement("div",null,i,h.default.createElement("div",{className:"flex-row-justify flex-start mobile-columnify"},d)):d.length>0?h.default.createElement("div",{className:"flex-row-justify mobile-columnify"},i,d):i,h.default.createElement("p",{style:{marginTop:20}},l[n]),m[n]?h.default.createElement("p",null,h.default.createElement("strong",null,"Minimum required: ",u[n]," (",m[n],")")):h.default.createElement("p",null,"Minimum required: ",u[n]," ",h.default.createElement(E.default,{name:"check",style:{color:"#393"}})),h.default.createElement(w.default,{doSort:!0,cards:function(e){return a.filterCardsForUseCase("deckBrowser",{kind:e})}(n),justify:"left",deckEditable:!0,style:{marginTop:30},minimumSocketsPolarityPos:s[n][0],minimumSocketsPolarityNeg:s[n][1],minimumSocketsPolarityNone:s[n][2],minimumSocketsKind:n}))})))))}}]),t}(),c.propTypes={$gameplay:b.default.object.isRequired,$deckEditor:b.default.object.isRequired,$tabMemory:b.default.object.isRequired,completionTasks:b.default.any.isRequired},o=j((a=d).prototype,"confirmingStockKind",[g.observable],{enumerable:!0,initializer:null}),i=j(a.prototype,"savingStockCards",[g.observable],{enumerable:!0,initializer:null}),l=j(a.prototype,"popConfirmAddStockCards",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.confirmingStockKind=t}}}),s=j(a.prototype,"cancelStockModal",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingStockKind=!1,e.savingStockCards=!1}}}),u=j(a.prototype,"saveStockCards",[g.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=x[e.confirmingStockKind];e.savingStockCards=!0,e.props.$gameplay.eventWrites.addStockCards(e.confirmingStockKind,t).then(e.cancelStockModal).catch((0,g.action)(function(){e.savingStockCards=!1}))}}}),n=a))||n)||n;t.default=M},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),c=b(r(1)),d=r(9),f=(r(10),b(r(0))),p=r(11),m=b(r(81)),h=(b(r(36)),b(r(56)),b(r(17)),r(12)),y=(b(r(331)),b(r(328)),b(r(92))),g=b(r(34));b(r(13));function b(e){return e&&e.__esModule?e:{default:e}}function v(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function w(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function E(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var k=(0,d.inject)("$deckEditor")(n=(0,d.observer)((o=a=function(e){function t(){return v(this,t),w(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return E(t,c.default.Component),u(t,[{key:"render",value:function(){var e=this.props.$deckEditor,t=e.deckEditingRestrictionLevel();return c.default.createElement(p.Modal,{show:!0,keyboard:!1,backdrop:"static"},c.default.createElement(p.Modal.Header,null,"Edit storyworld name"),c.default.createElement(p.Modal.Body,null,"deck_edits_minor"===t&&c.default.createElement(p.Alert,{type:"info"},"Warning: edits here will affect all existing games based on this storyworld. Please only make minor changes and improvements without altering the fictional intent."),c.default.createElement("form",{onSubmit:function(t){t.preventDefault(),e.validToSave&&e.saveDeckName()}},c.default.createElement(p.FormGroup,null,c.default.createElement(p.Control
2Label,null,"Storyworld name"),c.default.createElement(p.FormControl,{type:"text",autoFocus:!0,value:e.deckNameValue,onChange:function(t){return e.setDeckNameValue(t.target.value)},"data-p":"deck_name_input"})))),c.default.createElement(p.Modal.Footer,null,c.default.createElement(h.Footer,null,c.default.createElement(h.CancelButton,{onClick:e.cancel}),c.default.createElement(h.ActionButton,{onClick:e.saveDeckName,disabled:!e.validToSave,spinning:"saveDeckNameSpinning"===e.spinning,"data-p":"save_deck_name_btn"},"Save"))))}}]),t}(),a.propTypes={$deckEditor:f.default.object.isRequired},n=o))||n)||n,_=(0,d.inject)("$gameplay","$deckEditor")(i=(0,d.observer)((s=l=function(e){function t(){var e,r,n;v(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=w(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.popCantDelete=function(){"ds_inactive"!==n.props.$gameplay.gsm.state.deckScopes.library?n.confirmModal.pop("This storyworld cannot be deleted.","This storyworld has been shared with other teachers and has already been used by one or more games. You can prevent new games from being started based on this storyworld by both removing it from your classrooms and turning off sharing with other teachers.",{cancelOnly:!0}):n.confirmModal.pop("This storyworld cannot be deleted at this time.","There are existing games in your classrooms that use this storyworld. In order to delete it, you will first need to delete those games. However, instead of deleting a storyworld that has been put to use, we recommend simply removing it from your classrooms. This ensures no new games can be created from it.",{cancelOnly:!0})},n.confirmDeleteDeck=function(){n.confirmModal.pop("Really delete this storyworld?","Deleting a storyworld is a permanent action and cannot be undone. Please confirm you really wish to do this. Also note that this action will not work if there are any existing games that are using this storyworld.").then(function(e){e&&n.props.$deckEditor.tryDeletingDeck(n.popCantDelete)})},w(n,r)}return E(t,c.default.Component),u(t,[{key:"render",value:function(){var e=this,t=this.props.$gameplay,r=this.props.$deckEditor,n=this.props.completionTasks,a=n.remaining.classroom.indexOf("deckCompletionTaskUgcNameRequired")>=0,o=n.remaining.classroom.indexOf("deckCompletionTaskImageRequired")>=0,i=r.deckEditingRestrictionLevel(),l=t.gsm.deckCanBeDeleted();return c.default.createElement("div",null,c.default.createElement(g.default,{ref:function(t){e.confirmModal=t}}),"nameEditor"===r.modalTypeOpen&&c.default.createElement(k,null),c.default.createElement(m.default,{gsmState:t.gsm.state}),c.default.createElement(h.Footer,null,"deck_edits_none"!==i&&c.default.createElement(h.ActionButton,{bsStyle:a?"warning":"info",onClick:r.editDeckName,icon:"pencil","data-p":"set_deck_name_btn"},a?"Set storyworld name":"Edit storyworld name"),"deck_edits_none"!==i&&c.default.createElement(y.default,{currentImage:t.gsm.state.image,isRequired:o,orange:!0,artCategory:"banner",onComplete:r.setNewBannerImage}),l&&c.default.createElement(h.ActionButton,{"data-p":"delete_deck_btn",bsStyle:"default",onClick:this.confirmDeleteDeck,icon:"times-circle",spinning:"tryDeleteDeckSpinning"===r.spinning},"Delete storyworld")),c.default.createElement("hr",{style:{marginTop:40}}))}}]),t}(),l.propTypes={$gameplay:f.default.object.isRequired,$deckEditor:f.default.object.isRequired,completionTasks:f.default.any.isRequired},i=s))||i)||i;t.default=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=m(r(1)),s=r(9),u=m(r(0)),c=(r(11),r(12)),d=m(r(34)),f=(m(r(15)),m(r(168))),p=m(r(13));function m(e){return e&&e.__esModule?e:{default:e}}function h(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var y={classroom:{ds_inactive:{wellText:"This storyworld is complete and is ready to add to your classrooms.",buttonText:"Add to classrooms",buttonClass:"primary",toStatus:"ds_active",modal:{heading:"Add this storyworld to your classrooms",body:"If you add this
2storyworld to your classrooms then your students will be able to use it to start new games."}},ds_active:{wellText:"This storyworld is complete and is currently added to your classrooms.",buttonText:"Remove",buttonClass:"info",toStatus:"ds_retired",modal:{heading:"Remove this storyworld from your classrooms",body:"If you remove this storyworld from your classrooms then your students will no longer be able to use it to start new games. Games that are already in progress wonât be affected."}},ds_retired:{wellText:"This storyworld has been removed from your classrooms.",buttonText:"Add back",buttonClass:"info",toStatus:"ds_active",modal:{heading:"Add this storyworld back to your classrooms",body:"If you add this storyworld back to your classrooms then your students will once again be able to use it to start new games."}}},library:{ds_inactive____unapproved:{wellText:"This storyworld is ready to share with other teachers, pending approval.",buttonText:"Submit for approval",buttonClass:"info",toStatus:"ds_pending",modal:{heading:"Share this storyworld with other teachers (submit for approval)",body:l.default.createElement("div",null,l.default.createElement("p",null,"Storyworlds must be approved by a StoriumEdu editor before they can be shared with other teachers via the StoriumEdu Library. (",l.default.createElement(p.default,{href:"/editorial",target:"_editorial"},"See our editorial guidelines"),".) By clicking âConfirmâ your storyworld will be automatically submitted for review and approval."),l.default.createElement("p",null,l.default.createElement("strong",null,"Once you perform this action, you will need to create a new version to make any kind of edit, including typo corrections, so please be sure to proofread first.")))}},ds_inactive____approved:{wellText:"This storyworld is ready to share with other teachers.",buttonText:"Share",buttonClass:"info",toStatus:"ds_active",modal:{heading:"Share this storyworld with other teachers",body:l.default.createElement("div",null,l.default.createElement("p",null,"If you share this storyworld it will appear in the StoriumEdu Library. Other teachers that use StoriumEdu will be able to add it to their own classrooms, and their students will be able to play with it."),l.default.createElement("p",null,l.default.createElement("strong",null,"Once you share this world, you will need to create a new version to make any kind of edit, including typo corrections, so please be sure to proofread first.")))}},ds_pending:{wellText:"This storyworld is pending approval to be shared with other teachers.",buttonText:"Cancel approval process",buttonClass:"info",toStatus:"ds_inactive",modal:{heading:"Cancel sharing this storyworld with other teachers",body:l.default.createElement("div",null,l.default.createElement("p",null,"This storyworld is currently pending editorial approval to be shared with other teachers. If you no longer wish to share it, you can cancel this process."),l.default.createElement("p",null,"If you cancel, you will need to re-submit your storyworld for approval in order to share it with other teachers in the future."))}},ds_active:{wellText:"This storyworld is currently shared with other teachers.",buttonText:"Stop sharing",buttonClass:"info",toStatus:"ds_retired",modal:{heading:"Stop sharing this storyworld with other teachers",body:"If you stop sharing this storyworld with other teachers then it will be removed from the StoriumEdu library and from other teachersâ classrooms. Games that are already in progress wonât be affected."}},ds_retired:{wellText:"This storyworld is no longer shared with other teachers.",buttonText:"Share again",buttonClass:"info",toStatus:"ds_active",modal:{heading:"Share this storyworld again with other teachers",body:"If you share this storyworld with other teachers again then it will be re-listed in the StoriumEdu library so that other teachers and their students can use it."}}}},g=(0,s.inject)("$gameplay","$deckEditor")(n=(0,s.observer)((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=h(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.confirmScopeChange=function(e,t,r){var a="";"ds_inactive"===r&&"library"===e&&(a="drs_perm_approved"===n.props.$gameplay.gsm.state.deckReviewStatus?"____approved":"____unapproved");var o=y[e][r+a],i=o.modal.heading,l=o.modal.body;if(!i||!l)throw new Error("unrecognized scope/status");n.confirmModal.pop(i,l,{onConfirm:function(){return n.props.$deckEditor.setScope({scope:e,status:t})}})},h(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this,t=this.props.$gameplay,r=this.props.$deckEditor,n=t.gsm,a=n.state.deckScopes,o=["classroom"];return t.gameVob.is_class_copy||o.push("library"),l.default.createElement("div",{"data-p":"deck_scopes_manager"},l.default.createElement(d.default,{ref:function(t){e.confirmModal=t}}),o.map(function(t){var o=a[t],i="";"ds_inactive"===o&&"library"===t&&(i="drs_perm_approved"===n.state.deckReviewStatus?"____approved":"____unapproved");var s=y[t][o+i];return l.default.createElement(f.default.HorizGrid,{collapse:!0,gapped:!0,mb10:!0,wideButtons:!0,key:t},l.default.createElement("div",null,l.default.createElement("p",null,s.wellText)),l.default.createElement(c.ActionButton,{label:s.buttonText,bsStyle:s.buttonClass,onClick:function(){return e.confirmScopeChange(t,s.toStatus,o)}
2,spinning:r.spinning==="setScope_"+t,"data-p":"deck_scope_btn__"+t+"__"+o}))}))}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$deckEditor:u.default.object.isRequired},n=o))||n)||n;t.default=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.gsm,r=e.text,i=e.tasks,l=n.default.createElement("ul",{style:{margin:"0",padding:"0 0 0 20px"}},i.map(function(e){return"deckCompletionTaskCardKindCount"===e?n.default.createElement("li",{key:e},"The minimum number of cards of each type (as shown on each tab in the Cards section)"):"deckCompletionTaskCharTypeCount"===e?n.default.createElement("li",{key:e},"At least ",t.deckMinCharTypes," character types"):"deckCompletionTaskImageRequired"===e?n.default.createElement("li",{key:e},"A cover image"):"deckCompletionTaskUgcNameRequired"===e?n.default.createElement("li",{key:e},"A name"):"deckCompletionTaskDeckBlurbRequired"===e?n.default.createElement("li",{key:e},"A description"):"deckCompletionTaskDeckGradesRequired"===e?n.default.createElement("li",{key:e},"Grade levels"):"deckCompletionTaskDeckSubjectsRequired"===e&&n.default.createElement("li",{key:e},"Subject areas")})),s=n.default.createElement(a.Popover,{id:"minimum-world-requirements-popover",style:{maxWidth:"500px"}},n.default.createElement("p",null,"To publish this storyworld, you still need to add the following items (marked in orange on the page below):"),l);return n.default.createElement(a.OverlayTrigger,{trigger:"click",rootClose:!0,placement:"bottom",overlay:s},n.default.createElement(o.default,null,r))};var n=i(r(1)),a=r(11),o=i(r(13));function i(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w,E,k,_,C=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),S=$(r(1)),P=r(10),O=r(9),T=$(r(0)),j=r(11),x=r(12),M=$(r(168)),z=$(r(15)),A=($(r(13)),$(r(611))),I=$(r(610));function $(e){return e&&e.__esModule?e:{default:e}}function D(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function N(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function R(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var B=(0,O.inject)("$gameplay","$deckEditor","$router")(n=(0,O.observer)((_=k=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,k=Array(a),_=0;_<a;_++)k[_]=arguments[_];return r=n=N(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(k))),D(n,"confirmingPublish",o,n),D(n,"addToClassrooms",i,n),D(n,"shareToLibrary",l,n),D(n,"confirmingStartNewVersion",s,n),D(n,"confirmingCancelNewVersion",u,n),D(n,"fetchingScopes",c,n),D(n,"popConfirmPublish",d,n),D(n,"cancelPublish",f,n),D(n,"doPublish",p,n),D(n,"setAddToClassrooms",m,n),D(n,"setShareToLibrary",h,n),D(n,"popConfirmStartNewVersion",y,n),D(n,"cancelStartNewVersion",g,n),D(n,"doStartNewVersion",b,n),D(n,"popConfirmCancelNewVersion",v,n),D(n,"cancelCancelNewVersion",w,n),D(n,"doCancelNewVersion",E,n),n.navToVersion=function(e){if(e){var t=parseInt(e,10),r=n.props.$gameplay.gameVob.deck_versions_meta.pubPids.slice(),a=n.props.$gameplay.gameVob.deck_versions_meta.newPid;if(a&&r.push(a),r.length>=t){var o=r[t-1];n.props.$router.navToPath("deckRoute",{slug:o})}}},N(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,S.default.Component),C(t,[{key:"render",value:function(){var e=this,t=this.props.$gameplay,r=this.props.$deckEditor,n=t.gsm,a=this.props.completionTasks.remaining.classroom,o=0===a.length,i=t.gameVob,l=i.deck_versions_meta.pubP
2ids.slice(),s=i.deck_versions_meta.newPid;s&&l.push(s);var u=i.deck_is_published,c=i.deck_is_latest_published,d=(!!s&&l.length,l.length),f=n.state.deckVersion,p=f===d,m=(0===a.length&&n.state.deckIsPublished,i.is_class_copy),h=!1;1!==f||u||o||(h="This storyworld is not yet ready to publish"),!u&&o&&(h=S.default.createElement("span",null,S.default.createElement(z.default,{style:{color:"#090",marginRight:"5px"},name:"check-square-o"})," ","This storyworld is ready to publish")),u&&p&&(h=S.default.createElement("span",null,S.default.createElement(z.default,{style:{color:"#090",marginRight:"5px"},name:"check-square-o"})," ","Version ",f," is published")),u&&!p&&(h=S.default.createElement("span",null,"Viewing version ",f)),f>1&&!u&&(h=S.default.createElement("span",null,"Working on version ",f));var y=!1;f>1&&p&&(y=S.default.createElement("div",{style:{marginTop:"10px"}},S.default.createElement("form",{className:"form-inline"},S.default.createElement("select",{"data-p":"version_selector",name:"version_selector",onChange:function(t){e.navToVersion(t.target.value)}},S.default.createElement("option",{value:""},"View prior versions"),l.map(function(e,r){return t.gamePid!==e&&S.default.createElement("option",{key:e,value:r+1,"data-pid":e,"data-vnum":r+1},"Version ",r+1)})))));var g=S.default.createElement(x.ActionButton,{key:"cancelNewVersionButton","data-p":"cancel_new_version_btn",onClick:this.popConfirmCancelNewVersion,bsStyle:"default"},"Cancel version ",f),b=S.default.createElement(x.ActionButton,{key:"publishButton","data-p":"publish_deck_btn",onClick:this.popConfirmPublish,spinning:this.fetchingScopes,disabled:!o},"Publish version ",f),v=S.default.createElement(x.ActionButton,{key:"startNewVersionButton",bsStyle:"info","data-p":"start_new_version_btn",onClick:this.popConfirmStartNewVersion},"Start version ",f+1),w=S.default.createElement(x.ActionButton,{key:"returnToHighestVersionButton","data-p":"return_to_highest_version_button",onClick:function(){e.navToVersion(d)}},"Return to latest version"),E=[];u?c&&!s?E.push(v):p||E.push(w):(f>1&&E.push(g),E.push(b));var k=!1;o||u||(k=1===f?S.default.createElement("div",{className:"mb10"},"Your storyworld must meet"," ",S.default.createElement(A.default,{gsm:n,text:"these remaining requirements",tasks:a})," ","in order to be playable or shareable."):S.default.createElement("div",{className:"mb10"},"This version is not yet ready to publish. Your storyworld must meet"," ",S.default.createElement(A.default,{gsm:n,text:"these remaining requirements",tasks:a})," ","in order to be playable or shareable.")),o&&!u&&(k=m?S.default.createElement("div",{className:"mb10"},"To play this storyworld, publish it now."):S.default.createElement("div",{className:"mb10"},"To play or share this storyworld, publish it now."));var _=!1;c?_=S.default.createElement(I.default,null):u&&(_=S.default.createElement("p",{className:"mb10"},"This version has been retired and is only visible to games that were using it at the time they were created."));var C=void 0;if(this.confirmingPublish){var P="drs_perm_approved"===n.state.deckReviewStatus;C=S.default.createElement(j.Modal,{show:!0},S.default.createElement(j.Modal.Header,null,"Publish this storyworld"),S.default.createElement(j.Modal.Body,null,m&&1===f&&S.default.createElement("div",null,S.default.createElement("p",null,"This means that youâre done editing this storyworld and itâs ready for use. (Donât worry, you can still make changes later by creating a new version.)"),S.default.createElement("p",null,"If you want your students to play this storyworld check âAdd to classroomsâ below."),S.default.createElement("p",null,"Note that because this world is a copy of an existing storyworld it cannot be shared with other teachers, only with your students.")),m&&f>1&&S.default.createElement("div",null,S.default.createElement("p",null,"This means that youâre done working on this version and itâs ready for use. New games will use this new version, whereas existing games will be unaffected."),S.default.createElement("p",null,"If you want to change your storyworldâs status in your classrooms, you can change the setting below before confirming."),S.default.createElement("p",null,"Note that because this world is a copy of an existing storyworld it cannot be shared with other teachers, only with your students.")),!m&&1===f&&S.default.createElement("div",null,S.default.createElement("p",null,"This means that youâre done working on this storyworld and itâs ready for use. (Donât worry, you can still make changes later by creating a new version.)"),S.default.createElement("p",null,"If you want your students to play this storyworld check âAdd to classroomsâ below. You can also choose to share your storyworld in the Library by checking âShare with other teachers.â")),!m&&f>1&&S.default.createElement("div",null,S.default.createElement("p",null,"This means that youâre done working on this version and itâs ready for use. New games will use this new version, whereas existing games will be unaffected."),S.default.createElement("p",null,"If you want to change your storyworldâs status in your classrooms or in the Library, you can change the settings below before confirming.")),S.default.createElement("form",null,S.default.createElement(j.FormGroup,null,S.default.createElement(j.Checkbox,{inline:!0,"data-p":"add_to_classrooms_chkbx",checked:!!this.addToClassrooms,onChange:this.setAddToClassrooms}," ","Add to your classrooms")),!m&&S.default.createElement(j.FormGroup,null,S.default.createElement(j.Checkbox,{inline:!0,"data-p":"share_to_library_chkbx",checked:!!this.shareToLibrary,onChange:this.setShareToLibrary}," ","Share with other teachers",P?"":" (submit for approval)")))),S.default.createElement(j.Mod
2al.Footer,null,S.default.createElement(x.Footer,null,S.default.createElement(x.CancelButton,{onClick:this.cancelPublish}),S.default.createElement(x.DoneButton,{"data-p":"confirm_publish_btn",onClick:this.doPublish,spinning:"publishDeckVersion"===r.spinning}))))}return this.confirmingStartNewVersion&&(C=S.default.createElement(j.Modal,{show:!0},S.default.createElement(j.Modal.Header,null,"Create a new version of this storyworld"),S.default.createElement(j.Modal.Body,null,S.default.createElement("p",null,"This lets you make changes or additions to this storyworld beyond minor corrections. Games that utilize the prior version will be unaffacted by the new version. Only newly-created games will use it.")),S.default.createElement(j.Modal.Footer,null,S.default.createElement(x.Footer,null,S.default.createElement(x.CancelButton,{onClick:this.cancelStartNewVersion}),S.default.createElement(x.DoneButton,{"data-p":"confirm_start_new_version_btn",onClick:this.doStartNewVersion,spinning:"startNewDeckVersion"===r.spinning}))))),this.confirmingCancelNewVersion&&(C=S.default.createElement(j.Modal,{show:!0},S.default.createElement(j.Modal.Header,null,"Cancel (delete) version ",f,"?"),S.default.createElement(j.Modal.Body,null,S.default.createElement("p",null,"This will completely delete all changes you have made for version"," ",f," and fully revert the storyworld to version"," ",f-1,"."," ",S.default.createElement("strong",null,"This operation is permanent and cannot be un-done.")," ","If there are some changes you have made that you like, you should record them elsewhere before doing this!")," "),S.default.createElement(j.Modal.Footer,null,S.default.createElement(x.Footer,null,S.default.createElement(x.CancelButton,{onClick:this.cancelCancelNewVersion}),S.default.createElement(x.DoneButton,{"data-p":"confirm_cancel_new_version_btn",onClick:this.doCancelNewVersion,spinning:"cancelNewDeckVersion"===r.spinning}))))),S.default.createElement("div",null,C,S.default.createElement(x.CompletionSummary,{style:{paddingBottom:"10px"}},S.default.createElement(M.default.HorizGrid,{wideButtons:!0,collapse:!0,gapped:!0,mb10:!0},S.default.createElement("div",null,S.default.createElement("strong",null,h),y),S.default.createElement(M.default.HorizGrid,{wideButtons:!0,collapse:!0,gapped:!0},E)),k,_))}}]),t}(),k.propTypes={$gameplay:T.default.object.isRequired,$deckEditor:T.default.object.isRequired,$router:T.default.object.isRequired,completionTasks:T.default.any.isRequired},o=R((a=_).prototype,"confirmingPublish",[P.observable],{enumerable:!0,initializer:null}),i=R(a.prototype,"addToClassrooms",[P.observable],{enumerable:!0,initializer:null}),l=R(a.prototype,"shareToLibrary",[P.observable],{enumerable:!0,initializer:null}),s=R(a.prototype,"confirmingStartNewVersion",[P.observable],{enumerable:!0,initializer:null}),u=R(a.prototype,"confirmingCancelNewVersion",[P.observable],{enumerable:!0,initializer:null}),c=R(a.prototype,"fetchingScopes",[P.observable],{enumerable:!0,initializer:null}),d=R(a.prototype,"popConfirmPublish",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingPublish=!0,e.addToClassrooms=!0,e.shareToLibrary=!1,e.props.$gameplay.gsm.state.deckVersion>1&&(e.confirmingPublish=!1,e.fetchingScopes=!0,e.props.$deckEditor.fetchLatestScopes().then((0,P.action)(function(t){t&&(e.addToClassrooms="ds_active"==t.classroom,e.shareToLibrary="ds_active"===t.library||"ds_pending"===t.library,e.confirmingPublish=!0),e.fetchingScopes=!1})))}}}),f=R(a.prototype,"cancelPublish",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingPublish=!1}}}),p=R(a.prototype,"doPublish",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.props.$deckEditor.publishDeckVersion({addToClassrooms:e.addToClassrooms,shareToLibrary:e.shareToLibrary}).then(e.cancelPublish)}}}),m=R(a.prototype,"setAddToClassrooms",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.addToClassrooms=!!t.target.checked}}}),h=R(a.prototype,"setShareToLibrary",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.shareToLibrary=!!t.target.checked}}}),y=R(a.prototype,"popConfirmStartNewVersion",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingStartNewVersion=!0}}}),g=R(a.prototype,"cancelStartNewVersion",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingStartNewVersion=!1}}}),b=R(a.prototype,"doStartNewVersion",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.props.$deckEditor.startNewDeckVersion()}}}),v=R(a.prototype,"popConfirmCancelNewVersion",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingCancelNewVersion=!0}}}),w=R(a.prototype,"cancelCancelNewVersion",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingCancelNewVersion=!1}}}),E=R(a.prototype,"doCancelNewVersion",[P.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.props.$deckEditor.cancelNewDeckVersion()}}}),n=a))||n)||n;t.default=B},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),f=j(r(1)),p=r(9),m=r(10),h=j(r(0)),y=r(11),g=r(12),b=(j(r(36)),j(r(15)),j(r(612))),v=j(r(609)),w=j(r(608)),E=j(r(607)),k=j(r(606)),_=j(r(605)),C=j(r(326)),S=j(r(325));j(r(13));r(604);var P=j(r(324)),O=j(r(323)),T=j(r(168));function j(e){return e&&e.__esModule?e:{default:e}}function x(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function M(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function z(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var A=(0,p.inject)("$gameplay","$deckEditor","$router")(n=(0,p.observer)((c=u=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,u=Array(a),c=0;c<a;c++)u[c]=arguments[c];return r=n=M(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),x(n,"confirmingReplicate",o,n),x(n,"popConfirmReplicate",i,n),x(n,"cancelConfirmReplicate",l,n),x(n,"doConfirmReplicate",s,n),M(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,f.default.Component),d(t,[{key:"render",value:function(){var e=this.props.$gameplay,t=this.props.$deckEditor,r=e.gsm.deckCompletionTasks();if("scenarioDetailRoute"===this.props.$router.route.name)return f.default.createElement(P.default,{editable:!0});var n={details:"Details",cards:"Cards",charTypes:"Character Types",scenarios:"Scenarios",art:"Artwork",materials:"Materials"},a={deckCompletionTaskDeckBlurbRequired:"details",deckCompletionTaskCardKindCount:"cards",deckCompletionTaskCharTypeCount:"charTypes",deckCompletionTaskDeckSubjectsRequired:"details",deckCompletionTaskDeckGradesRequired:"details"},o={};r.remaining.classroom.forEach(function(e){a[e]&&(o[a[e]]=!0)});var i=function(e){var r=t.tabCount(e),a={};return o[e]&&(a.color="#f90"),"number"==typeof r?f.default.createElement("span",{"data-p":e+"_tab_title",style:a},n[e]," ",f.default.createElement("span",{style:{color:"#999"}},"(",r,")")):f.default.createElement("span",{"data-p":e+"_tab_title",style:a},n[e])},l=e.gameCreation.authUserCanCreateGameFromThisDeck,s=!e.gameVob.is_class_copy;return f.default.createElement("div",{style:{marginBottom:"100px"},"data-p":"deck_editor","data-pid":e.gamePid,"data-slug":e.gsm.state.slug},f.default.createElement(y.Row,{style:{paddingBottom:"30px"}},f.default.createElement(y.Col,{xs:12},this.confirmingReplicate&&f.default.createElement(y.Modal,{show:!0},f.default.createElement(y.Modal.Header,null,"Create a copy"),f.default.createElement(y.Modal.Body,null,f.default.createElement("p",null,"This will create a new, unpublished copy of this storyworld. For example, you can use this feature to make your own customizations to storyworlds shared by other teachers on the storyworld library. (Note: for storyworlds that have multiple versions, this action always copies the version you are currently viewing.)"),f.default.createElement("p",null,"The new storyworld will have the text â(copy)â added to the end of the title. You should change its title to something more meaningful so that you can tell the difference between it and the original.")),f.default.createElement(y.Modal.Footer,null,f.default.createElement(g.Footer,null,f.default.createElement(g.CancelButton,{onClick:this.cancelConfirmReplicate}),f.default.createElement(g.DoneButton,{label:"Confirm","data-p":"confirm_replicate_btn",onClick:this.doConfirmReplicate,
2spinning:"creatingReplica"===t.spinning})))),(s||l)&&f.default.createElement(T.default.HorizGrid,{wideButtons:!0,collapse:!0,gapped:!0,mb10:!0,packRight:!0},s&&f.default.createElement("div",{style:{display:"inline-block"}},f.default.createElement(g.ActionButton,{label:"Create a copy",bsStyle:"info",onClick:this.popConfirmReplicate,"data-p":"replicate_btn"})),l&&f.default.createElement(O.default,null)),f.default.createElement(b.default,{completionTasks:r}),f.default.createElement(v.default,{completionTasks:r}),f.default.createElement(y.Tabs,{animation:!1,id:"deck-tabs",activeKey:t.selectedTab,onSelect:t.setClickedTab,style:{marginTop:40},className:"tabs-condensed"},f.default.createElement(y.Tab,{eventKey:"details",title:i("details")},f.default.createElement(_.default,{completionTasks:r})),f.default.createElement(y.Tab,{eventKey:"cards",title:i("cards")},f.default.createElement(w.default,{completionTasks:r})),f.default.createElement(y.Tab,{eventKey:"charTypes",title:i("charTypes")},f.default.createElement(E.default,{completionTasks:r})),f.default.createElement(y.Tab,{eventKey:"scenarios",title:i("scenarios")},f.default.createElement(S.default,{editable:!0})),f.default.createElement(y.Tab,{eventKey:"art",title:i("art")},f.default.createElement(C.default,{editable:!0})),f.default.createElement(y.Tab,{eventKey:"materials",title:i("materials")},f.default.createElement(k.default,null))))))}}]),t}(),u.propTypes={$gameplay:h.default.object.isRequired,$deckEditor:h.default.object.isRequired},o=z((a=c).prototype,"confirmingReplicate",[m.observable],{enumerable:!0,initializer:null}),i=z(a.prototype,"popConfirmReplicate",[m.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingReplicate=!0}}}),l=z(a.prototype,"cancelConfirmReplicate",[m.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.confirmingReplicate=!1}}}),s=z(a.prototype,"doConfirmReplicate",[m.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.props.$deckEditor.createReplica().then((0,m.action)(function(){e.confirmingReplicate=!1})).catch(function(){})}}}),n=a))||n)||n;t.default=A},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=h(r(26)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=h(r(1)),u=r(11),c=r(9),d=h(r(0)),f=h(r(64)),p=h(r(36)),m=r(12);function h(e){return e&&e.__esModule?e:{default:e}}var y=(0,c.inject)("$gameplay","$blurbs")(n=(0,c.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=this.props.$gameplay.gsm,t=e.state.scenarios[e.state.scenarioGid].scenes[this.props.sceneId];if(!t)return!1;var r=t.cards,n=e.state.cards[(0,i.default)(r,function(t){return"ckPlace"===e.state.cards[t].kind})].image,a=t.blurb;return[s.default.createElement(u.Panel,{key:"1",header:"Scene cards",className:"move mkDrawSceneCards"},n&&n.artGid&&s.default.createElement("div",{className:"move-image"},s.default.createElement(f.default,{artGid:n.artGid,category:"banner",lightbox:!0,width100:!0})),s.default.createElement(p.default,{doSort:!0,justify:"dynamic",cards:r,style:{marginBottom:0}})),!!a&&s.default.createElement(m.IconAlert,{key:"2",icon:"lightbulb-o",bsStyle:"success",style:{margin:"-20px 0 40px"}},s.default.createElement("p",null,s.default.createElement("strong",null,"What to do in this scene:")),s.default.createElement("p",null,this.props.$blurbs.smart(e.state.gamePid,a)))]}}]),t}(),a.propTypes={$gameplay:d.default.object.isRequired,$blurbs:d.default.object.isRequired,sceneId:d.default.number},n=o))||n)||n;t.default=y},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=m(r(1)),s=r(11),u=r(9),c=r(12),d=m(r(0)),f=m(r(122)),p=m(r(94));function m(e){return e&&e.__esModule?e:{default:e}}var h=(0,u.inject)("$editor")(n=(0,u.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$editor;return l.default.createElement("div",null,l.default.createElement(s.Modal,{keyboard:!1,backdrop:"static",show:e.isActive,onHide:e.reset},l.default.createElement(s.Modal.Header,{closeButton:!0},"Edit your move"),l.default.createElement(s.Modal.Body,null,l.default.createElement("p",null,"You can edit the contents of your moves at any time, but only to make minor changes and corrections for grammar, wording, and other details that do not affect the story itself. Do not âtake backâ or change the substance of your move, because everyone else is already playing and making their own moves based on it!"),e.moveRevisionRequestForReference&&l.default.createElement(s.Alert,{bsStyle:"danger"},l.default.createElement("p",{style:{marginBottom:"10px"}},"The teacher has asked for changes to this move."," ",l.default.createElement("strong",null,"You must address the teacherâs feedback in your edits:")),l.default.createElement(p.default,{blurb:e.moveRevisionRequestForReference.blurb})),l.default.createElement(f.default,{value:e.content,onChange:function(t){e.setContent(t.target.value)}})),l.default.createElement(s.Modal.Footer,null,l.default.createElement(c.Footer,null,l.default.createElement(c.CancelButton,{onClick:e.reset}),l.default.createElement(c.DoneButton,{disabled:!e.validToPublish,onClick:e.publish,spinning:e.publishing})))),l.default.createElement(s.Modal,{keyboard:!1,backdrop:"static",show:e.requestingRevisions,onHide:e.reset},l.default.createElement(s.Modal.Header,{closeButton:!0},"Ask for changes to this move"),l.default.createElement(s.Modal.Body,null,l.default.createElement("p",null,"This allows you to give feedback on a move and direct the student to revise it accordingly."),l.default.createElement(f.default,{value:e.revisionRequestContent,onChange:function(t){e.setRevisionRequestContent(t.target.value)}})),l.default.createElement(s.Modal.Footer,null,l.default.createElement(c.Footer,null,l.default.createElement(c.CancelButton,{onClick:e.reset}),l.default.createElement(c.DoneButton,{disabled:!e.validToPublish,onClick:e.publish,spinning:e.publishing})))),l.default.createElement(s.Modal,{show:e.confirmDeletion,onHide:e.reset},l.default.createElement(s.Modal.Header,{closeButton:!0},"Delete this move?"),l.default.createElement(s.Modal.Body,null,l.default.createElement("p",null,"As the teacher you can delete the most recent move in a game. The player who made that move will get their turn back (unless they have been removed from the game.) The move before this move, if any, will then become deletable."),l.default.createElement("p",null,"You can use this to ârewindâ a game that has gone off the rails. Repeatedly delete most recent move until the game is back to a point from which you want to resume play. Note, however, that any changes to the gameâs cast list will not be ârewound,â so when play resumes it may involve a different set of players or turn sequence.")),l.default.createElement(s.Mod
2al.Footer,null,l.default.createElement(c.Footer,null,l.default.createElement(c.CancelButton,{onClick:e.reset}),l.default.createElement(c.DoneButton,{label:"Delete",onClick:e.publish,spinning:e.publishing})))),l.default.createElement(s.Modal,{show:e.showCantDeleteModal,onHide:e.reset},l.default.createElement(s.Modal.Header,{closeButton:!0},"The next player is already working on their move"),l.default.createElement(s.Modal.Body,null,l.default.createElement("p",null,"As the teacher you are able to delete the most recent move in a game, but only if the next player has not begun drafting their next move. Youâll need to ask them to âdiscardâ their draft first before you can proceed with this deletion. This helps prevent confusion and potential loss of creative work.")),l.default.createElement(s.Modal.Footer,null,l.default.createElement(c.Footer,null,l.default.createElement(c.CancelButton,{onClick:e.reset}),l.default.createElement(c.DoneButton,{label:"OK",onClick:e.reset})))))}}]),t}(),a.propTypes={$editor:d.default.object.isRequired},n=o))||n)||n;t.default=h},,function(e,t,r){},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=f(r(174)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=f(r(1)),u=r(9),c=f(r(0));r(617);var d=f(r(15));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,u.inject)("$gameplay")(n=(0,u.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=this.props.$gameplay,t=e.gsm,r=e.focusedSceneId,n=t.sceneSummary(r);if(n.heading.epilogue)return!1;if(!n.hasSceneCards)return!1;var a=n.challengePoints-n.playedCards.length;return s.default.createElement("div",{className:"trend-report"},n.polarities.map(function(e,t){return s.default.createElement("div",{className:"mini-card "+(e>0?"positive":"negative"),key:t},1===e&&s.default.createElement(d.default,{name:"plus-circle"}),-1===e&&s.default.createElement(d.default,{name:"minus-circle"}))}),(0,i.default)(a,function(e){return s.default.createElement("div",{className:"mini-card unplayed",key:e},s.default.createElement(d.default,{name:"circle-o"}))}),n.finished&&s.default.createElement("p",null,"This scene ended with a"," ",n.challengeTrend>=0&&s.default.createElement("strong",null,"success."),n.challengeTrend<0&&s.default.createElement("strong",null,"setback.")),!n.finished&&s.default.createElement("p",null,"With ",a," card",1===a?"":"s"," left to play, the scene is"," ",n.challengeTrend>0&&s.default.createElement("span",null,"heading for a ",s.default.createElement("strong",null,"success"),"."),n.challengeTrend<0&&s.default.createElement("span",null,"heading for a ",s.default.createElement("strong",null,"setback"),"."),0===n.challengeTrend&&s.default.createElement("span",null,"currently ",s.default.createElement("strong",null,"tied"),".")))}}]),t}(),a.propTypes={$gameplay:c.default.object.isRequired},n=o))||n)||n;t.default=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),E=z(r(1)),k=z(r(0)),_=r(10),C=r(9),S=r(11),P=z(r(56)),O=z(r(13)),T=z(r(36)),j=z(r(82)),x=z(r(63)),M=r(12);
2function z(e){return e&&e.__esModule?e:{default:e}}function A(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function I(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var D=(n=function(){function e(t,r,n,g){var b=this;I(this,e),A(this,"randSeed",a,this),A(this,"publishing",o,this),A(this,"editing",i,this),A(this,"hasCardsToSave",l,this),A(this,"hasClickedDraw",s,this),A(this,"drawInProgress",u,this),this.demoHackDrawCounter=0,A(this,"drawAgain",c,this),this.signalCardsToSocket=function(){b.editing?b.hasCardsToSave&&b.$rtDraftStatuses.setStagedInitialBonds({userPid:b.$authUser.pid,cards:b.randSeedBondsOrGsmBonds}):b.$rtDraftStatuses.setStagedInitialBonds(!1)},A(this,"firstDraw",d,this),A(this,"setDrawInProgress",f,this),A(this,"stopPublishing",p,this),A(this,"accept",m,this),A(this,"startDrawingBonds",h,this),A(this,"cancel",y,this),this.$gameplay=t,this.$rtDraftStatuses=r,this.$authUser=n,this.$tracking=g,this.editing=!1,this.randSeed=(0,j.default)().substr(0,6),this.hasCardsToSave=!!t.gsm.state.initialBonds,this.hasClickedDraw=!1}return w(e,[{key:"randSeedBondsOrGsmBonds",get:function(){var e=this;return this.hasClickedDraw||!this.hasCardsToSave?this.$gameplay.gsm.pickInitialBonds(this.randSeed,this.demoHackDrawCounter):this.$gameplay.gsm.state.initialBonds.map(function(t){return e.$gameplay.gsm.state.cards[t]})}}]),e}(),a=$(n.prototype,"randSeed",[_.observable],{enumerable:!0,initializer:null}),o=$(n.prototype,"publishing",[_.observable],{enumerable:!0,initializer:null}),i=$(n.prototype,"editing",[_.observable],{enumerable:!0,initializer:null}),l=$(n.prototype,"hasCardsToSave",[_.observable],{enumerable:!0,initializer:null}),s=$(n.prototype,"hasClickedDraw",[_.observable],{enumerable:!0,initializer:null}),u=$(n.prototype,"drawInProgress",[_.observable],{enumerable:!0,initializer:null}),c=$(n.prototype,"drawAgain",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.hasClickedDraw=!0,e.randSeed=(0,j.default)().substr(0,6),e.demoHackDrawCounter++,e.signalCardsToSocket(),e.$tracking.event("drafting","redraw_initialBonds")}}}),d=$(n.prototype,"firstDraw",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.hasClickedDraw=!0,e.demoHackDrawCounter++,e.hasCardsToSave=!0,e.signalCardsToSocket(),e.$tracking.event("drafting","draw_first_initialBonds")}}}),f=$(n.prototype,"setDrawInProgress",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.drawInProgress=!!t}}}),$(n.prototype,"randSeedBondsOrGsmBonds",[_.computed],Object.getOwnPropertyDescriptor(n.prototype,"randSeedBondsOrGsmBonds"),n.prototype),p=$(n.prototype,"stopPublishing",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.publishing=!1,t&&t.data&&t.data.success&&(e.editing=!1,e.signalCardsToSocket())}}}),m=$(n.prototype,"accept",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.publishing=!0;var t=!!e.$gameplay.gsm.hasInitialBonds();e.$gameplay.eventWrites.acceptInitialBonds(e.randSeed,t).then(e.stopPublishing,e.stopPublishing)}}}),h=$(n.prototype,"startDrawingBonds",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.editing=!0,e.signalCardsToSocket()}}}),y=$(n.prototype,"cancel",[_.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.editing=!1,e.hasCardsToSave=!!e.$gameplay.gsm.state.initialBonds,e.randSeed=(0,j.default)().substr(0,6),e.signalCardsToSocket(),e.demoHackDrawCounter=0,e.hasClickedDraw=!1}}}),n),N=(0,C.inject)("$gameplay","$router","$rtDraftStatuses","$authUser","$userInfo","$tracking")(g=(0,C.observer)((v=b=function(e){function t(e){I(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.renderChooser=function(){var e=E.default.createElement("div",null,E.default.createElement("p",null,"Draw Bond cards"),E.default.createElement("p",{className:"header-description"},"As the player starting the first scene, you get to draw"," ",E.default.createElement("strong",null,"Bond cards")," for everyone. These
2cards describe relationships among the characters. This just happens once, at the start of the game. If you donât like these cards you can draw again.")),t=E.default.createElement(M.Footer,null,E.default.createElement(M.CancelButton,{onClick:r.store.cancel}),r.store.hasCardsToSave?E.default.createElement(M.ActionButton,{bsStyle:"primary",onClick:r.store.drawAgain,spinning:r.store.drawInProgress,disabled:r.store.drawInProgress},"Draw again"):E.default.createElement(M.ActionButton,{bsStyle:"primary",onClick:r.store.firstDraw,spinning:r.store.drawInProgress,disabled:r.store.drawInProgress},"Draw"),E.default.createElement(M.DoneButton,{onClick:r.store.accept,spinning:r.store.publishing,label:"Done",disabled:!r.store.hasCardsToSave||r.store.drawInProgress}));return(0,M.Activity)({scrollIntoView:!0,header:e,footer:t,content:E.default.createElement("div",null,E.default.createElement(T.default,{bonds:!0,justify:"center",cards:r.store.randSeedBondsOrGsmBonds,padded:!0,autoAnimate:!0,holdNotYetDrawn:!r.store.hasCardsToSave,setDrawInProgress:r.store.setDrawInProgress})),noContentPadding:!0})},r.renderChosenBonds=function(e){var t=e.editable,n=r.props,a=n.$gameplay,o=(n.$router,n.$rtDraftStatuses),i=n.$userInfo,l=a.gsm;if(!r.initialBonds)return!1;var s=E.default.createElement("p",null,"Character Bonds");if(r.initialBondsAreStaged){var u=void 0,c=l.characterForUser(o.stagedInitialBonds.userPid);u=c?c.name+" ("+i.displayName(o.stagedInitialBonds.userPid,{you:!0})+") ":i.displayName(o.stagedInitialBonds.userPid,{you:!0}),s=E.default.createElement("p",null,u," is choosing new character bonds...")}var d=E.default.createElement("div",null,E.default.createElement(x.default,{id:"bond"},"Bonds represent relationships between the characters. Everyone starts with a Bond to another character in the story. Youâll draw new, different Bonds as you play."),r.initialBonds.map(function(e,t){var n=r.initialBondsAreStaged?void 0:e,o=r.initialBondsAreStaged?e:l.state.cards[n],i=l.state.characters[o.fromCharacterGid],s=l.state.characters[o.toCharacterGid];return E.default.createElement("div",{key:n+","+t},E.default.createElement(O.default,{to:a.characterPath(i)},E.default.createElement(P.default,{style:{margin:"5px"},character:i,desaturate:r.initialBondsAreStaged}))," ",E.default.createElement("span",{style:{verticalAlign:"middle"},className:r.initialBondsAreStaged?"":"staged-gray-text"},E.default.createElement(O.default,{to:a.characterPath(i)},i.name)," ","is"," ",E.default.createElement(O.default,{to:a.characterPath(s)},s.name,"âs")," ",o.name))}));return t?(0,M.Activity)({header:s,bsStyle:"info",content:d,footer:E.default.createElement(M.Footer,null,E.default.createElement(S.Button,{bsStyle:"info",onClick:r.store.startDrawingBonds},"Edit"))}):E.default.createElement(S.Panel,{header:s},d)},r.renderTurnPrompt=function(){return E.default.createElement(M.ActionPrompt,{header:"Itâs your turn!",onClick:r.store.startDrawingBonds,label:"Draw Bond cards"},E.default.createElement("p",null,"As the player starting the first scene, you get to draw"," ",E.default.createElement("strong",null,"Bond cards")," for everyone. These cards describe relationships among the characters. This just happens once, at the start of the game."))},r.store=new D(r.props.$gameplay,r.props.$rtDraftStatuses,r.props.$authUser,r.props.$tracking),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,E.default.Component),w(t,[{key:"render",value:function(){var e=this.props,t=e.$gameplay,r=e.$authUser,n=t.gsm;if(!n)return!1;var a=n.whoseTurn();return"turnToDrawInitialBonds"===a.to?a.userPid===r.pid?this.store.editing?this.renderChooser():this.initialBonds?this.renderChosenBonds({editable:!0}):this.renderTurnPrompt():!!this.initialBonds&&this.renderChosenBonds({editable:!1}):!!this.initialBonds&&(n.canDrawInitialBonds()&&t.authIsTeacherOrOrganizer?this.store.editing?this.renderChooser():this.renderChosenBonds({editable:!0}):this.renderChosenBonds({editable:!1}))}},{key:"initialBondsAreStaged",get:function(){return!(!this.props.$rtDraftStatuses.stagedInitialBonds||this.props.$rtDraftStatuses.stagedInitialBonds.userPid===this.props.$authUser.pid)}},{key:"initialBonds",get:function(){return this.initialBondsAreStaged?this.props.$rtDraftStatuses.stagedInitialBonds.cards:this.props.$gameplay.gsm.state.initialBonds}}]),t}
2(),b.propTypes={$gameplay:k.default.object.isRequired,$router:k.default.object.isRequired,$rtDraftStatuses:k.default.object.isRequired,$authUser:k.default.object.isRequired,$userInfo:k.default.object.isRequired,$tracking:k.default.object.isRequired},g=v))||g)||g;t.default=N},,function(e,t,r){},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=f(r(25)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=f(r(1)),u=f(r(0)),c=r(9),d=r(11);function f(e){return e&&e.__esModule?e:{default:e}}r(621);var p=(0,c.inject)("$gameplay")(n=(0,c.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=this.props.$gameplay;if(!e.gsm)return!1;var t=e.gsm,r=t.state.scenes,n=void 0;"storySizeShort"===t.state.storySize&&(n="Short story (3 acts of 1 scene each, plus epilogue)"),"storySizeMedium"===t.state.storySize&&(n="Medium story (3 acts of 2 scenes each, plus epilogue)"),"storySizeLong"===t.state.storySize&&(n="Long story (3 acts of 3 scenes each, plus epilogue)");var a=function(e){if(t.gameOver())return!0;for(var n=0;n<r.length;n++)if(t.sceneSummary(n).heading.actNumber>e)return!0;return!1},o=function(e){for(var n=0,a=0;a<r.length;a++)t.sceneSummary(a).heading.actNumber===e&&n++;return n},l={1:{publishedScenes:o(1),totalScenes:t.actLength(1),isFinished:a(1),width:0,offset:0},2:{publishedScenes:o(2),totalScenes:t.actLength(2),isFinished:a(2),width:0,offset:0},3:{publishedScenes:o(3),totalScenes:t.actLength(3),isFinished:a(3),width:0,offset:0}},u=[],c=[];(0,i.default)(l,function(e){e.isFinished&&(e.totalScenes=e.publishedScenes),e.publishedScenes>e.totalScenes&&(e.totalScenes=e.publishedScenes)});for(var f=l[1].totalScenes+l[2].totalScenes+l[3].totalScenes,p=t.highSceneId()&&t.sceneSummary(t.highSceneId()).heading.epilogue&&e.focusedSceneId===t.highSceneId(),m=1;m<f;m++)u.push(m/f*100+"%");var h=0;(0,i.default)(l,function(e){e.width=e.totalScenes/f*100+"%",e.offset=h/f*100+"%",h+=e.totalScenes,c.push(h/f*100+"%")}),c.pop();
2var y=r.length,g=!!r.length&&!t.sceneFinished(t.highSceneId()),b=y/f*100+"%",v=(g?y-1:y)/f*100+"%",w=void 0!==e.focusedSceneId&&(!p&&(e.focusedSceneId+.5)/f*100+"%"),E=s.default.createElement(d.Popover,{id:"pacing-popover",title:"Game progress"},"This bar represents the overall progress of your game towards the ending. There are three acts, each divided into scenes. The scene youâre currently reading is indicated by a triangle just below the progress bar.",s.default.createElement("br",null),s.default.createElement("br",null),"Story length: ",n);return s.default.createElement(d.OverlayTrigger,{trigger:"click",placement:"top",overlay:E,rootClose:!0},s.default.createElement("div",{className:"pacer"},s.default.createElement("div",{className:"clipper"},s.default.createElement("div",{className:"max-progress",style:{width:b}}),s.default.createElement("div",{className:"finished-progress",style:{width:v}}),u.map(function(e){return s.default.createElement("div",{key:e,className:"scene-tick-top",style:{left:e}})}),u.map(function(e){return s.default.createElement("div",{key:e,className:"scene-tick-bottom",style:{left:e}})}),c.map(function(e){return s.default.createElement("div",{key:e,className:"act-divider",style:{left:e}})}),[1,2,3].map(function(e){var t=l[e],r={1:"I",2:"II",3:"III"}[e];return s.default.createElement("div",{key:e,className:"numeral-text",style:{left:t.offset,width:t.width}},r)})),s.default.createElement("div",{className:"crisp-border"}),w&&s.default.createElement("div",{className:"focused-caret",style:{left:w}},s.default.createElement("svg",{viewBox:"0 0 10 5"},s.default.createElement("polygon",{points:"0,5 10,5 5,0",strokeWidth:"0",fill:"#789"})))))}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired},n=o))||n)||n;t.default=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=h(r(1)),s=r(9),u=h(r(0)),c=h(r(34)),d=(h(r(146)),r(12)),f=(h(r(122)),h(r(75))),p=r(11),m=h(r(94));function h(e){return e&&e.__esModule?e:{default:e}}function y(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var g=(0,s.inject)("$gameplay","$composer")(n=(0,s.observer)((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=y(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.confirmDiscard=function(){n.confirmModal.pop("Are you sure?","You will lose the contents of your move.").then(function(e){e&&n.props.$composer.discardDeadEndDraft(n.props.draftAttrs)})},y(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this,t=this.props.$gameplay,r=(this.props.$composer,t.gsm),n=this.props.draftAttrs,a=n.kind,o=n.chosenCardGids,i=o.action&&r.state.cards[o.action],s=(r.whoseTurn(),i?i.polarity:1),u=0===n.blurb.trim().length;return"mkText"===a?l.default.createElement("div",{className:"move "+a+" "+(s&&(s>0?"positive":"negative")),key:n.guid},(0,d.Activity)({bsStyle:"info",scrollIntoView:!0,header:"You have an unpublished addition to the story",content:l.default.createElement("div",null,l.default.createElement(p.Alert,{bsStyle:"info"},"You were working on this addition to the story but it canât be published right now. Your work has been saved, and will be restored if you start another addition later. You can also copy/paste your work somewhere else for safe keeping and then use the âdiscardâ button below to delete it."),l.default.createElement("div",{className:"body-text"},n.blurb&&l.default.createElement(m.default,{blurb:{content:n.blurb}}),u&&l.default.createElement("p",{style:{color:"#aaa"}},"(No content)")),l.default.createElement(c.default,{ref:function(t){e.confirmModal=t}})),footer:l.default.createElement(d.Footer,null,l.default.createElement(d.CancelButton,{onClick:this.confirmDiscard,label:"Discard"}))})):"mkFlashback"===a?l.default.createElement("div",{className:"move "+a+" "+(s&&(s>0?"positive":"negative")),key:n.guid},(0,d.Activity)({bsStyle:"info",scrollIntoView:!0,header:"You have an unpublished flashback draft",content:l.default.createElement("div",null,l.default.createElement(p.Alert,{bsStyle:"info"},"You were working on this flashback but it canât be published right now. Your work has been saved and is available for use in a future flashback later in the game. You can also copy/paste your work somewhere else for safe keeping and then use the âdiscardâ button below to delete it."),i&&l.default.createElement("div",{className:"clear played-challenge-card "+(s>0?"positive":"negative")},l.default.createElement(f.default,{card:i})),l.default.createElement("div",{className:"body-text"},n.blurb&&l.default.createElement(m.default,{blurb:{content:n.blurb}}),u&&l.default.createElement("p",{style:{color:"#aaa"}},"(No content)")),l.default.createElement(c.default,{ref:function(t){e.confirmModal=t}})),footer:l.default.createElement(d.Footer,null,l.default.createElement(d.CancelButton,{onClick:this.confirmDiscard,label:"Discard"}))})):("mkPlayToChallenge"===a||"mkPlayToEpilogue"===a)&&l.default.createElement("div",{className:"move "+a+" "+(s&&(s>0?"positive":"negative")),key:n.guid},(0,d.Activity)({bsStyle:"info",scrollIntoView:!0,header:"You have an unpublished move draft",content:l.default.createElement("div",null,l.default.createElement(p.Alert,{bsStyle:"info"},"You were working on this move but it canât be published anymore. You may want to copy/paste the text elsewhere for future use. Once you don't need it anymore, use the âdiscardâ button below to delete it."),i&&l.default.createElement("div",{className:"clear played-challenge-card "+(s>0?"positive":"negative")},l.default.createElement(f.default,{card:i})),l.default.createElement("div",{className:"body-text"},n.blurb&&l.default.createElement(m.default,{blurb:{content:n.blurb}}),u&&l.default.createElement("p",{style:{color:"#aaa"}},"(No content)")),l.default.createElement(c.default,{ref:function(t){e.confirmModal=t}})),footer:l.default.createElement(d.Footer,null,l.default.createElement(d.CancelButton,{onClick:this.confirmDiscard,label:"Discard"}))}))}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$composer:u.default.object.isRequired,draftAttrs:u.default.object.isRequired},n=o))||n)||n;t.default=g},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=d(r(1)),s=r(9),u=d(r(0)),c=d(r(623));function d(e){return e&&e.__esModule?e:{default:e}}var f=(0,s.inject)("$gameplay","$composer")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$gameplay,t=this.props.$composer.deadEndDraftsForScene(e.focusedSceneId);return l.default.createElement("div",{className:"dead-end-drafts"},t.map(function(e){return l.default.createElement(c.default,{draftAttrs:e,key:e.guid})}))}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$composer:u.default.object.isRequired},n=o))||n)||n;t.default=f},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=h(r(1)),s=r(9),u=h(r(0)),c=h(r(34)),d=h(r(146)),f=r(12),p=h(r(122)),m=h(r(93));r(11);function h(e){return e&&e.__esModule?e:{default:e}}function y(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var g=(0,s.inject)("$gameplay","$composer")(n=(0,s.observer)((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=y(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.confirmDiscard=function(){n.confirmModal.pop("Are you sure?","You will lose the contents of your move.").then(function(e){e&&n.props.$composer.discard()})},y(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this,t=this.props.$gameplay,r=this.props.$composer;t.gsm;return(0,f.Activity)({scrollIntoView:!0,header:l.default.createElement("div",null,"Add to the story"),content:l.default.createElement("div",null,l.default.createElement(p.default,{noBorder:!0,autoFocus:!0,placeholder:"Click here and start writing...",style:{width:"100%",height:"150px"},value:r.draftAttrs.blurb,onChange:function(e){r.setBlurb(e.target.value)}}),l.default.createElement(d.default,{text:r.draftAttrs.blurb}),l.default.createElement(c.default,{ref:function(t){e.confirmModal=t}})),footer:l.default.createElement(f.Footer,null,l.default.createElement(f.CancelButton,{onClick:this.confirmDiscard}),l.default.createElement(m.default,{toWhat:"To publish",tasks:r.validationErrors}),l.default.createElement(f.DoneButton,{onClick:r.publish,disabled:!r.validToPublish,spinning:"publishing"===r.spinning,label:"Publish"}))})}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$composer:u.default.object.isRequired,isFirst:u.default.bool},a.defaultProps={isFirst:!1},n=o))||n)||n;t.default=g},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=b(r(35)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=b(r(1)),u=r(9),c=b(r(0)),d=b(r(34)),f=b(r(146)),p=r(12),m=b(r(122)),h=b(r(217)),y=b(r(93)),g=r(11);function b(e){return e&&e.__esModule?e:{default:e}}function v(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var w=(0,u.inject)("$gameplay","$composer")(n=(0,u.observer)((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=v(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.confirmDiscard=function(){n.confirmModal.pop("Are you sure?","You will lose the contents of your flashback.").then(function(e){e&&n.props.$composer.discard()})},v(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=this,t=this.props.$gameplay,r=this.props.$composer,n=t.gsm,a=t.activeCharacter,o=r.draftAttrs.chosenCardGids,l=o.action&&n.state.cards[o.action],u=[];a.cards.forEach(function(e){u.push(n.state.cards[e])}),u=(0,i.default)(u,["name"]);var c=n.whoseTurn().characterGid===a.gid&&s.default.createElement(g.Alert,{bsStyle:"warning",style:{margin:0}},s.default.createElement("strong",null,"Heads up!")," Itâs now your turn to move in the game, so donât hold up the action for everyone else by working on a flashback that you can do later. Wrap this up and publish it, or, copy your work somewhere else and cancel this to continue it later."),b=!!l;return(0,p.Activity)({scrollIntoView:!0,header:s.default.createElement("div",null,s.default.createElement("p",null,"Write a flashback"),s.default.createElement("p",{className:"header-description"},"A ",s.default.createElement("strong",null,"flashback")," is a short side story from your characterâs past. Play one of your cards and write about why your character had that card. You donât have to write flashbacks, but they are a good way to use cards that you donât want to use in your regular moves. And, in the next scene, youâll get to draw an extra card to replace the one you play here.")),content:s.default.createElement("div",null,s.default.createElement("div",null,"Choose a card to write about:",s.default.createElement(h.default,{useCase:"mkFlashback",id:"mkFlashbackPicker",choices:u,selected:l,noDeselectAllowed:!0,onChange:function(e){return r.setCard("action",e&&e.gid)}})),r.draftAttrs.reactivatedRemovedCard&&s.default.createElement(g.Alert,{bsStyle:"danger",closeLabel:"close alert",onDismiss:r.dismissCardRemovedAlert},s.default.createElement("strong",null,"Heads up!")," When you started this flashback, you chose to write about the card â",r.draftAttrs.reactivatedRemovedCard.name,".â However, you no longer have this card in your hand! You need to choose a different card and update your flashback accordingly."),s.default.createElement("h4",{style:{lineHeight:1.4,paddingTop:"20px"}},"What happened in your characterâs past?"),b?s.default.createElement(m.default,{noBorder:!0,placeholder:"Click here and start writing...",autoFocus:!0,style:{width:"100%",height:"150px"},value:r.draftAttrs.blurb,onChange:function(e){r.setBlurb(e.target.value)}}):s.default.createElement(m.default,{noBorder:!0,disabled:!0,placeholder:"Choose a card first, then you can begin writing here...",style:{width:"100%",height:"150px"},value:r.draftAttrs.blurb,onChange:function(e){r.setBlurb(e.target.value)}}),s.default.createElement(f.default,{text:r.draftAttrs.blurb}),s.default.createElement(d.default,{ref:function(t){e.confirmModal=t}}),c),footer:s.default.createElement(p.Footer,null,s.default.createElement(p.CancelButton,{onClick:this.confirmDiscard}),s.default.createElement(y.default,{toWhat:"To publish",tasks:r.validationErrors}),s.default.createElement(p.DoneButton,{onClick:r.publish,disabled:!r.validToPublish,spinning:"publishing"===r.spinning,label:"Publish"}))})}}]),t}(),a.propTypes={$gameplay:c.default.object.isRequired,$composer:c.default.object.isRequired},n=o))||n)||n;t.default=w},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=v(r(35)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=v(r(1)),u=r(9),c=v(r(0)),d=v(r(75)),f=v(r(34)),p=v(r(146)),m=r(12),h=v(r(122)),y=v(r(217)),g=v(r(93)),b=r(11);function v(e){return e&&e.__esModule?e:{default:e}}function w(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var E=(0,u.inject)("$gameplay","$composer")(n=(0,u.observer)((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=w(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.confirmDiscard=function(){n.confirmModal.pop("Are you sure?","You will lose the contents of your move.").then(function(e){e&&n.props.$composer.discard()})},w(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=this,t=this.props.$gameplay,r=this.props.$composer,n=t.gsm,a=t.activeCharacter,o=r.draftAttrs.chosenCardGids,l=o.action&&n.state.cards[o.action],u=[];return a.cards.forEach(function(e){u.push(n.state.cards[e])}),u=(0,i.default)(u,["name"]),(0,m.Activity)({scrollIntoView:!0,header:this.props.isFirst?s.default.createElement("div",null,s.default.createElement("p",null,"Start the epilogue"),s.default.createElement("p",{className:"header-description"},"Since you wrote the most words in this story you get to go first in telling us how things turn out. The other players will move after youâre done.")):s.default.createElement("div",null,"Make your final move"),content:s.default.createElement("div",null,this.props.isFirst&&s.default.createElement("div",null,s.default.createElement("h4",null,"This game ends with the following card:"),s.default.createElement("div",{className:"text-center"},s.default.createElement(d.default,{gid:n.endingCardGid()}))),s.default.createElement("div",null,s.default.createElement("h4",null,"Choose one of your cards to play on the epilogue:"),s.default.createElement(y.default,{useCase:"mkPlayToEpilogue",id:"mkPlayToChallengePicker",choices:u,selected:l,noDeselectAllowed:!0,onChange:function(e){return r.setCard("action",e&&e.gid)}})),r.draftAttrs.reactivatedRemovedCard&&s.default.createElement(b.Alert,{bsStyle:"danger",closeLabel:"close alert",onDismiss:r.dismissCardRemovedAlert},s.default.createElement("strong",null,"Heads up!")," When you started this move, you chose to write about the card â",r.draftAttrs.reactivatedRemovedCard.name,".â However, you no longer have this card in your hand! You need to choose a different card and update your move accordingly."),this.props.isFirst?s.default.createElement("h4",{style:{lineHeight:1.4,paddingTop:"20px"}},"Using the Ending card as a guide, how does this story end? What is the fate of your character?"):s.default.createElement("h4",{style:{lineHeight:1.4,paddingTop:"20px"}},"What is the fate of your character?"),l?s.default.createElement(h.default,{noBorder:!0,autoFocus:!0,placeholder:"Click here and start writing...",style:{width:"100%",height:"150px"},value:r.draftAttrs.blurb,onChange:function(e){r.setBlurb(e.target.value)}}):s.default.createElement(h.default,{noBorder:!0,disabled:!0,placeholder:"Choose a card first, then you can begin writing here...",style:{width:"100%",height:"150px",color:"#999"},value:r.draftAttrs.blurb,onChange:function(e){r.setBlurb(e.target.value)}}),s.default.createElement(p.default,{text:r.draftAttrs.blurb}),s.default.createElement(f.default,{ref:function(t){e.confirmModal=t}})),footer:s.default.createElement(m.Footer,null,s.default.createElement(m.CancelButton,{onClick:this.confirmDiscard}),s.default.createElement(g.default,{toWhat:"To publish",tasks:r.validationErrors}),s.default.createElement(m.DoneButton,{onClick:r.publish,disabled:!r.validToPublish,spinning:"publishing"===r.spinning,label:"Publish"}))})}}]),t}(),a.propTypes={$gameplay:c.default.object.isRequired,$composer:c.default.object.isRequired,isFirst:c.default.bool},a.defaultProps={isFirst:!1},n=o))||n)||n;t.default=E},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=f(r(1)),s=r(9),u=f(r(0)),c=f(r(36)),d=r(12);function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var m=(0,s.inject)("$gameplay","$composer")(n=(0,s.observer)((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=p(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.logic=function(){var e=n.props,t=e.$composer,r=e.$gameplay,a=t.draftAttrs.drawnCardGids.toJS();return{drawKinds:t.drawKinds,drawnCardGids:a,numCards:a.length,renderAsBondToCharacter:r.gsm.state.characters[t.bondToCharacterGid]}},p(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props,t=e.$gameplay,r=e.$composer,n=t.gsm,a=this.logic(),o="",i=n.state.characters[t.activeCharacterGid],s=function(e){return l.default.createElement("strong",null,n.prettyKind(e.kind)," (",e.polarity>0?"+":"-",")",e.toCharacter&&l.default.createElement("span",null," with ",e.toCharacter.name))};return o=a.numCards>1?l.default.createElement("div",null,l.default.createElement("p",null,"Youâve drawn ",a.numCards," cards:"),l.default.createElement("ul",null,a.drawKinds.map(function(e,t){return l.default.createElement("li",{key:t},"A ",s(e))})),l.default.createElement("p",null,"You can redraw to get different cards, but the ",l.default.createElement("em",null,"types")," of cards will remain the same.")):l.default.createElement("div",null,l.default.createElement("p",null,"Youâve drawn a ",s(a.drawKinds[0]),". You can redraw to get a different card but the ",l.default.createElement("em",null,"type")," of card will remain the same.")),(0,d.Activity)({scrollIntoView:!0,header:l.default.createElement("div",null,l.default.createElement("p",null,"Draw your card"),l.default.createElement("p",{className:"header-description"},i.noFirstBondYet?l.default.createElement("span",null,"Draw a card to establish a bond with another character in the story."):l.default.createElement("span",null,"Draw a new card to replace the card youâve already played."))),c
2ontent:l.default.createElement("div",null,o,l.default.createElement(c.default,{justify:"center",cards:a.drawnCardGids,renderAsBondToCharacter:a.renderAsBondToCharacter,padded:!0,autoAnimate:!0,holdNotYetDrawn:!r.hasDrawnYet,setDrawInProgress:r.setDrawInProgress})),footer:l.default.createElement(d.Footer,null,l.default.createElement(d.CancelButton,{onClick:r.discard}),r.hasDrawnYet?l.default.createElement(d.ActionButton,{bsStyle:"primary",onClick:r.redrawCards,spinning:r.drawInProgress,disabled:r.drawInProgress},"Draw again"):l.default.createElement(d.ActionButton,{bsStyle:"primary",onClick:r.firstDraw,spinning:r.drawInProgress,disabled:r.drawInProgress},"Draw"),l.default.createElement(d.DoneButton,{onClick:r.publish,spinning:"publishing"===r.spinning,label:a.numCards>1?"Choose these cards":"Choose this card",disabled:!r.validToPublish||!r.hasDrawnYet||r.drawInProgress}))})}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$composer:u.default.object.isRequired},n=o))||n)||n;t.default=m},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=p(r(1)),s=r(9),u=p(r(0)),c=p(r(36)),d=p(r(17)),f=r(12);function p(e){return e&&e.__esModule?e:{default:e}}var m=(0,s.inject)("$composer")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$composer,t=e.draftAttrs.chosenCardGids,r=[];d.default.cardKindDisplaySortOrder.forEach(function(e){t[e]&&r.push(t[e])});var n=l.default.createElement(f.Footer,null,l.default.createElement(f.CancelButton,{onClick:e.discard}),e.hasDrawnYet?l.default.createElement(f.ActionButton,{bsStyle:"primary",onClick:e.redrawCards,spinning:e.drawInProgress,disabled:e.drawInProgress},"Draw again"):l.default.createElement(f.ActionButton,{bsStyle:"primary",onClick:e.firstDraw,spinning:e.drawInProgress,disabled:e.drawInProgress},"Draw"),l.default.createElement(f.DoneButton,{onClick:e.publish,disabled:!e.validToPublish||!e.hasDrawnYet||e.drawInProgress,spinning:"publishing"===e.spinning,label:"Use these cards"}));return(0,f.Activity)({scrollIntoView:!0,header:l.default.createElement("div",null,l.default.createElement("p",null,"Draw scene cards"),l.default.createElement("p",{className:"header-description"},"Every scene starts with four randomly-drawn cards. These cards tell you and your fellow players where the scene occurs, what the scene is about, and and how things might turn out. Since itâs your turn to start the scene, youâre the one who gets to draw these cards. If you donât like these cards you can draw new ones using the button below.")),footer:n,content:l.default.createElement("div",null,l.default.createElement(c.default,{cards:r,padded:!0,autoAnimate:!0,holdNotYetDrawn:!e.hasDrawnYet,setDrawInProgress:e.setDrawInProgress}))})}}]),t}(),a.propTypes={$composer:u.default.object.isRequired},n=o))||n)||n;t.default=m},,function(e,t,r){},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=w(r(35)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=w(r(1)),u=r(9),c=w(r(0)),d=w(r(75)),f=w(r(34)),p=w(r(146)),m=r(12),h=w(r(217)),y=w(r(122)),g=w(r(93)),b=r(11),v=w(r(13));
2function w(e){return e&&e.__esModule?e:{default:e}}function E(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var k=(0,u.inject)("$gameplay","$composer","$authUser")(n=(0,u.observer)((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=E(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.confirmDiscard=function(){n.confirmModal.pop("Are you sure?","You will lose the contents of your move.").then(function(e){e&&n.props.$composer.discard()})},n.addDemoText=function(){"Mateo"===n.props.$authUser.name&&n.props.$composer.setBlurb("âThis is an inspection,â the megaphone blared. âAll citizens, come outside!â\n\nIn his classroom, Finlayâs blood froze. Another police inspection! That meant more people would disappear. Wasnât it bad enough that everyone in the village was slowly starving?\n\nThe megaphone rang out again. âStudents, outside, now!â\n\nHe looked at Merrill, sitting behind him, fear on her face. Mom and Dad told him to look out for her and that was what he was going to do.\n\nâThis is it,â he whispered. âWe have to go over the wall and try to find food and safety. It canât be worse than whatâs happening here, right?â Merrill nodded in agreement."),"Gabrielle"===n.props.$authUser.name&&n.props.$composer.setBlurb("Sitting next to Merrill, Cierra could hear what Finlay was saying. She knew he was right, and she didnât want to be left behind. After all, Merrill looked up to her, too!\n\nWithout thinking to keep her voice down, Cierra chimed in a little too loudly. âWe need to leave right now if weâre going to get over the wall before the police catch us!â\n\nEveryone in the classroom heard, and as the three of them went running out of the room half the kids followed them. Books dropped, kids yelled, and doors slammed. \n\nThe police must have heard that. Oops..."),"Anne"===n.props.$authUser.name&&n.props.$composer.setBlurb("The group ran as fast as they could. The police couldnât be far behind. Out of breath, they finally they reached the town wall. Finlay climbed up first and then reached down to help pull up Merrill and Cierra.\n\nThey had just reached the top when the police appeared. The remaining students cried out and rushed to climb the wall, but there was no time.\n\nMerrill was conflicted: she wanted to use her special ability to save the other students but she didnât know if she could control it. What if she hurt someone? Or worse yet, what would Finlay and Cierra say if they found out she was different?\n\nShe had no choice. Merrill held her tongue and jumped down the other side of the wall with her friends. Together they ran into the dark, misty forest beyond.")},n.demoTextHelper=function(){return s.default.createElement(v.default,{style:{float:"left"},onClick:n.addDemoText},s.default.createElement("i",{className:"fa fa-icon fa-plus-circle"}))},E(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=this,t=this.props.$gameplay,r=this.props.$composer,n=t.gsm,a=t.activeCharacter,o=r.draftAttrs.chosenCardGids,l=[];a.cards.forEach(function(e){l.push(n.state.cards[e])}),l=(0,i.default)(l,["name"]);var u=n.sceneSummary(n.highSceneId()),c=o.action&&n.state.cards[o.action],v=r.isTieBreaker&&[u.setbackCard,u.successCard],w=r.draftAttrs.tieBreaker>0?u.successCard:r.draftAttrs.tieBreaker<0&&u.setbackCard,E=!(!c||r.isTieBreaker&&!w);return(0,m.Activity)({scrollIntoView:!0,header:s.default.createElement("div",null,s.default.createElement("p",null,"Make your move"),s.default.createElement("p",{className:"header-description"},"When you make a move youâre adding to the story! Before you write, think about the sceneâs cards and read anything your fellow players have already written. Then, pick one of your own cards and use it to inspire your own writing.")),content:s.default.createElement("div",null,s.default.createElement("h4",null,"Choose one of your cards to play:"),s.default.createElement(h.default,{useCase:"mkPlayToChallenge",id:"mkPlayToChallengePicker",choices:l,selected:c,noDeselectAllowed:!0,onChange:function(e){return r.setCard("action",e&&e.gid)}}),r.draftAttrs.reactivatedRemovedCard&&s.default.createElement(b.Alert,{bsStyle:"danger",closeLabel:"close alert",onDismiss:r.dismissCardRemovedAlert},s.default.createElement("strong",null,"Heads up!")," When you started this move, you chose to write about the card â",r.draftAttrs.reactivatedRemovedCard.name,".â However, you no longer have this card in your hand! You need to choose a different card and update your move accordingly."),r.isAssuredTrend>0&&s.default.createElement("div",null,s.default.createElement("h4",null,"Whichever card you play, this scene will end with a"," ",s.default.createElement("strong",null,"success:")),s.default.createElement("div",{className:"text-center"},s.default.createElement(d.default,{card:u.successCard}))),r.isAssuredTrend<0&&s.default.createElement("div",null,s.default.createElement("h4",null,"Whichever card you play, this scene will end with a"," ",s.default.createElement("strong",null,"setback:")),s.default.createElement("div",{className:"text-center"},s.default.createElement(d.default,{card:u.setbackCard}))),r.isTieBreaker&&s.default.createElement("div",null,s.default.createElement("h4",null,"Playing this card will end the scene with a ",s.default.createElement("strong",null,"tie"),". Break the tie by choosing an outcome card!"),s.default.createElement(h.default,{useCase:"mkPlayToChallenge",id:"mkPlayToChallengePickerTieBreaker",choices:v,selected:w,noDeselectAllowed:!0,onChange:function(e){return r.setTieBreaker(e&&("ckSuccess"===e.kind?1:-1))}})),!r.isAssuredTrend&&!r.isTieBreaker&&r.isChallengeConclusion&&c&&r.draftedTrend>0&&s.default.createElement("div",null,s.default.createElement("h4",null,"Playing this card will end the scene with a"," ",s.default.createElement("strong",null,"success:")),s.default.createElement("div",{className:"text-center"},s.default.createElement(d.default,{card:u.successCard}))),!r.isAssuredTrend&&!r.isTieBreaker&&r.isChallengeConclusion&&c&&r.draftedTrend<0&&s.default.createElement("div",null,s.default.createElement("h4",null,"Playing this card will end the scene with a"," ",s.default.createElement("strong",null,"setback:")),s.default.createElement("div",{className:"text-center"},s.default.createElement(d.default,{card:u.setbackCard}))),r.isChallengeConclusion?r.draftedTrend>0?s.default.createElement("h4",{style:{lineHeight:1.4,paddingTop:"20px"}},"How does the Success card affect the story, and what does your character do?"):r.draftedTrend<0?s.default.createElement("h4",{style:{lineHeight:1.4,paddingTop:"20px"}},"How does the Setback card affect the story, and what does your character do?"):s.default.createElement("h4",{style:{lineHeight:1.4,paddingTop:"20px"}},"Once you choose a card, the sceneâs outcome will be determined. Then, tell us what happens."):s.default.createElement("h4",{style:{lineHeight:1.4,paddingTop:"20px"}},"What does your character do?"),E?s.default.createElement(y.default,{noBorder:!0,placeholder:"Click here and start writing...",autoFocus:!0,value:r.draftAttrs.blurb,onChange:function(e){r.setBlurb(e.target.value)}}):s.default.createElement(y.default,{noBorder:!0,disabled:!0,placeholder:"Choose a card first, then you can begin writing here...",value:r.draftAttrs.blurb,onChange:function(e){r.setBlurb(e.target.value)}}),n.state.isDemoHack&&this.demoTextHelper(),s.default.createElement(p.default,{text:r.draftAttrs.blurb}),s.default.createElement(f.default,{ref:function(t){e.confirmModal=t}})),footer:s.default.createElement(m.Footer,null,s.default.createElement(m.CancelButton,{onClick:this.confirmDiscard}),s.default.createElement(g.default,{toWhat:"To publish",tasks:r.validationErrors}),s.default.createElement(m.DoneButton,{onClick:r.publish,disabled:!r.validToPublish,spinning:"publishing"===r.spinning,label:"Publish"}))})}}]),t}(),a.propTypes={$gameplay:c.default.object.isRequired,$composer:c.default.object.isRequired,$authUser:c.default.object.isRequired},n=o))||n)||n;t.default=k},,function(e,t,r){},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=y(r(1)),s=r(9),u=y(r(0));r(634);var c=y(r(632)),d=y(r(629)),f=y(r(628)),p=y(r(627)),m=y(r(626)),h=y(r(625));function y(e){return e&&e.__esModule?e:{default:e}}var g=(0,s.inject)("$composer")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$composer;return e.isMkDrawSceneCards?l.default.createElement(d.default,null):e.isMkPlayToChallenge?l.default.createElement(c.default,null):e.isMkFlashback?l.default.createElement(m.default,null):e.isMkText?l.default.createElement(h.default,null):e.isMkDrawCharacterCards?l.default.createElement(f.default,null):!!e.isMkPlayToEpilogue&&l.default.createElement(p.default,{isFirst:e.isFirstEpiloguePlay})}}]),t}(),a.propTypes={$composer:u.default.object.isRequired},n=o))||n)||n;t.default=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=f(r(1)),s=r(9),u=f(r(0)),c=f(r(338)),d=f(r(126));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,s.inject)("$rtDraftStatuses","$gameplay")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$rtDraftStatuses,t=this.props.$gameplay.gsm;if(!t)return!1;var r={},n=e.nextMoveDraft;if(!n)return!1;var a=t.whoseTurn();return r.gid="move999999999",r.kind=n.kind,r.sceneId=t.highSceneId(),r.userPid=a.userPid,r.characterGid=a.characterGid,r.createdAtUnix=(0,d.default)(),r.cards=n.cards.length?n.cards:void 0,r.blurb={content:"just here to validate"},r.tieBreaker=n.tieBreaker,l.default.createElement(c.default,{fakeSocketMove:r,isSocketDraftPreview:!0})}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$rtDraftStatuses:u.default.object.isRequired},n=o))||n)||n;t.default=p},,function(e,t,r){},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=d(r(1)),s=r(9),u=d(r(0)),c=d(r(15));
2function d(e){return e&&e.__esModule?e:{default:e}}var f=(0,s.inject)("$gameplay")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$gameplay.gsm,t="string"==typeof this.props.card?e.state.cards[this.props.card]:this.props.card,r="ckBond"===t.kind&&(this.props.renderAsBondToCharacter||t.toCharacterGid&&e.state.characters[t.toCharacterGid]);return l.default.createElement("span",{style:{whiteSpace:"nowrap"}},l.default.createElement(c.default,{name:e.kindIcon(t.kind)})," ",1===t.polarity?l.default.createElement(c.default,{name:"plus-circle"}):-1===t.polarity?l.default.createElement(c.default,{name:"minus-circle"}):""," ",r&&l.default.createElement("span",null,r.name,"âs "),t.name)}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,card:u.default.any.isRequired,renderAsBondToCharacter:u.default.any},a.defaultProps={renderAsBondToCharacter:!1},n=o))||n)||n;t.default=f},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),i=s(r(1)),l=s(r(0));function s(e){return e&&e.__esModule?e:{default:e}}var u=(a=n=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.Component),o(t,[{key:"render",value:function(){var e=this,t=i.default.Children.count(this.props.children);return i.default.Children.map(this.props.children,function(r,n){return i.default.createElement("span",{key:n},r,n+1===t?"":n+1!==t-1||e.props.allCommas?", ":" and ")})}}]),t}(),n.propTypes={children:l.default.any.isRequired,allCommes:l.default.bool},n.defaultProps={allCommas:!1},a);t.default=u},,function(e,t,r){},,function(e,t,r){},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=E(r(1)),s=r(9),u=E(r(0)),c=E(r(338)),d=r(11),f=E(r(333)),p=E(r(635)),m=E(r(624)),h=E(r(622)),y=E(r(619)),g=E(r(618)),b=E(r(615)),v=E(r(614)),w=E(r(220));function E(e){return e&&e.__esModule?e:{default:e}}function k(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var _=(0,s.inject)("$gameplay","$composer")(n=(0,s.observer)((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=k(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.handlePaginate=function(e){n.props.$gameplay.redirects.navToScene(e-1)},k(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props,t=e.$gameplay,r=e.$composer,n=t.gsm,a=t.focusedSceneId,o=n.sceneSummary(a),i=0===a,s=n.state.scenes[a],u=r.composingOnScene(a)&&l.default.createElement(p.default,null),E=n.whoseTurn(),
2k=E.to&&E.characterGid===t.activeCharacterGid&&t.focusedSceneId!==n.highSceneId()&&l.default.createElement(d.Alert,null,"Heads up: itâs your turn. Go to the latest scene and make your move!"),_=!1;return t.highSceneId>0&&(_=l.default.createElement("div",{className:"text-center"},l.default.createElement(d.Pagination,{prev:!0,next:!0,first:!0,last:!0,ellipsis:!0,boundaryLinks:!0,items:t.highSceneId+1,maxButtons:5,activePage:a+1,onSelect:this.handlePaginate}),k)),l.default.createElement("div",{style:{paddingBottom:"50px"}},l.default.createElement(h.default,null),_,o.heading.epilogue?l.default.createElement("h3",null,"Epilogue"):l.default.createElement("h3",null,"Act ",o.heading.actNumber," Scene ",o.heading.sceneNumber),l.default.createElement("hr",{style:{paddingBottom:"20px"}}),!n.state.scenarioGid&&i&&l.default.createElement(y.default,null),!!n.state.scenarioGid&&l.default.createElement(v.default,{sceneId:a}),!!n.state.scenarioGid&&i&&l.default.createElement(y.default,null),s.moves.map(function(e){return l.default.createElement(c.default,{key:e.gid,move:e})}),o.finished&&o.heading.epilogue&&l.default.createElement(d.Well,{className:"text-center",style:{padding:"40px",backgroundColor:"#FFFFCC"}},l.default.createElement("h2",{style:{marginTop:"0"}},"The End"),l.default.createElement("p",{style:{marginBottom:"0"}},"You told a complete story and finished this game.",l.default.createElement("br",null),"Congratulations, you did it!")),l.default.createElement(g.default,null),l.default.createElement(f.default,null),l.default.createElement(w.default,{mode:"gameplay"}),u,_,l.default.createElement(m.default,null),l.default.createElement(b.default,null))}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$composer:u.default.object.isRequired},n=o))||n)||n;t.default=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=_(r(26)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=_(r(1)),u=_(r(0)),c=r(9),d=_(r(42)),f=_(r(147)),p=_(r(646)),m=_(r(613)),h=_(r(602)),y=_(r(601)),g=_(r(322)),b=_(r(591)),v=_(r(588)),w=r(12),E=_(r(63)),k=_(r(587));function _(e){return e&&e.__esModule?e:{default:e}}var C=(0,c.inject)("$gameplay","$router")(n=(0,c.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=this.props,t=e.$gameplay,r=e.$router,n=t.pageMode.value,a=t.gsm,o=r.route;t.authIsTeacher;if("gamePageModeNotFound"===n)return s.default.createElement(f.default,null);if("gamePageModeLoading"===n)return s.default.createElement(d.default,null);if("gamePageModeDeckEditor"===n)return s.default.createElement(m.default,null);if("gamePageModeDeckBrowser"===n)return s.default.createElement(h.default,null);if("gamePageModeCharacterSheet"===n){var l=void 0;if(o.captures.characterPathGid){var u=t.characterGidFromPathGid(o.captures.characterPathGid);l=(0,i.default)(a.state.characters,function(e){return e.gid===u})}else l=(0,i.default)(a.state.characters,function(e){return e.slug===o.captures.characterSlug});return l?s.default.createElement(v.default,{gid:l.gid}):s.default.createElement(f.default,null)}if("gamePageModeReadingScene"===n)return r.route.data.isTextView?s.default.createElement(k.default,null):s.default.createElement("div",null,s.default.createElement(g.default,{startOpen:!0,noToggle:!0}),s.default.createElement(p.default,null));if("gamePageModeChargen"===n)return s.default.createElement(y.default,null);if("gamePageModePreGameOrganizer"===n)return s.default.createElement("div",{"data-p":"game_page_pregame_organizer","data-slug":t.gsm.state.slug,"data-pid":t.gamePid},s.default.createElement(E.default,{id:"pregame-organizer"},"To set up your game, complete the steps in the"," ",s.default.createElement("strong",null,"Game setup")," section, below. The
2n, scroll down to the"," ",s.default.createElement("strong",null,"Invite players")," section and add students to the game."),s.default.createElement(g.default,{startOpen:!0,noToggle:!0}),s.default.createElement(b.default,null));if("gamePageModePreGameInvited"===n)return s.default.createElement(y.default,null);if("gamePageModePreGameNonmember"===n)return s.default.createElement("div",null,s.default.createElement(g.default,{startOpen:!0,noToggle:!0}),s.default.createElement(w.Standby,null,"Standby... the organizer is getting this game started."));throw new Error("unrecognized $gameplay.gamePageMode="+n)}}]),t}(),a.propTypes={$gameplay:u.default.object.isRequired,$router:u.default.object.isRequired},n=o))||n)||n;t.default=C},,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.forumMarkdownCached=t.playerMarkdownCached=t.narratorMarkdownCached=t.getFifoCached=t.forumMarkdown=t.playerMarkdown=t.narratorMarkdown=void 0;var n=o(r(653)),a=o(r(652));function o(e){return e&&e.__esModule?e:{default:e}}a.default.defaults.allowedAttributes.a.push("rel");var i=new n.default.Renderer;i.html=function(e){return""},i.heading=function(e,t){return"<h"+(t+2)+">
2"+e+"</h"+(t+2)+">"},i.table=function(e,t){return"<p>"+e+"</p><p>"+t+"</p>"},i.tablerow=function(e){return"<p>|"+e+"</p>"},i.tablecell=function(e,t){return e+" | "},i.image=function(e,t,r){return r};var l=new n.default.Renderer;l.html=function(e){return""},l.heading=function(e,t){return"<h"+(t+2)+">"+e+"</h"+(t+2)+">"},l.hr=function(){return"---"},l.table=function(e,t){return"<p>"+e+"</p><p>"+t+"</p>"},l.tablerow=function(e){return"<p>|"+e+"</p>"},l.tablecell=function(e,t){return e+" | "},l.image=function(e,t,r){return r};n.default.setOptions({gfm:!0,tables:!1,breaks:!0,pedantic:!1,sanitize:!1,smartLists:!1,smartypants:!0});var s=function(e){return e.replace(/^ *(#{1,6}) *([^\n]+?) *#* *(\n+|$)/gm,"$1 $2$3")};function u(e){return e.replace(/</g,"<")}l.link=i.link=function(e,t,r){var n='<a href="'+e+'"';return t&&(n+=' title="'+t+'"'),n+=' rel="nofollow" target="_new">'+r+"</a>"};var c=t.narratorMarkdown=function(e){return(0,a.default)((0,n.default)(s(u(e)),{renderer:i}))},d=(t.playerMarkdown=c,t.forumMarkdown=function(e){return(0,a.default)((0,n.default)(s(u(e)),{renderer:l}))}),f=t.getFifoCached=function(e,t,r){var n=[],a=[],o={},i=0,l=0;return t=t||4e3,r=r||3e5,function(s){if("string"!=typeof s&&(s=""),o[s])return n[o[s]-i];var u=e(s);for(n.push(u),a.push(s),o[s]=n.length-1+i,l+=u.length;n.length>t||l>r;){var c=n.shift(),d=a.shift();if(delete o[d],l-=c.length,++i>1e6){for(var f in o)o[f]=o[f]<i;i=0}}return u}},p=t.narratorMarkdownCached=f(c);t.playerMarkdownCached=p,t.forumMarkdownCached=f(d)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w,E,k,_,C=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),S=R(r(1)),P=r(9),O=R(r(42)),T=R(r(94)),j=R(r(13)),x=r(10),M=R(r(0)),z=R(r(147)),A=r(12),I=r(11),$=R(r(339)),D=R(r(15)),N=R(r(102));function R(e){return e&&e.__esModule?e:{default:e}}function B(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function U(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function G(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var F=(a=G((n=function e(t,r,n){var E=this;U(this,e),B(this,"vob",a,this),B(this,"loading",o,this),B(this,"nameInUrl",i,this),B(this,"loadedName",l,this),B(this,"notFound",s,this),B(this,"oops",u,this),B(this,"recurlyModalShowing",c,this),B(this,"switchPlanModalShowing",d,this),B(this,"switchPlanError",f,this),B(this,"spinning",p,this),B(this,"popRecurlyModal",m,this),B(this,"cancelRecurlyModal",h,this),B(this,"popSwitchPlans",y,this),this.cleanup=function(){E.disposer(),E.disposer=!1},B(this,"setVob",g,this),B(this,"load",b,this),this.saveEmail=function(e){return E.$v2Api.commonCall("post","/me/profile",{email:e+""},{noErrorModalIfSoftError:!0}).then(function(e){return E.setVob(e.data.vob),E.$authUser.importVob(e.data.vob),e}).catch(function(){})},this.saveBio=function(e){return E.$v2Api.commonCall("post","/me/profile",{bio:e+""},{noErrorModalIfSoftError:!0}).then(function(e){return E.setVob(e.data.vob),E.$authUser.importVob(e.data.vob),e}).catch(function(){})},B(this,"doSwitchPlans",v,this),B(this,"handlePlanChange",w,this),this.$v2Api=t,this.$router=r,this.$authUser=n,this.disposer=(0,x.reaction)(function(){return E.$router.route},function(e){"userProfileRoute"===e.name&&e.captures.name!==E.nameInUrl&&(E.nameInUrl=e.captures.name,E.loadedName=!1,E.loading=!1,E.vob=void 0,E.load())},{fireImmediately:!0})}).prototype,"vob",[x.observable],{enumerable:!0,initializer:null}),o=G(n.prototype,"loading",[x.observable],{enumerable:!0,initializer:null}),i=G(n.prototype,"nameInUrl",[x.observable],{enumerable:!0,initializer:null}),l=G(n.prototype,"loadedName",[x.observable],{enumerable:!0,initializer:null}),s=G(n.prototype,"notFound",[x.observable],{enumerable:!0,initializer:null}),u=G(n.prototype,"oops",[x.observable],{enumerable:!0,initializer:null}),c=G(n.prototype,"recurlyModalShowing",[x.observable],{enumerable:!0,initializer:null}),d=G(n.prototype,"switchPlanModalShowing",[x.observable],{enumerable:!0,initializer:null}),f=G(n.prototype,"switchPlanError",[x.observable],{enumerable:!0,initializer:null}),p=G(n.prototype,"spinning",[x.observable],{enumerable:!0,initializer:null}),m=G(n.prototype,"popRecurlyModal",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.recurlyModalShowing=!0}}}),h=G(n.prototype,"cancelRecurlyModal",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.recurlyModalShowing=!1,e.switchPlanModalShowing=!1,e.switchPlanError=!1}}}),y=G(n.prototype,"popSwitchPlans",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.switchPlanModalShowing=!0}}}),g=G(n.prototype,"setVob",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.vob=t}}}),b=G(n.prototype,"load",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(!e.loadedName&&!e.loading){var t=e.nameInUrl;e.loading=!0,e.$v2Api.commonCall("GET","/user/profile",{name:t},{noErrorModalOn4xx:!0}).then((0,x.action)(function(r){t===e.nameInUrl&&(e.loading=!1,e.loadedName=e.n
2ameInUrl,e.notFound=!1,e.vob=r.data.vob)})).catch((0,x.action)(function(r){t===e.nameInUrl&&(e.loading=!1,e.loadedName=e.nameInUrl,e.notFound=!1,e.oops=!1,e.vob=void 0,r&&404===r.status?e.notFound=!0:e.oops=!0)}))}}}}),v=G(n.prototype,"doSwitchPlans",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.spinning=!0,e.$v2Api.commonCall("post","/membership/change_plan",{},{noErrorModalIfSoftError:!0,minLatency:1e3}).then(e.handlePlanChange,e.handlePlanChange)}}}),w=G(n.prototype,"handlePlanChange",[x.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.spinning=!1,t&&t.data&&t.data.success&&(e.setVob(t.data.me),e.$authUser.importVob(t.data.me),e.cancelRecurlyModal()),t&&t.data&&t.data.soft_error&&(e.switchPlanError=t.data.soft_error)}}}),n),q=(0,P.inject)("$v2Api","$authUser","$router")(E=(0,P.observer)((_=k=function(e){function t(e){U(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.store=new F(r.props.$v2Api,r.props.$router,r.props.$authUser),r.store.load(),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,S.default.Component),C(t,[{key:"componentWillUnmount",value:function(){this.store.cleanup()}},{key:"render",value:function(){var e=this,t=this.store,r=this.props.$authUser;if(t.oops)return!1;if(!t.loadedName)return S.default.createElement(O.default,null);if(t.notFound)return S.default.createElement(z.default,null);var n=t.vob,a=r.pid===n.pid,o=new Date(1e3*n.joined_unix).toLocaleDateString("en-US"),i=!!r.recurly_hosted_login_token&&(0,N.default)("https://"+window.globalConfigFromServer.RECURLY_SUBDOMAIN+".recurly.com/account/"+r.recurly_hosted_login_token).toString(),l="trial"===n.subscription_status,s=l&&new Date(1e3*n.free_trial_ends_at_unix).toLocaleDateString("en-US"),u=function(e){return"storiumedu_monthly"===e?"StoriumEdu Monthly":"storiumedu_annual"===e?"StoriumEdu Annual":""},c="storiumedu_monthly"===n.recurly_plan_code&&!n.recurly_plan_change_pending||"storiumedu_monthly"===n.recurly_plan_change_pending,d="storiumedu_annual"===n.recurly_plan_code&&!n.recurly_plan_change_pending||"storiumedu_annual"===n.recurly_plan_change_pending,f=!1;return t.recurlyModalShowing&&(f=S.default.createElement(I.Modal,{show:!0,onHide:t.cancelRecurlyModal},S.default.createElement(I.Modal.Header,{closeButton:!0},"About Recurly, our payment provider"),S.default.createElement(I.Modal.Body,null,S.default.createElement("p",null,"You will now be redirected to Recurlyâs site (",window.globalConfigFromServer.RECURLY_SUBDOMAIN,".recurly.com) to view and manage your subscription details. StoriumEdu uses Recurly to securely handle your billing. You can update your billing information, cancel your subscription, and view your past payment history."),S.default.createElement("p",null,"You can contact us at any time at"," ",S.default.createElement(j.default,{href:"mailto:[email protected]"},"[email protected]")," ","if you have questions or need assistance.")),S.default.createElement(I.Modal.Footer,null,S.default.createElement(A.Footer,null,S.default.createElement(A.ActionButton,{href:i,onClick:t.cancelRecurlyModal,target:"_recurly"},"Continue to Recurly"))))),t.switchPlanModalShowing&&(d&&(f=S.default.createElement(I.Modal,{show:!0,onHide:t.cancelRecurlyModal},S.default.createElement(I.Modal.Header,{closeButton:!0},"Switch to monthly billing"),S.default.createElement(I.Modal.Body,null,t.switchPlanError&&S.default.createElement(I.Alert,{bsStyle:"danger"},"There was a temporary problem initiating a change to your subscription plan. If this problem persists, please contact us at"," ",S.default.createElement(j.default,{href:"mailto:[email protected]"},"[email protected]")," ","for assistance. Our apologies for the inconvenience."),S.default.createElement("p",null,"This action will change your plan from annual to monthly billing. It will take effect once your current planâs billing cycle is completed, on"," ",new Date(1e3*n.recurly_current_period_ends_at_unix).toLocaleDateString("en-US"),". At that point you will be charged according to the new planâs rate and billing frequency. of $20/month.")),S.default.createElement(I.Modal.Footer,null,S.default.createElement(A.Footer,null,S.default.createElement(A.CancelButton,{onClick:t.cancelRecurlyModal}),S.default.createElement(A.ActionButton,{onClick:t.doSwitchPlans,spinning:t.spinning},"Confirm plan change"))))),c&&(f=S.default.createElement(I.Modal,{show:!0,onHide:t.cancelRecurlyModal},S.default.createElement(I.Modal.Header,{closeButton:!0},"Switch to annual billing"),S.default.createElement(I.Modal.Body,null,S.default.createElement("p",null,"This action will change your plan from monthly to annual billing. It will take effect once your current planâs billing cycle is completed, on"," ",new Date(1e3*n.recurly_current_period_ends_at_unix).toLocaleDateString("en-US"),". At that point you will be charged according to the new planâs rate and billing frequency of $175/year.")),S.default.createElement(I.Modal.Footer,null,S.default.createElement(A.Footer,null,S.default.createElement(A.CancelButton,{onClick:t.cancelRecurlyModal}),S.default.createElement(A.ActionButton,{onClick:t.doSwitchPlans,spinning:t.spinning},"Confirm plan change")))))),S.default.createElement("div",null,f,S.default.createElement("h2",null,S.default.createElement(D.default,{name:"user",style:{marginRight:"20px"}})," ",n.name),S.default.createElement("hr",null),S.default.createElement($.default,{ref:function(t){return e.bioEditor=t}
2,heading:"Edit your bio",blurb:S.default.createElement("div",null,S.default.createElement("p",null,"You can optionally write a short bio that other teachers can read when they view your profile page. This is only relevant if you decide to share any of your storyworlds with other teachers in StoriumEduâs library. If you want to provide public contact information, this is a good place to do it. 100 words maximum.")),inputType:"textarea",maxWords:100,originalValue:n.description,onSave:this.store.saveBio}),S.default.createElement($.default,{ref:function(t){return e.emailEditor=t},heading:"Change your email address",blurb:S.default.createElement("div",null,S.default.createElement("p",null,"We use your email address to contact you about your account and other important news.")),inputType:"email",maxLen:300,required:!0,originalValue:n.email,onSave:this.store.saveEmail,softErrors:{email_unavailable:"An account with that email address already exists."}}),S.default.createElement(I.Panel,{header:S.default.createElement("div",null,S.default.createElement("h4",{className:"nom"},"Public profile"),a&&S.default.createElement("p",{style:{fontWeight:"normal",fontSize:"80%",margin:"10px 0 0 0"}},"This is information that other teachers on StoriumEdu can see."))},S.default.createElement(I.Row,{style:{marginBottom:"20px"}},S.default.createElement(I.Col,{xs:12,sm:2},"Joined:"),S.default.createElement(I.Col,{xs:12,sm:10},o)),S.default.createElement(I.Row,null,S.default.createElement(I.Col,{xs:12,sm:2},"Bio:"),S.default.createElement(I.Col,{xs:12,sm:10},n.description?S.default.createElement("div",null,a&&S.default.createElement("div",{style:{float:"right"}},S.default.createElement(A.ActionButton,{icon:"pencil",onClick:function(){e.bioEditor.open()},style:{margin:"0 0 10px 10px"}},"Edit")),S.default.createElement(T.default,{blurb:{content:n.description}})):a?S.default.createElement(A.ActionButton,{icon:"plus",onClick:function(){e.bioEditor.open()}},"Add a bio"):S.default.createElement("p",null,S.default.createElement("em",null,"This user has not yet added a bio."))))),a&&S.default.createElement(I.Panel,{header:S.default.createElement("div",null,S.default.createElement("h4",{className:"nom"},"Your account"),S.default.createElement("p",{style:{fontWeight:"normal",fontSize:"80%",margin:"10px 0 0 0"}},"This is information that only you can see."))},S.default.createElement(I.Row,{style:{marginBottom:"20px"}},S.default.createElement(I.Col,{xs:12,sm:2},"Email:"),S.default.createElement(I.Col,{xs:12,sm:10},n.email," (",S.default.createElement(j.default,{onClick:function(){e.emailEditor.open()}},"Change"),")",n.email_verification_required&&S.default.createElement("p",null,S.default.createElement("strong",null,"Verification email sent â please check your email and click the included link.")))),S.default.createElement(I.Row,{style:{marginBottom:"20px"}},S.default.createElement(I.Col,{xs:12,sm:2},"Password:"),S.default.createElement(I.Col,{xs:12,sm:10},"******** (",S.default.createElement(j.default,{to:"/reset/current_password"},"Change"),")")),window.globalConfigFromServer.RECURLY_ENABLED&&S.default.createElement(I.Row,{style:{marginBottom:"20px"}},S.default.createElement(I.Col,{xs:12,sm:2},"Subscription:"),S.default.createElement(I.Col,{xs:12,sm:10},"exempt"===n.subscription_status?S.default.createElement("div",null,S.default.createElement("p",null,"Active â Free (unlimited)"),S.default.createElement("p",null,"Your account is exempt from payment requirements for membership. Enjoy!")):"subscribed"===n.subscription_status?S.default.createElement("div",null,S.default.createElement("p",null,"Active â ",u(n.recurly_plan_code),n.autorenewal_cancelled&&S.default.createElement("span",null," ","(automatic renewal has been cancelled, this subscription will expire at the end of the current term)"),n.recurly_plan_change_pending&&S.default.createElement("span",null," ","(plan will change to"," ",u(n.recurly_plan_change_pending)," at next billing cycle)")),S.default.createElement("p",null,S.default.createElement(j.default,{onClick:t.popRecurlyModal},"View subscription details")),c&&S.default.createElement("p",null,S.default.createElement(j.default,{onClick:t.popSwitchPlans},"Switch to annual billing for a discounted rate")),d&&S.default.createElement("p",null,S.default.createElement(j.default,{onClick:t.popSwitchPlans},"Switch to monthly billing"))):l?S.default.createElement("div",null,S.default.createElement("p",null,"Active â Free trial"),S.default.createElement("p",null,"Your trial is valid through ",s,". After that date, if you choose not to subscribe, you and your students will still be able to login and view your content but you will be unable to play."),S.default.createElement(A.ActionButton,{href:"/subscribe"},"Subscribe now")):S.default.createElement("div",null,"trial_expired"===n.subscription_status?S.default.createElement("div",null,S.default.createElement("p",{style:{color:"#ff0000"}},"Expired (free trial ended)"),S.default.createElement("p",null,"Your free trial has ended. You and your students can login and view your existing games, but you will be unable play again until you subscribe to StoriumEdu.")):S.default.createElement("div",null,S.default.createElement("p",{style:{color:"#ff0000"}},"Expired"),S.default.createElement("p",null,"Your subscription has expired. You and your students can login and view existing games, but you will be unable to play again until your renew your subscription.")),i?S.default.createElement("div",null,S.default.createElement("p",null,S.default.createElement(j.default,{onClick:t.popRecurlyModal},"View prior subscription details")),S.default.createElement(A.ActionButton,{href:"/subscribe"},"Re-subscribe now")):S.default.createElement(A.ActionButton,{href:"/subscribe"},"Subscribe now"))))),n.ax&&S.default.createElement(I.Panel,{header:"admin details"},S.default.createElement("pre",null,JSON.stringify(n.ax,null,2))))}}]),t}(),k.propTypes={$v2Api:M.default.object.isRequired,$authUser:M.default.object.isRequired,$router:M.default.object.isRequired},k.defaultProps={},E=_))||E)||E;t.default=q},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0});var n=i(r(1)),a=i(r(13)),o=r(11);function i(e){return e&&e.__esModule?e:{default:e}}t.default=function(){return n.default.createElement("div",{id:"t__logged_out"},n.default.createElement(o.Row,null,n.default.createElement(o.Col,{sm:4,smPush:6,className:"text-center",style:{marginBottom:"20px"}},n.default.createElement(o.Button,{block:!0,bsStyle:"info",bsSize:"large",componentClass:a.default,href:"/login"},"Log in")),n.default.createElement(o.Col,{sm:6,smPull:4},n.default.createElement(o.Panel,{header:"StoriumEDU Beta"},n.default.createElement("p",null,"Welcome to a special invitation-only beta test of StoriumEDU. If youâve been provided with an account you can log in now.")))))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),c=b(r(1)),d=r(11),f=r(12),p=r(10),m=b(r(13)),h=r(9),y=b(r(0)),g=b(r(344));b(r(15));function b(e){return e&&e.__esModule?e:{default:e}}function v(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function w(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function E(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var k=(0,h.inject)("$authUser")(n=(0,h.observer)((s=l=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,l=Array(a),s=0;s<a;s++)l[s]=arguments[s];return r=n=w(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),v(n,"showModal",o,n),v(n,"toggleModal",i,n),w(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,c.default.Component),u(t,[{key:"render",value:function(){var e=this.props.$authUser;if(!e||!e.email_verification_required)return!1;var t=e.email,r=e.email_verification_initial;return c.default.createElement("div",{"data-p":"email-verification-nag-box"},this.showModal&&c.default.createElement(d.Modal,{show:!0,onHide:this.toggleModal},c.default.createElement(d.Modal.Header,{closeButton:!0},"About email verification"),c.default.createElement(d.Modal.Body,null,c.default.createElement("p",null,"Weâve sent an email to ",c.default.createElement("strong",null,t)," with an included link. Clicking it will verify that you can successfully receive email from StoriumEdu, which is critical for your accountâs security."),c.default.createElement("p",null,"If the email address shown above is incorrect, you can change it from your"," ",c.default.createElement(m.default,{to:"/user/"+e.slug},"profile page"),". You can also request another verification email using the button below:"),c.default.createElement(g.default,null),c.default.createElement("p",null,"If you do not receive the email within 10 minutes, you may need to check with your schoolâs IT administrator to ensure email from storiumedu.com is not blocked or being flagged as spam."),c.default.createElement("p",null,"Please contact"," ",c.default.createElement(m.default,{to:"mailto:[email protected]"},"[email protected]")," ","for further assistance.")),c.default.createElement(d.Modal.Footer,null,c.default.createElement(f.Footer,null,c.default.createElement(f.DoneButton,{label:"Ok",bsStyle:"info",onClick:this.toggleModal})))),c.default.createElement(d.Panel,{header:c.default.createElement("span",null,r?"Please verify your email address ":"Please verify your email address"),bsStyle:"info"},r?c.default.createElement("p",null,"Weâve sent an email to ",c.default.createElement("strong",null,t)," â please click the included link to complete your registration."," ",c.default.createElement(m.default,{onClick:this.toggleModal,"data-p":"open-email-verification-info-modal-link"},"Click here for help with email verification.")):c.default.createElement("p",null,"Weâve sent an email to ",c.default.createElement("strong",null,t)," â please click the included link to finish updating your email address."," ",c.default.createElement(m.default,{onClick:this.toggleModal},"Click here for help with email verification."))))}}]),t}(),l.propTypes={$authUser:y.default.object.isRequired},o=E((a=s).prototype,"showModal",[p.observable],{enumerable:!0,initializer:function(){return!1}}),i=E(a.prototype,"toggleModal",[p.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.showModal=!e.showModal}}}),n=a))||n)||n;t.default=k},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=y(r(37)),l=y(r(27)),s=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),u=y(r(1)),c=r(0),d=r(9),f=y(r(81)),p=r(12),m=y(r(13)),h=r(11);function y(e){return e&&e.__esModule?e:{default:e}}r(219);var g=(0,d.inject)("$dashboard","$router","$gameplay","$tabMemory")(n=(0,d.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,u.default.Component),s(t,[{key:"render",value:function(){var e=this.props.$router,t=this.props.$dashboard,r=t.dashboard,n=this.props.$gameplay,a=this.props.$tabMemory,o=r.decks;if(!t.ready)return u.default.createElement("p",null,"Loading...");var s=(0,l.default)((0,i.default)(o),function(e){return e.vob_is_personalized&&e.is_own&&e.deck_is_highest_version}),c=(0,l.default)((0,i.default)(o),function(e){return r.available_decks_pid_list.indexOf(e.gamePid)>=0});return u.default.createElement("div",{"data-p":"your_decks",id:"t__your_decks"},u.default.createElement("div",{key:"homepage_decks","data-p":"group_homepage_decks"},u.default.createElement("div",{className:"flex-row-justify"},u.default.createElement("h2",{style:{marginBottom:0,marginTop:0},"data-p":"group_h2"},u.default.createElement("span",{className:"fa fa-globe",style:{width:"50px"}}),"Your storyworlds"),u.default.createElement(p.ActionButton,{"data-p":"create_deck_btn",label:"Create a storyworld",onClick:n.gameCreation.createNewDeckAndRedirect,spinning:n.gameCreation.creatingDeckSpinning})),u.default.createElement("hr",{style:{marginTop:"5px",marginBottom:"30px"}}),u.default.createElement("p",{style:{paddingBottom:"20px"}},"From this page you can create and edit your storyworlds, add them to your classrooms so your students can use them, and even share them with other teachers.")),u.default.createElement(h.Tabs,{activeKey:a.selectedTab("manageStoryworlds","own"),onSelect:a.setSelectedTabFn("manageStoryworlds"),animation:!1,id:"manage-storyworlds-tabs"},u.default.createElement("div",{className:"mb20"}),u.default.createElement(h.Tab,{eventKey:"own",title:u.default.createElement("span",{"data-p":"your-storyworlds-tab-title"},"Your storyworlds")},u.default.createElement("div",{"data-p":"your-storyworlds-tab-content"},u.default.createElement("p",{style:{paddingBottom:"20px"}},"This is the list of storyworlds you have created from scratch or copied from the library. Any storyworlds that are published can be added to your classrooms. Storyworlds youâve created from scratch can also be shared with other teachers."),0===s.length&&u.default.createElement("p",null,u.default.createElement("em",null,"You havenât created any storyworlds yet.")),s.length>0&&s.map(function(e){return u.default.createElement("div",{style:{paddingBottom:"10px"},key:e.pid},u.default.createElement(f.default,{vob:e,link:!0}))}))),u.default.createElement(h.Tab,{eventKey:"classrooms",title:u.default.createElement("span",{"data-p":"classroom-storyworlds-tab-title"},"Classroom storyworlds")},u.default.createElement("div",{"data-p":"classroom-storyworlds-tab-content"},u.default.createElement("p",{style:{paddingBottom:"20px"}},"This is the list of storyworlds your students see as choices when they start a game. To remove a storyworld from this list, click on it and then click the âRemove from classroomsâ button."),u.default.createElement("p",{style:{paddingBottom:"20px"}},"Looking for storyworlds for your students to play?"," ",u.default.createElement(m.default,{to:e.toPath("libraryBrowserRoute")},"Browse the library"),"."),0===c.length&&u.default.createElement("p",null,u.default.createElement("em",null,"You havenât added any storyworlds to your classrooms yet.")),c.length>0&&c.map(function(e){return u.default.createElement("div",{style:{paddingBottom:"10px"},key:e.pid},u.default.createElement(f.default,{vob:e,link:!0,versionUpgradeOverlays:!0}))}
2)))))}}]),t}(),a.propTypes={$dashboard:c.PropTypes.object.isRequired,$gameplay:c.PropTypes.object.isRequired,$tabMemory:c.PropTypes.object.isRequired,$router:c.PropTypes.object.isRequired},n=o))||n)||n;t.default=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=m(r(37)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=m(r(1)),u=r(0),c=r(9),d=r(11),f=m(r(81));r(12),m(r(13));r(219);var p=m(r(220));function m(e){return e&&e.__esModule?e:{default:e}}var h=(0,c.inject)("$sdb","$authUser","$gameplay")(n=(0,c.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=this.props.$sdb,t=e.sdb,r=(this.props.$authUser,this.props.$gameplay,[]),n=[];if(!e.ready)return s.default.createElement("p",null,"Loading...");var a=(0,i.default)(t.games),o=0===a.length;return o||(a.forEach(function(e){return"phaseGameCompleted"===e.phase&&r.push(e)}),a.forEach(function(e){return"phaseGameCompleted"!==e.phase&&n.push(e)})),s.default.createElement("div",null,o&&s.default.createElement("div",{"data-p":"blank_dashboard"},s.default.createElement("div",{className:"flex-row-justify"},s.default.createElement("h2",{style:{marginBottom:0,marginTop:0}},"Welcome!")),s.default.createElement("hr",{style:{marginTop:"5px",marginBottom:"30px"}}),s.default.createElement("p",{style:{paddingBottom:"10px"}},"StoriumEDU turns writing into an online game you play with friends."),s.default.createElement("p",{style:{paddingBottom:"10px"}},"If your teacher has asked you to start a game, click âStart a game.â"),s.default.createElement("p",{style:{paddingBottom:"10px"}},"Or, if another student is creating the game just hang on â it will appear right here as soon as they invite you!")),!o&&s.default.createElement("div",{"data-p":"your_games",id:"t__your_games"},s.default.createElement("div",{key:"homepage_customized",style:{marginBottom:80},"data-p":"group_homepage_customized"},s.default.createElement("div",{className:"flex-row-justify"},s.default.createElement("h2",{style:{marginBottom:0,marginTop:0},"data-p":"group_h2"},"Your games")),s.default.createElement("hr",{style:{marginTop:"5px",marginBottom:"30px"}}),s.default.createElement("p",{style:{paddingBottom:"20px"}},"This is a list of the games youâre playing or have already played."),s.default.createElement(p.default,{mode:"your_games"}),s.default.createElement(d.Tabs,{id:"t__games_tabs",defaultActiveKey:1},s.default.createElement(d.Tab,{eventKey:1,title:"Playing",style:{marginTop:"20px"}},0==n.length&&s.default.createElement("p",{"data-p":"no_games_blurb"},s.default.createElement("em",null,"You arenât playing any games yet.")),n.length>0&&n.map(function(t){return s.default.createElement("div",{style:{paddingBottom:"10px"},key:t.gamePid},s.default.createElement(f.default,{vob:t,link:!0,yourTurnHighlight:e.yourTurnForGamePids[t.game_pid]}))})),s.default.createElement(d.Tab,{eventKey:2,title:"Completed",style:{marginTop:"20px"}},0==r.length&&s.default.createElement("p",{"data-p":"no_games_blurb"},s.default.createElement("em",null,"You havenât completed any games yet.")),r.length>0&&r.map(function(t){return s.default.createElement("div",{style:{paddingBottom:"10px"},key:t.game_pid},s.default.createElement(f.default,{vob:t,link:!0,yourTurnHighlight:e.yourTurnForGamePids[t.game_pid]}))}))))))}}]),t}(),a.propTypes={$sdb:u.PropTypes.object.isRequired,$authUser:u.PropTypes.object.isRequired,$gameplay:u.PropTypes.object.isRequired},n=o))||n)||n;t.default=h},,,function(e,t,r){},,,,,,,,,,,,,,,,,function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=y(r(37)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=y(r(1)),u=r(0),c=r(9),d=r(11),f=y(r(81)),p=r(12),m=y(r(34)),h=y(r(13));function y(e){return e&&e.__esModule?e:{default:e}}function g(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}r(219);var b=(0,c.inject)("$dashboard","$authUser","$tabMemory")(n=(0,c.observer)((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=g(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.showPleaseCreateClassroom=function(){n.confirmModal.pop("First, create a classroom",s.default.createElement("p",null,"StoriumEDU games belong to classrooms â visit your ",s.default.createElement(h.default,{href:"/classrooms"},"classrooms page")," to create a one first, then youâll be able to choose it as the home for new games."),{cancelOnly:!0})},g(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default.Component),l(t,[{key:"render",value:function(){var e=this,t=this.props.$dashboard,r=t.dashboard,n=this.props.$authUser,a=this.props.$tabMemory,o=r.games,l=[],u=[],c=[];if(!t.ready)return s.default.createElement("p",null,"Loading...");Object.keys(o).forEach(function(e){return"phaseGamePlaying"===o[e].phase&&u.push(o[e])}),Object.keys(o).forEach(function(e){return("phaseGameNew"===o[e].phase||"phaseGameAlmostReady"===o[e].phase||"phaseGameReady"===o[e].phase)&&l.push(o[e])}),Object.keys(o).forEach(function(e){return"phaseGameCompleted"===o[e].phase&&c.push(o[e])});var h=0===o.length,y=n.is_teacher&&!!(0,i.default)(t.dashboard.classrooms).length;return s.default.createElement("div",{"data-p":"your_games",id:"t__your_games"},s.default.createElement(m.default,{ref:function(t){return e.confirmModal=t}}),s.default.createElement("div",{key:"games",style:{marginBottom:80},"data-p":"group_games"},s.default.createElement("div",{className:"flex-row-justify"},s.default.createElement("h2",{style:{marginBottom:0,marginTop:0},"data-p":"group_h2"},s.default.createElement("span",{className:"fa fa-list",style:{width:"50px"}}),"Your games"),n.is_teacher&&!y&&s.default.createElement(p.ActionButton,{"data-p":"create_game_btn",label:"Start a game",onClick:this.showPleaseCreateClassroom}),n.is_teacher&&y&&s.default.createElement(p.ActionButton,{"data-p":"create_game_btn",label:"Start a game",href:"/game/new"})),s.default.createElement("hr",{style:{marginTop:"5px",marginBottom:"30px"}}),s.default.createElement("p",{style:{paddingBottom:"20px"}},"Every game on StoriumEDU is its own story written by the students playing it. This view shows all the games across all your classrooms."),h&&s.default.createElement("p",{"data-p":"no_games_blurb"},s.default.createElement("em",null,"Your students donât have any games yet.")),!h&&s.default.createElement(d.Tabs,{id:"your_games_tabs",activeKey:a.selectedTab("manageGames","activeGames"),onSelect:a.setSelectedTabFn("manageGames")},s.default.createElement(d.Tab,{eventKey:"activeGames",title:"Active",style:{marginTop:"20px"},tabClassName:"t__active_games_table"},0===u.length&&s.default.createElement("p",{"data-p":"no_games_blurb",style:{paddingTop:"10px"}},s.default.createElement("em",null,"Your students donât have any active games right now.")),u.length>0&&u.map(function(e){return s.default.createElement("div",{style:{paddingBottom:"10px"},key:e.pid},s.default.createElement(f.default,{vob:e,link:!0,onDeleted:t.removeGame,deleteLink:!0,showGameClassAndPlayers:!0}))}
2)),s.default.createElement(d.Tab,{eventKey:"pendingGames",title:"Pending",style:{marginTop:"20px"},tabClassName:"t__pending_games_tab"},0===l.length&&s.default.createElement("p",{"data-p":"no_games_blurb",style:{paddingTop:"10px"}},s.default.createElement("em",null,"Your students donât have any pending games right now.")),l.length>0&&l.map(function(e){return s.default.createElement("div",{style:{paddingBottom:"10px"},key:e.pid},s.default.createElement(f.default,{vob:e,link:!0,onDeleted:t.removeGame,deleteLink:!0,showGameClassAndPlayers:!0}))})),s.default.createElement(d.Tab,{eventKey:"completedGames",title:"Completed",style:{marginTop:"20px"},tabClassName:"t__completed_games_tab"},s.default.createElement("div",{"data-p":"your_games"},0===c.length&&s.default.createElement("p",{"data-p":"no_games_blurb",style:{paddingTop:"10px"}},s.default.createElement("em",null,"Your students donât have any completed games yet.")),c.length>0&&c.map(function(e){return s.default.createElement("div",{style:{paddingBottom:"10px"},key:e.pid},s.default.createElement(f.default,{vob:e,link:!0,onDeleted:t.removeGame,deleteLink:!0,showGameClassAndPlayers:!0}))}))))))}}]),t}(),a.propTypes={$dashboard:u.PropTypes.object.isRequired,$authUser:u.PropTypes.object.isRequired,$tabMemory:u.PropTypes.object.isRequired},n=o))||n)||n;t.default=b},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=m(r(1)),s=r(9),u=r(12),c=r(11),d=m(r(13)),f=m(r(0)),p=m(r(123));function m(e){return e&&e.__esModule?e:{default:e}}var h=(0,s.inject)("$dashboard")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$dashboard,t=e.dashboard,r=t.students,n=t.classrooms,a=[];if(!e.ready)return l.default.createElement("p",null,"Loading...");Object.keys(r).forEach(function(e){return a.push(r[e])});window&&window.g.headlessNoAnimateModals;return l.default.createElement("div",{style:{marginBottom:80}},l.default.createElement("div",{className:"flex-row-justify"},l.default.createElement("h2",{style:{marginBottom:0,marginTop:0},id:"t__your_students","data-p":"your_students"},l.default.createElement("span",{className:"fa fa-users",style:{width:"50px"}}),"Your students"),l.default.createElement(u.ActionButton,{id:"t__create_student_btn",label:"Add a student","data-p":"create_student_btn"})),l.default.createElement("hr",{style:{marginTop:5,marginBottom:20}}),l.default.createElement("p",{style:{paddingBottom:"20px"}},"Every student gets their own account, which enables them to log into StoriumEdu and start or play games. This view shows all of your students across all your classrooms."),l.default.createElement(c.Table,{striped:!0,bordered:!0,"data-p":"students_table"},l.default.createElement("thead",null,l.default.createElement("tr",null,l.default.createElement("th",
2null,"Name"),l.default.createElement("th",null,"Classroom"),l.default.createElement("th",null,"Last active"))),l.default.createElement("tbody",null,a.map(function(e){return l.default.createElement("tr",{key:e.pid},l.default.createElement("td",null,l.default.createElement(d.default,{"data-p":"student_name"},e.name)),l.default.createElement("td",null,l.default.createElement(d.default,{href:"/classroom/"+e.classroom_pid},n[e.classroom_pid].name)),l.default.createElement("td",null,e.last_active_unix&&(0,p.default)(Date.now(),1e3*e.last_active_unix),!e.last_active_unix&&l.default.createElement("span",null,"Not yet")))}))))}}]),t}(),a.propTypes={$dashboard:f.default.object.isRequired},n=o))||n)||n;t.default=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=f(r(1)),s=r(9),u=r(12),c=r(11),d=f(r(0));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,s.inject)("$classrooms")(n=(0,s.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$classrooms;if(!e.loaded)return!1;var t=!(window&&window.g.headlessNoAnimateModals);return l.default.createElement("div",{style:{marginBottom:80}},l.default.createElement("div",{className:"flex-row-justify"},l.default.createElement("h2",{style:{marginBottom:0,marginTop:0},id:"t__your_classrooms"},l.default.createElement("span",{className:"fa fa-graduation-cap",style:{width:"50px"}}),"Your classrooms"),l.default.createElement(u.ActionButton,{id:"t__create_classroom_btn",onClick:e.popCreateClassroomModal,label:"Create a classroom"})),l.default.createElement("hr",{style:{marginTop:5,marginBottom:20}}),l.default.createElement("p",{style:{paddingBottom:"20px"}},"Classrooms are virtual spaces where students play and learn together. Students who share the same classroom can play together and read each otherâs stories."),l.default.createElement(c.ListGroup,{id:"t__classrooms_list"},e.classrooms.map(function(e){return l.default.createElement(c.ListGroupItem,{key:e.pid,"data-t-pid":e.pid,className:"flex-row-justify"},l.default.createElement("span",{className:"t__classroom_name"},e.name),l.default.createElement(u.ActionButton,{className:"t__manage_class_btn","data-pid":e.pid,bsStyle:"default",href:"/classroom/"+e.pid,label:"Manage"}))}),0===e.classrooms.length&&l.default.createElement("span",null,l.default.createElement("em",null,"You donât have any classrooms yet. You need at least one classroom to use StoriumEdu, so create one now!"))),l.default.createElement(c.Modal,{animation:t,keyboard:!1,backdrop:"static",show:"createClassroom"===e.showModal,onHide:e.clearModal},l.default.createElement(c.Modal.Header,{closeButton:!0},"Create a classroom"),l.default.createElement(c.Modal.Body,null,l.default.createElement("p",null,"Please choose a name for this classroom (e.g. âMr. Hoodâs 3rd Period Englishâ)."),e.softError&&l.default.createElement(c.Alert,{bsStyle:"danger","data-p":"soft_error"},e.softError),l.default.createElement("form",{onSubmit:function(t){t.preventDefault(),e.mainValueHasContent&&e.doCreateClassroom()},className:"form-grid"},l.default.createElement("div",{className:"left-cell self-baseline"},l.default.createElement("label",{htmlFor:"t__input_classroom_name"},"Name:")," "),l.default.createElement("div",{className:"right-cell self-baseline"},l.default.createElement("input",{id:"t__input_classroom_name",style:{width:"100%"},autoFocus:!0,value:e.modalMainInputValue,onChange:function(t){return e.setModalMainInputValue(t.target.value)}})),l.default.createElement("div",{className:"left-cell"},l.default.createElement("input",{id:"t__self_signup_enabled",type:"checkbox",value:"1",checked:e.modalCheckboxSSSValue,onChange:function(t){return e.setModalCheckboxSSSValue(t.target.checked)}})),l.default.createElement("div",{className:"right-cell"},l.default.createElement("label",{htmlFor:"t__self_signup_enabled",style:{fontWeight:"normal"}},"Let students sign themselves up using a classroom code.",l.default.createElement("br",null),l.default.createElement("span",{style:{fontSize:"90%",color:"#999"}},"Uncheck this box if you prefer to create student accounts yourself."))),l.default.createElement("div",{className:"left-cell"},l.default.createElement("input",{id:"self_signup_as_over_13",type:"checkbox",value:"1",checked:e.modalCheckboxSSS13Value,onChange:function(t){return e.setModalCheckboxSSS13Value(t.target.checked)}})),l.default.createElement("div",{className:"right-cell"},l.default.createElement("label",{htmlFor:"self_signup_as_over_13",style:{fontWeight:"normal"}},"Students in the classroom are 13 years or older.",l.default.createElement("br",null),l.default.createElement("span",{style:{fontSize:"90%",color:"#999"}},"Uncheck this box if you need to prevent students from uploading their own images due to privacy concerns. You can change this setting later on a per-student basis from the classroom details page."))))),l.default.createElement(c.Modal.Footer,null,l.default.createElement(u.Footer,null,l.default.createElement(u.CancelButton,{onClick:e.clearModal,"data-p":"cancel_bt
2n"}),l.default.createElement(u.DoneButton,{id:"t__submit_new_classroom_btn",disabled:!e.mainValueHasContent,onClick:e.doCreateClassroom,spinning:e.spinning})))))}}]),t}(),a.propTypes={$classrooms:d.default.object.isRequired},n=o))||n)||n;t.default=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=g(r(1)),s=r(0),u=r(9),c=r(11),d=g(r(13)),f=g(r(34)),p=g(r(350)),m=g(r(123)),h=g(r(349)),y=g(r(220));function g(e){return e&&e.__esModule?e:{default:e}}function b(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var v=function(){return l.default.createElement("div",{id:"t__dashboard"},l.default.createElement("div",{"data-p":"blank_dashboard"},l.default.createElement("div",{className:"flex-row-justify"},l.default.createElement("h2",{style:{marginBottom:0,marginTop:0}},"Welcome!")),l.default.createElement("hr",{style:{marginTop:"5px",marginBottom:"30px"}}),l.default.createElement("p",{style:{paddingBottom:"10px"}},"Welcome to StoriumEDU! We help you turn your students into passionate writers by transforming writing exercises into fun, motivating multiplayer games."),l.default.createElement("p",{style:{paddingBottom:"20px"}},"Hereâs how to get started:"),l.default.createElement(c.Table,null,l.default.createElement("tbody",null,l.default.createElement("tr",null,l.default.createElement("td",{style:{padding:"20px 14px 20px 0"}},l.default.createElement("div",{className:"welcome-bullets"},"1")),l.default.createElement("td",{style:{padding:"20px 0 20px 0"}},l.default.createElement("div",{className:"welcome-text"},"Read our ",l.default.createElement(h.default,{name:"teacher_guide"},"teacherâs guide")," or ",l.default.createElement(h.default,{name:"parent_guide"},"parentâs guide")," â each is just a few pages and tells you everything you need to know to get playing."))),l.default.createElement("tr",null,l.default.createElement("td",{style:{padding:"20px 14px 20px 0"}},l.default.createElement("div",{className:"welcome-bullets"},"2")),l.default.createElement("td",{style:{padding:"20px 0 20px 0"}},l.default.createElement("div",{className:"welcome-text"},"Watch our short ",l.default.createElement(d.default,{href:"/help"},"tutorial videos")," â theyâre just a few minutes each."))),l.default.createElement("tr",null,l.default.createElement("td",{style:{padding:"20px 14px 20px 0"}},l.default.createElement("div",{className:"welcome-bullets"},"3")),l.default.createElement("td",{style:{padding:"20px 0 20px 0"}},l.default.createElement("div",{className:"welcome-text"},l.default.createElement(d.default,{href:"/classrooms"},"Create a classroom")," for your students, then give them the classroomâs code so they can log in and join the class."))),l.default.createElement("tr",null,l.default.createElement("td",{style:{padding:"20px 14px 20px 0"}},l.default.createElement("div",{className:"welcome-bullets"},"4")),l.default.createElement("td",{style:{padding:"20px 0 20px 0"}},l.default.createElement("div",{className:"welcome-text"},l.default.createElement(d.default,{href:"/library"},"Browse the library")," and choose storyworlds for your students to play, or"," ",l.default.createElement(d.default,{href:"/storyworlds"},"create your own storyworld")," for your students to play in."))))),l.default.createElement("p",null,"Once students start creating games, youâll see them listed right here and
2youâll get to approve them before play starts.")))},w=(0,u.inject)("$authUser","$dashboard","$userInfo")(n=(0,u.observer)((o=a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=b(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.confirmApprove=function(e){var t=function(){return n.props.$dashboard.approveGame(e)};n.props.$dashboard.dashboard.games[e].invitee_user_pids.length>0?n.confirmModal.pop("Approve this game?",l.default.createElement("p",null,"Note: this game has one or more players whoâve been invited but have not created their characters. Please make sure the cast list is correct before approving."),{onConfirm:t}):n.confirmModal.pop("Approve this game?",l.default.createElement("p",null,"Have you reviewed this gameâs cast of characters, name, game cards, and scenario (if any)? Once you approve this game the players will be able to start and further changes wonât be possible."),{onConfirm:t})},b(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this,t=this.props.$userInfo,r=this.props.$dashboard,n=r.dashboard,a=(n.students,n.classrooms),o=n.games;if(!r.ready)return l.default.createElement("p",null,"Loading...");if(0===Object.keys(o).length)return l.default.createElement(v,null);var i={pending:{},active:{}};Object.keys(o).sort(function(e,t){var r=o[e],n=o[t],i=a[r.classroom_pid].name.toLowerCase(),l=a[n.classroom_pid].name.toLowerCase();if(i<l)return-1;if(i>l)return 1;if("phaseGamePlaying"===r.phase&&"phaseGamePlaying"===n.phase){if(r.last_active_unix>n.last_active_unix)return-1;if(r.last_active_unix<n.last_active_unix)return 1}else{if(r.created_at_unix<n.created_at_unix)return-1;if(r.created_at_unix>n.created_at_unix)return 1}return 0}).forEach(function(e){var t=o[e],r=void 0;if("phaseGamePlaying"===t.phase&&(r="active"),"phaseGameNew"!==t.phase&&"phaseGameAlmostReady"!==t.phase&&"phaseGameReady"!==t.phase||(r="pending"),r){var n=i[r];n[t.classroom_pid]||(n[t.classroom_pid]={}),n[t.classroom_pid][e]=t}});var s=function(n,o){var s=a[o],u=i[n][o],c=[],f=function(e){return n+"_"+o+"_"+e},h=function(e){return e.map(function(e){return f(e)}).join(" ")},y=(new Date).getTime(),g=!1;c.push(l.default.createElement("tr",{key:f("classnamerow")},l.default.createElement("th",{colSpan:"4",id:f("classnameheading"),className:"classroom-name-heading"},l.default.createElement(d.default,{href:"/classroom/"+o},s.name))));var b=function(e){return e.character_user_pids.map(function(r,n){return l.default.createElement("span",{key:r},n>0&&l.default.createElement("br",null),t.displayName(r),e.current_turn_user_pid===r&&l.default.createElement("span",{style:{color:"#090"}},"Â â"))})};return"pending"===n&&(c.push(l.default.createElement("tr",{key:f("subheadingrow"),className:"subheading-row"},l.default.createElement("th",{id:f("name")},"Name"),l.default.createElement("th",{id:f("invitees")},"Invited"),l.default.createElement("th",{id:f("chars")},"Joined"),l.default.createElement("th",{id:f("status")},"Status"))),Object.keys(u).forEach(function(n){var a=u[n];c.push(l.default.createElement("tr",{key:f(n),"data-p":"dash_table_game_row","data-
2pid":n,className:g?"game-row striped":"game-row"},l.default.createElement("th",{id:f(n),headers:h(["classnameheading"])},l.default.createElement(d.default,{href:"/game/"+a.slug},a.name)),l.default.createElement("td",{headers:h(["classnameheading",n,"invitees"])},a.invitee_user_pids.map(function(e,r){return l.default.createElement("span",{key:e,"data-pid":e,"data-p":"invitee"},r>0&&l.default.createElement("br",null),t.displayName(e))})),l.default.createElement("td",{headers:h(["classnameheading",n,"chars"])},b(a)),l.default.createElement("td",{headers:h(["classnameheading",n,"status"])},"phaseGameReady"===a.phase&&l.default.createElement("span",null,l.default.createElement("strong",{style:{color:"#090"}},"Ready"),l.default.createElement("br",null),l.default.createElement(d.default,{onClick:function(){return e.confirmApprove(a.pid)}},"Approve"),", ",l.default.createElement(p.default,{gamePid:a.pid,slug:a.slug,onDeleted:r.removeGame,visualStyle:"link"})),("phaseGameNew"===a.phase||"phaseGameAlmostReady"===a.phase)&&l.default.createElement("span",null,l.default.createElement("span",{className:"no-wrap"},"Not ready"),l.default.createElement("br",null),l.default.createElement(p.default,{gamePid:a.pid,slug:a.slug,onDeleted:r.removeGame,visualStyle:"link"}))))),g=!g})),"active"===n&&(c.push(l.default.createElement("tr",{key:f("subheadingrow"),className:"subheading-row"},l.default.createElement("th",{id:f("name")},"Name"),l.default.createElement("th",{id:f("players")},"Players"),l.default.createElement("th",{id:f("progress")},"Scene"),l.default.createElement("th",{id:f("lastactive"),className:"no-wrap"},"Last active"))),Object.keys(u).forEach(function(e){var t=u[e];c.push(l.default.createElement("tr",{key:f(e),"data-p":"dash_table_game_row","data-
2pid":e,className:g?"game-row striped":"game-row"},l.default.createElement("th",{id:f(e),headers:h(["classnameheading"])},l.default.createElement(d.default,{href:"/game/"+t.slug},t.name)),l.default.createElement("td",{headers:h(["classnameheading",e,"players"])},b(t)),l.default.createElement("td",{headers:h(["classnameheading",e,"progress"]),className:"no-wrap"},t.current_scene_id?t.current_scene_id+1:0," of ",t.num_total_scenes),l.default.createElement("td",{headers:h(["classnameheading",e,"lastactive"])},(0,m.default)(y,1e3*t.last_active_unix)))),g=!g})),c};return l.default.createElement("div",{id:"t__dashboard"},l.default.createElement(f.default,{ref:function(t){return e.confirmModal=t}}),l.default.createElement("div",null,l.default.createElement("div",{style:{marginBottom:"60px"}},l.default.createElement("div",{className:"flex-row-justify"},l.default.createElement("h2",{style:{marginBottom:0,marginTop:0}},"Pending games")),l.default.createElement("hr",{style:{marginTop:"5px",marginBottom:"20px"}}),l.default.createElement("p",null,"These games need your approval before your students can start playing."),0===Object.keys(i.pending).length&&l.default.createElement("p",{"data-p":"blank_pending_section"},l.default.createElement("em",null,"You have no pending games at this time.")),Object.keys(i.pending).length>0&&l.default.createElement(c.Table,{bordered:!0,className:"dashboard-table dashboard-text","data-p":"teacher_dash_pending_table"},l.default.createElement("tbody",null,Object.keys(i.pending).map(function(e){return s("pending",e)}))),l.default.createElement(y.default,{mode:"teacher_dashboard"}),l.default.createElement("div",{className:"flex-row-justify"},l.default.createElement("h2",{style:{marginBottom:0,marginTop:"20px"}},"Active games")),l.default.createElement("hr",{style:{marginTop:"5px",marginBottom:"20px"}}),l.default.createElement("p",null,"These are the games that your students are currently playing."),0===Object.keys(i.active).length&&l.default.createElement("p",{"data-p":"blank_active_section"},l.default.createElement("em",null,"You have no active games at this time.")),Object.keys(i.active).length>0&&l.default.createElement(c.Table,{bordered:!0,className:"dashboard-table dashboard-text","data-p":"teacher_dash_active_table"},l.default.createElement("tbody",null,Object.keys(i.active).map(function(e){return s("active",e)}))))))}}]),t}(),a.propTypes={$authUser:s.PropTypes.object.isRequired,$dashboard:s.PropTypes.object.isRequired,$userInfo:s.PropTypes.object.isRequired},n=o))||n)||n;t.default=w},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=v(r(1)),s=r(11),u=v(r(13)),c=r(9),d=(r(12),v(r(0))),f=v(r(682)),p=v(r(681)),m=v(r(680)),h=v(r(679)),y=v(r(659)),g=v(r(658)),b=v(r(657));function v(e){return e&&e.__esModule?e:{default:e}}var w=(0,c.inject)("$authUser","$dashboard","$router")(n=(0,c.observer)((o=a=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"render",value:function(){var e=this.props.$router,t=this.props.$authUser,r=this.props.$dashboard,n=r.dashboard,a=n.games,o="home";"classroomsRoute"==e.route.name?o="classrooms":"studentsRoute"==e.route.name?o="students":"gamesRoute"==e.route.name?o="games":"storyworldsRoute"==e.route.name&&(o="storyworlds");var i=[],c=[];if(!r.ready&&t.is_teacher)return l.default.createElement("p",null,"Loa
2ding...");t.is_teacher&&(Object.keys(a).forEach(function(e){return"phaseGamePlaying"===a[e].phase&&c.push(a[e])}),Object.keys(a).forEach(function(e){return("phaseGameNew"===a[e].phase||"phaseGameAlmostReady"===a[e].phase||"phaseGameReady"===a[e].phase)&&i.push(a[e])}));var d=window&&window.globalConfigFromServer&&"warn"===window.globalConfigFromServer.MAINTENANCE_MODE&&window.globalConfigFromServer.MAINTENANCE_WARN_ACTIVE&&window.globalConfigFromServer.MAINTENANCE_WARN_MSG;return l.default.createElement("div",{"data-p":"home_logged_in"},d&&l.default.createElement(s.Well,{style:{backgroundColor:"#fdfd96",textAlign:"center",fontWeight:"bold"}},d),l.default.createElement(s.Row,null,t.is_teacher&&l.default.createElement(s.Col,{sm:3},l.default.createElement(s.Nav,{bsStyle:"pills",stacked:!0,className:"homepage-nav",activeKey:o},l.default.createElement(s.NavItem,{componentClass:u.default,eventKey:"home",href:"/"},l.default.createElement("span",{className:"fa fa-home hidden-sm",style:{paddingLeft:"3px",width:"30px"}}),"Home"),l.default.createElement(s.NavItem,{componentClass:u.default,eventKey:"classrooms",href:"/classrooms"},l.default.createElement("span",{className:"fa fa-graduation-cap hidden-sm",style:{width:"30px"}}),"Classrooms"," ",l.default.createElement("span",{style:{float:"right"}},Object.keys(n.classrooms).length)),l.default.createElement(s.NavItem,{componentClass:u.default,eventKey:"games",href:"/games"},l.default.createElement("span",{className:"fa fa-list hidden-sm",style:{width:"30px"}}),"Games"," ",l.default.createElement("span",{style:{float:"right"}},Object.keys(n.games).length)),l.default.createElement(s.NavItem,{componentClass:u.default,eventKey:"storyworlds",href:"/storyworlds"},l.default.createElement("span",{className:"fa fa-globe hidden-sm",style:{width:"30px"}}),"Storyworlds"," ",l.default.createElement("span",{style:{float:"right"}},Object.keys(n.decks).length))),l.default.createElement("div",{style:{backgroundColor:"#f0f0f0",padding:"10px 15px 15px 15px",marginTop:"40px",marginBottom:"40px"}},l.default.createElement(u.default,{to:e.toPath("libraryBrowserRoute")},l.default.createElement("span",{className:"fa fa-book",style:{paddingTop:"3px",width:"30px",height:"30px",float:"left"}}),"Browse the library")),t.can_subscribe&&l.default.createElement("div",{style:{backgroundColor:"#f0f0f0",padding:"10px 15px 15px 15px",marginTop:"40px",marginBottom:"40px"}},l.default.createElement(u.default,{to:e.toPath("subscribeRoute")},l.default.createElement("span",{className:"fa fa-credit-card",style:{paddingTop:"3px",width:"30px",height:"30px",float:"left"}}),"Become a Subscriber")),(i.length>0||c.length>0)&&l.default.createElement(s.Panel,{header:"Helpful links",style:{marginTop:"40px"}},l.default.createElement("ul",{className:"getting-started-list",style:{paddingLeft:"4px"}},l.default.createElement("li",null,l.default.createElement(u.default,{href:"/latest"},"See whatâs new (updated 4/23)")),l.default.createElement("li",null,l.default.createElement(u.default,{href:"/help"},"Tutorials and teacherâs guides")),l.default.createElement("li",null,l.default.createElement(u.default,{href:"https://groups.google.com/d/forum/storiumedu-teachers"},"Join our Google Group and connect with other teachers"))))),!t.is_teacher&&l.default.createElement(s.Col,{sm:3},l.default.createElement(s.Panel,{header:"Shortcuts"},l.default.createElement("ul",{className:"getting-started-list",style:{paddingLeft:"4px"}},l.default.createElement("li",null,l.default.createElement(u.default,{href:"/help"},"Learn how to play")),l.default.createElement("li",null,l.default.createElement(u.default,{href:"/game/new","data-p":"create_game_btn"},"Start a game"))))),l.default.createElement(s.Col,{sm:9,style:{marginBottom:"60px"}},l.default.createElement(b.default,null),t.is_teacher&&"home"===o&&l.default.createElement(f.default,null),t.is_teacher&&"classrooms"===o&&l.default.createElement(p.default,null),t.is_teacher&&"students"===o&&l.default.createElement(m.default,null),t.is_teacher&&"games"===o&&l.default.createElement(h.default,null),t.is_teacher&&"storyworlds"===o&&l.default.createElement(g.default,null),!t.is_teacher&&l.default.createElement(y.default,null))))}}]),t}(),a.propTypes={$authUser:d.default.object.isRequired,$dashboard:d.default.object.isRequired,$router:d.default.object.isRequired},n=o))||n)||n;t.default=w},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0});var n=l(r(1)),a=r(9),o=l(r(683)),i=l(r(656));function l(e){return e&&e.__esModule?e:{default:e}}t.default=(0,a.inject)("$authUser")((0,a.observer)(function(e){return e.$authUser.pid?n.default.createElement(o.default,null):n.default.createElement(i.default,null)}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=M(r(684)),a=M(r(655)),o=M(r(647)),i=M(r(147)),l=M(r(579)),s=M(r(556)),u=M(r(553)),c=M(r(552)),d=M(r(551)),f=M(r(550)),p=(M(r(549)),M(r(548))),m=M(r(544)),h=M(r(542)),y=M(r(541)),g=M(r(540)),b=M(r(536)),v=M(r(535)),w=M(r(534)),E=M(r(533)),k=M(r(532)),_=M(r(531)),C=M(r(529)),S=M(r(528)),P=M(r(527)),O=M(r(526)),T=M(r(523)),j=M(r(522)),x=M(r(521));function M(e){return e&&e.__esModule?e:{default:e}}var z=[{path:"/user/:name",component:a.default,name:"userProfileRoute"},{path:"/user/:name/2fa",component:j.default,name:"add2faRoute"},{path:"/game/new",component:b.default,name:"newGameRoute"},{path:"/game/:slug/debug",component:C.default,name:"adminGameDebugRoute"},{path:"/game/:slug/act-:actNumber(\\d+)/scene-:sceneNumber(\\d+)",component:o.default,name:"gameActSceneRoute",data:{isGameplay:!0},trackAs:"gameRoute"},{path:"/game/:slug/epilogue",component:o.default,name:"gameEpilogueRoute",data:{isGameplay:!0},trackAs:"gameRoute"},{path:"/game/:slug/character/:characterSlug",component:o.default,name:"oldCharacterSheetRoute",data:{isGameplay:!0}},{path:"/game/:slug/character/:characterPathGid/:characterSlug",component:o.default,name:"characterSheetRoute",data:{isGameplay:!0}},{path:"/game/:slug/text",component:o.default,name:"gameTextViewRoute",data:{isGameplay:!0,isTextView:!0}},{path:"/game/:slug",component:o.default,name:"gameRoute",data:{isGameplay:!0}},{path:"/storyworld/:slug/scenario/:gid",component:o.default,name:"scenarioDetailRoute",data:{isGameplay:!0,isDeckSpecificRoute:!0}},{path:"/storyworld/:slug",component:o.default,name:"deckRoute",data:{isGameplay:!0,isDeckSpecificRoute:!0}},{path:"/deck/:slug",redirect:function(e){return"/storyworld/"+e.slug},name:"deckRedirectRoute"},{path:"/library",component:k.default,name:"libraryBrowserRoute"},{path:"/signup/gy2mb7",component:m.default,name:"signupRoute",data:{code:"gy2mb7"}},{path:"/signup/d3228b",component:m.default,name:"signupRoute",data:{code:"d3228b"}},{path:"/signup/intlplay",component:m.default,name:"signupRoute",data:{code:"intlplay"}},{path:"/signup/ncte2018",component:m.default,name:"signupRoute",data:{code:"ncte2018"}},{path:"/signup/nwp2018",component:m.default,name:"signupRoute",data:{code:"nwp2018"}},{path:"/signup/eduinno",component:m.default,name:"signupRoute",data:{code:"eduinno"}},{path:"/signup/fallcue18",component:m.default,name:"signupRoute",data:{code:"fallcue18"}},{path:"/signup/0a77d9",component:m.default,name:"signupRoute",data:{code:"0a77d9"}},{path:"/signup/9eca18",component:m.default,name:"signupRoute",data:{code:"9eca18"}},{path:"/signup/5c3191",component:m.default,name:"signupRoute",data:{code:"5c3191"}},{path:"/signup/fb5eed",component:m.default,name:"signupRoute",data:{code:"fb5eed"}},{path:"/signup/8d1f65",component:m.default,name:"signupRoute",data:{code:"8d1f65"}},{path:"/welcome",component:n.default,name:"welcomeRoute"},{path:"/join",component:S.default,name:"joinClassRoute"},{path:"/signin",redirect:"/login",name:"signinRedirectRoute"},{path:"/login",component:p.default,name:"loginRoute",isBouncer:!0},{path:"/login/forgot_password",component:p.default,name:"forgotPwdRoute"},{path:"/reset/:reset_token",component:_.default,name:"resetPasswordRoute"},{path:"/verify/:user_pid/:email_token",component:P.default,name:"emailVerificationLandingRoute"},{path:"/denied",component:y.default,name:"accessDeniedRoute",isAccessDenied:!0,ssrStatus:403},{path:"/goodbye",component:h.default,name:"logoutRoute"},{path:"/help",component:l.default,name:"helpRoute"},{path:"/privacy",component:u.default,name:"privacyPolicyRoute"},{path:"/terms",component:f.default,name:"termsOfServiceRoute"},{path:"/latest",component:s.default,name:"whatsNewRoute"},{path:"/editorial",component:c.default,name:"editorialPolicyRoute"},{path:"/rewards",component:d.default,name:"worldRewardRoute"},{path:"/classroom/:pid",component:g.default,name:"classroomDetailsRoute"},{path:"/",component:n.default,name:"homeRoute"},{path:"/classrooms",component:n.default,name:"classroomsRoute"},{path:"/games",component:n.default,name:"gamesRoute"},{path:"/storyworlds",component:n.default,name:"storyworldsRoute"},{path:"/notifications",component:x.default,name:"notifPrefsRoute"},{path:"/guildnavigator",component:v.default,name:"adminRoute"},{path:"/guildnavigator2",component:w.default,name:"adminGamesRoute"},{path:"/waterfalls",component:E.default,name:"waterfallsRoute"},{path:"/waterfalls/:clientContextId",component:E.default,name:"waterfallDetailsRoute"}];"undefined"!=typeof window&&window.globalConfigFromServer&&window.globalConfigFromServer.RECURLY_ENABLED&&(z.push({path:"/signup",component:m.default,name:"signupRoute"}),z.push({path:"/subscribe/success",component:T.default,name:"subscribeSuccessRoute",n
2oTrack:!0}),z.push({path:"/subscribe",component:O.default,name:"subscribeRoute"})),z.push({regexp:/.*/,component:i.default,name:"notFoundRoute",ssrStatus:404}),t.default=z},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d=v(r(26)),f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},p=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),m=r(10),h=v(r(102)),y=v(r(686)),g=v(r(23)),b=v(r(685));function v(e){return e&&e.__esModule?e:{default:e}}function w(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function E(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var k=(0,v(r(19)).default)("router"),_=(n=m.action.bound,u=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return c.call(r),r.namedRoutes={},r.routes=[],r.importRoutes(e||b.default),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,g.default),p(t,[{key:"thaw",value:function(e){this.bounceBackHref=e.bounceBackHref}},{key:"route",get:function(){if(!this.routes||!this.routes.length)throw new Error("cant compute current route without any routes defined");if(this.$location.accessDenied)return this.namedRoutes.accessDeniedRoute;for(var e=(0,h.default)(this.$location.href),t=void 0,r=0;r<this.routes.length;r++){var n=this.routes[r],a=n.regexp;if(a.test(e.path()))if("break"===function(){t=f({},n);var r=a.exec(e.path());return t.captures={},t.hash=e.hash(),n.keys&&n.keys.forEach(function(e,n){e.name&&(t.captures[e.name]=r[n+1])}),"break"}())break}return t}},{key:"ssrStatus",get:function(){return this.route.isBouncer&&this.bounceBackHref?401:this.route.ssrStatus||this.assignedSsrStatus||200}},{key:"frozen",get:function(){return{bounceBackHref:this.bounceBackHref}}}]),t}(),c=function(){var e=this;w(this,"assignedSsrStatus",o,this),this.importRoutes=function(t){e.namedRoutes={},e.routes=[],t.forEach(function(t){var r=f({},t),n=[];if(!r.name)throw new Error("All routes must have a name");if(e.namedRoutes[r.name]=r,r.path){var a=(0,y.default)(r.path,n,{sensitive:!0,strict:!1,end:!0});r.regexp=a,r.keys=n,r.toPath=y.default.compile(r.path)}else if(!r.regexp)throw new Error("All routes must have a path or a regexp");r.data=r.data||{},e.routes.push(r)})},this.toPath=function(t,r){var n=!e.route||!e.route.captures||r&&r.noMergeCaptures?f({},r):f({},e.route.captures,r);return e.namedRoutes[t]&&e.namedRoutes[t].toPath&&e.namedRoutes[t].toPath(n)},this.applyRedirects=function(){if(e.route.redirect){var t=e.route.redirect;"function"==typeof t&&(t=t(e.route.captures)),e.$location.goTo(t,{replace:!0,debug:"router redirect"})}else{if(!e.$authUser)return;e.$authUser.isLoaded&&!e.$authUser.pid&&e.route.name}},this.lastTrackedPage=void 0,this.track=function(){var t=e.route.trackAs||e.route.name;e.$tracking&&e.$tracking.setExtraContext({routeName:e.route.name}),e.$tracking&&e.$tracking.captureBreadcrumb({message:"route tracking",category:"routing",level:"info",data:{routeName:e.route.name,path:e.$location.path}}),e.route&&!e.route.noTrack&&t&&e.lastTrackedPage!==t&&(e.$tracking&&e.$tracking.setPage(t),e.$tracking&&e.$tracking.pageview(),e.lastTrackedPage=t)},this.boot=function(t){"clientInit"===t||"ssrClientResume"===t?(e.dis
2posers.push((0,m.autorun)(e.applyRedirects)),e.disposers.push((0,m.autorun)(e.track))):e.applyRedirects()},this.redirectToPath=function(t,r){e.$location.goTo(e.toPath(t,r),{replace:!0})},this.navToPath=function(t,r){e.$location.goTo(e.toPath(t,r))},this.redirectTo=function(t){e.$location.goTo(t,{replace:!0})},this.navTo=function(t){e.$location.goTo(t)},w(this,"setSsrStatus",i,this),w(this,"bounce",l,this),w(this,"bounceBack",s,this)},o=E((a=u).prototype,"assignedSsrStatus",[m.observable],{enumerable:!0,initializer:null}),E(a.prototype,"route",[m.computed],Object.getOwnPropertyDescriptor(a.prototype,"route"),a.prototype),E(a.prototype,"ssrStatus",[m.computed],Object.getOwnPropertyDescriptor(a.prototype,"ssrStatus"),a.prototype),i=E(a.prototype,"setSsrStatus",[m.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.assignedSsrStatus=t}}}),l=E(a.prototype,"bounce",[m.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=(0,d.default)(e.routes,function(e){return e.isBouncer});if(e.route.name!==t.name){if(e.$authUser.pid)return e.assignedSsrStatus=403,e.$location.setAccessDenied(!0),void k.warn("bounce() while authed -> access denied");e.bounceBackHref=e.$location.href,k.warn("bounce() unauthed -> bouncer page"),t&&e.redirectToPath(t.name)}else k.warn("bounce() already on bouncer page -> noop")}}}),s=E(a.prototype,"bounceBack",[m.action],{enumerable:!0,initializer:function(){var e=this;return function(){return!!e.bounceBackHref&&(k.log("bounceBack",e.bounceBackHref),e.redirectTo(e.bounceBackHref),e.bounceBackHref=void 0,!0)}}}),E(a.prototype,"frozen",[m.computed],Object.getOwnPropertyDescriptor(a.prototype,"frozen"),a.prototype),E(a.prototype,"thaw",[n],Object.getOwnPropertyDescriptor(a.prototype,"thaw"),a.prototype),a);t.default=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(124)),a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function i(e){return e&&e.__esModule?e:{default:e}}var l=(0,i(r(19)).default)("performance"),s=function(){function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.origin=void 0,this.firstPath=void 0,this.buffer=[],this.seen={},this.waterFallData=void 0,this.isClient=!1,this.asyncTasksAreZeroOffset=!1,this.record=function(e){if(t.hasPerformance){t.origin||(t.origin=Math.round(window.performance.timing.navigationStart),t.firstRoute=t.$router.route.name,t.buffer.push({name:"origin",offset:0,ms:t.origin,route:t.firstRoute}),t.seen.origin=!0);var r=Math.round(window.performance.now());if(!t.seen[e]){t.seen[e]=!0;var n={name:e,offset:r,ms:t.origin+r,route:t.firstRoute,clientContextId:t.$v2Api.clientContextId};t.buffer.push(n),l.chatter(e,r),t.upload(),t.asyncTasksAreZeroOffset=r,"asyncTasksAreZero"===e&&r>4e3&&t.uploadWaterfall()}}},this.uploadWaterfall=function(){if(t.hasPerformance){var e=t.getFullPerformanceWaterfall();e&&t.$v2Api.commonCall("post","/waterfall",{},{postData:{route:t.firstRoute,async_zero_offset:t.asyncTasksAreZeroOffset,client_context_id:t.$v2Api.clientContextId,waterfall_json:JSON.stringify(e)}}).catch(function(){})}},this.boot=function(e){t.isClient="ssrServerInit"!==e,t.hasPerformance&&(window.addEventListener("load",function(e){t.record("load")}),document.addEventListener("DOMContentLoaded",function(e){t.record("DOMContentLoaded")}),t.record("performanceBoot"))},this.asyncTasksAreZero=function(){t.record("asyncTasksAreZero")},this.upload=(0,n.default)(function(){t.buffer.length&&(t.$socket.sendPerformanceEvents(t.buffer)?t.buffer=[]:t.upload())},250,{trailing:!0}),this.getFullPerformanceWaterfall=function(){if("object"===("undefined"==typeof window?"undefined":a(window))&&window.performance&&window.performance.timing&&window.performance.getEntries){var e={};e.timeOrigin=window.performance.timeOrigin;e.timing={},["navigationStart","unloadEventStart","unloadEventEnd","redirectStart","redirectEnd","fetchStart","domainLookupStart","domainLookupEnd","connectStart","connectEnd","secureConnectionStart","requestStart","responseStart","responseEnd","domLoading","domInteractive","domContentLoadedEventStart","domContentLoadedEventEnd","domComplete","loadEventStart","loadEventEnd"].forEach(function(t){void 0!==window.performance.timing[t]&&(e.timing[t]=window.performance.timing[t])});var t=["connectEnd","connectStart","decodedBodySize","domComplete","domContentLoadedEventEnd","domContentLoadedEventStart","domInteractive","domainLookupEnd","domainLookupStart","duration","encodedBodySize","entryType","fetchStart","initiatorType","loadEventEnd","loadEventStart","name","nextHopProtocol","redirectCount","redirectEnd","redirectStart","requestStart","responseEnd","responseStart","secureConnectionStart","startTime","transferSize","type","unloadEventEnd","unloadEventStart","workerStart"];return e.entries=window.performance.getEntries().map(function(e){var r={};return t.forEach(function(t){void 0!==e[t]&&(r[t]=e[t])}),r}
2),e.ua=window.navigator&&window.navigator.userAgent,e.screen=window.screen&&window.screen.width+"x"+window.screen.height,e.formatVersion=3,window.navigator&&window.navigator.connection&&(window.navigator.connection.effectiveType&&(e.connectionEffectiveType=window.navigator.connection.effectiveType),window.navigator.connection.downlink&&(e.connectionDownlink=window.navigator.connection.downlink),window.navigator.connection.rtt&&(e.connectionRTT=window.navigator.connection.rtt)),e}}}return o(e,[{key:"hasPerformance",get:function(){return!!(this.isClient&&window&&window.performance&&window.performance.now&&window.performance.timing)}}]),e}();t.default=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=d(r(26)),a=d(r(95)),o=d(r(27)),i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l=d(r(19)),s=d(r(82)),u=d(r(23)),c=r(10);d(r(1));function d(e){return e&&e.__esModule?e:{default:e}}function f(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var p=(0,l.default)("notifications"),m=function(e){function t(){var e,r,l;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var u=arguments.length,d=Array(u),m=0;m<u;m++)d[m]=arguments[m];return r=l=f(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(d))),l.notifs=[],l.presentedNotifs={},l.notificationSystem=void 0,l.thawed=!1,l.onRtMessage=function(e,t){if("RT_NOTIF"===e){var r=t.notif;p.info("RT_NOTIF:",r),l.add({kind:r.kind,message:r.message,path:r.path,guid:r.guid})}},l.reset=function(){l.notifs=[],l.presentedNotifs={},l.notificationSystem&&l.notificationSystem.clearNotifications(),l.freezeToLocalStorage()},l.boot=function(){l.disposers.push((0,c.reaction)(function(){return l.$authUser.pid},function(e){e&&!l.thawed&&l.thawFromLocalStorage()}))},l.localStorageKey=function(){return l.$authUser.pid?"notifications_v2_"+l.$authUser.pid:"notifications_v2_nil"},l.freezeToLocalStorage=function(){l.notifs.length?window.localStorage.setItem(l.localStorageKey(),JSON.stringify({notifs:(0,o.default)(l.notifs,function(e){return e.persist})})):window.localStorage.removeItem(l.localStorageKey())},l.thawFromLocalStorage=function(){if(window.localStorage.getItem(l.localStorageKey())){var e=JSON.parse(window.localStorage.getItem(l.localStorageKey()));l.notifs=e.notifs,l.updatePresented()}l.thawed=!0},l.setSystem=function(e){l.notificationSystem=e,l.updatePresented()},l.add=function(e){if(l.$webPush.isEnabled)return!1;var t=i({persist:!0,guid:(0,s.default)()},e);l.notifs.push(t),l.freezeToLocalStorage(),l.updatePresented()},l.remove=function(e){(0,a.default)(l.notifs,(0,n.default)(l.notifs,function(t){return t.guid===e})),l.presentedNotifs[e]&&(l.notificationSystem.removeNotification(l.presentedNotifs[e]),delete l.presentedNotifs[e]),l.freezeToLocalStorage()},l.sysNotifForNotif=function(e){var t=e.guid;return{level:"success",autoDismiss:e.autoDismiss||0,message:e.message,onRemove:function(){delete l.presentedNotifs[t],l.remove(t)}}},l.updatePresented=function(){l.notificationSystem&&l.notifs.forEach(function(e){l.presentedNotifs[e.guid]||(l.presentedNotifs[e.guid]=l.notificationSystem.addNotification(l.sysNotifForNotif(e)))})},f(l,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,u.default),t}();t.default=m},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}
2(),b=r(10),v=function(e){return e&&e.__esModule?e:{default:e}}(r(23));function w(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function E(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var k=(n=function(e){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return w(e,"processing",a,e),w(e,"displayError",o,e),w(e,"fields",i,e),w(e,"lastSubmittedNameOrEmailValue",l,e),w(e,"unparseableOrTimeout",s,e),w(e,"require2fa",u,e),w(e,"reset",c,e),e.boot=function(t){"ssrServerInit"!==t&&e.disposers.push((0,b.reaction)(function(){return e.$router.route},function(){e.reset()},{name:"login_route_change_reset"}))},e.getLocalTotpSkipTrustToken=function(e){e=e.trim().toLowerCase();if(window.localStorage.getItem("totpSkipTrustTokens")){var t=JSON.parse(window.localStorage.getItem("totpSkipTrustTokens"));if(t&&t[e])return t[e]}},e.setLocalTotpSkipTrustToken=function(e,t){e=e.trim().toLowerCase();var r={};window.localStorage.getItem("totpSkipTrustTokens")&&(r=JSON.parse(window.localStorage.getItem("totpSkipTrustTokens"))),r[e]=t,window.localStorage.setItem("totpSkipTrustTokens",JSON.stringify(r))},w(e,"handleResponse",d,e),w(e,"handleLoginFailed",f,e),w(e,"submit",p,e),w(e,"setField",m,e),w(e,"cancel2faModal",h,e),w(e,"thaw",y,e),e.reset(),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,v.default),g(t,[{key:"wasEmailValue",get:function(){return!!this.lastSubmittedNameOrEmailValue.match(/@/)}},{key:"localValidationError",get:function(){return this.fields.nameOrEmail.trim()?!this.fields.password.trim()&&"password_required":"name_or_email_required"}},{key:"frozen",get:function(){return{fields:(0,b.toJS)(this.fields),displayError:this.displayError,lastSubmittedNameOrEmailValue:this.lastSubmittedNameOrEmailValue}}}]),t}(),a=E(n.prototype,"processing",[b.observable],{enumerable:!0,initializer:null}),o=E(n.prototype,"displayError",[b.observable],{enumerable:!0,initializer:null}),i=E(n.prototype,"fields",[b.observable],{enumerable:!0,initializer:null}),l=E(n.prototype,"lastSubmittedNameOrEmailValue",[b.observable],{enumerable:!0,initializer:null}),s=E(n.prototype,"unparseableOrTimeout",[b.observable],{enumerable:!0,initializer:null}),u=E(n.prototype,"require2fa",[b.observable],{enumerable:!0,initializer:null}),c=E(n.prototype,"reset",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.processing=!1,e.displayError=!1,e.fields={nameOrEmail:"",password:"",rememberMe:!0,totp:"",totpSkipTrustFlag:!1},e.lastSubmittedNameOrEmailValue=""}}}),E(n.prototype,"wasEmailValue",[b.computed],Object.getOwnPropertyDescriptor(n.prototype,"wasEmailValue"),n.prototype),d=E(n.prototype,"handleResponse",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return t.data.success?(t.data.me&&e.$authUser.importVob(t.data.me),t.data.totp_skiptrust_token&&e.fields.totpSkipTrustFlag&&e.setLocalTotpSkipTrustToken(e.fields.nameOrEmail,t.data.totp_skiptrust_token),e.reset(),e.$tracking.setUserTrackingData(),e.$router.bounceBack()?t:(e.$router.redirectTo("/"),t)):e.handleLoginFailed(t)}}}),f=E(n.prototype,"handleLoginFailed",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.processing=!1,e.displayError=!!t&&!!t.data&&t.data.soft_error,e.unparseableOrTimeout=!(t&&t.data),e.displayError&&("2fa_required"===e.displayError?e.require2fa=!0:"2fa_invali
2d"===e.displayError?e.require2fa=!0:e.fields.password=""),t}}}),p=E(n.prototype,"submit",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(e.localValidationError)return e.displayError=e.localValidationError,Promise.resolve(!1);e.processing=!0,e.lastSubmittedNameOrEmailValue=e.fields.nameOrEmail;var r={name_email_or_nick:e.fields.nameOrEmail,password_or_shortcode:e.fields.password,remember_me:e.fields.rememberMe?"1":"0"},n=e.getLocalTotpSkipTrustToken(e.fields.nameOrEmail);return n&&(r.totp_skiptrust_token=n),e.fields.totp&&(r.totp=e.fields.totp),e.$asyncTask.track(e.$v2Api.commonCall("post","/sign_in",r,{minLatency:t&&t.minLatency,noErrorModalIfSoftError:!0}).then(e.handleResponse).catch(e.handleLoginFailed),"sign in promise")}}}),m=E(n.prototype,"setField",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r){"rememberMe"===t&&(e.fields.rememberMe=!!r),"nameOrEmail"===t&&(e.fields.nameOrEmail=r),"password"===t&&(e.fields.password=r),"totp"===t&&(e.fields.totp=r),"totpSkipTrustFlag"===t&&(e.fields.totpSkipTrustFlag=!!r)}}}),h=E(n.prototype,"cancel2faModal",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.require2fa=!1,e.fields.password="",e.fields.totp="",e.fields.totpSkipTrustFlag=!1}}}),E(n.prototype,"frozen",[b.computed],Object.getOwnPropertyDescriptor(n.prototype,"frozen"),n.prototype),y=E(n.prototype,"thaw",[b.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.fields=t.fields,e.displayError=t.displayError,e.lastSubmittedNameOrEmailValue=t.lastSubmittedNameOrEmailValue}}}),n);t.default=k},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),d=r(10),f=p(r(102));function p(e){return e&&e.__esModule?e:{default:e}}function m(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function h(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var y=(0,p(r(19)).default)("location"),g=(n=function(){function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),m(this,"href",a,this),m(this,"leaving",o,this),m(this,"accessDenied",i,this),this.codeRevisionSha=void 0,this.disablePushStateForNewCodeRevisionSha=!1,m(this,"setAccessDenied",l,this),this.registerOnUnloadConfirmation=function(e){t.hasWindow&&(window.onbeforeunload=function(t){return t.returnValue=e,e})},this.removeOnUnloadConfirmation=function(){t.hasWindow&&(window.onbeforeunload=function(){})},this.reload=function(){t.hasWindow()&&window.location.reload()},this.callbackOnNextChange=function(e){var r=t.href,n=void 0;n=(0,d.autorun)(function(){t.href!==r&&(n(),console.log("callbackOnNextChange firing"),e())})},m(this,"ingestCodeRevisionSha",s,this)}return c(e,[{key:"boot",value:function(e){var t=this;if("clientInit"===e&&(this.href=window.location.href),"ssrClientResume"===e){if(this.href!==window.location.href){var r=(0,f.default)(this.href),n=(0,f.default)(window.location.href);n.hash(""),r.hash(""),r.normalize().toString()!==n.normalize().toString()&&window.history.replaceState(void 0,void 0,this.href)}"object"===("undefined"==typeof window?"undefined":u(window))&&window.globalConfigFromServer&&this.ingestCodeRevisionSha(globalConfigFromServer.
2SCOUT_REVISION_SHA)}"clientInit"!==e&&"ssrClientResume"!==e||window.addEventListener("popstate",(0,d.action)("popstate",function(){t.href=window.location.href,t.accessDenied=!1}))}},{key:"hasWindow",value:function(){return"object"===("undefined"==typeof window?"undefined":u(window))}},{key:"goHome",value:function(e){this.goTo("/",e)}},{key:"setSsrLocation",value:function(e){this.href=e}},{key:"goTo",value:function(e,t){var r=t||{};if(!e)return!0;var n=(0,f.default)(e||"");if("http"!==n.scheme()&&"https"!==n.scheme()&&!n.is("relative"))return!1;n.is("relative")&&(n=n.absoluteTo((0,f.default)(this.href)));var a=n.origin()===(0,f.default)(this.href).origin(),o=this.$authUser.isLoaded&&!this.$authUser.pid;this.$router.bounceBackHref&&(o=!1);var i=a&&!r.reload&&!this.disablePushStateForNewCodeRevisionSha&&!o;return this.hasWindow()?i?(r.replace?window.history.replaceState(void 0,void 0,n.toString()):window.history.pushState(void 0,void 0,n.toString()),this.href=window.location.href):(window.location.href=n.toString(),this.leaving=!0):this.href=n.toString(),this.accessDenied=!1,!0}},{key:"thaw",value:function(e){this.href=e.href,this.accessDenied=e.accessDenied}},{key:"path",get:function(){return this.href?(0,f.default)(this.href).path():void 0}},{key:"frozen",get:function(){return{href:this.href,accessDenied:this.accessDenied}}}]),e}(),a=h(n.prototype,"href",[d.observable],{enumerable:!0,initializer:null}),o=h(n.prototype,"leaving",[d.observable],{enumerable:!0,initializer:null}),i=h(n.prototype,"accessDenied",[d.observable],{enumerable:!0,initializer:function(){return!1}}),l=h(n.prototype,"setAccessDenied",[d.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.accessDenied=!!t}}}),h(n.prototype,"setSsrLocation",[d.action],Object.getOwnPropertyDescriptor(n.prototype,"setSsrLocation"),n.prototype),h(n.prototype,"path",[d.computed],Object.getOwnPropertyDescriptor(n.prototype,"path"),n.prototype),h(n.prototype,"goTo",[d.action],Object.getOwnPropertyDescriptor(n.prototype,"goTo"),n.prototype),h(n.prototype,"frozen",[d.computed],Object.getOwnPropertyDescriptor(n.prototype,"frozen"),n.prototype),h(n.prototype,"thaw",[d.action],Object.getOwnPropertyDescriptor(n.prototype,"thaw"),n.prototype),s=h(n.prototype,"ingestCodeRevisionSha",[d.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.codeRevisionSha&&e.codeRevisionSha!==t&&(y.warn("got new codeRevisionSha, disabling pushState",e.codeRevisionSha,t),e.disablePushStateForNewCodeRevisionSha=!0),y.info("codeRevisionSha",t),e.codeRevisionSha=t}}}),n);t.default=g},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y=k(r(124)),g=k(r(35)),b=k(r(27)),v=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),w=r(10),E=k(r(23));function k(e){return e&&e.__esModule?e:{default:e}}function _(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function C(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function S(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var P=(n=w.observable.ref,a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,g=Array(a),b=0;b<a;b++)g[b]=arguments[b];return r=n=C(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(g))),_(n,"decks",o,n),_(n,"loading",i,n),_(n,"ready",l,n),_(n,"limit",s,n),_(n,"filterText",u,n),_(n,"filterTextThrottled",c,n),_(n,"thaw",d,n),_(n,"import",f,n),n.boot=function(){n.disposers.push((0,w.autorun)(function(){"libraryBrowserRoute"===n.$router.route.name&&(!n.$authUser.isLoaded||n.$authUser.pid&&!n.$authUser.is_student||n.$router.bounce(),n.$authUser.isLoaded&&n.$authUser.pid&&n.$authUser.is_teacher&&!n.loading&&!n.ready&&n._fetch())}))},_(n,"_fetch",p,n),n.mountFetchIfNeeded=function(){n.loading||(n.lastFetchAt?new Date-n.lastFetchAt>6e4&&n._fetch():n._fetch())},n.textMatch=function(e,t){for(var r=e.trim().toLowerCase().split(/[\s,]+/),n=t.toLowerCase(),a=0,o=0,i=0;i<r.length;i++){var l=r[i];l&&n.indexOf(l)>=0&&o++}var s=e.match(/".+?"/g),u=0;if(s){for(var c=0;c<s.length;c++){var d=s[c].replace(/"/g,"").replace(/\s+/," ").trim().toLowerCase();d&&n.indexOf(d)>=0&&u++}a=u!==s.length?0:10*u+o}else a=o;return a},n.deckText=function(e){return[e.name,n.$userInfo.displayName(e.organizer_user_pid),e.deck_subjects.join(" | "),e.deck_grades.join(" | ")].join(" | ")},_(n,"bumpLimit",m,n),_(n,"setFilterText",h,n),n.setThrottledFilterText=(0,y.default)((0,w.action)(function(e){n.filterTextThrottled=e}),500),C(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,E.default),v(t,[{key:"frozen",get:function(){return{decks:this.decks,ready:this.ready}}},{key:"filteredDecks",get:function(){var e=void 0;if(this.filterTextThrottled.trim()){for(var t=void 0,r=0;r<this.decks.length;r++)t=this.textMatch(this.filterTextThrottled,this.deckText(this.decks[r])),this.decks[r].rank=1e5-t;e=(0,b.default)(this.decks,function(e){return e.rank<1e5}),e=(0,g.default)(e,["rank","libraryFirstActiveAtUnix"])}else e=this.decks.slice();return e}},{key:"filteredDecksLimited",get:function(){return this.filteredDecks.slice(0,this.limit)}},{key:"limitIsActive",get:function(){return this.filteredDecksLimited.length<this.filteredDecks.length}}]),t}(),o=S(a.prototype,"decks",[n],{enumerable:!0,initializer:function(){return[]}}),i=S(a.prototype,"loading",[w.observable],{enumerable:!0,initializer:function(){return!1}}),l=S(a.prototype,"ready",[w.observable],{enumerable:!0,initializer:function(){return!1}}),s=S(a.prototype,"limit",[w.observable],{enumerable:!0,initializer:function(){return 20}}),u=S(a.prototype,"filterText",[w.observable],{enumerable:!0,initializer:function(){return""}}),c=S(a.prototype,"filterTextThrottled",[w.observable],{enumerable:!0,initializer:function(){return""}}),S(a.prototype,"frozen",[w.computed],Object.getOwnPropertyDescriptor(a.prototype,"frozen"),a.prototype),d=S(a.prototype,"thaw",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.decks=t.decks,e.ready=t.ready}}}),f=S(a.prototype,"import",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.decks=t,e.ready=!0,e.loading=!1,e.lastFetchAt=new Date}}}),p=S(a.prototype,"_fetch",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.loading=!0,e.$v2Api.commonCall("get","/deck/library").then(function(t){e.import(t.data.decks)}).catch(function(){})}}}),S(a.prototype,"filteredDecks",[w.computed],Object.getOwnPropertyDescriptor(a.prototype,"filteredDecks"),a.prototype),S(a.prototype,"filteredDecksLimited",[w.computed],Object.getOwnPropertyDescriptor(a.prototype,"filteredDecksLimited"),a.prototype),S(a.prototype,"limitIsActive",[w.computed],Object.getOwnPropertyDescriptor(a.prototype,"limitIsActive"),a.prototype),m=S(a.prototype,"bumpLimit",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.limit=e.limit+20}}}),h=S(a.prototype,"setFilterText",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.filterText=t,e.setThrottledFilterText(t)}}}),a);t.default=P},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y=k(r(26)),g=k(r(148)),b=k(r(25)),v=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),w=r(10),E=(k(r(126)),k(r(23)));function k(e){return e&&e.__esModule?e:{default:e}}function _(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function C(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function S(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var P=(n=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var y=arguments.length,g=Array(y),b=0;b<y;b++)g[b]=arguments[b];return r=n=C(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(g))),_(n,"processing",a,n),_(n,"sendError",o,n),_(n,"errorName",i,n),_(n,"selectedOrganizerPid",l,n),_(n,"invitesList",s,n),_(n,"reset",u,n),n.boot=function(){n.disposers.push(n.$gameplay.gameDataPurgeAutorun("inviter",n.reset))},n.isInvited=function(e){return n.$gameplay.gsm.state.invitees.indexOf(e)>=0},_(n,"setInvitesList",c,n),_(n,"clearProcessing",d,n),n.cancelInviteOrDeleteCharacter=function(e,t){n.$gameplay.gsm.characterForUser(e)?t.pop("Really delete this character and their invitation to the game?","This action will completely delete the playerâs character and remove them from the game. You will need to invite them again if you wish them to be able to play. Also note that once the game has begun, removing players is no longer possible.").then(function(){return n.reallyCancelInviteOrDeleteCharacter(e)}):t.pop("Really cancel this invitation?","You will need to invite this player again if you wish them to be able to join.").then(function(){return n.reallyCancelInviteOrDeleteCharacter(e)})},_(n,"reallyCancelInviteOrDeleteCharacter",f,n),n.popTooManyPlayers=function(e){e.pop("Too many players","This action would result in too many players. Games are limited to a maximum of "+n.$gameplay.gsm.maxPlayers+" players.",{cancelOnly:!0})},_(n,"sendInvites",p,n),_(n,"saveSelectedOrganizer",m,n),_(n,"reallySaveSelectedOrganizer",h,n),C(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,E.default),v(t,[{key:"inviterComponentDidMount",value:function(){this.selectedOrganizerPid=this.$gameplay.organizerUserPid}},{key:"setSelectedOrganizerPid",value:function(e){this.selectedOrganizerPid=e}},{key:"charactersByUserPid",get:function(){var e={};return(0,b.default)(this.$gameplay.gsm.state.characters,function(t){t.isPlayer&&(e[t.userPid]=t)}),e}},{key:"currentUserPids",get:function(){var e=[this.$gameplay.organizerUserPid];return(0,b.default)(this.$gameplay.gsm.playerCharacters("pcUserList"),function(t){e.push(t.userPid)}),(0,b.default)(this.$gameplay.gsm.state.invitees,function(t){e.push(t)}),(0,g.default)(e)}},{key:"teacherIsInvitee",get:function(){var e=this.$gameplay.gsm;return!!(0,y.default)(e.state.invitees,function(t){return t===e.state.teacherUserPid})}},{key:"teacherIsOrganizer",get:function(){var e=this.$gameplay.gsm;return e.state.organizerUserPid===e.state.teacherUserPid}},{key:"teacherHasCharacter",get:function(){var e=this.$gameplay.gsm;return!!(0,y.default)(e.playerCharacters("pcUserList"),function(t){return t.userPid===e.state.teacherUserPid})}},{key:"suggestTeacherInviteThemselves",get:function(){if(!this.$gameplay.authIsTeacher)return!1;this.$gameplay.gsm;
2return!this.teacherIsInvitee&&!this.teacherHasCharacter}},{key:"allUserPidsEligibleForOrganizerRole",get:function(){var e=[];return e.push(this.$gameplay.teacherUserPid),e.push(this.$gameplay.organizerUserPid),(0,b.default)(this.$gameplay.gsm.playerCharacters("pcUserList"),function(t){e.push(t.userPid)}),(0,b.default)(this.$gameplay.gsm.state.invitees,function(t){e.push(t)}),(0,g.default)(e)}},{key:"organizerUserPid",get:function(){return this.$gameplay.gsm&&this.$gameplay.gsm.state.organizerUserPid}}]),t}(),a=S(n.prototype,"processing",[w.observable],{enumerable:!0,initializer:function(){return!1}}),o=S(n.prototype,"sendError",[w.observable],{enumerable:!0,initializer:function(){return!1}}),i=S(n.prototype,"errorName",[w.observable],{enumerable:!0,initializer:function(){return!1}}),l=S(n.prototype,"selectedOrganizerPid",[w.observable],{enumerable:!0,initializer:function(){return!1}}),s=S(n.prototype,"invitesList",[w.observable],{enumerable:!0,initializer:function(){return""}}),u=S(n.prototype,"reset",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.processing=!1,e.sendError=!1,e.errorName=!1,e.selectedOrganizerPid=!1,e.invitesList=""}}}),S(n.prototype,"inviterComponentDidMount",[w.action],Object.getOwnPropertyDescriptor(n.prototype,"inviterComponentDidMount"),n.prototype),S(n.prototype,"setSelectedOrganizerPid",[w.action],Object.getOwnPropertyDescriptor(n.prototype,"setSelectedOrganizerPid"),n.prototype),S(n.prototype,"charactersByUserPid",[w.computed],Object.getOwnPropertyDescriptor(n.prototype,"charactersByUserPid"),n.prototype),S(n.prototype,"currentUserPids",[w.computed],Object.getOwnPropertyDescriptor(n.prototype,"currentUserPids"),n.prototype),S(n.prototype,"teacherIsInvitee",[w.computed],Object.getOwnPropertyDescriptor(n.prototype,"teacherIsInvitee"),n.prototype),S(n.prototype,"teacherIsOrganizer",[w.computed],Object.getOwnPropertyDescriptor(n.prototype,"teacherIsOrganizer"),n.prototype),S(n.prototype,"teacherHasCharacter",[w.computed],Object.getOwnPropertyDescriptor(n.prototype,"teacherHasCharacter"),n.prototype),S(n.prototype,"suggestTeacherInviteThemselves",[w.computed],Object.getOwnPropertyDescriptor(n.prototype,"suggestTeacherInviteThemselves"),n.prototype),S(n.prototype,"allUserPidsEligibleForOrganizerRole",[w.computed],Object.getOwnPropertyDescriptor(n.prototype,"allUserPidsEligibleForOrganizerRole"),n.prototype),S(n.prototype,"organizerUserPid",[w.computed],Object.getOwnPropertyDescriptor(n.prototype,"organizerUserPid"),n.prototype),c=S(n.prototype,"setInvitesList",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.invitesList=t}}}),d=S(n.prototype,"clearProcessing",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.processing=!1,e.selectedOrganizerPid=e.$gameplay.organizerUserPid}}}),f=S(n.prototype,"reallyCancelInviteOrDeleteCharacter",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.processing="cancelling",e.$gameplay.eventWrites.postCancelInvite(t,{minLatency:400}).then(e.clearProcessing,e.clearProcessing)}}}),p=S(n.prototype,"sendInvites",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=t.confirmModal;e.invitesList.trim()&&(e.$gameplay.gsm.numCurrentPlayers()+e.invitesList.trim().split(/[\s,]+/).length>e.$gameplay.gsm.maxPlayers&&r?e.popTooManyPlayers(r):(e.processing="inviting",e.$gameplay.eventWrites.postInvites(e.invitesList,{minLatency:400,noErrorModalIfSoftError:!0}).then((0,w.action)(function(t){e.processing=!1,e.invitesList="",e.sendError=!1,e.errorName=!1})).catch((0,w.action)(function(t){e.processing=!1,e.sendError=t&&t.data&&t.data.soft_error,e.errorName=t&&t.data&&t.data.error_name}))))}}}),m=S(n.prototype,"saveSelectedOrganizer",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=t.confirmModal,n=e.selectedOrganizerPid,a=e.$gameplay.gsm;if(-1===a.state.invitees.indexOf(n)&&!a.characterForUser(n)&&a.numCurrentPlayers()+1>a.maxPlayers)return e.popTooManyPlayers(r),Promise.resolve();e.teacherIsInvitee&&e.teacherIsOrganizer?r.pop("Reminder","If youâre changing the organizer because you donât want to play in this game yourself, remember to also cancel your own invitation to the game.").then(e.reallySaveSelectedOrganizer):e.reallySaveSelectedOrganizer(!0)}}}),h=S(n.prototype,"reallySaveSelectedOrganizer",[w.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(!t)return Promise.resolve(!1);
2var r={kind:"ekSetOrganizer",params:{blessed:!0,organizerUserPid:e.selectedOrganizerPid}};return e.processing="settingOrganizer",e.$gameplay.eventWrites.postEvents([r]).then(e.clearProcessing,e.clearProcessing)}}}),n);t.default=P},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=r(10);var i=function(){function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.navToScene=function(e,t){var a=n({},r.gsm.sceneHeadingForId(e),{slug:r.routeSlug});a.epilogue?t?r.$router.redirectToPath("gameEpilogueRoute",a):r.$router.navToPath("gameEpilogueRoute",a):t?r.$router.redirectToPath("gameActSceneRoute",a):r.$router.navToPath("gameActSceneRoute",a)},this.navToHighScene=function(){return r.navToScene(r.highSceneId)},this._redirectToHighScene=function(){return r.navToScene(r.highSceneId,!0)},this.redirectGameVsDeckAutorun=function(){return(0,o.autorun)(function(){r.$router.route&&r.$router.route.data&&r.$router.route.data.isGameplay&&r.loadedSlug&&r.loadedSlug===r.routeSlug&&(r.gsm&&r.gsm.state.isDeck&&(r.$router.route.data.isDeckSpecificRoute||r.$router.redirectToPath("deckRoute",{slug:r.routeSlug,noMergeCaptures:!0})),r.gsm&&!r.gsm.state.isDeck&&r.$router.route.data.isDeckSpecificRoute&&r.$router.redirectToPath("gameRoute",{}))},{name:"redirectGameVsDeckAutorun"})},this.redirectParamsOutOfRangeAutorun=function(){return(0,o.autorun)(function(){if(r.gsm){var e=r.$router.route;if("scenarioDetailRoute"!==e.name){var t=!1;if(e.captures.actNumber&&e.captures.sceneNumber){var n=r.gsm.sceneHeadingToId(e.captures);(n<0||n>r.gsm.highSceneId())&&(t=!0)}if("gameEpilogueRoute"===e.name){var a=r.gsm.sceneHeadingToId({epilogue:!0});(a<0||a>r.gsm.highSceneId())&&(t=!0)}t&&r._redirectToHighScene()}else{r.gsm.state.scenarios[e.captures.gid]||r.$router.navToPath("deckRoute")}}},{name:"redirectParamsOutOfRangeAutorun"})},this.$gameplay=t}return a(e,[{key:"gsm",get:function(){return this.$gameplay.gsm}},{key:"$router",get:function(){return this.$gameplay.$router}},{key:"routeSlug",get:function(){return this.$gameplay.routeSlug}},{key:"highSceneId",get:function(){return this.$gameplay.highSceneId}},{key:"loadedSlug",get:function(){return this.$gameplay.fetching.loadedSlug}}]),e}();t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=r(10);function u(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function c(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var d=(0,function(e){return e&&e.__esModule?e:{default:e}}(r(19)).default)("gameplay/purgeFlagMgr"),f=(n=function(){function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),u(this,"flag",a,this),this.gameDataPurgeAutorun=function(e,r){return(0,s.reaction)(function(){return{flag:t.flag}},(0,s.action)("purge data from gameplay signal",function(t){t.flag&&(d.chatter("calling game data purge fn",e),r())}))},u(this,"engage",o,this),u(this,"disengage",i,this)}return l(e,[{key:"thaw",value:function(e){this.flag=!!e.flag}},{key:"frozen",get:function(){return{flag:this.flag}}}]),e}(),a=c(n.prototype,"flag",[s.observable],{enumerable:!0,initializer:function(){return!1}}),c(n.prototype,"frozen",[s.computed],Object.getOwnPropertyDescriptor(n.prototype,"frozen"),n.prototype),c(n.prototype,"thaw",[s.action],Object.getOwnPropertyDescriptor(n.prototype,"thaw"),n.prototype),o=c(n.prototype,"engage",[s.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.flag=!0,t.purge()}}}),i=c(n.prototype,"disengage",[s.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.flag=!1}}}),n);t.default=f},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=r(10);var i=(function(e,t,r,n,a){var o={};Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null)}((n=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.$gameplay=t}return a(e,[{key:"value",get:function(){var e=this.$gameplay.$router.route,t=this.$gameplay.gsm;return this.$gameplay.fetching.notFound?"gamePageModeNotFound":t?"characterSheetRoute"===e.name?"gamePageModeCharacterSheet":t.state.isDeck?this.$gameplay.$authUser.pid===t.state.teacherUserPid?"gamePageModeDeckEditor":"gamePageModeDeckBrowser":this.$gameplay.$chargen.started?"gamePageModeChargen":t.gameIsStarted("pageMode")?"gamePageModeReadingScene":this.$gameplay.authIsOrganizer||this.$gameplay.authIsTeacher?"gamePageModePreGameOrganizer":t.state.invitees.indexOf(this.$gameplay.$authUser.pid)>=0?"gamePageModePreGameInvited":"gamePageModePreGameNonmember":"gamePageModeLoading"}}]),e}()).prototype,"value",[o.computed],Object.getOwnPropertyDescriptor(n.prototype,"value"),n.prototype),n);t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=u(r(96)),l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=r(10);function u(e){return e&&e.__esModule?e:{default:e}}function c(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function d(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var f=(0,u(r(19)).default)("gameplay/ingestion"),p=(n=function(){function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.paused=!1,this.pauseBuffer=[],this.pauseSocketEventsWhileWritingToApi=function(){f.chatter("pausing ingestion"),r.paused=!0},this.unpauseSocketEvents=function(){f.chatter("unpausing ingestion"),r.paused=!1;var e=r.pauseBuffer;r.pauseBuffer=[],(0,i.default)(e,function(e){f.chatter("unbuffering paused data",e),r.ingestSocketEvents(e)})},c(this,"ingestSocketEvents",a,this),c(this,"ingestSocketGameVob",o,this),this.ingestStateResponse=function(e){e.data.game_socket_token&&r.$gameplay.gsmContainer.setGameSocketToken(e.data.game_socket_token),e.data.game_vob&&r.$gameplay.gsmContainer.setGameVob(e.data.game_vob),e.data.complete_state?(f.info("ingestStateResponse (complete_state)"),r._ingestStateReset(JSON.parse(e.data.complete_state.state_json),JSON.parse(e.data.complete_state.events_json))):(f.info("ingestStateResponse (incremental)"),r._ingestIncrementalEvents(JSON.parse(e.data.incremental_state.events_json),e.data.incremental_state.from_bake_id))},this._ingestStateReset=function(e,t){r.gsm&&r.gsm.whoseTurn();r.$gameplay.gsmContainer.resetFromStateAndEvents(e,t),f.info("_ingestStateReset completed, bake_id=",r.gsm.state.bakeId)},this._ingestIncrementalEvents=function(e,t){try{r.gsm&&r.gsm.whoseTurn();r.$gameplay.gsmContainer.updateFromEvents(e,t),f.info("_ingestIncrementalEvents completed, bake_id=",r.gsm.state.bakeId)}catch(e){if(!(e.message.indexOf("bake_id_mismatch_incremental")>-1))throw e;r.$gameplay.fetching.throttledRefetchGameState()}},this.$gameplay=t}return l(e,[{key:"gsm",get:function(){return this.$gameplay.gsm}},{key:"gamePid",get:function(){return this.$gameplay.gamePid}},{key:"$authUser",get:function(){return this.$gameplay.$authUser}},{key:"focusedSceneId",get:function(){return this.$gameplay.focusedSceneId}},{key:"highSceneId",get:function(){return this.$gameplay.highSceneId}}]),e}(),a=d(n.prototype,"ingestSocketEvents",[s.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=t.gamePid,n=t.fromBakeId,a=t.events;
2if(f.info("ingestSocketEvents","gamePid:",r,"fromBakeId:",n,"event count:",a&&a.length),e.paused)return f.chatter("ingestion paused - buffering events"),void e.pauseBuffer.push({gamePid:r,fromBakeId:n,events:a});e.gsm?r===e.gamePid?e._ingestIncrementalEvents(a,n):f.warn("gamePid mismatch"):f.warn("no gsm, cant ingest")}}}),o=d(n.prototype,"ingestSocketGameVob",[s.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=t.vob;t.deleted;r.gamePid===e.gamePid&&e.$gameplay.gsmContainer.setGameVob(r)}}}),n);t.default=p},function(e,t,r){"use strict";function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(t){function r(){var e,t,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var o=arguments.length,i=Array(o),l=0;l<o;l++)i[l]=arguments[l];return t=a=n(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(i))),a.generateNotifs=function(e,t){a.state.isDeck||a.notifCollector&&a.applyingEvent&&a.applyingEvent.seqId>a.notifCollector.highNotifSeqId&&(a.notifCollector.notifs=a.notifCollector.notifs||[],a.hydratedNotifs(e,t).forEach(function(e){return a.notifCollector.notifs.push(e)}))},a.hydratedNotifs=function(e,t){var r=a.playerCharacters("pcNotifBroadcast").map(function(e){return e.userPid}),n=r.concat(a.state.invitees),o=(a.state.teacherUserPid,a.applyingEvent.userPid),i="â"+a.state.name+"â",l="/game/"+a.state.gamePid,s=a.state.gamePid,u=[];if("nkNewScene"===e&&r.forEach(function(t){t!==o&&u.push({userPid:t,kind:e,importance:50,wpTitle:"A new scene has started",message:"A new scene has started in "+i})}),"nkNewOrganizer"===e){var c=a.state.organizerUserPid;n.forEach(function(t){t!==c?u.push({userPid:t,kind:e,importance:40,wpTitle:"Organizer changed",message:"%"+c+"% is now the organizer in "+i}):u.push({userPid:t,kind:e,importance:100,wpTitle:"Youâre now the organizer",message:"%"+t+"%, youâre now the organizer in "+i+". Get the game ready!"})})}if("nkYourTurn"===e&&u.push({userPid:t.userPid,kind:e,importance:100,wpTitle:"Itâs your turn",message:"%"+t.userPid+"%, itâs your turn in "+i}),"nkYourTurnSkipped"===e&&u.push({userPid:t.userPid,kind:e,importance:70,wpTitle:"Skipped turn",message:"%"+t.userPid+"%, the teacher skipped your turn in "+i}),"nkMove"===e){var d="mkFlashback"===t.move.kind?"flashback":"move",f=t.move.characterGid?a.state.characters[t.move.characterGid].name:"%"+t.move.userPid+"%";r.forEach(function(t){t!==o&&u.push({userPid:t,kind:e,importance:30,wpTitle:"New "+d,message:f+" wrote a new "+d+" in "+i})})}if("nkGameOver"===e&&r.forEach(function(t){t!==o&&u.push({userPid:t,kind:e,importance:50,wpTitle:"The End!",message:i+" has reached the end. Congratulations!"})}),"nkMoveRevisionsRequested"===e){var p="mkFlashback"===t.move.kind?"flashback":"move";r.forEach(function(r){if(r!==o){var n=t.move.userPid===r?"your":t.move.characterGid?a.state.characters[t.move.characterGid].name+"âs":"%"+t.move.userPid+"%âs";u.push({userPid:r,kind:e,importance:t.move.userPid===r?100:20,wpTitle:t.move.userPid===r?"Edit your "+p:"Changes have been requested",message:"%"+o+"% has asked for changes to "+n+" "+p+" in "+i})}})}
2return"nkInvited"===e&&t.invitees.forEach(function(t){u.push({userPid:t,kind:e,importance:90,wpTitle:"Youâre invited",message:"%"+t+"%, %"+o+"% invited you to join "+i})}),"nkSetupReady"===e&&u.push({userPid:a.state.teacherUserPid,kind:e,path:"/",apnParam1:"setupReady",importance:90,wpTitle:"Game approval requested",message:"%"+o+"% requests your approval to begin "+i}),u.forEach(function(e){e.path=e.path||l,e.apnParam1=e.apnParam1||"game",e.apnParam2=e.apnParam2||s,e.guid=e.kind+"_"+a.state.gamePid+"_"+a.applyingEvent.seqId+"_"+e.userPid}),u},n(a,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};a(r(17)),a(r(172));function a(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){return function(t){function r(){var e,t,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var i=arguments.length,l=Array(i),s=0;s<i;s++)l[s]=arguments[s];return t=a=o(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(l))),a.currentScenario=function(){return a.state.scenarioGid&&a.state.scenarios[a.state.scenarioGid]},a.scenarioPrettyTask=function(e){return"scenarioTaskUgcName"===e?"A name":"scenarioTaskBlurb"===e?"A description":"scenarioTaskStorySize"===e?"A story length":"scenarioTaskSetupCards"===e?"All 4 game cards":"scenarioTaskSceneCards"===e?"All 4 scene cards for all scenes":""},a.scenarioTasks=function(e){var t=[];e.ugcName||t.push("scenarioTaskUgcName"),e.blurb||t.push("scenarioTaskBlurb"),e.storySize||t.push("scenarioTaskStorySize"),e.setupCards.indexOf(null)>=0&&t.push("scenarioTaskSetupCards");var r=!1;if(e.scenes.length)for(var n=0;n<e.scenes.length;n++)e.scenes[n].cards.indexOf(null)>=0&&(r=!0);else r=!0;return r&&t.push("scenarioTaskSceneCards"),t},a.scenarioIsComplete=function(e){return 0===a.scenarioTasks(e).length},a.assertSetupCardArrayIsValid=function(e){if("object"!==(void 0===e?"undefined":n(e))||"number"!=typeof e.length)throw new Error("setupCards is not an array");if(4!==e.length)throw new Error("setupCards length is not 4");for(var t=0;t<4;t++){var r=e[t];if(r){var o=a.state.cards[r];if(!o)throw new Error("setupCards card not found ("+r+")");if(0===t&&"ckSetting"!==o.kind)throw new Error("setupCards wrong card kind sequence");if(1===t&&"ckTone"!==o.kind)throw new Error("setupCards wrong card kind sequence");if(2===t&&"ckBeginning"!==o.kind)throw new Error("setupCards wrong card kind sequence");if(3===t&&"ckEnding"!==o.kind)throw new Error("setupCards wrong card kind sequence")}}},a.assertSceneCardArrayIsValid=function(e){if("object"!==(void 0===e?"undefined":n(e))||"number"!=typeof e.length)throw new Error("sceneCards is not an array");if(4!==e.length)throw new Error("sceneCards length is not 4");for(var t=0;t<4;t++){var r=e[t];if(r){var o=a.state.cards[r];if(!o)throw new Error("sceneCards card not found ("+r+")");if(0===t&&"ckPlace"!==o.kind)throw new Error("sceneCards wrong card kind sequence");if(1===t&&"ckChallenge"!==o.kind)throw new Error("sceneCards wrong card kind sequence");if(2===t&&"ckSuccess"!==o.kind)throw new Error("sceneCards wrong card kind sequence");if(3===t&&"ckSetback"!==o.kind)throw new Error("sceneCards wrong card kind sequence")}}},a.populateOrTruncateScenarioScenesArray=function(e,t){var r=e.numSceneCardSetsForScenarioStorySize(t.storySize);if(t.scenes.length===r);else if(t.scenes.length>r)t.scenes.splice(r,t.scenes.length);else for(var n=r-t.scenes.length,a=0;a<n;a++)t.scenes.push({cards:[null,null,null,null]})},o(a,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return e&&e.__esModule?e:{default:e}}(r(76));function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){return function(t){function r(){var e,t,o;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var i=arguments.length,l=Array(i),s=0;s<i;s++)l[s]=arguments[s];return t=o=a(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(l))),o.countWords=n.default,o.wordCounts=function(){var e={};return o.playerCharacters("pcWordCounting").forEach(function(t){e[t.userPid]=0}),o.state.scenes.forEach(function(t){t.moves.forEach(function(t){e[t.userPid]=e[t.userPid]||0,t.blurb&&t.blurb.wordCt&&(e[t.userPid]+=t.blurb.wordCt),t.blurb&&!t.blurb.wordCt&&(e[t.userPid]+=(0,n.default)(t.blurb.content))})}),e},a(o,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(r(170)),a=o(r(37));function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){return function(t){function r(){var e,t,o;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var l=arguments.length,s=Array(l),u=0;u<l;u++)s[u]=arguments[u];return t=o=i(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(s))),o.summaryProps=function(){var e={};if(o.state.isDeck){e.characterUserPids=[];var t=(0,a.default)(o.state.deckScopes);t.indexOf("ds_active")>=0?e.phase="phaseDeckActive":t.indexOf("ds_retired")>=0?e.phase="phaseDeckRetired":e.phase="phaseDeckInactive",e.numTotalScenes=0,e.numCompletedScenes=0,e.currentSceneId=void 0,e.currentTurnUserPid=void 0,e.actionableInvitees=[]}else{e.characterUserPids=(0,n.default)(o.playerCharacters("pcUserList"),function(e){return e.userPid}),o.gameOver()?e.phase="phaseGameCompleted":o.gameIsStarted("summaryProps")?e.phase="phaseGamePlaying":o.state.setupReady?e.phase="phaseGameReady":o.canSignalReady()?e.phase="phaseGameAlmostReady":e.phase="phaseGameNew",e.numTotalScenes=o.allSceneHeadings().length,e.numCompletedScenes=o.lastEndedSceneId()+1,e.currentSceneId=o.highScene()?o.highSceneId():void 0;var r=o.whoseTurn();!r.userPid||"turnToStartScene"===r.to&&r.firstScene||(e.currentTurnUserPid=r.userPid),e.actionableInvitees=[],o.canStartChargen()&&(e.actionableInvitees=o.state.invitees.slice())}return e.lastEventUnix=o.state.lastEventUnix,e},i(o,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=c(r(26)),a=c(r(150)),o=c(r(174)),i=c(r(225)),l=c(r(50)),s=c(r(17)),u=c(r(172));function c(e){return e&&e.__esModule?e:{default:e}}function d(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){return function(t){function r(){var e,t,c;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var f=arguments.length,p=Array(f),m=0;m<f;m++)p[m]=arguments[m];return t=c=d(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(p))),c.actLength=function(e,t){var r=void 0;if("storySizeShort"===(t||c.state.storySize)&&(r=1),"storySizeMedium"===(t||c.state.storySize)&&(r=2),"storySizeLong"===(t||c.state.storySize)&&(r=3),1===e)return r;if(2===e)return r;if(3===e)return r;throw new Error("act n must be 1, 2, or 3 but got",e)},c.numSceneCardSetsForScenarioStorySize=function(e){if("storySizeShort"===e)return 3;if("storySizeMedium"===e)return 6;if("storySizeLong"===e)return 9;throw new Error("invalid storySize")},c.highScene=function(){return(0,l.default)(c.state.scenes)},c.highSceneId=function(){return c.state.scenes.length?c.state.scenes.length-1:0},c.sceneSummary=function(e){var t=c.state.scenes[e],r=t?t.points:c.playerCharacters("pcMoveOrder").length,n={started:!1,finished:!1,hasSceneCards:!1,sceneCards:[],playedCards:[],polarities:[],challengePoints:r,pointsRemaining:r,challengeCard:void 0,successCard:void 0,setbackCard:void 0,challengeTrend:0,challengeTrendUnclamped:0,heading:c.sceneHeadingForId(e)};n.isEpilogue=n.heading&&!!n.heading.epilogue;var a=c.currentScenario();return t&&(n.started=!0,a&&(n.scenarioScene=a.scenes[e],n.scenarioScene&&(n.sceneCards=n.scenarioScene.cards,n.sceneCards.forEach(function(e){var t=c.state.cards[e];"ckChallenge"===t.kind&&(n.challengeCard=t),"ckSuccess"===t.kind&&(n.successCard=t),"ckSetback"===t.kind&&(n.setbackCard=t)}
2))),t.moves.forEach(function(e){e.cards.forEach(function(t){var r=c.state.cards[t];"mkDrawSceneCards"===e.kind&&(n.sceneCards.push(r),"ckChallenge"===r.kind&&(n.challengeCard=r),"ckSuccess"===r.kind&&(n.successCard=r),"ckSetback"===r.kind&&(n.setbackCard=r)),"mkPlayToChallenge"===e.kind&&(n.playedCards.push(r),n.challengeTrendUnclamped+=r.polarity||0,n.polarities.push(r.polarity),n.pointsRemaining--),"mkPlayToEpilogue"===e.kind&&n.playedCards.push(r)}),e.tieBreaker&&(n.challengeTrendUnclamped=e.tieBreaker)}),n.hasSceneCards=!!n.sceneCards.length,n.challengeTrend=(0,i.default)(n.challengeTrendUnclamped,-1,1),n.finished=n.playedCards.length===r),n},c.sceneFinished=function(e){return c.sceneSummary(e).finished},c.allSceneHeadings=function(e){var t=[],r={1:"I",2:"II",3:"III"};return[1,2,3].forEach(function(n){(0,o.default)(c.actLength(n,e),function(e){t.push({actNumber:n,actRoman:r[n],sceneNumber:e+1})})}),t.push({epilogue:!0}),t},c.sceneHeadingToId=function(e){var t=e.actNumber,r=e.sceneNumber,n=e.epilogue;return(0,a.default)(c.allSceneHeadings(),function(e){return!!e.epilogue&&!!n||e.actNumber===parseInt(t,10)&&e.sceneNumber===parseInt(r,10)})},c.sceneHeadingForId=function(e){return c.allSceneHeadings()[e]},c.sceneHeadingForIdInStorySize=function(e,t){return c.allSceneHeadings(t)[e]},c.lastEndedSceneId=function(){return c.sceneSummary(c.highSceneId()).finished?c.highSceneId():c.highSceneId()-1},c.pickSceneCards=function(e,t){var r=(0,u.default)(e);if(c.state.isDemoHack&&t>=3)return["d_card_46","d_card_60","d_card_67","d_card_77"];var a=[];return c.state.scenes.forEach(function(e,t){e.moves.forEach(function(e){"mkDrawSceneCards"===e.kind&&(t===c.lastEndedSceneId()?a.push.apply(a,function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}(e.cards)):a.push((0,n.default)(e.cards,function(e){return"ckChallenge"===c.state.cards[e].kind})))})}),s.default.cardKindsForMoveKinds.mkDrawSceneCards.map(function(e){var t=c.filterCardsForUseCase("pickSceneCards",{kind:e,excludeCardGids:a});if(0===t.length)throw new Error("not enough cards for a complete scene random draw");return t[Math.floor(t.length*r())].gid})},d(c,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GEV=t.default=void 0;var n=a(r(50));a(r(17));function a(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var i=9;t.default=function(e){return function(t){function r(){var e,t,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var l=arguments.length,s=Array(l),u=0;u<l;u++)s[u]=arguments[u];return t=a=o(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(s))),a.GEV=i,a.maxPlayers=4,a.setMaxPlayersByGEV=function(e){e<2&&(a.maxPlayers=6)},a.deckMinCardsPerKindPolarity={ckSetting0:5,ckTone0:5,ckBeginning0:5,ckEnding0:5,ckPlace0:10,ckChallenge0:10,ckSuccess0:10,ckSetback0:10,ckStrength1:10,"ckFlaw-1":10,ckBond1:10,"ckBond-1":10,ckMotivation1:10,"ckMotivation-1":10},a.deckMinCharTypes=5,a.gameIsStarted=function(e){return!!a.state.scenes.length},a.moveKindIsEditable=function(e){return"mkPlayToChallenge"===e.kind||"mkPlayToEpilogue"===e.kind||"mkFlashback"===e.kind||"mkText"===e.kind},a.userHasMoveEditPrivs=function(e,t){return t===a.state.teacherUserPid||e.userPid===t&&!!a.characterForUser(t)},a.moveIsOverallEditableBy=function(e,t){return a.moveKindIsEditable(e)&&a.userHasMoveEditPrivs(e,t)},a.moveIsRevisionRequestableBy=function(e,t){return("mkPlayToChallenge"===e.kind||"mkPlayToEpilogue"===e.kind||"mkFlashback"===e.kind)&&e.userPid!==t&&t===a.state.teacherUserPid&&!e.revisionRequest},a.moveIsDeletableByUserIfNoNewDraftsAreInProgress=function(e,t){for(var r=void 0,o=a.highSceneId();o>=0&&(a.state.scenes[o]&&a.state.scenes[o].moves.length&&(r=(0,n.default)(a.state.scenes[o].moves)),!r);o--);
2return t===a.state.teacherUserPid&&r&&r.gid===e.gid},a.canSignalReady=function(){return!a.state.setupReady&&a.setupTasksComplete()},a.setupTasksComplete=function(){return!(!a.hasAllSetupCards()||!a.characterForUser(a.state.organizerUserPid)||a.playerCharacters("pcPlayerCounting").length<2||a.gameIsStarted("canStart"))},a.canDrawInitialBonds=function(){return 1===a.state.scenes.length&&0===a.state.scenes[0].moves.length},a.canInvite=function(){return!(a.gameOver()||a.numCurrentPlayers()>=a.maxPlayers||a.highSceneId()&&a.sceneSummary(a.highSceneId()).isEpilogue)},a.canStartChargen=function(){return a.hasAllSetupCards()&&!a.gameOver()},a.userCanRemoveOtherUser=function(e,t){return!a.gameIsStarted("removeOtherUser")&&(a.characterForUser(t)?e===a.state.teacherUserPid:e===a.state.teacherUserPid||e===a.state.organizerUserPid)},a.canMoveMkText=function(e,t){if(e!==a.state.teacherUserPid)return!1;if(!a.hasInitialBonds())return!1;var r=t||a.whoseTurn();return"turnToMove"!==r.to||"mkDrawSceneCards"!==r.kind},o(a,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()},t.GEV=i},,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=u(r(705)),a=u(r(26)),o=u(r(704)),i=u(r(27)),l=u(r(170)),s=u(r(35));u(r(17));function u(e){return e&&e.__esModule?e:{default:e}}function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){return function(t){function r(){var e,t,u;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var f=arguments.length,p=Array(f),m=0;m<f;m++)p[m]=arguments[m];return t=u=d(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(p))),u._basicMoveOrderCharacters=function(e){return(0,s.default)(u.playerCharacters(e?"pcMoveOrderWithDeleted":"pcMoveOrder"),function(e){return e.userPid===u.state.organizerUserPid?-1:u.intGid(e.gid)})},u._nextCharacterGidInOrder=function(e){var t=(0,l.default)(u._basicMoveOrderCharacters(!0),function(e){return e.gid}),r=t.indexOf(e);if(r<0)throw new Error("characterGid not found in move order");for(r=(r+1)%t.length;u.state.characters[t[r]].deleted;)r=(r+1)%t.length;return t[r]},u.updatePreGameTurnPointers=function(e){if(!u.gameIsStarted("setupActionsDisabled")){var t=u.characterForUser(u.state.organizerUserPid);t&&(u.state.turnCharacterGid=t.gid,u.state.startSceneCharacterGid=t.gid)}},u.advanceTurnPointers=function(e){var t=u.whoseTurn();if("atpMoved"===e){var r=u.sceneSummary(u.highSceneId());if(r.finished){var n=r.heading.epilogue,a=!n&&u.sceneSummary(u.highSceneId()+1).heading.epilogue;n||(a?(u.state.startSceneCharacterGid=u.characterForUser(u.state.highWordCountsUserPidBeforeEpilogue).gid,u.state.turnCharacterGid=u.state.startSceneCharacterGid,u.incrementBehavior(u.state.highWordCountsUserPidBeforeEpilogue,"bhvr_win_epilogue",1),u.state.stopWordCountingForEpilogue=!0):(u.state.startSceneCharacterGid=u._nextCharacterGidInOrder(u.state.startSceneCharacterGid),u.state.turnCharacterGid=u.state.startSceneCharacterGid))}else u.state.turnCharacterGid=u._nextCharacterGidInOrder(u.state.turnCharacterGid)}"atpSkipped"!==e&&"atpRemovedWhileTurn"!==e||("turnToStartScene"===u.whoseTurn().to?(u.state.startSceneCharacterGid=u._nextCharacterGidInOrder(u.state.startSceneCharacterGid),u.state.turnCharacterGid=u.state.startSceneCharacterGid):u.state.turnCharacterGid=u._nextCharacterGidInOrder(u.state.turnCharacterGid));var o=u.whoseTurn();o.to&&t.characterGid!==o.characterGid&&(u.generateNotifs("nkYourTurn",o),"atpSkipped"===e&&u.generateNotifs("nkYourTurnSkipped",t))},u.resetTurnPointersAfterDeletion=function(e,t,r){if("rtpMoveDeleted"===e&&(u.state.turnCharacterGid=t.characterGid,t.isConclusion)){if(!u.highScene())throw new Error("cannot revert turn pointers prior to initial scene");u.state.startSceneCharacterGid=u.highScene().startedByCharacterGid}u.state.characters[u.state.startSceneCharacterGid].deleted&&(u.state.startSceneCharacterGid=u._nextCharacterGidInOrder(u.state.startSceneCharacterGid)),u.state.characters[u.state.turnCharacterGid].deleted&&(u.state.turnCharacterGid=u._nextCharacterGidInOrder(u.state.turnCharacterGid));var n=u.whoseTurn();n.to&&r.characterGid!==n.characterGid&&u.generateNotifs("nkYourTurn",n)},u.canEditInitialBonds=function(){return 0===u.highSceneId()&&(!(u.highScene()?u.highScene().moves:[]).length&&!!u.hasInitialBonds())},u.whoseTurn=function(){var e,t=[],r=[],s=[],d=!1,f=!1,p=u.playerCharacters("pcMoveOrder").map(function(e){return e.gi
2d}),m=(0,l.default)((0,i.default)(u.highScene()?u.highScene().moves:[],function(e){return"mkFlashback"===e.kind}),function(e){return e.characterGid}),h=(0,o.default)(p,m);if(u.gameOver())return{gameOver:!0,isEpilogue:d=!0,canStartFlashback:h,canPublishFlashback:h,mustDrawCards:[],firstScene:!1,isSkippable:f};var y=u.sceneSummary(u.highSceneId());if(!u.gameIsStarted("whoseTurnPreGame")&&!u.canSignalReady()&&!u.state.setupReady)return{preGame:!0,canStartFlashback:r,canPublishFlashback:s,mustDrawCards:t,isEpilogue:d,firstScene:!0,isSkippable:f};if(e=u.state.characters[u.state.turnCharacterGid],u.canSignalReady()||u.state.setupReady&&!u.gameIsStarted("whoseTurnPreGame"))return{userPid:e.userPid,characterGid:e.gid,character:e,to:"turnToStartScene",firstScene:!0,canStartFlashback:r,canPublishFlashback:s,mustDrawCards:t,isEpilogue:d,isSkippable:f};if(d=!!y.heading.epilogue,f=!0,!u.hasInitialBonds())return{userPid:e.userPid,characterGid:e.gid,character:e,to:"turnToDrawInitialBonds",firstScene:!0,isEpilogue:d,canStartFlashback:r,canPublishFlashback:s,mustDrawCards:t,isSkippable:f};if(0===y.sceneCards.length&&!d)return{userPid:e.userPid,characterGid:e.gid,character:e,to:"turnToMove",kind:"mkDrawSceneCards",isEpilogue:d,canStartFlashback:r,canPublishFlashback:s,mustDrawCards:t,firstScene:0===u.highSceneId(),isSkippable:f};if(y.finished){var g,b=!!u.allSceneHeadings()[u.highSceneId()+1].epilogue;return r=(0,o.default)(h,[e.gid]),s=h,c(g={userPid:e.userPid,characterGid:e.gid,character:e,to:"turnToStartScene",firstScene:!1,isEpilogue:b,canStartFlashback:r,canPublishFlashback:s,mustDrawCards:t},"firstScene",!1),c(g,"isSkippable",f),g}t=(0,i.default)(p,function(e){return!!u.characterCardDeficit(e)});var v=d?(0,i.default)(p,function(e){return(0,a.default)(u.highScene()?u.highScene().moves:[],function(t){return"mkPlayToEpilogue"===t.kind&&t.characterGid===e})}):[];t=(0,o.default)(t,v),r=(0,o.default)(h,(0,n.default)(t,[e.gid])),s=h;var w=t.indexOf(e.gid)>=0;return{userPid:e.userPid,characterGid:e.gid,character:e,to:"turnToMove",isEpilogue:d,kind:w?"mkDrawCharacterCards":d?"mkPlayToEpilogue":"mkPlayToChallenge",canStartFlashback:r,canPublishFlashback:s,mustDrawCards:t,firstScene:0===u.highSceneId(),isSkippable:f}},d(u,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a(r(26));a(r(17));function a(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){return function(t){function r(){var e,t,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var i=arguments.length,l=Array(i),s=0;s<i;s++)l[s]=arguments[s];return t=a=o(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(l))),a.moveGuidIsPublished=function(e){return!!(0,n.default)(a.state.scenes,function(t){return!!(0,n.default)(t.moves,function(t){return t.guid===e})})},a.getMoveForMoveGid=function(e){for(var t=a.state.scenes.length-1;t>=0;t--)for(var r=a.state.scenes[t],n=r.moves.length-1;n>=0;n--)if(r.moves[n].gid===e)return r.moves[n]},a.getMoveForMoveGuid=function(e){for(var t=a.state.scenes.length-1;t>=0;t--)for(var r=a.state.scenes[t],n=r.moves.length-1;t>=0;t--)if(r.moves[n].guid===e)return r.moves[n]},o(a,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(t){function r(){var e,t,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var o=arguments.length,i=Array(o),l=0;l<o;l++)i[l]=arguments[l];return t=a=n(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(i))),a.copyProps=function(e,t,r){e.forEach(function(e){t.hasOwnProperty(e)&&(r[e]=t[e])})},n(a,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(t){function r(){var e,t,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var o=arguments.length,i=Array(o),l=0;l<o;l++)i[l]=arguments[l];return t=a=n(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(i))),a.intGid=function(e){return parseInt(e.replace(/[^\d]/g,""),10)},a.getGid=function(e,t){var r=((a.state.isDeck||t&&t.params.fromDeckEventSeqId)&&!a.state.isMockDeck?"d":"g")+"_"+e;return a.state.gidCounters[r]=a.state.gidCounters[r]||0,a.state.gidCounters[r]+=1,r+"_"+a.state.gidCounters[r]},a.upcomingGid=function(e,t){var r=((a.state.isDeck||t&&t.params.fromDeckEventSeqId)&&!a.state.isMockDeck?"d":"g")+"_"+e;return r+"_"+((a.state.gidCounters[r]||0)+1)},n(a,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=c(r(710)),a=c(r(35)),o=c(r(149)),i=c(r(96)),l=c(r(25)),s=c(r(17)),u=c(r(172));function c(e){return e&&e.__esModule?e:{default:e}}function d(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){return function(t){function r(){var e,t,c;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var f=arguments.length,p=Array(f),m=0;m<f;m++)p[m]=arguments[m];return t=c=d(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(p))),c.hasAllSetupCards=function(){var e={};return(0,l.default)(c.state.setupCards,function(t){if(t){var r=c.state.cards[t];e[r.kind]=!0}}),!!(e.ckSetting&&e.ckTone&&e.ckBeginning&&e.ckEnding)},c.hasInitialBonds=function(){return!!c.state.initialBonds},c.hasUnredeemedInvites=function(){return c.state.invitees.length>0},c.pickSetupCards=function(e){var t=(0,u.default)(e),r=[];return s.default.setupCardKindPrngOrder.forEach(function(e){var n=c.filterCardsForUseCase("pickSetupCards",{kind:e});0===n.length&&c.throwEventError("pickSetupCards found no available cards for kind:",e);var a=Math.floor(n.length*t());r.push(n[a].gid)}),r},c.pickInitialBonds=function(e,t){var r=(0,u.default)(e),s=[];if(c.state.isDemoHack&&t>=3){var d=["g_char_2","g_char_1","g_char_3"],f=["g_char_3","g_char_2","g_char_1"];return(0,i.default)(["d_card_144","d_card_151","d_card_156"],function(e,t){var r=(0,o.default)(c.state.cards[e]);delete r.gid,r.fromCharacterGid=d[t],r.toCharacterGid=f[t],s.push(r)}),s}var p=c.filterCardsForUseCase("initialBonds");0===p.length&&c.throwEventError("pickInitialBonds found no available cards");var m=c.playerCharacters("pcPlayerCounting");m.length<2&&c.throwEventError("at least two characters are required");var h={};(0,i.default)(m,function(e){return h[e.gid]=r()});var y=(0,a.default)(m,[function(e){return h[e.gid]}
2,function(e){return e.gid}]);return(0,l.default)(y,function(e,t){if(e.isPlayer){var a=y[(t+1)%y.length],i=p[Math.floor(p.length*r())],l=(0,o.default)(i);delete l.gid,l.fromCharacterGid=e.gid,l.toCharacterGid=a.gid,s.push(l),(0,n.default)(p,function(e){return e.name===i.name})}}),(0,a.default)(s,function(e){return c.intGid(e.fromCharacterGid)})},d(c,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});!function(e){e&&e.__esModule}(r(17));function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){var t,r;return t=function(t){function a(){var e,t,o;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var i=arguments.length,l=Array(i),s=0;s<i;s++)l[s]=arguments[s];return t=o=n(this,(e=a.__proto__||Object.getPrototypeOf(a)).call.apply(e,[this].concat(l))),r.call(o),n(o,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(a,e),a}(),r=function(){var e=this;this.throwEventError=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];throw new Error("throwEventError: "+JSON.stringify(t))},this.requireBlessed=function(){e.applyingEvent.params.blessed||e.throwEventError("blessed event required")},this.requireTeacher=function(){e.applyingEventIsTeacher()||e.throwEventError("teacher required")},this.requireTeacherOrBlessed=function(){e.applyingEvent.params.blessed||e.applyingEventIsTeacher()||e.throwEventError("teacher or blessed event required")},this.requireOrganizerOrTeacher=function(){e.applyingEventIsTeacher()||e.applyingEventIsOrganizer()||e.throwEventError("organizer or teacher required")},this.requireTeacherOrDeckAuthor=function(){e.applyingEventIsTeacher()||e.applyingEvent.params.fromDeckEventSeqId||e.throwEventError("teacher or deck author required")},this.requireOrganizerOrTeacherOrDeckAuthor=function(){e.applyingEventIsTeacher()||e.applyingEventIsOrganizer()||e.applyingEvent.params.fromDeckEventSeqId||e.throwEventError("organizer or teacher or deck author required")},this.applyingEventIsTeacher=function(){return e.applyingEvent.userPid===e.state.teacherUserPid},this.applyingEventIsOrganizer=function(){return e.applyingEvent.userPid===e.state.organizerUserPid},this.requireMinimumDeckEditLevel=function(t,r){if(!e.state.isDeck)return!1;if(r.gev<6)return!1;if(r.params.blessed)return!1;var n=e.deckEditingRestrictionLevel(),a=["deck_edits_none","deck_edits_minor","deck_edits_all"];
2if("deck_edits_none"===n&&e.applyNotesForOtherHandlers.skipDeckEditsNoneRule)return!1;a.indexOf(t)>a.indexOf(n)&&e.throwEventError("insufficient deckEditingRestrictionLevel ("+t+" required but "+n+" in effect)")},this.requireUserTeacherDeckAuthorOrBlessed=function(t){e.applyingEventIsTeacher()||e.applyingEvent.params.fromDeckEventSeqId||e.applyingEvent.params.blessed||e.applyingEvent.userPid===t||e.throwEventError("requireUserTeacherDeckAuthorOrBlessed check failed")}},t}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return e&&e.__esModule?e:{default:e}}(r(26));function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){return function(t){function r(){var e,t,o;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var i=arguments.length,l=Array(i),s=0;s<i;s++)l[s]=arguments[s];return t=o=a(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(l))),o.gameOver=function(){var e=o.sceneSummary(o.highSceneId());return!(!e.finished||!e.heading.epilogue)},o.endingCardGid=function(){return(0,n.default)(o.state.setupCards,function(e){return e&&"ckEnding"===o.state.cards[e].kind})},a(o,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(r(31)),a=i(r(37)),o=i(r(26));i(r(17));function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){return function(t){function r(){var e,t,i;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var s=arguments.length,u=Array(s),c=0;c<s;c++)u[c]=arguments[c];return t=i=l(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(u))),i.deckEditingRestrictionLevel=function(){return!!i.state.isDeck&&(i.state.deckIsPublished?i.state.libraryFirstActiveAtUnix||"ds_pending"===i.state.deckScopes.library?"deck_edits_none":"deck_edits_minor":"deck_edits_all")},i.cardIsUsedByOtherDeckObjects=function(e){return!!(0,o.default)(i.charTypeCharacters(),function(t){return t.cards.indexOf(e)>=0})||(!!(0,o.default)((0,a.default)(i.state.scenarios),function(t){return t.setupCards.indexOf(e)>=0})||!!(0,o.default)((0,a.default)(i.state.scenarios),function(t){return(0,o.default)(t.scenes,function(t){return t.cards.indexOf(e)>=0})}))},i.deckCompletionTasks=function(e){var t=i.state,r={remaining:{classroom:[],library:[]},cardKindPolarityNeeded:{}};if(!t.isDeck)return r;t.ugcName||r.remaining.classroom.push("deckCompletionTaskUgcNameRequired"),t.image||r.remaining.classroom.push("deckCompletionTaskImageRequired"),t.deckBlurb||r.remaining.classroom.push("deckCompletionTaskDeckBlurbRequired");var a=i.filterCardsForUseCase("deckCompletionCardCounting"),o=!0;return(0,n.default)(i.deckMinCardsPerKindPolarity).forEach(function(e){var t=i.deckMinCardsPerKindPolarity[e];r.cardKindPolarityNeeded[e]=0,a[e]<t&&(o=!1,r.cardKindPolarityNeeded[e]=t-a[e])}),o||r.remaining.classroom.push("deckCompletionTaskCardKindCount"),i.charTypeCharacters().length<i.deckMinCharTypes&&r.remaining.classroom.push("deckCompletionTaskCharTypeCount"),t.deckSubjects&&0!==t.deckSubjects.length||r.remaining.classroom.push("deckCompletionTaskDeckSubjectsRequired"),t.deckGrades&&0!==t.deckGrades.length||r.remaining.classroom.push("deckCompletionTaskDeckGradesRequired"),r},i.deckHasEnoughDataToCreateCharType=function(){return!!(0,o.default)(i.state.cards,function(e){return"ckStrength"===e.kind})&&(!!(0,o.default)(i.state.cards,function(e){return"ckFlaw"===e.kind})&&!!(0,o.default)(i.state.cards,function(e){return"ckMotivation"===e.kind&&-1===e.polarity}))},i.deckPdfAssetUrl=function(e){var t=e.assetId.replace("pdf/","");return"/pdfs/"+i.deckPdfAssetFileName(e)+"?assetId="+t},i.deckPdfAssetFileName=function(e){return"StoriumEdu storyworld "+i.state.slug+" - "+e.type+" v"+e.version+".pdf"},i.deckCanBeDeleted=function(){return i.state.isDeck&&1===i.state.deckVersion&&!i.state.deckIsPublished},l(i,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){for(var t=e.toLowerCase(),r="",a=0;a<t.length;a++){var o=t[a];n[o]&&(o=n[o]),o=o.replace(/[^\w\s\-_~]/g,""),r+=o}return r=(r=(r=r.replace(/^\s+|\s+$/g,"")).replace(/[-\s]+/g,"-")).replace(/^-+|-+$/g,"")};var n={"Ã":"A","Ã":"A","Ã":"A","Ã":"A","Ã":"A","Ã
":"A","Ã":"AE","Ã":"C","Ã":"E","Ã":"E","Ã":"E","Ã":"E","Ã":"I","Ã":"I","Ã":"I","Ã":"I","Ã":"D","Ã":"N","Ã":"O","Ã":"O","Ã":"O","Ã":"O","Ã":"O","Å":"O","Ã":"O","Ã":"U","Ã":"U","Ã":"U","Ã":"U","Ű":"U","Ã":"Y","Ã":"TH","Ã":"ss","à ":"a","á":"a","â":"a","ã":"a","ä":"a","Ã¥":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","Ã":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","Å":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ű":"u","ý":"y","þ":"th","ÿ":"y","áº":"SS","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","Ï":"p","Ï":"r","Ï":"s","Ï":"t","Ï
":"y","Ï":"f","Ï":"x","Ï":"ps","Ï":"w","ά":"a","Î":"e","ί":"i","Ï":"o","Ï":"y","ή":"h","Ï":"w","Ï":"s","Ï":"i","ΰ":"y","Ï":"y","Î":"i","Î":"A","Î":"B","Î":"G","Î":"D","Î":"E","Î":"Z","Î":"H","Î":"8","Î":"I","Î":"K","Î":"L","Î":"M","Î":"N","Î":"3","Î":"O","Î ":"P","Ρ":"R","Σ":"S","Τ":"T","Î¥":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Î":"A","Î":"E","Î":"I","Î":"O","Î":"Y","Î":"H","Î":"W","Ϊ":"I","Ϋ":"Y","Å":"s","Å":"S","ı":"i","İ":"I","Ä":"g","Ä":"G","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","Ñ":"yo","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","Ñ":"r","Ñ":"s","Ñ":"t","Ñ":"u","Ñ":"f","Ñ
":"h","Ñ":"c","Ñ":"ch","Ñ":"sh","Ñ":"sh","Ñ":"u","Ñ":"y","Ñ":"","Ñ":"e","Ñ":"yu","Ñ":"ya","Ð":"A","Ð":"B","Ð":"V","Ð":"G","Ð":"D","Ð":"E","Ð":"Yo","Ð":"Zh","Ð":"Z","Ð":"I","Ð":"J","Ð":"K","Ð":"L","Ð":"M","Ð":"N","Ð":"O","Ð":"P","Ð ":"R","С":"S","Т":"T","У":"U","Ф":"F","Ð¥":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Ð":"E","Ю":"Yu","Я":"Ya","Ð":"Ye","Ð":"I","Ð":"Yi","Ò":"G","Ñ":"ye","Ñ":"i","Ñ":"yi","Ò":"g","Ä":"c","Ä":"d","Ä":"e","Å":"n","Å":"r","Å¡":"s","Å¥":"t","ů":"u","ž":"z","Ä":"C","Ä":"D","Ä":"E","Å":"N","Å":"R","Å ":"S","Ť":"T","Å®":"U","Ž":"Z","Ä
":"a","Ä":"c","Ä":"e","Å":"l","Å":"n","Å":"s","ź":"z","ż":"z","Ä":"A","Ä":"C","Ä":"E","Å":"L","Å":"N","Å":"S","Ź":"Z","Å»":"Z","Ä":"a","Ä":"e","Ä£":"g","Ä«":"i","Ä·":"k","ļ":"l","Å":"n","Å«":"u","Ä":"A","Ä":"E","Ä¢":"G","Ī":"I","Ķ":"K","Ä»":"L","Å
":"N","Ū":"U","Ä":"e","į":"i","ų":"u","Ä":"E","Ä®":"I","Ų":"U","È":"t","È":"T","Å£":"t","Å¢":"T","È":"s","È":"S","Ä":"a","Ä":"A","©":"(c)","Å":"oe","Å":"OE","â":"sum","®":"(r)","â ":"+","â":'"',"â":'"',"â":"'","â":"'","â":"d","Æ":"f","â¢":"tm","â ":"sm","â¦":"...","Ë":"o","º":"o","ª":"a","â¢":"*","&":"and"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=c(r(148)),a=c(r(37)),o=c(r(35)),i=c(r(27)),l=c(r(26)),s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},u=(c(r(17)),c(r(715)));function c(e){return e&&e.__esModule?e:{default:e}}function d(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){return function(t){function r(){var e,t,c;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var f=arguments.length,p=Array(f),m=0;m<f;m++)p[m]=arguments[m];return t=c=d(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(p))),c.numCurrentPlayers=function(){return c.playerCharacters("pcPlayerCounting").length+c.state.invitees.length},c.characterForUser=function(e,t){var r=s({},t);return(0,l.default)(c.state.characters,function(t){return t.isPlayer&&t.userPid===e&&(!t.deleted||r.includeDeleted)})},c.charTypeCharacters=function(){return(0,i.default)((0,o.default)((0,a.default)(c.state.characters),function(e){return c.intGid(e.gid)}),function(e){return e.isCharType&&!e.deleted})},c.playerCharacters=function(e){if("pcGameBehaviors"===e||"pcPickBondTarget"===e||"pcCast"===e||"pcMoveOrder"===e)return(0,i.default)((0,o.default)((0,a.default)(c.state.characters),function(e){return c.intGid(e.gid)}),function(e){return e.isPlayer&&!e.deferredJoin&&!e.deleted});if("pcMoveOrderWithDeleted"===e)return(0,i.default)((0,o.default)((0,a.default)(c.state.characters),function(e){return c.intGid(e.gid)}),function(e){return e.isPlayer&&!e.deferredJoin});if("pcDeferredJoin"===e)return(0,i.default)((0,o.default)((0,a.default)(c.state.characters),function(e){return c.intGid(e.gid)}),function(e){return e.isPlayer&&e.deferredJoin&&!e.deleted});if("pcTakenCharTypes"===e)return(0,i.default)((0,o.default)((0,a.default)(c.state.characters),function(e){return c.intGid(e.gid)}),function(e){return e.isPlayer&&!e.deleted&&e.fromCharTypeGid});if("pcPlayerCounting"===e||"pcUserList"===e||"pcTakenCharTypes"===e||"pcNotifBroadcast"===e)return(0,i.default)((0,o.default)((0,a.default)(c.state.characters),function(e){return c.intGid(e.gid)}),function(e){return e.isPlayer&&!e.deleted});if("pcWordCounting"===e)return(0,i.default)((0,o.default)((0,a.default)(c.state.characters),function(e){return c.intGid(e.gid)}),function(e){return e.isPlayer});throw new Error('unrecognized playerCharacters useCase "'+e+'"')},c.pickCharacterSlug=function(e,t){for(var r=void 0,n=!1,a=1,o=e.name,i=function(t){return t.gid!==e.gid&&t.slug===r};!n;)""===(r=(0,u.default)(o))&&(r=e.gid),a>1&&(r=r+"--"+a),!!(0,l.default)(t,i)?a++:n=!0;return r},c.cardsPlayedForCharacterGid=function(e){var t=[];
2return c.state.scenes.forEach(function(r){return r.moves.forEach(function(r){!r.characterGid||r.characterGid!==e||"mkPlayToChallenge"!==r.kind&&"mkFlashback"!==r.kind||t.push.apply(t,function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}(r.cards))})}),(0,n.default)(t)},c.characterCardDeficit=function(e){return Math.max(0,4-c.state.characters[e].cards.length)},d(c,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(r(35)),a=o(r(17));function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){return function(t){function r(){var e,t,o;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var l=arguments.length,s=Array(l),u=0;u<l;u++)s[u]=arguments[u];return t=o=i(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(s))),o.cardKinds=a.default.cardKinds,o.cardKindHasVariablePolarity=function(e){return"ckBond"===e||"ckMotivation"===e},o.cardKindFixedPolarity=function(e){if("ckBond"===e||"ckMotivation"===e)throw new Error("ckBond and ckMotivation do not have fixed polarity");return"ckStrength"===e?1:"ckFlaw"===e?-1:0},o.cardNameSortValue=function(e){return e.toCharacterGid?o.state.characters[e.toCharacterGid].name+"âs "+e.name:e.name},o.cardGidNameSortValue=function(e){return o.cardNameSortValue(o.state.cards[e])},o.cardKindSortValue=function(e){return String.fromCharCode(65+a.default.cardKindDisplaySortOrder.indexOf(e))},o.cardDisplaySortValue=function(e){return o.cardKindSortValue(e.kind)+" "+o.cardNameSortValue(e)},o.cardGidDisplaySortValue=function(e){return o.cardDisplaySortValue(o.state.cards[e])},o.cardsDisplaySorted=function(e){return(0,n.default)(e,function(e){return o.cardDisplaySortValue(e)})},o.cardGidsDisplaySorted=function(e){return(0,n.default)(e,function(e){return o.cardGidDisplaySortValue(e)})},o.kindIcon=function(e){return{ckSetting:"globe",ckTone:"adjust",ckBeginning:"play-circle",ckEnding:"stop-circle",ckPlace:"home",ckChallenge:"bullseye",ckSuccess:"plus-square",ckSetback:"minus-square",ckStrength:"arrow-circle-up",ckFlaw:"arrow-circle-down",ckMotivation:"flag",ckBond:"link"}[e]},o.prettyKind=function(e,t){return(t?{ckBeginning:"Beginnings",ckBond:"Bonds",ckChallenge:"Challenges",ckEnding:"Endings",ckFlaw:"Flaws",ckMotivation:"Motivations",ckPlace:"Places",ckSetback:"Setbacks",ckStrength:"Strengths",ckSuccess:"Successes",ckTone:"Tones",ckSetting:"Settings"}:{ckBeginning:"Beginning",ckBond:"Bond",ckChallenge:"Challenge",ckEnding:"Ending",ckFlaw:"Flaw",ckMotivation:"Motivation",ckPlace:"Place",ckSetback:"Setback",ckStrength:"Strength",ckSuccess:"Success",ckTone:"Tone",ckSetting:"Setting"})[e]},i(o,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(r(96)),a=l(r(31)),o=l(r(27)),i=l(r(26));function l(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){return function(t){function r(){var e,t,l;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var u=arguments.length,c=Array(u),d=0;d<u;d++)c[d]=arguments[d];return t=l=s(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(c))),l.cardNameIsTaken=function(e,t,r,n){return!!(0,i.default)(l.state.cards,function(a){return(!n||a!==n&&a.gid!==n.gid)&&a.kind===t&&a.polarity===r&&!a.deleted&&!a.toCharacterGid&&a.name.trim().toLowerCase()===e.trim().toLowerCase()})},l.filterCardsForUseCase=function(e,t){if("charTypeEditor"===e)return(0,o.default)(l.state.cards,function(e){return e.kind===t.kind&&!e.deleted&&("ckMotivation"!==t.kind||e.polarity<0)});if("pickSetupCards"===e)return(0,o.default)(l.state.cards,function(e){return e.kind===t.kind&&!e.deleted});if("initialBonds"===e)return(0,o.default)(l.state.cards,function(e){return"ckBond"===e.kind&&e.polarity>0&&!e.toCharacterGid&&!e.deleted});if("pickSceneCards"===e)return(0,o.default)(l.state.cards,function(e){return e.kind===t.kind&&(t.excludeCardGids||[]).indexOf(e.gid)<0&&!e.deleted});if("drawCards"===e)return(0,o.default)(l.state.cards,function(e){return e.kind===t.kind&&e.polarity===t.polarity&&!e.toCharacterGid&&!e.deleted});if("deckBrowser"===e)return(0,o.default)(l.state.cards,function(e){return e.kind===t.kind&&!e.toCharacterGid&&!e.deleted});if("cardsTabCount"===e){for(var r=Object.keys(l.state.cards),i=0,s=0;s<r.length;s++)l.state.cards[r[s]].deleted||i++;return i}if("deckCompletionCardCounting"===e){var u={};
2return(0,a.default)(l.deckMinCardsPerKindPolarity).forEach(function(e){return u[e]=0}),(0,n.default)(l.state.cards,function(e,t){var r=""+e.kind+e.polarity;u[r]=u[r]||0,e.deleted||u[r]++}),u}if("cardKindCounts"===e){var c={};return l.cardKinds.forEach(function(e){return c[e]=0}),(0,n.default)(l.state.cards,function(e,t){e.deleted||c[e.kind]++}),c}throw new Error("unrecognized filterCardsForUseCase use case: "+e)},s(l,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});!function(e){e&&e.__esModule}(r(17));function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}t.default=function(e){return function(t){function r(){var e,t,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var o=arguments.length,i=Array(o),l=0;l<o;l++)i[l]=arguments[l];return t=a=n(this,(e=r.__proto__||Object.getPrototypeOf(r)).call.apply(e,[this].concat(i))),a._behaviorTimeRange=void 0,a.setBehaviorTimeRangeMinMaxUnix=function(e,t){a._behaviorTimeRange=e&&t?{minUnix:e,maxUnix:t}:void 0},a.incrementBehavior=function(e,t,r){a._behaviorTimeRange&&(a.applyingEvent.createdAtUnix<a._behaviorTimeRange.minUnix||a.applyingEvent.createdAtUnix>a._behaviorTimeRange.maxUnix)||a.applyingEvent.params.fromDeckEventSeqId||(a.state.behaviors[e]=a.state.behaviors[e]||{},a.state.behaviors[e][t]=a.state.behaviors[e][t]||0,a.state.behaviors[e][t]=a.state.behaviors[e][t]+r,0===a.state.behaviors[e][t]&&delete a.state.behaviors[e][t],0===Object.getOwnPropertyNames(a.state.behaviors[e]).length&&delete a.state.behaviors[e])},a.trackWords=function(e,t){a.applyingEvent.params.fromDeckEventSeqId||(a.state.wordCtDeltas.push(a.applyingEvent.createdAtUnix-a.state.createdAtUnix),a.state.wordCtDeltas.push(e),a.state.wordCtDeltas.push(t),a.incrementBehavior(e,"bhvr_write_word",t))},n(a,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(r(25)),a=l(r(35)),o=l(r(50)),i=(l(r(17)),l(r(76)));function l(e){return e&&e.__esModule?e:{default:e}}var s=function(e,t){var r=t||e.wordCounts(),n=e.playerCharacters("pcMoveOrder").map(function(e){return e.userPid});e.state.highWordCountsUserPidBeforeEpilogue=(0,o.default)((0,a.default)(n,function(e){return r[e]||-1}))},u={ekInit:function(e){e.event;var t=e.state;t.wordCtDeltas=[t.createdAtUnix]},ekMove:function(e){e.event;var t=e.state,r=this.wordCounts();t.stopWordCountingForEpilogue||s(this,r);var n=this.applyNotesForOtherHandlers.move;"mkPlayToChallenge"!==n.kind&&"mkPlayToEpilogue"!==n.kind||this.advanceTurnPointers("atpMoved"),n.blurb&&this.trackWords(n.userPid,n.blurb.wordCt||(0,i.default)(n.blurb.content))},ekEditMove:function(e){var t=e.event,r=e.state,n=this.wordCounts(),a=this.getMoveForMoveGid(t.params.gid);a||this.throwEventError("move not found"),r.stopWordCountingForEpilogue||s(this,n);var o=this.applyNotesForOtherHandlers.origBlurb,l=o.wordCt||(0,i.default)(o.content);this.trackWords(a.userPid,(a.blurb.wordCt||(0,i.default)(a.blurb.content))-l)},ekDeleteMove:function(e){e.event;var t=e.state,r=this.wordCounts(),n=this.applyNotesForOtherHandlers.deletedMove,a=this.sceneSummary(n.sceneId);if(!a.heading.epilogue&&this.sceneSummary(n.sceneId+1).heading.epilogue&&!a.finished&&t.stopWordCountingForEpilogue&&(delete t.stopWordCountingForEpilogue,t.highWordCountsUserPidBeforeEpilogue&&this.incrementBehavior(t.highWordCountsUserPidBeforeEpilogue,"bhvr_win_epilogue",-1)),t.stopWordCountingForEpilogue||s(this,r),n.blurb){var o=n.blurb.wordCt||(0,i.default)(n.blurb.content);this.trackWords(n.userPid,-1*o)}},ekRemovePlayer:function(e){e.event;if(!e.state.stopWordCountingForEpilogue){var t=this.wordCounts();s(this,t)}}};(0,n.default)(u,function(e,t){e.nameAndFile="wordCounts#"+t}),t.default=u},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0});var n=l(r(25)),a=l(r(26)),o=l(r(96)),i=l(r(37));l(r(17));function l(e){return e&&e.__esModule?e:{default:e}}var s={ekInit:function(e){e.event;e.state.art={characterDefault:{gid:"characterDefault",assetId:"character-avatar-default-960_bd6tul",altText:"empty avatar placeholder",categories:["avatar"]}}},ekAddArt:function(e){var t=e.event,r=e.state,n={};n.gid=this.getGid("art",t),this.copyProps(["assetId","altText","attributionUrl","attributionText","size","crop","categories"],t.params,n),r.art[n.gid]=n,t.params.clonedFromEvent||t.params.fromDeckEventSeqId||this.incrementBehavior(t.userPid,"bhvr_art_add_direct",1)},ekDeleteArt:function(e){var t=e.event,r=e.state;this.requireOrganizerOrTeacherOrDeckAuthor();var n=t.params.artGid;this.state.art[n]?(delete this.state.art[n],this.state.image&&this.state.image.artGid===n&&delete this.state.image,this.state.deckImage&&this.state.deckImage.artGid===n&&delete this.state.deckImage,(0,i.default)(r.cards).forEach(function(e){e&&e.image&&e.image.artGid===n&&delete e.image}),(0,i.default)(r.characters).forEach(function(e){e&&e.image&&e.image.artGid===n&&delete e.image,e&&e.image2&&e.image2.artGid===n&&delete e.image2}),r.scenes.forEach(function(e){e.moves.forEach(function(e){e&&e.image&&e.image.artGid===n&&delete e.image})}),t.params.clonedFromEvent||t.params.fromDeckEventSeqId||this.incrementBehavior(t.userPid,"bhvr_art_remove_direct",1)):this.throwEventError("art asset not found")},ekEditArt:function(e){var t=e.event;e.state;this.requireOrganizerOrTeacherOrDeckAuthor(),this.state.art[t.params.artGid]?(this.copyProps(["assetId","altText","attributionUrl","attributionText","size","crop","categories"],t.params,this.state.art[t.params.artGid]),t.params.clonedFromEvent||t.params.fromDeckEventSeqId||this.incrementBehavior(t.userPid,"bhvr_art_edit",1)):this.throwEventError("art asset not found")},everyEvent:function(e){var t=this,r=e.event,n=e.state;(0,o.default)(["image","image2"],function(e){if(t.applyNotesForOtherHandlers.objectWithAssignedImage&&r.params[e]&&r.params[e].artUpload){var o=(0,a.default)(t.state.art,function(t){return t.assetId===r.params[e].artUpload.assetId});o||((o={}).gid=t.getGid("art",r),t.copyProps(["assetId","altText","attributionUrl","attributionText","size","crop","categories"],r.params[e].artUpload,o),n.art[o.gid]=o,t.incrementBehavior(r.userPid,"bhvr_upload_image",1));var i={artGid:o.gid};t.applyNotesForOtherHandlers.objectWithAssignedImage&&(t.applyNotesForOtherHandlers.objectWithAssignedImage[e]=i)}if(t.applyNotesForOtherHandlers.objectWithAssignedImage&&r.params[e]&&r.params[e].setAttribution){var l=n.art[t.applyNotesForOtherHandlers.objectWithAssignedImage[e].artGid];l&&(t.copyProps(["altText","attributionUrl","attributionText"],r.params[e].setAttribution,l),l.altText||delete l.altText,l.attributionUrl||delete l.attributionUrl,l.attributionText||delete l.attributionText)}})}};(0,n.default)(s,function(e,t){e.nameAndFile="art#"+t}),t.default=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(r(25)),a=i(r(95)),o=i(r(148));function i(e){return e&&e.__esModule?e:{default:e}}var l=function(e,t){var r=e.characterForUser(t);t&&!r&&(e.state.invitees.push(t),e.state.invitees=(0,o.default)(e.state.invitees)),e.numCurrentPlayers()>e.maxPlayers&&e.throwEventError("too many players")},s={ekInit:function(e){var t=e.event;e.state.invitees=[],this.setMaxPlayersByGEV(t.gev),l(this,t.userPid)},ekInviteUsers:function(e){var t=this,r=e.event,n=e.state;this.requireBlessed(),this.canInvite()||this.throwEventError("invites not allowed at this point");var a=n.invitees.length;r.params.mockMaxException&&this.setMaxPlayersByGEV(1),r.params.invitees.forEac
2h(function(e){l(t,e),n.invitees.length===a&&t.throwEventError("inviting a user who is already in the game"),a++}),this.generateNotifs("nkInvited",{invitees:r.params.invitees})},ekCancelInvite:function(e){var t=e.event,r=e.state,n=t.params.invitee,o=this.characterForUser(n),i=r.invitees.indexOf(n)>=0;o?(this.gameIsStarted("cancelInviteWithCharacter")&&this.throwEventError("cant cancel a character once game begun"),this.requireTeacher(),delete r.characters[o.gid]):i?(this.requireOrganizerOrTeacher(),(0,a.default)(r.invitees,n)):this.throwEventError("user pid not found")},ekStartCharacter:function(e){var t=e.event,r=e.state;t.params.isPlayer&&(0,a.default)(r.invitees,t.userPid)},ekSetOrganizer:function(e){var t=e.event;e.state;l(this,t.params.organizerUserPid)},ekBecomeGame:function(e){var t=e.event;e.state.invitees=[],this.setMaxPlayersByGEV(t.gev),l(this,t.userPid)}};(0,n.default)(s,function(e,t){e.nameAndFile="invitees#"+t}),t.default=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={ekInit:function(e){e.event;var t=e.state;this.requireBlessed(),t.gidCounters={},t.bakeId=0,t.behaviors={}},everyEvent:function(e){e.event,e.state}};(0,function(e){return e&&e.__esModule?e:{default:e}}(r(25)).default)(n,function(e,t){e.nameAndFile="internals#"+t}),t.default=n},,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(r(148)),a=o(r(25));function o(e){return e&&e.__esModule?e:{default:e}}var i={everyEvent:function(e){e.event;var t=e.state;t.members=function(e,t){var r=[];return r.push(e.organizerUserPid),r.push(e.teacherUserPid),(0,a.default)(e.characters,function(e){e.isPlayer&&!e.deleted&&r.push(e.userPid)}),(0,a.default)(e.invitees,function(e){r.push(e)}),(0,a.default)(e.behaviors,function(e,t){e.bhvr_write_word&&e.bhvr_write_word>0&&r.push(t)}),(0,n.default)(r)}(t,this.gameIsStarted("computeMembership"))}};(0,a.default)(i,function(e,t){e.nameAndFile="members#"+t}),t.default=i},,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=d(r(26)),a=d(r(149)),o=d(r(150)),i=d(r(734)),l=d(r(727)),s=d(r(27)),u=d(r(25)),c=d(r(17));function d(e){return e&&e.__esModule?e:{default:e}}var f={ekInit:function(e){e.event;e.state.characters={}},ekStartCharacter:function(e){var t=this,r=e.event,n=e.state;if(this.requireMinimumDeckEditLevel("deck_edits_all",r),r.params.isPlayer&&this.characterForUser(r.userPid)&&this.throwEventError("user already has a character"),r.params.isCharType?this.requireOrganizerOrTeacherOrDeckAuthor():n.invitees.indexOf(r.userPid)<0&&this.throwEventError("user is not yet invited"),r.params.isCharType){var a=(0,s.default)(r.params.cards,function(e){return"ckStrength"===n.cards[e].kind}),o=(0,s.default)(r.params.cards,function(e){return"ckFlaw"===n.cards[e].kind}),i=(0,s.default)(r.params.cards,function(e){return"ckMotivation"===n.cards[e].kind&&n.cards[e].polarity<0});a&&1===a.length||this.throwEventError("one ckStrength is required for new char types"),o&&1===o.length||this.throwEventError("one ckFlaw is required for new char types"),i&&1===i.length||this.throwEventError("one ckMotivation negative is required for new char types")}else r.params.cards&&r.params.cards.length>=1&&this.throwEventError("new player characters cannot specify cards, they are inherited from the char type");var u={gid:this.getGid("char",r),createdAtUnix:r.createdAtUnix,cards:[]};if(this.copyProps(["ugcName","blurb","image","image2","isPlayer","isCharType","suggestedNames","fromCharTypeGid"],r.params,u),(r.params.image||r.params.image2)&&(this.applyNotesForOtherHandlers.objectWithAssignedImage=u),u.userPid=r.userPid,u.name=u.ugcName||"Untitled Character",r.params.fromCharTypeGid){var c=n.characters[r.params.fromCharTypeGid];u.cards=(0,l.default)(c.cards),u.noFirstBondYet=!0}if(r.params.cards&&r.params.cards.forEach(function(e){n.cards[e]||t.throwEventError("card not found",e),u.cards.push(e)}),n.characters[u.gid]=u,u.slug=this.pickCharacterSlug(u,n.characters),u.isPlayer?this.incrementBehavior(r.userPid,"bhvr_create_character",1):r.params.clonedFromEvent||r.params.fromDeckEventSeqId||this.incrementBehavior(r.userPid,"bhvr_create_chartype",1),this.updatePreGameTurnPointers("ekStartCharacter"),this.highScene()){var d=this.sceneSummary(this.highSceneId());d.finished||1===d.pointsRemaining&&(u.deferredJoin=!0)}},ekSetCharacterAttrs:function(e){var t=this,r=e.event,n=e.state,a=n.characters[r.params.characterGid];a||this.throwEventError("character not found"),r.gev>=5&&this.requireUserTeacherDeckAuthorOrBlessed(a.userPid),this.copyProps(["ugcName","blurb","image","image2","suggestedNames"],r.params,a),(r.params.image||r.params.image2)&&(this.requireMinimumDeckEditLevel("deck_edits_minor",r),this.applyNotesForOtherHandlers.objectWithAssignedImage=a),r.params.removeImage&&(this.requireMinimumDeckEditLevel("deck_edits_minor",r),delete a.image),r.params.removeImage2&&(this.requireMinimumDeckEditLevel("deck_edits_minor",r),delete a.image2),a.name=a.ugcName||"Untitled Character",r.params.ugcName&&(a.slug=this.pickCharacterSlug(a,n.characters)),r.params.cards&&(a.isCharType||this.throwEventError("cant directly set cards on a non-chartype character"),this.requireMinimumDeckEditLevel("deck_edits_all",r),a.cards=[],r.params.cards.forEach(function(e){n.cards[e]||t.throwEventError("card not found",e),a.cards.push(e)}))},ekDeleteCharacter:function(e){var t=e.event,r=e.state;this.requireTeacherOrDeckAuthor();var n=r.characters[t.params.characterGid];n.isCharType||this.throwEventError("cant delete a non-chartype character"),this.requireMinimumDeckEditLevel("deck_edits_all",t),n.deleted=!0,n.isPlayer?(this.incrementBehavior(n.userPid,"bhvr_create_character",-1),this.incrementBehavior(n.userPid,"bhvr_delete_character",1)):t.params.clonedFromEvent||t.params.fromDeckEventSeqId||(this.incrementBehavior(n.userPid,"bhvr_create_chartype",-1),this.incrementBehavior(n.userPid,"bhvr_delete_chartype",1))},ekMove:function(e){var t=this,r=e.event,n=e.state;if("mkText"!==r.params.kind||r.params.characterGid){var l=n.characters[r.params.characterGid];l||this.throwEventError("character not found for move"),l.isPregen&&this.throwEventError("character pregens cannot move"),r.params.cards.forEach(function(e){var s=n.cards[e];if(s||t.throwEventError("card not found",e),c.default.cardKindsForMoveKinds[r.params.kind].indexOf(s.kind)<0&&t.throwEventError("card is of wrong kind for this move kind",e),"mkPlayToChallenge"!==r.params.kind&&"mkFlashback"!==r.params.kind&&"mkPlayToEpilogue"!==r.params.kind||(l.cards.indexOf(e)<0&&t.throwEventError("character does not have this card in their hand",e),(0,i.default)(l.cards,(0,o.default)(l.cards,function(t){return t===e}))),"mkDrawCharacterCards"===r.params.kind)if("ckBond"===s.kind){var u=(0,a.default)(s);
2u.gid=t.getGid("card",r),u.fromCharacterGid=l.gid,r.params.bondToCharacterGid||t.throwEventError("cant draw a bond card without a bondToCharacterGid param"),u.toCharacterGid=r.params.bondToCharacterGid,t.state.cards[u.gid]=u,l.cards.push(u.gid),delete l.noFirstBondYet,t.applyNotesForOtherHandlers.replaceMoveCardGid[s.gid]=u.gid}else l.cards.push(e)})}},ekDeleteMove:function(e){e.event;var t=e.state,r=this.applyNotesForOtherHandlers.deletedMove;if(r||this.throwEventError("move not found"),"mkText"!==r.kind||r.characterGid){var n=t.characters[r.characterGid];"mkPlayToChallenge"!==r.kind&&"mkPlayToEpilogue"!==r.kind&&"mkFlashback"!==r.kind||r.cards.forEach(function(e){return n.cards.push(e)}),"mkDrawCharacterCards"===r.kind&&r.cards.forEach(function(e){return(0,i.default)(n.cards,(0,o.default)(n.cards,function(t){return t===e}))})}},ekBecomeGame:function(e){var t=e.event,r=e.state;(0,u.default)(r.characters,function(e){e.isCharType&&(e.userPid=t.userPid)})},ekSetOrganizer:function(e){var t=e.event;!function(e,t){(0,u.default)(e.characters,function(e){e.isCharType&&(e.userPid=t)})}(e.state,t.params.organizerUserPid)},ekDrawInitialBonds:function(e){e.event,e.state},ekReassignCharacter:function(e){var t=e.event,r=e.state;this.requireTeacherOrBlessed();var a=r.characters[t.params.characterGid];a||this.throwEventError("characterGid not found"),a.deleted&&this.throwEventError("cannot ekReassignCharacter a deleted character");var o=t.params.toUserPid;o||this.throwEventError("toUserPid not found"),(0,n.default)(this.playerCharacters("pcUserList"),function(e){return e.userPid===o})&&this.throwEventError("toUserPid already has a character"),this.highScene()||a.userPid===r.organizerUserPid&&this.throwEventError("cannot reassign organizers character pre-game"),a.userPid=o},ekRemovePlayer:function(e){var t=e.event,r=e.state;this.requireTeacherOrBlessed();var n=r.characters[t.params.characterGid];n||this.throwEventError("characterGid not found"),this.gameIsStarted("setupActionsDisabled")||this.throwEventError("cannot ekRemovePlayer before game starts"),n.deleted&&this.throwEventError("cannot ekRemovePlayer already deleted"),this.playerCharacters("pcUserList").length<=2&&this.throwEventError("cannot ekRemovePlayer not enough players"),n.deleted=!0;this.highScene();this.state.turnCharacterGid===n.gid&&this.advanceTurnPointers("atpRemovedWhileTurn")}};(0,u.default)(f,function(e,t){e.nameAndFile="characters#"+t}),t.default=f},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(r(25)),a=i(r(50)),o=i(r(17));function i(e){return e&&e.__esModule?e:{default:e}}var l={ekMove:function(e){var t=this,r=e.event,n=e.state,i=this.whoseTurn();if("mkFlashback"===r.params.kind)i.canPublishFlashback.indexOf(r.params.characterGid)<0&&this.throwEventError("character cannot currently publish a flashback GSM3_RACECOND",i);else if("mkDrawCharacterCards"===r.params.kind)i.mustDrawCards.indexOf(r.params.characterGid)<0&&this.throwEventError("character cannot currently draw cards GSM3_RACECOND",i);else if("mkText"===r.params.kind)this.canMoveMkText(r.userPid,i)||this.throwEventError("mkText not allowed GSM3_RACECOND");else{i.userPid!==r.userPid&&this.throwEventError("wrong userPid turn order GSM3_RACECOND",i),i.characterGid!==r.params.characterGid&&this.throwEventError("wrong characterGid turn order GSM3_RACECOND",i);var l="turnToMove"!==i.to||i.kind!==r.params.kind;"mkDrawCharacterCards"===i.kind&&l&&r.gev<4&&(l=!1),l&&this.throwEventError("turn/kind mismatch GSM3_RACECOND",i)}r.params.guid&&!this.moveGuidIsPublished(r.params.guid)||this.throwEventError("non-unique move guid");var s=this.gameOver(),u={gid:this.getGid("move",r),createdAtUnix:r.createdAtUnix,userPid:r.userPid,sceneId:this.highSceneId()};this.copyProps(["kind","characterGid","blurb","image","tieBreaker","guid"],r.params,u),u.cards=[];var c=[],d=void 0;r.params.cards.forEach(function(e){var a=n.cards[t.applyNotesForOtherHandlers.replaceMoveCardGid[e]||e];a||t.throwEventError("card not found",e),o.default.cardKindsForMoveKinds[r.params.kind].indexOf(a.kind)<0&&t.throwEventError("card is of wrong kind for this move kind",e),u.cards.push(a.gid),c.push(a.kind),"ckPlace"===a.kind&&(d=a)}),"mkDrawSceneCards"===u.kind&&((4!==c.length||c.indexOf("ckPlace")<0||c.indexOf("ckChallenge")<0||c.indexOf("ckSuccess")<0||c.indexOf("ckSetback")<0)&&this.throwEventError("scene cards requires exactly 1 of ckPlace ckChallenge ckSuccess ckSetback"),u.image||(u.image=d.image),r.params.image&&(this.applyNotesForOtherHandlers.objectWithAssignedImage=u));var f=this.sceneSummary(u.sceneId),p=this.state.cards[u.cards[0]],m=1===f.pointsRemaining&&"mkPlayToChallenge"===u.kind&&f.challengeTrendUnclamped+p.polarity===0;m&&-1!==r.params.tieBreaker&&1!==r.params.tieBreaker&&this.throwEventError("a tie breaker decision is required for this move"),!m&&r.params.tieBreaker&&this.throwEventError("a tie breaker cannot be included
2since it isnt needed");var h=(0,a.default)(n.scenes);h||this.throwEventError("no scene for move"),h.moves.push(u);var y=this.sceneSummary(u.sceneId);!f.finished&&y.finished&&(u.isConclusion=!0),this.incrementBehavior(u.userPid,"bhvr_move",1),this.incrementBehavior(u.userPid,"bhvr_move_"+u.kind,1),"mkPlayToChallenge"!==u.kind&&"mkPlayToEpilogue"!==u.kind&&"mkFlashback"!==u.kind||this.incrementBehavior(u.userPid,"bhvr_play_card",1),"mkFlashback"!==u.kind&&"mkPlayToChallenge"!==u.kind&&"mkPlayToEpilogue"!==u.kind&&"mkText"!==u.kind||this.generateNotifs("nkMove",{move:u}),!s&&this.gameOver()&&(this.playerCharacters("pcGameBehaviors").forEach(function(e){t.incrementBehavior(e.userPid,"bhvr_finish_game",1)}),this.generateNotifs("nkGameOver",{move:u})),!f.finished&&y.finished&&this.playerCharacters("pcGameBehaviors").forEach(function(e){t.incrementBehavior(e.userPid,"bhvr_finish_scene",1),y.challengeTrend>0?t.incrementBehavior(e.userPid,"bhvr_scene_success",1):t.incrementBehavior(e.userPid,"bhvr_scene_setback",1)}),this.applyNotesForOtherHandlers.move=u},ekEditMove:function(e){var t=e.event,r=(e.state,this.getMoveForMoveGid(t.params.gid));r||this.throwEventError("move not found");var n=r.blurb;this.applyNotesForOtherHandlers.origBlurb=n,r||this.throwEventError("move not found"),this.moveKindIsEditable(r)||this.throwEventError("move kind is not editable"),t.params.blessed||(this.userHasMoveEditPrivs(r,t.userPid)||this.throwEventError("user does not have privs to edit this move"),this.moveIsOverallEditableBy(r,t.userPid)||this.throwEventError("move is not overall editable by this user")),this.copyProps(["blurb","image"],t.params,r),t.params.image&&(this.applyNotesForOtherHandlers.objectWithAssignedImage=r),t.params.removeImage&&delete r.image;var a=!1;r.revisionRequest&&(this.incrementBehavior(t.userPid,"bhvr_resolve_revision_request",1),delete r.revisionRequest,a=!0),r.history||(r.history=[{updatedAtUnix:r.createdAtUnix,userPid:r.userPid,isTeacher:r.userPid===this.state.teacherUserPid,blurb:n}]);var o={updatedAtUnix:t.createdAtUnix,userPid:t.userPid,isTeacher:t.userPid===this.state.teacherUserPid,blurb:r.blurb};a&&(o.revisionRequestChange="resolve"),r.history.push(o);this.sceneSummary(r.sceneId);this.incrementBehavior(r.userPid,"bhvr_edit_move",1)},ekRequestRevisions:function(e){var t=e.event,r=(e.state,this.getMoveForMoveGid(t.params.gid));r||this.throwEventError("move not found"),this.moveIsRevisionRequestableBy(r,t.userPid)||this.throwEventError("move+user combo invalid for revision request"),r.revisionRequest={createdAtUnix:t.createdAtUnix,blurb:t.params.blurb},r.history||(r.history=[{updatedAtUnix:r.createdAtUnix,userPid:r.userPid,isTeacher:r.userPid===this.state.teacherUserPid,blurb:r.blurb}]),r.history.push({updatedAtUnix:t.createdAtUnix,revisionRequestChange:"create",revisionRequestBlurb:t.params.blurb,userPid:t.userPid,isTeacher:t.userPid===this.state.teacherUserPid});this.sceneSummary(r.sceneId);this.incrementBehavior(t.userPid,"bhvr_request_revisions",1),this.generateNotifs("nkMoveRevisionsRequested",{move:r})},ekDeleteMove:function(e){var t=this,r=e.event,n=e.state,a=this.getMoveForMoveGid(r.params.gid),o=this.whoseTurn();a||this.throwEventError("move not found"),this.moveIsDeletableByUserIfNoNewDraftsAreInProgress(a,r.userPid)||this.throwEventError("move not deletable"),this.applyNotesForOtherHandlers.deletedMove=a;var i=this.gameOver(),l=this.sceneSummary(a.sceneId);n.scenes[a.sceneId].moves.pop();var s=0===a.sceneId;0===this.highScene().moves.length&&!s&&(n.scenes.pop(),this.playerCharacters("pcGameBehaviors").forEach(function(e){t.incrementBehavior(e.userPid,"bhvr_start_scene",-1)})),"mkPlayToChallenge"!==a.kind&&"mkPlayToEpilogue"!==a.kind||this.resetTurnPointersAfterDeletion("rtpMoveDeleted",a,o),this.incrementBehavior(a.userPid,"bhvr_move",-1),this.incrementBehavior(a.userPid,"bhvr_move_"+a.kind,-1),"mkPlayToChallenge"!==a.kind&&"mkPlayToEpilogue"!==a.kind&&"mkFlashback"!==a.kind||this.incrementBehavior(a.userPid,"bhvr_play_card",-1);var u=this.sceneSummary(this.highSceneId());l.finished&&!u.finished&&this.playerCharacters("pcGameBehaviors").forEach(function(e){t.incrementBehavior(e.userPid,"bhvr_finish_scene",-1),u.challengeTrend>0?t.incrementBehavior(e.userPid,"bhvr_scene_success",-1):t.incrementBehavior(e.userPid,"bhvr_scene_setback",-1)}),i&&!this.gameOver()&&this.playerCharacters("pcGameBehaviors").forEach(function(e){t.incrementBehavior(e.userPid,"bhvr_finish_game",-1)}),this.incrementBehavior(r.userPid,"bhvr_delete_move",1)},ekSkipMove:function(e){e.event,e.state;this.requireTeacherOrBlessed(),this.gameIsStarted("whoseTurnPreGame")||this.throwEventError("cannot ekSkipMove before game begins"),this.advanceTurnPointers("atpSkipped")}};(0,n.default)(l,function(e,t){e.nameAndFile="moves#"+t}),t.default=l},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0});var n=a(r(25));a(r(17));function a(e){return e&&e.__esModule?e:{default:e}}var o={ekInit:function(e){e.event;e.state.scenarios={}},ekAddScenario:function(e){var t=e.state,r=e.event;t.isDeck||r.params.fromDeckEventSeqId||this.throwEventError("deck or fromDeckEventSeqId required"),this.requireMinimumDeckEditLevel("deck_edits_all",r),this.requireOrganizerOrTeacherOrDeckAuthor();var n={gid:this.getGid("scenario",r),name:"Untitled Scenario",setupCards:[null,null,null,null],scenes:[]};t.scenarios[n.gid]=n,r.params.fromDeckEventSeqId||r.params.clonedFromEvent||this.incrementBehavior(r.userPid,"bhvr_scenario_create",1)},ekEditScenario:function(e){var t=e.state,r=e.event;t.isDeck||r.params.fromDeckEventSeqId||this.throwEventError("deck or fromDeckEventSeqId required"),this.requireOrganizerOrTeacherOrDeckAuthor();var n=t.scenarios[r.params.scenarioGid];n||this.throwEventError("scenario not found"),this.requireMinimumDeckEditLevel("deck_edits_minor",r),this.copyProps(["ugcName","storySize","blurb"],r.params,n),n.name=n.ugcName||"Untitled Scenario",r.params.setupCards&&(this.requireMinimumDeckEditLevel("deck_edits_all",r),this.assertSetupCardArrayIsValid(r.params.setupCards),n.setupCards=r.params.setupCards),r.params.blurb&&r.params.blurb.remove&&delete n.blurb,r.params.storySize&&(this.requireMinimumDeckEditLevel("deck_edits_all",r),this.populateOrTruncateScenarioScenesArray(this,n))},ekEditScenarioScene:function(e){var t=e.state,r=e.event;t.isDeck||r.params.fromDeckEventSeqId||this.throwEventError("deck or fromDeckEventSeqId required"),this.requireOrganizerOrTeacherOrDeckAuthor();var n=t.scenarios[r.params.scenarioGid];n||this.throwEventError("scenario not found");var a=n.scenes[r.params.sceneId];a||this.throwEventError("scenarioScene not found"),this.requireMinimumDeckEditLevel("deck_edits_minor",r),this.copyProps(["blurb"],r.params,a),r.params.cards&&(this.assertSceneCardArrayIsValid(r.params.cards),this.requireMinimumDeckEditLevel("deck_edits_all",r),a.cards=r.params.cards)},ekDeleteScenario:function(e){var t=e.state,r=e.event;t.isDeck||r.params.fromDeckEventSeqId||this.throwEventError("deck or fromDeckEventSeqId required"),this.requireOrganizerOrTeacherOrDeckAuthor(),this.requireMinimumDeckEditLevel("deck_edits_all",r);var n=t.scenarios[r.params.scenarioGid];n||this.throwEventError("scenario not found"),delete t.scenarios[n.gid],r.params.fromDeckEventSeqId||r.params.clonedFromEvent||this.incrementBehavior(r.userPid,"bhvr_scenario_delete",1)}};(0,n.default)(o,function(e,t){e.nameAndFile="cards#"+t}),t.default=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a(r(25));a(r(17));function a(e){return e&&e.__esModule?e:{default:e}}var o={ekInit:function(e){e.event;e.state.scenes=[]},ekStartScene:function(e){var t=this,r=e.event,a=e.state,o=this.whoseTurn();r.gev>=3&&0===a.scenes.length?a.isDemoHack||this.requireTeacher():(o.userPid!==r.userPid&&this.throwEventError("wrong userPid turn order",o),"turnToStartScene"!==o.to&&this.throwEventError("turn/kind mismatch",o));var i=function(e){e.state.scenes.length;return{moves:[],points:0}}(this);a.scenes.push(i),i.points=this.playerCharacters("pcMoveOrder").length,(0,n.default)(a.characters,function(e){delete e.deferredJoin}),o.characterGid||this.throwEventError("no characterGid on whoseTurn"),i.startedByCharacterGid=o.characterGid;this.sceneSummary(this.highSceneId());if(0===this.highSceneId()&&this.playerCharacters("pcGameBehaviors").forEach(function(e){t.incrementBehavior(e.userPid,"bhvr_start_game",1)}),this.playerCharacters("pcGameBehaviors").forEach(function(e){t.incrementBehavior(e.userPid,"bhvr_start_scene",1)}),this.generateNotifs("nkNewScene"),a.setupReady){delete a.setupReady;var l=this.whoseTurn();r.userPid!==l.userPid&&this.generateNotifs("nkYourTurn",l),this.incrementBehavior(r.userPid,"bhvr_approve_start",1)}},ekMove:function(e){e.event,e.state},ekDeleteMove:function(e){e.event,e.state}};(0,n.default)(o,function(e,t){e.nameAndFile="scenes#"+t}),t.default=o},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0});var n=i(r(25)),a=i(r(27)),o=i(r(37));function i(e){return e&&e.__esModule?e:{default:e}}var l={ekInit:function(e){e.event;var t=e.state;t.cards={},t.setupCards=[null,null,null,null]},ekCreateCard:function(e){var t=e.event,r=e.state;this.requireMinimumDeckEditLevel("deck_edits_all",t);var n={gid:this.getGid("card",t),kind:t.params.kind,name:t.params.name,userPid:t.userPid};t.params.image&&(n.image=t.params.image),t.params.image&&(this.applyNotesForOtherHandlers.objectWithAssignedImage=n),this.cardKindHasVariablePolarity(n.kind)?"number"==typeof t.params.polarity&&t.params.polarity>=-1&&t.params.polarity<=1?n.polarity=t.params.polarity:this.throwEventError("valid polarity required"):n.polarity=this.cardKindFixedPolarity(n.kind),this.cardNameIsTaken(n.name,n.kind,n.polarity)&&this.throwEventError("a card with this name, kind, and polarity already exists"),t.params.isStockCard&&(r.addedStockCards||(r.addedStockCards=[]),r.addedStockCards.indexOf(t.params.kind)<0&&r.addedStockCards.push(t.params.kind)),r.cards[n.gid]=n},ekEditCard:function(e){var t=e.event,r=e.state.cards[t.params.cardGid];r||this.throwEventError("card not found"),this.copyProps(["name","image"],t.params,r),this.cardNameIsTaken(r.name,r.kind,r.polarity,r)&&this.throwEventError("a card with this name, kind, and polarity already exists"),t.params.image&&(this.applyNotesForOtherHandlers.objectWithAssignedImage=r),t.params.removeImage&&delete r.image},ekDeleteCard:function(e){var t=e.event,r=e.state.cards[t.params.cardGid];r||this.throwEventError("card not found"),this.requireMinimumDeckEditLevel("deck_edits_all",t),t.gev>=3&&this.cardIsUsedByOtherDeckObjects(r.gid)&&this.throwEventError("card in use by other deck objects"),r.deleted=!0},ekDrawSetupCards:function(e){var t=e.event,r=e.state;this.requireOrganizerOrTeacher(),t.params.blessed&&t.params.fixedDemoHackCards?r.setupCards=t.params.fixedDemoHackCards:r.setupCards=this.pickSetupCards(t.params.randSeed),this.incrementBehavior(t.userPid,"bhvr_draw_setup_cards",1)},ekSetGameAttrs:function(e){var t=e.event,r=e.state,n=t.params.scenarioGid;if(n)if("_delete_"===n)r.setupCards=[null,null,null,null];else{var a=r.scenarios[n];r.setupCards=a.setupCards}},ekDrawInitialBonds:function(e){var t=this,r=e.event,i=e.state;if(r.gev>=4)if(r.params.isEdit&&this.canEditInitialBonds());else{var l=this.whoseTurn();"turnToDrawInitialBonds"!==l.to&&this.throwEventError("not turnToDrawInitialBonds"),l.userPid!==r.userPid&&this.throwEventError("wrong userPid for turnToDrawInitialBonds")}else this.requireOrganizerOrTeacher();this.canDrawInitialBonds()||this.throwEventError("drawing bonds not allowed at this point"),(0,o.default)(i.characters).forEach(function(e){e.isPlayer&&(e.cards=(0,a.default)(e.cards,function(e){return"ckBond"!==i.cards[e].kind}))});var s=this.pickInitialBonds(r.params.randSeed,999);(0,n.default)(s,function(e){e.gid=t.getGid("card",r),i.cards[e.gid]=e;var n=t.state.characters[e.fromCharacterGid];n.cards.push(e.gid),delete n.noFirstBondYet}),i.initialBonds=s.map(function(e){return e.gid}),this.incrementBehavior(r.userPid,"bhvr_draw_initial_bonds",1)}};(0,n.default)(l,function(e,t){e.nameAndFile="cards#"+t}),t.default=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(r(25)),a=s(r(35)),o=s(r(31)),i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l=s(r(17));function s(e){return e&&e.__esModule?e:{default:e}}var u=function(e){e.name=e.ugcName||e.defaultName||(e.isDeck?function(e){return e.initialGev>=3?"Untitled Storyworld":"Untitled Deck"}(e):"Untitled Game")},c={everyEvent:function(e){var t=e.event;e.state;this.state.isDeck&&t.gev>=6&&!t.params.blessed&&this.requireMinimumDeckEditLevel("deck_edits_minor",t)},ekInit:function(e){var t=e.event,r=e.state;this.requireBlessed(),this.copyProps(["slug","classroomPid","rulesVersion","gamePid","isDeck","isMockDeck","teacherUserPid"],t.params,r),r.initialGev=t.gev,u(r),r.organizerUserPi
2d=t.userPid,r.rulesVersion=r.rulesVersion||1,r.createdAtUnix=t.createdAtUnix,r.storySize="storySizeShort",r.deckScopes={},r.isDeck&&(r.deckScopes={classroom:"ds_inactive",library:"ds_inactive"},t.gev<3&&(r.deckScopes.library="dv_public"===t.params.deckVisibility?"ds_active":"ds_inactive"),r.deckVersion=1,r.deckV1GamePid=r.gamePid,t.gev<8&&(r.deckReviewStatus="drs_perm_approved"))},ekSetGameAttrs:function(e){var t=e.event,r=e.state;this.requireOrganizerOrTeacherOrDeckAuthor();var n=t.params;if(this.state.isDeck&&t.gev>=6&&!n.blessed){var s=["blessed","clonedFromEvent","fromDeckEventSeqId","deckScopes","deckIsPublished"],c=["deckBlurb","deckSubjects","deckGrades","deckPdfAsset","ugcName","image","removeImage","slug"],d=!1,f=!1;(0,o.default)(n).forEach(function(e){s.indexOf(e)<0&&(d=!0,c.indexOf(e)<0&&(f=!0))}),f?this.requireMinimumDeckEditLevel("deck_edits_all",t):d&&this.requireMinimumDeckEditLevel("deck_edits_minor",t),this.applyNotesForOtherHandlers.skipDeckEditsNoneRule=!(d||d)}if(n.fromDeckEventSeqId&&!this.state.isDeck?(this.copyProps(["image","deckBlurb","deckSubjects","deckGrades"],n,r),n.removeImage&&(delete r.image,delete r.deckImage),n.ugcName&&(r.deckName=n.ugcName),n.slug&&(r.deckSlug=n.slug),n.image&&(r.deckImage=n.image),n.deckBlurb&&n.deckBlurb.remove&&delete r.deckBlurb):(this.copyProps(["slug","defaultName","ugcName","image","storySize","isDemoHack","deckBlurb","deckSubjects","deckGrades","deckIsPublished"],n,r),n.removeImage&&delete r.image,n.deckBlurb&&n.deckBlurb.remove&&delete r.deckBlurb,n.hasOwnProperty("deckIsPublished")&&!n.deckIsPublished&&t.gev>=6&&this.throwEventError("deckIsPublished cannot be unset"),t.gev>=6&&n.deckIsPublished&&!r.isMockDeck&&this.deckCompletionTasks().remaining.classroom.length>0&&this.throwEventError("cannot publish an incomplete deck. tasks remaining: "+JSON.stringify(this.deckCompletionTasks().remaining.classroom))),n.deckGrades&&(r.deckGrades=(0,a.default)(r.deckGrades,function(e){return l.default.deckGrades.indexOf(e)})),t.params.clonedFromEvent||t.params.fromDeckEventSeqId||(n.deckBlurb&&this.incrementBehavior(t.userPid,"bhvr_deck_blurb_set",1),n.deckGrades&&this.incrementBehavior(t.userPid,"bhvr_deck_grades_set",1),n.deckSubjects&&this.incrementBehavior(t.userPid,"bhvr_deck_subjects_set",1)),n.image&&(this.applyNotesForOtherHandlers.objectWithAssignedImage=r),u(r),n.hasOwnProperty("deckReviewStatus")&&(this.requireBlessed(),"_delete_"===n.deckReviewStatus?delete r.deckReviewStatus:r.deckReviewStatus=t.params.deckReviewStatus),n.deckScopes&&(t.gev<6&&("ds_active"===n.deckScopes.classroom||"ds_active"===n.deckScopes.library)&&(r.deckIsPublished=!0),function(e,t){if(!e.state.isDeck)return!1;var r=function(t){return"ds_inactive"===t?1:"ds_pending"===t?2:"ds_active"===t?3:"ds_retired"===t?4:e.throwEventError("unrecognized scope value")},n=e.state.deckScopes,a=i({},n,t.params.deckScopes);["classroom","library"].forEach(function(o){var i=n[o],l=a[o],s=r(l)-r(i),u=("classroom"===o||"library"===o&&e.state.deckReviewStatus,!!t.params.blessed);0===s||(s<0?"ds_retired"===i&&"ds_active"===l||"ds_pending"===i&&"ds_inactive"===l||u||e.throwEventError("invalid reverse deckScopes transition"):s>1||"ds_pending"!==i||"ds_active"!==l||u||e.throwEventError("ds_pending->ds_active requires blessed")),s>0&&t.gev>=6&&!e.state.deckIsPublished&&e.throwEventError("cant set new deckScopes on an unpublished deck"),"library"===o&&"ds_inactive"!==l&&e.state.isClassCopy&&e.throwEventError("cannot share a class copy to library"),"ds_active"===l&&"library"===o&&(e.state.libraryFirstActiveAtUnix=e.state.libraryFirstActiveAtUnix||t.createdAtUnix,e.state.libraryFirstActiveAtUnix=5),"ds_active"===l&&s>0&&e.incrementBehavior(t.userPid,"bhvr_deck_scope_publish_"+o,1),"ds_retired"===l&&s>0&&e.incrementBehavior(t.userPid,"bhvr_deck_scope_retire_"+o,1),"ds_active"===l&&s<0&&e.incrementBehavior(t.userPid,"bhvr_deck_scope_unretire_"+o,1)}),e.state.deckScopes=a}(this,t)),t.gev<3&&n.hasOwnProperty("deckIsPublished")&&(n.deckIsPublished?(r.deckScopes.classroom="ds_active",r.deckIsPublished=!0):r.deckScopes.classroom="ds_inactive"),n.deckPdfAsset)if(r.isDeck||n.fromDeckEventSeqId){var p=n.deckPdfAsset.type;n.deckPdfAsset.delete?(r.deckPdfs=r.deckPdfs||{},delete r.deckPdfs[p],t.params.clonedFromEvent||t.params.fromDeckEventSeqId||this.incrementBehavior(t.userPid,"bhvr_materials_pdf_remove",1)):(r.deckPdfs=r.deckPdfs||{},r.deckPdfs.versions=r.deckPdfs.versions||{},r.deckPdfs.versions[p]=r.deckPdfs.versions[p]||0,r.deckPdfs.versions[p]++,r.deckPdfs[p]=i({version:r.deckPdfs.versions[p],createdAtUnix:t.createdAtUnix},n.deckPdfAsset)),t.params.clonedFromEvent||t.params.fromDeckEventSeqId||this.incrementBehavior(t.userPid,"bhvr_materials_pdf_add",1)}else this.throwEventError("cant set deckPdfAsset on non-deck");
2if(n.scenarioGid)if(this.gameIsStarted("setScenario")&&this.throwEventError("scenario cannot be changed after game start"),"_delete_"===n.scenarioGid)delete r.scenarioGid;else{var m=r.scenarios[t.params.scenarioGid];m||this.throwEventError("scenario not found"),r.scenarioGid=n.scenarioGid,t.gev>=7&&(r.storySize=m.storySize)}if(n.storySize&&r.scenarioGid&&this.throwEventError("cannot set storySize when scenarioGid is set"),n.hasOwnProperty("setupReady")){this.requireOrganizerOrTeacher();var h=this.state.setupReady;this.state.setupReady=n.setupReady,this.state.setupReady&&this.state.setupReady!==h&&this.generateNotifs("nkSetupReady",{})}},ekSetOrganizer:function(e){var t=e.event,r=e.state;this.requireTeacher(),this.requireBlessed(),this.gameIsStarted("setupActionsDisabled")&&this.throwEventError("cant change organizer after game has started");var n=r.organizerUserPid;r.organizerUserPid=t.params.organizerUserPid,this.updatePreGameTurnPointers("ekSetOrganizer"),n!==r.organizerUserPid&&this.generateNotifs("nkNewOrganizer")},ekBecomeGame:function(e){var t=e.event,r=e.state;this.requireBlessed(),r.isDeck||this.throwEventError("not a deck"),r.deckGamePid=r.gamePid,r.deckName=r.name,r.deckSlug=t.params.deckSlug,r.deckCreatedByUserPid=r.organizerUserPid,r.deckImage=i({},r.image),this.copyProps(["teacherUserPid","gamePid","slug","classroomPid"],t.params,r),r.organizerUserPid=t.userPid,r.defaultName=r.ugcName,delete r.isDeck,delete r.isMockDeck,delete r.deckIsPublished,delete r.deckV1GamePid,delete r.libraryFirstActiveAtUnix,delete r.isClassCopy,r.deckScopes={},delete r.ugcName,t.params.ugcName&&(r.ugcName=t.params.ugcName),u(r)},ekBecomeNewDeckVersion:function(e){var t=e.event,r=e.state;this.requireBlessed(),r.isDeck||this.throwEventError("not a deck"),r.gamePid=t.params.gamePid,r.slug=t.params.slug,r.deckVersion++,r.createdAtUnix=t.createdAtUnix,r.deckScopes={classroom:"ds_inactive",library:"ds_inactive"},delete r.libraryFirstActiveAtUnix,delete r.deckIsPublished},ekBecomeReplica:function(e){var t=e.event,r=e.state;this.requireBlessed(),r.isDeck||this.throwEventError("not a deck"),r.isClassCopy&&this.throwEventError("cannot replicate a class copy"),r.deckVersion=1,r.gamePid=t.params.gamePid,r.deckV1GamePid=r.gamePid,r.slug=t.params.slug,r.ugcName=t.params.ugcName,u(r),r.createdAtUnix=t.createdAtUnix,r.deckScopes={classroom:"ds_inactive",library:"ds_inactive"},delete r.deckReviewStatus,delete r.libraryFirstActiveAtUnix,delete r.deckIsPublished,delete r.isMockDeck,delete r.isClassCopy},ekBecomeClassCopy:function(e){var t=e.event,r=e.state;this.requireBlessed(),r.isDeck||this.throwEventError("not a deck"),r.isClassCopy&&this.throwEventError("already a class copy"),r.isClassCopy=!0,r.ccOrigDeckCreatedByUserPid=r.teacherUserPid,r.ccOrigDeckGamePid=r.gamePid,r.ccOrigDeckV1GamePid=r.deckV1GamePid,r.ccOrigDeckGameVersion=r.deckVersion,r.gamePid=t.params.gamePid,r.slug=t.params.slug,r.organizerUserPid=t.params.teacherUserPid,r.teacherUserPid=t.params.teacherUserPid,r.deckV1GamePid=t.params.gamePid,r.deckVersion=1,r.createdAtUnix=t.createdAtUnix,r.deckScopes={classroom:"ds_inactive",library:"ds_inactive"},delete r.deckReviewStatus,delete r.libraryFirstActiveAtUnix,delete r.deckIsPublished}};(0,n.default)(c,function(e,t){e.nameAndFile="game#"+t}),t.default=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=h(r(25));t.default=function(e){var t={},r=function(r,n){t[n]=t[n]||[];var a=r.bind(e);a.nameAndFile=r.nameAndFile,t[n].push(a)};return[d.default,a.default,o.default,i.default,s.default,u.default,m.default,f.default,l.default,p.default,c.default].forEach(function(e){return(0,n.default)(e,r)}),t};var a=h(r(740)),o=h(r(739)),i=h(r(738)),l=h(r(737)),s=h(r(736)),u=h(r(735)),c=h(r(726)),d=h(r(723)),f=h(r(722)),p=h(r(721)),m=h(r(720));function h(e){return e&&e.__esModule?e:{default:e}}},,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=s(r(743)),a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=s(r(741)),i=s(r(17)),l=s(r(223));
2function s(e){return e&&e.__esModule?e:{default:e}}t.default=function(e){return function(t){function r(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(r.__proto__||Object.getPrototypeOf(r)).apply(this,arguments));return e.state={},e.suppressErrorConsole=!1,e.skipJoi=!1,e.advance=function(t){try{t.forEach(function(t){return e.applyEvent(t)})}catch(t){throw e.suppressErrorConsole||console.log("----- gsm event advance() error -----",t),t}},e.applyEvent=function(t){if("object"!==(void 0===t?"undefined":a(t)))throw new Error("invalid event: not an object");t.params||(t.params={});var r={event:t,state:e.state};if(e.state.bakeId=(0,n.default)([e.state.bakeId,t.seqId]),t.createdAtUnix&&(e.state.lastEventUnix=t.createdAtUnix),e.skipJoi||l.default.validate(t,i.default.event,function(e){if(e)throw new Error("invalid event: "+e+" for "+JSON.stringify(t))}),t.params.fromDeckEventSeqId&&e.state.isDeck)throw new Error("invalid event: fromDeckEventSeqId param present but this is already a deck. for "+JSON.stringify(t));e.applyingEvent=t,e.applyNotesForOtherHandlers={move:!1,replaceMoveCardGid:{},objectWithAssignedImage:!1,deletedMove:!1,origBlurb:!1,skipDeckEditsNoneRule:!1};var o=void 0;if(e.runCodeForTestBeforeFirstHandler&&e.runCodeForTestBeforeFirstHandler(),!e.eventHandlers[t.kind])throw new Error("no event handlers exist for event "+JSON.stringify(t));try{e.eventHandlers[t.kind].forEach(function(e){o=e,e(r)}),e.eventHandlers.everyEvent.forEach(function(e){o=e,e(r)})}catch(e){throw e.message=["error applying event","handler: "+o.nameAndFile,"original error message: "+JSON.stringify(e.message),"event: "+JSON.stringify(t)].join(" ; "),e}delete e.applyingEvent,e.skipJoi||l.default.validate(e.state,i.default.state,function(e){if(e)throw new Error("invalid state after event: "+e+".Event applied: "+JSON.stringify(t))})},e.eventHandlers=(0,o.default)(e),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(r,e),r}()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();var a=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.superclass=t}return n(e,[{key:"with",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.reduce(function(e,t){return t(e)},this.superclass)}}]),e}();t.default=function(e){return new a(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),h=r(10),y=g(r(353));function g(e){return e&&e.__esModule?e:{default:e}}function b(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function v(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var w=(0,g(r(19)).default)("gameplay/gsmContainer"),E=(n=h.observable.ref,a=h.observable.ref,o=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),b(this,"gsm",i,this),b(this,"gameSocketToken",l,this),b(this,"gameVob",s,this),b(this,"purge",u,this),b(this,"setGameSocketToken",c,this),b(this,"setGameVob",d,this),b(this,"resetFromStateAndEvents",f,this),b(this,"updateFromEvents",p,this),this.$gameplay=t}return m(e,[{key:"thaw",value:function(e){e.gsmState&&(this.gsm=new y.default,this.gsm.state=e.gsmState),this.gameSocketToken=e.gameSocketToken,this.gameVob=e.gameVob}},{key:"frozen",get:function(){return{gsmState:this.gsm&&this.gsm.state,gameSocketToken:this.gameSocketToken,gameVob:this.gameVob}}}]),e}(),i=v(o.prototype,"gsm",[n],{enumerable:!0,initializer:null}),l=v(o.prototype,"gameSocketToken",[h.observable],{enumerable:!0,initializer:null}),s=v(o.prototype,"gameVob",[a],{enumerable:!0,initializer:null}),v(o.prototype,"frozen",[h.computed],Object.getOwnPropertyDescriptor(o.prototype,"frozen"),o.prototype),v(o.prototype,"thaw",[h.action],Object.getOwnPropertyDescriptor(o.prototype,"thaw"),o.prototype),u=v(o.prototype,"purge",[h.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.gsm=void 0,e.gameSocketToken=void 0,e.gameVob=void 0}}}),c=v(o.prototype,"setGameSocketToken",[h.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.gameSocketToken=t}}}),d=v(o.prototype,"setGameVob",[h.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.gameVob=t}}}),f=v(o.prototype,"resetFromStateAndEvents",[h.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r){w.chatter("gsmContainer.resetFromStateAndEvents"),e.gsm&&r.length&&r[0].seqId<=e.gsm.state.bakeId?e.updateFromEvents(r,r[0].seqId):(e.gsm=new y.default,e.gsm.state=t,r&&e.gsm.advance(r))}}}),p=v(o.prototype,"updateFromEvents",[h.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r){if(w.chatter("gsmContainer.updateFromEvents"),r>e.gsm.state.bakeId)throw w.info("bakeId mismatch on incremental state",r,e.gsm.state.bakeId),e.$gameplay.$tracking.event("error","bake_id_mismatch_incremental"),new Error("bake_id_mismatch_incremental");var n=e.gsm;e.gsm=new y.default,e.gsm.state=JSON.parse(JSON.stringify(n.state)),t.forEach(function(t){t.seqId<=e.gsm.state.bakeId?w.chatter("skipping already ingested event"):(w.chatter("ingesting event",t),e.gsm.advance([t]))})}}}),o);t.default=E},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d=function(e){return e&&e.__esModule?e:{default:e}}(r(26)),f=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),p=r(10);function m(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function h(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var y=(n=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),m(this,"creatingGameSpinning",a,this),m(this,"creatingDeckSpinning",o,this),m(this,"createNewDeckAndRedirect",i,this),m(this,"tryDeletingDeck",l,this),m(this,"deleteGame",s,this),m(this,"createGameFromDeckAndRedirect",u,this),m(this,"_handleNewGameResponse",c,this),this.$gameplay=t}return f(e,[{key:"gamePid",get:function(){return this.$gameplay.gamePid}},{key:"$router",get:function(){return this.$gameplay.$router}},{key:"$authUser",get:function(){return this.$gameplay.$authUser}},{key:"gsm",get:function(){return this.$gameplay.gsm}},{key:"$v2Api",get:function(){return this.$gameplay.$v2Api}},{key:"$sdb",get:function(){return this.$gameplay.$sdb}},{key:"authUserCanCreateGameFromThisDeck",get:function(){if(!this.$authUser.pid)return!1;var e=this.$gameplay.gamePid;if(!e)return!1;if(this.$authUser.is_teacher){if(this.$gameplay.$dashboard.ready)return this.$gameplay.$dashboard.dashboard.available_decks_pid_list.indexOf(e)>=0}else{this.$gameplay.gsm;if(this.$gameplay.$sdb.availableDecks)return!!(0,d.default)(this.$gameplay.$sdb.availableDecks,function(t){return t.gamePid===e})}return!1}},{key:"authUserCanCreateDecks",get:function(){return!!this.$authUser.pid&&!!this.$authUser.is_teacher}}]),e}(),a=h(n.prototype,"creatingGameSpinning",[p.observable],{enumerable:!0,initializer:function(){return!1}}),o=h(n.prototype,"creatingDeckSpinning",[p.observable],{enumerable:!0,initializer:function(){return!1}}),h(n.prototype,"authUserCanCreateGameFromThisDeck",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"authUserCanCreateGameFromThisDeck"),n.prototype),h(n.prototype,"authUserCanCreateDecks",[p.computed],Object.getOwnPropertyDescriptor(n.prototype,"authUserCanCreateDecks"),n.prototype),i=h(n.prototype,"createNewDeckAndRedirect",[p.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.authUserCanCreateDecks&&(e.creatingDeckSpinning=!0,e.$v2Api.commonCall("post","/deck/create").then(e._handleNewGameResponse,e._handleNewGameResponse))}}}),l=h(n.prototype,"tryDeletingDeck",[p.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.$v2Api.commonCall("post","/deck/delete",{game_pid:t},{noErrorModalIfSoftError:!0})}}}),s=h(n.prototype,"deleteGame",[p.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.$v2Api.commonCall("post","/game/delete",{game_pid:t})}}}),u=h(n.prototype,"createGameFromDeckAndRedirect",[p.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=t.classroomPid;e.creatingGameSpinning=!0,e.$v2Api.commonCall("post","/game/create",{deck_pid:e.gamePid,classroom_pid:r}).then(e._handleNewGameResponse,e._handleNewGameResponse)}}}),c=h(n.prototype,"_handleNewGameResponse",[p.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(e.creatingGameSpinning=!1,e.creatingDeckSpinning=!1,t instanceof Error)throw t;t&&t.data.success&&(e.creatingGameSpinning=!0,t.data.is_deck?e.$router.navToPath("deckRoute",{slug:t.data.new_game_slug}):e.$router.navToPath("gameRoute",{slug:t.data.new_game_slug}))}}}),n);t.default=y},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u=f(r(124)),c=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),d=r(10);function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function m(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var h=(0,f(r(19)).default)("gameplay/fetching"),y=!1,g=(n=function(){function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),p(this,"loadedSlug",a,this),p(this,"loadingSlug",o,this),p(this,"notFound",i,this),p(this,"highSceneIdOnLoad",l,this),p(this,"_handleNonGameplayRoute",s,this),this.refetchGameState=function(){return r.$v2Api.commonCall("get","/game/state",{slug:r.routeSlug,as_events:y?1:0},{noErrorModalOn4xx:!0}).then((0,d.action)(function(e){h.chatter("parsing get game/state results"),r.$gameplay.ingestion.ingestStateResponse(e)})).catch(function(){})},this.throttledRefetchGameState=(0,u.default)(function(){r.$router.route&&r.$router.route.data&&r.$router.route.data.isGameplay&&r.refetchGameState().catch(function(){})},5e3,{leading:!0,trailing:!0}),this.respondToRoutingAutorun=function(){return(0,d.reaction)(function(){return{route:r.$router.route}},(0,d.action)("gameplay_respond_to_route",function(e){var t=e.route;if(!t||t.data&&t.data.isGameplay||r._handleNonGameplayRoute(),t&&t.data&&t.data.isGameplay&&r._gameFetchRequired){r.purgeFlagMgr.engage(r.gsmContainer),r.loadedSlug=void 0,r.notFound=void 0,r.highSceneIdOnLoad=void 0,r.loadingSlug=r.routeSlug;var n=r.routeSlug;r.refetchGameState().then((0,d.action)(function(e){r.loadedSlug=n,r.loadingSlug=!1,r.highSceneIdOnLoad=r.highSceneId,r.purgeFlagMgr.disengage(),r.$gameplay.gameCreation.creatingGameSpinning=!1})).catch((0,d.action)(function(e){if(e&&403===e.status)r.$router.bounce();else if(e&&e.status>=400&&e.status<=499)r.$router.setSsrStatus(404),r.notFound=!0;else if(e instanceof Error)return Promise.reject(e)}))}}),{fireImmediately:!0,name:"respondToRoutingAutorun"})},this.$gameplay=t}return c(e,[{key:"thaw",value:function(e){this.loadedSlug=e.loadedSlug,this.loadingSlug=e.loadingSlug,this.notFound=e.notFound,this.highSceneIdOnLoad=e.highSceneIdOnLoad}},{key:"purgeFlagMgr",get:function(){return this.$gameplay.purgeFlagMgr}},{key:"routeSlug",get:function(){return this.$gameplay.routeSlug}},{key:"$v2Api",get:function(){return this.$gameplay.$v2Api}},{key:"$router",get:function(){return this.$gameplay.$router}},{key:"gsmContainer",get:function(){return this.$gameplay.gsmContainer}},{key:"frozen",get:function(){return{loadingSlug:this.loadingSlug,loadedSlug:this.loadedSlug,notFound:this.notFound,highSceneIdOnLoad:this.highSceneIdOnLoad}}},{key:"_gameFetchRequired",get:function(){return this.loadedSlug!==this.routeSlug||this.loadingSlug&&this.loadingSlug!==this.routeSlug}}]),e}(),a=m(n.prototype,"loadedSlug",[d.observable],{enumerable:!0,initializer:null}),o=m(n.prototype,"loadingSlug",[d.observable],{enumerable:!0,initializer:null}),i=m(n.prototype,"notFound",[d.observable],{enumerable:!0,initializer:null}),l=m(n.prototype,"highSceneIdOnLoad",[d.observable],{enumerable:!0,initializer:null}),m(n.prototype,"frozen",[d.computed],Object.getOwnPropertyDescriptor(n.prototype,"frozen"),n.prototype),m(n.prototype,"thaw",[d.action],Object.getOwnPropertyDescriptor(n.prototype,"thaw"),n.prototype),s=m(n.prototype,"_handleNonGameplayRoute",[d.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.loadedSlug=void 0,e.loadingSlug=void 0,e.notFound=void 0,e.highSceneIdOnLoad=void 0,e.purgeFlagMgr.engage(e.gsmContainer)}}}),n);t.default=g},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=l(r(126)),i=l(r(82));function l(e){return e&&e.__esModule?e:{default:e}}var s=function(){function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.ingestStateResponse=function(e){return r.$gameplay.ingestion.ingestStateResponse(e)},this.acceptInitialBonds=function(e,t){var n={kind:"ekDrawInitialBonds",params:{randSeed:e}};return t&&(n.params.isEdit=!0),r.postEvents([n])},this.postNewDeckEvent=function(e,t){return r.postEvents([e],t)},this.postNewDeckEvents=function(e,t){return r.postEvents(e,t)},this.postEvents=function(e,t){return r._postToEventProducingApi("/game/events",{events_json:JSON.stringify(r._fillInDefaultEventProps(e))},t)},this.postInvites=function(e,t){return r._postToEventProducingApi("/game/invite/new",{nicknames:e},t)},this.postCancelInvite=function(e,t){return r._postToEventProducingApi("/game/invite/cancel",{invitee:e},t)},this.postNewArtAsset=function(e){var t={kind:"ekAddArt",params:e};return r.postEvents([t])},this.postEditArtAsset=function(e){var t={kind:"ekEditArt",params:e};return r.postEvents([t])},this.postDeleteArt=function(e){var t={kind:"ekDeleteArt",params:{artGid:e}};return r.postEvents([t])},this.postNewScenario=function(){return r.postEvents([{kind:"ekAddScenario",params:{}}])},this.postDeleteScenario=function(e){var t={kind:"ekDeleteScenario",params:{scenarioGid:e}};return r.postEvents([t])},this.signalReady=function(e){var t={kind:"ekSetGameAttrs",params:{setupReady:!!e}};return r.postEvents([t])},this.addStockCards=function(e,t){var n=[];return t.forEach(function(t){r.gsm.cardNameIsTaken(t[1],e,t[0])||n.push({kind:"ekCreateCard",params:{kind:e,polarity:t[0],name:t[1],isStockCard:!0}})}),r.postEvents(n)},this._fillInDefaultEventProps=function(e){return e.map(function(e){return n({userPid:r.$authUser.pid,createdAtUnix:(0,o.default)(),seqId:"auto"},e)})},this._postToEventProducingApi=function(e,t,a){var o=(a=n({},a)).writeGuid||(0,i.default)()+(new Date).getTime(),l=!a.mismatchFetchesMade||a.mismatchFetchesMade<3;return a.noErrorModalIfBakeIdMismatch=l,t.write_guid=o,t.game_pid=r.gamePid,t.bake_id=r.gsm.state.bakeId,t.mismatchFetchesMade=a.mismatchFetchesMade||0,r.$gameplay.ingestion.pauseSocketEventsWhileWritingToApi(),r.$v2Api.commonCall("post",e,t,a).then(function(e){return logger.chatter("_postToEventProducingApi commonCall.then resp=",e),a&&a.callbackBeforeGsmUpdate&&a.callbackBeforeGsmUpdate(e),r.ingestStateResponse(e),r.$gameplay.ingestion.unpauseSocketEvents(),e}).catch(function(n){if(logger.chatter("_postToEventProducingApi commonCall.catch resp=",n),n&&n.data&&"max_seq_id_mismatch"===n.data.soft_error){if(logger.warn("max_seq_id_mismatch"),r.$tracking.event("error","max_seq_id_mismatch"),l)return r.$tracking.event("debug","refetch_after_mismatch"),r.$gameplay.fetching.refetchGameState().then(function(n){return r._postToEventProducingApi(e,t,{opts:a,writeGuid:o,mismatchFetchesMade:(a.mismatchFetchesMade||1)+1})}).catch(function(){});r.$tracking.event("debug","refetch_after_mismatch_give_up")}return r.$gameplay.ingestion.unpauseSocketEvents(),Promise.reject(n)})},this.skipTurn=function(e){return r.postEvents([{kind:"ekSkipMove",params:{}}])},this.reassignCharacter=function(e,t){var n={kind:"ekReassignCharacter",params:{characterGid:e,toUserPid:t}};return r.postEvents([n])},this.removePlayer=function(e){var t={kind:"ekRemovePlayer",params:{characterGid:e}};return r.postEvents([t])},this.updateCharacterName=function(e,t){var n={kind:"ekSetCharacterAttrs",params:{characterGid:e,ugcName:t}};return r.postEvents([n])},this.updateCharacterImage=function(e,t){var n={kind:"ekSetCharacterAttrs",params:{characterGid:e,image:t}};return t||(delete n.params.image,n.params.removeImage=!0),r.postEvents([n])},this.$gameplay=t}return a(e,[{key:"gamePid",get:function(){return this.$gameplay.gamePid}},{key:"gsm",get:function(){return this.$gameplay.gsm}},{key:"$authUser",get:function(){return this.$gameplay.$authUser}},{key:"$v2Api",get:function(){return this.$gameplay.$v2Api}},{key:"$tracking",get:function(){return this.$gameplay.$tracking}}
2,{key:"organizerUserPid",get:function(){return this.$gameplay.organizerUserPid}},{key:"socketComms",get:function(){return this.$gameplay.socketComms}}]),e}();t.default=s},,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a=g(r(751)),o=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),i=r(10),l=r(354),s=g(r(23)),u=g(r(749)),c=g(r(748)),d=g(r(747)),f=g(r(746)),p=g(r(697)),m=g(r(696)),h=g(r(695)),y=g(r(694));function g(e){return e&&e.__esModule?e:{default:e}}function b(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var v=(b((n=function(e){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.gameDataPurgeAutorun=function(t,r){return e.purgeFlagMgr.gameDataPurgeAutorun(t,r)},e.characterPathGidFromGid=function(e){return e.replace(/d_char_/,"d").replace(/g_char_/,"g")},e.characterGidFromPathGid=function(e){return e.replace(/^d/,"d_char_").replace(/^g/,"g_char_")},e.characterPath=function(t){return"/game/"+e.routeSlug+"/character/"+e.characterPathGidFromGid(t.gid)+"/"+t.slug},e.characterAvatarUrl=function(e){return(0,l.getImageUrl)(e.image,"avatar_small","character-avatar-default-960_bd6tul")},e.readOnlyGateKeeper=function(){return e.$v2Api.readOnlyGateKeeper()},e.eventWrites=new u.default(e),e.fetching=new c.default(e),e.gameCreation=new d.default(e),e.gsmContainer=new f.default(e),e.ingestion=new p.default(e),e.pageMode=new m.default(e),e.purgeFlagMgr=new h.default,e.redirects=new y.default(e),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,s.default),o(t,[{key:"thaw",value:function(e){this.fetching.thaw(e.fetching),this.gsmContainer.thaw(e.gsmContainer),this.purgeFlagMgr.thaw(e.purgeFlagMgr)}},{key:"boot",value:function(){var e=this;this.$authUser.runWhenLoaded(function(){e.disposers.push(e.fetching.respondToRoutingAutorun()),e.disposers.push(e.redirects.redirectGameVsDeckAutorun()),e.disposers.push(e.redirects.redirectParamsOutOfRangeAutorun())})}},{key:"frozen",get:function(){return{fetching:this.fetching.frozen,gsmContainer:this.gsmContainer.frozen,purgeFlagMgr:this.PurgeFlagMgr.frozen}}},{key:"gsm",get:function(){return this.gsmContainer.gsm}},{key:"gameVob",get:function(){return this.gsmContainer.gameVob}},{key:"routeSlug",get:function(){return this.$router.route.captures.slug}},{key:"gamePid",get:function(){return this.gsm?this.gsm.state.gamePid:void 0}},{key:"highSceneId",get:function(){return this.gsm&&this.gsm.highSceneId()}},{key:"highScene",get:function(){return this.gsm&&this.gsm.highScene()}},{key:"focusedSceneId",get:function(){if(this.gsm){var e=this.$router.route;if(e.captures.actNumber&&e.captures.sceneNumber){var t=this.gsm.sceneHeadingToId(e.captures);return t<0||t>this.gsm.highSceneId()?this.highSceneId:t}if("gameEpilogueRoute"===e.name){var r=this.gsm.sceneHeadingToId({epilogue:!0});return r<0||r>this.gsm.highSceneId()?this.highSceneId:r}return(0,a.default)([this.fetching.highSceneIdOnLoad,this.gsm.highSceneId()])}}},{key:"focusedScene",get:function(){return this.gsm&&this.gsm.state.scenes[this.focusedSceneId]}},{key:"activeCharacterGid",get:function(){if(this.gsm&&this.$authUser){var e=this.gsm.characterForUser(this.$authUser.pid);return e?e.gid:void 0}}},{key:"activeCharacter",get:function(){return this.gsm&&this.gsm.state.characters[this.activeCharacterGid]}}
2,{key:"organizerUserPid",get:function(){return this.gsm&&this.gsm.state.organizerUserPid}},{key:"teacherUserPid",get:function(){return this.gsm&&this.gsm.state.teacherUserPid}},{key:"authIsOrganizer",get:function(){return this.organizerUserPid===this.$authUser.pid}},{key:"authIsTeacher",get:function(){return this.teacherUserPid===this.$authUser.pid}},{key:"authIsTeacherOrOrganizer",get:function(){return this.authIsTeacher||this.authIsOrganizer}},{key:"authIsInvited",get:function(){return this.gsm&&this.gsm.state.invitees.indexOf(this.$authUser.pid)>=0}},{key:"gev",get:function(){return this.gsm&&this.gsm.GEV}},{key:"isTextView",get:function(){return this.$router.route.data.isTextView}}]),t}()).prototype,"frozen",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"frozen"),n.prototype),b(n.prototype,"gsm",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"gsm"),n.prototype),b(n.prototype,"gameVob",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"gameVob"),n.prototype),b(n.prototype,"routeSlug",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"routeSlug"),n.prototype),b(n.prototype,"gamePid",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"gamePid"),n.prototype),b(n.prototype,"highSceneId",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"highSceneId"),n.prototype),b(n.prototype,"highScene",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"highScene"),n.prototype),b(n.prototype,"focusedSceneId",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"focusedSceneId"),n.prototype),b(n.prototype,"focusedScene",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"focusedScene"),n.prototype),b(n.prototype,"activeCharacterGid",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"activeCharacterGid"),n.prototype),b(n.prototype,"activeCharacter",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"activeCharacter"),n.prototype),b(n.prototype,"organizerUserPid",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"organizerUserPid"),n.prototype),b(n.prototype,"teacherUserPid",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"teacherUserPid"),n.prototype),b(n.prototype,"authIsOrganizer",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"authIsOrganizer"),n.prototype),b(n.prototype,"authIsTeacher",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"authIsTeacher"),n.prototype),b(n.prototype,"authIsTeacherOrOrganizer",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"authIsTeacherOrOrganizer"),n.prototype),b(n.prototype,"authIsInvited",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"authIsInvited"),n.prototype),b(n.prototype,"gev",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"gev"),n.prototype),b(n.prototype,"isTextView",[i.computed],Object.getOwnPropertyDescriptor(n.prototype,"isTextView"),n.prototype),n);t.default=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w=P(r(26)),E=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),k=r(10),_=P(r(19)),C=(P(r(126)),P(r(23))),S=P(r(76));function P(e){return e&&e.__esModule?e:{default:e}}function O(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function T(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function j(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var x=(0,_.default)("editor"),M=(n=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var w=arguments.length,E=Array(w),k=0;k<w;k++)E[k]=arguments[k];return r=n=T(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(E))),O(n,"isActive",a,n),O(n,"originalContent",o,n),O(n,"content",i,n),O(n,"sceneId",l,n),O(n,"moveGid",s,n),O(n,"moveRevisionRequestForReference",u,n),O(n,"publishing",c,n),O(n,"requestingRevisions",d,n),O(n,"revisionRequestContent",f,n),O(n,"confirmDeletion",p,n),O(n,"showCantDeleteModal",m,n),O(n,"reset",h,n),n.boot=function(){n.disposers.push(n.$gameplay.gameDataPurgeAutorun("editor",n.reset))},O(n,"startEditing",y,n),O(n,"startRevisionRequest",g,n),O(n,"maybeDelete",b,n),O(n,"publish",v,n),T(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,C.default),E(t,[{key:"setContent",value:function(e){this.content=e}},{key:"setRevisionRequestContent",value:function(e){this.revisionRequestContent=e}},{key:"gsmMove",get:function(){var e=this;return this.$gameplay.gsm&&this.$gameplay.gsm.state.scenes[this.sceneId]&&(0,w.default)(this.$gameplay.gsm.state.scenes[this.sceneId].moves,function(t){return t.gid===e.moveGid})}},{key:"blurbCurrentContent",get:function(){return this.$blurbs.smart(this.$gameplay.gamePid,this.gsmMove.blurb)}},{key:"changed",get:function(){return this.content!==this.originalContent}},{key:"validToPublish",get:function(){return this.isActive?this.changed&&this.content.trim().length>0:this.requestingRevisions?this.revisionRequestContent.trim().length>0:!!this.confirmDeletion}}]),t}(),a=j(n.prototype,"isActive",[k.observable],{enumerable:!0,initializer:null}),o=j(n.prototype,"originalContent",[k.observable],{enumerable:!0,initializer:null}),i=j(n.prototype,"content",[k.observable],{enumerable:!0,initializer:null}),l=j(n.prototype,"sceneId",[k.observable],{enumerable:!0,initializer:null}),s=j(n.prototype,"moveGid",[k.observable],{enumerable:!0,initializer:null}),u=j(n.prototype,"moveRevisionRequestForReference",[k.observable],{enumerable:!0,initializer:null}),c=j(n.prototype,"publishing",[k.observable],{enumerable:!0,initializer:function(){return!1}}),d=j(n.prototype,"requestingRevisions",[k.observable],{enumerable:!0,initializer:null}),f=j(n.prototype,"revisionRequestContent",[k.observable],{enumerable:!0,initializer:null}),p=j(n.prototype,"confirmDeletion",[k.observable],{enumerable:!0,initializer:null}),m=j(n.prototype,"showCantDeleteModal",[k.observable],{enumerable:!0,initializer:null}),h=j(n.prototype,"reset",[k.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.isActive=void 0,e.originalContent=void 0,e.content=void 0,e.sceneId=void 0,e.moveGid=void 0,e.moveRevisionRequestForReference=void 0,e.publishing=!1,e.requestingRevisions=!1,e.revisionRequestContent="",e.confirmDeletion=!1,e.showCantDeleteModal=!1}}}),y=j(n.prototype,"startEditing",[k.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(e.isActive)throw new Error("editor cant start editing a move when already editing one");if(e.requestingRevisions)throw new Error("editor cant start editing a move when already creating a revision request");
2if(!e.$gameplay.readOnlyGateKeeper()){if(e.isActive=!0,e.sceneId=t.sceneId,e.moveGid=t.gid,!e.gsmMove)throw new Error("editor cant find move");e.content=e.$blurbs.smart(e.$gameplay.gamePid,e.gsmMove.blurb),e.originalContent=e.content,e.moveRevisionRequestForReference=t.revisionRequest}}}}),g=j(n.prototype,"startRevisionRequest",[k.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(e.isActive)throw new Error("editor cant start a revision request when already editing a move");if(e.requestingRevisions)throw new Error("editor cant start a revision request when already creating one");if(!e.$gameplay.readOnlyGateKeeper()){if(e.requestingRevisions=!0,e.sceneId=t.sceneId,e.moveGid=t.gid,!e.gsmMove)throw new Error("editor cant find move");e.revisionRequestContent=""}}}}),b=j(n.prototype,"maybeDelete",[k.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(!e.$gameplay.readOnlyGateKeeper()){if(e.sceneId=t.sceneId,e.moveGid=t.gid,!e.gsmMove)throw new Error("editor cant find move");e.$rtDraftStatuses.anyoneDraftingNextMove?e.showCantDeleteModal=!0:e.confirmDeletion=!0}}}}),j(n.prototype,"gsmMove",[k.computed],Object.getOwnPropertyDescriptor(n.prototype,"gsmMove"),n.prototype),j(n.prototype,"blurbCurrentContent",[k.computed],Object.getOwnPropertyDescriptor(n.prototype,"blurbCurrentContent"),n.prototype),j(n.prototype,"setContent",[k.action],Object.getOwnPropertyDescriptor(n.prototype,"setContent"),n.prototype),j(n.prototype,"setRevisionRequestContent",[k.action],Object.getOwnPropertyDescriptor(n.prototype,"setRevisionRequestContent"),n.prototype),j(n.prototype,"changed",[k.computed],Object.getOwnPropertyDescriptor(n.prototype,"changed"),n.prototype),j(n.prototype,"validToPublish",[k.computed],Object.getOwnPropertyDescriptor(n.prototype,"validToPublish"),n.prototype),v=j(n.prototype,"publish",[k.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(!e.validToPublish)return Promise.reject();var t=void 0,r=0;return e.isActive&&(t={kind:"ekEditMove",params:{gid:e.moveGid,blurb:{content:e.content}}},r=(0,S.default)(e.content)-(0,S.default)(e.originalContent)),e.requestingRevisions&&(t={kind:"ekRequestRevisions",params:{gid:e.moveGid,blurb:{content:e.revisionRequestContent}}}),e.confirmDeletion&&(t={kind:"ekDeleteMove",params:{gid:e.moveGid}}),e.publishing=!0,e.$gameplay.eventWrites.postEvents([t]).then(function(){e.requestingRevisions&&e.$tracking.event("misc","request_revisions"),e.moveRevisionRequestForReference&&e.$tracking.event("misc","resolve_revision_request"),r&&e.$tracking.event("drafting","wordsWritten",{wordCt:r}),e.reset()}).catch((0,k.action)(function(t){x.chatter("editor write caught rejection",t),e.publishing=!1}))}}}),n);t.default=M},,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w,E,k,_,C,S,P,O,T,j,x,M,z,A,I,$,D,N,R,B,U,G,F,q,L,V,H,W,K,Y,J,Z,X,Q,ee,te,re,ne,ae,oe,ie,le,se,ue,ce,de,fe,pe,me,he,ye,ge,be,ve,we,Ee,ke,_e,Ce,Se,Pe,Oe=Be(r(757)),Te=Be(r(50)),je=Be(r(27)),xe=Be(r(37)),Me=Be(r(26)),ze=Be(r(124)),Ae=Be(r(149)),Ie=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),$e=r(10),De=Be(r(19)),Ne=Be(r(23)),Re=Be(r(76));function Be(e){return e&&e.__esModule?e:{default:e}}function Ue(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function Ge(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function Fe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function qe(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}(0,De.default)("deckEditor");var Le=(n=$e.observable.ref,a=function(){function e(t){Fe(this,e),Ge(this,"editingCardGid",o,this),Ge(this,"fastName",i,this),Ge(this,"name",l,this),Ge(this,"bulkMode",s,this),Ge(this,"bulkAddCardNames",u,this),Ge(this,"bulkCardNamesTaken",c,this),Ge(this,"kind",d,this),Ge(this,"polarity",f,this),Ge(this,"image",p,this),Ge(this,"spinning",m,this),Ge(this,"artChooserOpen",h,this),Ge(this,"setArtChooserOpen",y,this),Ge(this,"setEditingCardGid",g,this),Ge(this,"setBulkMode",b,this),Ge(this,"addMoreBulkNames",v,this),Ge(this,"setFastName",w,this),Ge(this,"setName",E,this),this.throttledSetName=(0,ze.default)(this.setName,500),Ge(this,"setBulkCardName",k,this),Ge(this,"setKind",_,this),Ge(this,"setPolarity",C,this),Ge(this,"setImage",S,this),Ge(this,"initializePolarity",P,this),Ge(this,"updateBulkTaken",O,this),Ge(this,"save",T,this),this.$gameplay=t.$gameplay,this.$authUser=t.$authUser}return Ie(e,[{key:"cardNameIsTaken",get:function(){if(this.bulkMode)throw new Error("n/a in bulk mode");return this.$gameplay.gsm.cardNameIsTaken(this.name,this.kind,this.polarity,!!this.editingCardGid&&this.previewCard)}},{key:"previewCard",get:function(){var e={kind:this.kind,name:this.name,polarity:this.polarity,image:this.image,userPid:this.$authUser.pid};return this.editingCardGid&&(e.gid=this.editingCardGid),e}},{key:"polarityIsEditable",get:function(){return!this.editingCardGid&&this.$gameplay.gsm.cardKindHasVariablePolarity(this.kind)}},{key:"validToSave",get:function(){if(this.bulkMode){var e=!!(0,Me.default)(this.bulkAddCardNames,function(e){return!!e.trim()}),t=!!(0,Me.default)(this.bulkCardNamesTaken);return e&&!t}return!!this.kind&&!!(this.fastName+"").trim()&&!this.cardNameIsTaken}}]),e}(),o=qe(a.prototype,"editingCardGid",[$e.observable],{enumerable:!0,initializer:null}),i=qe(a.prototype,"fastName",[$e.observable],{enumerable:!0,initializer:function(){return""}}),l=qe(a.prototype,"name",[$e.observable],{enumerable:!0,initializer:function(){return""}}),s=qe(a.prototype,"bulkMode",[$e.observable],{enumerable:!0,initializer:function(){return!1}}),u=qe(a.prototype,"bulkAddCardNames",[$e.observable],{enumerable:!0,initializer:function(){return["","",""]}}),c=qe(a.prototype,"bulkCardNamesTaken",[$e.observable],{enumerable:!0,initializer:function(){return[!1,!1,!1]}}),d=qe(a.prototype,"kind",[$e.observable],{enumerable:!0,initializer:null}),f=qe(a.prototype,"polarity",[$e.observable],{enumerable:!0,initializer:null}),p=qe(a.prototype,"image",[n],{enumerable:!0,initializer:null}),m=qe(a.prototype,"spinning",[$e.observable],{enumerable:!0,initializer:null}),h=qe(a.prototype,"artChooserOpen",[$e.observable],{enumerable:!0,initializer:function(){return!1}}),y=qe(a.prototype,"setArtChooserOpen",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.artChooserOpen=t}}}),g=qe(a.prototype,"setEditingCardGid",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(t&&e.editingCardGid!==t){e.editingCardGid=t;var r=e.$gameplay.gsm.state.cards[t];e.fastName=r.name,e.name=r.name,e.kind=r.kind,e.polarity=r.polarity,e.image=(0,Ae.default)(r.image)}else!t&&e.editingCardGid&&(e.editingCardGid=t,e.name="",e.fastName="",e.image=void 0)}}}),b=qe(a.prototype,"setBulkMode",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.bulkMode=!!t,e.bulkMode&&(e.name="(card titles here)")}}}),v=qe(a.prototype,"addMoreBulkNames",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.bulkAddCardNames.push(""),e.bulkAddCardNames.push(""),e.bulkAddCardNames.push(""),e.bulkCardNamesTaken.push(!1),e.bulkCardNamesTaken.push(!1),e.bulkCardNamesTaken.push(!1)}}}),w=qe(a.prototype,"setFastName",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.fastName=t,e.throttledSetName(t)}}}),E=qe(a.prototype,"setName",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.name=t}}}),k=qe(a.prototype,"setBulkCardName",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r){e.bulkAddCardNames[t]=r,e.updateBulkTaken(),e.throttledSetName(r)}}}),_=qe(a.prototype,"setKind",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.kind=t,e.initializePolarity()}}}),C=qe(a.prototype,"setPolarity",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.polarity=t}}}),S=qe(a.prototype,"setImage",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.image=t}}}),P=qe(a.prototype,"initializePolarity",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(e.kind&&!e.editingCardGid){var t=e.$gameplay.gsm;t.cardKindHasVariablePolarity(e.kind)?e.polarity=1:e.polarity=t.cardKindFixedPolarity(e.kind)}}}}),qe(a.prototype,"cardNameIsTaken",[$e.computed],Object.getOwnPropertyDescriptor(a.prototype,"cardNameIsTaken"),a.prototype),O=qe(a.prototype,"updateBulkTaken",[$e.action],{enumerable:!0,initializer:function(){var e=this;
2return function(){e.bulkAddCardNames.forEach(function(t,r){e.bulkCardNamesTaken[r]=e.$gameplay.gsm.cardNameIsTaken(t,e.kind,e.polarity)});var t={};e.bulkAddCardNames.forEach(function(r,n){var a=r.trim().toLowerCase();a&&(t[a]&&(e.bulkCardNamesTaken[n]=!0),t[a]=!0)})}}}),qe(a.prototype,"previewCard",[$e.computed],Object.getOwnPropertyDescriptor(a.prototype,"previewCard"),a.prototype),qe(a.prototype,"polarityIsEditable",[$e.computed],Object.getOwnPropertyDescriptor(a.prototype,"polarityIsEditable"),a.prototype),qe(a.prototype,"validToSave",[$e.computed],Object.getOwnPropertyDescriptor(a.prototype,"validToSave"),a.prototype),T=qe(a.prototype,"save",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(e.fastName!==e.name&&(e.name=e.fastName),!e.validToSave)return Promise.reject();if(e.spinning)return Promise.reject();var t=[];if(e.bulkMode)e.bulkAddCardNames.forEach(function(r){var n=r.trim();if(n){var a={kind:"ekCreateCard",params:{name:n,kind:e.kind}};e.polarity&&(a.params.polarity=e.polarity),e.image&&(a.params.image=e.image),t.push(a)}});else{var r={kind:"ekCreateCard",params:{name:e.fastName.trim(),kind:e.kind}};e.polarity&&(r.params.polarity=e.polarity),e.image&&(r.params.image=e.image),e.editingCardGid&&(r.kind="ekEditCard",r.params.cardGid=e.editingCardGid,delete r.params.kind,delete r.params.polarity,e.image||(r.params.removeImage=!0)),t.push(r)}return e.spinning=!0,e.$gameplay.eventWrites.postNewDeckEvents(t).then((0,$e.action)(function(t){if(e.bulkMode)return t;var r=e.$gameplay.gsm;return(0,Me.default)((0,xe.default)(r.state.cards),function(t){return t.kind===e.kind&&t.name===e.fastName.trim()&&t.polarity===e.polarity})}),(0,$e.action)(function(){e.spinning=!1}))}}}),a),Ve=(j=$e.observable.ref,x=function(e){function t(){var e,r,n;Fe(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=Ue(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),Ge(n,"modalTypeOpen",M,n),Ge(n,"editingDetailProp",z,n),Ge(n,"spinning",A,n),Ge(n,"deckNameValue",I,n),Ge(n,"editingCharTypeGid",$,n),Ge(n,"charTypeAttrs",D,n),Ge(n,"deletingCharTypeGid",N,n),Ge(n,"activeCharType",R,n),Ge(n,"editingScenarioDetailProp",B,n),Ge(n,"choosingScenarioCardArgs",U,n),Ge(n,"selectedScenarioCardGid",G,n),Ge(n,"deletingCardGid",F,n),n.setClickedTab=function(e){return n.$tabMemory.setSelectedTabFn("deckEditor")(e)},Ge(n,"reset",q,n),n.boot=function(){n.disposers.push(n.$gameplay.gameDataPurgeAutorun("deckEditor",n.reset))},n.deckEditingRestrictionLevel=function(){return n.$gameplay.gsm.deckEditingRestrictionLevel()},Ge(n,"clearCharTypeAttrs",L,n),Ge(n,"setActiveCharType",V,n),Ge(n,"setCharTypeAttrsFromCharTypeGid",H,n),Ge(n,"openBulkAddCards",W,n),Ge(n,"composeNewCard",K,n),Ge(n,"editCard",Y,n),Ge(n,"cancel",J,n),Ge(n,"confirmDeleteCard",Z,n),Ge(n,"reallyDeleteCard",X,n),Ge(n,"editDeckName",Q,n),Ge(n,"setDeckNameValue",ee,n),Ge(n,"saveDeckName",te,n),Ge(n,"setNewBannerImage",re,n),Ge(n,"composeNewCharType",ne,n),Ge(n,"editCharType",ae,n),Ge(n,"saveCharType",oe,n),Ge(n,"setCharTypeProp",ie,n),Ge(n,"confirmDeleteCharType",le,n),Ge(n,"setScope",se,n),Ge(n,"reallyDeleteCharType",ue,n),Ge(n,"tryDeletingDeck",ce,n),Ge(n,"setDeckPdfAsset",de,n),Ge(n,"editDetailProp",fe,n),Ge(n,"saveDetailProp",pe,n),Ge(n,"addScenario",me,n),Ge(n,"deleteScenario",he,n),n.editScenario=function(e){var t=n.$gameplay.gsm;t.state.scenarios[e]&&n.$router.navToPath("scenarioDetailRoute",{slug:t.state.slug,gid:e})},Ge(n,"editScenarioDetailProp",ye,n),Ge(n,"saveScenarioDetailProp",ge,n),Ge(n,"openChooseScenarioCardModal",be,n),Ge(n,"selectScenarioCard",ve,n),Ge(n,"saveSelectedScenarioCard",we,n),Ge(n,"saveNewCardToScenario",Ee,n),n.tabCount=function(e){var t=n.$gameplay.gsm;return"cards"===e?t.filterCardsForUseCase("cardsTabCount"):"charTypes"===e?t.charTypeCharacters().length:"scenarios"===e?(0,je.default)((0,xe.default)(t.state.scenarios),function(e){return t.scenarioIsComplete(e)}).length:"art"===e?(0,xe.default)(t.state.art).length-1:"materials"===e&&(n.$authUser.is_student?t.state.deckPdfs&&t.state.deckPdfs.handout?1:0:(t.state.deckPdfs&&t.state.deckPdfs.slides?1:0)+(t.state.deckPdfs&&t.state.deckPdfs.usage?1:0)+(t.state.deckPdfs&&t.state.deckPdfs.handout?1:0))},Ge(n,"publishDeckVersion",ke,n),Ge(n,"createClassCopy",_e,n),Ge(n,"createReplica",Ce,n),Ge(n,"startNewDeckVersion",Se,n),Ge(n,"cancelNewDeckVersion",Pe,n),n.fetchLatestScopes=function(){return n.$v2Api.commonCall("get","/deck/latest_published_scopes",{game_pid:n.$gameplay.gamePid}).then(function(e){return e.data.latest_published_deck_scopes},function(e){return!1})},Ue(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Ne.default),Ie(t,[{key:"editingDeckPropValidToSave",value:function(e){if("detailPropEditor"===this.modalTypeOpen){if("deckBlurb"===this.editingDetailProp){var t=(e||"").trim();return!((0,Re.default)(t)>200)}if("deckSubjects"===this.editingDetailProp)return!((e||[]).join("").length>100);if("deckGrades"===this.editingDetailProp)return!0}return!1}},{key:"editingScenarioPropValidToSave",value:function(e){if("scenarioPropEditor"===this.modalTypeOpen){if("blurb"
2===this.editingScenarioDetailProp){var t=(e||"").trim();return!((0,Re.default)(t)>200)&&!!t}if("sceneBlurb"===this.editingScenarioDetailProp){var r=(e||"").trim();return!((0,Re.default)(r)>200)&&!!r}if("ugcName"===this.editingScenarioDetailProp)return(e||"").trim().length>0;if("storySize"===this.editingScenarioDetailProp)return!!e}return!1}},{key:"validTabs",get:function(){return this.$authUser.is_teacher?this.$gameplay.$authUser.pid===this.$gameplay.gsm.state.teacherUserPid?["details","cards","charTypes","scenarios","art","materials"]:["cards","charTypes","scenarios","art","materials"]:this.tabCount("materials",!1)?["cards","charTypes","scenarios","art","materials"]:["cards","charTypes","scenarios","art"]}},{key:"selectedTab",get:function(){var e=this.$tabMemory.selectedTab("deckEditor","details");return this.validTabs.indexOf(e)>=0?e:"cards"}},{key:"previewCard",get:function(){var e={kind:this.cardAttrs.kind,name:this.cardAttrs.name,polarity:this.cardAttrs.polarity,image:this.cardAttrs.image,userPid:this.$authUser.pid};return this.editingCardGid&&(e.gid=this.editingCardGid),e}},{key:"charTypeTasks",get:function(){var e=[];(this.charTypeAttrs.name+"").trim()||e.push("charTypeTaskSetName");var t=0;return this.charTypeAttrs.suggestedNames.forEach(function(e){(e+"").trim()&&t++}),t<6&&e.push("charTypeTaskSetSuggestedNames"),this.charTypeAttrs.image&&this.charTypeAttrs.image2||e.push("charTypeTaskSetImages"),this.charTypeAttrs.defaultStrength||e.push("charTypeTaskSetStrength"),this.charTypeAttrs.defaultFlaw||e.push("charTypeTaskSetFlaw"),this.charTypeAttrs.defaultMotivation||e.push("charTypeTaskSetMotivation"),e}},{key:"validToSave",get:function(){return"nameEditor"===this.modalTypeOpen?!!(this.deckNameValue+"").trim():"charTypeEditor"===this.modalTypeOpen&&0===this.charTypeTasks.length}}]),t}(),M=qe(x.prototype,"modalTypeOpen",[$e.observable],{enumerable:!0,initializer:null}),z=qe(x.prototype,"editingDetailProp",[$e.observable],{enumerable:!0,initializer:null}),A=qe(x.prototype,"spinning",[$e.observable],{enumerable:!0,initializer:function(){return!1}}),I=qe(x.prototype,"deckNameValue",[$e.observable],{enumerable:!0,initializer:null}),$=qe(x.prototype,"editingCharTypeGid",[$e.observable],{enumerable:!0,initializer:null}),D=qe(x.prototype,"charTypeAttrs",[$e.observable],{enumerable:!0,initializer:null}),N=qe(x.prototype,"deletingCharTypeGid",[$e.observable],{enumerable:!0,initializer:null}),R=qe(x.prototype,"activeCharType",[$e.observable],{enumerable:!0,initializer:function(){}}),B=qe(x.prototype,"editingScenarioDetailProp",[$e.observable],{enumerable:!0,initializer:null}),U=qe(x.prototype,"choosingScenarioCardArgs",[j],{enumerable:!0,initializer:null}),G=qe(x.prototype,"selectedScenarioCardGid",[$e.observable],{enumerable:!0,initializer:null}),F=qe(x.prototype,"deletingCardGid",[$e.observable],{enumerable:!0,initializer:null}),qe(x.prototype,"validTabs",[$e.computed],Object.getOwnPropertyDescriptor(x.prototype,"validTabs"),x.prototype),qe(x.prototype,"selectedTab",[$e.computed],Object.getOwnPropertyDescriptor(x.prototype,"selectedTab"),x.prototype),q=qe(x.prototype,"reset",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.activeCharType=void 0,e.modalTypeOpen=void 0,e.charTypeAttrs=void 0,e.deckNameValue=void 0,e.deletingCardGid=void 0,e.deletingCharTypeGid=void 0,e.editingCharTypeGid=void 0,e.editingDetailProp=void 0,e.cardEditorStore=void 0,e.spinning=void 0}}}),L=qe(x.prototype,"clearCharTypeAttrs",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.charTypeAttrs={name:"",suggestedNames:["","","","","",""],image:!1,image2:!1,defaultStrength:!1,defaultFlaw:!1,defaultMotivation:!1}}}}),V=qe(x.prototype,"setActiveCharType",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.activeCharType=t}}}),H=qe(x.prototype,"setCharTypeAttrsFromCharTypeGid",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=e.$gameplay.gsm.state.characters[t];e.charTypeAttrs={name:r.name,suggestedNames:r.suggestedNames.slice(),image:(0,Ae.default)(r.image),image2:(0,Ae.default)(r.image2),defaultStrength:r.cards[0],defaultFlaw:r.cards[1],defaultMotivation:r.cards[2]}}}}),W=qe(x.prototype,"openBulkAddCards",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.modalTypeOpen="bulkAdder",e.cardEditorStore=new Le(e),e.cardEditorStore.setKind(t),e.cardEditorStore.setBulkMode(!0)}}}),K=qe(x.prototype,"composeNewCard",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.modalTypeOpen="cardEditor",e.cardEditorStore=new Le(e),e.cardEditorStore.setKind(t)}}}),Y=qe(x.prototype,"editCard",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.modalTypeOpen="cardEditor",e.cardEditorStore=new Le(e),e.cardEditorStore.setEditingCardGid(t)}}}),qe(x.prototype,"previewCard",[$e.computed],Object.getOwnPropertyDescriptor(x.prototype,"previewCard"),x.prototype),J=qe(x.prototype,"cancel",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.spinning=!1,e.modalTypeOpen=!1,e.deletingCardGid=!1,e.deletingCharTypeGid=!1,e.editingCharTypeGid=!1,e.deletingCharTypeGid=!1,e.editingDetailProp=!1,e.editingScenarioDetailProp=!1,e.cardEditorStore=void 0}}}),qe(x.prototype,"charTypeTasks",[$e.computed],Object.getOwnPropertyDescriptor(x.prototype,"charTypeTasks"),x.prototype),qe(x.prototype,"validToSave",[$e.computed],Object.getOwnPropertyDescriptor(x.prototype,"validToSave"),x.prototype),Z=qe(x.prototype,"confirmDeleteC
2ard",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.modalTypeOpen="confirmDeleteCard",e.deletingCardGid=t}}}),X=qe(x.prototype,"reallyDeleteCard",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t={kind:"ekDeleteCard",params:{cardGid:e.deletingCardGid}};e.spinning="deleteCardSpinning",e.$gameplay.eventWrites.postNewDeckEvent(t).then((0,$e.action)(function(){e.cancel()}),(0,$e.action)(function(){e.spinning=!1}))}}}),Q=qe(x.prototype,"editDeckName",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.modalTypeOpen="nameEditor",e.deckNameValue=e.$gameplay.gsm.state.ugcName||""}}}),ee=qe(x.prototype,"setDeckNameValue",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.deckNameValue=t}}}),te=qe(x.prototype,"saveDeckName",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t={kind:"ekSetGameAttrs",params:{ugcName:e.deckNameValue}};e.spinning="saveDeckNameSpinning",e.$gameplay.eventWrites.postNewDeckEvent(t).then((0,$e.action)(function(){e.cancel()}),(0,$e.action)(function(){e.spinning=!1}))}}}),re=qe(x.prototype,"setNewBannerImage",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r={kind:"ekSetGameAttrs",params:{image:t}};return t||(delete r.params.image,r.params.removeImage=!0),e.spinning="saveBannerImageSpinning",e.$gameplay.eventWrites.postNewDeckEvent(r).then((0,$e.action)(function(){e.cancel()}),(0,$e.action)(function(){e.spinning=!1}))}}}),ne=qe(x.prototype,"composeNewCharType",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.$gameplay.gsm.deckHasEnoughDataToCreateCharType()?(e.modalTypeOpen="charTypeEditor",e.editingCharTypeGid=!1,e.clearCharTypeAttrs()):e.modalTypeOpen="charTypeInsufficientDataWarning"}}}),ae=qe(x.prototype,"editCharType",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.modalTypeOpen="charTypeEditor",e.editingCharTypeGid=t,e.setCharTypeAttrsFromCharTypeGid(t)}}}),oe=qe(x.prototype,"saveCharType",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t={kind:"ekStartCharacter",params:{ugcName:e.charTypeAttrs.name,isCharType:!0,image:e.charTypeAttrs.image,image2:e.charTypeAttrs.image2,suggestedNames:(0,je.default)(e.charTypeAttrs.suggestedNames,function(e){return!!(e+"").trim()}),cards:[e.charTypeAttrs.defaultStrength,e.charTypeAttrs.defaultFlaw,e.charTypeAttrs.defaultMotivation]}},r=!!e.editingCharTypeGid;e.editingCharTypeGid&&(t.kind="ekSetCharacterAttrs",t.params.characterGid=e.editingCharTypeGid,delete t.params.isCharType),r&&"deck_edits_all"!==e.$gameplay.gsm.deckEditingRestrictionLevel()&&delete t.params.cards,e.spinning="saveCharTypeSpinning",e.$gameplay.eventWrites.postNewDeckEvent(t).then((0,$e.action)(function(){e.cancel(),r||(e.activeCharType=(0,Te.default)(e.$gameplay.gsm.charTypeCharacters())&&(0,Te.default)(e.$gameplay.gsm.charTypeCharacters()).gid)}),(0,$e.action)(function(){e.spinning=!1}))}}}),ie=qe(x.prototype,"setCharTypeProp",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r,n){"suggestedNames"===t?e.charTypeAttrs[t][n]=r:e.charTypeAttrs[t]=r}}}),le=qe(x.prototype,"confirmDeleteCharType",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.modalTypeOpen="confirmDeleteCharType",e.deletingCharTypeGid=t}}}),se=qe(x.prototype,"setScope",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=t.scope,n=t.status,a={kind:"ekSetGameAttrs",params:{deckScopes:{}}};return a.params.deckScopes[r]=n,e.spinning="setScope_"+r,e.$gameplay.eventWrites.postNewDeckEvent(a).then((0,$e.action)(function(){e.cancel()}),(0,$e.action)(function(){e.spinning=!1}))}}}),ue=qe(x.prototype,"reallyDeleteCharType",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t={kind:"ekDeleteCharacter",params:{characterGid:e.deletingCharTypeGid}};e.spinning="deleteCharTypeSpinning",e.$gameplay.eventWrites.postNewDeckEvent(t).then((0,$e.action)(function(){e.cancel(),e.activeCharType=(0,Oe.default)(e.$gameplay.gsm.charTypeCharacters())&&(0,Oe.default)(e.$gameplay.gsm.charTypeCharacters()).gid}),(0,$e.action)(function(){e.spinning=!1}))}}}),ce=qe(x.prototype,"tryDeletingDeck",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.spinning="tryDeleteDeckSpinning",e.$gameplay.gameCreation.tryDeletingDeck(e.$gameplay.gamePid).then((0,$e.action)(function(){e.spinning=!1,e.$router.redirectTo("/")}),(0,$e.action)(function(r){e.spinning=!1,r&&r.data&&"cant_delete"===r.data.soft_error&&t()}))}}}),de=qe(x.prototype,"setDeckPdfAsset",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r){e.spinning="saveDeckPdf-"+t;var n={kind:"ekSetGameAttrs",params:{deckPdfAsset:{type:t,assetId:r}}};return"__delete__"===r&&(e.spinning="deleteDeckPdf-"+t,n.params.deckPdfAsset={type:t,delete:!0}),e.$gameplay.eventWrites.postNewDeckEvent(n).then((0,$e.action)(function(){e.spinning=!1}))}}}),fe=qe(x.prototype,"editDetailProp",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.modalTypeOpen="detailPropEditor",e.editingDetailProp=t}}}),pe=qe(x.prototype,"saveDetailProp",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r={kind:"ekSetGameAttrs",params:{}};if(r.params[e.editingDetailProp]=t,"deckBlurb"===e.editingDetailProp){var n=(t||"").trim();r.params[e.editingDetailProp]={content:n},n||(r.params[e.editingDetailProp]={remove:!0})}e.spinning="saveDeckDetailProp",e.$gameplay.eventWrites.postNewDeckEvent(r).then((0,$e.action)(function(){e.cancel()}),(0,$e.action)(function(){e.spinning=!1}))}}}),me=qe(x.prototype,"addScenario",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=e.$gameplay.gsm,r=t.upcomingGid("scenario");return e.spinning="addScenario",e.$gameplay.eventWrites.postNewScenario().then((0,$e.action)(function(){e.$router.navToPath("scenarioDetailRoute",{slug:t.state.slug,gid:r}),e.spinning=!1}))}}}),he=qe(x.prototype,"deleteScenario",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.$gameplay.gsm;return e.spinning="deleteScenario-"+t,e.$gameplay.eventWrites.postDeleteScenario(t).then((0,$e.action)(function(){e.spinning=!1}))}}}),ye=qe(x.prototype,"editScenarioDetailProp",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r){e.modalTypeOpen="scenarioPropEditor",e.editingScenarioDetailProp=t,e.editingScenarioBlurbSceneId=r}}}),ge=qe(x.prototype,"saveScenarioDetailProp",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r={kind:"ekEditScenario",params:{scenarioGid:e.$router.route.captures.gid}};
2if("blurb"===e.editingScenarioDetailProp){var n=(t||"").trim();r.params[e.editingScenarioDetailProp]={content:n},n||(r.params[e.editingScenarioDetailProp]={remove:!0})}else if("sceneBlurb"===e.editingScenarioDetailProp){r.kind="ekEditScenarioScene",r.params.sceneId=e.editingScenarioBlurbSceneId;var a=(t||"").trim();r.params.blurb={content:a},a||(r.params.blurb={remove:!0})}else r.params[e.editingScenarioDetailProp]=t;e.spinning="saveScenarioDetailProp",e.$gameplay.eventWrites.postNewDeckEvent(r).then((0,$e.action)(function(){e.cancel()}),(0,$e.action)(function(){e.spinning=!1}))}}}),be=qe(x.prototype,"openChooseScenarioCardModal",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=t.type,n=t.sceneId,a=t.idx,o=t.kind;e.modalTypeOpen="chooseScenarioCard",e.choosingScenarioCardArgs={type:r,sceneId:n,idx:a,kind:o},e.selectedScenarioCardGid="",e.cardEditorStore=new Le(e),e.cardEditorStore.setKind(o)}}}),ve=qe(x.prototype,"selectScenarioCard",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.selectedScenarioCardGid=t}}}),we=qe(x.prototype,"saveSelectedScenarioCard",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.spinning="saveSelectedScenarioCard";var t=e.$router.route.captures.gid,r=e.$gameplay.gsm.state.scenarios[t],n={kind:"ekEditScenario",params:{scenarioGid:t}};if("setupCards"===e.choosingScenarioCardArgs.type){var a=r.setupCards.slice();a[e.choosingScenarioCardArgs.idx]=e.selectedScenarioCardGid,n.params.setupCards=a}if("sceneCards"===e.choosingScenarioCardArgs.type){var o=r.scenes[e.choosingScenarioCardArgs.sceneId].cards.slice();o[e.choosingScenarioCardArgs.idx]=e.selectedScenarioCardGid,n.params.sceneId=e.choosingScenarioCardArgs.sceneId,n.params.cards=o,n.kind="ekEditScenarioScene"}e.$gameplay.eventWrites.postNewDeckEvent(n).then((0,$e.action)(function(){e.cancel()}),(0,$e.action)(function(){e.spinning=!1}))}}}),Ee=qe(x.prototype,"saveNewCardToScenario",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.selectedScenarioCardGid=t.gid,e.saveSelectedScenarioCard()}}}),ke=qe(x.prototype,"publishDeckVersion",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=t.addToClassrooms,n=t.shareToLibrary,a={classroom:"ds_inactive",library:"ds_inactive"};r&&(a.classroom="ds_active"),n&&(a.library="ds_active","drs_perm_approved"!==e.$gameplay.gsm.state.deckReviewStatus&&(a.library="ds_pending"));var o={kind:"ekSetGameAttrs",params:{deckIsPublished:!0,deckScopes:a}};return e.spinning="publishDeckVersion",e.$gameplay.eventWrites.postNewDeckEvent(o).then((0,$e.action)(function(){e.spinning=!1}),(0,$e.action)(function(){e.spinning=!1}))}}}),_e=qe(x.prototype,"createClassCopy",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.spinning="creatingClassCopy",e.$v2Api.commonCall("post","/deck/create_class_copy",{game_pid:e.$gameplay.gamePid}).then((0,$e.action)(function(t){e.spinning=!1,e.$router.navToPath("deckRoute",{slug:t.data.new_deck_slug})}),(0,$e.action)(function(t){e.spinning=!1}))}}}),Ce=qe(x.prototype,"createReplica",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.spinning="creatingReplica",e.$v2Api.commonCall("post","/deck/replicate",{game_pid:e.$gameplay.gamePid}).then((0,$e.action)(function(t){e.spinning=!1,e.$router.navToPath("deckRoute",{slug:t.data.new_deck_slug})}),(0,$e.action)(function(t){e.spinning=!1}))}}}),Se=qe(x.prototype,"startNewDeckVersion",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.spinning="startNewDeckVersion",e.$v2Api.commonCall("post","/deck/create_new_version",{game_pid:e.$gameplay.gamePid}).then((0,$e.action)(function(t){e.spinning=!1,e.$router.navToPath("deckRoute",{slug:t.data.new_deck_slug})}),(0,$e.action)(function(t){e.spinning=!1}))}}}),Pe=qe(x.prototype,"cancelNewDeckVersion",[$e.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.spinning="cancelNewDeckVersion",e.$v2Api.commonCall("post","/deck/cancel_new_version",{game_pid:e.$gameplay.gamePid}).then((0,$e.action)(function(t){e.spinning=!1,e.$router.navToPath("deckRoute",{slug:t.data.prior_version_slug})}),(0,$e.action)(function(t){e.spinning=!1}))}}}),x);t.default=Ve},,,,,function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w,E,k=M(r(25)),_=M(r(50)),C=M(r(762)),S=M(r(26)),P=M(r(759)),O=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},T=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),j=r(10),x=M(r(23));function M(e){return e&&e.__esModule?e:{default:e}}function z(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function A(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function I(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var $=(0,M(r(19)).default)("dashboard"),D=(n=j.observable.ref,a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,k=Array(a),_=0;_<a;_++)k[_]=arguments[_];return r=n=A(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(k))),z(n,"loading",o,n),z(n,"ready",i,n),z(n,"dashboard",l,n),z(n,"spinning",s,n),z(n,"thaw",u,n),n.boot=function(){n.disposers.push((0,j.autorun)(function(){n.$authUser.isLoaded&&n.$authUser.pid&&n.$authUser.is_teacher&&!n.ready&&!n.loading&&n.fetchFull()}))},z(n,"fetchFull",c,n),n.onRtMessage=function(e,t){n.ready&&("RT_GAME_SUMMARY_CHANGE"===e&&(t.deleted?n.removeGame(t.vob.pid):n.ingestGame(t.vob)),"RT_STUDENT_UPDATE"===e&&(t.deleted?n.removeStudent(t.vob.pid):n.ingestStudent(t.vob)),"RT_CLASSROOM_UPDATE"===e&&(t.deleted?n.removeClassroom(t.vob.pid):n.ingestClassroom(t.vob)),"RT_DECK_LIST_CHANGE"===e&&n.ingestAvailableDecksPidList(t.available_decks_pid_list))},z(n,"ingestGame",d,n),z(n,"removeGame",f,n),z(n,"ingestClassroom",p,n),z(n,"removeClassroom",m,n),z(n,"ingestStudent",h,n),z(n,"removeStudent",y,n),z(n,"ingestAvailableDecksPidList",g,n),z(n,"addGameToAvailableDecks",b,n),z(n,"deleteGameFromAvailableDecks",v,n),z(n,"approveGame",w,n),z(n,"upgradeDeckToLatestVersion",E,n),A(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,x.default),T(t,[{key:"frozen",get:function(){return{dashboard:(0,j.toJS)(this.dashboard),loading:this.loading,ready:this.ready,spinning:this.spinning}}},{key:"currentDeckCanBeAddedToAvailableDecks",get:function(){if(!this.ready)return!1;if(!this.$authUser.is_teacher)return!1;var e=this.$gameplay.gamePid;if(!e)return!1;if(!this.$gameplay.gsm.state.isDeck)return!1;if(this.$gameplay.gsm.state.organizerUserPid===this.$authUser.pid)return!1;if("ds_active"!==this.$gameplay.gsm.state.deckScopes.library)return!1;if(this.dashboard.available_decks_pid_list.indexOf(e)>=0)return!1;var t=this.$gameplay.gameVob;return!(t&&(0,C.default)(t.deck_versions_meta.pubPids,this.dashboard.available_decks_pid_list).length>0)}},{key:"currentDeckIsAnAvailableUpgrade",get:function(){if(!this.ready)return!1;if(!this.$authUser.is_teacher)return!1;if(!this.$gameplay.gsm.state.isDeck)return!1;var e=this.$gameplay.gamePid;if(!e)return!1;var t=this.$gameplay.gameVob;if(t){var r=(0,_.default)(t.deck_versions_meta.pubPids);if(r!==e)return!1;if(this.dashboard.available_decks_pid_list.indexOf(r)>=0)return!1;
2if((0,C.default)(t.deck_versions_meta.pubPids,this.dashboard.available_decks_pid_list).length>0)return!0}return!1}},{key:"currentDeckCanBeDeletedFromAvailableDecks",get:function(){if(!this.ready)return!1;if(!this.$authUser.is_teacher)return!1;var e=this.$gameplay.gamePid;return!!e&&this.dashboard.available_decks_pid_list.indexOf(e)>=0}},{key:"yourTurnForGamePids",get:function(){var e=this,t={};return this.$authUser.pid&&(0,k.default)(sdb.games,function(r){r.current_turn_user_pid===e.$authUser.pid&&(t[r.pid]=!0),r.actionable_invitee_user_pids&&r.actionable_invitee_user_pids.indexOf(e.$authUser.pid)>=0&&(t[r.pid]=!0),"phaseGameNew"!==r.phase&&"phaseGameAlmostReady"!==r.phase||r.organizer_user_pid!==e.$authUser.pid||(t[r.pid]=!0),"phaseGameReady"===r.phase&&(t[r.pid]=!0)}),t}}]),t}(),o=I(a.prototype,"loading",[j.observable],{enumerable:!0,initializer:function(){return!1}}),i=I(a.prototype,"ready",[j.observable],{enumerable:!0,initializer:function(){return!1}}),l=I(a.prototype,"dashboard",[n],{enumerable:!0,initializer:function(){return{}}}),s=I(a.prototype,"spinning",[j.observable],{enumerable:!0,initializer:function(){return!1}}),I(a.prototype,"frozen",[j.computed],Object.getOwnPropertyDescriptor(a.prototype,"frozen"),a.prototype),u=I(a.prototype,"thaw",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.dashboard=t.dashboard,e.ready=t.ready,e.loading=t.loading,e.spinning=t.spinning}}}),c=I(a.prototype,"fetchFull",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.loading=!0,e.$v2Api.commonCall("get","/dashboard/full").then((0,j.action)(function(t){t&&t.data&&t.data.success&&(e.dashboard=t.data.dashboard,e.loading=!1,e.ready=!0)})).catch(function(){})}}}),d=I(a.prototype,"ingestGame",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=O({},e.dashboard),n=t.pid;delete r.games[n],delete r.decks[n],t.is_deck?r.decks[n]=t:r.games[n]=t,e.dashboard=r}}}),f=I(a.prototype,"removeGame",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=O({},e.dashboard);delete r.games[t],delete r.decks[t],r.available_decks_pid_list.indexOf(t)>=0&&(r.available_decks_pid_list=(0,P.default)(r.available_decks_pid_list,t)),e.dashboard=r}}}),p=I(a.prototype,"ingestClassroom",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=O({},e.dashboard);r.classrooms[t.pid]=t,e.dashboard=r}}}),m=I(a.prototype,"removeClassroom",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=O({},e.dashboard);delete r.classrooms[t],e.dashboard=r}}}),h=I(a.prototype,"ingestStudent",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=O({},e.dashboard);r.students[t.pid]=t,e.dashboard=r}}}),y=I(a.prototype,"removeStudent",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=O({},e.dashboard);delete r.students[t],e.dashboard=r}}}),g=I(a.prototype,"ingestAvailableDecksPidList",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=O({},e.dashboard);r.available_decks_pid_list=t,e.dashboard=r,(0,S.default)(t,function(t){return!e.dashboard.decks[t]})&&($.log("available_decks_pid_list contains deck not loaded in current dashboard deck, refetching full dash"),e.fetchFull())}}}),b=I(a.prototype,"addGameToAvailableDecks",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.spinning="addrm",e.$v2Api.commonCall("get","/dashboard/available_decks/add",{game_pid:t},{minLatency:500}).then((0,j.action)(function(t){e.spinning=!1,t.data.available_decks_pid_list&&e.ingestAvailableDecksPidList(t.data.available_decks_pid_list)})).catch((0,j.action)(function(t){return e.spinning=!1,Promise.reject(t)}))}}}),v=I(a.prototype,"deleteGameFromAvailableDecks",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.spinning="addrm",e.$v2Api.commonCall("get","/dashboard/available_decks/delete",{game_pid:t},{minLatency:500}).then((0,j.action)(function(t){e.spinning=!1,t.data.available_decks_pid_list&&e.ingestAvailableDecksPidList(t.data.available_decks_pid_list)})).catch((0,j.action)(function(t){return e.spinning=!1,Promise.reject(t)}))}}}),I(a.prototype,"currentDeckCanBeAddedToAvailableDecks",[j.computed],Object.getOwnPropertyDescriptor(a.prototype,"currentDeckCanBeAddedToAvailableDecks"),a.prototype),I(a.prototype,"currentDeckIsAnAvailableUpgrade",[j.computed],Object.getOwnPropertyDescriptor(a.prototype,"currentDeckIsAnAvailableUpgrade"),a.prototype),I(a.prototype,"currentDeckCanBeDeletedFromAvailableDecks",[j.computed],Object.getOwnPropertyDescriptor(a.prototype,"currentDeckCanBeDeletedFromAvailableDecks"),a.prototype),w=I(a.prototype,"approveGame",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.$v2Api.commonCall("post","/dashboard/approve",{game_pid:t}).then(function(t){t.data.vob&&e.ingestGame(t.data.vob)}
2).catch(function(){})}}}),I(a.prototype,"yourTurnForGamePids",[j.computed],Object.getOwnPropertyDescriptor(a.prototype,"yourTurnForGamePids"),a.prototype),E=I(a.prototype,"upgradeDeckToLatestVersion",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(!e.currentDeckIsAnAvailableUpgrade)return Promise.reject();var t=e.$gameplay.gamePid;return!!t&&(e.spinning="upgradingDeck",e.$v2Api.commonCall("post","/dashboard/available_decks/upgrade",{game_pid:t}).then((0,j.action)(function(t){e.spinning=!1,t.data.available_decks_pid_list&&e.ingestAvailableDecksPidList(t.data.available_decks_pid_list)})).catch((0,j.action)(function(t){return e.spinning=!1,Promise.reject(t)})))}}}),a);t.default=D},function(e,t){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w,E,k,_,C,S,P,O,T,j,x,M,z=Q(r(225)),A=Q(r(95)),I=Q(r(174)),$=Q(r(50)),D=Q(r(25)),N=Q(r(37)),R=Q(r(35)),B=Q(r(149)),U=Q(r(27)),G=Q(r(26)),F=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},L=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),V=r(10),H=Q(r(126)),W=Q(r(19)),K=Q(r(82)),Y=Q(r(17)),J=Q(r(172)),Z=Q(r(23)),X=Q(r(76));function Q(e){return e&&e.__esModule?e:{default:e}}function ee(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function te(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function re(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var ne=(0,W.default)("composer"),ae=(n=V.observable.shallow,a=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,z=Array(a),A=0;A<a;A++)z[A]=arguments[A];return r=n=te(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(z))),ee(n,"draftAttrs",o,n),ee(n,"newPublishedMoveGid",i,n),ee(n,"spinning",l,n),ee(n,"deadEndDrafts",s,n),ee(n,"drawInProgress",u,n),ee(n,"thawed",c,n),n.demoHackSceneCardDrawCount=0,ee(n,"reset",d,n),ee(n,"stopSpinning",f,n),n.socketSetNextMoveDraft=function(e){if(n.draftAttrs){if("mkFlashback"===n.draftAttrs.kind||"mkDrawCharacterCards"===n.draftAttrs.kind||"mkText"===n.draftAttrs.kind)return;var t=n.$gameplay.gsm,r={cards:n.currentCards({useCase:"socketDraft"}),kind:n.draftMoveKind,guid:n.draftAttrs.guid,debug:{gamePid:n.$gameplay.gamePid,authUserPid:n.$authUser.pid,activeCharacterGid:n.$gameplay.activeCharacterGid,cv:n.$v2Api.clientVersion,codeRevisionSha:"object"===("undefined"==typeof window?"undefined":q(window))&&window.globalConfigFromServer&&window.globalConfigFromServer.SCOUT_REVISION_SHA}};if(n.isMkDrawSceneCards&&!n.hasDrawnYet)return void n.$rtDraftStatuses.setNextMoveDraft(!1);if(n.isChallengeConclusion){r.isChallengeConclusion=!0,r.tieBreaker=n.isTieBreaker?n.draftAttrs.tieBreaker:void 0,r.draftedTrend=n.draftedTrend;var a=t.sceneSummary(t.highSceneId());n.draftedTrend>0&&(r.outcomeCardGid=a.successCard.gid),n.draftedTrend<0&&(r.outcomeCardGid=a.setbackCard.gid)}n.isFirstEpiloguePlay&&(r.isFirstEpiloguePlay=!0,r.endingCardGid=t.endingCardGid()),n.$rtDraftStatuses.setNextMoveDraft(r)}else e&&"mkFlashback"!==e.kind&&"mkDrawCharacterCards"!==e.kind&&n.$rtDraftStatuses.setNextMoveDraft(!1)},n.socketDidConnect=function(){n.socketSetNextMoveDraft()},n.freezeToLocalAndPublishSocketEvent=function(e){n.freezeToLocalStorage(),n.socketSetNextMoveDraft(e)},n.freezeToLocalStorage=function(){ne.chatter("freezeToLocalStorage"),n.hasData?window.localStorage.setItem(n.localStorageKey,JSON.stringify({draftAttrs:(0,V.toJS)(n.draftAttrs)})):window.localStorage.removeItem(n.localStorageKey)},ee(n,"thawFromLocalStorage",p,n),ee(n,"reassignSceneOnDeadEndDraftsIfNeeded",m,n),n.draftIsDeadEndable=function(e){return("mkFlashback"===e.kind||"mkPlayToEpilogue"===e.kind||"mkPlayToChallenge"===e.kind||"mkText"===e.kind)&&!!(e.blurb.trim().length>0||e.chosenCardGids&&e.chosenCardGids.action)},ee(n,"moveDraftToDeadEnd",h,n),n.updateDeadEndLocalStorage=function(){var e=(0,G.default)((0,V.toJS)(n.deadEndDrafts),function(e){return"mkFlashback"===e.kind});e?window.localStorage.setItem(n.deadEndFlashbackLocalStorageKey,JSON.stringify({authUserPid:n.$authUser.pid,draftAttrs:(0,V.toJS)(e)})):window.localStorage.removeItem(n.deadEndFlashbackLocalStorageKey),window.localStorage.setItem(n.deadEndMovesLocalStorageKey,JSON.stringify((0,U.default)((0,V.toJS)(n.deadEndDrafts),function(e){return"mkFlashback"!==e.kind})))},ee(n,"reactivateDeadEndDraft",y,n),ee(n,"discardDeadEndDraft",g,n),ee(n,"dismissCardRemovedAlert",b,n),n.canDeadEndBeReactivated=function(e){return"mkText"===e.kind||"mkFlashback"===e.kind?n.checkDraftKindAndTurnIsValid(e,{ignoreSceneId:!0}
2):n.checkDraftKindAndTurnIsValid(e,{ignoreSceneId:!1})},n.getUpdatedDeadEndAttrsForRevival=function(e){if(n.$gameplay.gsm){var t=(0,B.default)((0,V.toJS)(e));return t.sceneId=n.$gameplay.gsm.highSceneId(),t.chosenCardGids.action&&n.$gameplay.activeCharacter.cards.indexOf(t.chosenCardGids.action)<0&&(t.reactivatedRemovedCard=n.$gameplay.gsm.state.cards[t.chosenCardGids.action],t.chosenCardGids.action=void 0),t.tieBreaker=!1,t}},n.composingOnScene=function(e){return!!n.draftKindAndTurnIsValid&&((n.isMkPlayToChallenge||n.isMkDrawSceneCards||n.isMkPlayToEpilogue||n.isMkFlashback||n.isMkDrawCharacterCards||n.isMkText)&&n.$gameplay.highSceneId===e)},n.deadEndDraftsForScene=function(e){return(0,R.default)((0,U.default)((0,V.toJS)(n.deadEndDrafts),function(t){return t.sceneId===e}),function(e){return e.guid})},ee(n,"firstDraw",v,n),ee(n,"setDrawInProgress",w,n),ee(n,"beginComposing",E,n),ee(n,"discard",k,n),ee(n,"internalDiscard",_,n),ee(n,"signalReady",C,n),ee(n,"cancelSignalReady",S,n),ee(n,"startScene",P,n),ee(n,"setBlurb",O,n),ee(n,"setCard",T,n),ee(n,"redrawCards",j,n),ee(n,"publish",x,n),ee(n,"setTieBreaker",M,n),te(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Z.default),L(t,[{key:"checkDraftKindAndTurnIsValid",value:function(e,t){if(this.$gameplay.gsm){var r=F({},t),n=this.$gameplay.gsm.whoseTurn();return"mkText"===e.kind?this.$gameplay.gsm.canMoveMkText(this.$authUser.pid,n):!(!r.ignoreSceneId&&e.sceneId!==this.$gameplay.gsm.highSceneId())&&("mkFlashback"===e.kind?n.canPublishFlashback.indexOf(this.$gameplay.activeCharacterGid)>=0:"mkDrawCharacterCards"===e.kind?n.mustDrawCards.indexOf(this.$gameplay.activeCharacterGid)>=0:n.kind===e.kind&&n.userPid===this.$authUser.pid)}}},{key:"initDraftAttrs",value:function(e){var t=this;ne.chatter("initDraftAttrs");var r=!1;this.deadEndDrafts.forEach(function(e){!r&&t.canDeadEndBeReactivated(e)&&(r=!0,t.reactivateDeadEndDraft(e))}),r||(this.draftAttrs={guid:(0,K.default)()+(new Date).getTime(),kind:e,blurb:"",hasDrawnYet:!1,chosenCardGids:{action:!1,ckPlace:!1,ckChallenge:!1,ckSuccess:!1,ckSetback:!1},drawnCardGids:[],image:void 0,randSeed:(0,K.default)().substr(0,6),tieBreaker:!1,sceneId:this.$gameplay.gsm.highSceneId(),reactivatedRemovedCard:!1},"mkDrawSceneCards"===e&&this.redrawCards(),"mkDrawCharacterCards"===e&&this.redrawCards(),this.freezeToLocalAndPublishSocketEvent())}},{key:"boot",value:function(){var e=this;this.$gameplay.gameDataPurgeAutorun("composer",this.reset),this.disposers.push((0,V.autorun)(function(){e.$gameplay.gsm&&(e.thawed||e.thawFromLocalStorage(),e.hasData&&e.draftGuidIsAlreadyPublished&&(ne.warn("draft is already published, discarding it."),e.internalDiscard(),e.$tracking.event("drafting","discard_already_published_draft")),e.hasData&&!e.draftKindAndTurnIsValid&&(ne.warn("draft is now invalid, dead-ending it."),e.moveDraftToDeadEnd()))})),this.disposers.push((0,V.reaction)(function(){return e.$gameplay.highSceneId},function(t){t>=0&&e.reassignSceneOnDeadEndDraftsIfNeeded()},{fireImmediately:!0}))}},{key:"currentCards",value:function(e){e.useCase;var t=[];return(0,N.default)(this.draftAttrs.chosenCardGids).length&&(0,D.default)(this.draftAttrs.chosenCardGids,function(e){e&&t.push(e)}),this.isMkDrawCharacterCards&&(t=this.draftAttrs.drawnCardGids.toJS().slice()),t}},{key:"clearNewMoveState",value:function(){this.newPublishedMoveGid=!1}},{key:"hasData",get:function(){return!!this.draftAttrs}},{key:"localStorageKey",get:function(){if(this.$gameplay.gamePid)return"composer_"+this.$authUser.pid+"_"+this.$gameplay.gamePid}},{key:"deadEndFlashbackLocalStorageKey",get:function(){return"deadEndFlashback_"+this.$authUser.pid+"_"+this.$gameplay.gamePid}},{key:"deadEndMovesLocalStorageKey",get:function(){return"deadEndMoves_"+this.$authUser.pid+"_"+this.$gameplay.gamePid}},{key:"isMkPlayToChallenge",get:function(){return"mkPlayToChallenge"===this.draftMoveKind}},{key:"isMkPlayToEpilogue",get:function(){return"mkPlayToEpilogue"===this.draftMoveKind}},{key:"isMkDrawSceneCards",get:function(){return"mkDrawSceneCards"===this.draftMoveKind}},{key:"isMkDrawCharacterCards",get:function(){return"mkDrawCharacterCards"===this.draftMoveKind}},{key:"isMkFlashback",get:function(){return"mkFlashback"===this.draftMoveKind}},{key:"isMkText",get:function(){return"mkText"===this.draftMoveKind}},{key:"draftKindAndTurnIsValid",get:function(){if(this.$gameplay.gsm&&this.hasData)return this.checkDraftKindAndTurnIsValid(this.draftAttrs)}},{key:"draftGuidIsAlreadyPublished",get:function(){if(this.$gameplay.gsm&&this.hasData)return this.$gameplay.gsm.moveGuidIsPublished(this.draftAttrs.guid)}},{key:"draftMoveKind",get:function(){return this.hasData&&this.draftAttrs.kind}},{key:"hasDrawnYet",get:function(){return this.draftAttrs.hasDrawnYet}},{key:"bondToCharacterGid",get:function(){var e=void 0;return this.isMkDrawCharacterCards&&this.drawKinds.forEach(function(t){t.toCh
2aracter&&(e=t.toCharacter.gid)}),e}},{key:"newEvents",get:function(){var e=this,t=[],r={kind:"ekMove",params:{characterGid:this.$gameplay.activeCharacterGid,guid:this.draftAttrs.guid}};"mkText"===this.draftMoveKind&&delete r.params.characterGid,r.params.kind=this.draftMoveKind;var n=this.currentCards({useCase:"publishEvent"}),a=this.bondToCharacterGid;return n&&(r.params.cards=n),a&&(r.params.bondToCharacterGid=a),this.isMkDrawSceneCards||this.isMkDrawCharacterCards||(r.params.blurb={content:this.draftAttrs.blurb}),this.isMkPlayToChallenge&&this.draftAttrs.tieBreaker&&this.isTieBreaker&&(r.params.tieBreaker=this.draftAttrs.tieBreaker),t.push(r),t.forEach(function(t){t.userPid=e.$authUser.pid,t.createdAtUnix=(0,H.default)(),t.seqId="auto"}),t}},{key:"validationErrors",get:function(){var e=[];return(this.isMkPlayToChallenge||this.isMkPlayToEpilogue||this.isMkFlashback)&&(this.draftAttrs.chosenCardGids.action||e.push("requiredActionChooseCard")),this.isMkDrawSceneCards||this.isMkDrawCharacterCards||0!==this.draftAttrs.blurb.trim().length||e.push("requiredActionWriteBlurb"),this.isMkDrawSceneCards&&(this.draftAttrs.chosenCardGids.ckPlace&&this.draftAttrs.chosenCardGids.ckChallenge&&this.draftAttrs.chosenCardGids.ckSuccess&&this.draftAttrs.chosenCardGids.ckSetback||e.push("requiredActionDrawCards")),this.isTieBreaker&&-1!==this.draftAttrs.tieBreaker&&1!==this.draftAttrs.tieBreaker&&e.push("requiredActionChooseTieBreaker"),e}},{key:"validToPublish",get:function(){return 0===this.validationErrors.length}},{key:"computeCharacterCardsDrawn",get:function(){var e=(0,J.default)(this.randSeed),t=[];return this.drawKinds.forEach(function(r){var n=r.choices[Math.floor(e()*r.choices.length)];t.push(n.gid)}),t}},{key:"drawKinds",get:function(){var e=this.$gameplay.gsm,t=this.$gameplay.activeCharacterGid,r=e.state.characters[t],n=(0,J.default)(e.highSceneId()+"--"+t),a=e.characterCardDeficit(t);if(0===a)throw new Error("initializing a mkDrawCharacterCards move but char has a full hand");var o=[],i=!!r.noFirstBondYet,l=!!(0,G.default)(r.cards,function(t){return"ckBond"===e.state.cards[t].kind}),s=!!(0,G.default)(r.cards,function(t){return"ckMotivation"===e.state.cards[t].kind}),u=r.cards.map(function(t){return e.state.cards[t].polarity}),c=[],d=Y.default.cardKindsForMoveKinds[this.draftMoveKind].slice();return(0,I.default)(a,function(r){var a=n()>.5?1:-1,f=d.slice(),p=u.indexOf(-1)<0,m=u.indexOf(1)<0;p&&(a=-1),m&&(a=1),l&&(0,A.default)(f,"ckBond"),s&&(0,A.default)(f,"ckMotivation"),c.forEach(function(e){e.polarity===a&&(0,A.default)(f,e.kind)}),a<0&&(0,A.default)(f,"ckStrength"),a>0&&(0,A.default)(f,"ckFlaw"),0===f.length&&(a>0?(a=-1,f=["ckFlaw"]):(a=1,f=["ckStrength"])),i&&(f=["ckBond"],a=1);var h=f[Math.floor(f.length*n())],y=e.filterCardsForUseCase("drawCards",{kind:h,polarity:a}),g=void 0;if("ckBond"===h){var b=(0,U.default)(e.playerCharacters("pcPickBondTarget"),function(e){return e.gid!==t});g=b[Math.floor(b.length*n())];var v=(0,G.default)(g.cards.map(function(t){return e.state.cards[t]}),function(e){return"ckBond"===e.kind});v&&(y=(0,U.default)(y,function(e){return e.name!==v.name}))}o.push({kind:h,polarity:a,choices:y,toCharacter:g}),c.push({kind:h,polarity:a}),"ckBond"===h&&(l=!0,i=!1),"ckMotivation"===h&&(s=!0),u.push(a)}),o}},{key:"isTieBreaker",get:function(){var e=this.$gameplay.gsm,t=e.sceneSummary(e.highSceneId()),r=e.state.cards[this.draftAttrs.chosenCardGids.action];return this.isMkPlayToChallenge&&r&&1===t.pointsRemaining&&t.challengeTrendUnclamped+r.polarity===0}},{key:"isChallengeConclusion",get:function(){var e=this.$gameplay.gsm,t=e.sceneSummary(e.highSceneId());return this.isMkPlayToChallenge&&1===t.pointsRemaining}},{key:"isAssuredTrend",get:function(){var e=this.$gameplay.gsm,t=e.sceneSummary(e.highSceneId());return this.isMkPlayToChallenge&&1===t.pointsRemaining&&(t.challengeTrendUnclamped>1||t.challengeTrendUnclamped<-1)&&t.challengeTrend||!1}},{key:"draftedTrend",get:function(){var e=this.$gameplay.gsm,t=e.sceneSummary(e.highSceneId()),r=e.state.cards[this.draftAttrs.chosenCardGids.action],n=this.isTieBreaker&&this.draftAttrs.tieBreaker?this.draftAttrs.tieBreaker:0;return this.isMkPlayToChallenge&&t.pointsRemaining>0&&r&&(0,z.default)(t.challengeTrendUnclamped+r.polarity+n,-1,1)||0}},{key:"isFirstEpiloguePlay",get:function(){var e=this.$gameplay.gsm,t=e.sceneSummary(e.highSceneId());return this.isMkPlayToEpilogue&&0===t.playedCards.length}}]),t}(),o=re(a.prototype,"draftAttrs",[V.observable],{enumerable:!0,initializer:null}),i=re(a.prototype,"newPublishedMoveGid",[V.observable],{enumerable:!0,initializer:null}),l=re(a.prototype,"spinning",[V.observable],{enumerable:!0,initializer:null}
2),s=re(a.prototype,"deadEndDrafts",[n],{enumerable:!0,initializer:null}),u=re(a.prototype,"drawInProgress",[V.observable],{enumerable:!0,initializer:null}),c=re(a.prototype,"thawed",[V.observable],{enumerable:!0,initializer:function(){return!1}}),d=re(a.prototype,"reset",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.draftAttrs=void 0,e.newPublishedMoveGid=void 0,e.spinning=void 0,e.deadEndDrafts=[],e.drawInProgress=void 0,e.thawed=!1}}}),f=re(a.prototype,"stopSpinning",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.spinning=!1}}}),re(a.prototype,"hasData",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"hasData"),a.prototype),re(a.prototype,"localStorageKey",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"localStorageKey"),a.prototype),re(a.prototype,"deadEndFlashbackLocalStorageKey",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"deadEndFlashbackLocalStorageKey"),a.prototype),re(a.prototype,"deadEndMovesLocalStorageKey",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"deadEndMovesLocalStorageKey"),a.prototype),p=re(a.prototype,"thawFromLocalStorage",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(ne.chatter("thawFromLocalStorage",window.localStorage.getItem(e.localStorageKey)),window.localStorage.getItem(e.localStorageKey)){var t=JSON.parse(window.localStorage.getItem(e.localStorageKey));e.draftAttrs=t.draftAttrs,e.draftKindAndTurnIsValid||(ne.warn("deleting localStorage draft due to !draftKindAndTurnIsValid"),e.draftAttrs=void 0,window.localStorage.removeItem(e.localStorageKey)),e.draftAttrs&&e.socketSetNextMoveDraft()}if(e.deadEndDrafts=[],window.localStorage.getItem(e.deadEndMovesLocalStorageKey)){var r=JSON.parse(window.localStorage.getItem(e.deadEndMovesLocalStorageKey));e.deadEndDrafts=r}if(window.localStorage.getItem(e.deadEndFlashbackLocalStorageKey)){var n=JSON.parse(window.localStorage.getItem(e.deadEndFlashbackLocalStorageKey));e.deadEndDrafts.push(n.draftAttrs)}e.thawed=!0}}}),m=re(a.prototype,"reassignSceneOnDeadEndDraftsIfNeeded",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(e.$gameplay.gsm){var t=!1,r=e.$gameplay.gsm.highSceneId();e.deadEndDrafts.forEach(function(e){e.sceneId>r&&(ne.warn("moving a draft backwards to older scene"),t=!0,e.sceneId=r)}),t&&(e.updateDeadEndLocalStorage(),e.deadEndDrafts=(0,V.toJS)(e.deadEndDrafts).slice())}}}}),h=re(a.prototype,"moveDraftToDeadEnd",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.draftIsDeadEndable(e.draftAttrs)?(e.deadEndDrafts.push(e.draftAttrs),e.updateDeadEndLocalStorage(),ne.warn("moveDraftToDeadEnd then discard")):ne.warn("cant moveDraftToDeadEnd, just discarding"),e.internalDiscard()}}}),y=re(a.prototype,"reactivateDeadEndDraft",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=e.getUpdatedDeadEndAttrsForRevival(t);e.draftAttrs=r,e.deadEndDrafts=(0,U.default)((0,V.toJS)(e.deadEndDrafts),function(e){return e.guid!==t.guid}),e.updateDeadEndLocalStorage(),e.freezeToLocalAndPublishSocketEvent()}}}),g=re(a.prototype,"discardDeadEndDraft",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.deadEndDrafts=(0,U.default)((0,V.toJS)(e.deadEndDrafts),function(e){return e.guid!==t.guid}),e.updateDeadEndLocalStorage()}}}),b=re(a.prototype,"dismissCardRemovedAlert",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.draftAttrs.reactivatedRemovedCard=!1,e.freezeToLocalStorage()}}}),re(a.prototype,"isMkPlayToChallenge",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"isMkPlayToChallenge"),a.prototype),re(a.prototype,"isMkPlayToEpilogue",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"isMkPlayToEpilogue"),a.prototype),re(a.prototype,"isMkDrawSceneCards",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"isMkDrawSceneCards"),a.prototype),re(a.prototype,"isMkDrawCharacterCards",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"isMkDrawCharacterCards"),a.prototype),re(a.prototype,"isMkFlashback",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"isMkFlashback"),a.prototype),re(a.prototype,"isMkText",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"isMkText"),a.prototype),re(a.prototype,"draftKindAndTurnIsValid",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"draftKindAndTurnIsValid"),a.prototype),re(a.prototype,"draftGuidIsAlreadyPublished",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"draftGuidIsAlreadyPublished"),a.prototype),re(a.prototype,"draftMoveKind",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"draftMoveKind"),a.prototype),re(a.prototype,"initDraftAttrs",[V.action],Object.getOwnPropertyDescriptor(a.prototype,"initDraftAttrs"),a.prototype),v=re(a.prototype,"firstDraw",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.draftAttrs.hasDrawnYet=!0,e.demoHackSceneCardDrawCount=1,e.freezeToLocalAndPublishSocketEvent(),e.$tracking.event("drafting","draw_first_"+e.draftMoveKind)}}}),re(a.prototype,"hasDrawnYet",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"hasDrawnYet"),a.prototype),w=re(a.prototype,"setDrawInProgress",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.drawInProgress=!!t}}}
2),E=re(a.prototype,"beginComposing",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(!e.$gameplay.readOnlyGateKeeper()){ne.chatter("beginComposing");var r=e.$gameplay.gsm,n=r.whoseTurn(),a=n.userPid===e.$authUser.pid&&r.whoseTurn().kind,o=t||a;if(a&&a==o);else if("mkFlashback"===o&&n.canStartFlashback.indexOf(e.$gameplay.activeCharacterGid)>=0);else if("mkText"===o&&r.canMoveMkText(e.$authUser.pid,n));else if(!("mkDrawCharacterCards"===o&&n.mustDrawCards.indexOf(e.$gameplay.activeCharacterGid)>=0))throw new Error("beginComposing("+JSON.stringify(t)+") called with incorrect turn state "+JSON.stringify(n));e.hasData&&e.draftAttrs.kind===o||(e.initDraftAttrs(o),e.$tracking.event("drafting","begin_"+o))}}}}),k=re(a.prototype,"discard",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(){ne.chatter("discard");var t=e.draftMoveKind;e.internalDiscard(),e.$tracking.event("drafting","cancel_"+t)}}}),_=re(a.prototype,"internalDiscard",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(){ne.chatter("internalDiscard");var t=e.draftAttrs;e.draftAttrs=void 0,e.freezeToLocalAndPublishSocketEvent(t)}}}),C=re(a.prototype,"signalReady",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=t.confirmModal;if(!e.$gameplay.readOnlyGateKeeper()){var n=e.$gameplay.gsm;if(n){(n.hasUnredeemedInvites()?r.pop("There are still invited players who havenât joined yet","If youâve invited others and are still waiting for them to make characters, hold off on starting the game until they do. But if youâre sure you want to start it anyway, you can. Remember that once it starts, game cards canât be changed, and adding or removing players requires the teacher."):r.pop("Ready to start the game?","If everyone has joined and created their characters, then youâre ready to start your game. Once it starts, game cards canât be changed. Also, adding or removing players requires teacher intervention. So, make sure youâre happy with the cards and cast first. After you click âConfirmâ your teacher will approve your game, and then you can start!")).then((0,V.action)(function(t){if(t)return e.spinning="signallingReady",e.$gameplay.eventWrites.signalReady(!0).then(e.stopSpinning,e.stopSpinning)}))}}}}}),S=re(a.prototype,"cancelSignalReady",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=t.confirmModal;e.$gameplay.gsm&&r.pop("Cancel game start","This game is waiting on your teacherâs approval. If youâre not ready to start the game, you can cancel now and make more changes.").then((0,V.action)(function(t){if(t)return e.spinning="signallingReady",e.$gameplay.eventWrites.signalReady(!1).then(e.stopSpinning,e.stopSpinning)}))}}}),P=re(a.prototype,"startScene",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=t.confirmModal,n=t.firstScene;if(!e.$gameplay.readOnlyGateKeeper()){var a=e.$gameplay.gsm;if(a){((a.state.organizerUserPid===a.state.teacherUserPid||a.state.isDemoHack)&&r&&n?a.hasUnredeemedInvites()?r.pop("Start this game?","This game has one or more players whoâve been invited but have not created characters. Please make sure the cast list is correct before starting. Also, review the game name, game cards, scenario (if any). If it all looks correct, click âConfirmâ to begin playing."):r.pop("Start this game?","Review the cast of characters, game name, game cards, and scenario (if any). if it all looks correct, click âConfirmâ to begin playing."):r&&n?a.hasUnredeemedInvites()?r.pop("Approve this gameâs setup and start it?","Note: this game has one or more players whoâve been invited but have not created characters. Please make sure the cast list is correct before approving. Also, review the game name, game cards, scenario (if any). If it all looks correct, click âConfirmâ to allow play to begin."):r.pop("Approve this gameâs setup and start it?","Review the cast of characters, game name, game cards, and scenario (if any). If it all looks correct, click âConfirmâ to allow play to begin."):Promise.resolve(!0)).then((0,V.action)(function(t){if(t){e.spinning="startingScene";return e.$gameplay.eventWrites.postEvents([{kind:"ekStartScene",params:{}}]).then((0,V.action)(function(){e.spinning=!1,e.$gameplay.redirects.navToHighScene(),n&&e.$tracking.event("drafting","teacher_start_first_scene")}),e.stopSpinning)}}
2))}}}}}),O=re(a.prototype,"setBlurb",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.draftAttrs.blurb=t,e.freezeToLocalStorage(),e.$rtDraftStatuses.thereWasTypingInComposer()}}}),T=re(a.prototype,"setCard",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(t,r){e.draftAttrs.chosenCardGids[t]=!!r&&r,e.freezeToLocalAndPublishSocketEvent()}}}),j=re(a.prototype,"redrawCards",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(){(e.draftAttrs.randSeed=(0,K.default)().substr(0,6),e.hasDrawnYet&&e.demoHackSceneCardDrawCount++,e.isMkDrawSceneCards)&&e.$gameplay.gsm.pickSceneCards(e.draftAttrs.randSeed,e.demoHackSceneCardDrawCount).forEach(function(t){var r=e.$gameplay.gsm.state.cards[t];e.draftAttrs.chosenCardGids[r.kind]=t});e.isMkDrawCharacterCards&&(e.draftAttrs.drawnCardGids=e.computeCharacterCardsDrawn),e.freezeToLocalAndPublishSocketEvent(),e.hasDrawnYet&&e.$tracking.event("drafting","redraw_"+e.draftMoveKind)}}}),re(a.prototype,"bondToCharacterGid",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"bondToCharacterGid"),a.prototype),re(a.prototype,"newEvents",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"newEvents"),a.prototype),re(a.prototype,"validationErrors",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"validationErrors"),a.prototype),re(a.prototype,"validToPublish",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"validToPublish"),a.prototype),x=re(a.prototype,"publish",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(e.spinning)return!1;ne.chatter("publish"),e.spinning="publishing";var t=e.$gameplay.gsm.upcomingGid("move"),r=e.draftMoveKind,n=0;e.isMkDrawSceneCards||e.isMkDrawCharacterCards||(n=(0,X.default)(e.draftAttrs.blurb)),e.$gameplay.eventWrites.postEvents(e.newEvents,{callbackBeforeGsmUpdate:function(){e.internalDiscard()}}).then((0,V.action)(function(){e.spinning=!1,(0,$.default)(e.$gameplay.highScene.moves).gid===t&&(e.newPublishedMoveGid=t),e.$tracking.event("drafting","publish_"+r),n&&e.$tracking.event("drafting","wordsWritten",{wordCt:n})})).catch((0,V.action)(function(t){e.spinning=!1}))}}}),re(a.prototype,"clearNewMoveState",[V.action],Object.getOwnPropertyDescriptor(a.prototype,"clearNewMoveState"),a.prototype),re(a.prototype,"computeCharacterCardsDrawn",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"computeCharacterCardsDrawn"),a.prototype),re(a.prototype,"drawKinds",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"drawKinds"),a.prototype),re(a.prototype,"isTieBreaker",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"isTieBreaker"),a.prototype),re(a.prototype,"isChallengeConclusion",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"isChallengeConclusion"),a.prototype),re(a.prototype,"isAssuredTrend",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"isAssuredTrend"),a.prototype),re(a.prototype,"draftedTrend",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"draftedTrend"),a.prototype),M=re(a.prototype,"setTieBreaker",[V.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.draftAttrs.tieBreaker=t,e.freezeToLocalAndPublishSocketEvent()}}}),re(a.prototype,"isFirstEpiloguePlay",[V.computed],Object.getOwnPropertyDescriptor(a.prototype,"isFirstEpiloguePlay"),a.prototype),a);t.default=ae},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w,E,k,_,C,S,P,O,T,j,x,M,z,A,I,$,D,N,R,B,U,G,F,q,L,V,H,W,K,Y=ae(r(26)),J=ae(r(31)),Z=ae(r(96)),X=ae(r(37)),Q=ae(r(27)),ee=ae(r(35)),te=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),re=r(10),ne=ae(r(23));function ae(e){return e&&e.__esModule?e:{default:e}}function oe(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.
2initializer?r.initializer.call(n):void 0})}function ie(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function le(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var se=(le((n=function(){function e(t){ie(this,e),this.store=t}return te(e,[{key:"pid",get:function(){return this.store.detailsPid}},{key:"classroom",get:function(){if(this.pid&&this.store.$dashboard.ready&&this.store.$dashboard.dashboard.classrooms[this.pid])return this.store.$dashboard.dashboard.classrooms[this.pid]}},{key:"students",get:function(){var e=this;return this.pid&&this.store.$dashboard.ready?(0,ee.default)((0,Q.default)((0,X.default)(this.store.$dashboard.dashboard.students),function(t){return t.classroom_pid===e.pid}),function(e){return e.name.toLowerCase()}):[]}},{key:"games",get:function(){var e=this;return this.pid&&this.store.$dashboard.ready?(0,Q.default)((0,X.default)(this.store.$dashboard.dashboard.games),function(t){return t.classroom_pid===e.pid}):[]}}]),e}()).prototype,"pid",[re.computed],Object.getOwnPropertyDescriptor(n.prototype,"pid"),n.prototype),le(n.prototype,"classroom",[re.computed],Object.getOwnPropertyDescriptor(n.prototype,"classroom"),n.prototype),le(n.prototype,"students",[re.computed],Object.getOwnPropertyDescriptor(n.prototype,"students"),n.prototype),le(n.prototype,"games",[re.computed],Object.getOwnPropertyDescriptor(n.prototype,"games"),n.prototype),n),ue=(a=re.observable.ref,o=function(e){function t(){ie(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return oe(e,"showModal",i,e),oe(e,"spinning",l,e),oe(e,"togglingSelfSignup",s,e),oe(e,"softError",u,e),oe(e,"modalMainInputValue",c,e),oe(e,"modalCheckboxValue",d,e),oe(e,"modalCheckboxSSSValue",f,e),oe(e,"modalCheckboxSSS13Value",p,e),oe(e,"modalFocusedPid",m,e),oe(e,"stats",h,e),oe(e,"statsBy",y,e),oe(e,"statsGamePid",g,e),oe(e,"statsUserPid",b,e),e.lastViewedClassroomPid=void 0,e.boot=function(){e.disposers.push((0,re.reaction)(function(){return e.$router.route},function(t){"classroomDetailsRoute"===t.name&&(e.lastViewedClassroomPid=t.captures.pid)}))},oe(e,"removeGame",v,e),oe(e,"thaw",w,e),oe(e,"popCreateClassroomModal",E,e),oe(e,"popRenameClassroomModal",k,e),oe(e,"popChangeShortcodeModal",_,e),oe(e,"popCreateStudentModal",C,e),oe(e,"popRenameStudentModal",S,e),oe(e,"popDeleteStudentModal",P,e),oe(e,"clearModal",O,e),oe(e,"setModalMainInputValue",T,e),oe(e,"setModalCheckboxValue",j,e),oe(e,"setModalCheckboxSSSValue",x,e),oe(e,"setModalCheckboxSSS13Value",M,e),oe(e,"doCreateClassroom",z,e),oe(e,"ingestNewClassroom",A,e),oe(e,"loadStats",I,e),oe(e,"ingestStats",$,e),oe(e,"popDeleteClassroomModal",D,e),oe(e,"doDeleteClassroom",N,e),oe(e,"removeClassroomAndRedirect",R,e),oe(e,"doChangeShortcode",B,e),oe(e,"doRenameClass",U,e),oe(e,"doCreateStudent",G,e),oe(e,"doEditStudent",F,e),oe(e,"doDeleteStudent",q,e),oe(e,"ingestNewStudent",L,e),oe(e,"setStatsBy",V,e),oe(e,"setStatsGamePid",H,e),oe(e,"setStatsUserPid",W,e),oe(e,"toggleSelfSignup",K,e),e.details=new se(e),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,ne.default),te(t,[{key:"frozen",get:function(){return{showModal:this.showModal,spinning:this.spinning,togglingSelfSignup:this.togglingSelfSignup,softError:this.softError,modalMainInputValue:this.modalMainInputValue,modalCheckboxSSSValue:this.modalCheckboxSSSValue,modalCheckboxSSS13Value:this.modalCheckboxSSS13Value,modalCheckboxValue:this.modalCheckboxValue,modalFocusedPid:this.modalFocusedPid,stats:this.stats,statsBy:this.statsBy,statsGamePid:this.statsGamePid,statsUserPid:this.statsUserPid}}},{key:"detailsPid",get:function(){return this.$router.route.captures.pid}},{key:"classrooms",get:function(){return this.$dashboard.ready?(0,ee.default)((0,X.default)(this.$dashboard.dashboard.classrooms),function(e){return e.name.toLowerCase()}):[]}},{key:"loading",get:function(){return!!this.$dashboard.loading}},{key:"loaded",get:function(){return!!this.$dashboard.ready}},{key:"mainValueHasContent",get:function(){return this.modalMainInputValue&&this.modalMainInputValue.trim().length>0}},{key:"studentAttrsChanged",get:function(){var e=this,t=(0,Y.default)(this.details.students,function(t){return t.pid===e.modalFocusedPid});return!!t&&(this.modalMainInputValue.trim()!==t.name.trim()||!!this.modalCheckboxValue!=!!t.is_under_13)}},{key:"classroomIsDeleteable",get:function(){return 0===this.details.students.length&&0===this.details.games.length}}]),t}(),i=le(o.prototype,"showModal",[re.observable],{enumerable:!0,initializer:function(){return!1}}),l=le(o.prototype,"spinning",[re.observable],{enumerable:!0,initializer:function(){return!1}}),s=le(o.prototype,"togglingSelfSignup",[re.observable],{enumerable:!0,initializer:function(){return!1}}),u=le(o.prototype,"softError",[re.observable],{enumerable:!0,initializer:function(){return!1}}),c=le(o.prototype,"modalMainInputValue",[re.observable],{enumerable:!0,initializer:function(){return""}}),d=le(o.prototype,"modalCheckboxValue",[re.observable],{enumerable:!0,initializer:function(){return!1}}),f=le(o.prototype,"modalCheckboxSSSValue",[re.observable],{enumerable:!0,initializer:function(){return!0}}),p=le(o.prototype,"modalCheckboxSSS13Value",[re.observable],{enumerable:!0,initializer:function(){return!0}}),m=le(o.prototype,"modalFocusedPid",[re.observable],{enumerable:!0,initializer:function(){return!1}}),h=le(o.prototype,"stats",[a],{enumerable:!0,initializer:null}),y=le(o.prototype,"statsBy",[re.observable],{enumerable:!0,initializer:function(){return"all"}}),g=le(o.prototype,"statsGamePid",[re.observable],{enumerable:!0,initializer:null}),b=le(o.prototype,"statsUserPid",[re.observable],{enumerable:!0,initializer:null}),le(o.prototype,"frozen",[re.computed],Object.getOwnPropertyDescriptor(o.prototype,"frozen"),o.prototype),le(o.prototype,"detailsPid",[re.computed],Object.getOwnPropertyDescriptor(o.prototype,"detailsPid"),o.prototype),le(o.prototype,"classrooms",[re.computed],Object.getOwnPropertyDescriptor(o.prototype,"classrooms"),o.prototype),le(o.prototype,"loading",[re.computed],Object.getOwnPropertyDescriptor(o.prototype,"loading"),o.prototype),le(o.prototype,"loaded",[re.computed],Object.getOwnPropertyDescriptor(o.prototype,"loaded"),o.prototype),v=le(o.prototype,"removeGame",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.$dashboard.removeGame(t)}}}),w=le(o.prototype,"thaw",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){(0,Z.default)((0,J.default)(t),function(r){e[r]=t[r]})}}}),E=le(o.prototype,"popCreateClassroomModal",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.$gameplay.readOnlyGateKeeper()||(e.modalMainInputValue="",e.modalCheckboxSSSValue=!0,e.modalCheckboxSSS13Value=!0,e.showModal="createClassroom",e.softError=!1,e.spinning=!1)}}}),k=le(o.prototype,"popRenameClassroomModal",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.showModal="renameClass",e.modalMainInputValue=e.details.classroom.name,e.softError=!1,e.spinning=!1}}}),_=le(o.prototype,"popChangeShortcodeModal",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.showModal="changeShortcode",e.modalMainInputValue=e.details.classroom.shortcode,e.softError=!1,e.spinning=!1}}}),C=le(o.prototype,"popCreateStudentModal",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.$gameplay.readOnlyGateKeeper()||(e.showModal="createStudent",e.modalMainInputValue="",e.modalCheckboxValue=!!e.details.classroom.self_signup_as_under_13,e.softError=!1,e.spinning=!1)}}}),S=le(o.prototype,"popRenameStudentModal",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.showModal="renameStudent",e.modalFocusedPid=t.pid,e.modalMainInputValue=t.name,e.modalCheckboxValue=!!t.is_under_13,e.softError=!1,e.spinning=!1}}}),P=le(o.prototype,"popDeleteStudentModal",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.showModal="deleteStudent",e.modalFocusedPid=t.pid,e.softError=!1,e.spinning=!1}}}),O=le(o.prototype,"clearModal",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.modalMainInputValue="",e.modalCheckboxSSSValue=!0,e.modalCheckboxSSS13Value=!0,e.modalCheckboxValue=!1,e.softError=!1,e.showModal=!1,e.spinning=!1,e.modalFocusedPid=!1}}}),T=le(o.prototype,"setModalMainInputValue",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.modalMainInputValue=t}}}),j=le(o.prototype,"setModalCheckboxValue",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.modalCheckboxValue=!!t}}}),x=le(o.prototype,"setModalCheckboxSSSValue",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.modalCheckboxSSSValue=!!t}}}),M=le(o.prototype,"setModalCheckboxSSS13Value",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.modalCheckboxSSS13Value=!!t}}}),le(o.prototype,"mainValueHasContent",[re.computed],Object.getOwnPropertyDescriptor(o.prototype,"mainValueHasContent"),o.prototype),le(o.prototype,"studentAttrsChanged",[re.computed],Object.getOwnPropertyDescriptor(o.prototype,"studentAttrsChanged"),o.prototype),z=le(o.prototype,"doCreateClassroom",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.spinning=!0,e.$v2Api.commonCall("post","/classroom/create",{name:e.modalMainInputValue,self_signup_enabled:e.modalCheckboxSSSValue?1:0,self_signup_as_under_13:e.modalCheckboxSSS13Value?0:1},{noErrorModalIfSoftError:!0,minLatency:500}).then(e.ingestNewClassroom,e.ingestNewClassroom).then(function(t){t&&t.data&&t.data.success&&(e.$tracking.event("classroom","classroomCreated"),e.$router.navToPath("classroomDetailsRoute",{pid:t.data.classroom.pid}))})}}}),A=le(o.prototype,"ingestNewClassroom",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(t instanceof Error)throw t;if(e.spinning=!1,e.togglingSelfSignup=!1,e.softError=!1,t&&t.data&&t.data.soft_error&&(e.softError=t.data.soft_error),t&&t.data&&t.data.success){t.data.classroom;e.$dashboard.ingestClassroom(t.data.classroom),e.clearModal()}return Promise.resolve(t)}}}),I=le(o.prototype,"loadStats",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.detailsPid&&(!e.stats||t&&t.reload)?e.statsFetchPromise?e.statsFetchPromise:(e.statsFetchPromise=e.$v2Api.commonCall("get","/classroom/stats",{pid:e.detailsPid}).then(e.ingestStats,e.ingestStats),e.statsFetchPromise):Promise.resolve()}}}),$=le(o.prototype,"ingestStats",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(e.statsFetchPromise=void 0,t instanceof Error)throw t;t&&t.data&&t.data.success&&(e.stats=t.data.stats)}}}
2),le(o.prototype,"classroomIsDeleteable",[re.computed],Object.getOwnPropertyDescriptor(o.prototype,"classroomIsDeleteable"),o.prototype),D=le(o.prototype,"popDeleteClassroomModal",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.classroomIsDeleteable?(e.showModal="deleteClassroom",e.spinning=!1):(e.showModal="cantDeleteClassroom",e.spinning=!1)}}}),N=le(o.prototype,"doDeleteClassroom",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.spinning=!0,e.$v2Api.commonCall("post","/classroom/delete",{pid:e.detailsPid},{noErrorModalIfSoftError:!0,minLatency:500}).then(e.removeClassroomAndRedirect,e.removeClassroomAndRedirect)}}}),R=le(o.prototype,"removeClassroomAndRedirect",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.spinning=!1,t&&t.data&&t.data.success&&(e.$dashboard.removeClassroom(e.detailsPid),e.clearModal(),e.$router.redirectTo("/"))}}}),B=le(o.prototype,"doChangeShortcode",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.spinning=!0,e.$v2Api.commonCall("post","/classroom/edit",{pid:e.details.classroom.pid,shortcode:e.modalMainInputValue},{noErrorModalIfSoftError:!0,minLatency:500}).then(e.ingestNewClassroom,e.ingestNewClassroom)}}}),U=le(o.prototype,"doRenameClass",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.spinning=!0,e.$v2Api.commonCall("post","/classroom/edit",{pid:e.details.classroom.pid,name:e.modalMainInputValue},{noErrorModalIfSoftError:!0,minLatency:500}).then(e.ingestNewClassroom,e.ingestNewClassroom)}}}),G=le(o.prototype,"doCreateStudent",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.spinning=!0,e.$v2Api.commonCall("post","/classroom/student/create",{pid:e.details.classroom.pid,name:e.modalMainInputValue,is_under_13:e.modalCheckboxValue},{noErrorModalIfSoftError:!0,minLatency:500}).then(function(t){return e.$tracking.event("classroom","studentCreatedManually"),t}).then(e.ingestNewStudent,e.ingestNewStudent)}}}),F=le(o.prototype,"doEditStudent",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.spinning=!0,e.$v2Api.commonCall("post","/classroom/student/edit",{pid:e.modalFocusedPid,name:e.modalMainInputValue,is_under_13:e.modalCheckboxValue},{noErrorModalIfSoftError:!0,minLatency:500}).then(e.ingestNewStudent,e.ingestNewStudent)}}}),q=le(o.prototype,"doDeleteStudent",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(){return e.spinning=!0,e.$v2Api.commonCall("post","/classroom/student/delete",{pid:e.modalFocusedPid},{noErrorModalIfSoftError:!0,minLatency:500}).then(e.ingestNewStudent,e.ingestNewStudent)}}}),L=le(o.prototype,"ingestNewStudent",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){if(t instanceof Error)throw t;e.spinning=!1,e.softError=!1,t&&t.data&&t.data.soft_error&&(e.softError=t.data.soft_error),t&&t.data&&t.data.success&&(t.data.deleted_pid?e.$dashboard.removeStudent(t.data.deleted_pid):e.$dashboard.ingestStudent(t.data.student),e.clearModal())}}}),V=le(o.prototype,"setStatsBy",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.statsBy=t}}}),H=le(o.prototype,"setStatsGamePid",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.statsGamePid=t}}}),W=le(o.prototype,"setStatsUserPid",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.statsUserPid=t}}}),K=le(o.prototype,"toggleSelfSignup",[re.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(!e.$gameplay.readOnlyGateKeeper())return e.togglingSelfSignup=!0,e.$v2Api.commonCall("post","/classroom/edit",{pid:e.details.classroom.pid,self_signup_enabled:e.details.classroom.self_signup_enabled?"0":"1"},{noErrorModalIfSoftError:!0,minLatency:500}).then(e.ingestNewClassroom,e.ingestNewClassroom)}}}),o);t.default=ue},,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;z(r(26));var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w,E,k,_,C,S,P,O=z(r(25)),T=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),j=r(10),x=z(r(126)),M=z(r(23));
2function z(e){return e&&e.__esModule?e:{default:e}}function A(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function I(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function $(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var D=(n=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var O=arguments.length,T=Array(O),j=0;j<O;j++)T[j]=arguments[j];return r=n=I(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(T))),A(n,"started",a,n),A(n,"chosenCharTypeGid",o,n),A(n,"chosenImage",i,n),A(n,"chosenName",l,n),A(n,"formSelectedCharTypeGid",s,n),A(n,"radioSelectionStockImage",u,n),A(n,"radioSelectionCustomImage",c,n),A(n,"formSelectedName",d,n),A(n,"editingChoice",f,n),A(n,"publishing",p,n),n.boot=function(){n.disposers.push(n.$gameplay.gameDataPurgeAutorun("chargen",n.reset))}
2,A(n,"start",m,n),A(n,"reset",h,n),A(n,"cancel",y,n),A(n,"editChoice",g,n),A(n,"setFormSelectedCharTypeGid",b,n),A(n,"chooseCharType",v,n),A(n,"setRadioSelectionStockImage",w,n),A(n,"setRadioSelectionCustomImage",E,n),A(n,"switchSelectionToCustomImageIfAny",k,n),A(n,"chooseImage",_,n),A(n,"setFormSelectedName",C,n),A(n,"chooseName",S,n),A(n,"finish",P,n),n.devFastCharacter=function(e){},I(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,M.default),T(t,[{key:"completed",get:function(){return!!this.$gameplay.gsm.characterForUser(this.$authUser.pid)}},{key:"canStart",get:function(){return!this.completed&&this.$gameplay.gsm.canStartChargen()&&this.$gameplay.gsm.state.invitees.indexOf(this.$authUser.pid)>=0}},{key:"charTypesSummaryForChooser",get:function(){var e={all:[],takenBy:{},artGidTakenBy:{}};return(0,O.default)(this.$gameplay.gsm.playerCharacters("pcTakenCharTypes"),function(t){e.takenBy[t.fromCharTypeGid]=t.userPid,t.image&&(e.artGidTakenBy[t.image.artGid]=t.userPid)}),(0,O.default)(this.$gameplay.gsm.state.characters,function(t){t.isCharType&&!t.deleted&&e.all.push(t)}),e}},{key:"radioSelectedImage",get:function(){return this.radioSelectionStockImage||this.radioSelectionCustomImage}},{key:"radioSelectedImageIsCustom",get:function(){return!this.radioSelectionStockImage&&!!this.radioSelectionCustomImage}},{key:"chosenCharTypeIsUnavailable",get:function(){return!!this.chosenCharTypeGid&&!!this.charTypesSummaryForChooser.takenBy[this.chosenCharTypeGid]}},{key:"chosenAvatarIsUnavailable",get:function(){return!!this.chosenImage&&!!this.charTypesSummaryForChooser.artGidTakenBy[this.chosenImage.artGid]}},{key:"newEvents",get:function(){var e=this,t=[];this.$gameplay.gsm.state.characters[this.chosenCharTypeGid];return t.push({kind:"ekStartCharacter",params:{isPlayer:!0,fromCharTypeGid:this.chosenCharTypeGid,ugcName:this.chosenName,image:this.chosenImage}}),t.forEach(function(t){t.userPid=e.$authUser.pid,t.createdAtUnix=(0,x.default)(),t.seqId="auto"}),t}}]),t}(),a=$(n.prototype,"started",[j.observable],{enumerable:!0,initializer:null}),o=$(n.prototype,"chosenCharTypeGid",[j.observable],{enumerable:!0,initializer:null}),i=$(n.prototype,"chosenImage",[j.observable],{enumerable:!0,initializer:null}),l=$(n.prototype,"chosenName",[j.observable],{enumerable:!0,initializer:null}),s=$(n.prototype,"formSelectedCharTypeGid",[j.observable],{enumerable:!0,initializer:null}),u=$(n.prototype,"radioSelectionStockImage",[j.observable],{enumerable:!0,initializer:null}),c=$(n.prototype,"radioSelectionCustomImage",[j.observable],{enumerable:!0,initializer:null}),d=$(n.prototype,"formSelectedName",[j.observable],{enumerable:!0,initializer:null}),f=$(n.prototype,"editingChoice",[j.observable],{enumerable:!0,initializer:null}),p=$(n.prototype,"publishing",[j.observable],{enumerable:!0,initializer:null}),m=$(n.prototype,"start",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.$gameplay.readOnlyGateKeeper()||(e.started=!0)}}}),h=$(n.prototype,"reset",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.started=!1,e.chosenCharTypeGid=void 0,e.chosenImage=void 0,e.chosenName=void 0,e.formSelectedCharTypeGid=void 0,e.radioSelectionStockImage=void 0,e.radioSelectionCustomImage=void 0,e.formSelectedName=void 0,e.editingChoice=void 0,e.publishing=!1}}}),y=$(n.prototype,"cancel",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.reset(),e.publishing=!1}}}),g=$(n.prototype,"editChoice",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.editingChoice=t}}}),$(n.prototype,"completed",[j.computed],Object.getOwnPropertyDescriptor(n.prototype,"completed"),n.prototype),$(n.prototype,"canStart",[j.computed],Object.getOwnPropertyDescriptor(n.prototype,"canStart"),n.prototype),$(n.prototype,"charTypesSummaryForChooser",[j.computed],Object.getOwnPropertyDescriptor(n.prototype,"charTypesSummaryForChooser"),n.prototype),b=$(n.prototype,"setFormSelectedCharTypeGid",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.formSelectedCharTypeGid=t}}}
2),v=$(n.prototype,"chooseCharType",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=e.formSelectedCharTypeGid;t&&(e.charTypesSummaryForChooser.takenBy[t]||(e.chosenCharTypeGid=t,e.editingChoice=void 0))}}}),w=$(n.prototype,"setRadioSelectionStockImage",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.radioSelectionStockImage=t}}}),E=$(n.prototype,"setRadioSelectionCustomImage",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.radioSelectionCustomImage=t,e.switchSelectionToCustomImageIfAny()}}}),$(n.prototype,"radioSelectedImage",[j.computed],Object.getOwnPropertyDescriptor(n.prototype,"radioSelectedImage"),n.prototype),$(n.prototype,"radioSelectedImageIsCustom",[j.computed],Object.getOwnPropertyDescriptor(n.prototype,"radioSelectedImageIsCustom"),n.prototype),k=$(n.prototype,"switchSelectionToCustomImageIfAny",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.radioSelectionCustomImage&&(e.radioSelectionStockImage=void 0)}}}),_=$(n.prototype,"chooseImage",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=e.radioSelectedImage;t&&(e.chosenImage=t,e.editingChoice=void 0)}}}),C=$(n.prototype,"setFormSelectedName",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){e.formSelectedName=t}}}),S=$(n.prototype,"chooseName",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(){var t=e.formSelectedName;t&&t.trim()&&(e.chosenName=t.trim(),e.editingChoice=void 0)}}}),$(n.prototype,"chosenCharTypeIsUnavailable",[j.computed],Object.getOwnPropertyDescriptor(n.prototype,"chosenCharTypeIsUnavailable"),n.prototype),$(n.prototype,"chosenAvatarIsUnavailable",[j.computed],Object.getOwnPropertyDescriptor(n.prototype,"chosenAvatarIsUnavailable"),n.prototype),$(n.prototype,"newEvents",[j.computed],Object.getOwnPropertyDescriptor(n.prototype,"newEvents"),n.prototype),P=$(n.prototype,"finish",[j.action],{enumerable:!0,initializer:function(){var e=this;return function(t){var r=t.confirmModal;return e.chosenCharTypeIsUnavailable?r.pop("You must choose a different character type","The character type youâve chosen has already been chosen by another player. Please choose a different one to continue.",{cancelOnly:!0}):e.chosenAvatarIsUnavailable?r.pop("You must choose a different avatar","The avatar youâve chosen has already been chosen by another player. Please choose a different one to continue.",{cancelOnly:!0}):(e.publishing=!0,e.$gameplay.eventWrites.postEvents(e.newEvents).then((0,j.action)(function(t){e.publishing=!1,e.reset()})).catch((0,j.action)(function(t){e.publishing=!1})))}}}),n);t.default=D},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f,p,m,h,y,g,b,v,w,E,k,_,C,S,P,O,T,j,x,M,z,A,I,$,D,N,R,B,U,G,F,q,L,V,H,W,K,Y,J,Z,X,Q,ee,te,re,ne,ae,oe,ie,le,se,ue,ce,de,fe,pe,me,he,ye,ge,be,ve,we,Ee,ke,_e,Ce,Se,Pe,Oe,Te,je,xe,Me,ze=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),Ae=r(10),Ie=$e(r(370));function $e(e){return e&&e.__esModule?e:{default:e}}function De(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function Ne(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var Re=(0,$e(r(19)).default)("authUser"),Be=(n=Ae.observable.ref,a=Ae.observable.ref,o=Ae.action.bound,i=Ae.action.bound,l=Ae.action.bound,s=Ae.action.bound,u=Ae.action.bound,c=function(){function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),De(this,"cantJoinGamePidDueToMaxGames",d,this),De(this,"classroom_nickname",f,this),De(this,"classroom_pid",p,this),De(this,"considered_member",m,this),De(this,"description",h,this),De(this,"display_name",y,this),De(this,"fb_hidden",g,this),De(this,"fb_profile_full_name",b,this),De(this,"fb_profile_url",v,this),De(this,"fb_user_id",w,this),De(this,"first",E,this),De(this,"flair_class",k,this),De(this,"gp_hidden",_,this),De(this,"gp_name",C,this),De(this,"gp_user_id",S,this),De(this,"image",P,this),De(this,"isFakeTutorialUser",O,this),De(this,"svea",T,this),De(this,"is_ks_pending",j,this),De(this,"is_mentor",x,this),De(this,"is_minor",M,this),De(this,"is_staff",z,this),De(this,"is_storiumedu",A,this),De(this,"is_student",I,this),De(this,"is_teacher",$,this),De(this,"is_tg",D,this),De(this,"last",N,this),De(this,"nag_narrator_tut",R,this),De(this,"nag_player_tut",B,this),De(this,"name",U,this),De(this,"num_edu_beta_invites",G,this),De(this,"pid",F,this),De(this,"pl_int",q,this),De(this,"pm_disabled",L,this),De(this,"slug",V,this),De(this,"tg_deleted",H,this),De(this,"tw_hidden",W,this),De(this,"tw_user_id",K,this),De(this,"twitter_handle",Y,this),De(this,"url",J,this),De(this,"user_pid",Z,this),De(this,"is_under_13",X,this),De(this,"preferences",Q,this),De(this,"no_track",ee,this),De(this,"channel_token",te,this),De(this,"email",re,this),De(this,"email_verification_required",ne,this),De(this,"email_verification_initial",ae,this),De(this,"recurly_account_code",oe,this),De(this,"recurly_plan_code",ie,this),De(this,"recurly_hosted_login_token",le,this),De(this,"in_free_trial",se,this),De(this,"trial_ending_soon",ue,this),De(this,"has_active_paid_subscription",ce,this),De(this,"teacher_has_aps",de,this),De(this,"teacher_sfr",fe,this),De(this,"free_trial_expired",pe,this),De(this,"read_only",me,this),De(this,"moxi",he,this),De(this,"svea",ye,this),De(this,"is_demo_user",ge,this),De(this,"created_at_unix",be,this),De(this,"signup_form_role",ve,this),De(this,"can_subscribe",we,this),De(this,"subscription_status",Ee,this),De(this,"teacher_user_pid",ke,this),De(this,"new_achievements",_e,this),De(this,"isLoaded",Ce,this),De(this,"isUnauth",Se,this),De(this,"loggingOut",Pe,this),De(this,"expectedAuthUserPid",Oe,this),De(this,"firstFetchAtUnix",Te,this),De(this,"apn_auth_token",je,this),this.onLoadedHandlers=[],this.assignedXsrfTokenCookie
2=void 0,this.ssrFetchedXsrfTokenCookie=void 0,this.importable_props=["cantJoinGamePidDueToMaxGames","classroom_nickname","classroom_pid","considered_member","description","display_name","fb_hidden","fb_profile_full_name","fb_profile_url","fb_user_id","first","flair_class","gp_hidden","gp_name","gp_user_id","image","isFakeTutorialUser","is_ks_pending","is_mentor","is_minor","is_staff","is_storiumedu","is_student","is_teacher","is_tg","last","nag_narrator_tut","nag_player_tut","name","num_edu_beta_invites","pid","pl_int","pm_disabled","slug","tg_deleted","tw_hidden","tw_user_id","twitter_handle","url","user_pid","preferences","is_under_13","no_track","channel_token","email","email_verification_required","email_verification_initial","recurly_account_code","recurly_plan_code","recurly_hosted_login_token","in_free_trial","trial_ending_soon","has_active_paid_subscription","teacher_has_aps","teacher_sfr","free_trial_expired","read_only","moxi","svea","is_demo_user","created_at_unix","signup_form_role","can_subscribe","subscription_status","teacher_user_pid","apn_auth_token"],this.runWhenLoaded=function(e){t.isLoaded?setTimeout(e):t.onLoadedHandlers.push(e)},this.doRunWhenLoaded=function(){setTimeout(function(){t.onLoadedHandlers.forEach(function(e){return e()}),t.onLoadedHandlers=[]})},De(this,"boot",xe,this),this.refetch=function(){return t.$v2Api.commonCall("get","/me").then(function(e){t.importVob(e.data.me)}).catch(function(){})},this.switchableDemoUsers=function(){return t.is_demo_user?["MrKeating","Mateo","Gabrielle","Anne"]:["stlhoodNS","Mary","Arthur","McDashboard","McDolphin","Yueh","Chani","Jessica","Stilgar","Kynes","Alia","StephenHood","MrKeating","Mateo","Gabrielle","Anne"]},De(this,"checkAuthCookieChanged",Me,this)}return ze(e,[{key:"importVob",value:function(e){var t=this;this.importable_props.forEach(function(r){t[r]=e[r]}),Re.chatter("importVob/isLoaded pid=",this.pid),this.isUnauth=!this.pid,this.$v2Api.setEaup(this.pid),e.fetch_at_unix&&(this.firstFetchAtUnix=e.fetch_at_unix),this.isLoaded||(this.isLoaded=!0,this.$performance.record("authUserLoaded"),this.doRunWhenLoaded()),this.expectedAuthUserPid||(this.expectedAuthUserPid=this.pid)}},{key:"clearAchievements",value:function(){this.new_achievements=[]}},{key:"setPreference",value:function(e,t){var r=this;return this.$v2Api.commonCall("post","/me/preferences",{k:e,v:t},{noErrorModalIfSoftError:!0}).then((0,Ae.action)("setPreference_resp_handler",function(e){return e.data&&e.data.preferences&&(r.preferences=e.data.preferences),e})).catch((0,Ae.action)("setPreference_err_handler",function(e){return e&&e.data&&e.data.preferences&&(r.preferences=e.data.preferences),Promise.reject(e)}))}},{key:"thaw",value:function(e){var t=this;this.importable_props.forEach(function(r){t[r]=e[r]}),this.isLoaded=e.isLoaded,this.isUnauth=e.isUnauth,this.new_achievements=e.new_achievements,this.isLoaded&&this.doRunWhenLoaded()}},{key:"logout",value:function(){var e=this;return!this.pid||this.loggingOut?Promise.resolve():(this.loggingOut=!0,this.expectedAuthUserPid=void 0,this.$v2Api.commonCall("post","/sign_out").then(function(){e.$location.goTo("/goodbye",{reload:!0})},function(){}))}},{key:"demoSwitch",value:function(e){var t=this,r={name_email_or_nick:e,demo_switch:1};this.$v2Api.commonCall("post","/sign_in",r).then(function(){t.$location.reload()},function(){})}},{key:"frozen",get:function(){var e=this,t={};return this.importable_props.concat(["isLoaded","isUnauth","new_achievements"]).forEach(function(r){t[r]=(0,Ae.toJS)(e[r])}),t}},{key:"xsrfTokenCookie",get:function(){return void 0!==this.assignedXsrfTokenCookie?this.assignedXsrfTokenCookie:void 0!==this.ssrFetchedXsrfTokenCookie?this.ssrFetchedXsrfTokenCookie:Ie.default.get("XSRF-TOKEN")}}]),e}(),d=Ne(c.prototype,"cantJoinGamePidDueToMaxGames",[Ae.observable],{enumerable:!0,initializer:null}),f=Ne(c.prototype,"classroom_nickname",[Ae.observable],{enumerable:!0,initializer:null}),p=Ne(c.prototype,"classroom_pid",[Ae.observable],{enumerable:!0,initializer:null}),m=Ne(c.prototype,"considered_member",[Ae.observable],{enumerable:!0,initializer:null}),h=Ne(c.prototype,"description",[Ae.observable],{enumerable:!0,initializer:null}),y=Ne(c.prototype,"display_name",[Ae.observable],{enumerable:!0,initializer:null}),g=Ne(c.prototype,"fb_hidden",[Ae.observable],{enumerable:!0,initializer:null}),b=Ne(c.prototype,"fb_profile_full_name",[Ae.observable],{enumerable:!0,initializer:null}),v=Ne(c.prototype,"fb_profile_url",[Ae.observable],{enumerable:!0,initializer:null}),w=Ne(c.prototype,"fb_user_id",[Ae.observable],{enumerable:!0,initializer:null}),E=Ne(c.prototype,"first",[Ae.observable],{enumerable:!0,initializer:null}),k=Ne(c.prototype,"flair_class",[Ae.observable],{enumerable:!0,initializer:null}),_=Ne(c.prototype,"gp_hidden",[Ae.observable],{enumerable:!0,initializer:null}),C=Ne(c.prototype,"gp_name",[Ae.observable],{enumerable:!0,initializer:null}),S=Ne(c.prototype,"gp_user_id",[Ae.observable],{enumerable:!0,initializer:null}),P=Ne(c.prototype,"image",[Ae.observable],{enumerable:!0,initializer:null}),O=Ne(c.prototype,"isFakeTutorialUser",[Ae.observable],{enumerable:!0,initializer:null}),T=Ne(c.prototype,"svea",[Ae.observable],{enumerable:!0,initializer:null}),j=Ne(c.prototype,"is_ks_pending",[Ae.observable],{enumerable:!0,initializer:null}),x=Ne(c.prototype,"is_mentor",[Ae.observable],{enumerable:!0,initializer:null}),M=Ne(c.prototype,"is_minor",[Ae.observable],{enumerable:!0,initializer:null}),z=Ne(c.prototype,"is_staff",[Ae.observable],{enumerable:!0,initializer:null}),A=Ne(c.prototype,"is_storiumedu",[Ae.observable],{enumerable:!0,initializer:null}),I=Ne(c.prototype,"is_student",[Ae.observable],{enumerable:!0,initializer:null}),$=Ne(c.prototype,"is_teacher",[Ae.observable],{enumerable:!0,initializer:null}),D=Ne(c.prototype,"is_tg",[Ae.observable],{enumerable:!0,initializer:null}),N=Ne(c.prototype,"last",[Ae.observable],{enumerable:!0,initializer:null}),R=Ne(c.prototype,"nag_narrator_tut",[Ae.observable],{enumerable:!0,initializer:null}),B=Ne(c.prototype,"nag_player_tut",[Ae.observable],{enumerable:!0,initializer:null}),U=Ne(c.prototype,"name",[Ae.observable],{enumerable:!0,initializer:null}),G=Ne(c.prototype,"num_edu_beta_invites",[Ae.observable],{enumerable:!0,initializer:null}),F=Ne(c.prototype,"pid",[Ae.observable],{enumerable:!0,initializer:null}),q=Ne(c.prototype,"pl_int",[Ae.observable],{enumerable:!0,initializer:null}),L=Ne(c.prototype,"pm_disabled",[Ae.observable],{enumerable:!0,initializer:null}),V=Ne(c.prototype,"slug",[Ae.observable],{enumerable:!0,initializer:null}),H=Ne(c.prototype,"tg_deleted",[Ae.observable],{enumerable:!0,initializer:null}),W=Ne(c.prototype,"tw_hidden",[Ae.observable],{enumerable:!0,initializer:null}),K=Ne(c.prototype,"tw_user_id",[Ae.observable],{enumerable:!0,initializer:null}),Y=Ne(c.prototype,"twitter_handle",[Ae.observable],{enumerable:!0,initializer:null}),J=Ne(c.prototype,"url",[Ae.observable],{enumerable:!0,initializer:null}),Z=Ne(c.prototype,"user_pid",[Ae.observable],{enumerable:!0,initializer:null}),X=Ne(c.prototype,"is_under_13",[Ae.observable],{enumerable:!0,initializer:null}),Q=Ne(c.prototype,"preferences",[n],{enumerable:!0,initializer:null}),ee=Ne(c.prototype,"no_track",[Ae.observable],{enumerable:!0,initializer:null}),te=Ne(c.prototype,"channel_token",[Ae.observable],{enumerable:!0,initializer:null}),re=Ne(c.prototype,"email",[Ae.observable],{enumerable:!0,initializer:null}),ne=Ne(c.prototype,"email_verification_required",[Ae.observable],{enumerable:!0,initializer:null}),ae=Ne(c.prototype,"email_verification_initial",[Ae.observable],{enumerable:!0,initializer:null}),oe=Ne(c.prototype,"recurly_account_code",[Ae.observable],{enumerable:!0,initializer:null}),ie=Ne(c.prototype,"recurly_plan_code",[Ae.observable],{enumerable:!0,initializer:null}),le=Ne(c.prototype,"recurly_hosted_login_token",[Ae.observable],{enumerable:!0,initializer:null}),se=Ne(c.prototype,"in_free_trial",[Ae.observable],{enumerable:!0,initializer:null}),ue=Ne(c.prototype,"trial_ending_soon",[Ae.observable],{enumerable:!0,initializer:null}),ce=Ne(c.prototype,"has_active_paid_subscription",[Ae.observable],{enumerable:!0,initializer:null}),de=Ne(c.prototype,"teacher_has_aps",[Ae.observable],{enumerable:!0,initializer:null}),fe=Ne(c.prototype,"teacher_sfr",[Ae.observable],{enumerable:!0,initializer:null}),pe=Ne(c.prototype,"free_trial_expired",[Ae.observable],{enumerable:!0,initializer:null}),me=Ne(c.prototype,"read_only",[Ae.observable],{enumerable:!0,initializer:null}),he=Ne(c.prototype,"moxi",[Ae.observable],{enumerable:!0,initializer:null}),ye=Ne(c.prototype,"svea",[Ae.observable],{enumerable:!0,initializer:null}),ge=Ne(c.prototype,"is_demo_user",[Ae.observable],{enumerable:!0,initializer:null}),be=Ne(c.prototype,"created_at_unix",[Ae.observable],{enumerable:!0,initializer:null}),ve=Ne(c.prototype,"signup_form_role",[Ae.observable],{enumerable:!0,initializer:null}),we=Ne(c.prototype,"can_subscribe",[Ae.observable],{enumerable:!0,initializer:null}),Ee=Ne(c.prototype,"subscription_status",[Ae.observable],{enumerable:!0,initializer:null}),ke=Ne(c.prototype,"teacher_user_pid",[Ae.observable],{enumerable:!0,initializer:null}),_e=Ne(c.prototype,"new_achievements",[a],{enumerable:!0,initializer:function(){return[]}}),Ce=Ne(c.prototype,"isLoaded",[Ae.observable],{enumerable:!0,initializer:function(){return!1}}),Se=Ne(c.prototype,"isUnauth",[Ae.observable],{enumerable:!0,initializer:null}),Pe=Ne(c.prototype,"loggingOut",[Ae.observable],{enumerable:!0,initializer:null}),Oe=Ne(c.prototype,"expectedAuthUserPid",[Ae.observable],{enumerable:!0,initializer:null}),Te=Ne(c.prototype,"firstFetchAtUnix",[Ae.observable],{enumerable:!0,initializer:null}),je=Ne(c.prototype,"apn_auth_token",[Ae.observable],{enumerable:!0,initializer:null}),Ne(c.prototype,"importVob",[o],Object.getOwnPropertyDescriptor(c.prototype,"importVob"),c.prototype),Ne(c.prototype,"clearAchievements",[i],Object.getOwnPropertyDescriptor(c.prototype,"clearAchievements"),c.prototype),xe=Ne(c.prototype,"boot",[Ae.action],{enumerable:!0,initializer:function(){var e=this;return function(t){return e.$v2Api.registerResponseHandler((0,Ae.action)("authUser_response_handler_for_achievements",function(t){t&&t.data&&t.data.new_achievements&&(e.new_achievements=t.data.new_achievements)})),"clientInit"!==t&&"ssrClientResume"!==t||setInterval(e.checkAuthCookieChanged,1e3),e.isLoaded&&e.xsrfTokenCookie?Promise.resolve():(Re.chatter("boot fetching /me",e.isLoaded,e.xsrfTokenCookie),e.$asyncTask.track(e.$v2Api.commonCall("get","/me").then(function(t){Re.chatter("boot /me resp",t),e.importVob(t.data.me)}).catch(function(){}),"authUser fetch"))}}}),Ne(c.prototype,"frozen",[Ae.computed],Object.getOwnPropertyDescriptor(c.prototype,"frozen"),c.prototype),Ne(c.prototype,"thaw",[l],Object.getOwnPropertyDescriptor(c.prototype,"thaw"),c.prototype),Ne(c.prototype,"logout",[s],Object.getOwnPropertyDescriptor(c.prototype,"logout"),c.prototype),Ne(c.prototype,"demoSwitch",[u],Object.getOwnPropertyDescriptor(c.prototype,"demoSwitch"),c.prototype),Me=Ne(c.prototype,"checkAuthCookieChanged",[Ae.action],{enumerable:!0,initializer:function(){var e=this;return function(){if(!e.loggingOut){var t=Ie.default.get("ap")||"";t?(e.expectedAuthUserPid&&e.expectedAuthUserPid!==t&&e.$v2Api.showAuthCookieChangedErrorModal(),e.expectedAuthUserPid&&e.expectedAuthUserPid===t&&e.$v2Api.clearAuthCookieErrorModal()):e.expectedAuthUserPid?e.$v2Api.showAuthCookieGoneErrorModal():e.$v2Api.clearAuthCookieErrorModal()}}}}),c);t.default=Be},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),c=r(10),d=function(e){return e&&e.__esModule?e:{default:e}}(r(23));function f(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function p(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function m(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var h=(n=(0,c.action)("asyncTask_incr"),a=(0,c.action)("asyncTask_decr"),o=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),u=0;u<a;u++)o[u]=arguments[u];return r=n=p(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),f(n,"numTasks",i,n),f(n,"incr",l,n),f(n,"decr",s,n),n.track=function(e,t){return n.incr(t),e.then(function(e){return n.decr(t),Promise.resolve(e)}).catch(function(e){return n.decr(t),Promise.reject(e)})},n.waitEventLoopsApprox=function(e,t){"number"==typeof t&&t>0?setTimeout(function(){setImmediate(function(){n.waitEventLoopsApprox(e,t-1)})}):setImmediate(e)},p(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,d.default),u(t,[{key:"runUntilNoTasksRemaining",value:function(e,t){var r=this,n=0,a=void 0,o=!1,i=t&&t.timeout||5e3,l=void 0,s=!t||!t.hasOwnProperty("extraWaiting")||t.extraWaiting?3:0;return new Promise(function(t,u){setTimeout(function(){o=!0,l&&l(),u({reason:"timeout",lastResult:a})},i);!function i(){o||(a=e(),r.numTasks>0?(n=0,l=(0,c.reaction)(function(){return r.numTasks},function(){r.waitEventLoopsApprox(i,s),l()},{name:"runUntilNoTasksRemaining_numTasks_observer"})):(n+=1)>=2?t(a):r.waitEventLoopsApprox(i,s))}()})}}]),t}(),i=m(o.prototype,"numTasks",[c.observable],{enumerable:!0,initializer:function(){return 0}}),l=m(o.prototype,"incr",[n],{enumerable:!0,initializer:function(){var e=this;return function(t){e.numTasks=e.numTasks+1}}}),s=m(o.prototype,"decr",[a],{enumerable:!0,initializer:function(){var e=this;return function(t){e.numTasks=e.numTasks-1,0===e.numTasks&&setTimeout(function(){0===e.numTasks&&setTimeout(function(){0===e.numTasks&&e.$performance.asyncTasksAreZero()},0)},0)}}}),o);t.default=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultBootFirst=t.allStoreNames=t.default=void 0;var n,a,o=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),i=R(r(808)),l=R(r(807)),s=R(r(806)),u=R(r(803)),c=R(r(801)),d=R(r(763)),f=R(r(758)),p=R(r(753)),m=R(r(752)),h=R(r(693)),y=R(r(692)),g=R(r(691)),b=R(r(690)),v=R(r(689)),w=R(r(688)),E=R(r(687)),k=R(r(520)),_=R(r(519)),C=R(r(518)),S=R(r(495)),P=R(r(494)),O=R(r(493)),T=R(r(492)),j=R(r(491)),x=r(10),M=R(r(19)),z=R(r(487)),A=R(r(486)),I=R(r(485)),$=R(r(484)),D=R(r(483)),N=R(r(482));function R(e){return e&&e.__esModule?e:{default:e}}function B(e,t,r,n,a){var o={};
2return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var U=(0,M.default)("rootStore");(0,x.configure)({enforceActions:!0});var G={$asyncTask:i.default,$authUser:l.default,$blurbs:T.default,$chargen:s.default,$classrooms:u.default,$composer:c.default,$dashboard:d.default,$deckEditor:f.default,$editor:p.default,$gameplay:m.default,$inviter:h.default,$libraryDecks:y.default,$location:g.default,$login:b.default,$notifications:v.default,$performance:w.default,$router:E.default,$sdb:_.default,$signup:k.default,$socket:C.default,$tabMemory:S.default,$tracking:P.default,$userInfo:O.default,$v2Api:j.default,$rtGameChannel:z.default,$rtUserChannel:A.default,$rtDraftStatuses:I.default,$gamePresence:$.default,$idle:D.default,$webPush:N.default},F=["$asyncTask","$location","$router","$authUser"],q=(n=function(){function e(t,r){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}(this,"bootedAt",a,this),this.disposers=[],this.storeNames=t||G,this.bootFirst=r||(t?[]:F),U.chatter("constructor creating stores"),Object.keys(this.storeNames).forEach(function(e){n[e]=new n.storeNames[e]}),Object.keys(this.storeNames).forEach(function(e){n[e].nameOfSelf=e,Object.keys(n.storeNames).forEach(function(t){e!==t&&(n[e][t]=n[t])})})}return o(e,[{key:"thaw",value:function(e){var t=this;Object.keys(this.storeNames).forEach(function(r){t[r].thaw&&t[r].thaw(e[r])})}},{key:"boot",value:function(e){var t=this;U.chatter("boot"),this.bootedAt=new Date;var r={};this.bootFirst.forEach(function(n){t[n].boot&&(U.chatter("boot:",n),t[n].boot(e),r[n]=!0)}),Object.keys(this.storeNames).forEach(function(n){t[n].boot&&!r[n]&&(U.chatter("boot:",n),t[n].boot(e),r[n]=!0)})}},{key:"cleanup",value:function(){var e=this;U.chatter("cleanup"),this.disposers.forEach(function(e){return e()}),this.disposers=[],Object.keys(this.storeNames).forEach(function(t){e[t].cleanup&&(U.chatter("cleanup:",t),e[t].cleanup())})}},{key:"providerProps",get:function(){var e=this,t={};return Object.keys(this.storeNames).forEach(function(r){t[r]=e[r]}),t}},{key:"frozen",get:function(){var e=this,t={};return Object.keys(this.storeNames).forEach(function(r){e[r].frozen&&(t[r]=e[r].frozen)}),t}}]),e}(),a=B(n.prototype,"bootedAt",[x.observable],{enumerable:!0,initializer:null}),B(n.prototype,"frozen",[x.computed],Object.getOwnPropertyDescriptor(n.prototype,"frozen"),n.prototype),B(n.prototype,"thaw",[x.action],Object.getOwnPropertyDescriptor(n.prototype,"thaw"),n.prototype),B(n.prototype,"boot",[x.action],Object.getOwnPropertyDescriptor(n.prototype,"boot"),n.prototype),n);t.default=q,t.allStoreNames=G,t.defaultBootFirst=F},,function(e,t,r){},,,,,,,,,,,,,function(e,t,r){e.exports=r.p+"assets/363-apple-touch-icon-180px.cda0726727065cfe951af9561a4a4aae.png"},function(e,t,r){e.exports=r.p+"assets/362-apple-touch-icon-167px.2ab87b8856298eb48553b621f6cf1c7e.png"},function(e,t,r){e.exports=r.p+"assets/361-apple-touch-icon-152px.1d0e0a61ad883ad367ee648ad3216925.png"},function(e,t,r){e.exports=r.p+"assets/360-apple-touch-icon-120px.16819e6cb34b1dacc4086c182bbcfd8f.png"},function(e,t,r){e.exports=r.p+"assets/favicon.ea2eb686aa19357bc50ace3ef7321d37.ico"},,,,,,,function(e,t,r){e.exports=r.p+"assets/357-storiumedu-header-2x.cf0d74cbc6e91b03ec8f4963c1e807cf.png"},function(e,t,r){e.exports=r.p+"assets/355-storiumedu-header.8507855d2b808025de4ec3f3e5f76876.png"},,function(e,t,r){},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];
2for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=u(r(1)),s=u(r(0));function u(e){return e&&e.__esModule?e:{default:e}}function c(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var d=(a=n=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return r=n=c(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.mounted=!1,c(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,l.default.Component),i(t,[{key:"componentDidMount",value:function(){var e=this;this.mounted=!0,this.elementRef&&setTimeout(function(){e.mounted&&e.elementRef&&e.elementRef.scrollIntoView({block:"start",inline:"nearest",behavior:"smooth"})},500)}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"render",value:function(){var e=this,t=this.props,r=t.children,n=function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}(t,["children"]);return l.default.createElement("div",o({ref:function(t){e.elementRef=t}},n),r)}}]),t}(),n.propTypes={children:s.default.any.isRequired},a);t.default=d},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i,l,s,u,c,d,f=P(r(37)),p=P(r(35)),m=P(r(31)),h=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),y=P(r(1)),g=P(r(0)),b=r(9),v=r(10),w=P(r(13)),E=r(11),k=r(12),_=P(r(836)),C=P(r(835)),S=P(r(377));function P(e){return e&&e.__esModule?e:{default:e}}function O(e,t,r,n){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function T(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function j(e,t,r,n,a){var o={};return Object.keys(n).forEach(function(e){o[e]=n[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce(function(r,n){return n(e,t,r)||r},o),a&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(a):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}var x=(0,b.inject)("$authUser","$sdb","$v2Api","$location")(n=(0,b.observer)((d=c=function(e){function t(){var e,r,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,c=Array(a),d=0;d<a;d++)c[d]=arguments[d];return r=n=T(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(c))),O(n,"demoControls",o,n),O(n,"resettingDemo",i,n),O(n,"popDemoControls",l,n),O(n,"closeDemoControls",s,n),O(n,"resetDemo",u,n),n.demoControlsModal=function(){var e=n.props.$authUser;return!!n.demoControls&&y.default.createElement(E.Modal,{show:!0,onHide:n.closeDemoControls},y.default.createElement(E.Modal.Header,{closeButton:!0},"Demo controls"),y.default.createElement(E.Modal.Body,null,y.default.createElement("p",null,y.default.createElement(k.ActionButton,{spinning:n.resettingDemo,label:"Reset demo game",onClick:n.resetDemo})),y.default.createElement("p",null,"Switch user:"),y.default.createElement("ul",null,e.switchableDemoUsers().map(function(t){return y.default.createElement("li",{key:t},y.default.createElement(w.default,{onClick:function(){return e.demoSwitch(t)}},t))}))),y.default.createElement(E.Modal.Footer,null,y.default.createElement(k.Footer,null,y.default.createElement(k.CancelButton,{onClick:n.closeDemoControls}))))},T(n,r)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,y.default.Component),h(t,[{key:"render",value:function(){var e=this.props,t=e.$sdb,r=e.$authUser,n=[],a=(0,m.default)(t.y
2ourTurnForGamePids).length>0,o=r.name||r.classroom_nickname;a&&(o=y.default.createElement("span",null,y.default.createElement(S.default,null)," ",o)),r.is_student&&(n=(0,p.default)((0,f.default)(t.sdb.games),function(e){return e.name.toLowerCase()}));var i={marginBottom:50},l=r.is_demo_user;return r.svea&&(i.backgroundColor="#f99"),r.moxi&&(i.backgroundColor="#9ff"),y.default.createElement("div",null,this.demoControlsModal(),y.default.createElement(E.Navbar,{style:i},y.default.createElement(E.Navbar.Header,null,y.default.createElement(E.Navbar.Brand,null,y.default.createElement(w.default,{href:"/",style:{marginTop:"-9px"},"data-p":"header_logo_home_link"},y.default.createElement("img",{style:{display:"inline"},src:_.default,srcSet:_.default+" 1x, "+C.default+" 2x",alt:"StoriumEDU",id:"t__header_logo_img"}))),y.default.createElement(E.Navbar.Toggle,null)),y.default.createElement(E.Navbar.Collapse,null,y.default.createElement(E.Nav,{pullRight:!0},r.pid&&y.default.createElement(E.NavItem,{componentClass:w.default,href:"/help"},"Help"),r.can_subscribe&&y.default.createElement(E.NavItem,{componentClass:w.default,href:"/subscribe"},"Become a Subscriber"),r.pid?y.default.createElement(E.NavDropdown,{title:o,id:"t__header_dropdown"},r.is_teacher&&y.default.createElement(E.MenuItem,{componentClass:w.default,href:"/user/"+r.slug},"Profile"),!!n.length&&n.map(function(e){return y.default.createElement(E.MenuItem,{key:e.gamePid,componentClass:w.default,href:"/game/"+e.slug},t.yourTurnForGamePids[e.pid]&&y.default.createElement(S.default,null),"â",e.name,"â")}),!!n.length&&y.default.createElement(E.MenuItem,{key:"end",divider:!0}),y.default.createElement(E.MenuItem,{componentClass:w.default,href:"/notifications"},"Notifications"),y.default.createElement(E.MenuItem,{componentClass:w.default,onClick:r.logout,id:"t__sign_out"},"Log out"),l&&y.default.createElement(E.MenuItem,{divider:!0}),l&&y.default.createElement(E.MenuItem,{componentClass:w.default,onClick:this.popDemoControls},"Demo controls")):y.default.createElement(E.NavItem,{href:"/login",componentClass:w.default},"Log in")))))}}]),t}(),c.propTypes={$authUser:g.default.object.isRequired,$sdb:g.default.object.isRequired,$v2Api:g.default.object.isRequired,$location:g.default.object.isRequired},o=j((a=d).prototype,"demoControls",[v.observable],{enumerable:!0,initializer:function(){return!1}}),i=j(a.prototype,"resettingDemo",[v.observable],{enumerable:!0,initializer:function(){return!1}}),l=j(a.prototype,"popDemoControls",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.demoControls=!0}}}),s=j(a.prototype,"closeDemoControls",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.demoControls=!1}}}),u=j(a.prototype,"resetDemo",[v.action],{enumerable:!0,initializer:function(){var e=this;return function(){e.resettingDemo=!0,e.props.$v2Api.commonCall("post","/reset_demo").then(function(){e.props.$location.reload()}).catch(function(){})}}}),n=a))||n)||n;t.default=x},,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a,o,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=w(r(1)),s=w(r(0)),u=w(r(978)),c=w(r(376)),d=r(9),f=r(11),p=w(r(834)),m=w(r(828)),h=w(r(827)),y=w(r(826)),g=w(r(825)),b=w(r(824)),v=r(375);function w(e){return e&&e.__esModule?e:{default:e}}var E=(0,d.inject)("$authUser","$notifications","$location","$performance","$tracking")(n=(0,d.observer)((o=a=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.state={hasError:!1},r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}
2(t,l.default.Component),i(t,[{key:"componentDidMount",value:function(){this.props.$notifications.setSystem(this.notificationSystemRef),this.props.$performance.record("layoutIndexDidMount")}},{key:"componentDidCatch",value:function(e,t){var r=this;this.setState({hasError:!0}),this.props.$location.callbackOnNextChange(function(){r.setState({hasError:!1})})}},{key:"render",value:function(){var e=this,t=void 0;if(t=!(window&&window.globalConfigFromServer&&window.globalConfigFromServer.MS_EDGE)&&l.default.createElement(v.Helmet,null,l.default.createElement("link",{rel:"icon",type:"image/x-icon",href:m.default}),l.default.createElement("link",{rel:"apple-touch-icon",href:b.default}),l.default.createElement("link",{rel:"apple-touch-icon",sizes:"120x120",href:h.default}),l.default.createElement("link",{rel:"apple-touch-icon",sizes:"152x152",href:y.default}),l.default.createElement("link",{rel:"apple-touch-icon",sizes:"167x167",href:g.default}),l.default.createElement("link",{rel:"apple-touch-icon",sizes:"180x180",href:b.default})),this.state.hasError)return l.default.createElement("div",{style:{margin:"0 auto",padding:"100px 50px 50px",textAlign:"center",maxWidth:"500px"}},t,l.default.createElement("h2",null,"Oops, something went wrong."),l.default.createElement("p",null,"There was a problem rendering this page. You might try reloading the page and trying again. If the problem persists, please have your teacher let us know at [email protected]. Our apologies!"));var r=this.props.$authUser;if(window.fby=window.fby||[],r.is_teacher&&!window.fbyDidLoad){var n=document.createElement("script");n.type="text/javascript",n.async=!0,n.src="//cdn.feedbackify.com/f.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a);var o="homeschooler"===r.signup_form_role||"parent"===r.signup_form_role?"14399":"14019";window.fby.push(["showTab",{id:o,position:"right",color:"#FFA500"}]),window.fbyDidLoad=!0}if(r.is_teacher){var i=document.createElement("script");i.type="text/javascript",i.async=!0,i.text="\n window['_fs_debug'] = false;\n window['_fs_host'] = 'fullstory.com';\n window['_fs_script'] = 'edge.fullstory.com/s/fs.js';\n window['_fs_org'] = 'NKZEY';\n window['_fs_namespace'] = 'FS';\n (function(m,n,e,t,l,o,g,y){\n if (e in m) {if(m.console && m.console.log) { m.console.log('FullStory namespace conflict. Please set window[\"_fs_namespace\"].');} return;}\n g=m[e]=function(a,b,s){g.q?g.q.push([a,b,s]):g._api(a,b,s);};g.q=[];\n o=n.createElement(t);o.async=1;o.crossOrigin='anonymous';o.src='https://'+_fs_script;\n y=n.getElementsByTagName(t)[0];y.parentNode.insertBefore(o,y);\n g.identify=function(i,v,s){g(l,{uid:i},s);if(v)g(l,v,s)};g.setUserVars=function(v,s){g(l,v,s)};g.event=function(i,v,s){g('event',{n:i,p:v},s)};\n g.anonymize=function(){g.identify(!!0)};\n g.shutdown=function(){g(\"rec\",!1)};g.restart=function(){g(\"rec\",!0)};\n g.log = function(a,b){g(\"log\",[a,b])};\n g.consent=function(a){g(\"consent\",!arguments.length||a)};\n g.identifyAccount=function(i,v){o='account';v=v||{};v.acctId=i;g(o,v)};\n g.clearUserCookie=function(){};\n g.setVars=function(n, p){g('setVars',[n,p]);};\n g._w={};y='XMLHttpRequest';g._w[y]=m[y];y='fetch';g._w[y]=m[y];\n if(m[y])m[y]=function(){return g._w[y].apply(this,arguments)};\n g._v=\"1.3.0\";\n })(window,document,window['_fs_namespace'],'script','user');\n ";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(i,s)}return l.default.createElement("div",null,t,l.default.createElement("div",{style:{display:"none"},id:"t__auth_user_slug"},this.props.$authUser.slug),l.default.createElement("div",{style:{display:"none"},id:"t__auth_user_name"},this.props.$authUser.name),l.default.createElement("div",{style:{display:"none"},id:"t__authed"},this.props.$authUser.pid?1:0),l.default.createElement(u.default,null),l.default.createElement(f.Grid,null,l.default.createElement(f.Row,null,l.default.createElement(f.Col,{xs:12},this.props.children))),l.default.createElement(c.default,null),l.default.createElement(p.default,{ref:function(t){e.notificationSystemRef=t},style:{Containers:{DefaultStyle:{width:320}},NotificationItem:{DefaultStyle:{margin:"10px 5px 2px 1px",borderRadius:"4px",fontSize:"16px",padding:"30px"},success:{border:"none",WebkitBoxShadow:"2px 2px 3px rgba(0,0,0,0.5)",MozBoxShadow:"2px 2px 3px rgba(0,0,0,0.5)",boxShadow:"2px 2px 3px rgba(0,0,0,0.5)",backgroundColor:"#ffdc55"},error:{border:"none"},warning:{border:"none"},info:{border:"none"}},Dismiss:{success:{color:"white",backgroundColor:"rgba(0,0,0,0.5)"}}}}))}}]),t}(),a.propTypes={$authUser:s.default.object.isRequired,$notifications:s.default.object.isRequired,$performance:s.default.object.isRequired,$tracking:s.default.object.isRequired,children:s.default.any.isRequired},n=o))||n)||n;t.default=E},function(e,t,r){"use strict";
2Object.defineProperty(t,"__esModule",{value:!0});var n=s(r(1)),a=r(9),o=s(r(983)),i=s(r(42)),l=s(r(376));function s(e){return e&&e.__esModule?e:{default:e}}t.default=(0,a.observer)(function(e){var t=e.rootStore,r=t.$router.route;return t.$authUser.isLoaded?n.default.createElement(a.Provider,t.providerProps,n.default.createElement(o.default,null,n.default.createElement(r.component))):n.default.createElement(a.Provider,t.providerProps,n.default.createElement("div",null,n.default.createElement(i.default,{timeout:2e3}),n.default.createElement(l.default,null)))})},,function(e,t,r){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";r(1199),r(997);var n=p(r(1)),a=p(r(21));r(986);var o=p(r(984)),i=p(r(809)),l=p(r(223)),s=f(r(10)),u=p(r(481)),c=f(r(480));r(479);var d=f(r(478));function f(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function p(e){return e&&e.__esModule?e:{default:e}}window.logger.log("environment is",Object({ENV_IS_PRODUCTION:!0,ENV_IS_DEVELOPMENT:!1,ENV_IS_CLIENT:!0,ENV_IS_NODE:!1,ENV_API_URL:""})),u.default.polyfill();var m=new i.default;window.g={},window.g.dummy=1,window.g.rootStore=m,window.g.Joi=l.default,window.g.mobx=s,s.autorun(function(){window.g.gsm=m.$gameplay.gsm}),window.g.JsonTokenize=c,window.globalConfigFromServer=window.globalConfigFromServer||{},window.Sentry=d,window.Sentry&&(window.stopInitialErrorTracking&&window.stopInitialErrorTracking(),window.Sentry.init({dsn:"https://[email protected]/1232319",environment:"production-2",release:globalConfigFromServer.SCOUT_REVISION_SHA})),window.g.getLodash=function(){var e=document.createElement("script");e.src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js",e.type="text/javascript",document.head.appendChild(e)};var h=["b",3,"f","a"].join("");window[h]?(m.thaw(c.rehydrate(window[h])),m.boot("ssrClientResume"),a.default.hydrate(n.default.createElement(o.default,{rootStore:m}),document.getElementById("appRoot"))):(m.boot("clientInit"),a.default.render(n.default.createElement(o.default,{rootStore:m}),document.getElementById("appRoot"))),window.demoSwitch=m.$authUser.demoSwitch}]); 3//# sourceMappingURL=client-bundle.ae8ee59f8cc8774b2d72.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.