1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1841],{156:t=>{var e=function(t){var e;return!!t&&"object"==typeof t&&"[object RegExp]"!==(e=Object.prototype.toString.call(t))&&"[object Date]"!==e&&t.$$typeof!==i},i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function s(t,e){return!1!==e.clone&&e.isMergeableObject(t)?a(Array.isArray(t)?[]:{},t,e):t}function r(t,e,i){return t.concat(e).map(function(t){return s(t,i)})}function n(t){return Object.keys(t).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[])}function o(t,e){try{return e in t}catch(t){return!1}}function a(t,i,l){(l=l||{}).arrayMerge=l.arrayMerge||r,l.isMergeableObject=l.isMergeableObject||e,l.cloneUnlessOtherwiseSpecified=s;var u,c,h=Array.isArray(i);return h!==Array.isArray(t)?s(i,l):h?l.arrayMerge(t,i,l):(c={},(u=l).isMergeableObject(t)&&n(t).forEach(function(e){c[e]=s(t[e],u)}),n(i).forEach(function(e){(!o(t,e)||Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))&&(o(t,e)&&u.isMergeableObject(i[e])?c[e]=(function(t,e){if(!e.customMerge)return a;var i=e.customMerge(t);return"function"==typeof i?i:a})(e,u)(t[e],i[e],u):c[e]=s(i[e],u))}),c)}a.all=function(t,e){if(!Array.isArray(t))throw Error("first argument should be an array");return t.reduce(function(t,i){return a(t,i,e)},{})},t.exports=a},841:(t,e,i)=>{i.r(e),i.d(e,{default:()=>d});var s=i(220),r=i(59),n=i(68),o=i(683);class a extends o.A{constructor(t,e="before"){super(t,e),this._isValidElement()||console.warn(`[ButtonLoadingIndicatorUtil] Parent element is not of type <button> or <a>. Given element: ${this.parent}`)}create(){if(!this._isValidElement()){console.warn(`[ButtonLoadingIndicatorUtil] Unable to create loading indicator. Parent element is not of type <button> or <a>. Given element: ${this.parent}`);return}if("inner"===this.position){let t=this.parent.getBoundingClientRect().width;this.parent.style.width=`${t}px`}super.create(),this.parent.classList.add(`is-loading-indicator-${this.position}`),this._isButtonElement()?this.parent.disabled=!0:this._isAnchorElement()&&this.parent.classList.add("disabled")}remove(){if(!this.exists()){console.warn(`[ButtonLoadingIndicatorUtil] Unable to remove loading indicator. No indicator present on given element: ${this.parent}`);return}"inner"===this.position&&(this.parent.style.width="auto"),super.remove(),this.parent.classList.remove(`is-loading-indicator-${this.position}`),this._isButtonElement()?this.parent.disabled=!1:this._isAnchorElement()&&this.parent.classList.remove("disabled")}_isValidElement(){return this._isButtonElement()||this._isAnchorElement()}_isButtonElement(){return this.parent?.tagName.toLowerCase()==="button"}_isAnchorElement(){return this.parent?.tagName.toLowerCase()==="a"}}class l extends s.A{static #t=this.options={searchWidgetSelector:".js-search-form",searchWidgetResultSelector:".js-search-result",searchWidgetResultItemSelector:".js-result",searchWidgetInputFieldSelector:"input[type=search]",searchWidgetButtonFieldSelector:"button[type=submit]",searchWidgetUrlDataAttribute:"data-url",searchWidgetCollapseButtonSelector:".js-search-toggle-btn",searchWidgetCollapseClass:"collapsed",searchWidgetCloseButtonSelector:".js-search-close-btn",searchWidgetDelay:250,searchWidgetMinChars:3};
1init(){try{this._inputField=this.el.querySelector(this.options.searchWidgetInputFieldSelector),this._submitButton=this.el.querySelector(this.options.searchWidgetButtonFieldSelector),this._closeButton=this.el.querySelector(this.options.searchWidgetCloseButtonSelector),this._url=this.el.getAttribute(this.options.searchWidgetUrlDataAttribute)}catch(t){return}this._client=new n.A,this.searchSuggestLinks=[],this._registerEvents()}_registerEvents(){this._inputField.addEventListener("input",r.A.debounce(this._handleInputEvent.bind(this),this.options.searchWidgetDelay),{capture:!0,passive:!0}),this._inputField.addEventListener("keydown",this._handleKeyEvent.bind(this)),this.el.addEventListener("submit",this._handleSearchEvent.bind(this)),document.body.addEventListener("click",this._onBodyClick.bind(this)),this._registerInputFocus(),this._closeButton.addEventListener("click",this._onCloseButtonClick.bind(this))}_handleSearchEvent(t){this._inputField.value.trim().length<this.options.searchWidgetMinChars&&(t.preventDefault(),t.stopPropagation())}_handleInputEvent(){let t=this._inputField.value.trim();if(t.length<this.options.searchWidgetMinChars){this._clearSuggestResults();return}this._suggest(t),this.$emitter.publish("handleInputEvent",{value:t})}_handleKeyEvent(t){"ArrowDown"===t.key&&""!==this._inputField.value.trim()&&(t.preventDefault(),this.searchSuggestLinks&&this.searchSuggestLinks.length&&window.focusHandler.setFocus(this.searchSuggestLinks[0],{focusVisible:!0}))}_handleSearchItemKeyEvent(t,e){("ArrowDown"===e.key||"ArrowUp"===e.key)&&(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),"ArrowDown"===e.key&&this._moveFocusDown(t),"ArrowUp"===e.key&&this._moveFocusUp(t))}_moveFocusUp(t){if(0===t)window.focusHandler.setFocus(this._inputField,{focusVisible:!0});else{let e=this.searchSuggestLinks[t-1];window.focusHandler.setFocus(e,{focusVisible:!0})}}_moveFocusDown(t){if(t<this.searchSuggestLinks.length){let e=this.searchSuggestLinks[t+1];window.focusHandler.setFocus(e,{focusVisible:!0})}}_suggest(t){let e=this._url+encodeURIComponent(t),i=new a(this._submitButton);i.create(),this.$emitter.publish("beforeSearch"),fetch(e,{headers:{"X-Requested-With":"XMLHttpRequest"}}).then(t=>t.text()).then(t=>{this._clearSuggestResults(),i.remove(),this.el.querySelector(this.options.searchWidgetButtonFieldSelector).insertAdjacentHTML("afterend",t),this._inputField.setAttribute("aria-expanded","true");let e=document.querySelector(this.options.searchWidgetResultSelector);this.searchSuggestLinks=Array.from(window.focusHandler.getFocusableElements(e)),this.searchSuggestLinks.forEach((t,e)=>{t.addEventListener("keydown",this._handleSearchItemKeyEvent.bind(this,e))}),this.$emitter.publish("afterSuggest")}).catch(()=>{i.remove(),this._clearSuggestResults()})}_clearSuggestResults(){document.querySelectorAll(this.options.searchWidgetResultSelector).forEach(t=>t.remove()),this._inputField.setAttribute("aria-expanded","false"),this.$emitter.publish("clearSuggestResults")}_onBodyClick(t){t.target.closest(this.options.searchWidgetSelector)||t.target.closest(this.options.searchWidgetResultSelector)||(this._clearSuggestResults(),this.$emitter.publish("onBodyClick"))}_onCloseButtonClick(){this._inputField.value="",this._inputField.focus(),this._clearSuggestResults()}_registerInputFocus(){this._toggleButton=document.querySelector(this.options.searchWidgetCollapseButtonSelector),this._toggleButton&&this._toggleButton.addEventListener("click",this._focusInput.bind(this))}_focusInput(){this._toggleButton&&!this._toggleButton.classList.contains(this.options.searchWidgetCollapseClass)&&(this._toggleButton.blur(),this._inputField.focus()),this.$emitter.publish("focusInput")}}var u=i(795),c=i(632),h=i(154);class d extends l{_registerInputFocus(){if(this._toggleButtons=u.A.querySelectorAll(document,this.options.searchWidgetCollapseButtonSelector,!1),!this._toggleButtons){console.warn(`Called selector '${this.options.searchWidgetCollapseButtonSelector}' for the search toggle button not found. Autofocus has been disabled on mobile.`);return}let t=c.A.isTouchDevice()?"touchstart":"click";h.A.iterate(this._toggleButtons,e=>{e.addEventListener(t,()=>{setTimeout(()=>this._focusInputNew(e),0)})})}_focusInputNew(t){t&&!t.classList.contains(this.options.searchWidgetCollapseClass)&&(t.blur(),this._inputField.setAttribute("tabindex","-1"),this._inputField.focus()),this.$emitter.publish("focusInputNew")}}},59:(t,e,i)=>{i.d(e,{A:()=>s});class s{static debounce(t,e){let i,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var r=arguments.length,n=Array(r),o=0;o<r;o++)n[o]=arguments[o];s&&!i&&setTimeout(t.bind(t,...n),0),clearTimeout(i),i=setTimeout(t.bind(t,...n),e)}}}},632:(t,e,i)=>{i.d(e,{A:()=>s});class s{static isTouchDevice(){return"ontouchstart"in document.documentElement}static isIOSDevice(){return s.isIPhoneDevice()||s.isIPadDevice()}static isNativeWindowsBrowser(){return s.isIEBrowser()||s.isEdgeBrowser()}static isIPhoneDevice(){return!!navigator.userAgent.match(/iPhone/i)}static isIPadDevice(){return!!navigator.userAgent.match(/iPad/i)}static isIEBrowser(){return -1!==navigator.userAgent.toLowerCase().indexOf("msie")||!!navigator.userAgent.match(/Trident.*rv:\d+\./)}static isEdgeBrowser(){return!!navigator.userAgent.match(/Edge\/\d+/i)}static getList(){return{"is-touch":s.isTouchDevice(),"is-ios":s.isIOSDevice(),"is-native-windows":s.isNativeWindowsBrowser(),"is-iphone":s.isIPhoneDevice(),"is-ipad":s.isIPadDevice(),"is-ie"
1:s.isIEBrowser(),"is-edge":s.isEdgeBrowser()}}}},795:(t,e,i)=>{i.d(e,{A:()=>r});var s=i(707);class r{static isNode(t){return"object"==typeof t&&null!==t&&(t===document||t===window||t instanceof Node)}static hasAttribute(t,e){if(!r.isNode(t))throw Error("The element must be a valid HTML Node!");return"function"==typeof t.hasAttribute&&t.hasAttribute(e)}static getAttribute(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!1===r.hasAttribute(t,e))throw Error(`The required property "${e}" does not exist!`);if("function"!=typeof t.getAttribute){if(i)throw Error("This node doesn't support the getAttribute function!");return}return t.getAttribute(e)}static getDataAttribute(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],n=e.replace(/^data(|-)/,""),o=s.A.toLowerCamelCase(n,"-");if(!r.isNode(t)){if(i)throw Error("The passed node is not a valid HTML Node!");return}if(void 0===t.dataset){if(i)throw Error("This node doesn't support the dataset attribute!");return}let a=t.dataset[o];if(void 0===a){if(i)throw Error(`The required data attribute "${e}" does not exist on ${t}!`);return a}return s.A.parsePrimitive(a)}static querySelector(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!r.isNode(t))throw Error("The parent node is not a valid HTML Node!");let s=t.querySelector(e)||!1;if(i&&!1===s)throw Error(`The required element "${e}" does not exist in parent node!`);return s}static querySelectorAll(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!r.isNode(t))throw Error("The parent node is not a valid HTML Node!");let s=t.querySelectorAll(e);if(0===s.length&&(s=!1),i&&!1===s)throw Error(`At least one item of "${e}" must exist in parent node!`);return s}static getFocusableElements(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body,e=` 2 input:not([tabindex^="-"]):not([disabled]):not([type="hidden"]), 3 select:not([tabindex^="-"]):not([disabled]), 4 textarea:not([tabindex^="-"]):not([disabled]), 5 button:not([tabindex^="-"]):not([disabled]), 6 a[href]:not([tabindex^="-"]):not([disabled]), 7 [tabindex]:not([tabindex^="-"]):not([disabled]) 8 `;return t.querySelectorAll(e)}static getFirstFocusableElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body;return this.getFocusableElements(t)[0]}static getLastFocusableElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,e=this.getFocusableElements(t);return e[e.length-1]}}},308:(t,e,i)=>{i.d(e,{A:()=>s});class s{constructor(t=document){this._el=t,t.$emitter=this,this._listeners=[]}publish(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=new CustomEvent(t,{detail:e,cancelable:i});return this.el.dispatchEvent(s),s}subscribe(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=this,r=t.split("."),n=i.scope?e.bind(i.scope):e;if(i.once&&!0===i.once){let e=n;n=function(i){s.unsubscribe(t),e(i)}}return this.el.addEventListener(r[0],n),this.listeners.push({splitEventName:r,opts:i,cb:n}),!0}unsubscribe(t){let e=t.split(".");return this.listeners=this.listeners.reduce((t,i)=>([...i.splitEventName].sort().toString()===e.sort().toString()?this.el.removeEventListener(i.splitEventName[0],i.cb):t.push(i),t),[]),!0}reset(){return this.listeners.forEach(t=>{this.el.removeEventListener(t.splitEventName[0],t.cb)}),this.listeners=[],!0}get el(){return this._el}set el(t){this._el=t}get listeners(){return this._listeners}set listeners(t){this._listeners=t}}},154:(t,e,i)=>{i.d(e,{A:()=>s});class s{static iterate(t,e){if(t instanceof Map||Array.isArray(t))return t.forEach(e);if(t instanceof FormData){for(var i of t.entries())e(i[1],i[0]);return}if(t instanceof NodeList)return t.forEach(e);if(t instanceof HTMLCollection)return Array.from(t).forEach(e);if(t instanceof Object)return Object.keys(t).forEach(i=>{e(t[i],i)});throw Error(`The element type ${typeof t} is not iterable!`)}}}
8,707:(t,e,i)=>{i.d(e,{A:()=>s});class s{static ucFirst(t){return t.charAt(0).toUpperCase()+t.slice(1)}static lcFirst(t){return t.charAt(0).toLowerCase()+t.slice(1)}static toDashCase(t){return t.replace(/([A-Z])/g,"-$1").replace(/^-/,"").toLowerCase()}static toLowerCamelCase(t,e){let i=s.toUpperCamelCase(t,e);return s.lcFirst(i)}static toUpperCamelCase(t,e){return e?t.split(e).map(t=>s.ucFirst(t.toLowerCase())).join(""):s.ucFirst(t.toLowerCase())}static parsePrimitive(t){try{return/^\d+(.|,)\d+$/.test(t)&&(t=t.replace(",",".")),JSON.parse(t)}catch(e){return t.toString()}}}},220:(t,e,i)=>{i.d(e,{A:()=>a});var s=i(156),r=i.n(s),n=i(707),o=i(308);class a{constructor(t,e={},i=!1){if(!(t instanceof Node)){console.warn(`There is no valid element given while trying to create a plugin instance for "${i}".`);return}this.el=t,this.$emitter=new o.A(this.el),this._pluginName=this._getPluginName(i),this.options=this._mergeOptions(e),this._initialized=!1,this._registerInstance(),this._init()}init(){console.warn(`The "init" method for the plugin "${this._pluginName}" is not defined. The plugin will not be initialized.`)}update(){}_init(){this._initialized||(this.init(),this._initialized=!0)}_update(){this._initialized&&this.update()}_mergeOptions(t){let e=[this.constructor.options,this.options,t];return e.push(this._getConfigFromDataAttribute()),e.push(this._getOptionsFromDataAttribute()),r().all(e.filter(t=>t instanceof Object&&!(t instanceof Array)).map(t=>t||{}))}_getConfigFromDataAttribute(){let t={};if("function"!=typeof this.el.getAttribute)return t;let e=n.A.toDashCase(this._pluginName),i=this.el.getAttribute(`data-${e}-config`);return i?window.PluginConfigManager.get(this._pluginName,i):t}_getOptionsFromDataAttribute(){let t={};if("function"!=typeof this.el.getAttribute)return t;let e=n.A.toDashCase(this._pluginName),i=this.el.getAttribute(`data-${e}-options`);if(i)try{return JSON.parse(i)}catch(t){console.error(`The data attribute "data-${e}-options" could not be parsed to json: ${t.message}`)}return t}_registerInstance(){window.PluginManager.getPluginInstancesFromElement(this.el).set(this._pluginName,this),window.PluginManager.getPlugin(this._pluginName,!1).get("instances").push(this)}_getPluginName(t){return t||(t=this.constructor.name),t}}},68:(t,e,i)=>{i.d(e,{A:()=>s});class s{constructor(){this._request=null,this._errorHandlingInternal=!1}get(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/json",s=this._createPreparedRequest("GET",t,i);return this._sendRequest(s,null,e)}post(t,e,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";s=this._getContentType(e,s);let r=this._createPreparedRequest("POST",t,s);return this._sendRequest(r,e,i)}delete(t,e,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";s=this._getContentType(e,s);let r=this._createPreparedRequest("DELETE",t,s);return this._sendRequest(r,e,i)}patch(t,e,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";s=this._getContentType(e,s);let r=this._createPreparedRequest("PATCH",t,s);return this._sendRequest(r,e,i)}abort(){if(this._request)return this._request.abort()}setErrorHandlingInternal(t){this._errorHandlingInternal=t}_registerOnLoaded(t,e){e&&(!0===this._errorHandlingInternal?(t.addEventListener("load",()=>{e(t.responseText,t)}),t.addEventListener("abort",()=>{console.warn(`the request to ${t.responseURL} was aborted`)}),t.addEventListener("error",()=>{console.warn(`the request to ${t.responseURL} failed with status ${t.status}`)}),t.addEventListener("timeout",()=>{console.warn(`the request to ${t.responseURL} timed out`)})):t.addEventListener("loadend",()=>{e(t.responseText,t)}))}_sendRequest(t,e,i){return this._registerOnLoaded(t,i),t.send(e),t}_getContentType(t,e){return t instanceof FormData&&(e=!1),e}_createPreparedRequest(t,e,i){return this._request=new XMLHttpRequest,this._request.open(t,e),this._request.setRequestHeader("X-Requested-With","XMLHttpRequest"),i&&this._request.setRequestHeader("Content-type",i),this._request}}},683:(t,e,i)=>{i.d(e,{A:()=>n});let s="loader",r={BEFORE:"before",INNER:"inner"};class n{constructor(t,e=r.BEFORE){this.parent=t instanceof Element?t:document.body.querySelector(t),this.position=e}create(){if(!this.exists()){if(this.position===r.INNER){this._previousHTML=this.parent.innerHTML,this.parent.innerHTML=n.getTemplate();return}this.parent.insertAdjacentHTML(this._getPosition(),n.getTemplate())}}remove(){if(this.position===r.INNER){this.parent.innerHTML=this._previousHTML;return}this.parent.querySelectorAll(`.${s}`).forEach(t=>t.remove())}exists(){return this.parent.querySelectorAll(`.${s}`).length>0}_getPosition(){return this.position===r.BEFORE?"afterbegin":"beforeend"}static getTemplate(){return`<div class="${s}" role="status">
9 <span class="visually-hidden">Loading...</span> 10 </div>`}static SELECTOR_CLASS(){return s}}}}]);
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.