vendor: 41,590 bytes, line 1
1(()=>{var t={891(t,e,s){"use strict";s.d(e,{lg:()=>Y,xI:()=>rt});class n{constructor(t,e,s){this.eventTarget=t,this.eventName=e,this.eventOptions=s,this.unorderedBindings=new Set}connect(){this.eventTarget.addEventListener(this.eventName,this,this.eventOptions)}disconnect(){this.eventTarget.removeEventListener(this.eventName,this,this.eventOptions)}bindingConnected(t){this.unorderedBindings.add(t)}bindingDisconnected(t){this.unorderedBindings.delete(t)}handleEvent(t){const e=function(t){if("immediatePropagationStopped"in t)return t;{const{stopImmediatePropagation:e}=t;return Object.assign(t,{immediatePropagationStopped:!1,stopImmediatePropagation(){this.immediatePropagationStopped=!0,e.call(this)}})}}(t);for(const t of this.bindings){if(e.immediatePropagationStopped)break;t.handleEvent(e)}}hasBindings(){return this.unorderedBindings.size>0}get bindings(){return Array.from(this.unorderedBindings).sort((t,e)=>{const s=t.index,n=e.index;return s<n?-1:s>n?1:0})}}class r{constructor(t){this.application=t,this.eventListenerMaps=new Map,this.started=!1}start(){this.started||(this.started=!0,this.eventListeners.forEach(t=>t.connect()))}stop(){this.started&&(this.started=!1,this.eventListeners.forEach(t=>t.disconnect()))}get eventListeners(){return Array.from(this.eventListenerMaps.values()).reduce((t,e)=>t.concat(Array.from(e.values())),[])}bindingConnected(t){this.fetchEventListenerForBinding(t).bindingConnected(t)}bindingDisconnected(t,e=!1){this.fetchEventListenerForBinding(t).bindingDisconnected(t),e&&this.clearEventListenersForBinding(t)}handleError(t,e,s={}){this.application.handleError(t,`Error ${e}`,s)}clearEventListenersForBinding(t){const e=this.fetchEventListenerForBinding(t);e.hasBindings()||(e.disconnect(),this.removeMappedEventListenerFor(t))}removeMappedEventListenerFor(t){const{eventTarget:e,eventName:s,eventOptions:n}=t,r=this.fetchEventListenerMapForEventTarget(e),i=this.cacheKey(s,n);r.delete(i),0==r.size&&this.eventListenerMaps.delete(e)}fetchEventListenerForBinding(t){const{eventTarget:e,eventName:s,eventOptions:n}=t;return this.fetchEventListener(e,s,n)}fetchEventListener(t,e,s){const n=this.fetchEventListenerMapForEventTarget(t),r=this.cacheKey(e,s);let i=n.get(r);return i||(i=this.createEventListener(t,e,s),n.set(r,i)),i}createEventListener(t,e,s){const r=new n(t,e,s);return this.started&&r.connect(),r}fetchEventListenerMapForEventTarget(t){let e=this.eventListenerMaps.get(t);return e||(e=new Map,this.eventListenerMaps.set(t,e)),e}cacheKey(t,e){const s=[t];return Object.keys(e).sort().forEach(t=>{s.push(`${e[t]?"":"!"}${t}`)}),s.join(":")}}const i={stop:({event:t,value:e})=>(e&&t.stopPropagation(),!0),prevent:({event:t,value:e})=>(e&&t.preventDefault(),!0),self:({event:t,value:e,element:s})=>!e||s===t.target},o=/^(?:(?:([^.]+?)\+)?(.+?)(?:\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;function a(t){return t.replace(/(?:[_-])([a-z0-9])/g,(t,e)=>e.toUpperCase())}function c(t){return a(t.replace(/--/g,"-").replace(/__/g,"_"))}function l(t){return t.charAt(0).toUpperCase()+t.slice(1)}function u(t){return t.replace(/([A-Z])/g,(t,e)=>`-${e.toLowerCase()}`)}function h(t){return null!=t}function d(t,e){return Object.prototype.hasOwnProperty.call(t,e)}const m=["meta","ctrl","alt","shift"];class g{constructor(t,e,s,n){this.element=t,this.index=e,this.eventTarget=s.eventTarget||t,this.eventName=s.eventName||function(t){const e=t.tagName.toLowerCase();if(e in f)return f[e](t)}(t)||p("missing event name"),this.eventOptions=s.eventOptions||{},this.identifier=s.identifier||p("missing identifier"),this.methodName=s.methodName||p("missing method name"),this.keyFilter=s.keyFilter||"",this.schema=n}static forToken(t,e){return new this(t.element,t.index,function(t){const e=t.trim().match(o)||[];let s=e[2],n=e[3];return n&&!["keydown","keyup","keypress"].includes(s)&&(s+=`.${n}`,n=""),{eventTarget:(r=e[4],"window"==r?window:"document"==r?document:void 0),eventName:s,eventOptions:e[7]?(i=e[7],i.split(":").reduce((t,e)=>Object.assign(t,{[e.replace(/^!/,"")]:!/^!/.test(e)}),{})):{},identifier:e[5],methodName:e[6],keyFilter:e[1]||n};var r,i}(t.content),e)}toString(){const t=this.keyFilter?`.${this.keyFilter}`:"",e=this.eventTargetName?`@${this.eventTargetName}`:"";return`${this.eventName}${t}${e}->${this.identifier}#${this.methodName}`}shouldIgnoreKeyboardEvent(t){if(!this.keyFilter)return!1;const e=this.keyFilter.split("+");if(this.keyFilterDissatisfied(t,e))return!0;const s=e.filter(t=>!m.includes(t))[0];return!!s&&(d(this.keyMappings,s)||p(`contains unknown key filter: ${this.keyFilter}`),this.keyMappings[s].toLowerCase()!==t.key.toLowerCase())}shouldIgnoreMouseEvent(t){if(!this.keyFilter)return!1;const e=[this.keyFilter];return!!this.keyFilterDissatisfied(t,e)}get params(){const t={},e=new RegExp(`^data-${this.identifier}-(.+)-param$`,"i");for(const{name:s,value:n}of Array.from(this.element.attributes)){const r=s.match(e),i=r&&r[1];i&&(t[a(i)]=b(n))}return t}get eventTargetName(){return(t=this.eventTarget)==window?"window":t==document?"document":void 0;var t}get keyMappings(){return this.schema.keyMappings}keyFilterDissatisfied(t,e){const[s,n,r,i]=m.map(t=>e.includes(t));return t.metaKey!==s||t.ctrlKey!==n||t.altKey!==r||t.shiftKey!==i}}const f={a:()=>"click",button:()=>"click",form:()=>"submit",details:()=>"toggle",input:t=>"submit"==t.getAttribute("type")?"click":"input",select:()=>"change",textarea:()=>"input"};function p(t){throw new Error(t)}function b(t){try{return JSON.parse(t)}catch(e){return t}}class v{constructor(t,e){this.context=t,this.action=e}get index(){return this.action.index}get eventTarget(){return this.action.eventTarget}get eventOptions(){return this.action.eventOptions}get identifier(){return this.context.identifier}handleEvent(t){const e=this.prepareActionEvent(t);this.willBeInvokedByEvent(t)&&this.applyEventModifiers(e)&&this.invokeWithEvent(e)}get eventName(){return this.action.eventName}get method(){const t=this.controller[this.methodName];if("function"==typeof t)return t;throw new Error(`Action "${this.action}" references undefined method "${this.methodName}"`)}applyEventModifiers(t){const{element:e}=this.action,{actionDescriptorFilters:s}=this.context.application,{controller:n}=this.context;let r=!0;for(const[i,o]of Object.entries(this.eventOptions))if(i in s){const a=s[i];r=r&&a({name:i,value:o,event:t,element:e,controller:n})}return r}prepareActionEvent(t){return Object.assign(t,{params:this.action.params})}invokeWithEvent(t){const{target:e,currentTarget:s}=t;try{this.method.call(this.controller,t),this.context.logDebugActivity(this.methodName,{event:t,target:e,currentTarget:s,action:this.methodName})}catch(e){const{identifier:s,controller:n,element:r,index:i}=this,o={identifier:s,controller:n,element:r,index:i,event:t};this.context.handleError(e,`invoking action "${this.action}"`,o)}}willBeInvokedByEvent(t){const e=t.target;return!(t instanceof KeyboardEvent&&this.action.shouldIgnoreKeyboardEvent(t))&&!(t instanceof MouseEvent&&this.action.shouldIgnoreMouseEvent(t))&&(this.element===e||(e instanceof Element&&this.element.contains(e)?this.scope.containsElement(e):this.scope.containsElement(this.action.element)))}get controller(){return this.context.controller}get methodName(){return this.action.methodName}get element(){return this.scope.element}get scope(){return this.context.scope}}class y{constructor(t,e){this.mutationObserverInit={attributes:!0,childList:!0,subtree:!0},this.element=t,this.started=!1,this.delegate=e,this.elements=new Set,this.mutationObserver=new MutationObserver(t=>this.processMutations(t))}start(){this.started||(this.started=!0,this.mutationObserver.observe(this.element,this.mutationObserverInit),this.refresh())}pause(t){this.started&&(this.mutationObserver.disconnect(),this.started=!1),t(),this.started||(this.mutationObserver.observe(this.element,this.mutationObserverInit),this.started=!0)}stop(){this.started&&(this.mutationObserver.takeRecords(),this.mutationObserver.disconnect(),this.started=!1)}refresh(){if(this.started){const t=new Set(this.matchElementsInTree());for(const e of Array.from(this.elements))t.has(e)||this.removeElement(e);for(const e of Array.from(t))this.addElement(e)}}processMutations(t){if(this.started)for(const e of t)this.processMutation(e)}processMutation(t){"attributes"==t.type?this.processAttributeChange(t.target,t.attributeName):"childList"==t.type&&(this.processRemovedNodes(t.removedNodes),this.processAddedNodes(t.addedNodes))}processAttributeChange(t,e){this.elements.has(t)?this.delegate.elementAttributeChanged&&this.matchElement(t)?this.delegate.elementAttributeChanged(t,e):this.removeElement(t):this.matchElement(t)&&this.addElement(t)}processRemovedNodes(t){for(const e of Array.from(t)){const t=this.elementFromNode(e);t&&this.processTree(t,this.removeElement)}}processAddedNodes(t){for(const e of Array.from(t)){const t=this.elementFromNode(e);t&&this.elementIsActive(t)&&this.processTree(t,this.addElement)}}matchElement(t){return this.delegate.matchElement(t)}matchElementsInTree(t=this.element){return this.delegate.matchElementsInTree(t)}processTree(t,e){for(const s of this.matchElementsInTree(t))e.call(this,s)}elementFromNode(t){if(t.nodeType==Node.ELEMENT_NODE)return t}elementIsActive(t){return t.isConnected==this.element.isConnected&&this.element.contains(t)}addElement(t){this.elements.has(t)||this.elementIsActive(t)&&(this.elements.add(t),this.delegate.elementMatched&&this.delegate.elementMatched(t))}removeElement(t){this.elements.has(t)&&(this.elements.delete(t),this.delegate.elementUnmatched&&this.delegate.elementUnmatched(t))}}class w{constructor(t,e,s){this.attributeName=e,this.delegate=s,this.elementObserver=new y(t,this)}get element(){return this.elementObserver.element}get selector(){return`[${this.attributeName}]`}start(){this.elementObserver.start()}pause(t){this.elementObserver.pause(t)}stop(){this.elementObserver.stop()}refresh(){this.elementObserver.refresh()}get started(){return this.elementObserver.started}matchElement(t){return t.hasAttribute(this.attributeName)}matchElementsInTree(t){const e=this.matchElement(t)?[t]:[],s=Array.from(t.querySelectorAll(this.selector));return e.concat(s)}elementMatched(t){this.delegate.elementMatchedAttribute&&this.delegate.elementMatchedAttribute(t,this.attributeName)}elementUnmatched(t){this.delegate.elementUnmatchedAttribute&&this.delegate.elementUnmatchedAttribute(t,this.attributeName)}elementAttributeChanged(t,e){this.delegate.elementAttributeValueChanged&&this.attributeName==e&&this.delegate.elementAttributeValueChanged(t,e)}}function T(t,e){let s=t.get(e);return s||(s=new Set,t.set(e,s)),s}class E{constructor(){this.valuesByKey=new Map}get keys(){return Array.from(this.valuesByKey.keys())}get values(){return Array.from(this.valuesByKey.values()).reduce((t,e)=>t.concat(Array.from(e)),[])}get size(){return Array.from(this.valuesByKey.values()).reduce((t,e)=>t+e.size,0)}add(t,e){!function(t,e,s){T(t,e).add(s)}(this.valuesByKey,t,e)}delete(t,e){!function(t,e,s){T(t,e).delete(s),function(t,e){const s=t.get(e);null!=s&&0==s.size&&t.delete(e)}(t,e)}(this.valuesByKey,t,e)}has(t,e){const s=this.valuesByKey.get(t);return null!=s&&s.has(e)}hasKey(t){return this.valuesByKey.has(t)}hasValue(t){return Array.from(this.valuesByKey.values()).some(e=>e.has(t))}getValuesForKey(t){const e=this.valuesByKey.get(t);return e?Array.from(e):[]}getKeysForValue(t){return Array.from(this.valuesByKey).filter(([e,s])=>s.has(t)).map(([t,e])=>t)}}class k{constructor(t,e,s,n){this._selector=e,this.details=n,this.elementObserver=new y(t,this),this.delegate=s,this.matchesByElement=new E}get started(){return this.elementObserver.started}get selector(){return this._selector}set selector(t){this._selector=t,this.refresh()}start(){this.elementObserver.start()}pause(t){this.elementObserver.pause(t)}stop(){this.elementObserver.stop()}refresh(){this.elementObserver.refresh()}get element(){return this.elementObserver.element}matchElement(t){const{selector:e}=this;if(e){const s=t.matches(e);return this.delegate.selectorMatchElement?s&&this.delegate.selectorMatchElement(t,this.details):s}return!1}matchElementsInTree(t){const{selector:e}=this;if(e){const s=this.matchElement(t)?[t]:[],n=Array.from(t.querySelectorAll(e)).filter(t=>this.matchElement(t));return s.concat(n)}return[]}elementMatched(t){const{selector:e}=this;e&&this.selectorMatched(t,e)}elementUnmatched(t){const e=this.matchesByElement.getKeysForValue(t);for(const s of e)this.selectorUnmatched(t,s)}elementAttributeChanged(t,e){const{selector:s}=this;if(s){const e=this.matchElement(t),n=this.matchesByElement.has(s,t);e&&!n?this.selectorMatched(t,s):!e&&n&&this.selectorUnmatched(t,s)}}selectorMatched(t,e){this.delegate.selectorMatched(t,e,this.details),this.matchesByElement.add(e,t)}selectorUnmatched(t,e){this.delegate.selectorUnmatched(t,e,this.details),this.matchesByElement.delete(e,t)}}class A{constructor(t,e){this.element=t,this.delegate=e,this.started=!1,this.stringMap=new Map,this.mutationObserver=new MutationObserver(t=>this.processMutations(t))}start(){this.started||(this.started=!0,this.mutationObserver.observe(this.element,{attributes:!0,attributeOldValue:!0}),this.refresh())}stop(){this.started&&(this.mutationObserver.takeRecords(),this.mutationObserver.disconnect(),this.started=!1)}refresh(){if(this.started)for(const t of this.knownAttributeNames)this.refreshAttribute(t,null)}processMutations(t){if(this.started)for(const e of t)this.processMutation(e)}processMutation(t){const e=t.attributeName;e&&this.refreshAttribute(e,t.oldValue)}refreshAttribute(t,e){const s=this.delegate.getStringMapKeyForAttribute(t);if(null!=s){this.stringMap.has(t)||this.stringMapKeyAdded(s,t);const n=this.element.getAttribute(t);if(this.stringMap.get(t)!=n&&this.stringMapValueChanged(n,s,e),null==n){const e=this.stringMap.get(t);this.stringMap.delete(t),e&&this.stringMapKeyRemoved(s,t,e)}else this.stringMap.set(t,n)}}stringMapKeyAdded(t,e){this.delegate.stringMapKeyAdded&&this.delegate.stringMapKeyAdded(t,e)}stringMapValueChanged(t,e,s){this.delegate.stringMapValueChanged&&this.delegate.stringMapValueChanged(t,e,s)}stringMapKeyRemoved(t,e,s){this.delegate.stringMapKeyRemoved&&this.delegate.stringMapKeyRemoved(t,e,s)}get knownAttributeNames(){return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)))}get currentAttributeNames(){return Array.from(this.element.attributes).map(t=>t.name)}get recordedAttributeNames(){return Array.from(this.stringMap.keys())}}class O{constructor(t,e,s){this.attributeObserver=new w(t,e,this),this.delegate=s,this.tokensByElement=new E}get started(){return this.attributeObserver.started}start(){this.attributeObserver.start()}pause(t){this.attributeObserver.pause(t)}stop(){this.attributeObserver.stop()}refresh(){this.attributeObserver.refresh()}get element(){return this.attributeObserver.element}get attributeName(){return this.attributeObserver.attributeName}elementMatchedAttribute(t){this.tokensMatched(this.readTokensForElement(t))}elementAttributeValueChanged(t){const[e,s]=this.refreshTokensForElement(t);this.tokensUnmatched(e),this.tokensMatched(s)}elementUnmatchedAttribute(t){this.tokensUnmatched(this.tokensByElement.getValuesForKey(t))}tokensMatched(t){t.forEach(t=>this.tokenMatched(t))}tokensUnmatched(t){t.forEach(t=>this.tokenUnmatched(t))}tokenMatched(t){this.delegate.tokenMatched(t),this.tokensByElement.add(t.element,t)}tokenUnmatched(t){this.delegate.tokenUnmatched(t),this.tokensByElement.delete(t.element,t)}refreshTokensForElement(t){const e=this.tokensByElement.getValuesForKey(t),s=this.readTokensForElement(t),n=function(t,e){const s=Math.max(t.length,e.length);return Array.from({length:s},(s,n)=>[t[n],e[n]])}(e,s).findIndex(([t,e])=>{return n=e,!((s=t)&&n&&s.index==n.index&&s.content==n.content);var s,n});return-1==n?[[],[]]:[e.slice(n),s.slice(n)]}readTokensForElement(t){const e=this.attributeName;return function(t,e,s){return t.trim().split(/\s+/).filter(t=>t.length).map((t,n)=>({element:e,attributeName:s,content:t,index:n}))}(t.getAttribute(e)||"",t,e)}}class M{constructor(t,e,s){this.tokenListObserver=new O(t,e,this),this.delegate=s,this.parseResultsByToken=new WeakMap,this.valuesByTokenByElement=new WeakMap}get started(){return this.tokenListObserver.started}start(){this.tokenListObserver.start()}stop(){this.tokenListObserver.stop()}refresh(){this.tokenListObserver.refresh()}get element(){return this.tokenListObserver.element}get attributeName(){return this.tokenListObserver.attributeName}tokenMatched(t){const{element:e}=t,{value:s}=this.fetchParseResultForToken(t);s&&(this.fetchValuesByTokenForElement(e).set(t,s),this.delegate.elementMatchedValue(e,s))}tokenUnmatched(t){const{element:e}=t,{value:s}=this.fetchParseResultForToken(t);s&&(this.fetchValuesByTokenForElement(e).delete(t),this.delegate.elementUnmatchedValue(e,s))}fetchParseResultForToken(t){let e=this.parseResultsByToken.get(t);return e||(e=this.parseToken(t),this.parseResultsByToken.set(t,e)),e}fetchValuesByTokenForElement(t){let e=this.valuesByTokenByElement.get(t);return e||(e=new Map,this.valuesByTokenByElement.set(t,e)),e}parseToken(t){try{return{value:this.delegate.parseValueForToken(t)}}catch(t){return{error:t}}}}class C{constructor(t,e){this.context=t,this.delegate=e,this.bindingsByAction=new Map}start(){this.valueListObserver||(this.valueListObserver=new M(this.element,this.actionAttribute,this),this.valueListObserver.start())}stop(){this.valueListObserver&&(this.valueListObserver.stop(),delete this.valueListObserver,this.disconnectAllActions())}get element(){return this.context.element}get identifier(){return this.context.identifier}get actionAttribute(){return this.schema.actionAttribute}get schema(){return this.context.schema}get bindings(){return Array.from(this.bindingsByAction.values())}connectAction(t){const e=new v(this.context,t);this.bindingsByAction.set(t,e),this.delegate.bindingConnected(e)}disconnectAction(t){const e=this.bindingsByAction.get(t);e&&(this.bindingsByAction.delete(t),this.delegate.bindingDisconnected(e))}disconnectAllActions(){this.bindings.forEach(t=>this.delegate.bindingDisconnected(t,!0)),this.bindingsByAction.clear()}parseValueForToken(t){const e=g.forToken(t,this.schema);if(e.identifier==this.identifier)return e}elementMatchedValue(t,e){this.connectAction(e)}elementUnmatchedValue(t,e){this.disconnectAction(e)}}class S{constructor(t,e){this.context=t,this.receiver=e,this.stringMapObserver=new A(this.element,this),this.valueDescriptorMap=this.controller.valueDescriptorMap}start(){this.stringMapObserver.start(),this.invokeChangedCallbacksForDefaultValues()}stop(){this.stringMapObserver.stop()}get element(){return this.context.element}get controller(){return this.context.controller}getStringMapKeyForAttribute(t){if(t in this.valueDescriptorMap)return this.valueDescriptorMap[t].name}stringMapKeyAdded(t,e){const s=this.valueDescriptorMap[e];this.hasValue(t)||this.invokeChangedCallback(t,s.writer(this.receiver[t]),s.writer(s.defaultValue))}stringMapValueChanged(t,e,s){const n=this.valueDescriptorNameMap[e];null!==t&&(null===s&&(s=n.writer(n.defaultValue)),this.invokeChangedCallback(e,t,s))}stringMapKeyRemoved(t,e,s){const n=this.valueDescriptorNameMap[t];this.hasValue(t)?this.invokeChangedCallback(t,n.writer(this.receiver[t]),s):this.invokeChangedCallback(t,n.writer(n.defaultValue),s)}invokeChangedCallbacksForDefaultValues(){for(const{key:t,name:e,defaultValue:s,writer:n}of this.valueDescriptors)null==s||this.controller.data.has(t)||this.invokeChangedCallback(e,n(s),void 0)}invokeChangedCallback(t,e,s){const n=`${t}Changed`,r=this.receiver[n];if("function"==typeof r){const n=this.valueDescriptorNameMap[t];try{const t=n.reader(e);let i=s;s&&(i=n.reader(s)),r.call(this.receiver,t,i)}catch(t){throw t instanceof TypeError&&(t.message=`Stimulus Value "${this.context.identifier}.${n.name}" - ${t.message}`),t}}}get valueDescriptors(){const{valueDescriptorMap:t}=this;return Object.keys(t).map(e=>t[e])}get valueDescriptorNameMap(){const t={};return Object.keys(this.valueDescriptorMap).forEach(e=>{const s=this.valueDescriptorMap[e];t[s.name]=s}),t}hasValue(t){const e=`has${l(this.valueDescriptorNameMap[t].name)}`;return this.receiver[e]}}class x{constructor(t,e){this.context=t,this.delegate=e,this.targetsByName=new E}start(){this.tokenListObserver||(this.tokenListObserver=new O(this.element,this.attributeName,this),this.tokenListObserver.start())}stop(){this.tokenListObserver&&(this.disconnectAllTargets(),this.tokenListObserver.stop(),delete this.tokenListObserver)}tokenMatched({element:t,content:e}){this.scope.containsElement(t)&&this.connectTarget(t,e)}tokenUnmatched({element:t,content:e}){this.disconnectTarget(t,e)}connectTarget(t,e){var s;this.targetsByName.has(e,t)||(this.targetsByName.add(e,t),null===(s=this.tokenListObserver)||void 0===s||s.pause(()=>this.delegate.targetConnected(t,e)))}disconnectTarget(t,e){var s;this.targetsByName.has(e,t)&&(this.targetsByName.delete(e,t),null===(s=this.tokenListObserver)||void 0===s||s.pause(()=>this.delegate.targetDisconnected(t,e)))}disconnectAllTargets(){for(const t of this.targetsByName.keys)for(const e of this.targetsByName.getValuesForKey(t))this.disconnectTarget(e,t)}get attributeName(){return`data-${this.context.identifier}-target`}get element(){return this.context.element}get scope(){return this.context.scope}}function _(t,e){const s=F(t);return Array.from(s.reduce((t,s)=>(function(t,e){const s=t[e];return Array.isArray(s)?s:[]}(s,e).forEach(e=>t.add(e)),t),new Set))}function F(t){const e=[];for(;t;)e.push(t),t=Object.getPrototypeOf(t);return e.reverse()}class D{constructor(t,e){this.started=!1,this.context=t,this.delegate=e,this.outletsByName=new E,this.outletElementsByName=new E,this.selectorObserverMap=new Map,this.attributeObserverMap=new Map}start(){this.started||(this.outletDefinitions.forEach(t=>{this.setupSelectorObserverForOutlet(t),this.setupAttributeObserverForOutlet(t)}),this.started=!0,this.dependentContexts.forEach(t=>t.refresh()))}refresh(){this.selectorObserverMap.forEach(t=>t.refresh()),this.attributeObserverMap.forEach(t=>t.refresh())}stop(){this.started&&(this.started=!1,this.disconnectAllOutlets(),this.stopSelectorObservers(),this.stopAttributeObservers())}stopSelectorObservers(){this.selectorObserverMap.size>0&&(this.selectorObserverMap.forEach(t=>t.stop()),this.selectorObserverMap.clear())}stopAttributeObservers(){this.attributeObserverMap.size>0&&(this.attributeObserverMap.forEach(t=>t.stop()),this.attributeObserverMap.clear())}selectorMatched(t,e,{outletName:s}){const n=this.getOutlet(t,s);n&&this.connectOutlet(n,t,s)}selectorUnmatched(t,e,{outletName:s}){const n=this.getOutletFromMap(t,s);n&&this.disconnectOutlet(n,t,s)}selectorMatchElement(t,{outletName:e}){const s=this.selector(e),n=this.hasOutlet(t,e),r=t.matches(`[${this.schema.controllerAttribute}~=${e}]`);return!!s&&n&&r&&t.matches(s)}elementMatchedAttribute(t,e){const s=this.getOutletNameFromOutletAttributeName(e);s&&this.updateSelectorObserverForOutlet(s)}elementAttributeValueChanged(t,e){const s=this.getOutletNameFromOutletAttributeName(e);s&&this.updateSelectorObserverForOutlet(s)}elementUnmatchedAttribute(t,e){const s=this.getOutletNameFromOutletAttributeName(e);s&&this.updateSelectorObserverForOutlet(s)}connectOutlet(t,e,s){var n;this.outletElementsByName.has(s,e)||(this.outletsByName.add(s,t),this.outletElementsByName.add(s,e),null===(n=this.selectorObserverMap.get(s))||void 0===n||n.pause(()=>this.delegate.outletConnected(t,e,s)))}disconnectOutlet(t,e,s){var n;this.outletElementsByName.has(s,e)&&(this.outletsByName.delete(s,t),this.outletElementsByName.delete(s,e),null===(n=this.selectorObserverMap.get(s))||void 0===n||n.pause(()=>this.delegate.outletDisconnected(t,e,s)))}disconnectAllOutlets(){for(const t of this.outletElementsByName.keys)for(const e of this.outletElementsByName.getValuesForKey(t))for(const s of this.outletsByName.getValuesForKey(t))this.disconnectOutlet(s,e,t)}updateSelectorObserverForOutlet(t){const e=this.selectorObserverMap.get(t);e&&(e.selector=this.selector(t))}setupSelectorObserverForOutlet(t){const e=this.selector(t),s=new k(document.body,e,this,{outletName:t});this.selectorObserverMap.set(t,s),s.start()}setupAttributeObserverForOutlet(t){const e=this.attributeNameForOutletName(t),s=new w(this.scope.element,e,this);this.attributeObserverMap.set(t,s),s.start()}selector(t){return this.scope.outlets.getSelectorForOutletName(t)}attributeNameForOutletName(t){return this.scope.schema.outletAttributeForScope(this.identifier,t)}getOutletNameFromOutletAttributeName(t){return this.outletDefinitions.find(e=>this.attributeNameForOutletName(e)===t)}get outletDependencies(){const t=new E;return this.router.modules.forEach(e=>{_(e.definition.controllerConstructor,"outlets").forEach(s=>t.add(s,e.identifier))}),t}get outletDefinitions(){return this.outletDependencies.getKeysForValue(this.identifier)}get dependentControllerIdentifiers(){return this.outletDependencies.getValuesForKey(this.identifier)}get dependentContexts(){const t=this.dependentControllerIdentifiers;return this.router.contexts.filter(e=>t.includes(e.identifier))}hasOutlet(t,e){return!!this.getOutlet(t,e)||!!this.getOutletFromMap(t,e)}getOutlet(t,e){return this.application.getControllerForElementAndIdentifier(t,e)}getOutletFromMap(t,e){return this.outletsByName.getValuesForKey(e).find(e=>e.element===t)}get scope(){return this.context.scope}get schema(){return this.context.schema}get identifier(){return this.context.identifier}get application(){return this.context.application}get router(){return this.application.router}}class L{constructor(t,e){this.logDebugActivity=(t,e={})=>{const{identifier:s,controller:n,element:r}=this;e=Object.assign({identifier:s,controller:n,element:r},e),this.application.logDebugActivity(this.identifier,t,e)},this.module=t,this.scope=e,this.controller=new t.controllerConstructor(this),this.bindingObserver=new C(this,this.dispatcher),this.valueObserver=new S(this,this.controller),this.targetObserver=new x(this,this),this.outletObserver=new D(this,this);try{this.controller.initialize(),this.logDebugActivity("initialize")}catch(t){this.handleError(t,"initializing controller")}}connect(){this.bindingObserver.start(),this.valueObserver.start(),this.targetObserver.start(),this.outletObserver.start();try{this.controller.connect(),this.logDebugActivity("connect")}catch(t){this.handleError(t,"connecting controller")}}refresh(){this.outletObserver.refresh()}disconnect(){try{this.controller.disconnect(),this.logDebugActivity("disconnect")}catch(t){this.handleError(t,"disconnecting controller")}this.outletObserver.stop(),this.targetObserver.stop(),this.valueObserver.stop(),this.bindingObserver.stop()}get application(){return this.module.application}get identifier(){return this.module.identifier}get schema(){return this.application.schema}get dispatcher(){return this.application.dispatcher}get element(){return this.scope.element}get parentElement(){return this.element.parentElement}handleError(t,e,s={}){const{identifier:n,controller:r,element:i}=this;s=Object.assign({identifier:n,controller:r,element:i},s),this.application.handleError(t,`Error ${e}`,s)}targetConnected(t,e){this.invokeControllerMethod(`${e}TargetConnected`,t)}targetDisconnected(t,e){this.invokeControllerMethod(`${e}TargetDisconnected`,t)}outletConnected(t,e,s){this.invokeControllerMethod(`${c(s)}OutletConnected`,t,e)}outletDisconnected(t,e,s){this.invokeControllerMethod(`${c(s)}OutletDisconnected`,t,e)}invokeControllerMethod(t,...e){const s=this.controller;"function"==typeof s[t]&&s[t](...e)}}const N="function"==typeof Object.getOwnPropertySymbols?t=>[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)]:Object.getOwnPropertyNames,I=(()=>{function t(t){function e(){return Reflect.construct(t,arguments,new.target)}return e.prototype=Object.create(t.prototype,{constructor:{value:e}}),Reflect.setPrototypeOf(e,t),e}try{return function(){const e=t(function(){this.a.call(this)});e.prototype.a=function(){},new e}(),t}catch(t){return t=>class extends t{}}})();class P{constructor(t,e){this.application=t,this.definition=function(t){return{identifier:t.identifier,controllerConstructor:(e=t.controllerConstructor,function(t,e){const s=I(t),n=function(t,e){return N(e).reduce((s,n)=>{const r=function(t,e,s){const n=Object.getOwnPropertyDescriptor(t,s);if(!n||!("value"in n)){const t=Object.getOwnPropertyDescriptor(e,s).value;return n&&(t.get=n.get||t.get,t.set=n.set||t.set),t}}(t,e,n);return r&&Object.assign(s,{[n]:r}),s},{})}(t.prototype,e);return Object.defineProperties(s.prototype,n),s}(e,function(t){return _(t,"blessings").reduce((e,s)=>{const n=s(t);for(const t in n){const s=e[t]||{};e[t]=Object.assign(s,n[t])}return e},{})}(e)))};var e}(e),this.contextsByScope=new WeakMap,this.connectedContexts=new Set}get identifier(){return this.definition.identifier}get controllerConstructor(){return this.definition.controllerConstructor}get contexts(){return Array.from(this.connectedContexts)}connectContextForScope(t){const e=this.fetchContextForScope(t);this.connectedContexts.add(e),e.connect()}disconnectContextForScope(t){const e=this.contextsByScope.get(t);e&&(this.connectedContexts.delete(e),e.disconnect())}fetchContextForScope(t){let e=this.contextsByScope.get(t);return e||(e=new L(this,t),this.contextsByScope.set(t,e)),e}}class j{constructor(t){this.scope=t}has(t){return this.data.has(this.getDataKey(t))}get(t){return this.getAll(t)[0]}getAll(t){return(this.data.get(this.getDataKey(t))||"").match(/[^\s]+/g)||[]}getAttributeName(t){return this.data.getAttributeNameForKey(this.getDataKey(t))}getDataKey(t){return`${t}-class`}get data(){return this.scope.data}}class ${constructor(t){this.scope=t}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get(t){const e=this.getAttributeNameForKey(t);return this.element.getAttribute(e)}set(t,e){const s=this.getAttributeNameForKey(t);return this.element.setAttribute(s,e),this.get(t)}has(t){const e=this.getAttributeNameForKey(t);return this.element.hasAttribute(e)}delete(t){if(this.has(t)){const e=this.getAttributeNameForKey(t);return this.element.removeAttribute(e),!0}return!1}getAttributeNameForKey(t){return`data-${this.identifier}-${u(t)}`}}class B{constructor(t){this.warnedKeysByObject=new WeakMap,this.logger=t}warn(t,e,s){let n=this.warnedKeysByObject.get(t);n||(n=new Set,this.warnedKeysByObject.set(t,n)),n.has(e)||(n.add(e),this.logger.warn(s,t))}}function U(t,e){return`[${t}~="${e}"]`}class q{constructor(t){this.scope=t}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get schema(){return this.scope.schema}has(t){return null!=this.find(t)}find(...t){return t.reduce((t,e)=>t||this.findTarget(e)||this.findLegacyTarget(e),void 0)}findAll(...t){return t.reduce((t,e)=>[...t,...this.findAllTargets(e),...this.findAllLegacyTargets(e)],[])}findTarget(t){const e=this.getSelectorForTargetName(t);return this.scope.findElement(e)}findAllTargets(t){const e=this.getSelectorForTargetName(t);return this.scope.findAllElements(e)}getSelectorForTargetName(t){return U(this.schema.targetAttributeForScope(this.identifier),t)}findLegacyTarget(t){const e=this.getLegacySelectorForTargetName(t);return this.deprecate(this.scope.findElement(e),t)}findAllLegacyTargets(t){const e=this.getLegacySelectorForTargetName(t);return this.scope.findAllElements(e).map(e=>this.deprecate(e,t))}getLegacySelectorForTargetName(t){const e=`${this.identifier}.${t}`;return U(this.schema.targetAttribute,e)}deprecate(t,e){if(t){const{identifier:s}=this,n=this.schema.targetAttribute,r=this.schema.targetAttributeForScope(s);this.guide.warn(t,`target:${e}`,`Please replace ${n}="${s}.${e}" with ${r}="${e}". The ${n} attribute is deprecated and will be removed in a future version of Stimulus.`)}return t}get guide(){return this.scope.guide}}class R{constructor(t,e){this.scope=t,this.controllerElement=e}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get schema(){return this.scope.schema}has(t){return null!=this.find(t)}find(...t){return t.reduce((t,e)=>t||this.findOutlet(e),void 0)}findAll(...t){return t.reduce((t,e)=>[...t,...this.findAllOutlets(e)],[])}getSelectorForOutletName(t){const e=this.schema.outletAttributeForScope(this.identifier,t);return this.controllerElement.getAttribute(e)}findOutlet(t){const e=this.getSelectorForOutletName(t);if(e)return this.findElement(e,t)}findAllOutlets(t){const e=this.getSelectorForOutletName(t);return e?this.findAllElements(e,t):[]}findElement(t,e){return this.scope.queryElements(t).filter(s=>this.matchesElement(s,t,e))[0]}findAllElements(t,e){return this.scope.queryElements(t).filter(s=>this.matchesElement(s,t,e))}matchesElement(t,e,s){const n=t.getAttribute(this.scope.schema.controllerAttribute)||"";return t.matches(e)&&n.split(" ").includes(s)}}class V{constructor(t,e,s,n){this.targets=new q(this),this.classes=new j(this),this.data=new $(this),this.containsElement=t=>t.closest(this.controllerSelector)===this.element,this.schema=t,this.element=e,this.identifier=s,this.guide=new B(n),this.outlets=new R(this.documentScope,e)}findElement(t){return this.element.matches(t)?this.element:this.queryElements(t).find(this.containsElement)}findAllElements(t){return[...this.element.matches(t)?[this.element]:[],...this.queryElements(t).filter(this.containsElement)]}queryElements(t){return Array.from(this.element.querySelectorAll(t))}get controllerSelector(){return U(this.schema.controllerAttribute,this.identifier)}get isDocumentScope(){return this.element===document.documentElement}get documentScope(){return this.isDocumentScope?this:new V(this.schema,document.documentElement,this.identifier,this.guide.logger)}}class K{constructor(t,e,s){this.element=t,this.schema=e,this.delegate=s,this.valueListObserver=new M(this.element,this.controllerAttribute,this),this.scopesByIdentifierByElement=new WeakMap,this.scopeReferenceCounts=new WeakMap}start(){this.valueListObserver.start()}stop(){this.valueListObserver.stop()}get controllerAttribute(){return this.schema.controllerAttribute}parseValueForToken(t){const{element:e,content:s}=t;return this.parseValueForElementAndIdentifier(e,s)}parseValueForElementAndIdentifier(t,e){const s=this.fetchScopesByIdentifierForElement(t);let n=s.get(e);return n||(n=this.delegate.createScopeForElementAndIdentifier(t,e),s.set(e,n)),n}elementMatchedValue(t,e){const s=(this.scopeReferenceCounts.get(e)||0)+1;this.scopeReferenceCounts.set(e,s),1==s&&this.delegate.scopeConnected(e)}elementUnmatchedValue(t,e){const s=this.scopeReferenceCounts.get(e);s&&(this.scopeReferenceCounts.set(e,s-1),1==s&&this.delegate.scopeDisconnected(e))}fetchScopesByIdentifierForElement(t){let e=this.scopesByIdentifierByElement.get(t);return e||(e=new Map,this.scopesByIdentifierByElement.set(t,e)),e}}class H{constructor(t){this.application=t,this.scopeObserver=new K(this.element,this.schema,this),this.scopesByIdentifier=new E,this.modulesByIdentifier=new Map}get element(){return this.application.element}get schema(){return this.application.schema}get logger(){return this.application.logger}get controllerAttribute(){return this.schema.controllerAttribute}get modules(){return Array.from(this.modulesByIdentifier.values())}get contexts(){return this.modules.reduce((t,e)=>t.concat(e.contexts),[])}start(){this.scopeObserver.start()}stop(){this.scopeObserver.stop()}loadDefinition(t){this.unloadIdentifier(t.identifier);const e=new P(this.application,t);this.connectModule(e);const s=t.controllerConstructor.afterLoad;s&&s.call(t.controllerConstructor,t.identifier,this.application)}unloadIdentifier(t){const e=this.modulesByIdentifier.get(t);e&&this.disconnectModule(e)}getContextForElementAndIdentifier(t,e){const s=this.modulesByIdentifier.get(e);if(s)return s.contexts.find(e=>e.element==t)}proposeToConnectScopeForElementAndIdentifier(t,e){const s=this.scopeObserver.parseValueForElementAndIdentifier(t,e);s?this.scopeObserver.elementMatchedValue(s.element,s):console.error(`Couldn't find or create scope for identifier: "${e}" and element:`,t)}handleError(t,e,s){this.application.handleError(t,e,s)}createScopeForElementAndIdentifier(t,e){return new V(this.schema,t,e,this.logger)}scopeConnected(t){this.scopesByIdentifier.add(t.identifier,t);const e=this.modulesByIdentifier.get(t.identifier);e&&e.connectContextForScope(t)}scopeDisconnected(t){this.scopesByIdentifier.delete(t.identifier,t);const e=this.modulesByIdentifier.get(t.identifier);e&&e.disconnectContextForScope(t)}connectModule(t){this.modulesByIdentifier.set(t.identifier,t),this.scopesByIdentifier.getValuesForKey(t.identifier).forEach(e=>t.connectContextForScope(e))}disconnectModule(t){this.modulesByIdentifier.delete(t.identifier),this.scopesByIdentifier.getValuesForKey(t.identifier).forEach(e=>t.disconnectContextForScope(e))}}const W={controllerAttribute:"data-controller",actionAttribute:"data-action",targetAttribute:"data-target",targetAttributeForScope:t=>`data-${t}-target`,outletAttributeForScope:(t,e)=>`data-${t}-${e}-outlet`,keyMappings:Object.assign(Object.assign({enter:"Enter",tab:"Tab",esc:"Escape",space:" ",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",home:"Home",end:"End",page_up:"PageUp",page_down:"PageDown"},z("abcdefghijklmnopqrstuvwxyz".split("").map(t=>[t,t]))),z("0123456789".split("").map(t=>[t,t])))};function z(t){return t.reduce((t,[e,s])=>Object.assign(Object.assign({},t),{[e]:s}),{})}class Y{constructor(t=document.documentElement,e=W){this.logger=console,this.debug=!1,this.logDebugActivity=(t,e,s={})=>{this.debug&&this.logFormattedMessage(t,e,s)},this.element=t,this.schema=e,this.dispatcher=new r(this),this.router=new H(this),this.actionDescriptorFilters=Object.assign({},i)}static start(t,e){const s=new this(t,e);return s.start(),s}async start(){await new Promise(t=>{"loading"==document.readyState?document.addEventListener("DOMContentLoaded",()=>t()):t()}),this.logDebugActivity("application","starting"),this.dispatcher.start(),this.router.start(),this.logDebugActivity("application","start")}stop(){this.logDebugActivity("application","stopping"),this.dispatcher.stop(),this.router.stop(),this.logDebugActivity("application","stop")}register(t,e){this.load({identifier:t,controllerConstructor:e})}registerActionOption(t,e){this.actionDescriptorFilters[t]=e}load(t,...e){(Array.isArray(t)?t:[t,...e]).forEach(t=>{t.controllerConstructor.shouldLoad&&this.router.loadDefinition(t)})}unload(t,...e){(Array.isArray(t)?t:[t,...e]).forEach(t=>this.router.unloadIdentifier(t))}get controllers(){return this.router.contexts.map(t=>t.controller)}getControllerForElementAndIdentifier(t,e){const s=this.router.getContextForElementAndIdentifier(t,e);return s?s.controller:null}handleError(t,e,s){var n;this.logger.error("%s\n\n%o\n\n%o",e,t,s),null===(n=window.onerror)||void 0===n||n.call(window,e,"",0,0,t)}logFormattedMessage(t,e,s={}){s=Object.assign({application:this},s),this.logger.groupCollapsed(`${t} #${e}`),this.logger.log("details:",Object.assign({},s)),this.logger.groupEnd()}}function X(t,e,s){return t.application.getControllerForElementAndIdentifier(e,s)}function G(t,e,s){let n=X(t,e,s);return n||(t.application.router.proposeToConnectScopeForElementAndIdentifier(e,s),n=X(t,e,s),n||void 0)}function J([t,e],s){return function(t){const{token:e,typeDefinition:s}=t,n=`${u(e)}-value`,r=function(t){const{controller:e,token:s,typeDefinition:n}=t,r=function(t){const{controller:e,token:s,typeObject:n}=t,r=h(n.type),i=h(n.default),o=r&&i,a=r&&!i,c=!r&&i,l=Q(n.type),u=Z(t.typeObject.default);if(a)return l;if(c)return u;if(l!==u)throw new Error(`The specified default value for the Stimulus Value "${e?`${e}.${s}`:s}" must match the defined type "${l}". The provided default value of "${n.default}" is of type "${u}".`);return o?l:void 0}({controller:e,token:s,typeObject:n}),i=Z(n),o=Q(n),a=r||i||o;if(a)return a;throw new Error(`Unknown value type "${e?`${e}.${n}`:s}" for "${s}" value`)}(t);return{type:r,key:n,name:a(n),get defaultValue(){return function(t){const e=Q(t);if(e)return tt[e];const s=d(t,"default"),n=d(t,"type"),r=t;if(s)return r.default;if(n){const{type:t}=r,e=Q(t);if(e)return tt[e]}return t}(s)},get hasCustomDefaultValue(){return void 0!==Z(s)},reader:et[r],writer:st[r]||st.default}}({controller:s,token:t,typeDefinition:e})}function Q(t){switch(t){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function Z(t){switch(typeof t){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}return Array.isArray(t)?"array":"[object Object]"===Object.prototype.toString.call(t)?"object":void 0}const tt={get array(){return[]},boolean:!1,number:0,get object(){return{}},string:""},et={array(t){const e=JSON.parse(t);if(!Array.isArray(e))throw new TypeError(`expected value of type "array" but instead got value "${t}" of type "${Z(e)}"`);return e},boolean:t=>!("0"==t||"false"==String(t).toLowerCase()),number:t=>Number(t.replace(/_/g,"")),object(t){const e=JSON.parse(t);if(null===e||"object"!=typeof e||Array.isArray(e))throw new TypeError(`expected value of type "object" but instead got value "${t}" of type "${Z(e)}"`);return e},string:t=>t},st={default:function(t){return`${t}`},array:nt,object:nt};function nt(t){return JSON.stringify(t)}class rt{constructor(t){this.context=t}static get shouldLoad(){return!0}static afterLoad(t,e){}get application(){return this.context.application}get scope(){return this.context.scope}
1get element(){return this.scope.element}get identifier(){return this.scope.identifier}get targets(){return this.scope.targets}get outlets(){return this.scope.outlets}get classes(){return this.scope.classes}get data(){return this.scope.data}initialize(){}connect(){}disconnect(){}dispatch(t,{target:e=this.element,detail:s={},prefix:n=this.identifier,bubbles:r=!0,cancelable:i=!0}={}){const o=new CustomEvent(n?`${n}:${t}`:t,{detail:s,bubbles:r,cancelable:i});return e.dispatchEvent(o),o}}rt.blessings=[function(t){return _(t,"classes").reduce((t,e)=>{return Object.assign(t,(s=e,{[`${s}Class`]:{get(){const{classes:t}=this;if(t.has(s))return t.get(s);{const e=t.getAttributeName(s);throw new Error(`Missing attribute "${e}"`)}}},[`${s}Classes`]:{get(){return this.classes.getAll(s)}},[`has${l(s)}Class`]:{get(){return this.classes.has(s)}}}));var s},{})},function(t){return _(t,"targets").reduce((t,e)=>{return Object.assign(t,(s=e,{[`${s}Target`]:{get(){const t=this.targets.find(s);if(t)return t;throw new Error(`Missing target element "${s}" for "${this.identifier}" controller`)}},[`${s}Targets`]:{get(){return this.targets.findAll(s)}},[`has${l(s)}Target`]:{get(){return this.targets.has(s)}}}));var s},{})},function(t){const e=function(t,e){return F(t).reduce((t,s)=>(t.push(...function(t,e){const s=t[e];return s?Object.keys(s).map(t=>[t,s[t]]):[]}(s,e)),t),[])}(t,"values"),s={valueDescriptorMap:{get(){return e.reduce((t,e)=>{const s=J(e,this.identifier),n=this.data.getAttributeNameForKey(s.key);return Object.assign(t,{[n]:s})},{})}}};return e.reduce((t,e)=>Object.assign(t,function(t){const e=J(t,void 0),{key:s,name:n,reader:r,writer:i}=e;return{[n]:{get(){const t=this.data.get(s);return null!==t?r(t):e.defaultValue},set(t){void 0===t?this.data.delete(s):this.data.set(s,i(t))}},[`has${l(n)}`]:{get(){return this.data.has(s)||e.hasCustomDefaultValue}}}}(e)),s)},function(t){return _(t,"outlets").reduce((t,e)=>Object.assign(t,function(t){const e=c(t);return{[`${e}Outlet`]:{get(){const e=this.outlets.find(t),s=this.outlets.getSelectorForOutletName(t);if(e){const s=G(this,e,t);if(s)return s;throw new Error(`The provided outlet element is missing an outlet controller "${t}" instance for host controller "${this.identifier}"`)}throw new Error(`Missing outlet element "${t}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${s}".`)}},[`${e}Outlets`]:{get(){const e=this.outlets.findAll(t);return e.length>0?e.map(e=>{const s=G(this,e,t);if(s)return s;console.warn(`The provided outlet element is missing an outlet controller "${t}" instance for host controller "${this.identifier}"`,e)}).filter(t=>t):[]}},[`${e}OutletElement`]:{get(){const e=this.outlets.find(t),s=this.outlets.getSelectorForOutletName(t);if(e)return e;throw new Error(`Missing outlet element "${t}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${s}".`)}},[`${e}OutletElements`]:{get(){return this.outlets.findAll(t)}},[`has${l(e)}Outlet`]:{get(){return this.outlets.has(t)}}}}(e)),{})}],rt.targets=[],rt.outlets=[],rt.values={}},334(t){function e(t,e,s){var n,r,i,o,a;function c(){var l=Date.now()-o;l<e&&l>=0?n=setTimeout(c,e-l):(n=null,s||(a=t.apply(i,r),i=r=null))}null==e&&(e=100);var l=function(){i=this,r=arguments,o=Date.now();var l=s&&!n;return n||(n=setTimeout(c,e)),l&&(a=t.apply(i,r),i=r=null),a};return l.clear=function(){n&&(clearTimeout(n),n=null)},l.flush=function(){n&&(a=t.apply(i,r),i=r=null,clearTimeout(n),n=null)},l}e.debounce=e,t.exports=e},760(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static targets=["saveButton"];static values={current:String};change(t){t.target.value===this.currentValue?this.saveButtonTarget.style.visibility="hidden":this.saveButtonTarget.style.visibility="visible"}};s.dn(r),s.d(e,["default",0,r])},497(t,e,s){"use strict";s.r(e);var n=s(891),r=s(881);const i=class extends n.xI{static targets=["source","tooltip"];static values={plausibleEvent:String};copy(){this.hasPlausibleEventValue&&window.plausible&&window.plausible(this.plausibleEventValue);const t=this.tooltipTarget.dataset.clipboardTooltipValue;navigator.clipboard.writeText(this.sourceTarget.textContent),this.tooltipTarget.dataset.clipboardTooltipValue=(0,r.AP)("Copied");const e=()=>{this.tooltipTarget.dataset.clipboardTooltipValue=t,this.tooltipTarget.blur(),this.tooltipTarget.removeEventListener("focusout",e),this.tooltipTarget.removeEventListener("mouseout",e)};this.tooltipTarget.addEventListener("focusout",e),this.tooltipTarget.addEventListener("mouseout",e)}};s.dn(i),s.d(e,["default",0,i])},959(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{_getCollapsedCookie(){const t=this.data.get("identifier"),e=document.cookie.split(";").find(e=>e.startsWith(`callout_block_${t}_collapsed=`));return e?e.split("=")[1]:null}_setCollapsedCookie(t){"global"===this.data.get("setting")?document.cookie=`callout_block_${this.data.get("identifier")}_collapsed=${t};path=/`:document.cookie=`callout_block_${this.data.get("identifier")}_collapsed=${t}`}initialize(){switch(this._getCollapsedCookie()){case"1":this.collapse();break;case"0":this.expand();break;default:this.save()}}collapse(){this.element.removeAttribute("open"),this._setCollapsedCookie("1")}expand(){this.element.setAttribute("open",""),this._setCollapsedCookie("0")}save(){setTimeout(()=>{this.element.hasAttribute("open")?this._setCollapsedCookie("0"):this._setCollapsedCookie("1")},0)}};s.dn(r),s.d(e,["default",0,r])},763(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static targets=["input","button","checkbox"];connect(){this.buttonTarget.disabled=!0}checkCheckboxes(){return!(this.checkboxTargets&&this.checkboxTargets.length>0)||this.checkboxTargets.every(t=>t.checked)}checkInputString(){return this.inputTarget.value.toLowerCase()===this.buttonTarget.dataset.expected.toLowerCase()}check(){this.checkCheckboxes()&&this.checkInputString()?this.buttonTarget.disabled=!1:this.buttonTarget.disabled=!0}};s.dn(r),s.d(e,["default",0,r])},873(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static targets=["button","password","showPassword"];connect(){this.buttonTarget.disabled=!0,this.setPasswordVisibility(),this.check()}setPasswordVisibility(){this.passwordTarget.type=this.showPasswordTarget.checked?"text":"password"}check(){this.buttonTarget.disabled=""===this.passwordTarget.value.trim()}};s.dn(r),s.d(e,["default",0,r])},617(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static targets=["input","button"];connect(){this.buttonTarget.setAttribute("disabled","")}check(){this.inputTargets.every(t=>t.checked)?this.buttonTarget.removeAttribute("disabled"):this.buttonTarget.setAttribute("disabled","")}};s.dn(r),s.d(e,["default",0,r])},635(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{_getDismissedCookie(){const t=this.data.get("identifier"),e=document.cookie.split(";").map(t=>t.trim()).find(e=>e.startsWith(`callout_block_${t}_dismissed=`));return e?e.split("=")[1]:null}_setDismissedCookie(t){let e=`callout_block_${this.data.get("identifier")}_dismissed=${t}`;"global"===this.data.get("setting")&&(e+=";path=/"),this.data.get("maxAge")&&(e+=`;max-age=${this.data.get("maxAge")}`),document.cookie=e}initialize(){"1"===this._getDismissedCookie()&&this.dismiss()}dismiss(){this.element.classList.add("callout-block--dismissed"),this._setDismissedCookie("1")}};s.dn(r),s.d(e,["default",0,r])},3(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static targets=["dialog","email","form"];connect(){this.formTarget.addEventListener("submit",this.check.bind(this))}disconnect(){this.formTarget.removeEventListener("submit",this.check.bind(this))}check(t){"true"!==this.data.get("confirmed")&&(t.preventDefault(),this.emailTarget.textContent=this.emailValue,this.dialogTarget.showModal())}close(){this.dialogTarget.close()}confirm(t){t.preventDefault(),this.data.set("confirmed","true"),this.formTarget.requestSubmit()}get emailValue(){return this.formTarget.querySelector("input[type='email']").value}};s.dn(r),s.d(e,["default",0,r])},734(t,e,s){"use strict";s.r(e);var n=s(891),r=s(881);const i=class extends n.xI{static targets=["item","filter","summary","url","clear"];static values={group:String};#t={};#e={};#s={};get initialItemFilterData(){return this.#t}connect(){this._initItemFilterData(),this._initVisibility(),this._initFilterSelectOptions(),this._initFilterComparisons(),this._urlChanged(),this._handleHistoryChange=this._handleHistoryChange.bind(this),window.addEventListener("popstate",this._handleHistoryChange)}disconnect(){window.removeEventListener("popstate",this._handleHistoryChange)}filter(){if(!this.hasItemTarget)return;const{total:t,shown:e,filters:s,included:n}=this._filterItems();this._setSummary(t,e),this._setFiltersUrlSearch(s),this._setCopyUrl(s),this._setFiltersHtmlElements(s,n),this._setClear(s)}filterClear(t){t.preventDefault(),this._setFiltersHtmlElements({},{}),this.filter()}_initVisibility(){document.querySelectorAll(".initial-toggle-visibility").forEach(t=>{t.classList.contains("hidden")?t.classList.remove("hidden"):t.classList.add("hidden")})}_initItemFilterData(){const t=this._getFiltersHtmlElements();this.#t={}
1,this.hasItemTarget&&this._getItemTargets().forEach((e,s)=>{const n=e.dataset;this.#t[s]={};for(const e in t){const t=`filteredTarget${e.charAt(0).toUpperCase()}${e.slice(1)}`,r=n[t];let i;r||console.warn(`Item target at index ${s} does not have a value for data attribute '${t}'.`);try{i=JSON.parse(r||"[]")}catch{i=null}Array.isArray(i)||console.warn(`Item target at index ${s} should have an array as value for data attribute '${t}': ${r}.`),this.#t[s][e]=i??[]}})}_initFilterSelectOptions(){this._getFilterTargets().forEach(t=>{if("SELECT"===t.nodeName){const e=t.dataset.filteredSource;this.#e[e]||(this.#e[e]=[]);for(const s of t.options)this.#e[e].push({value:s.value,label:s.label})}})}_initFilterComparisons(){this._getFilterTargets().forEach(t=>{const e=t.dataset.filteredSource,s=t.dataset.comparisonType;this.#s[e]||(this.#s[e]=[]),this.#s[e].includes(s)||this.#s[e].push(s)})}_compare(t,e){for(const[s,n]of Object.entries(e)){const e=Array.from(new Set((n??[]).map(t=>t?.toString()?.trim()?.toLowerCase()??"").filter(t=>!!t))),r=Array.from(new Set((t[s]??[]).map(t=>t?.toString()?.trim()?.toLowerCase()??"").filter(t=>!!t))),i=this.#s[s]??[];if(e.length>0&&i.includes("exact")&&!e.every(t=>r.includes(t)))return!1;if(e.length>0&&i.includes("includes")&&!e.every(t=>r.some(e=>e.includes(t))))return!1}return!0}_urlChanged(){const t=this._getFiltersUrlSearch();this._setFiltersHtmlElements(t,null),this.filter()}_filterItems(){const t=this._getFiltersHtmlElements();let e=0,s=0;const n={};return this._getItemTargets().forEach((r,i)=>{e+=1;const o=this.#t[i];this._compare(o,t)?(r.classList.remove("hidden"),s+=1,Object.entries(o).forEach(([t,e])=>{n[t]||(n[t]=[]),e.forEach(e=>{n[t].includes(e)||n[t].push(e)})})):r.classList.add("hidden")}),{total:e,shown:s,filters:t,included:n}}_getFilterTargets(){return this.hasFilterTarget?this.filterTargets??[]:[]}_getItemTargets(){return this.hasItemTarget?this.itemTargets??[]:[]}_getFiltersUrlSearch(){const t={},e=this._getAutoUpdateUrlQuerystringFilters(),s=new URLSearchParams(document.location.search),n=this._getFilterTargets();for(const r of n){const n=r.dataset.filteredSource;if(!e.includes(n))continue;const i=s.getAll(n);this._addFilterValue(t,n,i)}return t}_setFiltersUrlSearch(t){window.history.replaceState(null,"",this._buildFilterUrl(document.location.href,t))}_getFiltersHtmlElements(){const t={},e=this._getFilterTargets();for(const s of e){let e;"INPUT"===s.nodeName?e=[s.value]:"SELECT"===s.nodeName?e=Array.from(s.selectedOptions).map(t=>t.value):(console.error(`Get HTML filters is not implemented for filter target node name '${s.nodeName}'.`),e=[]);const n=s.dataset.filteredSource;this._addFilterValue(t,n,e)}return t}_setFiltersHtmlElements(t,e){if(null===e){const t=Object.entries(this.#e);e=Object.fromEntries(t.map(([t,e])=>[t,e.map(t=>t.value)]))}const s=this._getFilterTargets();for(const n of s){const s=n.dataset.filteredSource,r=t[s]??[];"INPUT"===n.nodeName?this._setFiltersHtmlInputElement(n,r):"SELECT"===n.nodeName?this._setFiltersHtmlSelectElement(n,r,e[s]??[]):console.error(`Set HTML filters is not implemented for filter target node name '${n.nodeName}'.`)}}_setFiltersHtmlInputElement(t,e){if(0===e.length)t.value="";else if(1===e.length)t.value=e[0];else{const s=t.dataset.filteredSource;console.warn(`Filter input element '${s}' expects zero or one value, but got more than one: ${JSON.stringify(e)}.`),t.value=e[0]}}_setFiltersHtmlSelectElement(t,e,s){const n=t.dataset.filteredSource,r=0===e.length||1===e.length&&""===e[0],i=Array.from(t.selectedOptions).map(t=>t.value);for(let e=t.options.length-1;e>=0;e--)t.options.remove(e);for(const o of this.#e[n]){const n=o.value,a=o.label,c=""===n;if(r){if(c||(s??[])?.includes(n)){const e=c;t.options.add(new Option(a,n,e,e))}}else{const s=n.toLowerCase(),r=[...i,...e].some(t=>t.toLowerCase()===s);t.options.add(new Option(a,n,r,r))}}}_getAutoUpdateUrlQuerystringFilters(){return this._getFilterTargets().map(t=>[t.dataset.filteredSource,t.dataset.autoUpdateUrlQuerystring]).filter(t=>"true"===t[1]).map(t=>t[0])}_setSummary(t,e){if(this.hasSummaryTarget){let s=[];0===e&&s.push((0,r.AP)("No built distributions (wheels) match the current filters.")),s.push((0,r.WI)("Showing %1 of %2 built distribution (wheel) file.","Showing %1 of %2 built distribution (wheel) files.",t,e.toString(),t.toString())),this.summaryTarget.textContent=s.join(" ")}}_setCopyUrl(t){if(this.hasUrlTarget&&this.urlTarget){const e=this._buildFilterUrl(this.urlTarget.href,t).toString();this.urlTarget.href=e,this.urlTarget.textContent=e}}_addFilterValue(t,e,s){!s||s.length<1||(Object.keys(t).includes(e)||(t[e]=[]),t[e].push(...s))}_setClear(t){if(this.hasClearTarget){const e=Object.values(t).some(t=>t.some(t=>""!==t));this.clearTarget.classList.toggle("hidden",!e)}}_buildFilterUrl(t,e){const s=this._getAutoUpdateUrlQuerystringFilters(),n=new URL(t),r=this._getFilterTargets();
1for(const t of r){const r=t.dataset.filteredSource;if(!s.includes(r))continue;n.searchParams.delete(r);const i=e[r]??[];for(const t of i)t&&n.searchParams.append(r,t)}return n}_handleHistoryChange(){setTimeout(function(t){t._urlChanged()},0,this)}};s.dn(i),s.d(e,["default",0,i])},994(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static targets=["forksCount","forksUrl","openIssuesCount","openIssuesUrl","openPRsCount","openPRsUrl","stargazersCount","stargazersUrl"];updateStats(t){this.forksCountTarget.textContent=t.forks,this.forksUrlTarget.href=t.forks_url,this.openIssuesCountTarget.textContent=t.issues,this.openIssuesUrlTarget.href=t.issues_url,this.openPRsCountTarget.textContent=t.PRs,this.openPRsUrlTarget.href=t.PRs_url,this.stargazersCountTarget.textContent=t.followers,this.stargazersUrlTarget.href=t.followers_url,this.element.classList.remove("hidden")}};s.dn(r),s.d(e,["default",0,r])},639(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static outlets=["github-repo-info"];static values={url:String,issueUrl:String};connect(){this.load()}load(){const t={method:"GET",mode:"cors"},e=fetch(this.urlValue,t).then(t=>!0===t.ok?t.json():null),s=fetch(this.issueUrlValue,t).then(t=>!0===t.ok?t.json():null);Promise.all([e,s]).then(t=>{const e={issues_url:t[0].html_url+"/issues",PRs_url:t[0].html_url+"/pulls",followers:t[0].stargazers_count,followers_url:t[0].html_url+"/stargazers",forks:t[0].forks_count,forks_url:t[0].html_url+"/network/members",issues:t[1].total_count,PRs:t[0].open_issues_count-t[1].total_count};this.githubRepoInfoOutlets.forEach(t=>t.updateStats(e))}).catch(()=>{})}};s.dn(r),s.d(e,["default",0,r])},74(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static targets=["forksCount","forksUrl","openIssuesCount","openIssuesUrl","starrersCount","starrersUrl","openMRsCount","openMRsUrl"];updateStats(t){this.forksCountTarget.textContent=t.forks,this.forksUrlTarget.href=t.forks_url,this.openIssuesCountTarget.textContent=t.issues,this.openIssuesUrlTarget.href=t.issues_url,this.openMRsCountTarget.textContent=t.MRs,this.openMRsUrlTarget.href=t.MRs_url,this.starrersCountTarget.textContent=t.starrers,this.starrersUrlTarget.href=t.starrers_url,this.element.classList.remove("hidden")}};s.dn(r),s.d(e,["default",0,r])},31(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static outlets=["gitlab-repo-info"];static values={repository:String};connect(){this.load()}load(){const t=(t,e,s)=>fetch(`${t}/${e}?`+new URLSearchParams({state:"opened",per_page:1}),s).then(t=>t.ok?t.json().then(e=>Object.keys(e).length?t.headers.get("X-Total-Pages"):0):(console.error(`Received ${t.status} HTTP code while fetching Gitlab ${e} data. The response is "${t.text}"`),0)).catch(t=>(console.error(`An error ocured while fetching Gitlab ${e} data: ${t.message||t}`),0)),e={method:"GET",mode:"cors"},s=`https://gitlab.com/api/v4/projects/${encodeURIComponent(this.repositoryValue)}`,n=fetch(s,e).then(t=>!0===t.ok?t.json():null),r=t(s,"issues",e),i=t(s,"merge_requests",e);Promise.all([n,r,i]).then(([t,e,s])=>{const n={issues:e,issues_url:t.web_url+"/-/issues",starrers:t.star_count||0,starrers_url:t.web_url+"/-/starrers",forks:t.forks_count||0,forks_url:t.web_url+"/-/forks",MRs:s,MRs_url:t.web_url+"/-/merge_requests"};this.gitlabRepoInfoOutlets.forEach(t=>t.updateStats(n))}).catch(t=>{console.error(`An error ocured while fetching Gitlab data: ${t.message||t}`)})}};s.dn(r),s.d(e,["default",0,r])},272(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static targets=["prefilledTab","tab","tabPanel"];initialize(){this.hasPrefilledTabTarget&&(this.index=this.tabTargets.indexOf(this.prefilledTabTarget)),this.tabPanelTargets.forEach((t,e)=>{t.querySelector("div#errors")&&(this.index=e)}),this.showTab()}change(t){this.index=this.tabTargets.indexOf(t.target),this.showTab(this.index)}showTab(){this.tabPanelTargets.forEach((t,e)=>{e==this.index?t.classList.remove("is-hidden"):t.classList.add("is-hidden")}),this.tabTargets.forEach((t,e)=>{e==this.index?t.classList.add("is-active"):t.classList.remove("is-active")})}get index(){return parseInt(this.data.get("index"))}set index(t){this.data.set("index",t),this.showTab()}};s.dn(r),s.d(e,["default",0,r])},618(t,e,s){"use strict";s.r(e),s.d(e,{default:()=>Q});var n=s(891);Math.pow(10,8);const r=6048e5,i=Symbol.for("constructDateFrom");function o(t,e){return"function"==typeof t?t(e):t&&"object"==typeof t&&i in t?t[i](e):t instanceof Date?new t.constructor(e):new Date(e)}const a={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function c(t){return(e={})=>{const s=e.width?String(e.width):t.defaultWidth;return t.formats[s]||t.formats[t.defaultWidth]}}const l={date:c({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:c({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:c({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},u={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};
1function h(t){return(e,s)=>{let n;if("formatting"===(s?.context?String(s.context):"standalone")&&t.formattingValues){const e=t.defaultFormattingWidth||t.defaultWidth,r=s?.width?String(s.width):e;n=t.formattingValues[r]||t.formattingValues[e]}else{const e=t.defaultWidth,r=s?.width?String(s.width):t.defaultWidth;n=t.values[r]||t.values[e]}return n[t.argumentCallback?t.argumentCallback(e):e]}}function d(t){return(e,s={})=>{const n=s.width,r=n&&t.matchPatterns[n]||t.matchPatterns[t.defaultMatchWidth],i=e.match(r);if(!i)return null;const o=i[0],a=n&&t.parsePatterns[n]||t.parsePatterns[t.defaultParseWidth],c=Array.isArray(a)?function(t,e){for(let s=0;s<t.length;s++)if(e(t[s]))return s}(a,t=>t.test(o)):function(t,e){for(const s in t)if(Object.prototype.hasOwnProperty.call(t,s)&&e(t[s]))return s}(a,t=>t.test(o));let l;return l=t.valueCallback?t.valueCallback(c):c,l=s.valueCallback?s.valueCallback(l):l,{value:l,rest:e.slice(o.length)}}}var m;const g={code:"en-US",formatDistance:(t,e,s)=>{let n;const r=a[t];return n="string"==typeof r?r:1===e?r.one:r.other.replace("{{count}}
1",e.toString()),s?.addSuffix?s.comparison&&s.comparison>0?"in "+n:n+" ago":n},formatLong:l,formatRelative:(t,e,s,n)=>u[t],localize:{ordinalNumber:(t,e)=>{const s=Number(t),n=s%100;if(n>20||n<10)switch(n%10){case 1:return s+"st";case 2:return s+"nd";case 3:return s+"rd"}return s+"th"},era:h({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:h({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:t=>t-1}),month:h({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:h({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:h({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(m={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:t=>parseInt(t,10)},(t,e={})=>{const s=t.match(m.matchPattern);if(!s)return null;const n=s[0],r=t.match(m.parsePattern);if(!r)return null;let i=m.valueCallback?m.valueCallback(r[0]):r[0];return i=e.valueCallback?e.valueCallback(i):i,{value:i,rest:t.slice(n.length)}}),era:d({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:d({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:t=>t+1}),month:d({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:d({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:d({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};let f={};function p(){return f}function b(t,e){return o(e||t,t)}function v(t){const e=b(t),s=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return s.setUTCFullYear(e.getFullYear()),+t-+s}function y(t,...e){const s=o.bind(null,t||e.find(t=>"object"==typeof t));return e.map(s)}function w(t,e){const s=+b(t)-+b(e);return s<0?-1:s>0?1:s}function T(t,e){const s=b(t,e?.in);return+function(t,e){const s=b(t,e?.in);return s.setHours(23,59,59,999),s}(s,e)===+function(t,e){const s=b(t,e?.in),n=s.getMonth();return s.setFullYear(s.getFullYear(),n+1,0),s.setHours(23,59,59,999),s}(s,e)}function E(t,e,s){const[n,r,i]=y(s?.in,t,t,e),o=w(r,i),a=Math.abs(function(t,e,s){const[n,r]=y(s?.in,t,e);return 12*(n.getFullYear()-r.getFullYear())+(n.getMonth()-r.getMonth())}(r,i));if(a<1)return 0;1===r.getMonth()&&r.getDate()>27&&r.setDate(30),r.setMonth(r.getMonth()-o*a);let c=w(r,i)===-o;T(n)&&1===a&&1===w(n,i)&&(c=!1);const l=o*(a-+c);return 0===l?0:l}function k(t,e,s){const n=function(t,e){return+b(t)-+b(e)}(t,e)/1e3;return(r=s?.roundingMethod,t=>{const e=(r?Math[r]:Math.trunc)(t);return 0===e?0:e})(n);var r}function A(t,e){return function(t,e,s){const n=p(),r=s?.locale??n.locale??g,i=w(t,e);if(isNaN(i))throw new RangeError("Invalid time value");const o=Object.assign({},s,{addSuffix:s?.addSuffix,comparison:i}),[a,c]=y(s?.in,...i>0?[e,t]:[t,e]),l=k(c,a),u=(v(c)-v(a))/1e3,h=Math.round((l-u)/60);let d;if(h<2)return s?.includeSeconds?l<5?r.formatDistance("lessThanXSeconds",5,o):l<10?r.formatDistance("lessThanXSeconds",10,o):l<20?r.formatDistance("lessThanXSeconds",20,o):l<40?r.formatDistance("halfAMinute",0,o):l<60?r.formatDistance("lessThanXMinutes",1,o):r.formatDistance("xMinutes",1,o):0===h?r.formatDistance("lessThanXMinutes",1,o):r.formatDistance("xMinutes",h,o);if(h<45)return r.formatDistance("xMinutes",h,o);if(h<90)return r.formatDistance("aboutXHours",1,o);if(h<1440){const t=Math.round(h/60);return r.formatDistance("aboutXHours",t,o)}if(h<2520)return r.formatDistance("xDays",1,o);if(h<43200){const t=Math.round(h/1440);return r.formatDistance("xDays",t,o)}if(h<86400)return d=Math.round(h/43200),r.formatDistance("aboutXMonths",d,o);if(d=E(c,a),d<12){const t=Math.round(h/43200);return r.formatDistance("xMonths",t,o)}{const t=d%12,e=Math.trunc(d/12);return t<3?r.formatDistance("aboutXYears",e,o):t<9?r.formatDistance("overXYears",e,o):r.formatDistance("almostXYears",e+1,o)}}(t,function(t){return o(t,Date.now())}(t),e)}function O(t,e){const s=b(t,e?.in);return s.setHours(0,0,0,0),s}function M(t,e){const s=b(t,e?.in);return function(t,e,s){const[n,r]=y(s?.in,t,e),i=O(n),o=O(r),a=+i-v(i),c=+o-v(o);return Math.round((a-c)/864e5)}(s,function(t,e){const s=b(t,e?.in);return s.setFullYear(s.getFullYear(),0,1),s.setHours(0,0,0,0),s}(s))+1}function C(t,e){const s=p(),n=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,r=b(t,e?.in),i=r.getDay(),o=(i<n?7:0)+i-n;return r.setDate(r.getDate()-o),r.setHours(0,0,0,0),r}function S(t,e){return C(t,{...e,weekStartsOn:1}
vendor: 6,276 bytes, line 1
1)}function x(t,e){const s=b(t,e?.in),n=s.getFullYear(),r=o(s,0);r.setFullYear(n+1,0,4),r.setHours(0,0,0,0);const i=S(r),a=o(s,0);a.setFullYear(n,0,4),a.setHours(0,0,0,0);const c=S(a);return s.getTime()>=i.getTime()?n+1:s.getTime()>=c.getTime()?n:n-1}function _(t,e){const s=b(t,e?.in),n=+S(s)-+function(t,e){const s=x(t,e),n=o(e?.in||t,0);return n.setFullYear(s,0,4),n.setHours(0,0,0,0),S(n)}(s);return Math.round(n/r)+1}function F(t,e){const s=b(t,e?.in),n=s.getFullYear(),r=p(),i=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=o(e?.in||t,0);a.setFullYear(n+1,0,i),a.setHours(0,0,0,0);const c=C(a,e),l=o(e?.in||t,0);l.setFullYear(n,0,i),l.setHours(0,0,0,0);const u=C(l,e);return+s>=+c?n+1:+s>=+u?n:n-1}function D(t,e){const s=b(t,e?.in),n=+C(s,e)-+function(t,e){const s=p(),n=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,r=F(t,e),i=o(e?.in||t,0);return i.setFullYear(r,0,n),i.setHours(0,0,0,0),C(i,e)}(s,e);return Math.round(n/r)+1}function L(t,e){return(t<0?"-":"")+Math.abs(t).toString().padStart(e,"0")}const N={y(t,e){const s=t.getFullYear(),n=s>0?s:1-s;return L("yy"===e?n%100:n,e.length)},M(t,e){const s=t.getMonth();return"M"===e?String(s+1):L(s+1,2)},d:(t,e)=>L(t.getDate(),e.length),a(t,e){const s=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return s.toUpperCase();case"aaa":return s;case"aaaaa":return s[0];default:return"am"===s?"a.m.":"p.m."}},h:(t,e)=>L(t.getHours()%12||12,e.length),H:(t,e)=>L(t.getHours(),e.length),m:(t,e)=>L(t.getMinutes(),e.length),s:(t,e)=>L(t.getSeconds(),e.length),S(t,e){const s=e.length,n=t.getMilliseconds();return L(Math.trunc(n*Math.pow(10,s-3)),e.length)}},I={G:function(t,e,s){const n=t.getFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return s.era(n,{width:"abbreviated"});case"GGGGG":return s.era(n,{width:"narrow"});default:return s.era(n,{width:"wide"})}},y:function(t,e,s){if("yo"===e){const e=t.getFullYear(),n=e>0?e:1-e;return s.ordinalNumber(n,{unit:"year"})}return N.y(t,e)},Y:function(t,e,s,n){const r=F(t,n),i=r>0?r:1-r;return"YY"===e?L(i%100,2):"Yo"===e?s.ordinalNumber(i,{unit:"year"}):L(i,e.length)},R:function(t,e){return L(x(t),e.length)},u:function(t,e){return L(t.getFullYear(),e.length)},Q:function(t,e,s){const n=Math.ceil((t.getMonth()+1)/3);switch(e){case"Q":return String(n);case"QQ":return L(n,2);case"Qo":return s.ordinalNumber(n,{unit:"quarter"});case"QQQ":return s.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return s.quarter(n,{width:"narrow",context:"formatting"});default:return s.quarter(n,{width:"wide",context:"formatting"})}},q:function(t,e,s){const n=Math.ceil((t.getMonth()+1)/3);switch(e){case"q":return String(n);case"qq":return L(n,2);case"qo":return s.ordinalNumber(n,{unit:"quarter"});case"qqq":return s.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return s.quarter(n,{width:"narrow",context:"standalone"});default:return s.quarter(n,{width:"wide",context:"standalone"})}},M:function(t,e,s){const n=t.getMonth();switch(e){case"M":case"MM":return N.M(t,e);case"Mo":return s.ordinalNumber(n+1,{unit:"month"});case"MMM":return s.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return s.month(n,{width:"narrow",context:"formatting"});default:return s.month(n,{width:"wide",context:"formatting"})}},L:function(t,e,s){const n=t.getMonth();switch(e){case"L":return String(n+1);case"LL":return L(n+1,2);case"Lo":return s.ordinalNumber(n+1,{unit:"month"});case"LLL":return s.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return s.month(n,{width:"narrow",context:"standalone"});default:return s.month(n,{width:"wide",context:"standalone"})}},w:function(t,e,s,n){const r=D(t,n);return"wo"===e?s.ordinalNumber(r,{unit:"week"}):L(r,e.length)},I:function(t,e,s){const n=_(t);return"Io"===e?s.ordinalNumber(n,{unit:"week"}):L(n,e.length)},d:function(t,e,s){return"do"===e?s.ordinalNumber(t.getDate(),{unit:"date"}):N.d(t,e)},D:function(t,e,s){const n=M(t);return"Do"===e?s.ordinalNumber(n,{unit:"dayOfYear"}):L(n,e.length)},E:function(t,e,s){const n=t.getDay();switch(e){case"E":case"EE":case"EEE":return s.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return s.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return s.day(n,{width:"short",context:"formatting"});default:return s.day(n,{width:"wide",context:"formatting"})}},e:function(t,e,s,n){const r=t.getDay(),i=(r-n.weekStartsOn+8)%7||7;switch(e){case"e":return String(i);case"ee":return L(i,2);case"eo":return s.ordinalNumber(i,{unit:"day"});case"eee":return s.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return s.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return s.day(r,{width:"short",context:"formatting"});default:return s.day(r,{width:"wide",context:"formatting"})}},c:function(t,e,s,n){const r=t.getDay(),i=(r-n.weekStartsOn+8)%7||7;switch(e){case"c":return String(i);case"cc":return L(i,e.length);case"co":return s.ordinalNumber(i,{unit:"day"});case"ccc":return s.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return s.day(r,{width:"narrow",context:"standalone"});case"cccccc":return s.day(r,{width:"short",context:"standalone"});default:return s.day(r,{width:"wide",context:"standalone"})}},i:function(t,e,s){const n=t.getDay(),r=0===n?7:n;switch(e){case"i":return String(r);case"ii":return L(r,e.length);case"io":return s.ordinalNumber(r,{unit:"day"});case"iii":return s.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return s.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return s.day(n,{width:"short",context:"formatting"});default:return s.day(n,{width:"wide",context:"formatting"})}},a:function(t,e,s){const n=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return s.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"aaa":return s.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return s.dayPeriod(n,{width:"narrow",context:"formatting"});default:return s.dayPeriod(n,{width:"wide",context:"formatting"})}},b:function(t,e,s){const n=t.getHours();let r;switch(r=12===n?"noon":0===n?"midnight":n/12>
1=1?"pm":"am",e){case"b":case"bb":return s.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return s.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return s.dayPeriod(r,{width:"narrow",context:"formatting"});default:return s.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(t,e,s){const n=t.getHours();let r;switch(r=n>=17?"evening":n>=12?"afternoon":n>=4?"morning":"night",e){case"B":case"BB":case"BBB":return s.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return s.dayPeriod(r,{width:"narrow",context:"formatting"});default:return s.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(t,e,s){if("ho"===e){let e=t.getHours()%12;return 0===e&&(e=12),s.ordinalNumber(e,{unit:"hour"})}return N.h(t,e)},H:function(t,e,s){return"Ho"===e?s.ordinalNumber(t.getHours(),{unit:"hour"}):N.H(t,e)},K:function(t,e,s){const n=t.getHours()%12;return"Ko"===e?s.ordinalNumber(n,{unit:"hour"}):L(n,e.length)},k:function(t,e,s){let n=t.getHours();return 0===n&&(n=24),"ko"===e?s.ordinalNumber(n,{unit:"hour"}):L(n,e.length)},m:function(t,e,s){return"mo"===e?s.ordinalNumber(t.getMinutes(),{unit:"minute"}):N.m(t,e)},s:function(t,e,s){return"so"===e?s.ordinalNumber(t.getSeconds(),{unit:"second"}):N.s(t,e)},S:function(t,e){return N.S(t,e)},X:function(t,e,s){const n=t.getTimezoneOffset();if(0===n)return"Z";switch(e){case"X":return j(n);case"XXXX":case"XX":return $(n);default:return $(n,":")}},x:function(t,e,s){const n=t.getTimezoneOffset();switch(e){case"x":return j(n);case"xxxx":case"xx":return $(n);default:return $(n,":")}},O:function(t,e,s){const n=t.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+P(n,":");default:return"GMT"+$(n,":")}},z:function(t,e,s){const n=t.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+P(n,":");default:return"GMT"+$(n,":")}},t:function(t,e,s){return L(Math.trunc(+t/1e3),e.length)},T:function(t,e,s){return L(+t,e.length)}};function P(t,e=""){const s=t>0?"-":"+",n=Math.abs(t),r=Math.trunc(n/60),i=n%60;return 0===i?s+String(r):s+String(r)+e+L(i,2)}function j(t,e){return t%60==0?(t>0?"-":"+")+L(Math.abs(t)/60,2):$(t,e)}function $(t,e=""){const s=t>0?"-":"+",n=Math.abs(t);return s+L(Math.trunc(n/60),2)+e+L(n%60,2)}const B=(t,e)=>{switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});default:return e.date({width:"full"})}},U=(t,e)=>{switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});default:return e.time({width:"full"})}},q={p:U,P:(t,e)=>{const s=t.match(/(P+)(p+)?/)||[],n=s[1],r=s[2];if(!r)return B(t,e);let i;switch(n){case"P":i=e.dateTime({width:"short"});break;case"PP":i=e.dateTime({width:"medium"});break;case"PPP":i=e.dateTime({width:"long"});break;default:i=e.dateTime({width:"full"})}return i.replace("{{date}}",B(n,e)).replace("{{time}}",U(r,e))}},R=/^D+$/,V=/^Y+$/,K=["D","DD","YY","YYYY"];function H(t){return!(!((e=t)instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e))&&"number"!=typeof t||isNaN(+b(t)));var e}const W=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,z=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Y=/^'([^]*?)'?$/,X=/''/g,G=/[a-zA-Z]/;function J(t){const e=t.match(Y);return e?e[1].replace(X,"'"):t}const Q=class extends n.xI{getLocalTimeFromTimestamp(t){let e=t.substr(0,10).split("-").map(t=>parseInt(t)),s=t.substr(11,8).split(":").map(t=>parseInt(t));return new Date(Date.UTC(parseInt(e[0]),parseInt(e[1])-1,parseInt(e[2]),...s))}connect(){const t=this.element.getAttribute("datetime"),e=document.documentElement.lang;let s=this.getLocalTimeFromTimestamp(t),n=function(t,e,s){const n=p(),r=s?.locale??n.locale??g,i=s?.firstWeekContainsDate??s?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,o=s?.weekStartsOn??s?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=b(t,s?.in);if(!H(a))throw new RangeError("Invalid time value");let c=e.match(z).map(t=>{const e=t[0];return"p"===e||"P"===e?(0,q[e])(t,r.formatLong):t}).join("").match(W).map(t=>{if("''"===t)return{isToken:!1,value:"'"};const e=t[0];if("'"===e)return{isToken:!1,value:J(t)};if(I[e])return{isToken:!0,value:t};
1if(e.match(G))throw new RangeError("Format string contains an unescaped latin alphabet character `"+e+"`");return{isToken:!1,value:t}});r.localize.preprocessor&&(c=r.localize.preprocessor(a,c));const l={firstWeekContainsDate:i,weekStartsOn:o,locale:r};return c.map(n=>{if(!n.isToken)return n.value;const i=n.value;return(!s?.useAdditionalWeekYearTokens&&function(t){return V.test(t)}(i)||!s?.useAdditionalDayOfYearTokens&&function(t){return R.test(t)}(i))&&function(t,e,s){const n=function(t,e,s){const n="Y"===t[0]?"years":"days of the month";return`Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${e}\`) for formatting ${n} to the input \`${s}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(t,e,s);if(console.warn(n),K.includes(t))throw new RangeError(n)}(i,e,String(t)),(0,I[i[0]])(a,i,r.localize,l)}).join("")}(s,"yyyy-MM-dd HH:mm:ss (xxx)"),r=new Date;r.setUTCHours(0,0,0,0);let i="true"===this.data.get("relative"),o="true"===this.data.get("show-time");const a={month:"short",day:"numeric",year:"numeric"};this.element.textContent=i&&s>r?A(s,{includeSeconds:!0})+" ago":o?s.toLocaleTimeString(e,a):s.toLocaleDateString(e,a),this.element.setAttribute("title",n),this.element.setAttribute("aria-label",n)}};s.dn(Q)},345(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static targets=["input","button"];cancel(){window.location.href="#modal-close",this.inputTarget.value="",this.buttonTarget.disabled=!0}};s.dn(r),s.d(e,["default",0,r])},776(t,e,s){"use strict";s.r(e);var n=s(891),r=s(248);const i=class extends n.xI{static targets=["notification","notificationDismiss"];_getNotificationId(){if(this.notificationTarget.id){const t=this.data.get("version")||"-1";return`${this.notificationTarget.id}_${t}__dismissed`}return null}initialize(){const t=this._getNotificationId(),e=this.notificationTarget.classList.contains("notification-bar--dismissable");(!t||e&&!localStorage.getItem(t))&&this.notificationTarget.classList.add("notification-bar--visible")}dismiss(){const t=this._getNotificationId();t&&localStorage.setItem(t,1),this.notificationTarget.classList.remove("notification-bar--visible"),(0,r.A)()}};s.dn(i),s.d(e,["default",0,i])},236(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static targets=["termsOfServiceAccepted","submit"];connect(){this.checkTermsOfServiceAccepted()}checkTermsOfServiceAccepted(){this.termsOfServiceAcceptedTarget.checked?this.submitTarget.removeAttribute("disabled"):this.submitTarget.setAttribute("disabled","")}};s.dn(r),s.d(e,["default",0,r])},694(t,e,s){"use strict";s.r(e);var n=s(891),r=s(334),i=s(881);const o=class extends n.xI{static targets=["password","message"];connect(){this.check=(0,r.debounce)(this.check,1e3),this._lastCheckedPassword=null}check(){return this.passwordTarget.value!==this._lastCheckedPassword&&(this.hideMessage(),this.passwordTarget.value.length>2)?(this._lastCheckedPassword=this.passwordTarget.value,this.checkPassword(this.passwordTarget.value).catch(t=>{console.error(t),this.hideMessage()})):null}async checkPassword(t){let e=await this.digestMessage(t),s=this.hexString(e),n=await fetch(this.getURL(s));if(!1===n.ok){const t=(0,i.AP)("Error while validating hashed password, disregard on development");console.error(`${t}: ${n.status} ${n.statusText}`)}else{let t=await n.text();this.parseResponse(t,s)}}async digestMessage(t){const e=(new TextEncoder).encode(t);return window.crypto.subtle.digest("SHA-1",e)}hexString(t){return[...new Uint8Array(t)].map(t=>t.toString(16).padStart(2,"0")).join("")}getURL(t){return`https://api.pwnedpasswords.com/range/${t.slice(0,5)}`}parseResponse(t,e){t.split("\n").some(t=>t.toLowerCase().split(":")[0]===e.slice(5))?this.showMessage():this.hideMessage()}showMessage(){this.messageTarget.classList.remove("hidden")}hideMessage(){this.messageTarget.classList.add("hidden")}};s.dn(o),s.d(e,["default",0,o])},742(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static targets=["showPassword","password"];connect(){this.showPasswordTarget.checked=!1,this.togglePasswords()}togglePasswords(){for(let t of this.passwordTargets)t.type=this.showPasswordTarget.checked?"text":"password"}};s.dn(r),s.d(e,["default",0,r])},384(t,e,s){"use strict";s.r(e);var n=s(891),r=s(881);const i=class extends n.xI{static targets=["passwordMatch","matchMessage","submit"];connect(){this.checkPasswordsMatch()}checkPasswordsMatch(){this.passwordMatchTargets.some(t=>""===t.value)?(this.matchMessageTarget.classList.add("hidden"),this.submitTarget.setAttribute("disabled","")):(this.matchMessageTarget.classList.remove("hidden"),this.passwordMatchTargets.every((t,e,s)=>t.value===s[0].value)?(this.matchMessageTarget.textContent=(0,r.AP)("Passwords match"),this.matchMessageTarget.classList.add("form-error--valid"),this.submitTarget.removeAttribute("disabled")):(this.matchMessageTarget.textContent=(0,r.AP)("Passwords do not match"),this.matchMessageTarget.classList.remove("form-error--valid"),this.submitTarget.setAttribute("disabled","")))}};s.dn(i),s.d(e,["default",0,i])},30(t,e,s){"use strict";s.r(e);var n=s(891),r=s(881);let i=null;
1function o(){return i||(i=Promise.all([s.e(966).then(()=>s(791)),s.e(128).then(()=>s(249)),s.e(786).then(()=>s(98))]).then(([t,e,s])=>(t.zxcvbnOptions.setOptions({graphs:e.adjacencyGraphs,dictionary:{...e.dictionary,...s.dictionary},translations:s.translations}),t.zxcvbn))),i}const a=class extends n.xI{static targets=["password","strengthGauge"];connect(){o()}async checkPasswordStrength(){let t=this.passwordTarget.value;if(""===t)this.strengthGaugeTarget.setAttribute("class","password-strength__gauge"),this.setScreenReaderMessage((0,r.AP)("Password field is empty"));else{let e=(await o())(t.substring(0,100));this.strengthGaugeTarget.setAttribute("class",`password-strength__gauge password-strength__gauge--${e.score}`),this.strengthGaugeTarget.setAttribute("data-zxcvbn-score",e.score);const s=e.feedback.suggestions.join(" ");s?this.setScreenReaderMessage("Password is too easily guessed. "+s):this.setScreenReaderMessage((0,r.AP)("Password is strong"))}}setScreenReaderMessage(t){this.strengthGaugeTarget.querySelector(".sr-only").textContent=t}};s.dn(a),s.d(e,["default",0,a])},239(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static targets=["tab","content"];connect(){const t=window.location.hash.slice(1);this.toggleTab(this._getTabForContentId(t)||this.tabTargets[0]),this._handleHashChange=this._handleHashChange.bind(this),window.addEventListener("hashchange",this._handleHashChange,!1)}disconnect(){window.removeEventListener("hashchange",this._handleHashChange)}tabClick(t){t.preventDefault();const e=t.currentTarget;this.toggleTab(e),history.pushState(null,"",e.hash),document.getElementById(e.hash.slice(1))?.focus({preventScroll:!0})}tabKeydown(t){if(!["ArrowLeft","ArrowRight","Home","End"].includes(t.key))return;const e=this.tabTargets.filter(t=>!this.contentTargets.some(e=>e.contains(t))),s=e.indexOf(t.currentTarget);if(-1===s)return;let n;t.preventDefault(),"ArrowRight"===t.key?n=(s+1)%e.length:"ArrowLeft"===t.key?n=(s-1+e.length)%e.length:"Home"===t.key?n=0:"End"===t.key&&(n=e.length-1);const r=e[n];r.focus(),this.toggleTab(r),history.pushState(null,"",r.hash)}toggleTab(t){if(!t||!t.hash)return;const e=t.hash.slice(1),s=this.contentTargets.find(e=>e.contains(t)),n=s?this._getNavTabForContentId(s.id):this._getNavTabForContentId(e);this.contentTargets.forEach(t=>{t.style.display=t.id===e?"block":"none"}),this.tabTargets.filter(t=>!this.contentTargets.some(e=>e.contains(t))).forEach(t=>{const e=t===n;t.classList.toggle("project-tabs__tab--is-active",e),t.setAttribute("aria-selected",e?"true":"false"),t.setAttribute("tabindex",e?"0":"-1")})}_getTabForContentId(t){return this.tabTargets.find(e=>e.hash.slice(1)===t)}_getNavTabForContentId(t){return this.tabTargets.find(e=>e.hash.slice(1)===t&&!this.contentTargets.some(t=>t.contains(e)))}_handleHashChange(){const t=window.location.hash.slice(1);if(t){const e=this._getTabForContentId(t);e&&this.toggleTab(e)}else this.toggleTab(this.tabTargets[0])}};s.dn(r),s.d(e,["default",0,r])},88(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static targets=["searchField"];focusSearchField(t){"/"===t.key&&"INPUT"!==t.target.tagName&&"TEXTAREA"!==t.target.tagName&&(t.preventDefault(),this.searchFieldTarget.focus())}};s.dn(r),s.d(e,["default",0,r])},630(t,e,s){"use strict";s.r(e);var n=s(891);const r=class extends n.xI{static targets=["switchToDesktop","switchToMobile"];connect(){localStorage.getItem("showDesktop")?(this.switchToMobileTarget.classList.remove("hidden"),this._setViewport(1280)):this.switchToDesktopTarget.classList.remove("hidden")}_setViewport(t){const e=`width=${t}`;document.getElementsByTagName("meta").viewport.content=e,window.scrollTo(0,0)}switchToDesktop(){this.switchToMobileTarget.classList.remove("hidden"),this.switchToDesktopTarget.classList.add("hidden"),localStorage.setItem("showDesktop",1),this._setViewport(1280)}switchToMobile(){this.switchToMobileTarget.classList.add("hidden"),this.switchToDesktopTarget.classList.remove("hidden"),localStorage.removeItem("showDesktop"),this._setViewport("device-width")}};s.dn(r),s.d(e,["default",0,r])},258(t,e,s){const n={"./change_role_controller.js":760,"./clipboard_controller.js":497,"./collapsible_controller.js":959,"./confirm_controller.js":763,"./confirm_password_controller.js":873,"./delete_confirm_controller.js":617,"./dismissable_controller.js":635,"./email-confirmation_controller.js":3,"./filter_list_controller.js":734,"./github_repo_info_controller.js":994,"./github_repo_stats_controller.js":639,"./gitlab_repo_info_controller.js":74,"./gitlab_repo_stats_controller.js":31,"./horizontal_tabs_controller.js":272,"./localized_time_controller.js":618,"./modal_
1close_controller.js":345,"./notification_controller.js":776,"./organization_terms_of_service_accepted_controller.js":236,"./password_breach_controller.js":694,"./password_controller.js":742,"./password_match_controller.js":384,"./password_strength_gauge_controller.js":30,"./project_tabs_controller.js":239,"./search_focus_controller.js":88,"./viewport_toggle_controller.js":630};function r(t){const e=i(t);return s(e)}function i(t){if(!s.o(n,t)){const e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return n[t]}r.keys=function(){return Object.keys(n)},r.resolve=i,t.exports=r,r.id=258},881(t,e,s){"use strict";s.d(e,{AP:()=>o,WI:()=>i});const n={"":{language:"en","plural-forms":"nplurals = 2; plural = (n != 1)"}},r=function(t){let e,s;return e=2,s=1!=t,{total:2,index:!0===s?1:s||0}};function i(t,e,s,...i){return a(t,e,s,i,n,r)}function o(t,...e){return a(t,null,1,e,n,r)}function a(t,e,s,n,r,i){const o=i(s);let a=function(t,e){return e&&e.trim()?Object.hasOwn(t,e)?t[e]:e:""}(r,t);return Array.isArray(a)?a=a[o.index]:o.index>0&&(a=e),function(t,e){return t?!e||e.length<1||!t.includes("%")?t:e.reduce((t,e,s)=>{const n=new RegExp(`%${s+1}\\b`,"gi");return t.replaceAll(n,e)},t):""}(a,n)}},248(t,e,s){"use strict";const n=()=>{const t=document.querySelector(".js-stick-to-top");if(null===t)return;const e=t.offsetHeight,s=document.querySelector("body");null!==s&&(s.style.paddingTop=e+"px",e&&s.classList.add("with-sticky"))};s.dn(n),s.d(e,["A",0,n])}};const e={};function s(n){const r=e[n];if(void 0!==r)return r.exports;const i=e[n]={exports:{}};return t[n](i,i.exports,s),i.exports}s.m=t,s.n=t=>{const e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{if(Array.isArray(e))for(var n=0;n<e.length;){var r=e[n++],i=e[n++],o=0===i?{enumerable:!0,value:e[n++]}:{enumerable:!0,get:i};s.o(t,r)||Object.defineProperty(t,r,o)}else for(var r in e)s.o(e,r)&&!s.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},s.f={},s.e=t=>Promise.all(Object.keys(s.f).reduce((e,n)=>(s.f[n](t,e),e),[])),s.u=t=>({128:"zxcvbn-common",786:"zxcvbn-en",966:"zxcvbn-core"}[t]+"."+{128:"9001fb62",786:"2ff8d17b",966:"93387e25"}[t]+".js"),s.miniCssF=t=>{},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{const t={};s.l=(e,n,r,i)=>{if(t[e])return void t[e].push(n);let o,a;if(void 0!==r){const t=document.getElementsByTagName("script");for(var c=0;c<t.length;c++){const s=t[c];if(s.getAttribute("src")==e){o=s;break}}}o||(a=!0,o=document.createElement("script"),o.charset="utf-8",s.nc&&o.setAttribute("nonce",s.nc),o.src=e),t[e]=[n];const l=(s,n)=>{o.onerror=o.onload=null,clearTimeout(u);const r=t[e];if(delete t[e],o.parentNode?.removeChild(o),r?.forEach(t=>t(n)),s)return s(n)},u=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),a&&document.head.appendChild(o)}})(),s.r=t=>{Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.dn=t=>{var e=Object.getOwnPropertyDescriptor(t,"name");(!e||!e.writable&&e.configurable)&&Object.defineProperty(t,"name",{value:"default",configurable:!0})},(()=>{let t;s.g.importScripts&&(t=s.g.location+"");const e=s.g.document;if(!t&&e&&("SCRIPT"===e.currentScript?.tagName.toUpperCase()&&(t=e.currentScript.src),!t)){const s=e.getElementsByTagName("script");if(s.length){let e=s.length-1;for(;e>-1&&(!t||!/^https?:/.test(t));)t=s[e--].src}}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/^blob:|[?#].*$/g,"").replace(/\/[^/]+$/,"/"),s.p=t+"../"})(),(()=>{const t={420:0};s.f.j=(e,n)=>{let r=s.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{const i=new Promise((s,n)=>r=t[e]=[s,n]);n.push(r[2]=i);const o=new Error,a=n=>{if(s.o(t,e)&&(r=t[e],0!==r&&(t[e]=void 0),r)){const t=n&&("load"===n.type?"missing":n.type),s=n&&n.target&&n.target.src;o.message="Loading chunk "+e+" failed.\n("+t+": "+s+")",o.name="ChunkLoadError",o.type=t,o.request=s,o.event=n,r[1](o)}};s.l(s.p+s.u(e),a,"chunk-"+e,e)}};const e=(e,n)=>{let[r,i,o]=n;var a,c,l=0;if(r.some(e=>0!==t[e])){for(a in i)s.o(i,a)&&(s.m[a]=i[a]);o&&o(s)}for(e&&e(n);l<r.length;l++)c=r[l],s.o(t,c)&&t[c]&&t[c][0](),t[c]=0},n=self.webpackChunk=self.webpackChunk||[];
1n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))})(),(()=>{"use strict";var t=s(891);const e="[role='option']:not([aria-disabled])";class n extends t.xI{static targets=["input","hidden","results"];static classes=["selected"];static values={ready:Boolean,submitOnEnter:Boolean,url:String,minLength:Number,delay:{type:Number,default:300},queryParam:{type:String,default:"q"}};static uniqOptionId=0;connect(){this.close(),this.inputTarget.hasAttribute("autocomplete")||this.inputTarget.setAttribute("autocomplete","off"),this.inputTarget.setAttribute("spellcheck","false"),this.mouseDown=!1,this.onInputChange=r(this.onInputChange,this.delayValue),this.inputTarget.addEventListener("keydown",this.onKeydown),this.inputTarget.addEventListener("blur",this.onInputBlur),this.inputTarget.addEventListener("input",this.onInputChange),this.resultsTarget.addEventListener("mousedown",this.onResultsMouseDown),this.resultsTarget.addEventListener("click",this.onResultsClick),this.inputTarget.hasAttribute("autofocus")&&this.inputTarget.focus(),this.readyValue=!0}disconnect(){this.hasInputTarget&&(this.inputTarget.removeEventListener("keydown",this.onKeydown),this.inputTarget.removeEventListener("blur",this.onInputBlur),this.inputTarget.removeEventListener("input",this.onInputChange)),this.hasResultsTarget&&(this.resultsTarget.removeEventListener("mousedown",this.onResultsMouseDown),this.resultsTarget.removeEventListener("click",this.onResultsClick))}sibling(t){const e=this.options,s=this.selectedOption,n=e.indexOf(s),r=t?e[n+1]:e[n-1],i=t?e[0]:e[e.length-1];return r||i}select(t){const e=this.selectedOption;e&&(e.removeAttribute("aria-selected"),e.classList.remove(...this.selectedClassesOrDefault)),t.setAttribute("aria-selected","true"),t.classList.add(...this.selectedClassesOrDefault),this.inputTarget.setAttribute("aria-activedescendant",t.id),t.scrollIntoView({behavior:"auto",block:"nearest"})}onKeydown=t=>{const e=this[`on${t.key}Keydown`];e&&e(t)};onEscapeKeydown=t=>{this.resultsShown&&(this.hideAndRemoveOptions(),t.stopPropagation(),t.preventDefault())};onArrowDownKeydown=t=>{const e=this.sibling(!0);e&&this.select(e),t.preventDefault()};onArrowUpKeydown=t=>{const e=this.sibling(!1);e&&this.select(e),t.preventDefault()};onTabKeydown=t=>{const e=this.selectedOption;e&&this.commit(e)};onEnterKeydown=t=>{const e=this.selectedOption;e&&this.resultsShown&&(this.commit(e),this.hasSubmitOnEnterValue||t.preventDefault())};onInputBlur=()=>{this.mouseDown||this.close()};commit(t){if("true"===t.getAttribute("aria-disabled"))return;if(t instanceof HTMLAnchorElement)return t.click(),void this.close();const e=t.getAttribute("data-autocomplete-label")||t.textContent.trim(),s=t.getAttribute("data-autocomplete-value")||e;this.inputTarget.value=e,this.hasHiddenTarget?(this.hiddenTarget.value=s,this.hiddenTarget.dispatchEvent(new Event("input")),this.hiddenTarget.dispatchEvent(new Event("change"))):this.inputTarget.value=s,this.inputTarget.focus(),this.hideAndRemoveOptions(),this.element.dispatchEvent(new CustomEvent("autocomplete.change",{bubbles:!0,detail:{value:s,textValue:e,selected:t}}))}clear(){this.inputTarget.value="",this.hasHiddenTarget&&(this.hiddenTarget.value="")}onResultsClick=t=>{if(!(t.target instanceof Element))return;const s=t.target.closest(e);s&&this.commit(s)};onResultsMouseDown=()=>{this.mouseDown=!0,this.resultsTarget.addEventListener("mouseup",()=>{this.mouseDown=!1},{once:!0})};onInputChange=()=>{this.hasHiddenTarget&&(this.hiddenTarget.value="");const t=this.inputTarget.value.trim();t&&t.length>=this.minLengthValue?this.fetchResults(t):this.hideAndRemoveOptions()};identifyOptions(){const t=this.resultsTarget.id||"stimulus-autocomplete";this.resultsTarget.querySelectorAll(`${e}:not([id])`).forEach(e=>e.id=`${t}-option-${n.uniqOptionId++}`)}hideAndRemoveOptions(){this.close(),this.resultsTarget.innerHTML=null}fetchResults=async t=>{if(!this.hasUrlValue)return;const e=this.buildURL(t);try{this.element.dispatchEvent(new CustomEvent("loadstart"));const t=await this.doFetch(e);this.replaceResults(t),this.element.dispatchEvent(new CustomEvent("load")),this.element.dispatchEvent(new CustomEvent("loadend"))}catch(t){throw this.element.dispatchEvent(new CustomEvent("error")),this.element.dispatchEvent(new CustomEvent("loadend")),t}};buildURL(t){const e=new URL(this.urlValue,window.location.href),s=new URLSearchParams(e.search.slice(1));return s.append(this.queryParamValue,t),e.search=s.toString(),e.toString()}doFetch=async t=>{const e=await fetch(t,this.optionsForFetch());if(!e.ok)throw new Error(`Server responded with status ${e.status}`);return await e.text()};replaceResults(t){this.resultsTarget.innerHTML=t,this.identifyOptions(),this.options?this.open():this.close()}open(){this.resultsShown||(this.resultsShown=!0,this.element.setAttribute("aria-expanded","true"),this.element.dispatchEvent(new CustomEvent("toggle",{detail:{action:"open",inputTarget:this.inputTarget,resultsTarget:this.resultsTarget}})))}close(){this.resultsShown&&(this.resultsShown=!1,this.inputTarget.removeAttribute("aria-activedescendant"),this.element.setAttribute("aria-expanded","fal
1se"),this.element.dispatchEvent(new CustomEvent("toggle",{detail:{action:"close",inputTarget:this.inputTarget,resultsTarget:this.resultsTarget}})))}get resultsShown(){return!this.resultsTarget.hidden}set resultsShown(t){this.resultsTarget.hidden=!t}get options(){return Array.from(this.resultsTarget.querySelectorAll(e))}get selectedOption(){return this.resultsTarget.querySelector("[aria-selected='true']")}get selectedClassesOrDefault(){return this.hasSelectedClass?this.selectedClasses:["active"]}optionsForFetch(){return{headers:{"X-Requested-With":"XMLHttpRequest"}}}}const r=(t,e=10)=>{let s=null;return(...n)=>{clearTimeout(s),s=setTimeout(t,e)}},i={mode:"same-origin",credentials:"same-origin",cache:"default",redirect:"follow"},o=()=>{let t=document.cookie.split(";").some(t=>t.trim().startsWith("user_id__insecure=")),e=[];Array.from(document.querySelectorAll("[data-html-include]")).forEach(s=>{let n=s.getAttribute("data-html-include");if(!t)try{if(new URL(n,"http://example.com").pathname.startsWith("/_includes/authed/"))return}catch{if(n.startsWith("/_includes/authed/"))return}let r=fetch(n,i).then(t=>t.ok?t.text():"").then(t=>{s.innerHTML=t});e.push(r)}),Promise.all(e).then(()=>{window._WarehouseHTMLIncluded=!0;var t=new Event("CSILoaded");document.dispatchEvent(t)})};s.dn(o);let a=t=>{t.form.submit()};const c=(t,e)=>{e.preventDefault();const s=document.querySelector(`#classifiers input[value="${t}"]`);s&&(s.checked=!1,a(s))};let l=document;const u=t=>""===t?"Please fill out this field":null,h=(t,e)=>{let s=document.createElement("li").textContent(e),n=document.createElement("ul").setAttribute("id",t.name+"-error").setAttribute("class","form-errors field-errors").setAttribute("role","alert").appendChild(s);t.insertAjacentElement("afterend",n),t.setAttribute("aria-describedby",t.name+"-error"),document.title="Error processing form â "+document.title},d=t=>{(()=>{let t=l.querySelectorAll(".field-errors");for(let e of t)e.parentNode.removeChild(e);document.title=document.title.replace("Error processing form â ","")})();let e=l.querySelectorAll("input[required='required']");for(let s of e){let e=u(s.value);if(null!==e)return h(s,e),t.preventDefault(),!1}let s=l.querySelector("#new_password"),n=(()=>{let t=document.querySelector(".password-strength__gauge"),e=parseInt(t.getAttribute("data-zxcvbn-score"));return!isNaN(e)&&e<2?t.querySelector(".sr-only").innerHTML:null})(s.value);if(null!==n)return h(s,n),t.preventDefault(),!1};var m=s(248);const g=()=>{if(void 0!==window.fetch){const t=document.querySelector("[data-statuspage-domain]");if(null===t)return;const e=t.getAttribute("data-statuspage-domain");fetch(`${e}/api/v2/status.json`).then(t=>t.json()).then(e=>{t.textContent=e.status.description})}};s.dn(g);var f=s(881);const p=t=>{const e=new Date-new Date(t),s={};return s.numMinutes=Math.floor(e/1e3/60),s.numHours=Math.floor(s.numMinutes/60),s.numDays=Math.floor(s.numHours/24),s.isBeforeCutoff=s.numDays<7,s},b=t=>{let{numDays:e,numMinutes:s,numHours:n}=t;return e>=1?(0,f.WI)("Yesterday","About %1 days ago",e,e):n>0?(0,f.WI)("About an hour ago","About %1 hours ago",n,n):s>0?(0,f.WI)("About a minute ago","About %1 minutes ago",s,s):(0,f.AP)("Just now","another")},v=()=>{const t=document.querySelectorAll("time");for(const e of t){const t=e.getAttribute("datetime"),s=p(t);s.isBeforeCutoff&&(e.innerText=b(s))}};s.dn(v);const y=()=>{var t=document.querySelector(".-js-add-filter"),e=document.querySelector(".-js-close-panel"),s=document.querySelector("#classifiers > .accordion > button");const n=(t,e,s)=>{s.preventDefault();var n=document.querySelectorAll(".-js-dark-overlay, .-js-filter-panel");for(var r of n)r.style.display=t;e.focus()},r=(t,e,s)=>{t.addEventListener("click",n.bind(null,e,s),!1)},i=t=>{var e=t.currentTarget;"true"===e.getAttribute("aria-expanded")?e.setAttribute("aria-expanded","false"):e.setAttribute("aria-expanded","true"),e.parentElement.classList.toggle("accordion--closed");var s=e.nextElementSibling;"true"===s.getAttribute("aria-hidden")?s.setAttribute("aria-hidden","false"):s.setAttribute("aria-hidden","true")};for(var o of document.querySelectorAll(".-js-accordion-trigger"))o.addEventListener("click",i,!1);r(t,"block",s),r(e,"",t)};s.dn(y);const w=()=>{const t=[];document.addEventListener("keydown",e=>{const s=document.querySelector(".modal:target .modal__form");if(t[e.keyCode]="keydown"===e.type,s&&t[9]){const n=s.querySelector(".modal__close"),r=()=>s.querySelector(".modal__footer button.js-confirm").disabled?s.querySelector(".modal__footer .
1js-cancel"):s.querySelector(".modal__footer .js-confirm");t[9]&&t[16]?document.activeElement===n&&(r().focus(),e.preventDefault()):t[9]&&document.activeElement===r()&&(n.focus(),e.preventDefault())}}),document.addEventListener("keyup",e=>{t[e.keyCode]="keydown"===e.type})};s.dn(w);const T=()=>{const t=[];document.addEventListener("keydown",e=>{const s=document.querySelector(".filter-panel");if(t[e.keyCode]="keydown"===e.type,null===s)return;const n=s.querySelector(".filter-panel__close"),r=()=>s.querySelector(".accordion:last-child").classList.contains("accordion--closed")?s.querySelector(".accordion:last-child > .accordion__link"):s.querySelector(".accordion:last-child li:last-child > input");t[9]?t[9]&&t[16]?document.activeElement===n&&(r().focus(),e.preventDefault()):t[9]&&document.activeElement===r()&&(n.focus(),e.preventDefault()):t[27]&&n.click()}),document.addEventListener("keyup",e=>{t[e.keyCode]="keydown"===e.type})};s.dn(T);const E=t=>{const e=document.getElementById("webauthn-errors");null!==e&&(e.setAttribute("role","alert"),t.forEach(t=>{const s=document.createElement("li");s.appendChild(document.createTextNode(t)),e.appendChild(s)}))},k=(t,e)=>{if(!window.PublicKeyCredential)return;const s=document.getElementById(t);if(null===s)return null;const n=s.querySelector("button[type=submit]");n.disabled=!1,s.addEventListener("submit",async()=>{e(n.value),event.preventDefault()})},A=t=>btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"");if(navigator.appVersion.includes("MSIE 10")&&null===document.getElementById("unsupported-browser")){let t=document.createElement("div");t.innerHTML="<div id='unsupported-browser' class='notification-bar notification-bar--warning' role='status'><span class='notification-bar__icon'><i class='fa fa-exclamation-triangle' aria-hidden='true'></i><span class='sr-only'>Warning:</span></span><span class='notification-bar__message'>You are using an unsupported browser, please upgrade to a newer version.</span></div>",document.getElementById("sticky-notifications").appendChild(t)}let O;v(),document.querySelector(".-js-add-filter")&&y(),o(),function(){let t=document.querySelectorAll(".-js-form-submit-trigger");for(const e of t)e.addEventListener("change",a.bind(null,e),!1);const e=document.querySelectorAll(".filter-badge");for(const t of e){const[e,s]=[t.firstElementChild,t.lastElementChild];s.addEventListener("click",c.bind(null,e.value),!1)}}(),function(){const t=document.querySelector("#new_password");null!==t&&(l=document.evaluate("./ancestor::form",t,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue,l.querySelector("input[type='submit']").addEventListener("click",d,!1))}(),g(),document.addEventListener("keydown",t=>{if(document.querySelector(".modal:target")&&27===t.keyCode)for(let t of document.querySelectorAll(".modal"))S.getControllerForElementAndIdentifier(t,"confirm").cancel()}),setTimeout(m.A,200),window.addEventListener("resize",()=>{clearTimeout(O),O=setTimeout(m.A,200)},!1);let M=function(){let t=document.querySelectorAll(".dropdown");for(let e of t){let t=e.querySelector(".dropdown__trigger"),s=e.querySelector(".dropdown__content"),n=function(){s.classList.add("display-block"),s.removeAttribute("aria-hidden"),t.setAttribute("aria-expanded","true")},r=function(){s.classList.remove("display-block"),s.setAttribute("aria-hidden","true"),t.setAttribute("aria-expanded","false")};if(!t.dataset.dropdownBound){t.addEventListener("click",function(){s.classList.contains("display-block")?r():n()});let i=function(t){e.contains(t.relatedTarget)||r()};e.addEventListener("focusout",i,!1),e.addEventListener("mouseout",i,!1),document.addEventListener("keydown",function(t){"Escape"===t.key&&r()}),t.dataset.dropdownBound=!0}}};M(),w(),T(),(()=>{if(!window.PublicKeyCredential){let t=document.getElementById("webauthn-button");t&&(t.className+=" button--disabled");let e=document.getElementById("webauthn-browser-support");e&&(e.style.display="block");let s=document.getElementById("webauthn-provision-label");s&&(s.disabled=!0)}})(),k("webauthn-provision-form",async t=>{const e=document.getElementById("webauthn-provision-label").value,s=await fetch("/manage/account/webauthn-provision/options",{cache:"no-cache",credentials:"same-origin"}),n=(t=>{let{user:e}=t;e.id=Uint8Array.from(t.user.id,t=>t.charCodeAt(0));const s=Uint8Array.from(t.challenge,t=>t.charCodeAt(0));return Object.assign({},t,{challenge:s,user:e})})(await s.json());await navigator.credentials.create({publicKey:n}).then(async s=>{const n=(t=>{const e=new Uint8Array(t.response.attestationObject),s=new Uint8Array(t.response.clientDataJSON),n=new Uint8Array(t.rawId),r=t.getClientExtensionResults();return{id:t.id,rawId:A(String.fromCharCode(...n)),type:t.type,response:{attestationObject:A(String.fromCharCode(...e)),clientDataJSON:A(String.fromCharCode(...s))},registrationClientExtensions:JSON.stringify(r)}})(s),r=await(async(t,e,s)=>{const n=new FormData;n.set("label",t),n.set("credential",JSON.stringify(e)),n.set("csrf_token",s);const r=await fetch("/manage/account/webauthn-provision/validate",{method:"POST",cac
1he:"no-cache",body:n,credentials:"same-origin"});return await r.json()})(e,n,t);r.fail?E(r.fail.errors):window.location.replace("/manage/account")}).catch(t=>{E([t.message])})}),k("webauthn-auth-form",async t=>{const e=await fetch("/account/webauthn-authenticate/options"+window.location.search,{cache:"no-cache",credentials:"same-origin"}),s=await e.json();if(s.fail)return void window.location.replace("/account/login");const n=document.getElementById("remember_device_webauthn").checked,r=(t=>{let{challenge:e,allowCredentials:s}=t;return e=Uint8Array.from(e,t=>t.charCodeAt(0)),s=s.map(t=>{let{id:e}=t;return e=e.replace(/_/g,"/").replace(/-/g,"+"),e=Uint8Array.from(atob(e),t=>t.charCodeAt(0)),Object.assign({},t,{id:e})}),Object.assign({},t,{challenge:e,allowCredentials:s})})(s);await navigator.credentials.get({publicKey:r}).then(async e=>{const s=(t=>{const e=new Uint8Array(t.response.authenticatorData),s=new Uint8Array(t.response.clientDataJSON),n=new Uint8Array(t.rawId),r=new Uint8Array(t.response.signature),i=t.getClientExtensionResults();return{id:t.id,rawId:A(String.fromCharCode(...n)),response:{authenticatorData:A(String.fromCharCode(...e)),clientDataJSON:A(String.fromCharCode(...s)),signature:A(String.fromCharCode(...r))},type:t.type,assertionClientExtensions:JSON.stringify(i)}})(e),r=await(async(t,e,s)=>{const n=new FormData;n.set("credential",JSON.stringify(t)),n.set("csrf_token",e),s&&n.set("remember_device","true");const r=await fetch("/account/webauthn-authenticate/validate"+window.location.search,{method:"POST",cache:"no-cache",body:n,credentials:"same-origin"});return await r.json()})(s,t,n);r.fail?E(r.fail.errors):window.location.replace(r.redirect_to)}).catch(t=>{E([t.message])})});const C=document.getElementById("token_scope");null!==C&&C.addEventListener("change",()=>{const t=document.getElementById("api-token-scope-warning");if(null===t)return;const e=C.options[C.selectedIndex].value;t.hidden="scope:user"!==e}),document.addEventListener("CSILoaded",M),document.addEventListener("CSILoaded",m.A);const S=t.lg.start(),x=s(258);S.load(function(t){return t.keys().map(e=>function(t,e){const s=function(t){const e=(t.match(/^(?:\.\/)?(.+)(?:[_-]controller\..+?)$/)||[])[1];if(e)return e.replace(/_/g,"-").replace(/\//g,"--")}(e);if(s)return function(t,e){const s=t.default;if("function"==typeof s)return{identifier:e,controllerConstructor:s}}(t(e),s)}(t,e)).filter(t=>t)}(x)),S.register("autocomplete",n)})()})(); 2//# sourceMappingURL=warehouse.31001f20.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.