diff --git a/README.md b/README.md index 682456cb7..6b8bc5879 100644 --- a/README.md +++ b/README.md @@ -93,11 +93,6 @@ docs can be edited by clicking the “Edit on GitHub” link at the top right. 💸 **Want to support the project financially?** We accept donations via [GitHub Sponsors][sponsors] and on [Open Collective][collective]. -[ -![Open Collective Sponsors](https://opencollective.com/boardgameio/tiers/sponsor.svg?width=600&button=false&avatarHeight=75) -![OpenCollective Backers](https://opencollective.com/boardgameio/tiers/backer.svg?width=600&avatarHeight=50) -][collective] - [new-issue]: https://github.com/boardgameio/boardgame.io/issues/new/choose [gitter]: https://gitter.im/boardgame-io/General [discussions]: https://github.com/boardgameio/boardgame.io/discussions diff --git a/docs/documentation/CHANGELOG.md b/docs/documentation/CHANGELOG.md index 0f57b5881..f2b4999d0 100644 --- a/docs/documentation/CHANGELOG.md +++ b/docs/documentation/CHANGELOG.md @@ -1,3 +1,27 @@ +### v0.46.1 + +#### Bugfixes + +* [[f0bc8b9](https://github.com/boardgameio/boardgame.io/commit/f0bc8b9)] flow: Run `turn.endIf` hook after updating stages + +## v0.46.0 + +#### Features + +* [[91cf25e](https://github.com/boardgameio/boardgame.io/commit/91cf25e)] Events Plugin: Don’t leak stage events across turns & allow self-ending turns/phases ([#957](https://github.com/boardgameio/boardgame.io/pull/957)) +* [[afee0b7](https://github.com/boardgameio/boardgame.io/commit/afee0b7), [1e435c2](https://github.com/boardgameio/boardgame.io/commit/1e435c2), [1078b13](https://github.com/boardgameio/boardgame.io/commit/1078b13)] Allow plugins to declare an action invalid ([#963](https://github.com/boardgameio/boardgame.io/pull/963), [#970](https://github.com/boardgameio/boardgame.io/pull/970)) +* [[262d867](https://github.com/boardgameio/boardgame.io/commit/262d867)] Server: Decouple player view calculation from Master ([#966](https://github.com/boardgameio/boardgame.io/pull/966)) + +#### Bugfixes + +* [[dcaca7f](https://github.com/boardgameio/boardgame.io/commit/dcaca7f)] types: Remove `turn.moves` from `Game` type +* [[b753094](https://github.com/boardgameio/boardgame.io/commit/b753094), [2aa9db5](https://github.com/boardgameio/boardgame.io/commit/2aa9db5)] Update dependencies ([#965](https://github.com/boardgameio/boardgame.io/pull/965), [#968](https://github.com/boardgameio/boardgame.io/pull/968)) + +#### Other + +* [[be63602](https://github.com/boardgameio/boardgame.io/commit/be63602)] Update development dependencies ([#969](https://github.com/boardgameio/boardgame.io/pull/969)) +* [[4efec1a](https://github.com/boardgameio/boardgame.io/commit/4efec1a)] Update linter tooling & refactor errors ([#967](https://github.com/boardgameio/boardgame.io/pull/967)) + ### v0.45.2 #### Bugfixes diff --git a/docs/documentation/index.html b/docs/documentation/index.html index c5108912b..bb5cf06d1 100644 --- a/docs/documentation/index.html +++ b/docs/documentation/index.html @@ -45,7 +45,7 @@ @media only screen and (max-device-width: 500px) { iframe.react { - display: none; + max-height: 60vh; } } diff --git a/docs/documentation/snippets/example-1.46f74a00.js b/docs/documentation/snippets/example-1.46f74a00.js new file mode 100644 index 000000000..f2e42842c --- /dev/null +++ b/docs/documentation/snippets/example-1.46f74a00.js @@ -0,0 +1,179 @@ +parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;cP.length&&P.push(e)}function A(e,r,o,u){var f=typeof e;"undefined"!==f&&"boolean"!==f||(e=null);var c=!1;if(null===e)c=!0;else switch(f){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case t:case n:c=!0}}if(c)return o(u,e,""===r?"."+U(e,0):r),1;if(c=0,r=""===r?".":r+":",Array.isArray(e))for(var l=0;l=y},o=function(){},exports.unstable_forceFrameRate=function(e){0>e||125>>1,o=e[r];if(!(void 0!==o&&0P(l,t))void 0!==u&&0>P(u,l)?(e[r]=u,e[i]=t,r=i):(e[r]=l,e[a]=t,r=a);else{if(!(void 0!==u&&0>P(u,t)))break e;e[r]=u,e[i]=t,r=i}}}return n}return null}function P(e,n){var t=e.sortIndex-n.sortIndex;return 0!==t?t:e.id-n.id}var F=[],I=[],M=1,C=null,A=3,L=!1,q=!1,D=!1;function R(e){for(var n=T(I);null!==n;){if(null===n.callback)g(I);else{if(!(n.startTime<=e))break;g(I),n.sortIndex=n.expirationTime,k(F,n)}n=T(I)}}function j(t){if(D=!1,R(t),!q)if(null!==T(F))q=!0,e(E);else{var r=T(I);null!==r&&n(j,r.startTime-t)}}function E(e,o){q=!1,D&&(D=!1,t()),L=!0;var a=A;try{for(R(o),C=T(F);null!==C&&(!(C.expirationTime>o)||e&&!r());){var l=C.callback;if(null!==l){C.callback=null,A=C.priorityLevel;var i=l(C.expirationTime<=o);o=exports.unstable_now(),"function"==typeof i?C.callback=i:C===T(F)&&g(F),R(o)}else g(F);C=T(F)}if(null!==C)var u=!0;else{var s=T(I);null!==s&&n(j,s.startTime-o),u=!1}return u}finally{C=null,A=a,L=!1}}function N(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var B=o;exports.unstable_IdlePriority=5,exports.unstable_ImmediatePriority=1,exports.unstable_LowPriority=4,exports.unstable_NormalPriority=3,exports.unstable_Profiling=null,exports.unstable_UserBlockingPriority=2,exports.unstable_cancelCallback=function(e){e.callback=null},exports.unstable_continueExecution=function(){q||L||(q=!0,e(E))},exports.unstable_getCurrentPriorityLevel=function(){return A},exports.unstable_getFirstCallbackNode=function(){return T(F)},exports.unstable_next=function(e){switch(A){case 1:case 2:case 3:var n=3;break;default:n=A}var t=A;A=n;try{return e()}finally{A=t}},exports.unstable_pauseExecution=function(){},exports.unstable_requestPaint=B,exports.unstable_runWithPriority=function(e,n){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var t=A;A=e;try{return n()}finally{A=t}},exports.unstable_scheduleCallback=function(r,o,a){var l=exports.unstable_now();if("object"==typeof a&&null!==a){var i=a.delay;i="number"==typeof i&&0l?(r.sortIndex=i,k(I,r),null===T(F)&&r===T(I)&&(D?t():D=!0,n(j,i-l))):(r.sortIndex=a,k(F,r),q||L||(q=!0,e(E))),r},exports.unstable_shouldYield=function(){var e=exports.unstable_now();R(e);var n=T(F);return n!==C&&null!==C&&null!==n&&null!==n.callback&&n.startTime<=e&&n.expirationTimet}return!1}function $(e,t,n,r,l,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i}var q={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){q[e]=new $(e,0,!1,e,null,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];q[t]=new $(t,1,!1,e[1],null,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){q[e]=new $(e,2,!1,e.toLowerCase(),null,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){q[e]=new $(e,2,!1,e,null,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){q[e]=new $(e,3,!1,e.toLowerCase(),null,!1)}),["checked","multiple","muted","selected"].forEach(function(e){q[e]=new $(e,3,!0,e,null,!1)}),["capture","download"].forEach(function(e){q[e]=new $(e,4,!1,e,null,!1)}),["cols","rows","size","span"].forEach(function(e){q[e]=new $(e,6,!1,e,null,!1)}),["rowSpan","start"].forEach(function(e){q[e]=new $(e,5,!1,e.toLowerCase(),null,!1)});var Y=/[\-:]([a-z])/g;function X(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Y,X);q[t]=new $(t,1,!1,e,null,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Y,X);q[t]=new $(t,1,!1,e,"http://www.w3.org/1999/xlink",!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Y,X);q[t]=new $(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1)}),["tabIndex","crossOrigin"].forEach(function(e){q[e]=new $(e,1,!1,e.toLowerCase(),null,!1)}),q.xlinkHref=new $("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0),["src","href","action","formAction"].forEach(function(e){q[e]=new $(e,1,!1,e.toLowerCase(),null,!0)});var G=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function Z(e,t,n,r){var l=q.hasOwnProperty(t)?q[t]:null;(null!==l?0===l.type:!r&&(2=n.length))throw Error(r(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:we(n)}}function De(e,t){var n=we(t.value),r=we(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function Le(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var Ue={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function Ae(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Ve(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Ae(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var Qe,We=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,l){MSApp.execUnsafeLocalFunction(function(){return e(t,n)})}:e}(function(e,t){if(e.namespaceURI!==Ue.svg||"innerHTML"in e)e.innerHTML=t;else{for((Qe=Qe||document.createElement("div")).innerHTML=""+t.valueOf().toString()+"",t=Qe.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function He(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function je(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Be={animationend:je("Animation","AnimationEnd"),animationiteration:je("Animation","AnimationIteration"),animationstart:je("Animation","AnimationStart"),transitionend:je("Transition","TransitionEnd")},Ke={},$e={};function qe(e){if(Ke[e])return Ke[e];if(!Be[e])return e;var t,n=Be[e];for(t in n)if(n.hasOwnProperty(t)&&t in $e)return Ke[e]=n[t];return e}S&&($e=document.createElement("div").style,"AnimationEvent"in window||(delete Be.animationend.animation,delete Be.animationiteration.animation,delete Be.animationstart.animation),"TransitionEvent"in window||delete Be.transitionend.transition);var Ye=qe("animationend"),Xe=qe("animationiteration"),Ge=qe("animationstart"),Ze=qe("transitionend"),Je="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),et=new("function"==typeof WeakMap?WeakMap:Map);function tt(e){var t=et.get(e);return void 0===t&&(t=new Map,et.set(e,t)),t}function nt(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).effectTag)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function rt(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function lt(e){if(nt(e)!==e)throw Error(r(188))}function it(e){var t=e.alternate;if(!t){if(null===(t=nt(e)))throw Error(r(188));return t!==e?null:e}for(var n=e,l=t;;){var i=n.return;if(null===i)break;var a=i.alternate;if(null===a){if(null!==(l=i.return)){n=l;continue}break}if(i.child===a.child){for(a=i.child;a;){if(a===n)return lt(i),e;if(a===l)return lt(i),t;a=a.sibling}throw Error(r(188))}if(n.return!==l.return)n=i,l=a;else{for(var o=!1,u=i.child;u;){if(u===n){o=!0,n=i,l=a;break}if(u===l){o=!0,l=i,n=a;break}u=u.sibling}if(!o){for(u=a.child;u;){if(u===n){o=!0,n=a,l=i;break}if(u===l){o=!0,l=a,n=i;break}u=u.sibling}if(!o)throw Error(r(189))}}if(n.alternate!==l)throw Error(r(190))}if(3!==n.tag)throw Error(r(188));return n.stateNode.current===n?e:t}function at(e){if(!(e=it(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function ot(e,t){if(null==t)throw Error(r(30));return null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function ut(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var ct=null;function st(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))for(var r=0;rmt.length&&mt.push(e)}function gt(e,t,n,r){if(mt.length){var l=mt.pop();return l.topLevelType=e,l.eventSystemFlags=r,l.nativeEvent=t,l.targetInst=n,l}return{topLevelType:e,eventSystemFlags:r,nativeEvent:t,targetInst:n,ancestors:[]}}function vt(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);break}var r=n;if(3===r.tag)r=r.stateNode.containerInfo;else{for(;r.return;)r=r.return;r=3!==r.tag?null:r.stateNode.containerInfo}if(!r)break;5!==(t=n.tag)&&6!==t||e.ancestors.push(n),n=Un(r)}while(n);for(n=0;n=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=vn(r)}}function bn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?bn(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function wn(){for(var e=window,t=gn();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=gn((e=t.contentWindow).document)}return t}function kn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var xn="$",Tn="/$",En="$?",Sn="$!",Cn=null,Pn=null;function _n(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function Nn(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var zn="function"==typeof setTimeout?setTimeout:void 0,Mn="function"==typeof clearTimeout?clearTimeout:void 0;function In(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function Fn(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if(n===xn||n===Sn||n===En){if(0===t)return e;t--}else n===Tn&&t++}e=e.previousSibling}return null}var On=Math.random().toString(36).slice(2),Rn="__reactInternalInstance$"+On,Dn="__reactEventHandlers$"+On,Ln="__reactContainere$"+On;function Un(e){var t=e[Rn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Ln]||n[Rn]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=Fn(e);null!==e;){if(n=e[Rn])return n;e=Fn(e)}return t}n=(e=n).parentNode}return null}function An(e){return!(e=e[Rn]||e[Ln])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Vn(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(r(33))}function Qn(e){return e[Dn]||null}function Wn(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function Hn(e,t){var n=e.stateNode;if(!n)return null;var l=d(n);if(!l)return null;n=l[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(l=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!l;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(r(231,t,typeof n));return n}function jn(e,t,n){(t=Hn(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=ot(n._dispatchListeners,t),n._dispatchInstances=ot(n._dispatchInstances,e))}function Bn(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,n=[];t;)n.push(t),t=Wn(t);for(t=n.length;0this.eventPool.length&&this.eventPool.push(e)}function lr(e){e.eventPool=[],e.getPooled=nr,e.release=rr}t(tr.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Jn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Jn)},persist:function(){this.isPersistent=Jn},isPersistent:er,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=er,this._dispatchInstances=this._dispatchListeners=null}}),tr.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},tr.extend=function(e){function n(){}function r(){return l.apply(this,arguments)}var l=this;n.prototype=l.prototype;var i=new n;return t(i,r.prototype),r.prototype=i,r.prototype.constructor=r,r.Interface=t({},l.Interface,e),r.extend=l.extend,lr(r),r},lr(tr);var ir=tr.extend({data:null}),ar=tr.extend({data:null}),or=[9,13,27,32],ur=S&&"CompositionEvent"in window,cr=null;S&&"documentMode"in document&&(cr=document.documentMode);var sr=S&&"TextEvent"in window&&!cr,fr=S&&(!ur||cr&&8=cr),dr=String.fromCharCode(32),pr={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},mr=!1;function hr(e,t){switch(e){case"keyup":return-1!==or.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function gr(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var vr=!1;function yr(e,t){switch(e){case"compositionend":return gr(t);case"keypress":return 32!==t.which?null:(mr=!0,dr);case"textInput":return(e=t.data)===dr&&mr?null:e;default:return null}}function br(e,t){if(vr)return"compositionend"===e||!ur&&hr(e,t)?(e=Zn(),Gn=Xn=Yn=null,vr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=document.documentMode,tl={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},nl=null,rl=null,ll=null,il=!1;function al(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;return il||null==nl||nl!==gn(n)?null:("selectionStart"in(n=nl)&&kn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},ll&&Jr(ll,n)?null:(ll=n,(e=tr.getPooled(tl.select,rl,e,t)).type="select",e.target=nl,qn(e),e))}var ol={eventTypes:tl,extractEvents:function(e,t,n,r,l,i){if(!(i=!(l=i||(r.window===r?r.document:9===r.nodeType?r:r.ownerDocument)))){e:{l=tt(l),i=T.onSelect;for(var a=0;axl||(e.current=kl[xl],kl[xl]=null,xl--)}function El(e,t){kl[++xl]=e.current,e.current=t}var Sl={},Cl={current:Sl},Pl={current:!1},_l=Sl;function Nl(e,t){var n=e.type.contextTypes;if(!n)return Sl;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l,i={};for(l in n)i[l]=t[l];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function zl(e){return null!=(e=e.childContextTypes)}function Ml(){Tl(Pl),Tl(Cl)}function Il(e,t,n){if(Cl.current!==Sl)throw Error(r(168));El(Cl,t),El(Pl,n)}function Fl(e,n,l){var i=e.stateNode;if(e=n.childContextTypes,"function"!=typeof i.getChildContext)return l;for(var a in i=i.getChildContext())if(!(a in e))throw Error(r(108,ye(n)||"Unknown",a));return t({},l,{},i)}function Ol(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Sl,_l=Cl.current,El(Cl,e),El(Pl,Pl.current),!0}function Rl(e,t,n){var l=e.stateNode;if(!l)throw Error(r(169));n?(e=Fl(e,t,_l),l.__reactInternalMemoizedMergedChildContext=e,Tl(Pl),Tl(Cl),El(Cl,e)):Tl(Pl),El(Pl,n)}var Dl=n.unstable_runWithPriority,Ll=n.unstable_scheduleCallback,Ul=n.unstable_cancelCallback,Al=n.unstable_requestPaint,Vl=n.unstable_now,Ql=n.unstable_getCurrentPriorityLevel,Wl=n.unstable_ImmediatePriority,Hl=n.unstable_UserBlockingPriority,jl=n.unstable_NormalPriority,Bl=n.unstable_LowPriority,Kl=n.unstable_IdlePriority,$l={},ql=n.unstable_shouldYield,Yl=void 0!==Al?Al:function(){},Xl=null,Gl=null,Zl=!1,Jl=Vl(),ei=1e4>Jl?Vl:function(){return Vl()-Jl};function ti(){switch(Ql()){case Wl:return 99;case Hl:return 98;case jl:return 97;case Bl:return 96;case Kl:return 95;default:throw Error(r(332))}}function ni(e){switch(e){case 99:return Wl;case 98:return Hl;case 97:return jl;case 96:return Bl;case 95:return Kl;default:throw Error(r(332))}}function ri(e,t){return e=ni(e),Dl(e,t)}function li(e,t,n){return e=ni(e),Ll(e,t,n)}function ii(e){return null===Xl?(Xl=[e],Gl=Ll(Wl,oi)):Xl.push(e),$l}function ai(){if(null!==Gl){var e=Gl;Gl=null,Ul(e)}oi()}function oi(){if(!Zl&&null!==Xl){Zl=!0;var e=0;try{var t=Xl;ri(99,function(){for(;e=t&&(ja=!0),e.firstContext=null)}function yi(e,t){if(pi!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(pi=e,t=1073741823),t={context:e,observedBits:t,next:null},null===di){if(null===fi)throw Error(r(308));di=t,fi.dependencies={expirationTime:0,firstContext:t,responders:null}}else di=di.next=t;return e._currentValue}var bi=!1;function wi(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}function ki(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,baseQueue:e.baseQueue,shared:e.shared,effects:e.effects})}function xi(e,t){return(e={expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null}).next=e}function Ti(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function Ei(e,t){var n=e.alternate;null!==n&&ki(n,e),null===(n=(e=e.updateQueue).baseQueue)?(e.baseQueue=t.next=t,t.next=t):(t.next=n.next,n.next=t)}function Si(e,n,r,l){var i=e.updateQueue;bi=!1;var a=i.baseQueue,o=i.shared.pending;if(null!==o){if(null!==a){var u=a.next;a.next=o.next,o.next=u}a=o,i.shared.pending=null,null!==(u=e.alternate)&&(null!==(u=u.updateQueue)&&(u.baseQueue=o))}if(null!==a){u=a.next;var c=i.baseState,s=0,f=null,d=null,p=null;if(null!==u)for(var m=u;;){if((o=m.expirationTime)s&&(s=o)}else{null!==p&&(p=p.next={expirationTime:1073741823,suspenseConfig:m.suspenseConfig,tag:m.tag,payload:m.payload,callback:m.callback,next:null}),Fu(o,m.suspenseConfig);e:{var g=e,v=m;switch(o=n,h=r,v.tag){case 1:if("function"==typeof(g=v.payload)){c=g.call(h,c,o);break e}c=g;break e;case 3:g.effectTag=-4097&g.effectTag|64;case 0:if(null==(o="function"==typeof(g=v.payload)?g.call(h,c,o):g))break e;c=t({},c,o);break e;case 2:bi=!0}}null!==m.callback&&(e.effectTag|=32,null===(o=i.effects)?i.effects=[m]:o.push(m))}if(null===(m=m.next)||m===u){if(null===(o=i.shared.pending))break;m=a.next=o.next,o.next=u,i.baseQueue=a=o,i.shared.pending=null}}null===p?f=c:p.next=d,i.baseState=f,i.baseQueue=p,Ou(s),e.expirationTime=s,e.memoizedState=c}}function Ci(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;th?(g=f,f=null):g=f.sibling;var v=p(r,f,o[h],u);if(null===v){null===f&&(f=g);break}e&&f&&null===v.alternate&&t(r,f),i=a(v,i,h),null===s?c=v:s.sibling=v,s=v,f=g}if(h===o.length)return n(r,f),c;if(null===f){for(;hg?(v=h,h=null):v=h.sibling;var b=p(i,h,y.value,c);if(null===b){null===h&&(h=v);break}e&&h&&null===b.alternate&&t(i,h),o=a(b,o,g),null===f?s=b:f.sibling=b,f=b,h=v}if(y.done)return n(i,h),s;if(null===h){for(;!y.done;g++,y=u.next())null!==(y=d(i,y.value,c))&&(o=a(y,o,g),null===f?s=y:f.sibling=y,f=y);return s}for(h=l(i,h);!y.done;g++,y=u.next())null!==(y=m(h,i,g,y.value,c))&&(e&&null!==y.alternate&&h.delete(null===y.key?g:y.key),o=a(y,o,g),null===f?s=y:f.sibling=y,f=y);return e&&h.forEach(function(e){return t(i,e)}),s}return function(e,l,a,u){var c="object"==typeof a&&null!==a&&a.type===re&&null===a.key;c&&(a=a.props.children);var s="object"==typeof a&&null!==a;if(s)switch(a.$$typeof){case te:e:{for(s=a.key,c=l;null!==c;){if(c.key===s){switch(c.tag){case 7:if(a.type===re){n(e,c.sibling),(l=i(c,a.props.children)).return=e,e=l;break e}break;default:if(c.elementType===a.type){n(e,c.sibling),(l=i(c,a.props)).ref=Di(e,c,a),l.return=e,e=l;break e}}n(e,c);break}t(e,c),c=c.sibling}a.type===re?((l=lc(a.props.children,e.mode,u,a.key)).return=e,e=l):((u=rc(a.type,a.key,a.props,null,e.mode,u)).ref=Di(e,l,a),u.return=e,e=u)}return o(e);case ne:e:{for(c=a.key;null!==l;){if(l.key===c){if(4===l.tag&&l.stateNode.containerInfo===a.containerInfo&&l.stateNode.implementation===a.implementation){n(e,l.sibling),(l=i(l,a.children||[])).return=e,e=l;break e}n(e,l);break}t(e,l),l=l.sibling}(l=ac(a,e.mode,u)).return=e,e=l}return o(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==l&&6===l.tag?(n(e,l.sibling),(l=i(l,a)).return=e,e=l):(n(e,l),(l=ic(a,e.mode,u)).return=e,e=l),o(e);if(Ri(a))return h(e,l,a,u);if(ge(a))return g(e,l,a,u);if(s&&Li(e,a),void 0===a&&!c)switch(e.tag){case 1:case 0:throw e=e.type,Error(r(152,e.displayName||e.name||"Component"))}return n(e,l)}}var Ai=Ui(!0),Vi=Ui(!1),Qi={},Wi={current:Qi},Hi={current:Qi},ji={current:Qi};function Bi(e){if(e===Qi)throw Error(r(174));return e}function Ki(e,t){switch(El(ji,t),El(Hi,e),El(Wi,Qi),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ve(null,"");break;default:t=Ve(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Tl(Wi),El(Wi,t)}function $i(){Tl(Wi),Tl(Hi),Tl(ji)}function qi(e){Bi(ji.current);var t=Bi(Wi.current),n=Ve(t,e.type);t!==n&&(El(Hi,e),El(Wi,n))}function Yi(e){Hi.current===e&&(Tl(Wi),Tl(Hi))}var Xi={current:0};function Gi(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||n.data===En||n.data===Sn))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.effectTag))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Zi(e,t){return{responder:e,props:t}}var Ji=G.ReactCurrentDispatcher,ea=G.ReactCurrentBatchConfig,ta=0,na=null,ra=null,la=null,ia=!1;function aa(){throw Error(r(321))}function oa(e,t){if(null===t)return!1;for(var n=0;na))throw Error(r(301));a+=1,la=ra=null,t.updateQueue=null,Ji.current=Fa,e=n(l,i)}while(t.expirationTime===ta)}if(Ji.current=za,t=null!==ra&&null!==ra.next,ta=0,la=ra=na=null,ia=!1,t)throw Error(r(300));return e}function ca(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===la?na.memoizedState=la=e:la=la.next=e,la}function sa(){if(null===ra){var e=na.alternate;e=null!==e?e.memoizedState:null}else e=ra.next;var t=null===la?na.memoizedState:la.next;if(null!==t)la=t,ra=e;else{if(null===e)throw Error(r(310));e={memoizedState:(ra=e).memoizedState,baseState:ra.baseState,baseQueue:ra.baseQueue,queue:ra.queue,next:null},null===la?na.memoizedState=la=e:la=la.next=e}return la}function fa(e,t){return"function"==typeof t?t(e):t}function da(e){var t=sa(),n=t.queue;if(null===n)throw Error(r(311));n.lastRenderedReducer=e;var l=ra,i=l.baseQueue,a=n.pending;if(null!==a){if(null!==i){var o=i.next;i.next=a.next,a.next=o}l.baseQueue=i=a,n.pending=null}if(null!==i){i=i.next,l=l.baseState;var u=o=a=null,c=i;do{var s=c.expirationTime;if(sna.expirationTime&&(na.expirationTime=s,Ou(s))}else null!==u&&(u=u.next={expirationTime:1073741823,suspenseConfig:c.suspenseConfig,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null}),Fu(s,c.suspenseConfig),l=c.eagerReducer===e?c.eagerState:e(l,c.action);c=c.next}while(null!==c&&c!==i);null===u?a=l:u.next=o,Gr(l,t.memoizedState)||(ja=!0),t.memoizedState=l,t.baseState=a,t.baseQueue=u,n.lastRenderedState=l}return[t.memoizedState,n.dispatch]}function pa(e){var t=sa(),n=t.queue;if(null===n)throw Error(r(311));n.lastRenderedReducer=e;var l=n.dispatch,i=n.pending,a=t.memoizedState;if(null!==i){n.pending=null;var o=i=i.next;do{a=e(a,o.action),o=o.next}while(o!==i);Gr(a,t.memoizedState)||(ja=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),n.lastRenderedState=a}return[a,l]}function ma(e){var t=ca();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:fa,lastRenderedState:e}).dispatch=Na.bind(null,na,e),[t.memoizedState,e]}function ha(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=na.updateQueue)?(t={lastEffect:null},na.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function ga(){return sa().memoizedState}function va(e,t,n,r){var l=ca();na.effectTag|=e,l.memoizedState=ha(1|t,n,void 0,void 0===r?null:r)}function ya(e,t,n,r){var l=sa();r=void 0===r?null:r;var i=void 0;if(null!==ra){var a=ra.memoizedState;if(i=a.destroy,null!==r&&oa(r,a.deps))return void ha(t,n,i,r)}na.effectTag|=e,l.memoizedState=ha(1|t,n,i,r)}function ba(e,t){return va(516,4,e,t)}function wa(e,t){return ya(516,4,e,t)}function ka(e,t){return ya(4,2,e,t)}function xa(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Ta(e,t,n){return n=null!=n?n.concat([e]):null,ya(4,2,xa.bind(null,t,e),n)}function Ea(){}function Sa(e,t){return ca().memoizedState=[e,void 0===t?null:t],e}function Ca(e,t){var n=sa();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&oa(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Pa(e,t){var n=sa();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&oa(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function _a(e,t,n){var r=ti();ri(98>r?98:r,function(){e(!0)}),ri(97<\/script>",e=e.removeChild(e.firstChild)):"string"==typeof i.is?e=u.createElement(a,{is:i.is}):(e=u.createElement(a),"select"===a&&(u=e,i.multiple?u.multiple=!0:i.size&&(u.size=i.size))):e=u.createElementNS(e,a),e[Rn]=n,e[Dn]=i,eo(e,n,!1,!1),n.stateNode=e,u=dn(a,i),a){case"iframe":case"object":case"embed":Jt("load",e),c=i;break;case"video":case"audio":for(c=0;ci.tailExpiration&&1t)&&hu.set(e,t))}}function xu(e,t){e.expirationTime=(e=n>(e=e.nextKnownPendingLevel)?n:e)&&t!==e?0:e}function Eu(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=ii(Cu.bind(null,e));else{var t=Tu(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var r=bu();if(1073741823===t?r=99:1===t||2===t?r=95:r=0>=(r=10*(1073741821-t)-10*(1073741821-r))?99:250>=r?98:5250>=r?97:95,null!==n){var l=e.callbackPriority;if(e.callbackExpirationTime===t&&l>=r)return;n!==$l&&Ul(n)}e.callbackExpirationTime=t,e.callbackPriority=r,t=1073741823===t?ii(Cu.bind(null,e)):li(r,Su.bind(null,e),{timeout:10*(1073741821-t)-ei()}),e.callbackNode=t}}}function Su(e,t){if(yu=0,t)return fc(e,t=bu()),Eu(e),null;var n=Tu(e);if(0!==n){if(t=e.callbackNode,(Yo&(Qo|Wo))!==Ao)throw Error(r(327));if(Hu(),e===Xo&&n===Zo||zu(e,n),null!==Go){var l=Yo;Yo|=Qo;for(var i=Iu();;)try{Du();break}catch(u){Mu(e,u)}if(mi(),Yo=l,Lo.current=i,Jo===jo)throw t=eu,zu(e,n),cc(e,n),Eu(e),t;if(null===Go)switch(i=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,l=Jo,Xo=null,l){case Ho:case jo:throw Error(r(345));case Bo:fc(e,2=n){e.lastPingedTime=n,zu(e,n);break}}if(0!==(a=Tu(e))&&a!==n)break;if(0!==l&&l!==n){e.lastPingedTime=l;break}e.timeoutHandle=zn(Vu.bind(null,e),i);break}Vu(e);break;case $o:if(cc(e,n),n===(l=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=Au(i)),iu&&(0===(i=e.lastPingedTime)||i>=n)){e.lastPingedTime=n,zu(e,n);break}if(0!==(i=Tu(e))&&i!==n)break;if(0!==l&&l!==n){e.lastPingedTime=l;break}if(1073741823!==nu?l=10*(1073741821-nu)-ei():1073741823===tu?l=0:(l=10*(1073741821-tu)-5e3,0>(l=(i=ei())-l)&&(l=0),(n=10*(1073741821-n)-i)<(l=(120>l?120:480>l?480:1080>l?1080:1920>l?1920:3e3>l?3e3:4320>l?4320:1960*Do(l/1960))-l)&&(l=n)),10=(l=0|o.busyMinDurationMs)?l=0:(i=0|o.busyDelayMs,l=(a=ei()-(10*(1073741821-a)-(0|o.timeoutMs||5e3)))<=i?0:i+l-a),10 component higher in the tree to provide a loading indicator or placeholder to display."+be(a))}Jo!==qo&&(Jo=Bo),o=mo(o,a),f=i;do{switch(f.tag){case 3:u=o,f.effectTag|=4096,f.expirationTime=t,Ei(f,Fo(f,u,t));break e;case 1:u=o;var w=f.type,k=f.stateNode;if(0==(64&f.effectTag)&&("function"==typeof w.getDerivedStateFromError||null!==k&&"function"==typeof k.componentDidCatch&&(null===fu||!fu.has(k)))){f.effectTag|=4096,f.expirationTime=t,Ei(f,Oo(f,u,t));break e}}f=f.return}while(null!==f)}Go=Uu(Go)}catch(x){t=x;continue}break}}function Iu(){var e=Lo.current;return Lo.current=za,null===e?za:e}function Fu(e,t){elu&&(lu=e)}function Ru(){for(;null!==Go;)Go=Lu(Go)}function Du(){for(;null!==Go&&!ql();)Go=Lu(Go)}function Lu(e){var t=Ro(e.alternate,e,Zo);return e.memoizedProps=e.pendingProps,null===t&&(t=Uu(e)),Uo.current=null,t}function Uu(e){Go=e;do{var t=Go.alternate;if(e=Go.return,0==(2048&Go.effectTag)){if(t=fo(t,Go,Zo),1===Zo||1!==Go.childExpirationTime){for(var n=0,r=Go.child;null!==r;){var l=r.expirationTime,i=r.childExpirationTime;l>n&&(n=l),i>n&&(n=i),r=r.sibling}Go.childExpirationTime=n}if(null!==t)return t;null!==e&&0==(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=Go.firstEffect),null!==Go.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=Go.firstEffect),e.lastEffect=Go.lastEffect),1(e=e.childExpirationTime)?t:e}function Vu(e){var t=ti();return ri(99,Qu.bind(null,e,t)),null}function Qu(e,t){do{Hu()}while(null!==pu);if((Yo&(Qo|Wo))!==Ao)throw Error(r(327));var n=e.finishedWork,l=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(r(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var i=Au(n);if(e.firstPendingTime=i,l<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:l<=e.firstSuspendedTime&&(e.firstSuspendedTime=l-1),l<=e.lastPingedTime&&(e.lastPingedTime=0),l<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===Xo&&(Go=Xo=null,Zo=0),1u&&(s=u,u=o,o=s),s=yn(w,o),f=yn(w,u),s&&f&&(1!==x.rangeCount||x.anchorNode!==s.node||x.anchorOffset!==s.offset||x.focusNode!==f.node||x.focusOffset!==f.offset)&&((k=k.createRange()).setStart(s.node,s.offset),x.removeAllRanges(),o>u?(x.addRange(k),x.extend(f.node,f.offset)):(k.setEnd(f.node,f.offset),x.addRange(k))))),k=[];for(x=w;x=x.parentNode;)1===x.nodeType&&k.push({element:x,left:x.scrollLeft,top:x.scrollTop});for("function"==typeof w.focus&&w.focus(),w=0;w=n?io(e,t,n):(El(Xi,1&Xi.current),null!==(t=co(e,t,n))?t.sibling:null);El(Xi,1&Xi.current);break;case 19:if(l=t.childExpirationTime>=n,0!=(64&e.effectTag)){if(l)return uo(e,t,n);t.effectTag|=64}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null),El(Xi,Xi.current),!l)return null}return co(e,t,n)}ja=!1}}else ja=!1;switch(t.expirationTime=0,t.tag){case 2:if(l=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,i=Nl(t,Cl.current),vi(t,n),i=ua(null,t,l,e,i,n),t.effectTag|=1,"object"==typeof i&&null!==i&&"function"==typeof i.render&&void 0===i.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,zl(l)){var a=!0;Ol(t)}else a=!1;t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,wi(t);var o=l.getDerivedStateFromProps;"function"==typeof o&&Ni(t,l,o,e),i.updater=zi,t.stateNode=i,i._reactInternalFiber=t,Oi(t,l,e,n),t=Za(null,t,l,!0,a,n)}else t.tag=0,Ba(null,t,i,n),t=t.child;return t;case 16:e:{if(i=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,ve(i),1!==i._status)throw i._result;switch(i=i._result,t.type=i,a=t.tag=tc(i),e=ci(i,e),a){case 0:t=Xa(null,t,i,e,n);break e;case 1:t=Ga(null,t,i,e,n);break e;case 11:t=Ka(null,t,i,e,n);break e;case 14:t=$a(null,t,i,ci(i.type,e),l,n);break e}throw Error(r(306,i,""))}return t;case 0:return l=t.type,i=t.pendingProps,Xa(e,t,l,i=t.elementType===l?i:ci(l,i),n);case 1:return l=t.type,i=t.pendingProps,Ga(e,t,l,i=t.elementType===l?i:ci(l,i),n);case 3:if(Ja(t),l=t.updateQueue,null===e||null===l)throw Error(r(282));if(l=t.pendingProps,i=null!==(i=t.memoizedState)?i.element:null,ki(e,t),Si(t,l,null,n),(l=t.memoizedState.element)===i)Wa(),t=co(e,t,n);else{if((i=t.stateNode.hydrate)&&(Ra=In(t.stateNode.containerInfo.firstChild),Oa=t,i=Da=!0),i)for(n=Vi(t,null,l,n),t.child=n;n;)n.effectTag=-3&n.effectTag|1024,n=n.sibling;else Ba(e,t,l,n),Wa();t=t.child}return t;case 5:return qi(t),null===e&&Aa(t),l=t.type,i=t.pendingProps,a=null!==e?e.memoizedProps:null,o=i.children,Nn(l,i)?o=null:null!==a&&Nn(l,a)&&(t.effectTag|=16),Ya(e,t),4&t.mode&&1!==n&&i.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(Ba(e,t,o,n),t=t.child),t;case 6:return null===e&&Aa(t),null;case 13:return io(e,t,n);case 4:return Ki(t,t.stateNode.containerInfo),l=t.pendingProps,null===e?t.child=Ai(t,null,l,n):Ba(e,t,l,n),t.child;case 11:return l=t.type,i=t.pendingProps,Ka(e,t,l,i=t.elementType===l?i:ci(l,i),n);case 7:return Ba(e,t,t.pendingProps,n),t.child;case 8:case 12:return Ba(e,t,t.pendingProps.children,n),t.child;case 10:e:{l=t.type._context,i=t.pendingProps,o=t.memoizedProps,a=i.value;var u=t.type._context;if(El(si,u._currentValue),u._currentValue=a,null!==o)if(u=o.value,0===(a=Gr(u,a)?0:0|("function"==typeof l._calculateChangedBits?l._calculateChangedBits(u,a):1073741823))){if(o.children===i.children&&!Pl.current){t=co(e,t,n);break e}}else for(null!==(u=t.child)&&(u.return=t);null!==u;){var c=u.dependencies;if(null!==c){o=u.child;for(var s=c.firstContext;null!==s;){if(s.context===l&&0!=(s.observedBits&a)){1===u.tag&&((s=xi(n,null)).tag=2,Ti(u,s)),u.expirationTime=t&&e<=t}function cc(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;nt||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function sc(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function fc(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function dc(e,t,n,l){var i=t.current,a=bu(),o=Pi.suspense;a=wu(a,i,o);e:if(n){t:{if(nt(n=n._reactInternalFiber)!==n||1!==n.tag)throw Error(r(170));var u=n;do{switch(u.tag){case 3:u=u.stateNode.context;break t;case 1:if(zl(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break t}}u=u.return}while(null!==u);throw Error(r(171))}if(1===n.tag){var c=n.type;if(zl(c)){n=Fl(n,c,u);break e}}n=u}else n=Sl;return null===t.context?t.context=n:t.pendingContext=n,(t=xi(a,o)).payload={element:e},null!==(l=void 0===l?null:l)&&(t.callback=l),Ti(i,t),ku(i,a),a}function pc(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function mc(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTimecrypto.getRandomValues(new Uint8Array(e));exports.random=t;let r=(e,t,r)=>{let o=(2<{let l="";for(;;){let a=r(n),p=n;for(;p--;)if((l+=e[a[p]&o]||"").length===t)return l}}};exports.customRandom=r;let o=(e,o)=>r(e,o,t);exports.customAlphabet=o;let n=(e=21)=>{let t="",r=crypto.getRandomValues(new Uint8Array(e));for(;e--;){let o=63&r[e];t+=o<36?o.toString(36):o<62?(o-26).toString(36).toUpperCase():o<63?"_":"-"}return t};exports.nanoid=n; +},{"./url-alphabet/index.js":"UTAW"}],"VB7z":[function(require,module,exports) { +"use strict";function e(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n3?t.i-4:t.i:Array.isArray(e)?1:s(e)?2:l(e)?3:0}function a(e,t){return 2===i(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function u(e,t){return 2===i(e)?e.get(t):e[t]}function c(e,t,r){var n=i(e);2===n?e.set(t,r):3===n?(e.delete(t),e.add(r)):e[t]=r}function f(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function s(e){return X&&e instanceof Map}function l(e){return q&&e instanceof Set}function p(e){return e.o||e.t}function h(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=te(e);delete t[Q];for(var r=ee(t),n=0;n1&&(e.set=e.add=e.clear=e.delete=d),Object.freeze(e),n&&o(e,function(e,t){return v(t,!0)},!0),e)}function d(){e(2)}function y(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function b(t){var r=re[t];return r||e(18,t),r}function g(e,t){re[e]||(re[e]=t)}function m(){return J}function P(e,t){t&&(b("Patches"),e.u=[],e.s=[],e.v=t)}function O(e){x(e),e.p.forEach(j),e.p=null}function x(e){e===J&&(J=e.l)}function w(e){return J={p:[],l:J,h:e,m:!0,_:0}}function j(e){var t=e[Q];0===t.i||1===t.i?t.j():t.O=!0}function A(t,n){n._=n.p.length;var o=n.p[0],i=void 0!==t&&t!==o;return n.h.g||b("ES5").S(n,t,i),i?(o[Q].P&&(O(n),e(4)),r(t)&&(t=D(n,t),n.l||_(n,t)),n.u&&b("Patches").M(o[Q],t,n.u,n.s)):t=D(n,o,[]),O(n),n.u&&n.v(n.u,n.s),t!==H?t:void 0}function D(e,t,r){if(y(t))return t;var n=t[Q];if(!n)return o(t,function(o,i){return S(e,n,t,o,i,r)},!0),t;if(n.A!==e)return t;if(!n.P)return _(e,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var i=4===n.i||5===n.i?n.o=h(n.k):n.o;o(3===n.i?new Set(i):i,function(t,o){return S(e,n,i,t,o,r)}),_(e,i,!1),r&&e.u&&b("Patches").R(n,r,e.u,e.s)}return n.o}function S(e,n,o,i,u,f){if(t(u)){var s=D(e,u,f&&n&&3!==n.i&&!a(n.D,i)?f.concat(i):void 0);if(c(o,i,s),!t(s))return;e.m=!1}if(r(u)&&!y(u)){if(!e.h.F&&e._<1)return;D(e,u),n&&n.A.l||_(e,u)}}function _(e,t,r){void 0===r&&(r=!1),e.h.F&&e.m&&v(t,r)}function k(e,t){var r=e[Q];return(r?p(r):e)[t]}function I(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Object.getPrototypeOf(r)}}function z(e){e.P||(e.P=!0,e.l&&z(e.l))}function E(e){e.o||(e.o=h(e.t))}function M(e,t,r){var n=s(t)?b("MapSet").N(t,r):l(t)?b("MapSet").T(t,r):e.g?function(e,t){var r=Array.isArray(e),n={i:r?1:0,A:t?t.A:m(),P:!1,I:!1,D:{},l:t,t:e,k:null,o:null,j:null,C:!1},o=n,i=ne;r&&(o=[n],i=oe);var a=Proxy.revocable(o,i),u=a.revoke,c=a.proxy;return n.k=c,n.j=u,c}(t,r):b("ES5").J(t,r);return(r?r.A:m()).p.push(n),n}function F(n){return t(n)||e(22,n),function e(t){if(!r(t))return t;var n,a=t[Q],f=i(t);if(a){if(!a.P&&(a.i<4||!b("ES5").K(a)))return a.t;a.I=!0,n=R(t,f),a.I=!1}else n=R(t,f);return o(n,function(t,r){a&&u(a.t,t)===r||c(n,t,e(r))}),3===f?new Set(n):n}(n)}function R(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return h(e)}function C(){function e(e,t){var r=u[e];return r?r.enumerable=t:u[e]=r={configurable:!0,enumerable:t,get:function(){var t=this[Q];return ne.get(t,e)},set:function(t){var r=this[Q];ne.set(r,e,t)}},r}function r(e){for(var t=e.length-1;t>=0;t--){var r=e[t][Q];if(!r.P)switch(r.i){case 5:i(r)&&z(r);break;case 4:n(r)&&z(r)}}}function n(e){for(var t=e.t,r=e.k,n=ee(r),o=n.length-1;o>=0;o--){var i=n[o];if(i!==Q){var u=t[i];if(void 0===u&&!a(t,i))return!0;var c=r[i],s=c&&c[Q];if(s?s.t!==u:!f(c,u))return!0}}var l=!!t[Q];return n.length!==ee(t).length+(l?0:1)}function i(e){var t=e.k;if(t.length!==e.t.length)return!0;var r=Object.getOwnPropertyDescriptor(t,t.length-1);return!(!r||r.get)}var u={};g("ES5",{J:function(t,r){var n=Array.isArray(t),o=function(t,r){if(t){for(var n=Array(r.length),o=0;o1?r-1:0),i=1;i1?r-1:0),i=1;i=0;n--){var o=r[n];if(0===o.path.length&&"replace"===o.op){e=o.value;break}}var i=b("Patches").$;return t(e)?i(e,r):this.produce(e,function(e){return i(e,r.slice(n+1))})},n}(),ae=new ie,ue=ae.produce,ce=ae.produceWithPatches.bind(ae),fe=ae.setAutoFreeze.bind(ae),se=ae.setUseProxies.bind(ae),le=ae.applyPatches.bind(ae),pe=ae.createDraft.bind(ae),he=ae.finishDraft.bind(ae);exports.finishDraft=he,exports.createDraft=pe,exports.applyPatches=le,exports.setUseProxies=se,exports.setAutoFreeze=fe,exports.produceWithPatches=ce,exports.produce=ue,exports.Immer=ie;var ve=ue;exports.default=ve; +},{}],"B6zW":[function(require,module,exports) { +var t="[object Object]";function n(t){var n=!1;if(null!=t&&"function"!=typeof t.toString)try{n=!!(t+"")}catch(r){}return n}function r(t,n){return function(r){return t(n(r))}}var o=Function.prototype,c=Object.prototype,e=o.toString,u=c.hasOwnProperty,f=e.call(Object),i=c.toString,l=r(Object.getPrototypeOf,Object);function a(t){return!!t&&"object"==typeof t}function p(r){if(!a(r)||i.call(r)!=t||n(r))return!1;var o=l(r);if(null===o)return!0;var c=u.call(o,"constructor")&&o.constructor;return"function"==typeof c&&c instanceof c&&e.call(c)==f}module.exports=p; +},{}],"XE1j":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.I=ot,exports.U=it,exports.a=et,exports.b=rt,exports.c=st,exports.e=W,exports.i=F,exports.y=D,exports.z=exports.x=exports.w=exports.v=exports.u=exports.t=exports.s=exports.r=exports.q=exports.p=exports.o=exports.n=exports.m=exports.l=exports.k=exports.j=exports.h=exports.g=exports.f=exports.d=exports.T=exports.S=exports.R=exports.P=exports.N=exports.M=exports.G=exports.F=exports.E=exports.C=exports.B=exports.A=void 0;var t=r(require("immer")),e=r(require("lodash.isplainobject"));function r(t){return t&&t.__esModule?t:{default:t}}const s="MAKE_MOVE";exports.M=s;const n="GAME_EVENT";exports.G=n;const a="REDO";exports.m=a;const o="RESET";exports.R=o;const i="SYNC";exports.k=i;const l="UNDO";exports.l=l;const p="UPDATE";exports.j=p;const c="PATCH";exports.o=c;const u="PLUGIN";exports.P=u;const d="STRIP_TRANSIENTS";exports.d=d;const y=(t,e,r,n)=>({type:s,payload:{type:t,args:e,playerID:r,credentials:n}});exports.x=y;const h=(t,e,r,s)=>({type:n,payload:{type:t,args:e,playerID:r,credentials:s}});exports.g=h;const x=(t,e,r,s)=>({type:n,payload:{type:t,args:e,playerID:r,credentials:s},automatic:!0}),g=t=>({type:i,state:t.state,log:t.log,initialState:t.initialState,clientOnly:!0});exports.s=g;const f=(t,e,r,s)=>({type:c,prevStateID:t,stateID:e,patch:r,deltalog:s,clientOnly:!0});exports.C=f;const m=(t,e)=>({type:p,state:t,deltalog:e,clientOnly:!0});exports.B=m;const v=t=>({type:o,state:t,clientOnly:!0});exports.t=v;const P=(t,e)=>({type:l,payload:{type:null,args:null,playerID:t,credentials:e}});exports.u=P;const O=(t,e)=>({type:a,payload:{type:null,args:null,playerID:t,credentials:e}});exports.v=O;const _=(t,e,r,s)=>({type:u,payload:{type:t,args:e,playerID:r,credentials:s}}),E=()=>({type:d});exports.q=E;var L=Object.freeze({makeMove:y,gameEvent:h,automaticGameEvent:x,sync:g,patch:f,update:m,reset:v,undo:P,redo:O,plugin:_,stripTransients:E});exports.A=L;const M="INVALID_MOVE";exports.h=M;const b={name:"plugin-immer",fnWrap:e=>(r,s,...n)=>{let a=!1;const o=(0,t.default)(r,t=>{const r=e(t,s,...n);if(r!==M)return r;a=!0});return a?M:o}};class N{constructor(t){const e=T();this.c=1,this.s0=e(" "),this.s1=e(" "),this.s2=e(" "),this.s0-=e(t),this.s0<0&&(this.s0+=1),this.s1-=e(t),this.s1<0&&(this.s1+=1),this.s2-=e(t),this.s2<0&&(this.s2+=1)}next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.s0=this.s1,this.s1=this.s2,this.s2=t-(this.c=Math.trunc(t))}}function T(){let t=4022871197;return function(e){const r=e.toString();for(let s=0;s>>0,t=(e*=t)>>>0,t+=4294967296*(e-=t)}return 2.3283064365386963e-10*(t>>>0)}}function A(t,e){return e.c=t.c,e.s0=t.s0,e.s1=t.s1,e.s2=t.s2,e}function D(t,e){const r=new N(t),s=r.next.bind(r);return e&&A(e,r),s.state=(()=>A(r,{})),s}class I{constructor(t){this.state=t||{seed:"0"},this.used=!1}static seed(){return Date.now().toString(36).slice(-10)}isUsed(){return this.used}getState(){return this.state}_random(){this.used=!0;const t=this.state,e=D(t.prngstate?"":t.seed,t.prngstate),r=e();return this.state={...t,prngstate:e.state()},r}api(){const t=this._random.bind(this),e={D4:4,D6:6,D8:8,D10:10,D12:12,D20:20},r={};for(const s in e){const n=e[s];r[s]=(e=>void 0===e?Math.floor(t()*n)+1:Array.from({length:e}).map(()=>Math.floor(t()*n)+1))}return{...r,Die:function(e=6,r){return void 0===r?Math.floor(t()*e)+1:Array.from({length:r}).map(()=>Math.floor(t()*e)+1)},Number:()=>t(),Shuffle:e=>{const r=[...e];let s=e.length,n=0;const a=Array.from({length:s});for(;s;){const e=Math.trunc(s*t());a[n++]=r[e],r[e]=r[--s]}return a},_obj:this}}}const S={name:"random",noClient:({api:t})=>t._obj.isUsed(),flush:({api:t})=>t._obj.getState(),api:({data:t})=>{return new I(t).api()},setup:({game:t})=>{let{seed:e}=t;return void 0===e&&(e=I.seed()),{seed:e}},playerView:()=>void 0};class j{constructor(t,e,r){this.flow=t,this.playerID=r,this.dispatch=[],this.initialTurn=e.turn,this.updateTurnContext(e),this.maxEndedTurnsPerAction=100*e.numPlayers}api(){const t={_obj:this};for(const e of this.flow.eventNames)t[e]=((...t)=>{this.dispatch.push({type:e,args:t,phase:this.currentPhase,turn:this.currentTurn})});return t}isUsed(){return this.dispatch.length>0}updateTurnContext(t){this.currentPhase=t.phase,this.currentTurn=t.turn}stateWithError(t){return{...t,plugins:{...t.plugins,events:{...t.plugins.events,data:{error:"Maximum number of turn endings exceeded for this update.\nThis likely means game code is triggering an infinite loop."}}}}}update(t){const e=t;for(let r=0;r=this.maxEndedTurnsPerAction)return this.stateWithError(e);const s=this.dispatch[r];if(("endStage"===s.type||"setStage"===s.type||"setActivePlayers"===s.type)&&s.turn!==t.ctx.turn)continue;if("endTurn"===s.type&&s.turn!==t.ctx.turn)continue;if(("endPhase"===s.type||"setPhase"===s.type)&&s.phase!==t.ctx.phase)continue;const n=x(s.type,s.args,this.playerID);t={...t,...this.flow.processEvent(t,n)}}return t}}const G={name:"events",noClient:({api:t})=>t._obj.isUsed(),isInvalid:({data:t})=>t.error||!1,fnWrap:t=>(e,r,...s)=>{const n=r.events;return n&&n._obj.updateTurnContext(r),e=t(e,r,...s)},dangerouslyFlushRawState:({state:t,api:e})=>e._obj.update(t),api:({game:t,ctx:e,playerID:r})=>new j(t.flow,e,r).api()},U={name:"log",flush:()=>({}),api:({data:t})=>({setMetadata:e=>{t.metadata=e}}),setup:()=>({})};function C(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t)return!0;if(!(0,e.default)(t)&&!Array.isArray(t))return!1;for(const e in t)if(!C(t[e]))return!1;return!0}const w={name:"plugin-serializable",fnWrap:t=>(e,r,...s)=>{const n=t(e,r,...s);return n}},R=!0,k=()=>{},$=(...t)=>console.error(...t);function F(t){k(`INFO: ${t}`)}function W(t){$("ERROR:",t)}const V=[b,S,U,w],q=[...V,G],z=(t,e,r)=>(r.game.plugins.filter(t=>void 0!==t.action).filter(t=>t.name===e.payload.type).forEach(r=>{const s=r.name,n=t.plugins[s]||{data:{}},a=r.action(n.data,e.payload);t={...t,plugins:{...t.plugins,[s]:{...n,data:a}}}}),t);exports.n=z;const H=t=>{const e={...t.ctx},r=t.plugins||{};return Object.entries(r).forEach(([t,{api:r}])=>{e[t]=r}),e};exports.E=H;const B=(t,e)=>[...q,...e].filter(t=>void 0!==t.fnWrap).reduce((t,{fnWrap:e})=>e(t),t);exports.F=B;const K=(t,e)=>([...q,...e.game.plugins].filter(t=>void 0!==t.setup).forEach(r=>{const s=r.name,n=r.setup({G:t.G,ctx:t.ctx,game:e.game});t={...t,plugins:{...t.plugins,[s]:{data:n}}}}),t);exports.r=K;const Y=(t,e)=>([...q,...e.game.plugins].filter(t=>void 0!==t.api).forEach(r=>{const s=r.name,n=t.plugins[s]||{data:{}},a=r.api({G:t.G,ctx:t.ctx,data:n.data,game:e.game,playerID:e.playerID});t={...t,plugins:{...t.plugins,[s]:{...n,api:a}}}}),t);exports.f=Y;const J=(t,e)=>([...V,...e.game.plugins,G].reverse().forEach(r=>{const s=r.name,n=t.plugins[s]||{data:{}};if(r.flush){const s=r.flush({G:t.G,ctx:t.ctx,game:e.game,api:n.api,data:n.data});t={...t,plugins:{...t.plugins,[r.name]:{data:s}}}}else if(r.dangerouslyFlushRawState){const a=(t=r.dangerouslyFlushRawState({state:t,game:e.game,api:n.api,data:n.data})).plugins[s].data;t={...t,plugins:{...t.plugins,[r.name]:{data:a}}}}}),t),Q=(t,e)=>[...q,...e.game.plugins].filter(t=>void 0!==t.noClient).map(r=>{const s=r.name,n=t.plugins[s];return!!n&&r.noClient({G:t.G,ctx:t.ctx,game:e.game,api:n.api,data:n.data})}).includes(!0);exports.N=Q;const X=(t,e)=>{return[...q,...e.game.plugins].filter(t=>void 0!==t.isInvalid).map(r=>{const{name:s}=r,n=t.plugins[s],a=r.isInvalid({G:t.G,ctx:t.ctx,game:e.game,data:n&&n.data});return!!a&&{plugin:s,message:a}}).find(t=>t)||!1},Z=(t,e)=>{const r=J(t,e),s=X(r,e);if(!s)return[r];const{plugin:n,message:a}=s;return W(`${n} plugin declared action invalid:\n${a}`),[t,s]};exports.p=Z;const tt=({G:t,ctx:e,plugins:r={}},{game:s,playerID:n})=>([...q,...s.plugins].forEach(({name:a,playerView:o})=>{if(!o)return;const{data:i}=r[a]||{data:{}},l=o({G:t,ctx:e,game:s,data:i,playerID:n});r={...r,[a]:{data:l}}}),r);function et(t,e,r){return{...t,ctx:rt(t.ctx,r)}}function rt(t,e){let r={},s=[],n=null,a={};if(Array.isArray(e)){const t={};e.forEach(e=>t[e]=pt.NULL),r=t}else{if(e.next&&(n=e.next),e.revert&&(s=[...t._prevActivePlayers,{activePlayers:t.activePlayers,_activePlayersMoveLimit:t._activePlayersMoveLimit,_activePlayersNumMoves:t._activePlayersNumMoves}]),void 0!==e.currentPlayer&&nt(r,a,t.currentPlayer,e.currentPlayer),void 0!==e.others)for(let s=0;s0){const t=n.length-1;({activePlayers:e,_activePlayersMoveLimit:r,_activePlayersNumMoves:s}=n[t]),n=n.slice(0,t)}else e=null,r=null;return{...t,activePlayers:e,_activePlayersMoveLimit:r,_activePlayersNumMoves:s,_prevActivePlayers:n}}function nt(t,e,r,s){"object"==typeof s&&s!==pt.NULL||(s={stage:s}),void 0!==s.stage&&(t[r]=s.stage,s.moveLimit&&(e[r]=s.moveLimit))}function at(t,e){return t[e]+""}function ot(t,e){let{G:r,ctx:s}=t;const{numPlayers:n}=s,a=H(t),o=e.order;let i=[...Array.from({length:n})].map((t,e)=>e+"");void 0!==o.playOrder&&(i=o.playOrder(r,a));const l=o.first(r,a),p=typeof l;"number"!==p&&W(`invalid value returned by turn.order.first — expected number got ${p} “${l}”.`);const c=at(i,l);return s=rt(s={...s,currentPlayer:c,playOrderPos:l,playOrder:i},e.activePlayers||{})}function it(t,e,r,s){const n=r.order;let{G:a,ctx:o}=t,i=o.playOrderPos,l=!1;if(s&&!0!==s)"object"!=typeof s&&W(`invalid argument to endTurn: ${s}`),Object.keys(s).forEach(t=>{switch(t){case"remove":e=at(o.playOrder,i);break;case"next":i=o.playOrder.indexOf(s.next),e=s.next;break;default:W(`invalid argument to endTurn: ${t}`)}});else{const r=H(t),s=n.next(a,r),p=typeof s;void 0!==s&&"number"!==p&&W(`invalid value returned by turn.order.next — expected number or undefined got ${p} “${s}”.`),void 0===s?l=!0:(i=s,e=at(o.playOrder,i))}return{endPhase:l,ctx:o={...o,playOrderPos:i,currentPlayer:e}}}exports.w=tt;const lt={DEFAULT:{first:(t,e)=>0===e.turn?e.playOrderPos:(e.playOrderPos+1)%e.playOrder.length,next:(t,e)=>(e.playOrderPos+1)%e.playOrder.length},RESET:{first:()=>0,next:(t,e)=>(e.playOrderPos+1)%e.playOrder.length},CONTINUE:{first:(t,e)=>e.playOrderPos,next:(t,e)=>(e.playOrderPos+1)%e.playOrder.length},ONCE:{first:()=>0,next:(t,e)=>{if(e.playOrderPos({playOrder:()=>t,first:()=>0,next:(t,e)=>(e.playOrderPos+1)%e.playOrder.length}),CUSTOM_FROM:t=>({playOrder:e=>e[t],first:()=>0,next:(t,e)=>(e.playOrderPos+1)%e.playOrder.length})};exports.T=lt;const pt={NULL:null};exports.S=pt;const ct={ALL:{all:pt.NULL},ALL_ONCE:{all:pt.NULL,moveLimit:1},OTHERS:{others:pt.NULL},OTHERS_ONCE:{others:pt.NULL,moveLimit:1}};exports.z=ct; +},{"immer":"VB7z","lodash.isplainobject":"B6zW"}],"Al58":[function(require,module,exports) { +"use strict";function t(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}function e(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.Pointer=void 0;var n=function(){function n(t){void 0===t&&(t=[""]),this.tokens=t}return n.fromJSON=function(e){var o=e.split("/").map(t);if(""!==o[0])throw new Error("Invalid JSON Pointer: "+e);return new n(o)},n.prototype.toString=function(){return this.tokens.map(e).join("/")},n.prototype.evaluate=function(t){for(var e=null,n="",o=t,r=1,i=this.tokens.length;r0&&a>0&&!n(e[i-1],t[a-1],new r.Pointer).length)s=o(i-1,a-1);else{var f=[];if(i>0){var v=o(i-1,a),d={op:"remove",index:i-1};f.push(p(v,d))}if(a>0){var l=o(i,a-1),h={op:"add",index:i-1,value:t[a-1]};f.push(p(l,h))}if(i>0&&a>0){var x=o(i-1,a-1),g={op:"replace",index:i-1,original:e[i-1],value:t[a-1]};f.push(p(x,g))}s=f.sort(function(r,e){return r.cost-e.cost})[0]}c[u]=s}return s}(u,f).operations.reduce(function(r,e){var t=r[0],p=r[1];if(i(e)){var c=e.index+1+p,s=c=n.parent.length)return new o(t.path)}else if(void 0===n.value)return new o(t.path);return n.parent[n.key]=t.value,null}function v(r,t){var n=e.Pointer.fromJSON(t.from).evaluate(r);if(void 0===n.value)return new o(t.from);var a=e.Pointer.fromJSON(t.path).evaluate(r);return void 0===a.parent?new o(t.path):(u(n.parent,n.key),i(a.parent,a.key,n.value),null)}function c(r,n){var a=e.Pointer.fromJSON(n.from).evaluate(r);if(void 0===a.value)return new o(n.from);var u=e.Pointer.fromJSON(n.path).evaluate(r);return void 0===u.parent?new o(n.path):(i(u.parent,u.key,t.clone(a.value)),null)}function f(r,t){var o=e.Pointer.fromJSON(t.path).evaluate(r);return n.diffAny(o.value,t.value,new e.Pointer).length?new a(o.value,t.value):null}exports.TestError=a,exports.add=p,exports.remove=l,exports.replace=s,exports.move=v,exports.copy=c,exports.test=f;var h=function(e){function t(r){var t=e.call(this,"Invalid operation: "+r.op)||this;return t.operation=r,t.name="InvalidOperationError",t}return r(t,e),t}(Error);function y(r,e){switch(e.op){case"add":return p(r,e);case"remove":return l(r,e);case"replace":return s(r,e);case"move":return v(r,e);case"copy":return c(r,e);case"test":return f(r,e)}return new h(e)}exports.InvalidOperationError=h,exports.apply=y; +},{"./pointer":"Al58","./util":"HHTq","./diff":"gukC"}],"B6py":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createTests=exports.createPatch=exports.applyPatch=void 0;var r=require("./pointer"),e=require("./patch"),t=require("./diff");function n(r,t){return t.map(function(t){return e.apply(r,t)})}function a(r){return function e(n,a,i){var o=r(n,a,i);return Array.isArray(o)?o:t.diffAny(n,a,i,e)}}function i(e,n,i){var o=new r.Pointer;return(i?a(i):t.diffAny)(e,n,o)}function o(e,t){var n=r.Pointer.fromJSON(t).evaluate(e);if(void 0!==n)return{op:"test",path:t,value:n.value}}function u(r,e){var n=new Array;return e.filter(t.isDestructive).forEach(function(e){var t=o(r,e.path);if(t&&n.push(t),"from"in e){var a=o(r,e.from);a&&n.push(a)}}),n}exports.applyPatch=n,exports.createPatch=i,exports.createTests=u; +},{"./pointer":"Al58","./patch":"datJ","./diff":"gukC"}],"wiOH":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.C=m,exports.I=i,exports.P=s,exports.T=void 0;var e,t,n=require("./turn-order-21b8f302.js"),a=require("rfc6902");function r({moves:e,phases:t,endIf:a,onEnd:r,turn:o,events:s,plugins:i}){void 0===e&&(e={}),void 0===s&&(s={}),void 0===i&&(i=[]),void 0===t&&(t={}),a||(a=(()=>void 0)),r||(r=(e=>e)),o||(o={});const u={...t};""in u&&(0,n.e)("cannot specify phase with empty name"),u[""]={};const c={},l=new Set;let d=null;Object.keys(e).forEach(e=>l.add(e));const p=e=>{const t=(0,n.F)(e,i);return e=>{const a=(0,n.E)(e);return t(e.G,a)}},v=e=>t=>{const a=(0,n.E)(t);return e(t.G,a)},f={onEnd:p(r),endIf:v(a)};for(const U in u){const e=u[U];if(!0===e.start&&(d=U),void 0!==e.moves)for(const t of Object.keys(e.moves))c[U+"."+t]=e.moves[t],l.add(t);void 0===e.endIf&&(e.endIf=(()=>void 0)),void 0===e.onBegin&&(e.onBegin=(e=>e)),void 0===e.onEnd&&(e.onEnd=(e=>e)),void 0===e.turn&&(e.turn=o),void 0===e.turn.order&&(e.turn.order=n.T.DEFAULT),void 0===e.turn.onBegin&&(e.turn.onBegin=(e=>e)),void 0===e.turn.onEnd&&(e.turn.onEnd=(e=>e)),void 0===e.turn.endIf&&(e.turn.endIf=(()=>!1)),void 0===e.turn.onMove&&(e.turn.onMove=(e=>e)),void 0===e.turn.stages&&(e.turn.stages={});for(const t in e.turn.stages){const n=e.turn.stages[t].moves||{};for(const e of Object.keys(n)){c[U+"."+t+"."+e]=n[e],l.add(e)}}e.wrapped={onBegin:p(e.onBegin),onEnd:p(e.onEnd),endIf:v(e.endIf)},e.turn.wrapped={onMove:p(e.turn.onMove),onBegin:p(e.turn.onBegin),onEnd:p(e.turn.onEnd),endIf:v(e.turn.endIf)}}function y(e){return e.phase?u[e.phase]:u[""]}function m(e){return e}function g(e,t){const n=new Set,a=new Set;for(let r=0;r=t.turn.moveLimit)||t.turn.wrapped.endIf(e)}function G(e,{arg:t,phase:n}){e=E(e,{phase:n}),void 0===t&&(t=!0),e={...e,ctx:{...e.ctx,gameover:t}};const a=f.onEnd(e);return{...e,G:a}}function E(e,{arg:t,next:a,turn:r,automatic:o}){e=A(e,{turn:r,force:!0,automatic:!0});const{phase:s,turn:i}=e.ctx;if(a&&a.push({fn:P,arg:t,phase:s}),null===s)return e;const u=y(e.ctx).wrapped.onEnd(e),c={...e.ctx,phase:null},l=(0,n.g)("endPhase",t),{_stateID:d}=e,p={action:l,_stateID:d,turn:i,phase:s};o&&(p.automatic=!0);const v=[...e.deltalog||[],p];return{...e,G:u,ctx:c,deltalog:v}}function A(e,{arg:t,next:a,turn:r,force:o,automatic:s,playerID:i}){if(r!==e.ctx.turn)return e;const{currentPlayer:u,numMoves:c,phase:l,turn:d}=e.ctx,p=y(e.ctx),v=c||0;if(!o&&p.turn.moveLimit&&ve!=i),n=m.playOrderPos>t.length-1?0:m.playOrderPos;if(m={...m,playOrder:t,playOrderPos:n},0===t.length)return a.push({fn:E,turn:d,phase:l}),e}const g=(0,n.g)("endTurn",t),{_stateID:h}=e,x={action:g,_stateID:h,turn:d,phase:l};s&&(x.automatic=!0);const I=[...e.deltalog||[],x];return{...e,G:f,ctx:m,deltalog:I,_undo:[],_redo:[]}}function O(e,{arg:t,next:a,automatic:r,playerID:o}){o=o||e.ctx.currentPlayer;let{ctx:s,_stateID:i}=e,{activePlayers:u,_activePlayersMoveLimit:c,phase:l,turn:d}=s;const p=null!==u&&o in u;if(!t&&p){const e=y(s).turn.stages[u[o]];e&&e.next&&(t=e.next)}if(a&&a.push({fn:D,arg:t,playerID:o}),!p)return e;delete(u={...u})[o],c&&delete(c={...c})[o],s=(0,n.c)({...s,activePlayers:u,_activePlayersMoveLimit:c});const v={action:(0,n.g)("endStage",t),_stateID:i,turn:d,phase:l};r&&(v.automatic=!0);const f=[...e.deltalog||[],v];return{...e,ctx:s,deltalog:f}}function S(t,a,r){const o=y(t),s=o.turn.stages,{activePlayers:i}=t;if(i&&void 0!==i[r]&&i[r]!==n.S.NULL&&void 0!==s[i[r]]&&void 0!==s[i[r]].moves){const e=s[i[r]].moves;if(a in e)return e[a]}else if(o.moves){if(a in o.moves)return o.moves[a]}else if(a in e)return e[a];return null}const N={endStage:function(e,t){return g(e,[{fn:O,playerID:t}])},setStage:function(e,t,n){return g(e,[{fn:O,arg:n,playerID:t}])},endTurn:function(e,t,n){return g(e,[{fn:A,turn:e.ctx.turn,phase:e.ctx.phase,arg:n}])},pass:function(e,t,n){return g(e,[{fn:A,turn:e.ctx.turn,phase:e.ctx.phase,force:!0,arg:n}])},endPhase:function(e){return g(e,[{fn:E,phase:e.ctx.phase,turn:e.ctx.turn}])},setPhase:function(e,t,n){return g(e,[{fn:E,phase:e.ctx.phase,turn:e.ctx.turn,arg:{next:n}}])},endGame:function(e,t,n){return g(e,[{fn:G,turn:e.ctx.turn,phase:e.ctx.phase,arg:n}])},setActivePlayers:n.a},L=[];return!1!==s.endTurn&&L.push("endTurn"),!1!==s.pass&&L.push("pass"),!1!==s.endPhase&&L.push("endPhase"),!1!==s.setPhase&&L.push("setPhase"),!1!==s.endGame&&L.push("endGame"),!1!==s.setActivePlayers&&L.push("setActivePlayers"),!1!==s.endStage&&L.push("endStage"),!1!==s.setStage&&L.push("setStage"),{ctx:e=>({numPlayers:e,turn:0,currentPlayer:"0",playOrder:[...Array.from({length:e})].map((e,t)=>t+""),playOrderPos:0,phase:d,activePlayers:null}),init:e=>g(e,[{fn:h}]),isPlayerActive:function(e,t,n){return t.activePlayers?n in t.activePlayers:t.currentPlayer===n},eventHandlers:N,eventNames:Object.keys(N),enabledEventNames:L,moveMap:c,moveNames:[...l.values()],processMove:function(e,t){const{playerID:n,type:a}=t,{ctx:r}=e,{currentPlayer:o,activePlayers:s,_activePlayersMoveLimit:i}=r,u=S(r,a,n),c=!u||"function"==typeof u||!0!==u.noLimit;let{numMoves:l,_activePlayersNumMoves:d}=r;c&&(n===o&&l++,s&&d[n]++),e={...e,ctx:{...r,numMoves:l,_activePlayersNumMoves:d}},i&&d[n]>=i[n]&&(e=O(e,{playerID:n,automatic:!0}));const p=y(r).turn.wrapped.onMove(e);return g(e={...e,G:p},[{fn:m}])},processEvent:function(e,t){const{type:n,playerID:a,args:r}=t.payload;return"function"!=typeof N[n]?e:N[n](e,a,...Array.isArray(r)?r:[r])},getMove:S}}function o(e){return void 0!==e.processMove}function s(e){if(o(e))return e;if(void 0===e.name&&(e.name="default"),void 0===e.deltaState&&(e.deltaState=!1),void 0===e.disableUndo&&(e.disableUndo=!1),void 0===e.setup&&(e.setup=(()=>({}))),void 0===e.moves&&(e.moves={}),void 0===e.playerView&&(e.playerView=(e=>e)),void 0===e.plugins&&(e.plugins=[]),e.plugins.forEach(e=>{if(void 0===e.name)throw new Error("Plugin missing name attribute");if(e.name.includes(" "))throw new Error(e.name+": Plugin name must not include spaces")}),e.name.includes(" "))throw new Error(e.name+": Game name must not include spaces");const t=r(e);return{...e,flow:t,moveNames:t.moveNames,pluginNames:e.plugins.map(e=>e.name),processMove:(a,r)=>{let o=t.getMove(a.ctx,r.type,r.playerID);if(i(o)&&(o=o.move),o instanceof Function){const t=(0,n.F)(o,e.plugins),s={...(0,n.E)(a),playerID:r.playerID};let i=[];return void 0!==r.args&&(i=Array.isArray(r.args)?r.args:[r.args]),t(a.G,s,...i)}return(0,n.e)(`invalid move object: ${r.type}`),a.G}}}function i(e){return e instanceof Object&&void 0!==e.move}!function(e){e.UnauthorizedAction="update/unauthorized_action",e.MatchNotFound="update/match_not_found",e.PatchFailed="update/patch_failed"}(e||(e={})),function(e){e.StaleStateId="action/stale_state_id",e.UnavailableMove="action/unavailable_move",e.InvalidMove="action/invalid_move",e.InactivePlayer="action/inactive_player",e.GameOver="action/gameover",e.ActionDisabled="action/action_disabled",e.ActionInvalid="action/action_invalid",e.PluginActionInvalid="action/plugin_invalid"}(t||(t={}));const u=e=>null!==e.payload.playerID&&void 0!==e.payload.playerID,c=(e,t,n)=>{return!function(e){return void 0!==e.undoable}(n)||(function(e){return e instanceof Function}(n.undoable)?n.undoable(e,t):n.undoable)};function l(e,t){if(t.game.disableUndo)return e;const n={G:e.G,ctx:e.ctx,plugins:e.plugins,playerID:t.action.payload.playerID||e.ctx.currentPlayer};return"MAKE_MOVE"===t.action.type&&(n.moveType=t.action.payload.type),{...e,_undo:[...e._undo,n],_redo:[]}}function d(e,t,n){const a={action:t,_stateID:e._stateID,turn:e.ctx.turn,phase:e.ctx.phase},r=e.plugins.log.data.metadata;return void 0!==r&&(a.metadata=r),"object"==typeof n&&!0===n.redact&&(a.redact=!0),{...e,deltalog:[a]}}function p(e,a,r){const[o,s]=(0,n.p)(e,r);return s?[o,f(a,t.PluginActionInvalid,s)]:[o]}function v(e){if(!e)return[null,void 0];const{transients:t,...n}=e;return[n,t]}function f(e,t,n){return{...e,transients:{error:{type:t,payload:n}}}}const y=e=>t=>a=>{const r=t(a);switch(a.type){case n.d:return r;default:{const[,t]=v(e.getState());return void 0!==t?(e.dispatch((0,n.q)()),{...r,transients:t}):r}}};function m({game:r,isClient:o}){return r=s(r),(s=null,i)=>{let[y]=v(s);switch(i.type){case n.d:return y;case n.G:{if(y={...y,deltalog:[]},o)return y;if(void 0!==y.ctx.gameover)return(0,n.e)("cannot call event after game end"),f(y,t.GameOver);if(u(i)&&!r.flow.isPlayerActive(y.G,y.ctx,i.payload.playerID))return(0,n.e)(`disallowed event: ${i.payload.type}`),f(y,t.InactivePlayer);y=(0,n.f)(y,{game:r,isClient:!1,playerID:i.payload.playerID});let e,a=r.flow.processEvent(y,i);return[a,e]=p(a,y,{game:r,isClient:!1}),e?e:(a=l(a,{game:r,action:i}),{...a,_stateID:y._stateID+1})}case n.M:{const e=y={...y,deltalog:[]},a=r.flow.getMove(y.ctx,i.payload.type,i.payload.playerID||y.ctx.currentPlayer);if(null===a)return(0,n.e)(`disallowed move: ${i.payload.type}`),f(y,t.UnavailableMove);if(o&&!1===a.client)return y;if(void 0!==y.ctx.gameover)return(0,n.e)("cannot make move after game end"),f(y,t.GameOver);if(u(i)&&!r.flow.isPlayerActive(y.G,y.ctx,i.payload.playerID))return(0,n.e)(`disallowed move: ${i.payload.type}`),f(y,t.InactivePlayer);y=(0,n.f)(y,{game:r,isClient:o,playerID:i.payload.playerID});const s=r.processMove(y,i.payload);if(s===n.h)return(0,n.e)(`invalid move: ${i.payload.type} args: ${i.payload.args}`),f(y,t.InvalidMove);const c={...y,G:s};if(o&&(0,n.N)(c,{game:r}))return y;if(y=c,o){let t;return[y,t]=p(y,e,{game:r,isClient:!0}),t||{...y,_stateID:y._stateID+1}}let v;return y=d(y,i,a),y=r.flow.processMove(y,i.payload),[y,v]=p(y,e,{game:r}),v?v:(y=l(y,{game:r,action:i}),{...y,_stateID:y._stateID+1})}case n.R:case n.j:case n.k:return i.state;case n.l:{if(y={...y,deltalog:[]},r.disableUndo)return(0,n.e)("Undo is not enabled"),f(y,t.ActionDisabled);const{G:e,ctx:a,_undo:o,_redo:s,_stateID:l}=y;if(o.length<2)return(0,n.e)("No moves to undo"),f(y,t.ActionInvalid);const p=o[o.length-1],v=o[o.length-2];if(u(i)&&i.payload.playerID!==p.playerID)return(0,n.e)("Cannot undo other players' moves"),f(y,t.ActionInvalid);if(p.moveType){const o=r.flow.getMove(v.ctx,p.moveType,p.playerID);if(!c(e,a,o))return(0,n.e)("Move cannot be undone"),f(y,t.ActionInvalid)}return y=d(y,i),{...y,G:v.G,ctx:v.ctx,plugins:v.plugins,_stateID:l+1,_undo:o.slice(0,-1),_redo:[p,...s]}}case n.m:{if(y={...y,deltalog:[]},r.disableUndo)return(0,n.e)("Redo is not enabled"),f(y,t.ActionDisabled);const{_undo:e,_redo:a,_stateID:o}=y;if(0===a.length)return(0,n.e)("No moves to redo"),f(y,t.ActionInvalid);const s=a[0];return u(i)&&i.payload.playerID!==s.playerID?((0,n.e)("Cannot redo other players' moves"),f(y,t.ActionInvalid)):(y=d(y,i),{...y,G:s.G,ctx:s.ctx,plugins:s.plugins,_stateID:o+1,_undo:[...e,s],_redo:a.slice(1)})}case n.P:return(0,n.n)(y,i,{game:r});case n.o:{const t=y,r=JSON.parse(JSON.stringify(t)),o=(0,a.applyPatch)(r,i.patch);return o.some(e=>null!==e)?((0,n.e)(`Patch ${JSON.stringify(i.patch)} apply failed`),f(t,e.PatchFailed,o)):r}default:return y}}}exports.T=y; +},{"./turn-order-21b8f302.js":"XE1j","rfc6902":"B6py"}],"O5av":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.fromJSON=exports.toJSON=exports.stringify=exports.parse=void 0;const{parse:t,stringify:e}=JSON,{keys:s}=Object,n=String,o="string",r={},c="object",l=(t,e)=>e,p=t=>t instanceof n?n(t):t,i=(t,e)=>typeof e===o?new n(e):e,a=(t,e,o,l)=>{const p=[];for(let i=s(o),{length:a}=i,f=0;f{const o=n(e.push(s)-1);return t.set(s,o),o},u=(e,s)=>{const n=t(e,i).map(p),o=n[0],r=s||l,f=typeof o===c&&o?a(n,new Set,o,r):o;return r.call({"":f},"",f)};exports.parse=u;const y=(t,s,n)=>{const r=s&&typeof s===c?(t,e)=>""===t||-1t(y(e));exports.toJSON=x;const g=t=>u(e(t));exports.fromJSON=g; +},{}],"t4pr":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.S=n,exports.a=o,exports.R=exports.M=exports.B=void 0;var t=require("./turn-order-21b8f302.js"),e=require("./reducer-6b2d258d.js");class s{constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.iterationCounter=0,this._opts={}}addOpt({key:t,range:e,initial:s}){this._opts[t]={range:e,value:s}}getOpt(t){return this._opts[t].value}setOpt(t,e){t in this._opts&&(this._opts[t].value=e)}opts(){return this._opts}enumerate(e,s,a){return this.enumerateFn(e,s,a).map(e=>"payload"in e?e:"move"in e?(0,t.x)(e.move,e.args,a):"event"in e?(0,t.g)(e.event,e.args,a):void 0)}random(e){let s;if(void 0!==this.seed){const e=this.prngstate?"":this.seed,a=(0,t.y)(e,this.prngstate);s=a(),this.prngstate=a.state()}else s=Math.random();if(e){if(Array.isArray(e)){return e[Math.floor(s*e.length)]}return Math.floor(s*e)}return s}}exports.B=s;const a=25;class r extends s{constructor({enumerate:t,seed:s,objectives:a,game:r,iterations:i,playoutDepth:n,iterationCallback:o}){super({enumerate:t,seed:s}),void 0===a&&(a=(()=>({}))),this.objectives=a,this.iterationCallback=o||(()=>{}),this.reducer=(0,e.C)({game:r}),this.iterations=i,this.playoutDepth=n,this.addOpt({key:"async",initial:!1}),this.addOpt({key:"iterations",initial:"number"==typeof i?i:1e3,range:{min:1,max:2e3}}),this.addOpt({key:"playoutDepth",initial:"number"==typeof n?n:50,range:{min:1,max:100}})}createNode({state:t,parentAction:e,parent:s,playerID:a}){const{G:r,ctx:i}=t;let n=[],o=[];if(void 0!==a)n=this.enumerate(r,i,a),o=this.objectives(r,i,a);else if(i.activePlayers)for(const c in i.activePlayers)n.push(...this.enumerate(r,i,c)),o.push(this.objectives(r,i,c));else n=this.enumerate(r,i,i.currentPlayer),o=this.objectives(r,i,i.currentPlayer);return{state:t,parent:s,parentAction:e,actions:n,objectives:o,children:[],visits:0,value:0}}select(t){if(t.actions.length>0)return t;if(0===t.children.length)return t;let e=null,s=0;for(const a of t.children){const r=a.visits+Number.EPSILON,i=a.value/r+Math.sqrt(2*Math.log(t.visits)/r);(null==e||i>s)&&(s=i,e=a)}return this.select(e)}expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.gameover)return t;const s=this.random(e.length),a=e[s];t.actions.splice(s,1);const r=this.reducer(t.state,a),i=this.createNode({state:r,parentAction:a,parent:t});return t.children.push(i),i}playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeof this.playoutDepth&&(e=this.playoutDepth(t.G,t.ctx));for(let s=0;s{const r=i[a];return r.checker(e,s)?t+r.weight:t},0);if(n>0)return{score:n};if(!r||0===r.length)return;const o=this.random(r.length);t=this.reducer(t,r[o])}return t.ctx.gameover}backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),!0===e.draw&&(t.value+=.5),t.parentAction&&e.winner===t.parentAction.payload.playerID&&t.value++,t.parent&&this.backpropagate(t.parent,e)}play(t,e){const s=this.createNode({state:t,playerID:e});let r=this.getOpt("iterations");"function"==typeof this.iterations&&(r=this.iterations(t.G,t.ctx));const i=()=>{let t=null;for(const e of s.children)(null==t||e.visits>t.visits)&&(t=e);return{action:t&&t.parentAction,metadata:s}};return new Promise(t=>{const e=()=>{for(let t=0;t{this.iterationCountere;function a(e,t){for(const n in t)e[n]=t[n];return e}function s(e){return e()}function i(){return Object.create(null)}function c(e){e.forEach(s)}function u(e){return"function"==typeof e}function d(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function f(e){return 0===Object.keys(e).length}function p(e,...t){if(null==e)return l;const n=e.subscribe(...t);return n.unsubscribe?()=>n.unsubscribe():n}function m(e,t,n){e.$$.on_destroy.push(p(t,n))}function g(e,t,n,r){if(e){const l=v(e,t,n,r);return e[0](l)}}function v(e,t,n,r){return e[1]&&r?a(n.ctx.slice(),e[1](r(t))):n.ctx}function $(e,t,n,r){if(e[2]&&r){const l=e[2](r(n));if(void 0===t.dirty)return l;if("object"==typeof l){const e=[],n=Math.max(t.dirty.length,l.length);for(let r=0;r32){const t=[],n=e.ctx.length/32;for(let e=0;ewindow.performance.now():()=>Date.now(),P=w?e=>requestAnimationFrame(e):l;const j=new Set;function E(e){j.forEach(t=>{t.c(e)||(j.delete(t),t.f())}),0!==j.size&&P(E)}function A(e){let t;return 0===j.size&&P(E),{promise:new Promise(n=>{j.add(t={c:e,f:n})}),abort(){j.delete(t)}}}function O(e,t){e.appendChild(t)}function z(e,t,n){const r=_(e);if(!r.getElementById(t)){const e=M("style");e.id=t,e.textContent=n,C(r,e)}}function _(e){if(!e)return document;const t=e.getRootNode?e.getRootNode():e.ownerDocument;return t.host?t:document}function S(e){const t=M("style");return C(_(e),t),t}function C(e,t){O(e.head||e,t)}function q(e,t,n){e.insertBefore(t,n||null)}function I(e){e.parentNode.removeChild(e)}function D(e,t){for(let n=0;ne.removeEventListener(t,n,r)}function G(e){return function(t){return t.stopPropagation(),e.call(this,t)}}function R(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function J(e){return""===e?null:+e}function F(e){return Array.from(e.childNodes)}function H(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function L(e,t){e.value=null==t?"":t}function U(e,t){for(let n=0;n>>0}function ne(e,t,n,r,l,o,a,s=0){const i=16.666/r;let c="{\n";for(let v=0;v<=1;v+=i){const e=t+(n-t)*o(v);c+=100*v+`%{${a(e,1-e)}}\n`}const u=c+`100% {${a(n,1-n)}}\n}`,d=`__svelte_${te(u)}_${s}`,f=_(e);Z.add(f);const p=f.__svelte_stylesheet||(f.__svelte_stylesheet=S(e).sheet),m=f.__svelte_rules||(f.__svelte_rules={});m[d]||(m[d]=!0,p.insertRule(`@keyframes ${d} ${u}`,p.cssRules.length));const g=e.style.animation||"";return e.style.animation=`${g?`${g}, `:""}${d} ${r}ms linear ${l}ms 1 both`,ee+=1,d}function re(e,t){const n=(e.style.animation||"").split(", "),r=n.filter(t?e=>e.indexOf(t)<0:e=>-1===e.indexOf("__svelte")),l=n.length-r.length;l&&(e.style.animation=r.join(", "),(ee-=l)||le())}function le(){P(()=>{ee||(Z.forEach(e=>{const t=e.__svelte_stylesheet;let n=t.cssRules.length;for(;n--;)t.deleteRule(n);e.__svelte_rules={}}),Z.clear())})}function oe(e){Q=e}function ae(){if(!Q)throw new Error("Function called outside component initialization");return Q}function se(e){ae().$$.after_update.push(e)}function ie(e){ae().$$.on_destroy.push(e)}function ce(){const e=ae();return(t,n)=>{const r=e.$$.callbacks[t];if(r){const l=Y(t,n);r.slice().forEach(t=>{t.call(e,l)})}}}function ue(e,t){ae().$$.context.set(e,t)}function de(e){return ae().$$.context.get(e)}function fe(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>e.call(this,t))}const pe=[],me=[],ge=[],ve=[],$e=Promise.resolve();let ye=!1;function he(){ye||(ye=!0,$e.then(ke))}function be(e){ge.push(e)}let xe=!1;const we=new Set;function ke(){if(!xe){xe=!0;do{for(let e=0;e{je=null}),je}function Ae(e,t,n){e.dispatchEvent(Y(`${t?"intro":"outro"}${n}`))}const Oe=new Set;let ze;function _e(){ze={r:0,c:[],p:ze}}function Se(){ze.r||c(ze.c),ze=ze.p}function Ce(e,t){e&&e.i&&(Oe.delete(e),e.i(t))}function qe(e,t,n,r){if(e&&e.o){if(Oe.has(e))return;Oe.add(e),ze.c.push(()=>{Oe.delete(e),r&&(n&&e.d(1),r())}),e.o(t)}}const Ie={duration:0};function De(e,t,n,r){let a=t(e,n),s=r?0:1,i=null,d=null,f=null;function p(){f&&re(e,f)}function m(e,t){const n=e.b-s;return t*=Math.abs(n),{a:s,b:e.b,d:n,duration:t,start:e.start,end:e.start+t,group:e.group}}function g(t){const{delay:n=0,duration:r=300,easing:u=o,tick:g=l,css:v}=a||Ie,$={start:k()+n,b:t};t||($.group=ze,ze.r+=1),i||d?d=$:(v&&(p(),f=ne(e,s,t,r,n,u,v)),t&&g(0,1),i=m($,r),be(()=>Ae(e,t,"start")),A(t=>{if(d&&t>d.start&&(i=m(d,r),d=null,Ae(e,i.b,"start"),v&&(p(),f=ne(e,s,i.b,i.duration,0,u,a.css))),i)if(t>=i.end)g(s=i.b,1-s),Ae(e,i.b,"end"),d||(i.b?p():--i.group.r||c(i.group.c)),i=null;else if(t>=i.start){const e=t-i.start;s=i.a+i.d*u(e/i.duration),g(s,1-s)}return!(!i&&!d)}))}return{run(e){u(a)?Ee().then(()=>{a=a(),g(e)}):g(e)},end(){p(),i=d=null}}}function Me(e,t){const n={},r={},l={$$scope:1};let o=e.length;for(;o--;){const a=e[o],s=t[o];if(s){for(const e in a)e in s||(r[e]=1);for(const e in s)l[e]||(n[e]=s[e],l[e]=1);e[o]=s}else for(const e in a)l[e]=1}for(const a in r)a in n||(n[a]=void 0);return n}function Ne(e){return"object"==typeof e&&null!==e?e:{}}function Te(e){e&&e.c()}function Be(e,t,n,r){const{fragment:l,on_mount:o,on_destroy:a,after_update:i}=e.$$;l&&l.m(t,n),r||be(()=>{const t=o.map(s).filter(u);a?a.push(...t):c(t),e.$$.on_mount=[]}),i.forEach(be)}function Ve(e,t){const n=e.$$;null!==n.fragment&&(c(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function Ke(e,t){-1===e.$$.dirty[0]&&(pe.push(e),he(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<{const l=r.length?r[0]:n;return f.ctx&&o(f.ctx[t],f.ctx[t]=l)&&(!f.skip_bound&&f.bound[t]&&f.bound[t](l),p&&Ke(e,t)),n}):[],f.update(),p=!0,c(f.before_update),f.fragment=!!r&&r(f.ctx),t.target){if(t.hydrate){const e=F(t.target);f.fragment&&f.fragment.l(e),e.forEach(I)}else f.fragment&&f.fragment.c();t.intro&&Ce(e.$$.fragment),Be(e,t.target,t.anchor,t.customElement),ke()}oe(d)}class Re{$destroy(){Ve(this,1),this.$destroy=l}$on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(e){this.$$set&&!f(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Je=[];function Fe(e,t=l){let n;const r=new Set;function o(t){if(d(e,t)&&(e=t,n)){const t=!Je.length;for(const n of r)n[1](),Je.push(n,e);if(t){for(let e=0;e{r.delete(i),0===r.size&&(n(),n=null)}}}}function He(e){const t=e-1;return t*t*t+1}function Le(e,{delay:t=0,duration:n=400,easing:r=He,x:l=0,y:o=0,opacity:a=0}={}){const s=getComputedStyle(e),i=+s.opacity,c="none"===s.transform?"":s.transform,u=i*(1-a);return{delay:t,duration:n,easing:r,css:(e,t)=>`\n\t\t\ttransform: ${c} translate(${(1-e)*l}px, ${(1-e)*o}px);\n\t\t\topacity: ${i-u*t}`}}function Ue(e){z(e,"svelte-14p9tpy",".menu.svelte-14p9tpy{display:flex;margin-top:-10px;flex-direction:row-reverse;border:1px solid #ccc;border-radius:5px 5px 0 0;height:25px;line-height:25px;margin-right:-500px;transform-origin:bottom right;transform:rotate(-90deg) translate(0, -500px)}.menu-item.svelte-14p9tpy{line-height:25px;cursor:pointer;border:0;background:#fefefe;color:#555;padding-left:15px;padding-right:15px;text-align:center}.menu-item.svelte-14p9tpy:first-child{border-radius:0 5px 0 0}.menu-item.svelte-14p9tpy:last-child{border-radius:5px 0 0 0}.menu-item.active.svelte-14p9tpy{cursor:default;font-weight:bold;background:#ddd;color:#555}.menu-item.svelte-14p9tpy:hover,.menu-item.svelte-14p9tpy:focus{background:#eee;color:#555}")}function We(e,t,n){const r=e.slice();return r[4]=t[n][0],r[5]=t[n][1].label,r}function Xe(e){let t,n,r,l,o,a=e[5]+"";function s(){return e[3](e[4])}return{c(){t=M("button"),n=T(a),r=B(),R(t,"class","menu-item svelte-14p9tpy"),X(t,"active",e[0]==e[4])},m(e,a){q(e,t,a),O(t,n),O(t,r),l||(o=K(t,"click",s),l=!0)},p(r,l){e=r,2&l&&a!==(a=e[5]+"")&&H(n,a),3&l&&X(t,"active",e[0]==e[4])},d(e){e&&I(t),l=!1,o()}}}function Ye(e){let t,n=Object.entries(e[1]),r=[];for(let l=0;l{"pane"in e&&n(0,r=e.pane),"panes"in e&&n(1,l=e.panes)}),[r,l,o,e=>o("change",e)]}class Qe extends Re{constructor(e){super(),Ge(this,e,Ze,Ye,d,{pane:0,panes:1},Ue)}}var et={};function tt(e){z(e,"svelte-1vyml86",".container.svelte-1vyml86{display:inline-block;cursor:pointer;transform:translate(calc(0px - var(--li-identation)), -50%);position:absolute;top:50%;padding-right:100%}.arrow.svelte-1vyml86{transform-origin:25% 50%;position:relative;line-height:1.1em;font-size:0.75em;margin-left:0;transition:150ms;color:var(--arrow-sign);user-select:none;font-family:'Courier New', Courier, monospace}.expanded.svelte-1vyml86{transform:rotateZ(90deg) translateX(-3px)}")}function nt(e){let t,n,r,o;return{c(){t=M("div"),(n=M("div")).textContent="▶",R(n,"class","arrow svelte-1vyml86"),X(n,"expanded",e[0]),R(t,"class","container svelte-1vyml86")},m(l,a){q(l,t,a),O(t,n),r||(o=K(t,"click",e[1]),r=!0)},p(e,[t]){1&t&&X(n,"expanded",e[0])},i:l,o:l,d(e){e&&I(t),r=!1,o()}}}function rt(e,t,n){let{expanded:r}=t;return e.$$set=(e=>{"expanded"in e&&n(0,r=e.expanded)}),[r,function(t){fe.call(this,e,t)}]}class lt extends Re{constructor(e){super(),Ge(this,e,rt,nt,d,{expanded:0},tt)}}function ot(e){z(e,"svelte-1vlbacg","label.svelte-1vlbacg{display:inline-block;color:var(--label-color);padding:0}.spaced.svelte-1vlbacg{padding-right:var(--li-colon-space)}")}function at(e){let t,n,r,l,o,a;return{c(){t=M("label"),n=M("span"),r=T(e[0]),l=T(e[2]),R(t,"class","svelte-1vlbacg"),X(t,"spaced",e[1])},m(s,i){q(s,t,i),O(t,n),O(n,r),O(n,l),o||(a=K(t,"click",e[5]),o=!0)},p(e,n){1&n&&H(r,e[0]),4&n&&H(l,e[2]),2&n&&X(t,"spaced",e[1])},d(e){e&&I(t),o=!1,a()}}}function st(e){let t,n=e[3]&&e[0]&&at(e);return{c(){n&&n.c(),t=V()},m(e,r){n&&n.m(e,r),q(e,t,r)},p(e,[r]){e[3]&&e[0]?n?n.p(e,r):((n=at(e)).c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:l,o:l,d(e){n&&n.d(e),e&&I(t)}}}function it(e,t,n){let r,{key:l,isParentExpanded:o,isParentArray:a=!1,colon:s=":"}=t;return e.$$set=(e=>{"key"in e&&n(0,l=e.key),"isParentExpanded"in e&&n(1,o=e.isParentExpanded),"isParentArray"in e&&n(4,a=e.isParentArray),"colon"in e&&n(2,s=e.colon)}),e.$$.update=(()=>{19&e.$$.dirty&&n(3,r=o||!a||l!=+l)}),[l,o,s,r,a,function(t){fe.call(this,e,t)}]}class ct extends Re{constructor(e){super(),Ge(this,e,it,st,d,{key:0,isParentExpanded:1,isParentArray:4,colon:2},ot)}}function ut(e){z(e,"svelte-rwxv37","label.svelte-rwxv37{display:inline-block}.indent.svelte-rwxv37{padding-left:var(--li-identation)}.collapse.svelte-rwxv37{--li-display:inline;display:inline;font-style:italic}.comma.svelte-rwxv37{margin-left:-0.5em;margin-right:0.5em}label.svelte-rwxv37{position:relative}")}function dt(e,t,n){const r=e.slice();return r[12]=t[n],r[20]=n,r}function ft(e){let t,n;return(t=new lt({props:{expanded:e[0]}})).$on("click",e[15]),{c(){Te(t.$$.fragment)},m(e,r){Be(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.expanded=e[0]),t.$set(r)},i(e){n||(Ce(t.$$.fragment,e),n=!0)},o(e){qe(t.$$.fragment,e),n=!1},d(e){Ve(t,e)}}}function pt(e){let t;return{c(){(t=M("span")).textContent="…"},m(e,n){q(e,t,n)},p:l,i:l,o:l,d(e){e&&I(t)}}}function mt(e){let t,n,r,l,o,a=e[13],s=[];for(let u=0;uqe(s[e],1,1,()=>{s[e]=null});let c=e[13].length{h=null}),Se());const a={};4096&o&&(a.key=e[12]),4&o&&(a.isParentExpanded=e[2]),8&o&&(a.isParentArray=e[3]),l.$set(a),(!v||2&o)&&H(i,e[1]),(!v||32&o)&&H(c,e[5]);let s=d;(d=w(e))===s?x[d].p(e,o):(_e(),qe(x[s],1,1,()=>{x[s]=null}),Se(),(f=x[d])?f.p(e,o):(f=x[d]=b[d](e)).c(),Ce(f,1),f.m(t,p)),(!v||64&o)&&H(g,e[6]),4&o&&X(t,"indent",e[2])},i(e){v||(Ce(h),Ce(l.$$.fragment,e),Ce(f),v=!0)},o(e){qe(h),qe(l.$$.fragment,e),qe(f),v=!1},d(e){e&&I(t),h&&h.d(),Ve(l),x[d].d(),$=!1,y()}}}function ht(e,t,n){let r,{key:l,keys:o,colon:a=":",label:s="",isParentExpanded:i,isParentArray:c,isArray:u=!1,bracketOpen:d,bracketClose:f}=t,{previewKeys:p=o}=t,{getKey:m=(e=>e)}=t,{getValue:g=(e=>e)}=t,{getPreviewValue:v=g}=t,{expanded:$=!1,expandable:y=!0}=t;const h=de(et);return ue(et,{...h,colon:a}),e.$$set=(e=>{"key"in e&&n(12,l=e.key),"keys"in e&&n(17,o=e.keys),"colon"in e&&n(18,a=e.colon),"label"in e&&n(1,s=e.label),"isParentExpanded"in e&&n(2,i=e.isParentExpanded),"isParentArray"in e&&n(3,c=e.isParentArray),"isArray"in e&&n(4,u=e.isArray),"bracketOpen"in e&&n(5,d=e.bracketOpen),"bracketClose"in e&&n(6,f=e.bracketClose),"previewKeys"in e&&n(7,p=e.previewKeys),"getKey"in e&&n(8,m=e.getKey),"getValue"in e&&n(9,g=e.getValue),"getPreviewValue"in e&&n(10,v=e.getPreviewValue),"expanded"in e&&n(0,$=e.expanded),"expandable"in e&&n(11,y=e.expandable)}),e.$$.update=(()=>{4&e.$$.dirty&&(i||n(0,$=!1)),131201&e.$$.dirty&&n(13,r=$?o:p.slice(0,5))}),[$,s,i,c,u,d,f,p,m,g,v,y,l,r,h,function(){n(0,$=!$)},function(){n(0,$=!0)},o,a]}class bt extends Re{constructor(e){super(),Ge(this,e,ht,yt,d,{key:12,keys:17,colon:18,label:1,isParentExpanded:2,isParentArray:3,isArray:4,bracketOpen:5,bracketClose:6,previewKeys:7,getKey:8,getValue:9,getPreviewValue:10,expanded:0,expandable:11},ut)}}function xt(e){let t,n;return t=new bt({props:{key:e[0],expanded:e[4],isParentExpanded:e[1],isParentArray:e[2],keys:e[5],previewKeys:e[5],getValue:e[6],label:e[3]+" ",bracketOpen:"{",bracketClose:"}"}}),{c(){Te(t.$$.fragment)},m(e,r){Be(t,e,r),n=!0},p(e,[n]){const r={};1&n&&(r.key=e[0]),16&n&&(r.expanded=e[4]),2&n&&(r.isParentExpanded=e[1]),4&n&&(r.isParentArray=e[2]),32&n&&(r.keys=e[5]),32&n&&(r.previewKeys=e[5]),8&n&&(r.label=e[3]+" "),t.$set(r)},i(e){n||(Ce(t.$$.fragment,e),n=!0)},o(e){qe(t.$$.fragment,e),n=!1},d(e){Ve(t,e)}}}function wt(e,t,n){let r,{key:l,value:o,isParentExpanded:a,isParentArray:s,nodeType:i}=t,{expanded:c=!0}=t;return e.$$set=(e=>{"key"in e&&n(0,l=e.key),"value"in e&&n(7,o=e.value),"isParentExpanded"in e&&n(1,a=e.isParentExpanded),"isParentArray"in e&&n(2,s=e.isParentArray),"nodeType"in e&&n(3,i=e.nodeType),"expanded"in e&&n(4,c=e.expanded)}),e.$$.update=(()=>{128&e.$$.dirty&&n(5,r=Object.getOwnPropertyNames(o))}),[l,a,s,i,c,r,function(e){return o[e]},o]}class kt extends Re{constructor(e){super(),Ge(this,e,wt,xt,d,{key:0,value:7,isParentExpanded:1,isParentArray:2,nodeType:3,expanded:4})}}function Pt(e){let t,n;return t=new bt({props:{key:e[0],expanded:e[4],isParentExpanded:e[2],isParentArray:e[3],isArray:!0,keys:e[5],previewKeys:e[6],getValue:e[7],label:"Array("+e[1].length+")",bracketOpen:"[",bracketClose:"]"}}),{c(){Te(t.$$.fragment)},m(e,r){Be(t,e,r),n=!0},p(e,[n]){const r={};1&n&&(r.key=e[0]),16&n&&(r.expanded=e[4]),4&n&&(r.isParentExpanded=e[2]),8&n&&(r.isParentArray=e[3]),32&n&&(r.keys=e[5]),64&n&&(r.previewKeys=e[6]),2&n&&(r.label="Array("+e[1].length+")"),t.$set(r)},i(e){n||(Ce(t.$$.fragment,e),n=!0)},o(e){qe(t.$$.fragment,e),n=!1},d(e){Ve(t,e)}}}function jt(e,t,n){let r,l,{key:o,value:a,isParentExpanded:s,isParentArray:i}=t,{expanded:c=JSON.stringify(a).length<1024}=t;const u=new Set(["length"]);return e.$$set=(e=>{"key"in e&&n(0,o=e.key),"value"in e&&n(1,a=e.value),"isParentExpanded"in e&&n(2,s=e.isParentExpanded),"isParentArray"in e&&n(3,i=e.isParentArray),"expanded"in e&&n(4,c=e.expanded)}),e.$$.update=(()=>{2&e.$$.dirty&&n(5,r=Object.getOwnPropertyNames(a)),32&e.$$.dirty&&n(6,l=r.filter(e=>!u.has(e)))}),[o,a,s,i,c,r,l,function(e){return a[e]}]}class Et extends Re{constructor(e){super(),Ge(this,e,jt,Pt,d,{key:0,value:1,isParentExpanded:2,isParentArray:3,expanded:4})}}function At(e){let t,n;return t=new bt({props:{key:e[0],isParentExpanded:e[1],isParentArray:e[2],keys:e[4],getKey:Ot,getValue:zt,isArray:!0,label:e[3]+"("+e[4].length+")",bracketOpen:"{",bracketClose:"}"}}),{c(){Te(t.$$.fragment)},m(e,r){Be(t,e,r),n=!0},p(e,[n]){const r={};1&n&&(r.key=e[0]),2&n&&(r.isParentExpanded=e[1]),4&n&&(r.isParentArray=e[2]),16&n&&(r.keys=e[4]),24&n&&(r.label=e[3]+"("+e[4].length+")"),t.$set(r)},i(e){n||(Ce(t.$$.fragment,e),n=!0)},o(e){qe(t.$$.fragment,e),n=!1},d(e){Ve(t,e)}}}function Ot(e){return String(e[0])}function zt(e){return e[1]}function _t(e,t,n){let{key:r,value:l,isParentExpanded:o,isParentArray:a,nodeType:s}=t,i=[];return e.$$set=(e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(5,l=e.value),"isParentExpanded"in e&&n(1,o=e.isParentExpanded),"isParentArray"in e&&n(2,a=e.isParentArray),"nodeType"in e&&n(3,s=e.nodeType)}),e.$$.update=(()=>{if(32&e.$$.dirty){let e=[],t=0;for(const n of l)e.push([t++,n]);n(4,i=e)}}),[r,o,a,s,i,l]}class St extends Re{constructor(e){super(),Ge(this,e,_t,At,d,{key:0,value:5,isParentExpanded:1,isParentArray:2,nodeType:3})}}class Ct{constructor(e,t){this.key=e,this.value=t}}function qt(e){let t,n;return t=new bt({props:{key:e[0],isParentExpanded:e[1],isParentArray:e[2],keys:e[4],getKey:It,getValue:Dt,label:e[3]+"("+e[4].length+")",colon:"",bracketOpen:"{",bracketClose:"}"}}),{c(){Te(t.$$.fragment)},m(e,r){Be(t,e,r),n=!0},p(e,[n]){const r={};1&n&&(r.key=e[0]),2&n&&(r.isParentExpanded=e[1]),4&n&&(r.isParentArray=e[2]),16&n&&(r.keys=e[4]),24&n&&(r.label=e[3]+"("+e[4].length+")"),t.$set(r)},i(e){n||(Ce(t.$$.fragment,e),n=!0)},o(e){qe(t.$$.fragment,e),n=!1},d(e){Ve(t,e)}}}function It(e){return e[0]}function Dt(e){return e[1]}function Mt(e,t,n){let{key:r,value:l,isParentExpanded:o,isParentArray:a,nodeType:s}=t,i=[];return e.$$set=(e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(5,l=e.value),"isParentExpanded"in e&&n(1,o=e.isParentExpanded),"isParentArray"in e&&n(2,a=e.isParentArray),"nodeType"in e&&n(3,s=e.nodeType)}),e.$$.update=(()=>{if(32&e.$$.dirty){let e=[],t=0;for(const n of l)e.push([t++,new Ct(n[0],n[1])]);n(4,i=e)}}),[r,o,a,s,i,l]}class Nt extends Re{constructor(e){super(),Ge(this,e,Mt,qt,d,{key:0,value:5,isParentExpanded:1,isParentArray:2,nodeType:3})}}function Tt(e){let t,n;return t=new bt({props:{expanded:e[4],isParentExpanded:e[2],isParentArray:e[3],key:e[2]?String(e[0]):e[1].key,keys:e[5],getValue:e[6],label:e[2]?"Entry ":"=> ",bracketOpen:"{",bracketClose:"}"}}),{c(){Te(t.$$.fragment)},m(e,r){Be(t,e,r),n=!0},p(e,[n]){const r={};16&n&&(r.expanded=e[4]),4&n&&(r.isParentExpanded=e[2]),8&n&&(r.isParentArray=e[3]),7&n&&(r.key=e[2]?String(e[0]):e[1].key),4&n&&(r.label=e[2]?"Entry ":"=> "),t.$set(r)},i(e){n||(Ce(t.$$.fragment,e),n=!0)},o(e){qe(t.$$.fragment,e),n=!1},d(e){Ve(t,e)}}}function Bt(e,t,n){let{key:r,value:l,isParentExpanded:o,isParentArray:a}=t,{expanded:s=!1}=t;return e.$$set=(e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(1,l=e.value),"isParentExpanded"in e&&n(2,o=e.isParentExpanded),"isParentArray"in e&&n(3,a=e.isParentArray),"expanded"in e&&n(4,s=e.expanded)}),[r,l,o,a,s,["key","value"],function(e){return l[e]}]}class Vt extends Re{constructor(e){super(),Ge(this,e,Bt,Tt,d,{key:0,value:1,isParentExpanded:2,isParentArray:3,expanded:4})}}function Kt(e){z(e,"svelte-3bjyvl","li.svelte-3bjyvl{user-select:text;word-wrap:break-word;word-break:break-all}.indent.svelte-3bjyvl{padding-left:var(--li-identation)}.String.svelte-3bjyvl{color:var(--string-color)}.Date.svelte-3bjyvl{color:var(--date-color)}.Number.svelte-3bjyvl{color:var(--number-color)}.Boolean.svelte-3bjyvl{color:var(--boolean-color)}.Null.svelte-3bjyvl{color:var(--null-color)}.Undefined.svelte-3bjyvl{color:var(--undefined-color)}.Function.svelte-3bjyvl{color:var(--function-color);font-style:italic}.Symbol.svelte-3bjyvl{color:var(--symbol-color)}")}function Gt(e){let t,n,r,l,o,a,s,i=(e[2]?e[2](e[1]):e[1])+"";return n=new ct({props:{key:e[0],colon:e[6],isParentExpanded:e[3],isParentArray:e[4]}}),{c(){t=M("li"),Te(n.$$.fragment),r=B(),l=M("span"),o=T(i),R(l,"class",a=x(e[5])+" svelte-3bjyvl"),R(t,"class","svelte-3bjyvl"),X(t,"indent",e[3])},m(e,a){q(e,t,a),Be(n,t,null),O(t,r),O(t,l),O(l,o),s=!0},p(e,[r]){const c={};1&r&&(c.key=e[0]),8&r&&(c.isParentExpanded=e[3]),16&r&&(c.isParentArray=e[4]),n.$set(c),(!s||6&r)&&i!==(i=(e[2]?e[2](e[1]):e[1])+"")&&H(o,i),(!s||32&r&&a!==(a=x(e[5])+" svelte-3bjyvl"))&&R(l,"class",a),8&r&&X(t,"indent",e[3])},i(e){s||(Ce(n.$$.fragment,e),s=!0)},o(e){qe(n.$$.fragment,e),s=!1},d(e){e&&I(t),Ve(n)}}}function Rt(e,t,n){let{key:r,value:l,valueGetter:o=null,isParentExpanded:a,isParentArray:s,nodeType:i}=t;const{colon:c}=de(et);return e.$$set=(e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(1,l=e.value),"valueGetter"in e&&n(2,o=e.valueGetter),"isParentExpanded"in e&&n(3,a=e.isParentExpanded),"isParentArray"in e&&n(4,s=e.isParentArray),"nodeType"in e&&n(5,i=e.nodeType)}),[r,l,o,a,s,i,c]}class Jt extends Re{constructor(e){super(),Ge(this,e,Rt,Gt,d,{key:0,value:1,valueGetter:2,isParentExpanded:3,isParentArray:4,nodeType:5},Kt)}}function Ft(e){z(e,"svelte-1ca3gb2","li.svelte-1ca3gb2{user-select:text;word-wrap:break-word;word-break:break-all}.indent.svelte-1ca3gb2{padding-left:var(--li-identation)}.collapse.svelte-1ca3gb2{--li-display:inline;display:inline;font-style:italic}")}function Ht(e,t,n){const r=e.slice();return r[8]=t[n],r[10]=n,r}function Lt(e){let t,n;return(t=new lt({props:{expanded:e[0]}})).$on("click",e[7]),{c(){Te(t.$$.fragment)},m(e,r){Be(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.expanded=e[0]),t.$set(r)},i(e){n||(Ce(t.$$.fragment,e),n=!0)},o(e){qe(t.$$.fragment,e),n=!1},d(e){Ve(t,e)}}}function Ut(e){let t,n,r=e[0]&&Wt(e);return{c(){t=M("ul"),r&&r.c(),R(t,"class","svelte-1ca3gb2"),X(t,"collapse",!e[0])},m(e,l){q(e,t,l),r&&r.m(t,null),n=!0},p(e,n){e[0]?r?(r.p(e,n),1&n&&Ce(r,1)):((r=Wt(e)).c(),Ce(r,1),r.m(t,null)):r&&(_e(),qe(r,1,1,()=>{r=null}),Se()),1&n&&X(t,"collapse",!e[0])},i(e){n||(Ce(r),n=!0)},o(e){qe(r),n=!1},d(e){e&&I(t),r&&r.d()}}}function Wt(e){let t,n,r,l,o,a,s;t=new rn({props:{key:"message",value:e[2].message}}),l=new ct({props:{key:"stack",colon:":",isParentExpanded:e[3]}});let i=e[5],c=[];for(let u=0;u0)},m(e,l){q(e,t,l),O(t,n),q(e,r,l)},p(e,t){32&t&&l!==(l=e[8]+"")&&H(n,l)},d(e){e&&I(t),e&&I(r)}}}function Yt(e){let t,n,r,l,o,a,s,i,c,u,d,f=(e[0]?"":e[2].message)+"",p=e[3]&&Lt(e);r=new ct({props:{key:e[1],colon:e[6].colon,isParentExpanded:e[3],isParentArray:e[4]}});let m=e[3]&&Ut(e);return{c(){t=M("li"),p&&p.c(),n=B(),Te(r.$$.fragment),l=B(),o=M("span"),a=T("Error: "),s=T(f),i=B(),m&&m.c(),R(t,"class","svelte-1ca3gb2"),X(t,"indent",e[3])},m(f,g){q(f,t,g),p&&p.m(t,null),O(t,n),Be(r,t,null),O(t,l),O(t,o),O(o,a),O(o,s),O(t,i),m&&m.m(t,null),c=!0,u||(d=K(o,"click",e[7]),u=!0)},p(e,[l]){e[3]?p?(p.p(e,l),8&l&&Ce(p,1)):((p=Lt(e)).c(),Ce(p,1),p.m(t,n)):p&&(_e(),qe(p,1,1,()=>{p=null}),Se());const o={};2&l&&(o.key=e[1]),8&l&&(o.isParentExpanded=e[3]),16&l&&(o.isParentArray=e[4]),r.$set(o),(!c||5&l)&&f!==(f=(e[0]?"":e[2].message)+"")&&H(s,f),e[3]?m?(m.p(e,l),8&l&&Ce(m,1)):((m=Ut(e)).c(),Ce(m,1),m.m(t,null)):m&&(_e(),qe(m,1,1,()=>{m=null}),Se()),8&l&&X(t,"indent",e[3])},i(e){c||(Ce(p),Ce(r.$$.fragment,e),Ce(m),c=!0)},o(e){qe(p),qe(r.$$.fragment,e),qe(m),c=!1},d(e){e&&I(t),p&&p.d(),Ve(r),m&&m.d(),u=!1,d()}}}function Zt(e,t,n){let r,{key:l,value:o,isParentExpanded:a,isParentArray:s}=t,{expanded:i=!1}=t;const c=de(et);return ue(et,{...c,colon:":"}),e.$$set=(e=>{"key"in e&&n(1,l=e.key),"value"in e&&n(2,o=e.value),"isParentExpanded"in e&&n(3,a=e.isParentExpanded),"isParentArray"in e&&n(4,s=e.isParentArray),"expanded"in e&&n(0,i=e.expanded)}),e.$$.update=(()=>{4&e.$$.dirty&&n(5,r=o.stack.split("\n")),8&e.$$.dirty&&(a||n(0,i=!1))}),[i,l,o,a,s,r,c,function(){n(0,i=!i)}]}class Qt extends Re{constructor(e){super(),Ge(this,e,Zt,Yt,d,{key:1,value:2,isParentExpanded:3,isParentArray:4,expanded:0},Ft)}}function en(e){const t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t?"function"==typeof e[Symbol.iterator]?"Iterable":e.constructor.name:t}function tn(e){let t,n,r;var l=e[6];function o(e){return{props:{key:e[0],value:e[1],isParentExpanded:e[2],isParentArray:e[3],nodeType:e[4],valueGetter:e[5]}}}return l&&(t=new l(o(e))),{c(){t&&Te(t.$$.fragment),n=V()},m(e,l){t&&Be(t,e,l),q(e,n,l),r=!0},p(e,[r]){const a={};if(1&r&&(a.key=e[0]),2&r&&(a.value=e[1]),4&r&&(a.isParentExpanded=e[2]),8&r&&(a.isParentArray=e[3]),16&r&&(a.nodeType=e[4]),32&r&&(a.valueGetter=e[5]),l!==(l=e[6])){if(t){_e();const e=t;qe(e.$$.fragment,1,0,()=>{Ve(e,1)}),Se()}l?(Te((t=new l(o(e))).$$.fragment),Ce(t.$$.fragment,1),Be(t,n.parentNode,n)):t=null}else l&&t.$set(a)},i(e){r||(t&&Ce(t.$$.fragment,e),r=!0)},o(e){t&&qe(t.$$.fragment,e),r=!1},d(e){e&&I(n),t&&Ve(t,e)}}}function nn(e,t,n){let r,l,o,{key:a,value:s,isParentExpanded:i,isParentArray:c}=t;return e.$$set=(e=>{"key"in e&&n(0,a=e.key),"value"in e&&n(1,s=e.value),"isParentExpanded"in e&&n(2,i=e.isParentExpanded),"isParentArray"in e&&n(3,c=e.isParentArray)}),e.$$.update=(()=>{2&e.$$.dirty&&n(4,r=en(s)),16&e.$$.dirty&&n(6,l=function(e){switch(e){case"Object":return kt;case"Error":return Qt;case"Array":return Et;case"Iterable":case"Map":case"Set":return"function"==typeof s.set?Nt:St;case"MapEntry":return Vt;default:return Jt}}(r)),16&e.$$.dirty&&n(5,o=function(e){switch(e){case"Object":case"Error":case"Array":case"Iterable":case"Map":case"Set":case"MapEntry":case"Number":return;case"String":return e=>`"${e}"`;case"Boolean":return e=>e?"true":"false";case"Date":return e=>e.toISOString();case"Null":return()=>"null";case"Undefined":return()=>"undefined";case"Function":case"Symbol":return e=>e.toString();default:return()=>`<${e}>`}}(r))}),[a,s,i,c,r,o,l]}class rn extends Re{constructor(e){super(),Ge(this,e,nn,tn,d,{key:0,value:1,isParentExpanded:2,isParentArray:3})}}function ln(e){z(e,"svelte-773n60","ul.svelte-773n60{--string-color:var(--json-tree-string-color, #cb3f41);--symbol-color:var(--json-tree-symbol-color, #cb3f41);--boolean-color:var(--json-tree-boolean-color, #112aa7);--function-color:var(--json-tree-function-color, #112aa7);--number-color:var(--json-tree-number-color, #3029cf);--label-color:var(--json-tree-label-color, #871d8f);--arrow-color:var(--json-tree-arrow-color, #727272);--null-color:var(--json-tree-null-color, #8d8d8d);--undefined-color:var(--json-tree-undefined-color, #8d8d8d);--date-color:var(--json-tree-date-color, #8d8d8d);--li-identation:var(--json-tree-li-indentation, 1em);--li-line-height:var(--json-tree-li-line-height, 1.3);--li-colon-space:0.3em;font-size:var(--json-tree-font-size, 12px);font-family:var(--json-tree-font-family, 'Courier New', Courier, monospace)}ul.svelte-773n60 li{line-height:var(--li-line-height);display:var(--li-display, list-item);list-style:none}ul.svelte-773n60,ul.svelte-773n60 ul{padding:0;margin:0}")}function on(e){let t,n,r;return n=new rn({props:{key:e[0],value:e[1],isParentExpanded:!0,isParentArray:!1}}),{c(){t=M("ul"),Te(n.$$.fragment),R(t,"class","svelte-773n60")},m(e,l){q(e,t,l),Be(n,t,null),r=!0},p(e,[t]){const r={};1&t&&(r.key=e[0]),2&t&&(r.value=e[1]),n.$set(r)},i(e){r||(Ce(n.$$.fragment,e),r=!0)},o(e){qe(n.$$.fragment,e),r=!1},d(e){e&&I(t),Ve(n)}}}function an(e,t,n){ue(et,{});let{key:r="",value:l}=t;return e.$$set=(e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(1,l=e.value)}),[r,l]}class sn extends Re{constructor(e){super(),Ge(this,e,an,on,d,{key:0,value:1},ln)}}function cn(e){z(e,"svelte-jvfq3i",".svelte-jvfq3i{box-sizing:border-box}section.switcher.svelte-jvfq3i{position:sticky;bottom:0;transform:translateY(20px);margin:40px -20px 0;border-top:1px solid #999;padding:20px;background:#fff}label.svelte-jvfq3i{display:flex;align-items:baseline;gap:5px;font-weight:bold}select.svelte-jvfq3i{min-width:140px}")}function un(e,t,n){const r=e.slice();return r[7]=t[n],r[9]=n,r}function dn(e){let t,n,r,l,o,a,s=e[1],i=[];for(let c=0;ce[6].call(l)),R(n,"class","svelte-jvfq3i"),R(t,"class","switcher svelte-jvfq3i")},m(s,c){q(s,t,c),O(t,n),O(n,r),O(n,l);for(let e=0;e1&&dn(e);return{c(){n&&n.c(),t=V()},m(e,r){n&&n.m(e,r),q(e,t,r)},p(e,[r]){e[1].length>1?n?n.p(e,r):((n=dn(e)).c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:l,o:l,d(e){n&&n.d(e),e&&I(t)}}}const mn="bgio-debug-select-client";function gn(e,t,n){let r,o,a,s,i=l,c=()=>(i(),i=p(u,e=>n(5,s=e)),u);e.$$.on_destroy.push(()=>i());let{clientManager:u}=t;c();return e.$$set=(e=>{"clientManager"in e&&c(n(0,u=e.clientManager))}),e.$$.update=(()=>{32&e.$$.dirty&&n(4,({client:r,debuggableClients:o}=s),r,(n(1,o),n(5,s))),18&e.$$.dirty&&n(2,a=o.indexOf(r))}),[u,o,a,e=>{const t=o[e.target.value];u.switchToClient(t);const n=document.getElementById(mn);n&&n.focus()},r,s,function(){a=W(this),n(2,a),n(1,o),n(4,r),n(5,s)}]}class vn extends Re{constructor(e){super(),Ge(this,e,gn,pn,d,{clientManager:0},cn)}}function $n(e){z(e,"svelte-1vfj1mn",".key.svelte-1vfj1mn.svelte-1vfj1mn{display:flex;flex-direction:row;align-items:center}button.svelte-1vfj1mn.svelte-1vfj1mn{cursor:pointer;min-width:10px;padding-left:5px;padding-right:5px;height:20px;line-height:20px;text-align:center;border:1px solid #ccc;box-shadow:1px 1px 1px #888;background:#eee;color:#444}button.svelte-1vfj1mn.svelte-1vfj1mn:hover{background:#ddd}.key.active.svelte-1vfj1mn button.svelte-1vfj1mn{background:#ddd;border:1px solid #999;box-shadow:none}label.svelte-1vfj1mn.svelte-1vfj1mn{margin-left:10px}")}function yn(e){let t,n,r,l,o,a=`(shortcut: ${e[0]})`+"";return{c(){t=M("label"),n=T(e[1]),r=B(),l=M("span"),o=T(a),R(l,"class","screen-reader-only"),R(t,"for",e[5]),R(t,"class","svelte-1vfj1mn")},m(e,a){q(e,t,a),O(t,n),O(t,r),O(t,l),O(l,o)},p(e,t){2&t&&H(n,e[1]),1&t&&a!==(a=`(shortcut: ${e[0]})`+"")&&H(o,a)},d(e){e&&I(t)}}}function hn(e){let t,n,r,o,a,s,i=e[1]&&yn(e);return{c(){t=M("div"),n=M("button"),r=T(e[0]),o=B(),i&&i.c(),R(n,"id",e[5]),n.disabled=e[2],R(n,"class","svelte-1vfj1mn"),R(t,"class","key svelte-1vfj1mn"),X(t,"active",e[3])},m(l,c){q(l,t,c),O(t,n),O(n,r),O(t,o),i&&i.m(t,null),a||(s=[K(window,"keydown",e[7]),K(n,"click",e[6])],a=!0)},p(e,[l]){1&l&&H(r,e[0]),4&l&&(n.disabled=e[2]),e[1]?i?i.p(e,l):((i=yn(e)).c(),i.m(t,null)):i&&(i.d(1),i=null),8&l&&X(t,"active",e[3])},i:l,o:l,d(e){e&&I(t),i&&i.d(),a=!1,c(s)}}}function bn(e,t,n){let r,{value:l}=t,{onPress:o=null}=t,{label:a=null}=t,{disable:s=!1}=t;const{disableHotkeys:i}=de("hotkeys");m(e,i,e=>n(9,r=e));let c=!1,u=`key-${l}`;function d(){n(3,c=!1)}function f(){n(3,c=!0),setTimeout(d,200),o&&setTimeout(o,1)}return e.$$set=(e=>{"value"in e&&n(0,l=e.value),"onPress"in e&&n(8,o=e.onPress),"label"in e&&n(1,a=e.label),"disable"in e&&n(2,s=e.disable)}),[l,a,s,c,i,u,f,function(e){r||s||e.ctrlKey||e.metaKey||e.key!=l||(e.preventDefault(),f())},o]}class xn extends Re{constructor(e){super(),Ge(this,e,bn,hn,d,{value:0,onPress:8,label:1,disable:2},$n)}}function wn(e){z(e,"svelte-1mppqmp",".move.svelte-1mppqmp{display:flex;flex-direction:row;cursor:pointer;margin-left:10px;color:#666}.move.svelte-1mppqmp:hover{color:#333}.move.active.svelte-1mppqmp{color:#111;font-weight:bold}.arg-field.svelte-1mppqmp{outline:none;font-family:monospace}")}function kn(e){let t,n,r,o,a,s,i,d,f,p,m;return{c(){t=M("div"),n=M("span"),r=T(e[2]),o=B(),(a=M("span")).textContent="(",s=B(),i=M("span"),d=B(),(f=M("span")).textContent=")",R(i,"class","arg-field svelte-1mppqmp"),R(i,"contenteditable",""),R(t,"class","move svelte-1mppqmp"),X(t,"active",e[3])},m(l,c){q(l,t,c),O(t,n),O(n,r),O(t,o),O(t,a),O(t,s),O(t,i),e[6](i),O(t,d),O(t,f),p||(m=[K(i,"focus",function(){u(e[0])&&e[0].apply(this,arguments)}),K(i,"blur",function(){u(e[1])&&e[1].apply(this,arguments)}),K(i,"keypress",G(Pn)),K(i,"keydown",e[5]),K(t,"click",function(){u(e[0])&&e[0].apply(this,arguments)})],p=!0)},p(n,[l]){e=n,4&l&&H(r,e[2]),8&l&&X(t,"active",e[3])},i:l,o:l,d(n){n&&I(t),e[6](null),p=!1,c(m)}}}const Pn=()=>{};function jn(e,t,n){let r,{Activate:l}=t,{Deactivate:o}=t,{name:a}=t,{active:s}=t;const i=ce();return se(()=>{s?r.focus():r.blur()}),e.$$set=(e=>{"Activate"in e&&n(0,l=e.Activate),"Deactivate"in e&&n(1,o=e.Deactivate),"name"in e&&n(2,a=e.name),"active"in e&&n(3,s=e.active)}),[l,o,a,s,r,function(e){"Enter"==e.key&&(e.preventDefault(),function(){try{const t=r.innerText;let n=new Function(`return [${t}]`)();i("submit",n)}catch(e){i("error",e)}n(4,r.innerText="",r)}()),"Escape"==e.key&&(e.preventDefault(),o())},function(e){me[e?"unshift":"push"](()=>{n(4,r=e)})}]}class En extends Re{constructor(e){super(),Ge(this,e,jn,kn,d,{Activate:0,Deactivate:1,name:2,active:3},wn)}}function An(e){z(e,"svelte-smqssc",".move-error.svelte-smqssc{color:#a00;font-weight:bold}.wrapper.svelte-smqssc{display:flex;flex-direction:row;align-items:center}")}function On(e){let t,n;return{c(){t=M("span"),n=T(e[2]),R(t,"class","move-error svelte-smqssc")},m(e,r){q(e,t,r),O(t,n)},p(e,t){4&t&&H(n,e[2])},d(e){e&&I(t)}}}function zn(e){let t,n,r,l,o,a,s;r=new xn({props:{value:e[0],onPress:e[4]}}),(o=new En({props:{Activate:e[4],Deactivate:e[5],name:e[1],active:e[3]}})).$on("submit",e[6]),o.$on("error",e[7]);let i=e[2]&&On(e);return{c(){t=M("div"),n=M("div"),Te(r.$$.fragment),l=B(),Te(o.$$.fragment),a=B(),i&&i.c(),R(n,"class","wrapper svelte-smqssc")},m(e,c){q(e,t,c),O(t,n),Be(r,n,null),O(n,l),Be(o,n,null),O(t,a),i&&i.m(t,null),s=!0},p(e,[n]){const l={};1&n&&(l.value=e[0]),r.$set(l);const a={};2&n&&(a.name=e[1]),8&n&&(a.active=e[3]),o.$set(a),e[2]?i?i.p(e,n):((i=On(e)).c(),i.m(t,null)):i&&(i.d(1),i=null)},i(e){s||(Ce(r.$$.fragment,e),Ce(o.$$.fragment,e),s=!0)},o(e){qe(r.$$.fragment,e),qe(o.$$.fragment,e),s=!1},d(e){e&&I(t),Ve(r),Ve(o),i&&i.d()}}}function _n(t,n,r){let{shortcut:l}=n,{name:o}=n,{fn:a}=n;const{disableHotkeys:s}=de("hotkeys");let i="",c=!1;function u(){s.set(!1),r(2,i=""),r(3,c=!1)}return t.$$set=(e=>{"shortcut"in e&&r(0,l=e.shortcut),"name"in e&&r(1,o=e.name),"fn"in e&&r(8,a=e.fn)}),[l,o,i,c,function(){s.set(!0),r(3,c=!0)},u,function(e){r(2,i=""),u(),a.apply(this,e.detail)},function(t){r(2,i=t.detail),(0,e.e)(t.detail)},a]}class Sn extends Re{constructor(e){super(),Ge(this,e,_n,zn,d,{shortcut:0,name:1,fn:8},An)}}function Cn(e){z(e,"svelte-c3lavh","ul.svelte-c3lavh{padding-left:0}li.svelte-c3lavh{list-style:none;margin:none;margin-bottom:5px}")}function qn(e){let t,n,r,l,o,a,s,i,c,u,d,f,p;return r=new xn({props:{value:"1",onPress:e[0].reset,label:"reset"}}),a=new xn({props:{value:"2",onPress:e[1],label:"save"}}),c=new xn({props:{value:"3",onPress:e[2],label:"restore"}}),f=new xn({props:{value:".",disable:!0,label:"hide"}}),{c(){t=M("ul"),n=M("li"),Te(r.$$.fragment),l=B(),o=M("li"),Te(a.$$.fragment),s=B(),i=M("li"),Te(c.$$.fragment),u=B(),d=M("li"),Te(f.$$.fragment),R(n,"class","svelte-c3lavh"),R(o,"class","svelte-c3lavh"),R(i,"class","svelte-c3lavh"),R(d,"class","svelte-c3lavh"),R(t,"id","debug-controls"),R(t,"class","controls svelte-c3lavh")},m(e,m){q(e,t,m),O(t,n),Be(r,n,null),O(t,l),O(t,o),Be(a,o,null),O(t,s),O(t,i),Be(c,i,null),O(t,u),O(t,d),Be(f,d,null),p=!0},p(e,[t]){const n={};1&t&&(n.onPress=e[0].reset),r.$set(n)},i(e){p||(Ce(r.$$.fragment,e),Ce(a.$$.fragment,e),Ce(c.$$.fragment,e),Ce(f.$$.fragment,e),p=!0)},o(e){qe(r.$$.fragment,e),qe(a.$$.fragment,e),qe(c.$$.fragment,e),qe(f.$$.fragment,e),p=!1},d(e){e&&I(t),Ve(r),Ve(a),Ve(c),Ve(f)}}}function In(t,r,l){let{client:o}=r;return t.$$set=(e=>{"client"in e&&l(0,o=e.client)}),[o,function(){const e=o.getState(),t=(0,n.stringify)({...e,_undo:[],_redo:[],deltalog:[]});window.localStorage.setItem("gamestate",t),window.localStorage.setItem("initialState",(0,n.stringify)(o.initialState))},function(){const t=window.localStorage.getItem("gamestate"),r=window.localStorage.getItem("initialState");if(null!==t&&null!==r){const l=(0,n.parse)(t),a=(0,n.parse)(r);o.store.dispatch((0,e.s)({state:l,initialState:a}))}}]}class Dn extends Re{constructor(e){super(),Ge(this,e,In,qn,d,{client:0},Cn)}}function Mn(e){z(e,"svelte-19aan9p",".player-box.svelte-19aan9p{display:flex;flex-direction:row}.player.svelte-19aan9p{cursor:pointer;text-align:center;width:30px;height:30px;line-height:30px;background:#eee;border:3px solid #fefefe;box-sizing:content-box;padding:0}.player.current.svelte-19aan9p{background:#555;color:#eee;font-weight:bold}.player.active.svelte-19aan9p{border:3px solid #ff7f50}")}function Nn(e,t,n){const r=e.slice();return r[7]=t[n],r}function Tn(e){let t,n,r,l,o,a,s=e[7]+"";function i(){return e[5](e[7])}return{c(){t=M("button"),n=T(s),r=B(),R(t,"class","player svelte-19aan9p"),R(t,"aria-label",l=e[4](e[7])),X(t,"current",e[7]==e[0].currentPlayer),X(t,"active",e[7]==e[1])},m(e,l){q(e,t,l),O(t,n),O(t,r),o||(a=K(t,"click",i),o=!0)},p(r,o){e=r,4&o&&s!==(s=e[7]+"")&&H(n,s),4&o&&l!==(l=e[4](e[7]))&&R(t,"aria-label",l),5&o&&X(t,"current",e[7]==e[0].currentPlayer),6&o&&X(t,"active",e[7]==e[1])},d(e){e&&I(t),o=!1,a()}}}function Bn(e){let t,n=e[2],r=[];for(let l=0;l{"ctx"in e&&n(0,r=e.ctx),"playerID"in e&&n(1,l=e.playerID)}),e.$$.update=(()=>{1&e.$$.dirty&&n(2,s=r?[...Array(r.numPlayers).keys()].map(e=>e.toString()):[])}),[r,l,s,a,function(e){const t=[];e==r.currentPlayer&&t.push("current"),e==l&&t.push("active");let n=`Player ${e}`;return t.length&&(n+=` (${t.join(", ")})`),n},e=>a(e)]}class Kn extends Re{constructor(e){super(),Ge(this,e,Vn,Bn,d,{ctx:0,playerID:1},Mn)}}function Gn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Rn(e){for(var t=1;t=0||(l[n]=e[n]);return l}function Qn(e,t){if(null==e)return{};var n,r,l=Zn(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function er(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tr(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?er(e):t}function nr(e){var t=Yn();return function(){var n,r=Wn(e);if(t){var l=Wn(this).constructor;n=Reflect.construct(r,arguments,l)}else n=r.apply(this,arguments);return tr(this,n)}}function rr(e,t){if(e){if("string"==typeof e)return lr(e,t);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)?lr(e,t):void 0}}function lr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:l}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ar(e,t){var n,r={},l={},o=or(t);try{for(o.s();!(n=o.n()).done;){l[n.value]=!0}}catch(p){o.e(p)}finally{o.f()}var a=l,s=!0;for(var i in e){var c=i[0];if(a[c]){s=!1;break}a[c]=!0,r[i]=c}if(s)return r;a=l;var u=97;for(var d in r={},e){for(var f=String.fromCharCode(u);a[f];)u++,f=String.fromCharCode(u);a[f]=!0,r[d]=f}return r}function sr(e){z(e,"svelte-146sq5f",".tree.svelte-146sq5f{--json-tree-font-family:monospace;--json-tree-font-size:14px;--json-tree-null-color:#757575}.label.svelte-146sq5f{margin-bottom:0;text-transform:none}h3.svelte-146sq5f{text-transform:uppercase}ul.svelte-146sq5f{padding-left:0}li.svelte-146sq5f{list-style:none;margin:0;margin-bottom:5px}")}function ir(e,t,n){const r=e.slice();return r[9]=t[n][0],r[10]=t[n][1],r}function cr(e){let t,n,r,l;return n=new Sn({props:{shortcut:e[7][e[9]],fn:e[10],name:e[9]}}),{c(){t=M("li"),Te(n.$$.fragment),r=B(),R(t,"class","svelte-146sq5f")},m(e,o){q(e,t,o),Be(n,t,null),O(t,r),l=!0},p(e,t){const r={};8&t&&(r.shortcut=e[7][e[9]]),8&t&&(r.fn=e[10]),8&t&&(r.name=e[9]),n.$set(r)},i(e){l||(Ce(n.$$.fragment,e),l=!0)},o(e){qe(n.$$.fragment,e),l=!1},d(e){e&&I(t),Ve(n)}}}function ur(e){let t,n,r;return n=new Sn({props:{name:"endStage",shortcut:7,fn:e[4].endStage}}),{c(){t=M("li"),Te(n.$$.fragment),R(t,"class","svelte-146sq5f")},m(e,l){q(e,t,l),Be(n,t,null),r=!0},p(e,t){const r={};16&t&&(r.fn=e[4].endStage),n.$set(r)},i(e){r||(Ce(n.$$.fragment,e),r=!0)},o(e){qe(n.$$.fragment,e),r=!1},d(e){e&&I(t),Ve(n)}}}function dr(e){let t,n,r;return n=new Sn({props:{name:"endTurn",shortcut:8,fn:e[4].endTurn}}),{c(){t=M("li"),Te(n.$$.fragment),R(t,"class","svelte-146sq5f")},m(e,l){q(e,t,l),Be(n,t,null),r=!0},p(e,t){const r={};16&t&&(r.fn=e[4].endTurn),n.$set(r)},i(e){r||(Ce(n.$$.fragment,e),r=!0)},o(e){qe(n.$$.fragment,e),r=!1},d(e){e&&I(t),Ve(n)}}}function fr(e){let t,n,r;return n=new Sn({props:{name:"endPhase",shortcut:9,fn:e[4].endPhase}}),{c(){t=M("li"),Te(n.$$.fragment),R(t,"class","svelte-146sq5f")},m(e,l){q(e,t,l),Be(n,t,null),r=!0},p(e,t){const r={};16&t&&(r.fn=e[4].endPhase),n.$set(r)},i(e){r||(Ce(n.$$.fragment,e),r=!0)},o(e){qe(n.$$.fragment,e),r=!1},d(e){e&&I(t),Ve(n)}}}function pr(e){let t,n,r,l,o,a,s,i,c,u,d,f,p,m,g,v,$,y,h,b,x,w,k,P,j,E,A,z,_,S,C,N,T,V;l=new Dn({props:{client:e[0]}}),(c=new Kn({props:{ctx:e[5],playerID:e[2]}})).$on("change",e[8]);let K=Object.entries(e[3]),G=[];for(let O=0;Oqe(G[e],1,1,()=>{G[e]=null});let F=e[5].activePlayers&&e[4].endStage&&ur(e),H=e[4].endTurn&&dr(e),L=e[5].phase&&e[4].endPhase&&fr(e);return E=new sn({props:{value:e[6]}}),C=new sn({props:{value:mr(e[5])}}),T=new vn({props:{clientManager:e[1]}}),{c(){t=M("section"),(n=M("h3")).textContent="Controls",r=B(),Te(l.$$.fragment),o=B(),a=M("section"),(s=M("h3")).textContent="Players",i=B(),Te(c.$$.fragment),u=B(),d=M("section"),(f=M("h3")).textContent="Moves",p=B(),m=M("ul");for(let e=0;e{F=null}),Se()),e[4].endTurn?H?(H.p(e,t),16&t&&Ce(H,1)):((H=dr(e)).c(),Ce(H,1),H.m(h,x)):H&&(_e(),qe(H,1,1,()=>{H=null}),Se()),e[5].phase&&e[4].endPhase?L?(L.p(e,t),48&t&&Ce(L,1)):((L=fr(e)).c(),Ce(L,1),L.m(h,null)):L&&(_e(),qe(L,1,1,()=>{L=null}),Se());const o={};64&t&&(o.value=e[6]),E.$set(o);const a={};32&t&&(a.value=mr(e[5])),C.$set(a);const s={};2&t&&(s.clientManager=e[1]),T.$set(s)},i(e){if(!V){Ce(l.$$.fragment,e),Ce(c.$$.fragment,e);for(let e=0;e{e&&n(6,({G:u,ctx:c}=e),u,n(5,c)),n(2,({playerID:a,moves:s,events:i}=r),a,n(3,s),n(4,i))});return e.$$set=(e=>{"client"in e&&n(0,r=e.client),"clientManager"in e&&n(1,l=e.clientManager)}),[r,l,a,s,i,c,u,o,e=>l.switchPlayerID(e.detail.playerID)]}class vr extends Re{constructor(e){super(),Ge(this,e,gr,pr,d,{client:0,clientManager:1},sr)}}function $r(e){z(e,"svelte-13qih23",".item.svelte-13qih23.svelte-13qih23{padding:10px}.item.svelte-13qih23.svelte-13qih23:not(:first-child){border-top:1px dashed #aaa}.item.svelte-13qih23 div.svelte-13qih23{float:right;text-align:right}")}function yr(e){let t,n,r,o,a,s,i=JSON.stringify(e[1])+"";return{c(){t=M("div"),n=M("strong"),r=T(e[0]),o=B(),a=M("div"),s=T(i),R(a,"class","svelte-13qih23"),R(t,"class","item svelte-13qih23")},m(e,l){q(e,t,l),O(t,n),O(n,r),O(t,o),O(t,a),O(a,s)},p(e,[t]){1&t&&H(r,e[0]),2&t&&i!==(i=JSON.stringify(e[1])+"")&&H(s,i)},i:l,o:l,d(e){e&&I(t)}}}function hr(e,t,n){let{name:r}=t,{value:l}=t;return e.$$set=(e=>{"name"in e&&n(0,r=e.name),"value"in e&&n(1,l=e.value)}),[r,l]}class br extends Re{constructor(e){super(),Ge(this,e,hr,yr,d,{name:0,value:1},$r)}}function xr(e){z(e,"svelte-1yzq5o8",".gameinfo.svelte-1yzq5o8{padding:10px}")}function wr(e){let t,n;return t=new br({props:{name:"isConnected",value:e[1].isConnected}}),{c(){Te(t.$$.fragment)},m(e,r){Be(t,e,r),n=!0},p(e,n){const r={};2&n&&(r.value=e[1].isConnected),t.$set(r)},i(e){n||(Ce(t.$$.fragment,e),n=!0)},o(e){qe(t.$$.fragment,e),n=!1},d(e){Ve(t,e)}}}function kr(e){let t,n,r,l,o,a,s,i;n=new br({props:{name:"matchID",value:e[0].matchID}}),l=new br({props:{name:"playerID",value:e[0].playerID}}),a=new br({props:{name:"isActive",value:e[1].isActive}});let c=e[0].multiplayer&&wr(e);return{c(){t=M("section"),Te(n.$$.fragment),r=B(),Te(l.$$.fragment),o=B(),Te(a.$$.fragment),s=B(),c&&c.c(),R(t,"class","gameinfo svelte-1yzq5o8")},m(e,u){q(e,t,u),Be(n,t,null),O(t,r),Be(l,t,null),O(t,o),Be(a,t,null),O(t,s),c&&c.m(t,null),i=!0},p(e,[r]){const o={};1&r&&(o.value=e[0].matchID),n.$set(o);const s={};1&r&&(s.value=e[0].playerID),l.$set(s);const i={};2&r&&(i.value=e[1].isActive),a.$set(i),e[0].multiplayer?c?(c.p(e,r),1&r&&Ce(c,1)):((c=wr(e)).c(),Ce(c,1),c.m(t,null)):c&&(_e(),qe(c,1,1,()=>{c=null}),Se())},i(e){i||(Ce(n.$$.fragment,e),Ce(l.$$.fragment,e),Ce(a.$$.fragment,e),Ce(c),i=!0)},o(e){qe(n.$$.fragment,e),qe(l.$$.fragment,e),qe(a.$$.fragment,e),qe(c),i=!1},d(e){e&&I(t),Ve(n),Ve(l),Ve(a),c&&c.d()}}}function Pr(e,t,n){let r,o=l,a=()=>(o(),o=p(s,e=>n(1,r=e)),s);e.$$.on_destroy.push(()=>o());let{client:s}=t;a();let{clientManager:i}=t;return e.$$set=(e=>{"client"in e&&a(n(0,s=e.client)),"clientManager"in e&&n(2,i=e.clientManager)}),[s,r,i]}class jr extends Re{constructor(e){super(),Ge(this,e,Pr,kr,d,{client:0,clientManager:2},xr)}}function Er(e){z(e,"svelte-6eza86",".turn-marker.svelte-6eza86{display:flex;justify-content:center;align-items:center;grid-column:1;background:#555;color:#eee;text-align:center;font-weight:bold;border:1px solid #888}")}function Ar(e){let t,n;return{c(){t=M("div"),n=T(e[0]),R(t,"class","turn-marker svelte-6eza86"),R(t,"style",e[1])},m(e,r){q(e,t,r),O(t,n)},p(e,[t]){1&t&&H(n,e[0])},i:l,o:l,d(e){e&&I(t)}}}function Or(e,t,n){let{turn:r}=t,{numEvents:l}=t;const o=`grid-row: span ${l}`;return e.$$set=(e=>{"turn"in e&&n(0,r=e.turn),"numEvents"in e&&n(2,l=e.numEvents)}),[r,o,l]}class zr extends Re{constructor(e){super(),Ge(this,e,Or,Ar,d,{turn:0,numEvents:2},Er)}}function _r(e){z(e,"svelte-1t4xap",".phase-marker.svelte-1t4xap{grid-column:3;background:#555;border:1px solid #888;color:#eee;text-align:center;font-weight:bold;padding-top:10px;padding-bottom:10px;text-orientation:sideways;writing-mode:vertical-rl;line-height:30px;width:100%}")}function Sr(e){let t,n,r=(e[0]||"")+"";return{c(){t=M("div"),n=T(r),R(t,"class","phase-marker svelte-1t4xap"),R(t,"style",e[1])},m(e,r){q(e,t,r),O(t,n)},p(e,[t]){1&t&&r!==(r=(e[0]||"")+"")&&H(n,r)},i:l,o:l,d(e){e&&I(t)}}}function Cr(e,t,n){let{phase:r}=t,{numEvents:l}=t;const o=`grid-row: span ${l}`;return e.$$set=(e=>{"phase"in e&&n(0,r=e.phase),"numEvents"in e&&n(2,l=e.numEvents)}),[r,o,l]}class qr extends Re{constructor(e){super(),Ge(this,e,Cr,Sr,d,{phase:0,numEvents:2},_r)}}function Ir(e){let t;return{c(){(t=M("div")).textContent=`${e[0]}`},m(e,n){q(e,t,n)},p:l,i:l,o:l,d(e){e&&I(t)}}}function Dr(e,t,n){let{metadata:r}=t;const l=void 0!==r?JSON.stringify(r,null,4):"";return e.$$set=(e=>{"metadata"in e&&n(1,r=e.metadata)}),[l,r]}class Mr extends Re{constructor(e){super(),Ge(this,e,Dr,Ir,d,{metadata:1})}}function Nr(e){z(e,"svelte-vajd9z",".log-event.svelte-vajd9z{grid-column:2;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;justify-content:center;background:#fff;border:1px dotted #ccc;border-left:5px solid #ccc;padding:5px;text-align:center;color:#666;font-size:14px;min-height:25px;line-height:25px}.log-event.svelte-vajd9z:hover,.log-event.svelte-vajd9z:focus{border-style:solid;background:#eee}.log-event.pinned.svelte-vajd9z{border-style:solid;background:#eee;opacity:1}.args.svelte-vajd9z{text-align:left;white-space:pre-wrap}.player0.svelte-vajd9z{border-left-color:#ff851b}.player1.svelte-vajd9z{border-left-color:#7fdbff}.player2.svelte-vajd9z{border-left-color:#0074d9}.player3.svelte-vajd9z{border-left-color:#39cccc}.player4.svelte-vajd9z{border-left-color:#3d9970}.player5.svelte-vajd9z{border-left-color:#2ecc40}.player6.svelte-vajd9z{border-left-color:#01ff70}.player7.svelte-vajd9z{border-left-color:#ffdc00}.player8.svelte-vajd9z{border-left-color:#001f3f}.player9.svelte-vajd9z{border-left-color:#ff4136}.player10.svelte-vajd9z{border-left-color:#85144b}.player11.svelte-vajd9z{border-left-color:#f012be}.player12.svelte-vajd9z{border-left-color:#b10dc9}.player13.svelte-vajd9z{border-left-color:#111111}.player14.svelte-vajd9z{border-left-color:#aaaaaa}.player15.svelte-vajd9z{border-left-color:#dddddd}")}function Tr(e){let t,n;return t=new Mr({props:{metadata:e[2]}}),{c(){Te(t.$$.fragment)},m(e,r){Be(t,e,r),n=!0},p(e,n){const r={};4&n&&(r.metadata=e[2]),t.$set(r)},i(e){n||(Ce(t.$$.fragment,e),n=!0)},o(e){qe(t.$$.fragment,e),n=!1},d(e){Ve(t,e)}}}function Br(e){let t,n,r;var l=e[3];function o(e){return{props:{metadata:e[2]}}}return l&&(t=new l(o(e))),{c(){t&&Te(t.$$.fragment),n=V()},m(e,l){t&&Be(t,e,l),q(e,n,l),r=!0},p(e,r){const a={};if(4&r&&(a.metadata=e[2]),l!==(l=e[3])){if(t){_e();const e=t;qe(e.$$.fragment,1,0,()=>{Ve(e,1)}),Se()}l?(Te((t=new l(o(e))).$$.fragment),Ce(t.$$.fragment,1),Be(t,n.parentNode,n)):t=null}else l&&t.$set(a)},i(e){r||(t&&Ce(t.$$.fragment,e),r=!0)},o(e){t&&qe(t.$$.fragment,e),r=!1},d(e){e&&I(n),t&&Ve(t,e)}}}function Vr(e){let t,n,r,l,o,a,s,i,u,d,f,p,m;const g=[Br,Tr],v=[];function $(e,t){return e[3]?0:1}return i=$(e),u=v[i]=g[i](e),{c(){t=M("button"),n=M("div"),r=T(e[4]),l=T("("),o=T(e[6]),a=T(")"),s=B(),u.c(),R(n,"class","args svelte-vajd9z"),R(t,"class",d="log-event player"+e[7]+" svelte-vajd9z"),X(t,"pinned",e[1])},m(c,u){q(c,t,u),O(t,n),O(n,r),O(n,l),O(n,o),O(n,a),O(t,s),v[i].m(t,null),f=!0,p||(m=[K(t,"click",e[9]),K(t,"mouseenter",e[10]),K(t,"focus",e[11]),K(t,"mouseleave",e[12]),K(t,"blur",e[13])],p=!0)},p(e,[n]){(!f||16&n)&&H(r,e[4]);let l=i;(i=$(e))===l?v[i].p(e,n):(_e(),qe(v[l],1,1,()=>{v[l]=null}),Se(),(u=v[i])?u.p(e,n):(u=v[i]=g[i](e)).c(),Ce(u,1),u.m(t,null)),2&n&&X(t,"pinned",e[1])},i(e){f||(Ce(u),f=!0)},o(e){qe(u),f=!1},d(e){e&&I(t),v[i].d(),p=!1,c(m)}}}function Kr(e,t,n){let{logIndex:r}=t,{action:l}=t,{pinned:o}=t,{metadata:a}=t,{metadataComponent:s}=t;const i=ce(),c=l.payload.args,u=Array.isArray(c)?c.map(e=>JSON.stringify(e,null,2)).join(","):JSON.stringify(c,null,2)||"",d=l.payload.playerID;let f;switch(l.type){case"UNDO":f="undo";break;case"REDO":f="redo";case"GAME_EVENT":case"MAKE_MOVE":default:f=l.payload.type}return e.$$set=(e=>{"logIndex"in e&&n(0,r=e.logIndex),"action"in e&&n(8,l=e.action),"pinned"in e&&n(1,o=e.pinned),"metadata"in e&&n(2,a=e.metadata),"metadataComponent"in e&&n(3,s=e.metadataComponent)}),[r,o,a,s,f,i,u,d,l,()=>i("click",{logIndex:r}),()=>i("mouseenter",{logIndex:r}),()=>i("mouseenter",{logIndex:r}),()=>i("mouseleave"),()=>i("mouseleave")]}class Gr extends Re{constructor(e){super(),Ge(this,e,Kr,Vr,d,{logIndex:0,action:8,pinned:1,metadata:2,metadataComponent:3},Nr)}}function Rr(e){z(e,"svelte-c8tyih","svg.svelte-c8tyih{stroke:currentColor;fill:currentColor;stroke-width:0;width:100%;height:auto;max-height:100%}")}function Jr(e){let t,n;return{c(){t=N("title"),n=T(e[0])},m(e,r){q(e,t,r),O(t,n)},p(e,t){1&t&&H(n,e[0])},d(e){e&&I(t)}}}function Fr(e){let t,n,r,l=e[0]&&Jr(e);const o=e[3].default,a=g(o,e,e[2],null);return{c(){t=N("svg"),l&&l.c(),n=V(),a&&a.c(),R(t,"xmlns","http://www.w3.org/2000/svg"),R(t,"viewBox",e[1]),R(t,"class","svelte-c8tyih")},m(e,o){q(e,t,o),l&&l.m(t,null),O(t,n),a&&a.m(t,null),r=!0},p(e,[s]){e[0]?l?l.p(e,s):((l=Jr(e)).c(),l.m(t,n)):l&&(l.d(1),l=null),a&&a.p&&(!r||4&s)&&y(a,o,e,e[2],r?$(o,e[2],s,null):h(e[2]),null),(!r||2&s)&&R(t,"viewBox",e[1])},i(e){r||(Ce(a,e),r=!0)},o(e){qe(a,e),r=!1},d(e){e&&I(t),l&&l.d(),a&&a.d(e)}}}function Hr(e,t,n){let{$$slots:r={},$$scope:l}=t,{title:o=null}=t,{viewBox:a}=t;return e.$$set=(e=>{"title"in e&&n(0,o=e.title),"viewBox"in e&&n(1,a=e.viewBox),"$$scope"in e&&n(2,l=e.$$scope)}),[o,a,l,r]}class Lr extends Re{constructor(e){super(),Ge(this,e,Hr,Fr,d,{title:0,viewBox:1},Rr)}}function Ur(e){let t;return{c(){R(t=N("path"),"d","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z")},m(e,n){q(e,t,n)},d(e){e&&I(t)}}}function Wr(e){let t,n;const r=[{viewBox:"0 0 512 512"},e[0]];let l={$$slots:{default:[Ur]},$$scope:{ctx:e}};for(let o=0;o{n(0,t=a(a({},t),b(e)))}),[t=b(t)]}class Yr extends Re{constructor(e){super(),Ge(this,e,Xr,Wr,d,{})}}function Zr(e){z(e,"svelte-1a7time","div.svelte-1a7time{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:500px}")}function Qr(e){let t,n;return{c(){t=M("div"),n=T(e[0]),R(t,"alt",e[0]),R(t,"class","svelte-1a7time")},m(e,r){q(e,t,r),O(t,n)},p(e,[r]){1&r&&H(n,e[0]),1&r&&R(t,"alt",e[0])},i:l,o:l,d(e){e&&I(t)}}}function el(e,t,n){let r,{action:l}=t;return e.$$set=(e=>{"action"in e&&n(1,l=e.action)}),e.$$.update=(()=>{if(2&e.$$.dirty){const{type:e,args:t}=l.payload,o=(t||[]).join(",");n(0,r=`${e}(${o})`)}}),[r,l]}class tl extends Re{constructor(e){super(),Ge(this,e,el,Qr,d,{action:1},Zr)}}function nl(e){z(e,"svelte-ztcwsu","table.svelte-ztcwsu.svelte-ztcwsu{font-size:12px;border-collapse:collapse;border:1px solid #ddd;padding:0}tr.svelte-ztcwsu.svelte-ztcwsu{cursor:pointer}tr.svelte-ztcwsu:hover td.svelte-ztcwsu{background:#eee}tr.selected.svelte-ztcwsu td.svelte-ztcwsu{background:#eee}td.svelte-ztcwsu.svelte-ztcwsu{padding:10px;height:10px;line-height:10px;font-size:12px;border:none}th.svelte-ztcwsu.svelte-ztcwsu{background:#888;color:#fff;padding:10px;text-align:center}")}function rl(e,t,n){const r=e.slice();return r[10]=t[n],r[12]=n,r}function ll(e){let t,n,r,l,o,a,s,i,u,d,f,p,m,g=e[10].value+"",v=e[10].visits+"";function $(){return e[6](e[10],e[12])}function y(){return e[7](e[12])}function h(){return e[8](e[10],e[12])}return u=new tl({props:{action:e[10].parentAction}}),{c(){t=M("tr"),n=M("td"),r=T(g),l=B(),o=M("td"),a=T(v),s=B(),i=M("td"),Te(u.$$.fragment),d=B(),R(n,"class","svelte-ztcwsu"),R(o,"class","svelte-ztcwsu"),R(i,"class","svelte-ztcwsu"),R(t,"class","svelte-ztcwsu"),X(t,"clickable",e[1].length>0),X(t,"selected",e[12]===e[0])},m(e,c){q(e,t,c),O(t,n),O(n,r),O(t,l),O(t,o),O(o,a),O(t,s),O(t,i),Be(u,i,null),O(t,d),f=!0,p||(m=[K(t,"click",$),K(t,"mouseout",y),K(t,"mouseover",h)],p=!0)},p(n,l){e=n,(!f||2&l)&&g!==(g=e[10].value+"")&&H(r,g),(!f||2&l)&&v!==(v=e[10].visits+"")&&H(a,v);const o={};2&l&&(o.action=e[10].parentAction),u.$set(o),2&l&&X(t,"clickable",e[1].length>0),1&l&&X(t,"selected",e[12]===e[0])},i(e){f||(Ce(u.$$.fragment,e),f=!0)},o(e){qe(u.$$.fragment,e),f=!1},d(e){e&&I(t),Ve(u),p=!1,c(m)}}}function ol(e){let t,n,r,l,o,a=e[1],s=[];for(let c=0;cqe(s[e],1,1,()=>{s[e]=null});return{c(){t=M("table"),(n=M("thead")).innerHTML='Value \n Visits \n Action',r=B(),l=M("tbody");for(let e=0;e{"root"in e&&n(4,r=e.root),"selectedIndex"in e&&n(0,l=e.selectedIndex)}),e.$$.update=(()=>{if(48&e.$$.dirty){let e=r;for(n(5,a=[]);e.parent;){const t=e.parent,{type:n,args:r}=e.parentAction.payload,l=`${n}(${(r||[]).join(",")})`;a.push({parent:t,arrowText:l}),e=t}a.reverse(),n(1,s=[...r.children].sort((e,t)=>e.visitsi(e,t),e=>c(null),(e,t)=>c(e)]}class sl extends Re{constructor(e){super(),Ge(this,e,al,ol,d,{root:4,selectedIndex:0},nl)}}function il(e){z(e,"svelte-1f0amz4",".visualizer.svelte-1f0amz4{display:flex;flex-direction:column;align-items:center;padding:50px}.preview.svelte-1f0amz4{opacity:0.5}.icon.svelte-1f0amz4{color:#777;width:32px;height:32px;margin-bottom:20px}")}function cl(e,t,n){const r=e.slice();return r[9]=t[n].node,r[10]=t[n].selectedIndex,r[12]=n,r}function ul(e){let t,n,r;return n=new Yr({}),{c(){t=M("div"),Te(n.$$.fragment),R(t,"class","icon svelte-1f0amz4")},m(e,l){q(e,t,l),Be(n,t,null),r=!0},i(e){r||(Ce(n.$$.fragment,e),r=!0)},o(e){qe(n.$$.fragment,e),r=!1},d(e){e&&I(t),Ve(n)}}}function dl(e){let t,n;return(t=new sl({props:{root:e[9],selectedIndex:e[10]}})).$on("select",function(...t){return e[7](e[12],...t)}),{c(){Te(t.$$.fragment)},m(e,r){Be(t,e,r),n=!0},p(n,r){e=n;const l={};1&r&&(l.root=e[9]),1&r&&(l.selectedIndex=e[10]),t.$set(l)},i(e){n||(Ce(t.$$.fragment,e),n=!0)},o(e){qe(t.$$.fragment,e),n=!1},d(e){Ve(t,e)}}}function fl(e){let t,n;return(t=new sl({props:{root:e[9]}})).$on("select",function(...t){return e[5](e[12],...t)}),t.$on("preview",function(...t){return e[6](e[12],...t)}),{c(){Te(t.$$.fragment)},m(e,r){Be(t,e,r),n=!0},p(n,r){e=n;const l={};1&r&&(l.root=e[9]),t.$set(l)},i(e){n||(Ce(t.$$.fragment,e),n=!0)},o(e){qe(t.$$.fragment,e),n=!1},d(e){Ve(t,e)}}}function pl(e){let t,n,r,l,o,a=0!==e[12]&&ul();const s=[fl,dl],i=[];function c(e,t){return e[12]===e[0].length-1?0:1}return r=c(e),l=i[r]=s[r](e),{c(){a&&a.c(),t=B(),n=M("section"),l.c()},m(e,l){a&&a.m(e,l),q(e,t,l),q(e,n,l),i[r].m(n,null),o=!0},p(e,t){let o=r;(r=c(e))===o?i[r].p(e,t):(_e(),qe(i[o],1,1,()=>{i[o]=null}),Se(),(l=i[r])?l.p(e,t):(l=i[r]=s[r](e)).c(),Ce(l,1),l.m(n,null))},i(e){o||(Ce(a),Ce(l),o=!0)},o(e){qe(a),qe(l),o=!1},d(e){a&&a.d(e),e&&I(t),e&&I(n),i[r].d()}}}function ml(e){let t,n,r,l,o,a;return n=new Yr({}),o=new sl({props:{root:e[1]}}),{c(){t=M("div"),Te(n.$$.fragment),r=B(),l=M("section"),Te(o.$$.fragment),R(t,"class","icon svelte-1f0amz4"),R(l,"class","preview svelte-1f0amz4")},m(e,s){q(e,t,s),Be(n,t,null),q(e,r,s),q(e,l,s),Be(o,l,null),a=!0},p(e,t){const n={};2&t&&(n.root=e[1]),o.$set(n)},i(e){a||(Ce(n.$$.fragment,e),Ce(o.$$.fragment,e),a=!0)},o(e){qe(n.$$.fragment,e),qe(o.$$.fragment,e),a=!1},d(e){e&&I(t),Ve(n),e&&I(r),e&&I(l),Ve(o)}}}function gl(e){let t,n,r,l=e[0],o=[];for(let i=0;iqe(o[e],1,1,()=>{o[e]=null});let s=e[1]&&ml(e);return{c(){t=M("div");for(let e=0;e{s=null}),Se())},i(e){if(!r){for(let e=0;e{"metadata"in e&&n(4,r=e.metadata)}),e.$$.update=(()=>{16&e.$$.dirty&&n(0,l=[{node:r}])}),[l,o,a,s,r,(e,t)=>a(t.detail,e),(e,t)=>s(t.detail),(e,t)=>a(t.detail,e)]}class $l extends Re{constructor(e){super(),Ge(this,e,vl,gl,d,{metadata:4},il)}}function yl(e){z(e,"svelte-1pq5e4b",".gamelog.svelte-1pq5e4b{display:grid;grid-template-columns:30px 1fr 30px;grid-auto-rows:auto;grid-auto-flow:column}")}function hl(e,t,n){const r=e.slice();return r[16]=t[n].phase,r[18]=n,r}function bl(e,t,n){const r=e.slice();return r[19]=t[n].action,r[20]=t[n].metadata,r[18]=n,r}function xl(e,t,n){const r=e.slice();return r[22]=t[n].turn,r[18]=n,r}function wl(e){let t,n;return t=new zr({props:{turn:e[22],numEvents:e[3][e[18]]}}),{c(){Te(t.$$.fragment)},m(e,r){Be(t,e,r),n=!0},p(e,n){const r={};2&n&&(r.turn=e[22]),8&n&&(r.numEvents=e[3][e[18]]),t.$set(r)},i(e){n||(Ce(t.$$.fragment,e),n=!0)},o(e){qe(t.$$.fragment,e),n=!1},d(e){Ve(t,e)}}}function kl(e){let t,n,r=e[18]in e[3]&&wl(e);return{c(){r&&r.c(),t=V()},m(e,l){r&&r.m(e,l),q(e,t,l),n=!0},p(e,n){e[18]in e[3]?r?(r.p(e,n),8&n&&Ce(r,1)):((r=wl(e)).c(),Ce(r,1),r.m(t.parentNode,t)):r&&(_e(),qe(r,1,1,()=>{r=null}),Se())},i(e){n||(Ce(r),n=!0)},o(e){qe(r),n=!1},d(e){r&&r.d(e),e&&I(t)}}}function Pl(e){let t,n;return(t=new Gr({props:{pinned:e[18]===e[2],logIndex:e[18],action:e[19],metadata:e[20]}})).$on("click",e[5]),t.$on("mouseenter",e[6]),t.$on("mouseleave",e[7]),{c(){Te(t.$$.fragment)},m(e,r){Be(t,e,r),n=!0},p(e,n){const r={};4&n&&(r.pinned=e[18]===e[2]),2&n&&(r.action=e[19]),2&n&&(r.metadata=e[20]),t.$set(r)},i(e){n||(Ce(t.$$.fragment,e),n=!0)},o(e){qe(t.$$.fragment,e),n=!1},d(e){Ve(t,e)}}}function jl(e){let t,n;return t=new qr({props:{phase:e[16],numEvents:e[4][e[18]]}}),{c(){Te(t.$$.fragment)},m(e,r){Be(t,e,r),n=!0},p(e,n){const r={};2&n&&(r.phase=e[16]),16&n&&(r.numEvents=e[4][e[18]]),t.$set(r)},i(e){n||(Ce(t.$$.fragment,e),n=!0)},o(e){qe(t.$$.fragment,e),n=!1},d(e){Ve(t,e)}}}function El(e){let t,n,r=e[18]in e[4]&&jl(e);return{c(){r&&r.c(),t=V()},m(e,l){r&&r.m(e,l),q(e,t,l),n=!0},p(e,n){e[18]in e[4]?r?(r.p(e,n),16&n&&Ce(r,1)):((r=jl(e)).c(),Ce(r,1),r.m(t.parentNode,t)):r&&(_e(),qe(r,1,1,()=>{r=null}),Se())},i(e){n||(Ce(r),n=!0)},o(e){qe(r),n=!1},d(e){r&&r.d(e),e&&I(t)}}}function Al(e){let t,n,r,l,o,a,s=e[1],i=[];for(let v=0;vqe(i[e],1,1,()=>{i[e]=null});let u=e[1],d=[];for(let v=0;vqe(d[e],1,1,()=>{d[e]=null});let p=e[1],m=[];for(let v=0;vqe(m[e],1,1,()=>{m[e]=null});return{c(){t=M("div");for(let e=0;e(a(),a=p(i,e=>r(10,o=e)),i);e.$$.on_destroy.push(()=>a());let{client:i}=n;s();const{secondaryPane:c}=de("secondaryPane"),u=(0,t.C)({game:i.game}),d=i.getInitialState();let f,{log:m}=o,g=null;function v(e){let t=d;for(let n=0;n{"client"in e&&s(r(0,i=e.client))}),e.$$.update=(()=>{if(1538&e.$$.dirty){r(9,m=o.log),r(1,f=m.filter(e=>!e.automatic));let e=0,t=0;r(3,y={}),r(4,h={});for(let n=0;n!e.automatic);if(i.overrideGameState(n),g==t)r(2,g=null),c.set(null);else{r(2,g=t);const{metadata:e}=l[t].action.payload;e&&c.set({component:$l,metadata:e})}},function(e){const{logIndex:t}=e.detail;if(null===g){const e=v(t);i.overrideGameState(e)}},function(){null===g&&i.overrideGameState(null)},function(e){27==e.keyCode&&$()},m,o]}class zl extends Re{constructor(e){super(),Ge(this,e,Ol,Al,d,{client:0},yl)}}function _l(e){z(e,"svelte-1fu900w","label.svelte-1fu900w{color:#666}.option.svelte-1fu900w{margin-bottom:20px}.value.svelte-1fu900w{font-weight:bold;color:#000}input[type='checkbox'].svelte-1fu900w{vertical-align:middle}")}function Sl(e,t,n){const r=e.slice();return r[5]=t[n][0],r[6]=t[n][1],r[7]=t,r[8]=n,r}function Cl(e){let t,n,r,l,o,a,s,i,u=e[1][e[5]]+"";function d(){e[3].call(l,e[5])}return{c(){t=M("span"),n=T(u),r=B(),l=M("input"),R(t,"class","value svelte-1fu900w"),R(l,"type","range"),R(l,"min",o=e[6].range.min),R(l,"max",a=e[6].range.max)},m(o,a){q(o,t,a),O(t,n),q(o,r,a),q(o,l,a),L(l,e[1][e[5]]),s||(i=[K(l,"change",d),K(l,"input",d),K(l,"change",e[2])],s=!0)},p(t,r){e=t,3&r&&u!==(u=e[1][e[5]]+"")&&H(n,u),1&r&&o!==(o=e[6].range.min)&&R(l,"min",o),1&r&&a!==(a=e[6].range.max)&&R(l,"max",a),3&r&&L(l,e[1][e[5]])},d(e){e&&I(t),e&&I(r),e&&I(l),s=!1,c(i)}}}function ql(e){let t,n,r;function l(){e[4].call(t,e[5])}return{c(){R(t=M("input"),"type","checkbox"),R(t,"class","svelte-1fu900w")},m(o,a){q(o,t,a),t.checked=e[1][e[5]],n||(r=[K(t,"change",l),K(t,"change",e[2])],n=!0)},p(n,r){e=n,3&r&&(t.checked=e[1][e[5]])},d(e){e&&I(t),n=!1,c(r)}}}function Il(e){let t,n,r,l,o,a,s=e[5]+"",i=e[6].range&&Cl(e),c="boolean"==typeof e[6].value&&ql(e);return{c(){t=M("div"),n=M("label"),r=T(s),l=B(),i&&i.c(),o=B(),c&&c.c(),a=B(),R(n,"class","svelte-1fu900w"),R(t,"class","option svelte-1fu900w")},m(e,s){q(e,t,s),O(t,n),O(n,r),O(t,l),i&&i.m(t,null),O(t,o),c&&c.m(t,null),O(t,a)},p(e,n){1&n&&s!==(s=e[5]+"")&&H(r,s),e[6].range?i?i.p(e,n):((i=Cl(e)).c(),i.m(t,o)):i&&(i.d(1),i=null),"boolean"==typeof e[6].value?c?c.p(e,n):((c=ql(e)).c(),c.m(t,a)):c&&(c.d(1),c=null)},d(e){e&&I(t),i&&i.d(),c&&c.d()}}}function Dl(e){let t,n=Object.entries(e[0].opts()),r=[];for(let l=0;l{"bot"in e&&n(0,r=e.bot)}),[r,l,function(){for(let[e,t]of Object.entries(l))r.setOpt(e,t)},function(e){l[e]=J(this.value),n(1,l),n(0,r)},function(e){l[e]=this.checked,n(1,l),n(0,r)}]}class Nl extends Re{constructor(e){super(),Ge(this,e,Ml,Dl,d,{bot:0},_l)}}function Tl(e){z(e,"svelte-lifdi8","ul.svelte-lifdi8{padding-left:0}li.svelte-lifdi8{list-style:none;margin:none;margin-bottom:5px}h3.svelte-lifdi8{text-transform:uppercase}label.svelte-lifdi8{color:#666}input[type='checkbox'].svelte-lifdi8{vertical-align:middle}")}function Bl(e,t,n){const r=e.slice();return r[7]=t[n],r}function Vl(e){let t,n,r;return{c(){(t=M("p")).textContent="No bots available.",n=B(),(r=M("p")).innerHTML='Follow the instructions\n here\n to set up bots.'},m(e,l){q(e,t,l),q(e,n,l),q(e,r,l)},p:l,i:l,o:l,d(e){e&&I(t),e&&I(n),e&&I(r)}}}function Kl(e){let t;return{c(){(t=M("p")).textContent="The bot debugger is only available in singleplayer mode."},m(e,n){q(e,t,n)},p:l,i:l,o:l,d(e){e&&I(t)}}}function Gl(e){let t,n,r,l,o,a,s,i,u,d,f,p,m,g,v,$,y,h,b,x,w,k,P,j=Object.keys(e[7].opts()).length;a=new xn({props:{value:"1",onPress:e[13],label:"reset"}}),u=new xn({props:{value:"2",onPress:e[11],label:"play"}}),p=new xn({props:{value:"3",onPress:e[12],label:"simulate"}});let E=Object.keys(e[8]),A=[];for(let c=0;ce[16].call(y))},m(c,j){q(c,t,j),O(t,n),O(t,r),O(t,l),O(l,o),Be(a,o,null),O(l,s),O(l,i),Be(u,i,null),O(l,d),O(l,f),Be(p,f,null),q(c,m,j),q(c,g,j),O(g,v),O(g,$),O(g,y);for(let e=0;e{z=null}),Se()),e[5]||e[3]?_?_.p(e,t):((_=Fl(e)).c(),_.m(x.parentNode,x)):_&&(_.d(1),_=null)},i(e){w||(Ce(a.$$.fragment,e),Ce(u.$$.fragment,e),Ce(p.$$.fragment,e),Ce(z),w=!0)},o(e){qe(a.$$.fragment,e),qe(u.$$.fragment,e),qe(p.$$.fragment,e),qe(z),w=!1},d(e){e&&I(t),Ve(a),Ve(u),Ve(p),e&&I(m),e&&I(g),D(A,e),e&&I(h),z&&z.d(e),e&&I(b),_&&_.d(e),e&&I(x),k=!1,c(P)}}}function Rl(e){let t,n,r,o=e[7]+"";return{c(){t=M("option"),n=T(o),t.__value=r=e[7],t.value=t.__value},m(e,r){q(e,t,r),O(t,n)},p:l,d(e){e&&I(t)}}}function Jl(e){let t,n,r,l,o,a,s,i,u,d,f;return i=new Nl({props:{bot:e[7]}}),{c(){t=M("section"),(n=M("h3")).textContent="Options",r=B(),(l=M("label")).textContent="debug",o=B(),a=M("input"),s=B(),Te(i.$$.fragment),R(n,"class","svelte-lifdi8"),R(l,"class","svelte-lifdi8"),R(a,"type","checkbox"),R(a,"class","svelte-lifdi8")},m(c,p){q(c,t,p),O(t,n),O(t,r),O(t,l),O(t,o),O(t,a),a.checked=e[1],O(t,s),Be(i,t,null),u=!0,d||(f=[K(a,"change",e[17]),K(a,"change",e[9])],d=!0)},p(e,t){2&t&&(a.checked=e[1]);const n={};128&t&&(n.bot=e[7]),i.$set(n)},i(e){u||(Ce(i.$$.fragment,e),u=!0)},o(e){qe(i.$$.fragment,e),u=!1},d(e){e&&I(t),Ve(i),d=!1,c(f)}}}function Fl(e){let t,n,r,l,o=e[2]&&e[2]<1&&Hl(e),a=e[5]&&Ll(e);return{c(){t=M("section"),(n=M("h3")).textContent="Result",r=B(),o&&o.c(),l=B(),a&&a.c(),R(n,"class","svelte-lifdi8")},m(e,s){q(e,t,s),O(t,n),O(t,r),o&&o.m(t,null),O(t,l),a&&a.m(t,null)},p(e,n){e[2]&&e[2]<1?o?o.p(e,n):((o=Hl(e)).c(),o.m(t,l)):o&&(o.d(1),o=null),e[5]?a?a.p(e,n):((a=Ll(e)).c(),a.m(t,null)):a&&(a.d(1),a=null)},d(e){e&&I(t),o&&o.d(),a&&a.d()}}}function Hl(e){let t;return{c(){(t=M("progress")).value=e[2]},m(e,n){q(e,t,n)},p(e,n){4&n&&(t.value=e[2])},d(e){e&&I(t)}}}function Ll(e){let t,n,r,l,o,a,s,i,c=JSON.stringify(e[6])+"";return{c(){t=M("ul"),n=M("li"),r=T("Action: "),l=T(e[5]),o=B(),a=M("li"),s=T("Args: "),i=T(c),R(n,"class","svelte-lifdi8"),R(a,"class","svelte-lifdi8"),R(t,"class","svelte-lifdi8")},m(e,c){q(e,t,c),O(t,n),O(n,r),O(n,l),O(t,o),O(t,a),O(a,s),O(a,i)},p(e,t){32&t&&H(l,e[5]),64&t&&c!==(c=JSON.stringify(e[6])+"")&&H(i,c)},d(e){e&&I(t)}}}function Ul(e){let t,n,r,l,o,a;const s=[Gl,Kl,Vl],i=[];function c(e,t){return e[0].game.ai&&!e[0].multiplayer?0:e[0].multiplayer?1:2}return n=c(e),r=i[n]=s[n](e),{c(){t=M("section"),r.c()},m(r,s){q(r,t,s),i[n].m(t,null),l=!0,o||(a=K(window,"keydown",e[14]),o=!0)},p(e,[l]){let o=n;(n=c(e))===o?i[n].p(e,l):(_e(),qe(i[o],1,1,()=>{i[o]=null}),Se(),(r=i[n])?r.p(e,l):(r=i[n]=s[n](e)).c(),Ce(r,1),r.m(t,null))},i(e){l||(Ce(r),l=!0)},o(e){qe(r),l=!1},d(e){e&&I(t),i[n].d(),o=!1,a()}}}function Wl(e,t,n){let{client:l}=t,{clientManager:o}=t;const{secondaryPane:a}=de("secondaryPane"),s={MCTS:r.M,Random:r.R};let i=!1,c=null,u=0,d=null;const f=({iterationCounter:e,numIterations:t,metadata:r})=>{n(3,u=e),n(2,c=e/t),d=r,i&&d&&a.set({component:$l,metadata:d})};let p,m,g,v;function $(){l.overrideGameState(null),a.set(null),n(1,i=!1)}return l.game.ai&&(p=new r.M({game:l.game,enumerate:l.game.ai.enumerate,iterationCallback:f})).setOpt("async",!0),ie($),e.$$set=(e=>{"client"in e&&n(0,l=e.client),"clientManager"in e&&n(15,o=e.clientManager)}),[l,i,c,u,m,g,v,p,s,function(){i&&d?a.set({component:$l,metadata:d}):a.set(null)},function(){const e=s[m];n(7,p=new e({game:l.game,enumerate:l.game.ai.enumerate,iterationCallback:f})),p.setOpt("async",!0),n(5,g=null),d=null,a.set(null),n(3,u=0)},async function(){n(5,g=null),d=null,n(3,u=0);const e=await(0,r.S)(l,p);e&&(n(5,g=e.payload.type),n(6,v=e.payload.args))},function(e=1e4,t=100){return n(5,g=null),d=null,n(3,u=0),(async()=>{for(let n=0;nsetTimeout(e,t))})()},function(){l.reset(),n(5,g=null),d=null,n(3,u=0),$()},function(e){27==e.keyCode&&$()},o,function(){m=W(this),n(4,m),n(8,s)},function(){i=this.checked,n(1,i)}]}class Xl extends Re{constructor(e){super(),Ge(this,e,Wl,Ul,d,{client:0,clientManager:15},Tl)}}function Yl(e){z(e,"svelte-1dhkl71",".debug-panel.svelte-1dhkl71{position:fixed;color:#555;font-family:monospace;display:flex;flex-direction:row;text-align:left;right:0;top:0;height:100%;font-size:14px;box-sizing:border-box;opacity:0.9;z-index:99999}.pane.svelte-1dhkl71{flex-grow:2;overflow-x:hidden;overflow-y:scroll;background:#fefefe;padding:20px;border-left:1px solid #ccc;box-shadow:-1px 0 5px rgba(0, 0, 0, 0.2);box-sizing:border-box;width:280px}.secondary-pane.svelte-1dhkl71{background:#fefefe;overflow-y:scroll}.debug-panel.svelte-1dhkl71 button,.debug-panel.svelte-1dhkl71 select{cursor:pointer;font-size:14px;font-family:monospace}.debug-panel.svelte-1dhkl71 select{background:#eee;border:1px solid #bbb;color:#555;padding:3px;border-radius:3px}.debug-panel.svelte-1dhkl71 section{margin-bottom:20px}.debug-panel.svelte-1dhkl71 .screen-reader-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}")}function Zl(e){let t,n,r,l,o,a,s,i;(n=new Qe({props:{panes:e[6],pane:e[2]}})).$on("change",e[8]);var c=e[6][e[2]].component;function u(e){return{props:{client:e[4],clientManager:e[0]}}}c&&(o=new c(u(e)));let d=e[5]&&Ql(e);return{c(){t=M("section"),Te(n.$$.fragment),r=B(),l=M("div"),o&&Te(o.$$.fragment),a=B(),d&&d.c(),R(l,"class","pane svelte-1dhkl71"),R(l,"role","region"),R(l,"aria-label",e[2]),R(l,"tabindex","-1"),R(t,"aria-label","boardgame.io Debug Panel"),R(t,"class","debug-panel svelte-1dhkl71")},m(s,c){q(s,t,c),Be(n,t,null),O(t,r),O(t,l),o&&Be(o,l,null),e[11](l),O(t,a),d&&d.m(t,null),i=!0},p(e,r){const a={};4&r&&(a.pane=e[2]),n.$set(a);const s={};if(16&r&&(s.client=e[4]),1&r&&(s.clientManager=e[0]),c!==(c=e[6][e[2]].component)){if(o){_e();const e=o;qe(e.$$.fragment,1,0,()=>{Ve(e,1)}),Se()}c?(Te((o=new c(u(e))).$$.fragment),Ce(o.$$.fragment,1),Be(o,l,null)):o=null}else c&&o.$set(s);(!i||4&r)&&R(l,"aria-label",e[2]),e[5]?d?(d.p(e,r),32&r&&Ce(d,1)):((d=Ql(e)).c(),Ce(d,1),d.m(t,null)):d&&(_e(),qe(d,1,1,()=>{d=null}),Se())},i(e){i||(Ce(n.$$.fragment,e),o&&Ce(o.$$.fragment,e),Ce(d),be(()=>{s||(s=De(t,Le,{x:400},!0)),s.run(1)}),i=!0)},o(e){qe(n.$$.fragment,e),o&&qe(o.$$.fragment,e),qe(d),s||(s=De(t,Le,{x:400},!1)),s.run(0),i=!1},d(r){r&&I(t),Ve(n),o&&Ve(o),e[11](null),d&&d.d(),r&&s&&s.end()}}}function Ql(e){let t,n,r;var l=e[5].component;function o(e){return{props:{metadata:e[5].metadata}}}return l&&(n=new l(o(e))),{c(){t=M("div"),n&&Te(n.$$.fragment),R(t,"class","secondary-pane svelte-1dhkl71")},m(e,l){q(e,t,l),n&&Be(n,t,null),r=!0},p(e,r){const a={};if(32&r&&(a.metadata=e[5].metadata),l!==(l=e[5].component)){if(n){_e();const e=n;qe(e.$$.fragment,1,0,()=>{Ve(e,1)}),Se()}l?(Te((n=new l(o(e))).$$.fragment),Ce(n.$$.fragment,1),Be(n,t,null)):n=null}else l&&n.$set(a)},i(e){r||(n&&Ce(n.$$.fragment,e),r=!0)},o(e){n&&qe(n.$$.fragment,e),r=!1},d(e){e&&I(t),n&&Ve(n)}}}function eo(e){let t,n,r,l,o=e[3]&&Zl(e);return{c(){o&&o.c(),t=V()},m(a,s){o&&o.m(a,s),q(a,t,s),n=!0,r||(l=K(window,"keypress",e[9]),r=!0)},p(e,[n]){e[3]?o?(o.p(e,n),8&n&&Ce(o,1)):((o=Zl(e)).c(),Ce(o,1),o.m(t.parentNode,t)):o&&(_e(),qe(o,1,1,()=>{o=null}),Se())},i(e){n||(Ce(o),n=!0)},o(e){qe(o),n=!1},d(e){o&&o.d(e),e&&I(t),r=!1,l()}}}function to(e,t,n){let r,o,a,s=l,i=()=>(s(),s=p(c,e=>n(10,o=e)),c);e.$$.on_destroy.push(()=>s());let{clientManager:c}=t;i();const u={main:{label:"Main",shortcut:"m",component:vr},log:{label:"Log",shortcut:"l",component:zl},info:{label:"Info",shortcut:"i",component:jr},ai:{label:"AI",shortcut:"a",component:Xl}},d=Fe(!1),f=Fe(null);let g;m(e,f,e=>n(5,a=e)),ue("hotkeys",{disableHotkeys:d}),ue("secondaryPane",{secondaryPane:f});let v="main";let $=!0;return e.$$set=(e=>{"clientManager"in e&&i(n(0,c=e.clientManager))}),e.$$.update=(()=>{1024&e.$$.dirty&&n(4,r=o.client)}),[c,g,v,$,r,a,u,f,function(e){n(2,v=e.detail),g.focus()},function(e){"."!=e.key?$&&Object.entries(u).forEach(([t,{shortcut:r}])=>{e.key==r&&n(2,v=t)}):n(3,$=!$)},o,function(e){me[e?"unshift":"push"](()=>{n(1,g=e)})}]}class no extends Re{constructor(e){super(),Ge(this,e,to,eo,d,{clientManager:0},Yl)}}exports.D=no; +},{"./turn-order-21b8f302.js":"XE1j","./reducer-6b2d258d.js":"wiOH","flatted":"O5av","./ai-acc049b6.js":"t4pr"}],"KkrQ":[function(require,module,exports) { +"use strict";function e(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=e; +},{}],"e8DE":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=n;var e=r(require("./defineProperty.js"));function r(e){return e&&e.__esModule?e:{default:e}}function t(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}function n(r){for(var n=1;n0?"Unexpected "+(a.length>1?"keys":"key")+' "'+a.join('", "')+'" found in '+c+'. Expected to find one of the known reducer keys instead: "'+o.join('", "')+'". Unexpected keys will be ignored.':void 0}function s(e){Object.keys(e).forEach(function(r){var n=e[r];if(void 0===n(void 0,{type:i.INIT}))throw new Error(t(12));if(void 0===n(void 0,{type:i.PROBE_UNKNOWN_ACTION()}))throw new Error(t(13))})}function d(e){for(var r=Object.keys(e),n={},o=0;onew h(t);class u{constructor(){this.debugPanel=null,this.currentClient=null,this.clients=new Map,this.subscribers=new Map}register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscribers()}unregister(t){if(this.clients.delete(t),this.currentClient===t){this.unmountDebug();for(const[t]of this.clients){if(this.debugPanel)break;this.mountDebug(t)}}this.notifySubscribers()}subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.getState()),()=>{this.subscribers.delete(e)}}switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of this.clients)if(e.playerID===t&&!1!==e.debugOpt&&e.multiplayer===this.currentClient.multiplayer)return void this.switchToClient(e);this.currentClient.updatePlayerID(t),this.notifySubscribers()}switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mountDebug(t),this.notifySubscribers())}notifySubscribers(){const t=this.getState();this.subscribers.forEach(e=>{e(t)})}getState(){return{client:this.currentClient,debuggableClients:this.getDebuggableClients()}}getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!==t.debugOpt)}mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"==typeof document)return;let e,s=document.body;t.debugOpt&&!0!==t.debugOpt&&(e=t.debugOpt.impl||e,s=t.debugOpt.target||s),e&&(this.currentClient=t,this.debugPanel=new e({target:s,props:{clientManager:this}}))}unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.currentClient=null}}const c=new u;function o(t,e,s){if(!s&&null==t){t=e.getState().ctx.currentPlayer}return t}function g(t,e,s,r,a,n){const h={};for(const l of e)h[l]=((...e)=>{const h=i.A[t](l,e,o(r,s,n),a);s.dispatch(h)});return h}const b=g.bind(null,"makeMove"),d=g.bind(null,"gameEvent"),p=g.bind(null,"plugin");class m{constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playerID:b,credentials:d,enhancer:p}){this.game=(0,r.P)(e),this.playerID=b,this.matchID=g,this.credentials=d,this.multiplayer=u,this.debugOpt=n,this.manager=c,this.gameStateOverride=null,this.subscribers={},this._running=!1,this.reducer=(0,r.C)({game:this.game,isClient:void 0!==u}),this.initialState=null,u||(this.initialState=(0,a.I)({game:this.game,numPlayers:h})),this.reset=(()=>{this.store.dispatch((0,i.t)(this.initialState))}),this.undo=(()=>{const t=(0,i.u)(o(this.playerID,this.store,this.multiplayer),this.credentials);this.store.dispatch(t)}),this.redo=(()=>{const t=(0,i.v)(o(this.playerID,this.store,this.multiplayer),this.credentials);this.store.dispatch(t)}),this.log=[];const m=(0,s.applyMiddleware)(r.T,()=>t=>e=>{const s=t(e);return this.notifySubscribers(),s},t=>e=>s=>{const r=t.getState(),a=e(s);return"clientOnly"in s||s.type===i.d||this.transport.onAction(r,s),a},t=>e=>s=>{const r=e(s),a=t.getState();switch(s.type){case i.M:case i.G:case i.l:case i.m:{const t=a.deltalog;this.log=[...this.log,...t];break}case i.R:this.log=[];break;case i.o:case i.j:{let t=-1;this.log.length>0&&(t=this.log[this.log.length-1]._stateID);let e=s.deltalog||[];e=e.filter(e=>e._stateID>t),this.log=[...this.log,...e];break}case i.k:this.initialState=s.initialState,this.log=s.log||[]}return r});p=void 0!==p?(0,s.compose)(m,p):m,this.store=(0,s.createStore)(this.reducer,this.initialState,p),u||(u=l),this.transport=u({gameKey:e,game:this.game,store:this.store,matchID:g,playerID:b,credentials:d,gameName:this.game.name,numPlayers:h}),this.createDispatchers(),this.transport.subscribeMatchData(t=>{this.matchData=t,this.notifySubscribers()}),this.chatMessages=[],this.sendChatMessage=(e=>{this.transport.onChatMessage(this.matchID,{id:(0,t.nanoid)(7),sender:this.playerID,payload:e})}),this.transport.subscribeChatMessage(t=>{this.chatMessages=[...this.chatMessages,t],this.notifySubscribers()})}notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.getState()))}overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()}start(){this.transport.connect(),this._running=!0,this.manager.register(this)}stop(){this.transport.disconnect(),this._running=!1,this.manager.unregister(this)}subscribe(t){const e=Object.keys(this.subscribers).length;return this.subscribers[e]=t,this.transport.subscribe(()=>this.notifySubscribers()),!this._running&&this.multiplayer||t(this.getState()),()=>{delete this.subscribers[e]}}getInitialState(){return this.initialState}getState(){let t=this.store.getState();if(null!==this.gameStateOverride&&(t=this.gameStateOverride),null===t)return t;let e=!0;const s=this.game.flow.isPlayerActive(t.G,t.ctx,this.playerID);return this.multiplayer&&!s&&(e=!1),this.multiplayer||null===this.playerID||void 0===this.playerID||s||(e=!1),void 0!==t.ctx.gameover&&(e=!1),this.multiplayer||(t={...t,G:this.game.playerView(t.G,t.ctx,this.playerID),plugins:(0,i.w)(t,this)}),{...t,log:this.log,isActive:e,isConnected:this.transport.isConnected}}createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.playerID,this.credentials,this.multiplayer),this.events=d(this.game.flow.enabledEventNames,this.store,this.playerID,this.credentials,this.multiplayer),this.plugins=p(this.game.pluginNames,this.store,this.playerID,this.credentials,this.multiplayer)}updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transport.updatePlayerID(t),this.notifySubscribers()}updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transport.updateMatchID(t),this.notifySubscribers()}updateCredentials(t){this.credentials=t,this.createDispatchers(),this.transport.updateCredentials(t),this.notifySubscribers()}}function y(t){return new m(t)} +},{"nanoid":"b767","./Debug-d3f20727.js":"MIUD","redux":"OV4J","./turn-order-21b8f302.js":"XE1j","./reducer-6b2d258d.js":"wiOH","./initialize-22a4fb0a.js":"eFVg","./transport-0079de87.js":"KLsr"}],"hK59":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.a=exports.L=void 0;const t=(t,e)=>{if(!t||"string"!=typeof t)throw new Error(`Expected ${e} string, got "${t}".`)},e=e=>t(e,"game name"),s=e=>t(e,"match ID"),r=(t,e)=>{if(!t)throw new Error(`Expected body, got “${t}”.`);for(const s in e){const r=e[s],a=t[s];if(typeof a!==r)throw new TypeError(`Expected body.${s} to be of type ${r}, got “${a}”.`)}};class a extends Error{constructor(t,e){super(t),this.details=e}}exports.a=a;class i{constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")}async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let t;try{t=await s.json()}catch{try{t=await s.text()}catch(r){t=r.message}}throw new a(`HTTP status ${s.status}`,t)}return s.json()}async post(t,e){let s={method:"post",body:JSON.stringify(e.body),headers:{"Content-Type":"application/json"}};return e.init&&(s={...s,...e.init,headers:{...s.headers,...e.init.headers}}),this.request(t,s)}async listGames(t){return this.request("/games",t)}async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,updatedBefore:r,updatedAfter:i}=s;void 0!==e&&t.push(`isGameover=${e}`),r&&t.push(`updatedBefore=${r}`),i&&t.push(`updatedAfter=${i}`),t.length>0&&(a="?"+t.join("&"))}return this.request(`/games/${t}${a}`,r)}async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`,a)}async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.post(`/games/${t}/create`,{body:s,init:a})}async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playerName:"string"}),this.post(`/games/${t}/${a}/join`,{body:i,init:n})}async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials:"string"}),await this.post(`/games/${t}/${a}/leave`,{body:i,init:n})}async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials:"string"}),await this.post(`/games/${t}/${a}/update`,{body:i,init:n})}async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",credentials:"string"}),this.post(`/games/${t}/${a}/playAgain`,{body:i,init:n})}}exports.L=i; +},{}],"L8uO":[function(require,module,exports) { +"use strict";var e=require("object-assign"),r="function"==typeof Symbol&&Symbol.for,t=r?Symbol.for("react.element"):60103,n=r?Symbol.for("react.portal"):60106,o=r?Symbol.for("react.fragment"):60107,u=r?Symbol.for("react.strict_mode"):60108,f=r?Symbol.for("react.profiler"):60114,c=r?Symbol.for("react.provider"):60109,l=r?Symbol.for("react.context"):60110,i=r?Symbol.for("react.forward_ref"):60112,s=r?Symbol.for("react.suspense"):60113,a=r?Symbol.for("react.memo"):60115,p=r?Symbol.for("react.lazy"):60116,y="function"==typeof Symbol&&Symbol.iterator;function d(e){for(var r="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;tP.length&&P.push(e)}function A(e,r,o,u){var f=typeof e;"undefined"!==f&&"boolean"!==f||(e=null);var c=!1;if(null===e)c=!0;else switch(f){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case t:case n:c=!0}}if(c)return o(u,e,""===r?"."+U(e,0):r),1;if(c=0,r=""===r?".":r+":",Array.isArray(e))for(var l=0;l1)for(var n=1;n{const s={gameName:t.name,unlisted:!!a,players:{},createdAt:Date.now(),updatedAt:Date.now()};void 0!==e&&(s.setupData=e);for(let i=0;i{a&&"number"==typeof a||(a=2);const o=t.validateSetupData&&t.validateSetupData(e,a);return void 0!==o?{setupDataError:o}:{metadata:i({game:t,numPlayers:a,setupData:e,unlisted:s}),initialState:(0,r.I)({game:t,numPlayers:a,setupData:e})}},n=t=>Object.values(t.players).map(t=>{const{credentials:a,...e}=t;return e}),l=t=>{const{credentials:a,...e}=t.payload;return{...t,payload:e}};class d{constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.transportAPI=r,this.subscribeCallback=(()=>{}),this.auth=s}subscribe(t){this.subscribeCallback=t}async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action or action payload"};let d;if((0,s.i)(this.storageAPI)?({metadata:d}=this.storageAPI.fetch(o,{metadata:!0})):({metadata:d}=await this.storageAPI.fetch(o,{metadata:!0})),this.auth){if(!(await this.auth.authenticateCredentials({playerID:n,credentials:r.payload.credentials,metadata:d})))return{error:"unauthorized action"}}const c=l(r),h=o;let u;if((0,s.i)(this.storageAPI)?({state:u}=this.storageAPI.fetch(h,{state:!0})):({state:u}=await this.storageAPI.fetch(h,{state:!0})),void 0===u)return(0,a.e)(`game not found, matchID=[${h}]`),{error:"game not found"};if(void 0!==u.ctx.gameover)return void(0,a.e)(`game over - matchID=[${h}] - playerID=[${n}]`+` - action[${c.payload.type}]`);const p=(0,e.C)({game:this.game}),m=(0,t.applyMiddleware)(e.T),g=(0,t.createStore)(p,u,m);if(c.type==a.l||c.type==a.m){const t=null!==u.ctx.activePlayers,e=u.ctx.currentPlayer===n;if(!t&&!e||t&&(void 0===u.ctx.activePlayers[n]||Object.keys(u.ctx.activePlayers).length>1))return void(0,a.e)(`playerID=[${n}] cannot undo / redo right now`)}if(!this.game.flow.isPlayerActive(u.G,u.ctx,n))return void(0,a.e)(`player not active - playerID=[${n}]`+` - action[${c.payload.type}]`);const y=c.type==a.M?this.game.flow.getMove(u.ctx,c.payload.type,n):null;if(c.type==a.M&&!y)return void(0,a.e)(`move not processed - canPlayerMakeMove=false - playerID=[${n}]`+` - action[${c.payload.type}]`);if(u._stateID!==i&&!(y&&(0,e.I)(y)&&y.ignoreStaleStateID))return void(0,a.e)(`invalid stateID, was=[${i}], expected=[${u._stateID}]`+` - playerID=[${n}] - action[${c.payload.type}]`);const I=g.getState();g.dispatch(c),u=g.getState(),this.subscribeCallback({state:u,action:c,matchID:o}),this.game.deltaState?this.transportAPI.sendAll({type:"patch",args:[o,i,I,u]}):this.transportAPI.sendAll({type:"update",args:[o,u]});const{deltalog:P,...f}=u;let A;if(!d||"gameover"in d||(A={...d,updatedAt:Date.now()},void 0!==u.ctx.gameover&&(A.gameover=u.ctx.gameover)),(0,s.i)(this.storageAPI))this.storageAPI.setState(h,f,P),A&&this.storageAPI.setMetadata(h,A);else{const t=[this.storageAPI.setState(h,f,P)];A&&t.push(this.storageAPI.setMetadata(h,A)),await Promise.all(t)}}async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initialState:!0},d=(0,s.i)(this.storageAPI)?this.storageAPI.fetch(i,l):await this.storageAPI.fetch(i,l);let{state:c,initialState:h,log:u,metadata:p}=d;if(this.auth&&null!=a){if(!(await this.auth.authenticateCredentials({playerID:a,credentials:e,metadata:p})))return{error:"unauthorized"}}if(void 0===c){const a=o({game:this.game,unlisted:!0,numPlayers:r,setupData:void 0});if("setupDataError"in a)return{error:"game requires setupData"};h=c=a.initialState,p=a.metadata,this.subscribeCallback({state:c,matchID:t}),(0,s.i)(this.storageAPI)?this.storageAPI.createMatch(i,{initialState:h,metadata:p}):await this.storageAPI.createMatch(i,{initialState:h,metadata:p})}const m={state:c,log:u,filteredMetadata:p?n(p):void 0,initialState:h};this.transportAPI.send({playerID:a,type:"sync",args:[t,m]})}async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if((0,s.i)(this.storageAPI)?({metadata:l}=this.storageAPI.fetch(o,{metadata:!0})):({metadata:l}=await this.storageAPI.fetch(o,{metadata:!0})),void 0===l)return(0,a.e)(`metadata not found for matchID=[${o}]`),{error:"metadata not found"};if(void 0===l.players[e])return(0,a.e)(`Player not in the match, matchID=[${o}] playerID=[${e}]`),{error:"player not in the match"};if(this.auth){if(!(await this.auth.authenticateCredentials({playerID:e,credentials:r,metadata:l})))return{error:"unauthorized"}}l.players[e].isConnected=i;const d=n(l);this.transportAPI.sendAll({type:"matchData",args:[t,d]}),(0,s.i)(this.storageAPI)?this.storageAPI.setMetadata(o,l):await this.storageAPI.setMetadata(o,l)}async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=await this.storageAPI.fetch(r,{metadata:!0});if(!(await this.auth.authenticateCredentials({playerID:a.sender,credentials:e,metadata:t})))return{error:"unauthorized"}}this.transportAPI.sendAll({type:"chat",args:[t,a]})}}exports.M=d; +},{"redux":"OV4J","./turn-order-21b8f302.js":"XE1j","./reducer-6b2d258d.js":"wiOH","./initialize-22a4fb0a.js":"eFVg","./base-13e38c3e.js":"VAT5"}],"A28J":[function(require,module,exports) { +var r=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function t(r,e){var t=e.replace(/\/{2,9}/g,"/").split("/");return"/"!=e.substr(0,1)&&0!==e.length||t.splice(0,1),"/"==e.substr(e.length-1,1)&&t.splice(t.length-1,1),t}function s(r,e){var t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,e,s){e&&(t[e]=s)}),t}module.exports=function(u){var a=u,n=u.indexOf("["),o=u.indexOf("]");-1!=n&&-1!=o&&(u=u.substring(0,n)+u.substring(n,o).replace(/:/g,";")+u.substring(o,u.length));for(var i=r.exec(u||""),p={},c=14;c--;)p[e[c]]=i[c]||"";return-1!=n&&-1!=o&&(p.source=a,p.host=p.host.substring(1,p.host.length-1).replace(/;/g,":"),p.authority=p.authority.replace("[","").replace("]","").replace(/;/g,":"),p.ipv6uri=!0),p.pathNames=t(p,p.path),p.queryKey=s(p,p.query),p}; +},{}],"EmkX":[function(require,module,exports) { +var s=1e3,e=60*s,r=60*e,a=24*r,n=7*a,c=365.25*a;function t(t){if(!((t=String(t)).length>100)){var u=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(u){var i=parseFloat(u[1]);switch((u[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return i*c;case"weeks":case"week":case"w":return i*n;case"days":case"day":case"d":return i*a;case"hours":case"hour":case"hrs":case"hr":case"h":return i*r;case"minutes":case"minute":case"mins":case"min":case"m":return i*e;case"seconds":case"second":case"secs":case"sec":case"s":return i*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}function u(n){var c=Math.abs(n);return c>=a?Math.round(n/a)+"d":c>=r?Math.round(n/r)+"h":c>=e?Math.round(n/e)+"m":c>=s?Math.round(n/s)+"s":n+"ms"}function i(n){var c=Math.abs(n);return c>=a?o(n,c,a,"day"):c>=r?o(n,c,r,"hour"):c>=e?o(n,c,e,"minute"):c>=s?o(n,c,s,"second"):n+" ms"}function o(s,e,r,a){var n=e>=1.5*r;return Math.round(s/r)+" "+a+(n?"s":"")}module.exports=function(s,e){e=e||{};var r=typeof s;if("string"===r&&s.length>0)return t(s);if("number"===r&&isFinite(s))return e.long?i(s):u(s);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(s))}; +},{}],"sQiI":[function(require,module,exports) { +function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enabled)return;const t=l,s=Number(new Date),o=s-(r||s);t.diff=o,t.prev=r,t.curr=s,r=s,e[0]=n.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(r,s)=>{if("%%"===r)return"%";a++;const o=n.formatters[s];if("function"==typeof o){const n=e[a];r=o.call(t,n),e.splice(a,1),a--}return r}),n.formatArgs.call(t,e),(t.log||n.log).apply(t,e)}return l.namespace=e,l.useColors=n.useColors(),l.color=n.selectColor(e),l.extend=t,l.destroy=n.destroy,Object.defineProperty(l,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==a?a:(s!==n.namespaces&&(s=n.namespaces,o=n.enabled(e)),o),set:e=>{a=e}}),"function"==typeof n.init&&n.init(l),l}function t(e,t){const r=n(this.namespace+(void 0===t?":":t)+e);return r.log=this.log,r}function r(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return n.debug=n,n.default=n,n.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},n.disable=function(){const e=[...n.names.map(r),...n.skips.map(r).map(e=>"-"+e)].join(",");return n.enable(""),e},n.enable=function(e){let t;n.save(e),n.namespaces=e,n.names=[],n.skips=[];const r=("string"==typeof e?e:"").split(/[\s,]+/),s=r.length;for(t=0;t{n[t]=e[t]}),n.names=[],n.skips=[],n.formatters={},n.selectColor=function(e){let t=0;for(let n=0;n=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+module.exports.humanize(this.diff),!this.useColors)return;const o="color: "+this.color;e.splice(1,0,o,"color: inherit");let t=0,C=0;e[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(t++,"%c"===e&&(C=t))}),e.splice(C,0,o)}function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.removeItem("debug")}catch(o){}}function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}return!o&&void 0!==e&&"env"in e&&(o=void 0),o}function n(){try{return localStorage}catch(e){}}exports.formatArgs=t,exports.save=C,exports.load=r,exports.useColors=o,exports.storage=n(),exports.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),exports.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],exports.log=console.debug||console.log||(()=>{}),module.exports=require("./common")(exports);const{formatters:s}=module.exports;s.j=function(e){try{return JSON.stringify(e)}catch(o){return"[UnexpectedJSONParseError]: "+o.message}}; +},{"./common":"sQiI","process":"pBGv"}],"U1mP":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.url=void 0;const t=require("parseuri"),o=require("debug")("socket.io-client:url");function r(r,e="",s){let p=r;s=s||"undefined"!=typeof location&&location,null==r&&(r=s.protocol+"//"+s.host),"string"==typeof r&&("/"===r.charAt(0)&&(r="/"===r.charAt(1)?s.protocol+r:s.host+r),/^(https?|wss?):\/\//.test(r)||(o("protocol-less url %s",r),r=void 0!==s?s.protocol+"//"+r:"https://"+r),o("parse %s",r),p=t(r)),p.port||(/^(http|ws)$/.test(p.protocol)?p.port="80":/^(http|ws)s$/.test(p.protocol)&&(p.port="443")),p.path=p.path||"/";const l=-1!==p.host.indexOf(":")?"["+p.host+"]":p.host;return p.id=p.protocol+"://"+l+":"+p.port+e,p.href=p.protocol+"://"+l+(s&&s.port===p.port?"":":"+p.port),p}exports.url=r; +},{"parseuri":"A28J","debug":"fhQu"}],"cnu0":[function(require,module,exports) { +try{module.exports="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(e){module.exports=!1} +},{}],"gHSz":[function(require,module,exports) { +module.exports=(()=>"undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")())(); +},{}],"jhGE":[function(require,module,exports) { +const e=require("has-cors"),t=require("./globalThis");module.exports=function(n){const c=n.xdomain,o=n.xscheme,r=n.enablesXDR;try{if("undefined"!=typeof XMLHttpRequest&&(!c||e))return new XMLHttpRequest}catch(i){}try{if("undefined"!=typeof XDomainRequest&&!o&&r)return new XDomainRequest}catch(i){}if(!c)try{return new(t[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(i){}}; +},{"has-cors":"cnu0","./globalThis":"gHSz"}],"c8qu":[function(require,module,exports) { +const e=Object.create(null);e.open="0",e.close="1",e.ping="2",e.pong="3",e.message="4",e.upgrade="5",e.noop="6";const o=Object.create(null);Object.keys(e).forEach(r=>{o[e[r]]=r});const r={type:"error",data:"parser error"};module.exports={PACKET_TYPES:e,PACKET_TYPES_REVERSE:o,ERROR_PACKET:r}; +},{}],"h2jv":[function(require,module,exports) { +const{PACKET_TYPES:e}=require("./commons"),o="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),r="function"==typeof ArrayBuffer,t=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,f=({type:f,data:a},u,i)=>o&&a instanceof Blob?u?i(a):n(a,i):r&&(a instanceof ArrayBuffer||t(a))?u?i(a instanceof ArrayBuffer?a:a.buffer):n(new Blob([a]),i):i(e[f]+(a||"")),n=(e,o)=>{const r=new FileReader;return r.onload=function(){const e=r.result.split(",")[1];o("b"+e)},r.readAsDataURL(e)};module.exports=f; +},{"./commons":"c8qu"}],"VBf3":[function(require,module,exports) { +!function(n){"use strict";exports.encode=function(e){var r,t=new Uint8Array(e),i=t.length,f="";for(r=0;r>2],f+=n[(3&t[r])<<4|t[r+1]>>4],f+=n[(15&t[r+1])<<2|t[r+2]>>6],f+=n[63&t[r+2]];return i%3==2?f=f.substring(0,f.length-1)+"=":i%3==1&&(f=f.substring(0,f.length-2)+"=="),f},exports.decode=function(e){var r,t,i,f,g,o=.75*e.length,u=e.length,s=0;"="===e[e.length-1]&&(o--,"="===e[e.length-2]&&o--);var d=new ArrayBuffer(o),h=new Uint8Array(d);for(r=0;r>4,h[s++]=(15&i)<<4|f>>2,h[s++]=(3&f)<<6|63&g;return d}}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"); +},{}],"zzjK":[function(require,module,exports) { +const{PACKET_TYPES_REVERSE:e,ERROR_PACKET:r}=require("./commons"),t="function"==typeof ArrayBuffer;let a;t&&(a=require("base64-arraybuffer"));const s=(t,a)=>{if("string"!=typeof t)return{type:"message",data:u(t,a)};const s=t.charAt(0);return"b"===s?{type:"message",data:n(t.substring(1),a)}:e[s]?t.length>1?{type:e[s],data:t.substring(1)}:{type:e[s]}:r},n=(e,r)=>{if(a){const t=a.decode(e);return u(t,r)}return{base64:!0,data:e}},u=(e,r)=>{switch(r){case"blob":return e instanceof ArrayBuffer?new Blob([e]):e;case"arraybuffer":default:return e}};module.exports=s; +},{"./commons":"c8qu","base64-arraybuffer":"VBf3"}],"c8NG":[function(require,module,exports) { +const e=require("./encodePacket"),o=require("./decodePacket"),r=String.fromCharCode(30),t=(o,t)=>{const c=o.length,d=new Array(c);let n=0;o.forEach((o,a)=>{e(o,!1,e=>{d[a]=e,++n===c&&t(d.join(r))})})},c=(e,t)=>{const c=e.split(r),d=[];for(let r=0;r{if("%%"===r)return"%";a++;const o=n.formatters[s];if("function"==typeof o){const n=e[a];r=o.call(t,n),e.splice(a,1),a--}return r}),n.formatArgs.call(t,e),(t.log||n.log).apply(t,e)}return l.namespace=e,l.useColors=n.useColors(),l.color=n.selectColor(e),l.extend=t,l.destroy=n.destroy,Object.defineProperty(l,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==a?a:(s!==n.namespaces&&(s=n.namespaces,o=n.enabled(e)),o),set:e=>{a=e}}),"function"==typeof n.init&&n.init(l),l}function t(e,t){const r=n(this.namespace+(void 0===t?":":t)+e);return r.log=this.log,r}function r(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return n.debug=n,n.default=n,n.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},n.disable=function(){const e=[...n.names.map(r),...n.skips.map(r).map(e=>"-"+e)].join(",");return n.enable(""),e},n.enable=function(e){let t;n.save(e),n.namespaces=e,n.names=[],n.skips=[];const r=("string"==typeof e?e:"").split(/[\s,]+/),s=r.length;for(t=0;t{n[t]=e[t]}),n.names=[],n.skips=[],n.formatters={},n.selectColor=function(e){let t=0;for(let n=0;n=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+module.exports.humanize(this.diff),!this.useColors)return;const o="color: "+this.color;e.splice(1,0,o,"color: inherit");let t=0,C=0;e[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(t++,"%c"===e&&(C=t))}),e.splice(C,0,o)}function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.removeItem("debug")}catch(o){}}function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}return!o&&void 0!==e&&"env"in e&&(o=void 0),o}function n(){try{return localStorage}catch(e){}}exports.formatArgs=t,exports.save=C,exports.load=r,exports.useColors=o,exports.storage=n(),exports.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),exports.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],exports.log=console.debug||console.log||(()=>{}),module.exports=require("./common")(exports);const{formatters:s}=module.exports;s.j=function(e){try{return JSON.stringify(e)}catch(o){return"[UnexpectedJSONParseError]: "+o.message}}; +},{"./common":"cq18","process":"pBGv"}],"aoJx":[function(require,module,exports) { +const e=require("engine.io-parser"),t=require("component-emitter"),s=require("debug")("engine.io-client:transport");class r extends t{constructor(e){super(),this.opts=e,this.query=e.query,this.readyState="",this.socket=e.socket}onError(e,t){const s=new Error(e);return s.type="TransportError",s.description=t,this.emit("error",s),this}open(){return"closed"!==this.readyState&&""!==this.readyState||(this.readyState="opening",this.doOpen()),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(e){"open"===this.readyState?this.write(e):s("transport is not open, discarding packets")}onOpen(){this.readyState="open",this.writable=!0,this.emit("open")}onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPacket(s)}onPacket(e){this.emit("packet",e)}onClose(){this.readyState="closed",this.emit("close")}}module.exports=r; +},{"engine.io-parser":"c8NG","component-emitter":"G6pK","debug":"sXsT"}],"a1bU":[function(require,module,exports) { +exports.encode=function(e){var n="";for(var o in e)e.hasOwnProperty(o)&&(n.length&&(n+="&"),n+=encodeURIComponent(o)+"="+encodeURIComponent(e[o]));return n},exports.decode=function(e){for(var n={},o=e.split("&"),t=0,r=o.length;t0);return n}function c(r){var e=0;for(u=0;u{o("paused"),this.readyState="paused",t()};if(this.polling||!this.writable){let t=0;this.polling&&(o("we are currently polling - waiting to pause"),t++,this.once("pollComplete",function(){o("pre-pause polling complete"),--t||e()})),this.writable||(o("we are currently writing - waiting to pause"),t++,this.once("drain",function(){o("pre-pause writing complete"),--t||e()}))}else e()}poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")}onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.binaryType).forEach(t=>{if("opening"===this.readyState&&"open"===t.type&&this.onOpen(),"close"===t.type)return this.onClose(),!1;this.onPacket(t)}),"closed"!==this.readyState&&(this.polling=!1,this.emit("pollComplete"),"open"===this.readyState?this.poll():o('ignoring poll - transport state "%s"',this.readyState))}doClose(){const t=()=>{o("writing close packet"),this.write([{type:"close"}])};"open"===this.readyState?(o("transport open - closing"),t()):(o("transport not open - deferring close"),this.once("open",t))}write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{this.writable=!0,this.emit("drain")})})}uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let o="";return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=i()),this.supportsBinary||t.sid||(t.b64=1),t=e.encode(t),this.opts.port&&("https"===s&&443!==Number(this.opts.port)||"http"===s&&80!==Number(this.opts.port))&&(o=":"+this.opts.port),t.length&&(t="?"+t),s+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+o+this.opts.path+t}}module.exports=p; +},{"../transport":"aoJx","parseqs":"a1bU","engine.io-parser":"c8NG","yeast":"hQ4G","debug":"sXsT"}],"nxc0":[function(require,module,exports) { +module.exports.pick=((e,...r)=>r.reduce((r,o)=>(e.hasOwnProperty(o)&&(r[o]=e[o]),r),{})); +},{}],"uJlD":[function(require,module,exports) { +const t=require("../../contrib/xmlhttprequest-ssl/XMLHttpRequest"),e=require("./polling"),s=require("component-emitter"),{pick:o}=require("../util"),r=require("../globalThis"),i=require("debug")("engine.io-client:polling-xhr");function n(){}const h=null!=new t({xdomain:!1}).responseType;class a extends e{constructor(t){if(super(t),"undefined"!=typeof location){const e="https:"===location.protocol;let s=location.port;s||(s=e?443:80),this.xd="undefined"!=typeof location&&t.hostname!==location.hostname||s!==t.port,this.xs=t.secure!==e}const e=t&&t.forceBase64;this.supportsBinary=h&&!e}request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts),new u(this.uri(),t)}doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("success",e),s.on("error",t=>{this.onError("xhr post error",t)})}doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",t=>{this.onError("xhr poll error",t)}),this.pollXhr=t}}class u extends s{constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.uri=t,this.async=!1!==e.async,this.data=void 0!==e.data?e.data:null,this.create()}create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this.opts.xd,e.xscheme=!!this.opts.xs;const s=this.xhr=new t(e);try{i("xhr open %s: %s",this.method,this.uri),s.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let t in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(t)&&s.setRequestHeader(t,this.opts.extraHeaders[t])}}catch(r){}if("POST"===this.method)try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(r){}try{s.setRequestHeader("Accept","*/*")}catch(r){}"withCredentials"in s&&(s.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(s.timeout=this.opts.requestTimeout),this.hasXDR()?(s.onload=(()=>{this.onLoad()}),s.onerror=(()=>{this.onError(s.responseText)})):s.onreadystatechange=(()=>{4===s.readyState&&(200===s.status||1223===s.status?this.onLoad():setTimeout(()=>{this.onError("number"==typeof s.status?s.status:0)},0))}),i("xhr data %s",this.data),s.send(this.data)}catch(r){return void setTimeout(()=>{this.onError(r)},0)}"undefined"!=typeof document&&(this.index=u.requestsCount++,u.requests[this.index]=this)}onSuccess(){this.emit("success"),this.cleanup()}onData(t){this.emit("data",t),this.onSuccess()}onError(t){this.emit("error",t),this.cleanup(!0)}cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?this.xhr.onload=this.xhr.onerror=n:this.xhr.onreadystatechange=n,t)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete u.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)}hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enablesXDR}abort(){this.cleanup()}}if(u.requestsCount=0,u.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",d);else if("function"==typeof addEventListener){addEventListener("onpagehide"in r?"pagehide":"unload",d,!1)}function d(){for(let t in u.requests)u.requests.hasOwnProperty(t)&&u.requests[t].abort()}module.exports=a,module.exports.Request=u; +},{"../../contrib/xmlhttprequest-ssl/XMLHttpRequest":"jhGE","./polling":"BPT5","component-emitter":"G6pK","../util":"nxc0","../globalThis":"gHSz","debug":"sXsT"}],"dWDe":[function(require,module,exports) { +const e=require("./polling"),t=require("../globalThis"),i=/\n/g,r=/\\n/g;let s;class o extends e{constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___eio||[]),this.index=s.length,s.push(this.onData.bind(this)),this.query.j=this.index}get supportsBinary(){return!1}doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.parentNode.removeChild(this.script),this.script=null),this.form&&(this.form.parentNode.removeChild(this.form),this.form=null,this.iframe=null),super.doClose()}doPoll(){const e=document.createElement("script");this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),e.async=!0,e.src=this.uri(),e.onerror=(e=>{this.onError("jsonp poll error",e)});const t=document.getElementsByTagName("script")[0];t?t.parentNode.insertBefore(e,t):(document.head||document.body).appendChild(e),this.script=e,"undefined"!=typeof navigator&&/gecko/i.test(navigator.userAgent)&&setTimeout(function(){const e=document.createElement("iframe");document.body.appendChild(e),document.body.removeChild(e)},100)}doWrite(e,t){let s;if(!this.form){const e=document.createElement("form"),t=document.createElement("textarea"),i=this.iframeId="eio_iframe_"+this.index;e.className="socketio",e.style.position="absolute",e.style.top="-1000px",e.style.left="-1000px",e.target=i,e.method="POST",e.setAttribute("accept-charset","utf-8"),t.name="d",e.appendChild(t),document.body.appendChild(e),this.form=e,this.area=t}function o(){n(),t()}this.form.action=this.uri();const n=()=>{if(this.iframe)try{this.form.removeChild(this.iframe)}catch(e){this.onError("jsonp polling iframe removal error",e)}try{const t='