{"version":3,"sources":["../node_modules/govuk-frontend/govuk/all.js","../node_modules/govuk-frontend/govuk/components/accordion/accordion.js","../node_modules/lbh-frontend/lbh/components/lbh-accordion/accordion.js","../node_modules/underscore/modules/_setup.js","../node_modules/underscore/modules/restArguments.js","../node_modules/underscore/modules/isObject.js","../node_modules/underscore/modules/isNull.js","../node_modules/underscore/modules/isUndefined.js","../node_modules/underscore/modules/isBoolean.js","../node_modules/underscore/modules/isElement.js","../node_modules/underscore/modules/_tagTester.js","../node_modules/underscore/modules/isString.js","../node_modules/underscore/modules/isNumber.js","../node_modules/underscore/modules/isDate.js","../node_modules/underscore/modules/isRegExp.js","../node_modules/underscore/modules/isError.js","../node_modules/underscore/modules/isSymbol.js","../node_modules/underscore/modules/isArrayBuffer.js","../node_modules/underscore/modules/isFunction.js","../node_modules/underscore/modules/_hasObjectTag.js","../node_modules/underscore/modules/_stringTagBug.js","../node_modules/underscore/modules/isDataView.js","../node_modules/underscore/modules/isArray.js","../node_modules/underscore/modules/_has.js","../node_modules/underscore/modules/isArguments.js","../node_modules/underscore/modules/isFinite.js","../node_modules/underscore/modules/isNaN.js","../node_modules/underscore/modules/constant.js","../node_modules/underscore/modules/_createSizePropertyCheck.js","../node_modules/underscore/modules/_shallowProperty.js","../node_modules/underscore/modules/_getByteLength.js","../node_modules/underscore/modules/_isBufferLike.js","../node_modules/underscore/modules/isTypedArray.js","../node_modules/underscore/modules/_getLength.js","../node_modules/underscore/modules/_collectNonEnumProps.js","../node_modules/underscore/modules/keys.js","../node_modules/underscore/modules/isEmpty.js","../node_modules/underscore/modules/isMatch.js","../node_modules/underscore/modules/underscore.js","../node_modules/underscore/modules/_toBufferView.js","../node_modules/underscore/modules/isEqual.js","../node_modules/underscore/modules/allKeys.js","../node_modules/underscore/modules/_methodFingerprint.js","../node_modules/underscore/modules/isMap.js","../node_modules/underscore/modules/isWeakMap.js","../node_modules/underscore/modules/isSet.js","../node_modules/underscore/modules/isWeakSet.js","../node_modules/underscore/modules/values.js","../node_modules/underscore/modules/pairs.js","../node_modules/underscore/modules/invert.js","../node_modules/underscore/modules/functions.js","../node_modules/underscore/modules/_createAssigner.js","../node_modules/underscore/modules/extend.js","../node_modules/underscore/modules/extendOwn.js","../node_modules/underscore/modules/defaults.js","../node_modules/underscore/modules/_baseCreate.js","../node_modules/underscore/modules/create.js","../node_modules/underscore/modules/clone.js","../node_modules/underscore/modules/tap.js","../node_modules/underscore/modules/toPath.js","../node_modules/underscore/modules/_toPath.js","../node_modules/underscore/modules/_deepGet.js","../node_modules/underscore/modules/get.js","../node_modules/underscore/modules/has.js","../node_modules/underscore/modules/identity.js","../node_modules/underscore/modules/matcher.js","../node_modules/underscore/modules/property.js","../node_modules/underscore/modules/_optimizeCb.js","../node_modules/underscore/modules/_baseIteratee.js","../node_modules/underscore/modules/iteratee.js","../node_modules/underscore/modules/_cb.js","../node_modules/underscore/modules/mapObject.js","../node_modules/underscore/modules/noop.js","../node_modules/underscore/modules/propertyOf.js","../node_modules/underscore/modules/times.js","../node_modules/underscore/modules/random.js","../node_modules/underscore/modules/now.js","../node_modules/underscore/modules/_createEscaper.js","../node_modules/underscore/modules/_escapeMap.js","../node_modules/underscore/modules/escape.js","../node_modules/underscore/modules/_unescapeMap.js","../node_modules/underscore/modules/unescape.js","../node_modules/underscore/modules/templateSettings.js","../node_modules/underscore/modules/template.js","../node_modules/underscore/modules/result.js","../node_modules/underscore/modules/uniqueId.js","../node_modules/underscore/modules/chain.js","../node_modules/underscore/modules/_executeBound.js","../node_modules/underscore/modules/partial.js","../node_modules/underscore/modules/bind.js","../node_modules/underscore/modules/_isArrayLike.js","../node_modules/underscore/modules/_flatten.js","../node_modules/underscore/modules/bindAll.js","../node_modules/underscore/modules/memoize.js","../node_modules/underscore/modules/delay.js","../node_modules/underscore/modules/defer.js","../node_modules/underscore/modules/throttle.js","../node_modules/underscore/modules/debounce.js","../node_modules/underscore/modules/wrap.js","../node_modules/underscore/modules/negate.js","../node_modules/underscore/modules/compose.js","../node_modules/underscore/modules/after.js","../node_modules/underscore/modules/before.js","../node_modules/underscore/modules/once.js","../node_modules/underscore/modules/findKey.js","../node_modules/underscore/modules/_createPredicateIndexFinder.js","../node_modules/underscore/modules/findIndex.js","../node_modules/underscore/modules/findLastIndex.js","../node_modules/underscore/modules/sortedIndex.js","../node_modules/underscore/modules/_createIndexFinder.js","../node_modules/underscore/modules/indexOf.js","../node_modules/underscore/modules/lastIndexOf.js","../node_modules/underscore/modules/find.js","../node_modules/underscore/modules/findWhere.js","../node_modules/underscore/modules/each.js","../node_modules/underscore/modules/map.js","../node_modules/underscore/modules/_createReduce.js","../node_modules/underscore/modules/reduce.js","../node_modules/underscore/modules/reduceRight.js","../node_modules/underscore/modules/filter.js","../node_modules/underscore/modules/reject.js","../node_modules/underscore/modules/every.js","../node_modules/underscore/modules/some.js","../node_modules/underscore/modules/contains.js","../node_modules/underscore/modules/invoke.js","../node_modules/underscore/modules/pluck.js","../node_modules/underscore/modules/where.js","../node_modules/underscore/modules/max.js","../node_modules/underscore/modules/min.js","../node_modules/underscore/modules/sample.js","../node_modules/underscore/modules/shuffle.js","../node_modules/underscore/modules/sortBy.js","../node_modules/underscore/modules/_group.js","../node_modules/underscore/modules/groupBy.js","../node_modules/underscore/modules/indexBy.js","../node_modules/underscore/modules/countBy.js","../node_modules/underscore/modules/partition.js","../node_modules/underscore/modules/toArray.js","../node_modules/underscore/modules/size.js","../node_modules/underscore/modules/_keyInObj.js","../node_modules/underscore/modules/pick.js","../node_modules/underscore/modules/omit.js","../node_modules/underscore/modules/initial.js","../node_modules/underscore/modules/first.js","../node_modules/underscore/modules/rest.js","../node_modules/underscore/modules/last.js","../node_modules/underscore/modules/compact.js","../node_modules/underscore/modules/flatten.js","../node_modules/underscore/modules/difference.js","../node_modules/underscore/modules/without.js","../node_modules/underscore/modules/uniq.js","../node_modules/underscore/modules/union.js","../node_modules/underscore/modules/intersection.js","../node_modules/underscore/modules/unzip.js","../node_modules/underscore/modules/zip.js","../node_modules/underscore/modules/object.js","../node_modules/underscore/modules/range.js","../node_modules/underscore/modules/chunk.js","../node_modules/underscore/modules/_chainResult.js","../node_modules/underscore/modules/mixin.js","../node_modules/underscore/modules/underscore-array-methods.js","../node_modules/underscore/modules/index.js","../node_modules/underscore/modules/index-default.js","../node_modules/underscore/modules/index-all.js","../node_modules/lbh-frontend/lbh/components/lbh-back-to-top/back-to-top.js","../node_modules/govuk-frontend/govuk/components/button/button.js","../node_modules/lbh-frontend/lbh/components/lbh-button/button.js","../node_modules/govuk-frontend/govuk/components/character-count/character-count.js","../node_modules/lbh-frontend/lbh/components/lbh-character-count/character-count.js","../node_modules/govuk-frontend/govuk/components/checkboxes/checkboxes.js","../node_modules/lbh-frontend/lbh/components/lbh-checkboxes/checkboxes.js","../node_modules/lbh-frontend/lbh/components/lbh-cookie-banner/cookie-banner.js","../node_modules/govuk-frontend/govuk/components/details/details.js","../node_modules/lbh-frontend/lbh/components/lbh-details/details.js","../node_modules/govuk-frontend/govuk/components/error-summary/error-summary.js","../node_modules/lbh-frontend/lbh/components/lbh-error-summary/error-summary.js","../node_modules/lbh-frontend/lbh/components/lbh-contact-block/contact-block.js","../node_modules/govuk-frontend/govuk/components/radios/radios.js","../node_modules/lbh-frontend/lbh/components/lbh-radios/radios.js","../node_modules/govuk-frontend/govuk/components/tabs/tabs.js","../node_modules/lbh-frontend/lbh/components/lbh-tabs/tabs.js","../node_modules/lbh-frontend/lbh/components/lbh-collapsible/collapsible.js","../node_modules/lbh-frontend/lbh/all.js","../node_modules/@fortawesome/fontawesome-svg-core/index.es.js","../node_modules/regenerator-runtime/runtime.js","../../../../Users/Administrator/AppData/Roaming/npm/node_modules/parcel-bundler/node_modules/process/browser.js","../../../../Users/Administrator/AppData/Roaming/npm/node_modules/parcel-bundler/node_modules/path-browserify/index.js","../node_modules/dotenv/lib/main.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/axios.js","../node_modules/axios/index.js","index.js"],"names":["global","factory","exports","module","define","amd","GOVUKFrontend","nodeListForEach","nodes","callback","window","NodeList","prototype","forEach","i","length","call","generateUniqueID","d","Date","getTime","performance","now","replace","c","r","Math","random","floor","toString","undefined","detect","Object","a","defineProperty","value","e","nativeDefineProperty","supportsAccessors","hasOwnProperty","ERR_ACCESSORS_NOT_SUPPORTED","ERR_VALUE_ACCESSORS","object","property","descriptor","document","Element","TypeError","propertyString","String","hasValueOrWritable","getterType","get","setterType","set","__defineGetter__","__defineSetter__","self","Function","bind","that","$Array","Array","$Object","ObjectPrototype","ArrayPrototype","Empty","to_string","hasToStringTag","Symbol","toStringTag","isCallable","fnToStr","tryFunctionObject","fnClass","genClass","strClass","array_slice","slice","array_concat","concat","array_push","push","max","target","args","arguments","bound","binder","result","apply","boundLength","boundArgs","join","x","classList","toggle","className","createElement","nativeImpl","DOMTokenList","createElementNS","dpSupport","defineGetter","name","fn","configurable","_DOMTokenList","el","prop","tokens","tokenMap","maxLength","addIndexGetter","preop","reindex","error","rSpace","test","SyntaxError","code","baseVal","split","toLocaleString","item","idx","contains","token","add","l","remove","ignore","t","force","constructor","native","WorkerGlobalScope","importScripts","HTMLDocument","Document","HTMLElement","vbody","appendChild","frame","frameDocument","contentWindow","cache","shiv","element","deep","childNodes","index","key","childNode","nodeType","elements","getElementsByTagName","nativeCreateElement","interval","loopLimit","attachEvent","event","propertyName","nonValue","newValue","oldValue","hasAttribute","getAttribute","bodyCheck","clearTimeout","body","readyState","onreadystatechange","setInterval","nodeName","toLowerCase","removeChild","documentElement","addProp","o","attr","tokenList","THIS","gibberishProperty","visage","mirror","reflections","_R","HTMLLinkElement","HTMLAnchorElement","HTMLAreaElement","Accordion","$module","moduleId","$sections","querySelectorAll","$openAllButton","browserSupportsSessionStorage","helper","checkForSessionStorage","controlsClass","openAllClass","iconClass","sectionHeaderClass","sectionHeaderFocusedClass","sectionHeadingClass","sectionSummaryClass","sectionButtonClass","sectionExpandedClass","init","initControls","initSectionHeaders","areAllSectionsOpen","checkIfAllSectionsOpen","updateOpenAllButton","setAttribute","innerHTML","accordionControls","insertBefore","firstChild","addEventListener","onOpenOrCloseAllToggle","$section","header","querySelector","initHeaderAttributes","setExpanded","isExpanded","onSectionToggle","setInitialState","$headerWrapper","$span","$heading","$summary","$button","attributes","nodeValue","icon","expanded","storeState","nowExpanded","sectionsCount","expandedSectionCount","newButtonText","testString","sessionStorage","setItem","getItem","removeItem","exception","console","log","contentId","contentState","Error","Window","Event","unlistenableWindowEvents","click","dblclick","keyup","keypress","keydown","mousedown","mouseup","mousemove","mouseover","mouseenter","mouseleave","mouseout","storage","storagecommit","textinput","indexOf","array","existingProto","type","eventInitDict","createEvent","bubbles","cancelable","initEvent","createEventObject","enumerable","writable","listener","_events","list","events","eventElement","preventDefault","returnValue","stopPropagation","cancelBubble","stopImmediatePropagation","cancelImmediate","currentTarget","relatedTarget","fromElement","srcElement","timeStamp","clientX","pageX","scrollLeft","pageY","clientY","scrollTop","removeEventListener","splice","detachEvent","dispatchEvent","cancelBubbleEvent","fireEvent","parentWindow","parentNode","KEY_SPACE","DEBOUNCE_TIMEOUT_IN_SECONDS","Button","debounceFormSubmitTimer","handleKeyDown","keyCode","debounce","setTimeout","KEY_ENTER","KEY_SPACE$1","Details","hasNativeDetails","open","polyfillDetails","$content","id","tabIndex","openAttr","style","display","polyfillHandleInputs","polyfillSetAttributes","hidden","hasOpenAttr","removeAttribute","node","CharacterCount","$textarea","$countMessage","defaults","characterCountAttribute","wordCountAttribute","insertAdjacentElement","options","getDataset","countAttribute","maxwords","sync","bindChangeEvents","updateCountMessage","dataset","attribute","match","count","text","checkIfValueChanged","handleFocus","handleBlur","countElement","countMessage","currentLength","remainingNumber","thresholdPercent","threshold","thresholdValue","charVerb","charNoun","displayNumber","abs","valueChecker","clearInterval","Checkboxes","$inputs","$input","syncAllConditionalReveals","handleClick","syncConditionalRevealWithInputState","$target","inputIsChecked","checked","unCheckAllInputsExcept","allInputsWithSameName","$inputWithSameName","hasSameFormOwner","form","unCheckExclusiveInputs","allInputsWithSameNameAndExclusiveBehaviour","$exclusiveInput","hasAriaControls","hasBehaviourExclusive","matches","webkitMatchesSelector","oMatchesSelector","msMatchesSelector","mozMatchesSelector","selector","ownerDocument","closest","SVGElement","parentElement","ErrorSummary","focus","focusTarget","tagName","href","inputId","getFragmentFromUrl","getElementById","$legendOrLabel","getAssociatedLegendOrLabel","scrollIntoView","preventScroll","url","pop","$fieldset","legends","$candidateLegend","legendTop","getBoundingClientRect","top","inputRect","height","innerHeight","inputBottom","NotificationBanner","setFocus","Header","$menuButton","$menu","syncState","handleMenuButtonClick","isVisible","Radios","$clickedInput","$allInputs","hasSameName","nextSibling","previousSibling","Tabs","$tabs","keys","left","right","up","down","jsHiddenClass","matchMedia","setupResponsiveChecks","setup","mql","addListener","checkMode","teardown","$tabList","$tabListItems","$item","$tab","setAttributes","boundTabClick","onTabClick","boundTabKeydown","onTabKeydown","hideTab","$activeTab","getTab","location","hash","showTab","boundOnHashChange","onHashChange","unsetAttributes","$tabWithHash","changingHash","$previousTab","getCurrentTab","unhighlightTab","hidePanel","highlightTab","showPanel","panelId","getHref","$panel","getPanel","$newTab","$currentTab","createHistoryEntry","activatePreviousTab","activateNextTab","currentTab","nextTabListItem","nextElementSibling","nextTab","previousTabListItem","previousElementSibling","previousTab","tab","initAll","scope","$buttons","$accordions","$accordion","$details","$detail","$characterCounts","$characterCount","$checkboxes","$checkbox","$errorSummary","$toggleButton","$notificationBanners","$notificationBanner","$radios","$radio","VERSION","root","ArrayProto","ObjProto","SymbolProto","supportsArrayBuffer","ArrayBuffer","supportsDataView","DataView","nativeIsArray","isArray","nativeKeys","nativeCreate","create","nativeIsView","isView","_isNaN","isNaN","_isFinite","isFinite","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","MAX_ARRAY_INDEX","pow","restArguments","func","startIndex","rest","isObject","obj","isNull","isUndefined","isBoolean","isElement","tagTester","tag","isFunction","nodelist","Int8Array","hasStringTagBug","isIE11","Map","isDataView","ie10IsDataView","getInt8","buffer","has","isArguments","parseFloat","constant","createSizePropertyCheck","getSizeProperty","collection","sizeProperty","shallowProperty","getByteLength","typedArrayPattern","isTypedArray","emulatedSet","collectNonEnumProps","nonEnumIdx","proto","isEmpty","isMatch","attrs","_keys","_","_wrapped","valueOf","toJSON","toBufferView","bufferSource","Uint8Array","byteOffset","tagDataView","eq","b","aStack","bStack","deepEq","areArrays","byteLength","aCtor","bCtor","isEqual","allKeys","ie11fingerprint","methods","weakMapMethods","forEachName","hasName","commonInit","mapTail","mapMethods","setMethods","values","pairs","invert","functions","names","sort","createAssigner","keysFunc","source","ctor","baseCreate","Ctor","props","clone","tap","interceptor","toPath","path","deepGet","defaultValue","identity","matcher","optimizeCb","context","argCount","accumulator","baseIteratee","iteratee","Infinity","cb","mapObject","results","currentKey","noop","propertyOf","times","n","accum","min","createEscaper","map","escaper","testRegexp","RegExp","replaceRegexp","string","escapeMap","unescapeMap","templateSettings","evaluate","interpolate","escape","noMatch","escapes","escapeRegExp","escapeChar","bareIdentifier","template","settings","oldSettings","offset","argument","variable","render","data","fallback","idCounter","uniqueId","prefix","chain","instance","_chain","executeBound","sourceFunc","boundFunc","callingContext","partial","placeholder","position","callArgs","getLength","flatten","input","depth","strict","output","j","len","memoize","hasher","address","wait","delay","throttle","timeout","previous","later","leading","throttled","_now","remaining","trailing","cancel","immediate","passed","debounced","_args","wrap","wrapper","negate","predicate","compose","start","after","before","memo","findKey","createPredicateIndexFinder","dir","sortedIndex","low","high","mid","createIndexFinder","predicateFind","findIndex","findLastIndex","find","keyFinder","findWhere","each","createReduce","reducer","initial","filter","reject","every","some","fromIndex","guard","contextPath","method","pluck","where","lastComputed","computed","v","sample","last","rand","temp","shuffle","sortBy","criteria","group","behavior","partition","pass","reStrSymbol","toArray","size","keyInObj","first","compact","Boolean","otherArrays","uniq","isSorted","seen","arrays","intersection","argsLength","unzip","range","stop","step","ceil","chunk","chainResult","mixin","allExports","BackToTop","checkScrollPosition","windowHeight","showHeight","scrollPos","scrollY","backToTop","COOKIE_NAME","DROP_COOKIE","dropCookie","CookieBanner","checkCookies","nameEQ","ca","cookie","charAt","substring","showCookieBanner","bindAcceptButton","_module","date","setTime","expires","toGMTString","seenCookie","L","control","tileLayer","marker","accessToken","markerLat","markerLng","centreLat","centreLng","maxZoom","minZoom","initialZoom","showZoomControl","minLat","minLng","maxLat","maxLng","initLeaflet","zoomControl","center","zoom","addTo","setBounds","setMaxBounds","initMapboxTiles","osmStreet","fadeAnimation","opacity","attribution","addLayer","addMarker","mapIcon","iconUrl","iconSize","iconAnchor","Collapsible","handleToggle","button","content","GovukFrontend","$cookieBanner","$maps","$map","$backToTop","$collapsibles","$collapsible","_typeof","iterator","_classCallCheck","Constructor","_defineProperties","_createClass","protoProps","staticProps","_defineProperty","_objectSpread","ownKeys","getOwnPropertySymbols","sym","getOwnPropertyDescriptor","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arr2","iter","from","_arr","_n","_d","_e","_i","_s","next","done","err","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","MutationObserver","_ref","navigator","_ref$userAgent","userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_BROWSER","IS_DOM","head","IS_IE","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_FAMILY_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_FA_PSEUDO_ELEMENT_PENDING","DATA_PREFIX","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","MUTATION_APPROACH_ASYNC","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","PREFIX_TO_STYLE","STYLE_TO_PREFIX","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","oneToTen","oneToTwenty","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","RESERVED_CLASSES","FontAwesomeConfig","getAttrConfig","coerce","val","_ref2","_default","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","_config","config","w","styles","hooks","shims","namespace","loaded","doScroll","domready","PENDING","SETTLED","FULFILLED","REJECTED","NOOP","isNode","process","emit","asyncSetTimer","setImmediate","asyncQueue","asyncTimer","asyncFlush","asyncCall","arg","invokeResolver","resolver","promise","resolvePromise","resolve","rejectPromise","reason","invokeCallback","subscriber","owner","settled","_state","_data","then","handleThenable","resolved","fulfill","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","P","onFulfillment","onRejection","fulfilled","rejected","catch","_catch","all","promises","race","picked","Promise","meaninglessTransform","y","rotate","flipX","flipY","isReserved","insertCss","css","headChildren","beforeChild","child","toUpperCase","idPool","nextUniqueId","classArray","getIconName","cls","parts","iconName","htmlEscape","str","joinAttributes","reduce","acc","attributeName","trim","joinStyles","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","transformForCss","_ref2$width","width","_ref2$height","_ref2$startCentered","startCentered","ALL_SPACE","fillBlack","abstract","fill","deGroup","children","makeIconMasking","main","mask","explicitMaskId","maskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconStandard","styleString","asIcon","found","asSymbol","symbol","makeInlineSvgAbstract","params","_params$icons","icons","title","titleId","extra","_params$watchable","watchable","isUploadedIcon","widthClass","attrClass","classes","role","uploadedIconWidthStyle","makeLayersTextAbstract","_params$watchable2","class","makeLayersCounterAbstract","noop$1","p","preamble","begin","end","perf","bindInternal4","thisContext","fastReduceObject","subject","initialValue","toHex","unicode","hex","charCodeAt","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","_byUnicode","_byLigature","_byOldName","build","lookup","ligatures","ligature","hasRegular","shim","oldName","byUnicode","byLigature","byOldName","styles$1","emptyCanonicalIcon","getCanonicalIcon","autoFetchSvg","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","noop$2","isWatched","i2svg","getMutator","mutators","mutator","mutation","newOuterHTML","outerHTML","newNode","replaceChild","nest","forSvg","splitClasses","toSvg","toNode","newInnerHTML","performOperationSync","op","perform","mutations","callbackFunction","requestAnimationFrame","disabled","disableObservation","enableObservation","mo","observe","treeCallback","nodeCallback","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","objects","mutationRecord","addedNodes","_getCanonicalIcon","childList","characterData","subtree","disconnect","styleParser","classParser","existingPrefix","existingIconName","innerText","parseTransformString","transformString","transformParser","symbolParser","attributesParser","extraAttributes","maskParser","blankMeta","parseMeta","_classParser","extraClasses","extraStyles","MissingIcon","message","stack","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","RING","OPACITY_ANIMATE","DOT","cx","cy","QUESTION","EXCLAMATION","missing","styles$2","asFoundIcon","_icon$slice","_icon$slice2","vectorData","findIcon","styles$3","generateSvgReplacementMutation","nodeMeta","generateLayersText","computedFontSize","parseInt","getComputedStyle","fontSize","boundingClientRect","generateMutation","onTree","htmlClassList","hclAdd","suffix","hclRemove","prefixes","prefixesDomQuery","candidates","resolvedMutations","onNode","replaceForPosition","pendingAttribute","alreadyProcessedPseudoElement","fontFamily","getPropertyValue","fontWeight","_content","hexValue","substr","iconIdentifier","meta","processable","operations","baseStyles","dfp","drc","fp","rc","s","dPatt","customPropPatt","rPatt","Library","definitions","_this","_len","_key","additions","_pullDefinitions","reset","definition","_normalized$key","ensureCss","_cssInserted","apiObject","abstractCreator","container","html","findIconDefinition","iconLookup","_iconLookup$prefix","library","resolveIcons","maybeIconDefinition","iconDefinition","noAuto","dom","_params$node","_params$callback","insertCss$$1","watch","autoReplaceSvgRoot","autoReplace","parse","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","_params$transform2","_params$title2","_params$classes2","_params$attributes2","_params$styles2","counter","_params$title3","_params$classes3","_params$attributes3","_params$styles3","layer","assembler","_params$classes4","api","_params$autoReplaceSv","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","queue","draining","currentQueue","queueIndex","cleanUpNextTick","drainQueue","run","nextTick","Item","env","argv","version","versions","on","once","off","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","fs","require","NEWLINE","RE_INI_KEY_VAL","RE_NEWLINES","NEWLINES_MATCH","src","debug","line","keyValueArr","isDoubleQuoted","isSingleQuoted","dotenvPath","encoding","parsed","readFileSync","regeneratorRuntime","dotenv","axios","default","onclick","scrollBy","postcode","GetAddressesViaProxy","block","address_input","postcode_regex","isPostcode","APIQueryString","fetch","response","json","errors","pageCount","replaceWith","cloneNode","commercialOccupier","UPRN","singleLineAddress","usageDescription","ward","pgindex","loadAddressAPIPageViaProxy","selectedAddressDetails","selectedUPRN","loadRegisterInfo","pg","full_address","res","numberReturned","features","properties","textSection","premises_name","premises_full_address","licence_number","licence_holder_1_full_line","licence_holder_2_full_line","licence_holder_3_full_line","designated_premises_supervisor","date_granted","licence_expiry_date","licence_status","playstime1","playstime2","playstime3","playslocation1","playslocation2","filmstime1","filmstime2","filmstime3","filmslocation1","filmslocation2","filmslocation3","indoortime1","indoortime2","indoortime3","sportslocation1","sportslocation2","sportslocation3","boxingtime1","boxingtime2","boxingtime3","boxinglocation1","boxinglocation2","livemusictime2","boxinglocation3","livemusictime1","livemusictime3","livemusiclocation1","livemusiclocation2","livemusiclocation3","recordemusictime1","recordemusictime2","recordemusictime3","recordedlocation1","recordedlocation2","recordedlocation3","dancetime1","dancetime2","dancetime3","perf_dance_location1","perf_dance_location2","perf_dance_location3","other_enter_time1","other_enter_time2","other_enter_time3","other_enter_location1","other_enter_location2","other_enter_location3","latenighttime1","latenighttime2","latenighttime3","latenightlocation1","latenightlocation2","latenightlocation3","alcoholtimes1","alcoholtimes2","alcoholtimes3","alcoholsaletype","alcohollocation1","alcohollocation2","alcohollocation3","openinghourstimes1","openinghourstimes2","openinghourstimes3","mandatoryConditionsText","mandatory_cond_alcohol_supply","mandatory_cond_film_exhibition","mandatory_cond_door_supervision","annex2ConditionsText","opening_schedule","responsible_authority","annex3ConditionsText","committee_hearing","accordion"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBf;;AACA;;AASA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAOA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAMA;;AAEA;;AAEA;;AAGA;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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AClvBA;AACA,IAAI5U,OAAO,GAAGj9B,MAAM,CAACD,OAAP,GAAiB,EAA/B,EAEA;AACA;AACA;AACA;;AAEA,IAAIyzC,gBAAJ;AACA,IAAIC,kBAAJ;;AAEA,SAASC,gBAAT,GAA4B;AACxB,QAAM,IAAI/jC,KAAJ,CAAU,iCAAV,CAAN;AACH;;AACD,SAASgkC,mBAAT,GAAgC;AAC5B,QAAM,IAAIhkC,KAAJ,CAAU,mCAAV,CAAN;AACH;;AACA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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7SA;;;;;;;;;;;;;;;;;;;;;AAsBA,IAAMC,EAAE,GAAGC,OAAO,CAAC,IAAD,CAAlB;;AACA,IAAMruB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zB,QAAAA,OAAO,CAACuX,GAAR,CAAYnrC,GAAZ,IAAmBitC,MAAM,CAACjtC,GAAD,CAAzB;AACD,OAFD,MAEO,IAAI0sC,KAAJ,EAAW;AAChBvmC,QAAAA,GAAG,aAAKnG,GAAL,wEAAH;AACD;AACF,KAND;AAQA,WAAO;AAAEitC,MAAAA,MAAM,EAANA;AAAF,KAAP;AACD,GAbD,CAaE,OAAOr0C,CAAP,EAAU;AACV,WAAO;AAAEgF,MAAAA,KAAK,EAAEhF;AAAT,KAAP;AACD;AACF;;AAEDjC,MAAM,CAACD,OAAP,CAAem8B,MAAf,GAAwBA,MAAxB;AACAl8B,MAAM,CAACD,OAAP,CAAegyC,KAAf,GAAuBA,KAAvB;;AChHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxDA;;;;ACAA;;AACA;;AACA;;AACA;;AAEA;AACA,IAAMyE,kBAAkB,GAAGf,OAAO,CAAC,qBAAD,CAAlC;;AACA,IAAMgB,MAAM,GAAGhB,OAAO,CAAC,QAAD,CAAP,CAAkBvZ,MAAlB,EAAf;;A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","file":"src.c40f7a88.js","sourceRoot":"..\\src","sourcesContent":["(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define('GOVUKFrontend', ['exports'], factory) :\n\t(factory((global.GOVUKFrontend = {})));\n}(this, (function (exports) { 'use strict';\n\n/**\n * TODO: Ideally this would be a NodeList.prototype.forEach polyfill\n * This seems to fail in IE8, requires more investigation.\n * See: https://github.com/imagitama/nodelist-foreach-polyfill\n */\nfunction nodeListForEach (nodes, callback) {\n if (window.NodeList.prototype.forEach) {\n return nodes.forEach(callback)\n }\n for (var i = 0; i < nodes.length; i++) {\n callback.call(window, nodes[i], i, nodes);\n }\n}\n\n// Used to generate a unique string, allows multiple instances of the component without\n// Them conflicting with each other.\n// https://stackoverflow.com/a/8809472\nfunction generateUniqueID () {\n var d = new Date().getTime();\n if (typeof window.performance !== 'undefined' && typeof window.performance.now === 'function') {\n d += window.performance.now(); // use high-precision timer if available\n }\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16)\n })\n}\n\n(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Object/defineProperty/detect.js\nvar detect = (\n // In IE8, defineProperty could only act on DOM elements, so full support\n // for the feature requires the ability to set a property on an arbitrary object\n 'defineProperty' in Object && (function() {\n \ttry {\n \t\tvar a = {};\n \t\tObject.defineProperty(a, 'test', {value:42});\n \t\treturn true;\n \t} catch(e) {\n \t\treturn false\n \t}\n }())\n);\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Object.defineProperty&flags=always\n(function (nativeDefineProperty) {\n\n\tvar supportsAccessors = Object.prototype.hasOwnProperty('__defineGetter__');\n\tvar ERR_ACCESSORS_NOT_SUPPORTED = 'Getters & setters cannot be defined on this javascript engine';\n\tvar ERR_VALUE_ACCESSORS = 'A property cannot both have accessors and be writable or have a value';\n\n\tObject.defineProperty = function defineProperty(object, property, descriptor) {\n\n\t\t// Where native support exists, assume it\n\t\tif (nativeDefineProperty && (object === window || object === document || object === Element.prototype || object instanceof Element)) {\n\t\t\treturn nativeDefineProperty(object, property, descriptor);\n\t\t}\n\n\t\tif (object === null || !(object instanceof Object || typeof object === 'object')) {\n\t\t\tthrow new TypeError('Object.defineProperty called on non-object');\n\t\t}\n\n\t\tif (!(descriptor instanceof Object)) {\n\t\t\tthrow new TypeError('Property description must be an object');\n\t\t}\n\n\t\tvar propertyString = String(property);\n\t\tvar hasValueOrWritable = 'value' in descriptor || 'writable' in descriptor;\n\t\tvar getterType = 'get' in descriptor && typeof descriptor.get;\n\t\tvar setterType = 'set' in descriptor && typeof descriptor.set;\n\n\t\t// handle descriptor.get\n\t\tif (getterType) {\n\t\t\tif (getterType !== 'function') {\n\t\t\t\tthrow new TypeError('Getter must be a function');\n\t\t\t}\n\t\t\tif (!supportsAccessors) {\n\t\t\t\tthrow new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);\n\t\t\t}\n\t\t\tif (hasValueOrWritable) {\n\t\t\t\tthrow new TypeError(ERR_VALUE_ACCESSORS);\n\t\t\t}\n\t\t\tObject.__defineGetter__.call(object, propertyString, descriptor.get);\n\t\t} else {\n\t\t\tobject[propertyString] = descriptor.value;\n\t\t}\n\n\t\t// handle descriptor.set\n\t\tif (setterType) {\n\t\t\tif (setterType !== 'function') {\n\t\t\t\tthrow new TypeError('Setter must be a function');\n\t\t\t}\n\t\t\tif (!supportsAccessors) {\n\t\t\t\tthrow new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);\n\t\t\t}\n\t\t\tif (hasValueOrWritable) {\n\t\t\t\tthrow new TypeError(ERR_VALUE_ACCESSORS);\n\t\t\t}\n\t\t\tObject.__defineSetter__.call(object, propertyString, descriptor.set);\n\t\t}\n\n\t\t// OK to define value unconditionally - if a getter has been specified as well, an error would be thrown above\n\t\tif ('value' in descriptor) {\n\t\t\tobject[propertyString] = descriptor.value;\n\t\t}\n\n\t\treturn object;\n\t};\n}(Object.defineProperty));\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n\n(function(undefined) {\n // Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Function/prototype/bind/detect.js\n var detect = 'bind' in Function.prototype;\n\n if (detect) return\n\n // Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Function.prototype.bind&flags=always\n Object.defineProperty(Function.prototype, 'bind', {\n value: function bind(that) { // .length is 1\n // add necessary es5-shim utilities\n var $Array = Array;\n var $Object = Object;\n var ObjectPrototype = $Object.prototype;\n var ArrayPrototype = $Array.prototype;\n var Empty = function Empty() {};\n var to_string = ObjectPrototype.toString;\n var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n var isCallable; /* inlined from https://npmjs.com/is-callable */ var fnToStr = Function.prototype.toString, tryFunctionObject = function tryFunctionObject(value) { try { fnToStr.call(value); return true; } catch (e) { return false; } }, fnClass = '[object Function]', genClass = '[object GeneratorFunction]'; isCallable = function isCallable(value) { if (typeof value !== 'function') { return false; } if (hasToStringTag) { return tryFunctionObject(value); } var strClass = to_string.call(value); return strClass === fnClass || strClass === genClass; };\n var array_slice = ArrayPrototype.slice;\n var array_concat = ArrayPrototype.concat;\n var array_push = ArrayPrototype.push;\n var max = Math.max;\n // /add necessary es5-shim utilities\n\n // 1. Let Target be the this value.\n var target = this;\n // 2. If IsCallable(Target) is false, throw a TypeError exception.\n if (!isCallable(target)) {\n throw new TypeError('Function.prototype.bind called on incompatible ' + target);\n }\n // 3. Let A be a new (possibly empty) internal list of all of the\n // argument values provided after thisArg (arg1, arg2 etc), in order.\n // XXX slicedArgs will stand in for \"A\" if used\n var args = array_slice.call(arguments, 1); // for normal call\n // 4. Let F be a new native ECMAScript object.\n // 11. Set the [[Prototype]] internal property of F to the standard\n // built-in Function prototype object as specified in 15.3.3.1.\n // 12. Set the [[Call]] internal property of F as described in\n // 15.3.4.5.1.\n // 13. Set the [[Construct]] internal property of F as described in\n // 15.3.4.5.2.\n // 14. Set the [[HasInstance]] internal property of F as described in\n // 15.3.4.5.3.\n var bound;\n var binder = function () {\n\n if (this instanceof bound) {\n // 15.3.4.5.2 [[Construct]]\n // When the [[Construct]] internal method of a function object,\n // F that was created using the bind function is called with a\n // list of arguments ExtraArgs, the following steps are taken:\n // 1. Let target be the value of F's [[TargetFunction]]\n // internal property.\n // 2. If target has no [[Construct]] internal method, a\n // TypeError exception is thrown.\n // 3. Let boundArgs be the value of F's [[BoundArgs]] internal\n // property.\n // 4. Let args be a new list containing the same values as the\n // list boundArgs in the same order followed by the same\n // values as the list ExtraArgs in the same order.\n // 5. Return the result of calling the [[Construct]] internal\n // method of target providing args as the arguments.\n\n var result = target.apply(\n this,\n array_concat.call(args, array_slice.call(arguments))\n );\n if ($Object(result) === result) {\n return result;\n }\n return this;\n\n } else {\n // 15.3.4.5.1 [[Call]]\n // When the [[Call]] internal method of a function object, F,\n // which was created using the bind function is called with a\n // this value and a list of arguments ExtraArgs, the following\n // steps are taken:\n // 1. Let boundArgs be the value of F's [[BoundArgs]] internal\n // property.\n // 2. Let boundThis be the value of F's [[BoundThis]] internal\n // property.\n // 3. Let target be the value of F's [[TargetFunction]] internal\n // property.\n // 4. Let args be a new list containing the same values as the\n // list boundArgs in the same order followed by the same\n // values as the list ExtraArgs in the same order.\n // 5. Return the result of calling the [[Call]] internal method\n // of target providing boundThis as the this value and\n // providing args as the arguments.\n\n // equiv: target.call(this, ...boundArgs, ...args)\n return target.apply(\n that,\n array_concat.call(args, array_slice.call(arguments))\n );\n\n }\n\n };\n\n // 15. If the [[Class]] internal property of Target is \"Function\", then\n // a. Let L be the length property of Target minus the length of A.\n // b. Set the length own property of F to either 0 or L, whichever is\n // larger.\n // 16. Else set the length own property of F to 0.\n\n var boundLength = max(0, target.length - args.length);\n\n // 17. Set the attributes of the length own property of F to the values\n // specified in 15.3.5.1.\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n array_push.call(boundArgs, '$' + i);\n }\n\n // XXX Build a dynamic function with desired amount of arguments is the only\n // way to set the length property of a function.\n // In environments where Content Security Policies enabled (Chrome extensions,\n // for ex.) all use of eval or Function costructor throws an exception.\n // However in all of these environments Function.prototype.bind exists\n // and so this code will never be executed.\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this, arguments); }')(binder);\n\n if (target.prototype) {\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n // Clean up dangling references.\n Empty.prototype = null;\n }\n\n // TODO\n // 18. Set the [[Extensible]] internal property of F to true.\n\n // TODO\n // 19. Let thrower be the [[ThrowTypeError]] function Object (13.2.3).\n // 20. Call the [[DefineOwnProperty]] internal method of F with\n // arguments \"caller\", PropertyDescriptor {[[Get]]: thrower, [[Set]]:\n // thrower, [[Enumerable]]: false, [[Configurable]]: false}, and\n // false.\n // 21. Call the [[DefineOwnProperty]] internal method of F with\n // arguments \"arguments\", PropertyDescriptor {[[Get]]: thrower,\n // [[Set]]: thrower, [[Enumerable]]: false, [[Configurable]]: false},\n // and false.\n\n // TODO\n // NOTE Function objects created using Function.prototype.bind do not\n // have a prototype property or the [[Code]], [[FormalParameters]], and\n // [[Scope]] internal properties.\n // XXX can't delete prototype in pure-js.\n\n // 22. Return F.\n return bound;\n }\n });\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n\n(function(undefined) {\n\n // Detection from https://raw.githubusercontent.com/Financial-Times/polyfill-service/master/packages/polyfill-library/polyfills/DOMTokenList/detect.js\n var detect = (\n 'DOMTokenList' in this && (function (x) {\n return 'classList' in x ? !x.classList.toggle('x', false) && !x.className : true;\n })(document.createElement('x'))\n );\n\n if (detect) return\n\n // Polyfill from https://raw.githubusercontent.com/Financial-Times/polyfill-service/master/packages/polyfill-library/polyfills/DOMTokenList/polyfill.js\n (function (global) {\n var nativeImpl = \"DOMTokenList\" in global && global.DOMTokenList;\n\n if (\n !nativeImpl ||\n (\n !!document.createElementNS &&\n !!document.createElementNS('http://www.w3.org/2000/svg', 'svg') &&\n !(document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").classList instanceof DOMTokenList)\n )\n ) {\n global.DOMTokenList = (function() { // eslint-disable-line no-unused-vars\n var dpSupport = true;\n var defineGetter = function (object, name, fn, configurable) {\n if (Object.defineProperty)\n Object.defineProperty(object, name, {\n configurable: false === dpSupport ? true : !!configurable,\n get: fn\n });\n\n else object.__defineGetter__(name, fn);\n };\n\n /** Ensure the browser allows Object.defineProperty to be used on native JavaScript objects. */\n try {\n defineGetter({}, \"support\");\n }\n catch (e) {\n dpSupport = false;\n }\n\n\n var _DOMTokenList = function (el, prop) {\n var that = this;\n var tokens = [];\n var tokenMap = {};\n var length = 0;\n var maxLength = 0;\n var addIndexGetter = function (i) {\n defineGetter(that, i, function () {\n preop();\n return tokens[i];\n }, false);\n\n };\n var reindex = function () {\n\n /** Define getter functions for array-like access to the tokenList's contents. */\n if (length >= maxLength)\n for (; maxLength < length; ++maxLength) {\n addIndexGetter(maxLength);\n }\n };\n\n /** Helper function called at the start of each class method. Internal use only. */\n var preop = function () {\n var error;\n var i;\n var args = arguments;\n var rSpace = /\\s+/;\n\n /** Validate the token/s passed to an instance method, if any. */\n if (args.length)\n for (i = 0; i < args.length; ++i)\n if (rSpace.test(args[i])) {\n error = new SyntaxError('String \"' + args[i] + '\" ' + \"contains\" + ' an invalid character');\n error.code = 5;\n error.name = \"InvalidCharacterError\";\n throw error;\n }\n\n\n /** Split the new value apart by whitespace*/\n if (typeof el[prop] === \"object\") {\n tokens = (\"\" + el[prop].baseVal).replace(/^\\s+|\\s+$/g, \"\").split(rSpace);\n } else {\n tokens = (\"\" + el[prop]).replace(/^\\s+|\\s+$/g, \"\").split(rSpace);\n }\n\n /** Avoid treating blank strings as single-item token lists */\n if (\"\" === tokens[0]) tokens = [];\n\n /** Repopulate the internal token lists */\n tokenMap = {};\n for (i = 0; i < tokens.length; ++i)\n tokenMap[tokens[i]] = true;\n length = tokens.length;\n reindex();\n };\n\n /** Populate our internal token list if the targeted attribute of the subject element isn't empty. */\n preop();\n\n /** Return the number of tokens in the underlying string. Read-only. */\n defineGetter(that, \"length\", function () {\n preop();\n return length;\n });\n\n /** Override the default toString/toLocaleString methods to return a space-delimited list of tokens when typecast. */\n that.toLocaleString =\n that.toString = function () {\n preop();\n return tokens.join(\" \");\n };\n\n that.item = function (idx) {\n preop();\n return tokens[idx];\n };\n\n that.contains = function (token) {\n preop();\n return !!tokenMap[token];\n };\n\n that.add = function () {\n preop.apply(that, args = arguments);\n\n for (var args, token, i = 0, l = args.length; i < l; ++i) {\n token = args[i];\n if (!tokenMap[token]) {\n tokens.push(token);\n tokenMap[token] = true;\n }\n }\n\n /** Update the targeted attribute of the attached element if the token list's changed. */\n if (length !== tokens.length) {\n length = tokens.length >>> 0;\n if (typeof el[prop] === \"object\") {\n el[prop].baseVal = tokens.join(\" \");\n } else {\n el[prop] = tokens.join(\" \");\n }\n reindex();\n }\n };\n\n that.remove = function () {\n preop.apply(that, args = arguments);\n\n /** Build a hash of token names to compare against when recollecting our token list. */\n for (var args, ignore = {}, i = 0, t = []; i < args.length; ++i) {\n ignore[args[i]] = true;\n delete tokenMap[args[i]];\n }\n\n /** Run through our tokens list and reassign only those that aren't defined in the hash declared above. */\n for (i = 0; i < tokens.length; ++i)\n if (!ignore[tokens[i]]) t.push(tokens[i]);\n\n tokens = t;\n length = t.length >>> 0;\n\n /** Update the targeted attribute of the attached element. */\n if (typeof el[prop] === \"object\") {\n el[prop].baseVal = tokens.join(\" \");\n } else {\n el[prop] = tokens.join(\" \");\n }\n reindex();\n };\n\n that.toggle = function (token, force) {\n preop.apply(that, [token]);\n\n /** Token state's being forced. */\n if (undefined !== force) {\n if (force) {\n that.add(token);\n return true;\n } else {\n that.remove(token);\n return false;\n }\n }\n\n /** Token already exists in tokenList. Remove it, and return FALSE. */\n if (tokenMap[token]) {\n that.remove(token);\n return false;\n }\n\n /** Otherwise, add the token and return TRUE. */\n that.add(token);\n return true;\n };\n\n return that;\n };\n\n return _DOMTokenList;\n }());\n }\n\n // Add second argument to native DOMTokenList.toggle() if necessary\n (function () {\n var e = document.createElement('span');\n if (!('classList' in e)) return;\n e.classList.toggle('x', false);\n if (!e.classList.contains('x')) return;\n e.classList.constructor.prototype.toggle = function toggle(token /*, force*/) {\n var force = arguments[1];\n if (force === undefined) {\n var add = !this.contains(token);\n this[add ? 'add' : 'remove'](token);\n return add;\n }\n force = !!force;\n this[force ? 'add' : 'remove'](token);\n return force;\n };\n }());\n\n // Add multiple arguments to native DOMTokenList.add() if necessary\n (function () {\n var e = document.createElement('span');\n if (!('classList' in e)) return;\n e.classList.add('a', 'b');\n if (e.classList.contains('b')) return;\n var native = e.classList.constructor.prototype.add;\n e.classList.constructor.prototype.add = function () {\n var args = arguments;\n var l = arguments.length;\n for (var i = 0; i < l; i++) {\n native.call(this, args[i]);\n }\n };\n }());\n\n // Add multiple arguments to native DOMTokenList.remove() if necessary\n (function () {\n var e = document.createElement('span');\n if (!('classList' in e)) return;\n e.classList.add('a');\n e.classList.add('b');\n e.classList.remove('a', 'b');\n if (!e.classList.contains('b')) return;\n var native = e.classList.constructor.prototype.remove;\n e.classList.constructor.prototype.remove = function () {\n var args = arguments;\n var l = arguments.length;\n for (var i = 0; i < l; i++) {\n native.call(this, args[i]);\n }\n };\n }());\n\n }(this));\n\n}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n\n(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Document/detect.js\nvar detect = (\"Document\" in this);\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Document&flags=always\nif ((typeof WorkerGlobalScope === \"undefined\") && (typeof importScripts !== \"function\")) {\n\n\tif (this.HTMLDocument) { // IE8\n\n\t\t// HTMLDocument is an extension of Document. If the browser has HTMLDocument but not Document, the former will suffice as an alias for the latter.\n\t\tthis.Document = this.HTMLDocument;\n\n\t} else {\n\n\t\t// Create an empty function to act as the missing constructor for the document object, attach the document object as its prototype. The function needs to be anonymous else it is hoisted and causes the feature detect to prematurely pass, preventing the assignments below being made.\n\t\tthis.Document = this.HTMLDocument = document.constructor = (new Function('return function Document() {}')());\n\t\tthis.Document.prototype = document;\n\t}\n}\n\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n\n(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Element/detect.js\nvar detect = ('Element' in this && 'HTMLElement' in this);\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Element&flags=always\n(function () {\n\n\t// IE8\n\tif (window.Element && !window.HTMLElement) {\n\t\twindow.HTMLElement = window.Element;\n\t\treturn;\n\t}\n\n\t// create Element constructor\n\twindow.Element = window.HTMLElement = new Function('return function Element() {}')();\n\n\t// generate sandboxed iframe\n\tvar vbody = document.appendChild(document.createElement('body'));\n\tvar frame = vbody.appendChild(document.createElement('iframe'));\n\n\t// use sandboxed iframe to replicate Element functionality\n\tvar frameDocument = frame.contentWindow.document;\n\tvar prototype = Element.prototype = frameDocument.appendChild(frameDocument.createElement('*'));\n\tvar cache = {};\n\n\t// polyfill Element.prototype on an element\n\tvar shiv = function (element, deep) {\n\t\tvar\n\t\tchildNodes = element.childNodes || [],\n\t\tindex = -1,\n\t\tkey, value, childNode;\n\n\t\tif (element.nodeType === 1 && element.constructor !== Element) {\n\t\t\telement.constructor = Element;\n\n\t\t\tfor (key in cache) {\n\t\t\t\tvalue = cache[key];\n\t\t\t\telement[key] = value;\n\t\t\t}\n\t\t}\n\n\t\twhile (childNode = deep && childNodes[++index]) {\n\t\t\tshiv(childNode, deep);\n\t\t}\n\n\t\treturn element;\n\t};\n\n\tvar elements = document.getElementsByTagName('*');\n\tvar nativeCreateElement = document.createElement;\n\tvar interval;\n\tvar loopLimit = 100;\n\n\tprototype.attachEvent('onpropertychange', function (event) {\n\t\tvar\n\t\tpropertyName = event.propertyName,\n\t\tnonValue = !cache.hasOwnProperty(propertyName),\n\t\tnewValue = prototype[propertyName],\n\t\toldValue = cache[propertyName],\n\t\tindex = -1,\n\t\telement;\n\n\t\twhile (element = elements[++index]) {\n\t\t\tif (element.nodeType === 1) {\n\t\t\t\tif (nonValue || element[propertyName] === oldValue) {\n\t\t\t\t\telement[propertyName] = newValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tcache[propertyName] = newValue;\n\t});\n\n\tprototype.constructor = Element;\n\n\tif (!prototype.hasAttribute) {\n\t\t// .hasAttribute\n\t\tprototype.hasAttribute = function hasAttribute(name) {\n\t\t\treturn this.getAttribute(name) !== null;\n\t\t};\n\t}\n\n\t// Apply Element prototype to the pre-existing DOM as soon as the body element appears.\n\tfunction bodyCheck() {\n\t\tif (!(loopLimit--)) clearTimeout(interval);\n\t\tif (document.body && !document.body.prototype && /(complete|interactive)/.test(document.readyState)) {\n\t\t\tshiv(document, true);\n\t\t\tif (interval && document.body.prototype) clearTimeout(interval);\n\t\t\treturn (!!document.body.prototype);\n\t\t}\n\t\treturn false;\n\t}\n\tif (!bodyCheck()) {\n\t\tdocument.onreadystatechange = bodyCheck;\n\t\tinterval = setInterval(bodyCheck, 25);\n\t}\n\n\t// Apply to any new elements created after load\n\tdocument.createElement = function createElement(nodeName) {\n\t\tvar element = nativeCreateElement(String(nodeName).toLowerCase());\n\t\treturn shiv(element);\n\t};\n\n\t// remove sandboxed iframe\n\tdocument.removeChild(vbody);\n}());\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n\n(function(undefined) {\n\n // Detection from https://raw.githubusercontent.com/Financial-Times/polyfill-service/8717a9e04ac7aff99b4980fbedead98036b0929a/packages/polyfill-library/polyfills/Element/prototype/classList/detect.js\n var detect = (\n 'document' in this && \"classList\" in document.documentElement && 'Element' in this && 'classList' in Element.prototype && (function () {\n var e = document.createElement('span');\n e.classList.add('a', 'b');\n return e.classList.contains('b');\n }())\n );\n\n if (detect) return\n\n // Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Element.prototype.classList&flags=always\n (function (global) {\n var dpSupport = true;\n var defineGetter = function (object, name, fn, configurable) {\n if (Object.defineProperty)\n Object.defineProperty(object, name, {\n configurable: false === dpSupport ? true : !!configurable,\n get: fn\n });\n\n else object.__defineGetter__(name, fn);\n };\n /** Ensure the browser allows Object.defineProperty to be used on native JavaScript objects. */\n try {\n defineGetter({}, \"support\");\n }\n catch (e) {\n dpSupport = false;\n }\n /** Polyfills a property with a DOMTokenList */\n var addProp = function (o, name, attr) {\n\n defineGetter(o.prototype, name, function () {\n var tokenList;\n\n var THIS = this,\n\n /** Prevent this from firing twice for some reason. What the hell, IE. */\n gibberishProperty = \"__defineGetter__\" + \"DEFINE_PROPERTY\" + name;\n if(THIS[gibberishProperty]) return tokenList;\n THIS[gibberishProperty] = true;\n\n /**\n * IE8 can't define properties on native JavaScript objects, so we'll use a dumb hack instead.\n *\n * What this is doing is creating a dummy element (\"reflection\") inside a detached phantom node (\"mirror\")\n * that serves as the target of Object.defineProperty instead. While we could simply use the subject HTML\n * element instead, this would conflict with element types which use indexed properties (such as forms and\n * select lists).\n */\n if (false === dpSupport) {\n\n var visage;\n var mirror = addProp.mirror || document.createElement(\"div\");\n var reflections = mirror.childNodes;\n var l = reflections.length;\n\n for (var i = 0; i < l; ++i)\n if (reflections[i]._R === THIS) {\n visage = reflections[i];\n break;\n }\n\n /** Couldn't find an element's reflection inside the mirror. Materialise one. */\n visage || (visage = mirror.appendChild(document.createElement(\"div\")));\n\n tokenList = DOMTokenList.call(visage, THIS, attr);\n } else tokenList = new DOMTokenList(THIS, attr);\n\n defineGetter(THIS, name, function () {\n return tokenList;\n });\n delete THIS[gibberishProperty];\n\n return tokenList;\n }, true);\n };\n\n addProp(global.Element, \"classList\", \"className\");\n addProp(global.HTMLElement, \"classList\", \"className\");\n addProp(global.HTMLLinkElement, \"relList\", \"rel\");\n addProp(global.HTMLAnchorElement, \"relList\", \"rel\");\n addProp(global.HTMLAreaElement, \"relList\", \"rel\");\n }(this));\n\n}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n\nfunction Accordion ($module) {\n this.$module = $module;\n this.moduleId = $module.getAttribute('id');\n this.$sections = $module.querySelectorAll('.govuk-accordion__section');\n this.$openAllButton = '';\n this.browserSupportsSessionStorage = helper.checkForSessionStorage();\n\n this.controlsClass = 'govuk-accordion__controls';\n this.openAllClass = 'govuk-accordion__open-all';\n this.iconClass = 'govuk-accordion__icon';\n\n this.sectionHeaderClass = 'govuk-accordion__section-header';\n this.sectionHeaderFocusedClass = 'govuk-accordion__section-header--focused';\n this.sectionHeadingClass = 'govuk-accordion__section-heading';\n this.sectionSummaryClass = 'govuk-accordion__section-summary';\n this.sectionButtonClass = 'govuk-accordion__section-button';\n this.sectionExpandedClass = 'govuk-accordion__section--expanded';\n}\n\n// Initialize component\nAccordion.prototype.init = function () {\n // Check for module\n if (!this.$module) {\n return\n }\n\n this.initControls();\n\n this.initSectionHeaders();\n\n // See if \"Open all\" button text should be updated\n var areAllSectionsOpen = this.checkIfAllSectionsOpen();\n this.updateOpenAllButton(areAllSectionsOpen);\n};\n\n// Initialise controls and set attributes\nAccordion.prototype.initControls = function () {\n // Create \"Open all\" button and set attributes\n this.$openAllButton = document.createElement('button');\n this.$openAllButton.setAttribute('type', 'button');\n this.$openAllButton.innerHTML = 'Open all sections';\n this.$openAllButton.setAttribute('class', this.openAllClass);\n this.$openAllButton.setAttribute('aria-expanded', 'false');\n this.$openAllButton.setAttribute('type', 'button');\n\n // Create control wrapper and add controls to it\n var accordionControls = document.createElement('div');\n accordionControls.setAttribute('class', this.controlsClass);\n accordionControls.appendChild(this.$openAllButton);\n this.$module.insertBefore(accordionControls, this.$module.firstChild);\n\n // Handle events for the controls\n this.$openAllButton.addEventListener('click', this.onOpenOrCloseAllToggle.bind(this));\n};\n\n// Initialise section headers\nAccordion.prototype.initSectionHeaders = function () {\n // Loop through section headers\n nodeListForEach(this.$sections, function ($section, i) {\n // Set header attributes\n var header = $section.querySelector('.' + this.sectionHeaderClass);\n this.initHeaderAttributes(header, i);\n\n this.setExpanded(this.isExpanded($section), $section);\n\n // Handle events\n header.addEventListener('click', this.onSectionToggle.bind(this, $section));\n\n // See if there is any state stored in sessionStorage and set the sections to\n // open or closed.\n this.setInitialState($section);\n }.bind(this));\n};\n\n// Set individual header attributes\nAccordion.prototype.initHeaderAttributes = function ($headerWrapper, index) {\n var $module = this;\n var $span = $headerWrapper.querySelector('.' + this.sectionButtonClass);\n var $heading = $headerWrapper.querySelector('.' + this.sectionHeadingClass);\n var $summary = $headerWrapper.querySelector('.' + this.sectionSummaryClass);\n\n // Copy existing span element to an actual button element, for improved accessibility.\n var $button = document.createElement('button');\n $button.setAttribute('type', 'button');\n $button.setAttribute('id', this.moduleId + '-heading-' + (index + 1));\n $button.setAttribute('aria-controls', this.moduleId + '-content-' + (index + 1));\n\n // Copy all attributes (https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes) from $span to $button\n for (var i = 0; i < $span.attributes.length; i++) {\n var attr = $span.attributes.item(i);\n $button.setAttribute(attr.nodeName, attr.nodeValue);\n }\n\n $button.addEventListener('focusin', function (e) {\n if (!$headerWrapper.classList.contains($module.sectionHeaderFocusedClass)) {\n $headerWrapper.className += ' ' + $module.sectionHeaderFocusedClass;\n }\n });\n\n $button.addEventListener('blur', function (e) {\n $headerWrapper.classList.remove($module.sectionHeaderFocusedClass);\n });\n\n if (typeof ($summary) !== 'undefined' && $summary !== null) {\n $button.setAttribute('aria-describedby', this.moduleId + '-summary-' + (index + 1));\n }\n\n // $span could contain HTML elements (see https://www.w3.org/TR/2011/WD-html5-20110525/content-models.html#phrasing-content)\n $button.innerHTML = $span.innerHTML;\n\n $heading.removeChild($span);\n $heading.appendChild($button);\n\n // Add \"+/-\" icon\n var icon = document.createElement('span');\n icon.className = this.iconClass;\n icon.setAttribute('aria-hidden', 'true');\n\n $button.appendChild(icon);\n};\n\n// When section toggled, set and store state\nAccordion.prototype.onSectionToggle = function ($section) {\n var expanded = this.isExpanded($section);\n this.setExpanded(!expanded, $section);\n\n // Store the state in sessionStorage when a change is triggered\n this.storeState($section);\n};\n\n// When Open/Close All toggled, set and store state\nAccordion.prototype.onOpenOrCloseAllToggle = function () {\n var $module = this;\n var $sections = this.$sections;\n\n var nowExpanded = !this.checkIfAllSectionsOpen();\n\n nodeListForEach($sections, function ($section) {\n $module.setExpanded(nowExpanded, $section);\n // Store the state in sessionStorage when a change is triggered\n $module.storeState($section);\n });\n\n $module.updateOpenAllButton(nowExpanded);\n};\n\n// Set section attributes when opened/closed\nAccordion.prototype.setExpanded = function (expanded, $section) {\n var $button = $section.querySelector('.' + this.sectionButtonClass);\n $button.setAttribute('aria-expanded', expanded);\n\n if (expanded) {\n $section.classList.add(this.sectionExpandedClass);\n } else {\n $section.classList.remove(this.sectionExpandedClass);\n }\n\n // See if \"Open all\" button text should be updated\n var areAllSectionsOpen = this.checkIfAllSectionsOpen();\n this.updateOpenAllButton(areAllSectionsOpen);\n};\n\n// Get state of section\nAccordion.prototype.isExpanded = function ($section) {\n return $section.classList.contains(this.sectionExpandedClass)\n};\n\n// Check if all sections are open\nAccordion.prototype.checkIfAllSectionsOpen = function () {\n // Get a count of all the Accordion sections\n var sectionsCount = this.$sections.length;\n // Get a count of all Accordion sections that are expanded\n var expandedSectionCount = this.$module.querySelectorAll('.' + this.sectionExpandedClass).length;\n var areAllSectionsOpen = sectionsCount === expandedSectionCount;\n\n return areAllSectionsOpen\n};\n\n// Update \"Open all\" button\nAccordion.prototype.updateOpenAllButton = function (expanded) {\n var newButtonText = expanded ? 'Close all' : 'Open all';\n newButtonText += ' sections';\n this.$openAllButton.setAttribute('aria-expanded', expanded);\n this.$openAllButton.innerHTML = newButtonText;\n};\n\n// Check for `window.sessionStorage`, and that it actually works.\nvar helper = {\n checkForSessionStorage: function () {\n var testString = 'this is the test string';\n var result;\n try {\n window.sessionStorage.setItem(testString, testString);\n result = window.sessionStorage.getItem(testString) === testString.toString();\n window.sessionStorage.removeItem(testString);\n return result\n } catch (exception) {\n if ((typeof console === 'undefined' || typeof console.log === 'undefined')) {\n console.log('Notice: sessionStorage not available.');\n }\n }\n }\n};\n\n// Set the state of the accordions in sessionStorage\nAccordion.prototype.storeState = function ($section) {\n if (this.browserSupportsSessionStorage) {\n // We need a unique way of identifying each content in the accordion. Since\n // an `#id` should be unique and an `id` is required for `aria-` attributes\n // `id` can be safely used.\n var $button = $section.querySelector('.' + this.sectionButtonClass);\n\n if ($button) {\n var contentId = $button.getAttribute('aria-controls');\n var contentState = $button.getAttribute('aria-expanded');\n\n if (typeof contentId === 'undefined' && (typeof console === 'undefined' || typeof console.log === 'undefined')) {\n console.error(new Error('No aria controls present in accordion section heading.'));\n }\n\n if (typeof contentState === 'undefined' && (typeof console === 'undefined' || typeof console.log === 'undefined')) {\n console.error(new Error('No aria expanded present in accordion section heading.'));\n }\n\n // Only set the state when both `contentId` and `contentState` are taken from the DOM.\n if (contentId && contentState) {\n window.sessionStorage.setItem(contentId, contentState);\n }\n }\n }\n};\n\n// Read the state of the accordions from sessionStorage\nAccordion.prototype.setInitialState = function ($section) {\n if (this.browserSupportsSessionStorage) {\n var $button = $section.querySelector('.' + this.sectionButtonClass);\n\n if ($button) {\n var contentId = $button.getAttribute('aria-controls');\n var contentState = contentId ? window.sessionStorage.getItem(contentId) : null;\n\n if (contentState !== null) {\n this.setExpanded(contentState === 'true', $section);\n }\n }\n }\n};\n\n(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Window/detect.js\nvar detect = ('Window' in this);\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Window&flags=always\nif ((typeof WorkerGlobalScope === \"undefined\") && (typeof importScripts !== \"function\")) {\n\t(function (global) {\n\t\tif (global.constructor) {\n\t\t\tglobal.Window = global.constructor;\n\t\t} else {\n\t\t\t(global.Window = global.constructor = new Function('return function Window() {}')()).prototype = this;\n\t\t}\n\t}(this));\n}\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n\n(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Event/detect.js\nvar detect = (\n (function(global) {\n\n \tif (!('Event' in global)) return false;\n \tif (typeof global.Event === 'function') return true;\n\n \ttry {\n\n \t\t// In IE 9-11, the Event object exists but cannot be instantiated\n \t\tnew Event('click');\n \t\treturn true;\n \t} catch(e) {\n \t\treturn false;\n \t}\n }(this))\n);\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Event&flags=always\n(function () {\n\tvar unlistenableWindowEvents = {\n\t\tclick: 1,\n\t\tdblclick: 1,\n\t\tkeyup: 1,\n\t\tkeypress: 1,\n\t\tkeydown: 1,\n\t\tmousedown: 1,\n\t\tmouseup: 1,\n\t\tmousemove: 1,\n\t\tmouseover: 1,\n\t\tmouseenter: 1,\n\t\tmouseleave: 1,\n\t\tmouseout: 1,\n\t\tstorage: 1,\n\t\tstoragecommit: 1,\n\t\ttextinput: 1\n\t};\n\n\t// This polyfill depends on availability of `document` so will not run in a worker\n\t// However, we asssume there are no browsers with worker support that lack proper\n\t// support for `Event` within the worker\n\tif (typeof document === 'undefined' || typeof window === 'undefined') return;\n\n\tfunction indexOf(array, element) {\n\t\tvar\n\t\tindex = -1,\n\t\tlength = array.length;\n\n\t\twhile (++index < length) {\n\t\t\tif (index in array && array[index] === element) {\n\t\t\t\treturn index;\n\t\t\t}\n\t\t}\n\n\t\treturn -1;\n\t}\n\n\tvar existingProto = (window.Event && window.Event.prototype) || null;\n\twindow.Event = Window.prototype.Event = function Event(type, eventInitDict) {\n\t\tif (!type) {\n\t\t\tthrow new Error('Not enough arguments');\n\t\t}\n\n\t\tvar event;\n\t\t// Shortcut if browser supports createEvent\n\t\tif ('createEvent' in document) {\n\t\t\tevent = document.createEvent('Event');\n\t\t\tvar bubbles = eventInitDict && eventInitDict.bubbles !== undefined ? eventInitDict.bubbles : false;\n\t\t\tvar cancelable = eventInitDict && eventInitDict.cancelable !== undefined ? eventInitDict.cancelable : false;\n\n\t\t\tevent.initEvent(type, bubbles, cancelable);\n\n\t\t\treturn event;\n\t\t}\n\n\t\tevent = document.createEventObject();\n\n\t\tevent.type = type;\n\t\tevent.bubbles = eventInitDict && eventInitDict.bubbles !== undefined ? eventInitDict.bubbles : false;\n\t\tevent.cancelable = eventInitDict && eventInitDict.cancelable !== undefined ? eventInitDict.cancelable : false;\n\n\t\treturn event;\n\t};\n\tif (existingProto) {\n\t\tObject.defineProperty(window.Event, 'prototype', {\n\t\t\tconfigurable: false,\n\t\t\tenumerable: false,\n\t\t\twritable: true,\n\t\t\tvalue: existingProto\n\t\t});\n\t}\n\n\tif (!('createEvent' in document)) {\n\t\twindow.addEventListener = Window.prototype.addEventListener = Document.prototype.addEventListener = Element.prototype.addEventListener = function addEventListener() {\n\t\t\tvar\n\t\t\telement = this,\n\t\t\ttype = arguments[0],\n\t\t\tlistener = arguments[1];\n\n\t\t\tif (element === window && type in unlistenableWindowEvents) {\n\t\t\t\tthrow new Error('In IE8 the event: ' + type + ' is not available on the window object. Please see https://github.com/Financial-Times/polyfill-service/issues/317 for more information.');\n\t\t\t}\n\n\t\t\tif (!element._events) {\n\t\t\t\telement._events = {};\n\t\t\t}\n\n\t\t\tif (!element._events[type]) {\n\t\t\t\telement._events[type] = function (event) {\n\t\t\t\t\tvar\n\t\t\t\t\tlist = element._events[event.type].list,\n\t\t\t\t\tevents = list.slice(),\n\t\t\t\t\tindex = -1,\n\t\t\t\t\tlength = events.length,\n\t\t\t\t\teventElement;\n\n\t\t\t\t\tevent.preventDefault = function preventDefault() {\n\t\t\t\t\t\tif (event.cancelable !== false) {\n\t\t\t\t\t\t\tevent.returnValue = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tevent.stopPropagation = function stopPropagation() {\n\t\t\t\t\t\tevent.cancelBubble = true;\n\t\t\t\t\t};\n\n\t\t\t\t\tevent.stopImmediatePropagation = function stopImmediatePropagation() {\n\t\t\t\t\t\tevent.cancelBubble = true;\n\t\t\t\t\t\tevent.cancelImmediate = true;\n\t\t\t\t\t};\n\n\t\t\t\t\tevent.currentTarget = element;\n\t\t\t\t\tevent.relatedTarget = event.fromElement || null;\n\t\t\t\t\tevent.target = event.target || event.srcElement || element;\n\t\t\t\t\tevent.timeStamp = new Date().getTime();\n\n\t\t\t\t\tif (event.clientX) {\n\t\t\t\t\t\tevent.pageX = event.clientX + document.documentElement.scrollLeft;\n\t\t\t\t\t\tevent.pageY = event.clientY + document.documentElement.scrollTop;\n\t\t\t\t\t}\n\n\t\t\t\t\twhile (++index < length && !event.cancelImmediate) {\n\t\t\t\t\t\tif (index in events) {\n\t\t\t\t\t\t\teventElement = events[index];\n\n\t\t\t\t\t\t\tif (indexOf(list, eventElement) !== -1 && typeof eventElement === 'function') {\n\t\t\t\t\t\t\t\teventElement.call(element, event);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\telement._events[type].list = [];\n\n\t\t\t\tif (element.attachEvent) {\n\t\t\t\t\telement.attachEvent('on' + type, element._events[type]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\telement._events[type].list.push(listener);\n\t\t};\n\n\t\twindow.removeEventListener = Window.prototype.removeEventListener = Document.prototype.removeEventListener = Element.prototype.removeEventListener = function removeEventListener() {\n\t\t\tvar\n\t\t\telement = this,\n\t\t\ttype = arguments[0],\n\t\t\tlistener = arguments[1],\n\t\t\tindex;\n\n\t\t\tif (element._events && element._events[type] && element._events[type].list) {\n\t\t\t\tindex = indexOf(element._events[type].list, listener);\n\n\t\t\t\tif (index !== -1) {\n\t\t\t\t\telement._events[type].list.splice(index, 1);\n\n\t\t\t\t\tif (!element._events[type].list.length) {\n\t\t\t\t\t\tif (element.detachEvent) {\n\t\t\t\t\t\t\telement.detachEvent('on' + type, element._events[type]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdelete element._events[type];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\twindow.dispatchEvent = Window.prototype.dispatchEvent = Document.prototype.dispatchEvent = Element.prototype.dispatchEvent = function dispatchEvent(event) {\n\t\t\tif (!arguments.length) {\n\t\t\t\tthrow new Error('Not enough arguments');\n\t\t\t}\n\n\t\t\tif (!event || typeof event.type !== 'string') {\n\t\t\t\tthrow new Error('DOM Events Exception 0');\n\t\t\t}\n\n\t\t\tvar element = this, type = event.type;\n\n\t\t\ttry {\n\t\t\t\tif (!event.bubbles) {\n\t\t\t\t\tevent.cancelBubble = true;\n\n\t\t\t\t\tvar cancelBubbleEvent = function (event) {\n\t\t\t\t\t\tevent.cancelBubble = true;\n\n\t\t\t\t\t\t(element || window).detachEvent('on' + type, cancelBubbleEvent);\n\t\t\t\t\t};\n\n\t\t\t\t\tthis.attachEvent('on' + type, cancelBubbleEvent);\n\t\t\t\t}\n\n\t\t\t\tthis.fireEvent('on' + type, event);\n\t\t\t} catch (error) {\n\t\t\t\tevent.target = element;\n\n\t\t\t\tdo {\n\t\t\t\t\tevent.currentTarget = element;\n\n\t\t\t\t\tif ('_events' in element && typeof element._events[type] === 'function') {\n\t\t\t\t\t\telement._events[type].call(element, event);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (typeof element['on' + type] === 'function') {\n\t\t\t\t\t\telement['on' + type].call(element, event);\n\t\t\t\t\t}\n\n\t\t\t\t\telement = element.nodeType === 9 ? element.parentWindow : element.parentNode;\n\t\t\t\t} while (element && !event.cancelBubble);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t};\n\n\t\t// Add the DOMContentLoaded Event\n\t\tdocument.attachEvent('onreadystatechange', function() {\n\t\t\tif (document.readyState === 'complete') {\n\t\t\t\tdocument.dispatchEvent(new Event('DOMContentLoaded', {\n\t\t\t\t\tbubbles: true\n\t\t\t\t}));\n\t\t\t}\n\t\t});\n\t}\n}());\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n\nvar KEY_SPACE = 32;\nvar DEBOUNCE_TIMEOUT_IN_SECONDS = 1;\n\nfunction Button ($module) {\n this.$module = $module;\n this.debounceFormSubmitTimer = null;\n}\n\n/**\n* JavaScript 'shim' to trigger the click event of element(s) when the space key is pressed.\n*\n* Created since some Assistive Technologies (for example some Screenreaders)\n* will tell a user to press space on a 'button', so this functionality needs to be shimmed\n* See https://github.com/alphagov/govuk_elements/pull/272#issuecomment-233028270\n*\n* @param {object} event event\n*/\nButton.prototype.handleKeyDown = function (event) {\n // get the target element\n var target = event.target;\n // if the element has a role='button' and the pressed key is a space, we'll simulate a click\n if (target.getAttribute('role') === 'button' && event.keyCode === KEY_SPACE) {\n event.preventDefault();\n // trigger the target's click event\n target.click();\n }\n};\n\n/**\n* If the click quickly succeeds a previous click then nothing will happen.\n* This stops people accidentally causing multiple form submissions by\n* double clicking buttons.\n*/\nButton.prototype.debounce = function (event) {\n var target = event.target;\n // Check the button that is clicked on has the preventDoubleClick feature enabled\n if (target.getAttribute('data-prevent-double-click') !== 'true') {\n return\n }\n\n // If the timer is still running then we want to prevent the click from submitting the form\n if (this.debounceFormSubmitTimer) {\n event.preventDefault();\n return false\n }\n\n this.debounceFormSubmitTimer = setTimeout(function () {\n this.debounceFormSubmitTimer = null;\n }.bind(this), DEBOUNCE_TIMEOUT_IN_SECONDS * 1000);\n};\n\n/**\n* Initialise an event listener for keydown at document level\n* this will help listening for later inserted elements with a role=\"button\"\n*/\nButton.prototype.init = function () {\n this.$module.addEventListener('keydown', this.handleKeyDown);\n this.$module.addEventListener('click', this.debounce);\n};\n\n/**\n * JavaScript 'polyfill' for HTML5's
and elements\n * and 'shim' to add accessiblity enhancements for all browsers\n *\n * http://caniuse.com/#feat=details\n */\n\nvar KEY_ENTER = 13;\nvar KEY_SPACE$1 = 32;\n\nfunction Details ($module) {\n this.$module = $module;\n}\n\nDetails.prototype.init = function () {\n if (!this.$module) {\n return\n }\n\n // If there is native details support, we want to avoid running code to polyfill native behaviour.\n var hasNativeDetails = typeof this.$module.open === 'boolean';\n\n if (hasNativeDetails) {\n return\n }\n\n this.polyfillDetails();\n};\n\nDetails.prototype.polyfillDetails = function () {\n var $module = this.$module;\n\n // Save shortcuts to the inner summary and content elements\n var $summary = this.$summary = $module.getElementsByTagName('summary').item(0);\n var $content = this.$content = $module.getElementsByTagName('div').item(0);\n\n // If
doesn't have a and a
representing the content\n // it means the required HTML structure is not met so the script will stop\n if (!$summary || !$content) {\n return\n }\n\n // If the content doesn't have an ID, assign it one now\n // which we'll need for the summary's aria-controls assignment\n if (!$content.id) {\n $content.id = 'details-content-' + generateUniqueID();\n }\n\n // Add ARIA role=\"group\" to details\n $module.setAttribute('role', 'group');\n\n // Add role=button to summary\n $summary.setAttribute('role', 'button');\n\n // Add aria-controls\n $summary.setAttribute('aria-controls', $content.id);\n\n // Set tabIndex so the summary is keyboard accessible for non-native elements\n //\n // We have to use the camelcase `tabIndex` property as there is a bug in IE6/IE7 when we set the correct attribute lowercase:\n // See http://web.archive.org/web/20170120194036/http://www.saliences.com/browserBugs/tabIndex.html for more information.\n $summary.tabIndex = 0;\n\n // Detect initial open state\n var openAttr = $module.getAttribute('open') !== null;\n if (openAttr === true) {\n $summary.setAttribute('aria-expanded', 'true');\n $content.setAttribute('aria-hidden', 'false');\n } else {\n $summary.setAttribute('aria-expanded', 'false');\n $content.setAttribute('aria-hidden', 'true');\n $content.style.display = 'none';\n }\n\n // Bind an event to handle summary elements\n this.polyfillHandleInputs($summary, this.polyfillSetAttributes.bind(this));\n};\n\n/**\n* Define a statechange function that updates aria-expanded and style.display\n* @param {object} summary element\n*/\nDetails.prototype.polyfillSetAttributes = function () {\n var $module = this.$module;\n var $summary = this.$summary;\n var $content = this.$content;\n\n var expanded = $summary.getAttribute('aria-expanded') === 'true';\n var hidden = $content.getAttribute('aria-hidden') === 'true';\n\n $summary.setAttribute('aria-expanded', (expanded ? 'false' : 'true'));\n $content.setAttribute('aria-hidden', (hidden ? 'false' : 'true'));\n\n $content.style.display = (expanded ? 'none' : '');\n\n var hasOpenAttr = $module.getAttribute('open') !== null;\n if (!hasOpenAttr) {\n $module.setAttribute('open', 'open');\n } else {\n $module.removeAttribute('open');\n }\n\n return true\n};\n\n/**\n* Handle cross-modal click events\n* @param {object} node element\n* @param {function} callback function\n*/\nDetails.prototype.polyfillHandleInputs = function (node, callback) {\n node.addEventListener('keypress', function (event) {\n var target = event.target;\n // When the key gets pressed - check if it is enter or space\n if (event.keyCode === KEY_ENTER || event.keyCode === KEY_SPACE$1) {\n if (target.nodeName.toLowerCase() === 'summary') {\n // Prevent space from scrolling the page\n // and enter from submitting a form\n event.preventDefault();\n // Click to let the click event do all the necessary action\n if (target.click) {\n target.click();\n } else {\n // except Safari 5.1 and under don't support .click() here\n callback(event);\n }\n }\n }\n });\n\n // Prevent keyup to prevent clicking twice in Firefox when using space key\n node.addEventListener('keyup', function (event) {\n var target = event.target;\n if (event.keyCode === KEY_SPACE$1) {\n if (target.nodeName.toLowerCase() === 'summary') {\n event.preventDefault();\n }\n }\n });\n\n node.addEventListener('click', callback);\n};\n\nfunction CharacterCount ($module) {\n this.$module = $module;\n this.$textarea = $module.querySelector('.govuk-js-character-count');\n if (this.$textarea) {\n this.$countMessage = $module.querySelector('[id=\"' + this.$textarea.id + '-info\"]');\n }\n}\n\nCharacterCount.prototype.defaults = {\n characterCountAttribute: 'data-maxlength',\n wordCountAttribute: 'data-maxwords'\n};\n\n// Initialize component\nCharacterCount.prototype.init = function () {\n // Check for module\n var $module = this.$module;\n var $textarea = this.$textarea;\n var $countMessage = this.$countMessage;\n\n if (!$textarea || !$countMessage) {\n return\n }\n\n // We move count message right after the field\n // Kept for backwards compatibility\n $textarea.insertAdjacentElement('afterend', $countMessage);\n\n // Read options set using dataset ('data-' values)\n this.options = this.getDataset($module);\n\n // Determine the limit attribute (characters or words)\n var countAttribute = this.defaults.characterCountAttribute;\n if (this.options.maxwords) {\n countAttribute = this.defaults.wordCountAttribute;\n }\n\n // Save the element limit\n this.maxLength = $module.getAttribute(countAttribute);\n\n // Check for limit\n if (!this.maxLength) {\n return\n }\n\n // Remove hard limit if set\n $module.removeAttribute('maxlength');\n\n // When the page is restored after navigating 'back' in some browsers the\n // state of the character count is not restored until *after* the DOMContentLoaded\n // event is fired, so we need to sync after the pageshow event in browsers\n // that support it.\n if ('onpageshow' in window) {\n window.addEventListener('pageshow', this.sync.bind(this));\n } else {\n window.addEventListener('DOMContentLoaded', this.sync.bind(this));\n }\n\n this.sync();\n};\n\nCharacterCount.prototype.sync = function () {\n this.bindChangeEvents();\n this.updateCountMessage();\n};\n\n// Read data attributes\nCharacterCount.prototype.getDataset = function (element) {\n var dataset = {};\n var attributes = element.attributes;\n if (attributes) {\n for (var i = 0; i < attributes.length; i++) {\n var attribute = attributes[i];\n var match = attribute.name.match(/^data-(.+)/);\n if (match) {\n dataset[match[1]] = attribute.value;\n }\n }\n }\n return dataset\n};\n\n// Counts characters or words in text\nCharacterCount.prototype.count = function (text) {\n var length;\n if (this.options.maxwords) {\n var tokens = text.match(/\\S+/g) || []; // Matches consecutive non-whitespace chars\n length = tokens.length;\n } else {\n length = text.length;\n }\n return length\n};\n\n// Bind input propertychange to the elements and update based on the change\nCharacterCount.prototype.bindChangeEvents = function () {\n var $textarea = this.$textarea;\n $textarea.addEventListener('keyup', this.checkIfValueChanged.bind(this));\n\n // Bind focus/blur events to start/stop polling\n $textarea.addEventListener('focus', this.handleFocus.bind(this));\n $textarea.addEventListener('blur', this.handleBlur.bind(this));\n};\n\n// Speech recognition software such as Dragon NaturallySpeaking will modify the\n// fields by directly changing its `value`. These changes don't trigger events\n// in JavaScript, so we need to poll to handle when and if they occur.\nCharacterCount.prototype.checkIfValueChanged = function () {\n if (!this.$textarea.oldValue) this.$textarea.oldValue = '';\n if (this.$textarea.value !== this.$textarea.oldValue) {\n this.$textarea.oldValue = this.$textarea.value;\n this.updateCountMessage();\n }\n};\n\n// Update message box\nCharacterCount.prototype.updateCountMessage = function () {\n var countElement = this.$textarea;\n var options = this.options;\n var countMessage = this.$countMessage;\n\n // Determine the remaining number of characters/words\n var currentLength = this.count(countElement.value);\n var maxLength = this.maxLength;\n var remainingNumber = maxLength - currentLength;\n\n // Set threshold if presented in options\n var thresholdPercent = options.threshold ? options.threshold : 0;\n var thresholdValue = maxLength * thresholdPercent / 100;\n if (thresholdValue > currentLength) {\n countMessage.classList.add('govuk-character-count__message--disabled');\n // Ensure threshold is hidden for users of assistive technologies\n countMessage.setAttribute('aria-hidden', true);\n } else {\n countMessage.classList.remove('govuk-character-count__message--disabled');\n // Ensure threshold is visible for users of assistive technologies\n countMessage.removeAttribute('aria-hidden');\n }\n\n // Update styles\n if (remainingNumber < 0) {\n countElement.classList.add('govuk-textarea--error');\n countMessage.classList.remove('govuk-hint');\n countMessage.classList.add('govuk-error-message');\n } else {\n countElement.classList.remove('govuk-textarea--error');\n countMessage.classList.remove('govuk-error-message');\n countMessage.classList.add('govuk-hint');\n }\n\n // Update message\n var charVerb = 'remaining';\n var charNoun = 'character';\n var displayNumber = remainingNumber;\n if (options.maxwords) {\n charNoun = 'word';\n }\n charNoun = charNoun + ((remainingNumber === -1 || remainingNumber === 1) ? '' : 's');\n\n charVerb = (remainingNumber < 0) ? 'too many' : 'remaining';\n displayNumber = Math.abs(remainingNumber);\n\n countMessage.innerHTML = 'You have ' + displayNumber + ' ' + charNoun + ' ' + charVerb;\n};\n\nCharacterCount.prototype.handleFocus = function () {\n // Check if value changed on focus\n this.valueChecker = setInterval(this.checkIfValueChanged.bind(this), 1000);\n};\n\nCharacterCount.prototype.handleBlur = function () {\n // Cancel value checking on blur\n clearInterval(this.valueChecker);\n};\n\nfunction Checkboxes ($module) {\n this.$module = $module;\n this.$inputs = $module.querySelectorAll('input[type=\"checkbox\"]');\n}\n\n/**\n * Initialise Checkboxes\n *\n * Checkboxes can be associated with a 'conditionally revealed' content block –\n * for example, a checkbox for 'Phone' could reveal an additional form field for\n * the user to enter their phone number.\n *\n * These associations are made using a `data-aria-controls` attribute, which is\n * promoted to an aria-controls attribute during initialisation.\n *\n * We also need to restore the state of any conditional reveals on the page (for\n * example if the user has navigated back), and set up event handlers to keep\n * the reveal in sync with the checkbox state.\n */\nCheckboxes.prototype.init = function () {\n var $module = this.$module;\n var $inputs = this.$inputs;\n\n nodeListForEach($inputs, function ($input) {\n var target = $input.getAttribute('data-aria-controls');\n\n // Skip checkboxes without data-aria-controls attributes, or where the\n // target element does not exist.\n if (!target || !$module.querySelector('#' + target)) {\n return\n }\n\n // Promote the data-aria-controls attribute to a aria-controls attribute\n // so that the relationship is exposed in the AOM\n $input.setAttribute('aria-controls', target);\n $input.removeAttribute('data-aria-controls');\n });\n\n // When the page is restored after navigating 'back' in some browsers the\n // state of form controls is not restored until *after* the DOMContentLoaded\n // event is fired, so we need to sync after the pageshow event in browsers\n // that support it.\n if ('onpageshow' in window) {\n window.addEventListener('pageshow', this.syncAllConditionalReveals.bind(this));\n } else {\n window.addEventListener('DOMContentLoaded', this.syncAllConditionalReveals.bind(this));\n }\n\n // Although we've set up handlers to sync state on the pageshow or\n // DOMContentLoaded event, init could be called after those events have fired,\n // for example if they are added to the page dynamically, so sync now too.\n this.syncAllConditionalReveals();\n\n $module.addEventListener('click', this.handleClick.bind(this));\n};\n\n/**\n * Sync the conditional reveal states for all inputs in this $module.\n */\nCheckboxes.prototype.syncAllConditionalReveals = function () {\n nodeListForEach(this.$inputs, this.syncConditionalRevealWithInputState.bind(this));\n};\n\n/**\n * Sync conditional reveal with the input state\n *\n * Synchronise the visibility of the conditional reveal, and its accessible\n * state, with the input's checked state.\n *\n * @param {HTMLInputElement} $input Checkbox input\n */\nCheckboxes.prototype.syncConditionalRevealWithInputState = function ($input) {\n var $target = this.$module.querySelector('#' + $input.getAttribute('aria-controls'));\n\n if ($target && $target.classList.contains('govuk-checkboxes__conditional')) {\n var inputIsChecked = $input.checked;\n\n $input.setAttribute('aria-expanded', inputIsChecked);\n $target.classList.toggle('govuk-checkboxes__conditional--hidden', !inputIsChecked);\n }\n};\n\n/**\n * Uncheck other checkboxes\n *\n * Find any other checkbox inputs with the same name value, and uncheck them.\n * This is useful for when a “None of these\" checkbox is checked.\n */\nCheckboxes.prototype.unCheckAllInputsExcept = function ($input) {\n var allInputsWithSameName = document.querySelectorAll('input[type=\"checkbox\"][name=\"' + $input.name + '\"]');\n\n nodeListForEach(allInputsWithSameName, function ($inputWithSameName) {\n var hasSameFormOwner = ($input.form === $inputWithSameName.form);\n if (hasSameFormOwner && $inputWithSameName !== $input) {\n $inputWithSameName.checked = false;\n }\n });\n\n this.syncAllConditionalReveals();\n};\n\n/**\n * Uncheck exclusive inputs\n *\n * Find any checkbox inputs with the same name value and the 'exclusive' behaviour,\n * and uncheck them. This helps prevent someone checking both a regular checkbox and a\n * \"None of these\" checkbox in the same fieldset.\n */\nCheckboxes.prototype.unCheckExclusiveInputs = function ($input) {\n var allInputsWithSameNameAndExclusiveBehaviour = document.querySelectorAll(\n 'input[data-behaviour=\"exclusive\"][type=\"checkbox\"][name=\"' + $input.name + '\"]'\n );\n\n nodeListForEach(allInputsWithSameNameAndExclusiveBehaviour, function ($exclusiveInput) {\n var hasSameFormOwner = ($input.form === $exclusiveInput.form);\n if (hasSameFormOwner) {\n $exclusiveInput.checked = false;\n }\n });\n\n this.syncAllConditionalReveals();\n};\n\n/**\n * Click event handler\n *\n * Handle a click within the $module – if the click occurred on a checkbox, sync\n * the state of any associated conditional reveal with the checkbox state.\n *\n * @param {MouseEvent} event Click event\n */\nCheckboxes.prototype.handleClick = function (event) {\n var $target = event.target;\n\n // Ignore clicks on things that aren't checkbox inputs\n if ($target.type !== 'checkbox') {\n return\n }\n\n // If the checkbox conditionally-reveals some content, sync the state\n var hasAriaControls = $target.getAttribute('aria-controls');\n if (hasAriaControls) {\n this.syncConditionalRevealWithInputState($target);\n }\n\n // No further behaviour needed for unchecking\n if (!$target.checked) {\n return\n }\n\n // Handle 'exclusive' checkbox behaviour (ie \"None of these\")\n var hasBehaviourExclusive = ($target.getAttribute('data-behaviour') === 'exclusive');\n if (hasBehaviourExclusive) {\n this.unCheckAllInputsExcept($target);\n } else {\n this.unCheckExclusiveInputs($target);\n }\n};\n\n(function(undefined) {\n\n // Detection from https://raw.githubusercontent.com/Financial-Times/polyfill-service/1f3c09b402f65bf6e393f933a15ba63f1b86ef1f/packages/polyfill-library/polyfills/Element/prototype/matches/detect.js\n var detect = (\n 'document' in this && \"matches\" in document.documentElement\n );\n\n if (detect) return\n\n // Polyfill from https://raw.githubusercontent.com/Financial-Times/polyfill-service/1f3c09b402f65bf6e393f933a15ba63f1b86ef1f/packages/polyfill-library/polyfills/Element/prototype/matches/polyfill.js\n Element.prototype.matches = Element.prototype.webkitMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.mozMatchesSelector || function matches(selector) {\n var element = this;\n var elements = (element.document || element.ownerDocument).querySelectorAll(selector);\n var index = 0;\n\n while (elements[index] && elements[index] !== element) {\n ++index;\n }\n\n return !!elements[index];\n };\n\n}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n\n(function(undefined) {\n\n // Detection from https://raw.githubusercontent.com/Financial-Times/polyfill-service/1f3c09b402f65bf6e393f933a15ba63f1b86ef1f/packages/polyfill-library/polyfills/Element/prototype/closest/detect.js\n var detect = (\n 'document' in this && \"closest\" in document.documentElement\n );\n\n if (detect) return\n\n // Polyfill from https://raw.githubusercontent.com/Financial-Times/polyfill-service/1f3c09b402f65bf6e393f933a15ba63f1b86ef1f/packages/polyfill-library/polyfills/Element/prototype/closest/polyfill.js\n Element.prototype.closest = function closest(selector) {\n var node = this;\n\n while (node) {\n if (node.matches(selector)) return node;\n else node = 'SVGElement' in window && node instanceof SVGElement ? node.parentNode : node.parentElement;\n }\n\n return null;\n };\n\n}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n\nfunction ErrorSummary ($module) {\n this.$module = $module;\n}\n\nErrorSummary.prototype.init = function () {\n var $module = this.$module;\n if (!$module) {\n return\n }\n $module.focus();\n\n $module.addEventListener('click', this.handleClick.bind(this));\n};\n\n/**\n* Click event handler\n*\n* @param {MouseEvent} event - Click event\n*/\nErrorSummary.prototype.handleClick = function (event) {\n var target = event.target;\n if (this.focusTarget(target)) {\n event.preventDefault();\n }\n};\n\n/**\n * Focus the target element\n *\n * By default, the browser will scroll the target into view. Because our labels\n * or legends appear above the input, this means the user will be presented with\n * an input without any context, as the label or legend will be off the top of\n * the screen.\n *\n * Manually handling the click event, scrolling the question into view and then\n * focussing the element solves this.\n *\n * This also results in the label and/or legend being announced correctly in\n * NVDA (as tested in 2018.3.2) - without this only the field type is announced\n * (e.g. \"Edit, has autocomplete\").\n *\n * @param {HTMLElement} $target - Event target\n * @returns {boolean} True if the target was able to be focussed\n */\nErrorSummary.prototype.focusTarget = function ($target) {\n // If the element that was clicked was not a link, return early\n if ($target.tagName !== 'A' || $target.href === false) {\n return false\n }\n\n var inputId = this.getFragmentFromUrl($target.href);\n var $input = document.getElementById(inputId);\n if (!$input) {\n return false\n }\n\n var $legendOrLabel = this.getAssociatedLegendOrLabel($input);\n if (!$legendOrLabel) {\n return false\n }\n\n // Scroll the legend or label into view *before* calling focus on the input to\n // avoid extra scrolling in browsers that don't support `preventScroll` (which\n // at time of writing is most of them...)\n $legendOrLabel.scrollIntoView();\n $input.focus({ preventScroll: true });\n\n return true\n};\n\n/**\n * Get fragment from URL\n *\n * Extract the fragment (everything after the hash) from a URL, but not including\n * the hash.\n *\n * @param {string} url - URL\n * @returns {string} Fragment from URL, without the hash\n */\nErrorSummary.prototype.getFragmentFromUrl = function (url) {\n if (url.indexOf('#') === -1) {\n return false\n }\n\n return url.split('#').pop()\n};\n\n/**\n * Get associated legend or label\n *\n * Returns the first element that exists from this list:\n *\n * - The `` associated with the closest `
` ancestor, as long\n * as the top of it is no more than half a viewport height away from the\n * bottom of the input\n * - The first `
`; // Close the table\r\n }\r\n \r\n } else {\r\n `\r\n `; //Close the table\r\n }\r\n\r\n\r\n if (res.data.features[0].properties.licence_status == 'Surrendered'|| res.data.features[0].properties.licence_status == 'Revoked' || res.data.features[0].properties.licence_status == 'Lapsed' || res.data.features[0].properties.licence_status == 'Deferred' || res.data.features[0].properties.licence_status == 'In Mediation'|| res.data.features[0].properties.licence_status == 'In-consultation'|| res.data.features[0].properties.licence_status == 'Invalid'|| res.data.features[0].properties.licence_status == 'Invalid code'|| res.data.features[0].properties.licence_status == 'Sub-Committee'|| res.data.features[0].properties.licence_status == 'Valid'|| res.data.features[0].properties.licence_status == 'Unknown/empty' || res.data.features[0].properties.licence_status == 'Lapsed' || res.data.features[0].properties.licence_status == 'Deferred' || res.data.features[0].properties.licence_status == 'In Mediation'|| res.data.features[0].properties.licence_status == 'In-consultation'|| res.data.features[0].properties.licence_status == 'Invalid'|| res.data.features[0].properties.licence_status == 'Invalid code'|| res.data.features[0].properties.licence_status == 'Sub-Committee'|| res.data.features[0].properties.licence_status == 'Valid'|| res.data.features[0].properties.licence_status == 'Suspended'){\r\n //List the results without the activities and the mandatory conditions\r\n document.getElementById('results').innerHTML = \"
\" + textSection + \"
\";\r\n } else {\r\n //Open the Activity types table\r\n textSection +=`

\r\n \r\n \r\n `\r\n\r\n //Add the play activity\r\n if (res.data.features[0].properties.playstime1){\r\n if (res.data.features[0].properties.playstime2){\r\n if (res.data.features[0].properties.playstime3){\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n `\r\n }else{\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n \r\n } else {\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n }\r\n \r\n //Add the films activity\r\n if (res.data.features[0].properties.filmstime1){\r\n if (res.data.features[0].properties.filmstime2){\r\n if (res.data.features[0].properties.filmstime3){\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }else{\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n\r\n } else {\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n }\r\n\r\n //Add the indoor sporting activity\r\n if (res.data.features[0].properties.indoortime1){\r\n if (res.data.features[0].properties.indoortime2){\r\n if (res.data.features[0].properties.indoortime3){\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }else{\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n\r\n } else {\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n }\r\n\r\n //Add the boxing activity\r\n if (res.data.features[0].properties.boxingtime1){\r\n if (res.data.features[0].properties.boxingtime2){\r\n if (res.data.features[0].properties.boxingtime3){\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }else{\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n\r\n } else {\r\n textSection +=`\r\n \r\n\r\n \r\n \r\n \r\n \r\n `\r\n }\r\n }\r\n //Add the live music activity\r\n if (res.data.features[0].properties.livemusictime1){\r\n if (res.data.features[0].properties.livemusictime2){\r\n if (res.data.features[0].properties.livemusictime3){\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n `\r\n }else{\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n\r\n } else {\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n }\r\n\r\n //Add the recorded music activity\r\n if (res.data.features[0].properties.recordemusictime1){\r\n if (res.data.features[0].properties.recordemusictime2){\r\n if (res.data.features[0].properties.recordemusictime3){\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }else{\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n\r\n } else {\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n }\r\n\r\n //Add the performance of dance activity\r\n if (res.data.features[0].properties.dancetime1){\r\n if (res.data.features[0].properties.dancetime2){\r\n if (res.data.features[0].properties.dancetime3){\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }else{\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n \r\n } else {\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n }\r\n\r\n //Add the other entertaiment activity\r\n if (res.data.features[0].properties.other_enter_time1){\r\n if (res.data.features[0].properties.other_enter_time2){\r\n if (res.data.features[0].properties.other_enter_time3){\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }else{\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n \r\n } else {\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n }\r\n\r\n //Add the late night refreshment activity\r\n if (res.data.features[0].properties.latenighttime1){\r\n if (res.data.features[0].properties.latenighttime2){\r\n if (res.data.features[0].properties.latenighttime3){\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }else{\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n \r\n } else {\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n }\r\n\r\n //Add the supply of alcohol activity\r\n if (res.data.features[0].properties.alcoholtimes1){\r\n if (res.data.features[0].properties.alcoholtimes2){\r\n if (res.data.features[0].properties.alcoholtimes3){\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }else{\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n \r\n } else {\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n }\r\n //Add the opening times\r\n if (res.data.features[0].properties.openinghourstimes1){\r\n if (res.data.features[0].properties.openinghourstimes2){\r\n if (res.data.features[0].properties.openinghourstimes3){\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }else{\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n \r\n } else {\r\n textSection +=`\r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n \r\n //Close the Activity types table\r\n textSection +=`\r\n
\r\n The times the licence authorises the carrying out of licensable activities:\r\n
Plays${res.data.features[0].properties.playslocation1}
${res.data.features[0].properties.playstime1}
${res.data.features[0].properties.playslocation2}
${res.data.features[0].properties.playstime2}
Plays${res.data.features[0].properties.playslocation1}
${res.data.features[0].properties.playstime1}
${res.data.features[0].properties.playslocation2}
${res.data.features[0].properties.playstime2}
Plays${res.data.features[0].properties.playslocation1}
${res.data.features[0].properties.playstime1}
${res.data.features[0].properties.playstime1}
Exhibition of films${res.data.features[0].properties.filmslocation1}
${res.data.features[0].properties.filmstime1}
${res.data.features[0].properties.filmslocation2}
${res.data.features[0].properties.filmstime2}
${res.data.features[0].properties.filmslocation3}
${res.data.features[0].properties.filmstime3}
Exhibition of films${res.data.features[0].properties.filmslocation1}
${res.data.features[0].properties.filmstime1}
${res.data.features[0].properties.filmslocation2}
${res.data.features[0].properties.filmstime2}
Exhibition of films${res.data.features[0].properties.filmslocation1}
${res.data.features[0].properties.filmstime1}
Indoor sporting events${res.data.features[0].properties.sportslocation1}
${res.data.features[0].properties.indoortime1}
${res.data.features[0].properties.sportslocation2}
${res.data.features[0].properties.indoortime2}
${res.data.features[0].properties.sportslocation3}
${res.data.features[0].properties.indoortime3}
Indoor sporting events${res.data.features[0].properties.sportslocation1}
${res.data.features[0].properties.indoortime1}
${res.data.features[0].properties.sportslocation2}
${res.data.features[0].properties.indoortime2}
Indoor sporting events${res.data.features[0].properties.sportslocation1}
${res.data.features[0].properties.indoortime1}
Boxing${res.data.features[0].properties.boxinglocation1}
${res.data.features[0].properties.boxingtime1}
${res.data.features[0].properties.boxinglocation2}
${res.data.features[0].properties.livemusictime2}
${res.data.features[0].properties.boxinglocation3}
${res.data.features[0].properties.boxingtime2}
Boxing${res.data.features[0].properties.boxinglocation1}
${res.data.features[0].properties.boxingtime1}
${res.data.features[0].properties.boxinglocation2}
${res.data.features[0].properties.livemusictime2}
Boxing${res.data.features[0].properties.boxinglocation1}
${res.data.features[0].properties.boxingtime1}
${res.data.features[0].properties.livemusiclocation1}
${res.data.features[0].properties.livemusictime1}
${res.data.features[0].properties.livemusiclocation2}
${res.data.features[0].properties.livemusictime2}
${res.data.features[0].properties.livemusiclocation3}
${res.data.features[0].properties.livemusictime3}
Live music${res.data.features[0].properties.livemusiclocation1}
${res.data.features[0].properties.livemusictime1}
${res.data.features[0].properties.livemusiclocation2}
${res.data.features[0].properties.livemusictime2}
Live music${res.data.features[0].properties.livemusiclocation1}
${res.data.features[0].properties.livemusictime1}
Recorded music${res.data.features[0].properties.recordedlocation1}
${res.data.features[0].properties.recordemusictime1}
${res.data.features[0].properties.recordedlocation2}
${res.data.features[0].properties.recordemusictime2}
${res.data.features[0].properties.recordedlocation3}
${res.data.features[0].properties.recordemusictime3}
Recorded music${res.data.features[0].properties.recordedlocation1}
${res.data.features[0].properties.recordemusictime1}
${res.data.features[0].properties.recordedlocation2}
${res.data.features[0].properties.recordemusictime2}
Recorded music${res.data.features[0].properties.recordedlocation1}
${res.data.features[0].properties.recordemusictime1}
Performances of dance${res.data.features[0].properties.perf_dance_location1}
${res.data.features[0].properties.dancetime1}
${res.data.features[0].properties.perf_dance_location2}
${res.data.features[0].properties.dancetime2}
${res.data.features[0].properties.perf_dance_location3}
${res.data.features[0].properties.dancetime3}
Performances of dance${res.data.features[0].properties.perf_dance_location1}
${res.data.features[0].properties.dancetime1}
${res.data.features[0].properties.perf_dance_location2}
${res.data.features[0].properties.dancetime2}
Performances of dance${res.data.features[0].properties.perf_dance_location1}
${res.data.features[0].properties.dancetime1}
Entertainment of a similar description to live music recorded music and performances of dance${res.data.features[0].properties.other_enter_location1}
${res.data.features[0].properties.other_enter_time1}
${res.data.features[0].properties.other_enter_location2}
${res.data.features[0].properties.other_enter_time2}
${res.data.features[0].properties.other_enter_location3}
${res.data.features[0].properties.other_enter_time3}
Entertainment of a similar description to live music recorded music and performances of dance${res.data.features[0].properties.other_enter_location1}
${res.data.features[0].properties.other_enter_time1}
${res.data.features[0].properties.other_enter_location2}
${res.data.features[0].properties.other_enter_time2}
Entertainment of a similar description to live music recorded music and performances of dance${res.data.features[0].properties.other_enter_location1}
${res.data.features[0].properties.other_enter_time1}
Late night refreshment${res.data.features[0].properties.latenightlocation1}
${res.data.features[0].properties.latenighttime1}
${res.data.features[0].properties.latenightlocation2}
${res.data.features[0].properties.latenighttime2}
${res.data.features[0].properties.latenightlocation3}
${res.data.features[0].properties.latenighttime3}
Late night refreshment${res.data.features[0].properties.latenightlocation1}
${res.data.features[0].properties.latenighttime1}
${res.data.features[0].properties.latenightlocation2}
${res.data.features[0].properties.latenighttime2}
Late night refreshment${res.data.features[0].properties.latenightlocation1}
${res.data.features[0].properties.latenighttime1}
Supply of alcohol
(${res.data.features[0].properties.alcoholsaletype})
${res.data.features[0].properties.alcohollocation1}
${res.data.features[0].properties.alcoholtimes1}
${res.data.features[0].properties.alcohollocation2}
${res.data.features[0].properties.alcoholtimes2}
${res.data.features[0].properties.alcohollocation3}
${res.data.features[0].properties.alcoholtimes3}
Supply of alcohol
(${res.data.features[0].properties.alcoholsaletype})
${res.data.features[0].properties.alcohollocation1}
${res.data.features[0].properties.alcoholtimes1}
${res.data.features[0].properties.alcohollocation2}
${res.data.features[0].properties.alcoholtimes2}
Supply of alcohol
(${res.data.features[0].properties.alcoholsaletype})
${res.data.features[0].properties.alcohollocation1}
${res.data.features[0].properties.alcoholtimes1}
Opening times${res.data.features[0].properties.openinghourstimes1}${res.data.features[0].properties.openinghourstimes2}${res.data.features[0].properties.openinghourstimes3}
Opening times${res.data.features[0].properties.openinghourstimes1}${res.data.features[0].properties.openinghourstimes2}
Opening times${res.data.features[0].properties.openinghourstimes1}
`\r\n\r\n\r\n //Create the conditions text for each accordion section\r\n let mandatoryConditionsText =\"\";\r\n if (res.data.features[0].properties.mandatory_cond_alcohol_supply){\r\n mandatoryConditionsText += `\r\n

Supply of alcohol


${res.data.features[0].properties.mandatory_cond_alcohol_supply}

`\r\n }\r\n if (res.data.features[0].properties.mandatory_cond_film_exhibition){\r\n mandatoryConditionsText += `\r\n

Film exhibition


${res.data.features[0].properties.mandatory_cond_film_exhibition}

`\r\n }\r\n if (res.data.features[0].properties.mandatory_cond_door_supervision){\r\n mandatoryConditionsText += `\r\n

Door supervision


${res.data.features[0].properties.mandatory_cond_door_supervision}

`\r\n }\r\n\r\n let annex2ConditionsText =\"\";\r\n if (res.data.features[0].properties.opening_schedule){\r\n annex2ConditionsText += `\r\n

Conditions consistent with the Operating Schedule


${res.data.features[0].properties.opening_schedule}

`\r\n }\r\n if (res.data.features[0].properties.responsible_authority){\r\n annex2ConditionsText += `\r\n

Conditions derived from Responsible Authority representations


${res.data.features[0].properties.responsible_authority}

`\r\n }\r\n\r\n let annex3ConditionsText =\"\";\r\n if (res.data.features[0].properties.committee_hearing){\r\n annex3ConditionsText += `\r\n

Conditions attached after a hearing by the licensing authority


${res.data.features[0].properties.committee_hearing}

`\r\n }\r\n\r\n //Add the accordion sections to the rest of the text\r\n textSection +=`

\r\n

\r\n Conditions

\r\n
\r\n
\r\n
\r\n
\r\n \r\n Mandatory Conditions\r\n
\r\n
\r\n
\r\n

${mandatoryConditionsText}

\r\n
`\r\n\r\n if (annex2ConditionsText){\r\n textSection +=`
\r\n
\r\n
\r\n \r\n Annex 2\r\n
\r\n
\r\n
\r\n

${annex2ConditionsText}

\r\n
`\r\n }\r\n\r\n if (annex3ConditionsText){\r\n textSection += `
\r\n
\r\n
\r\n \r\n Annex 3\r\n
\r\n
\r\n
\r\n

${annex3ConditionsText}

\r\n
`\r\n }\r\n\r\n textSection += `
`//Close the div\r\n }\r\n\r\n //List the results using an accordion. \r\n document.getElementById('results').innerHTML = \"
\" + textSection + \"
\";\r\n \r\n \r\n }\r\n } else{\r\n //When there is more than one license\r\n //console.log('There is more than one licenses');\r\n //console.log(res.data.features);\r\n document.getElementById(\"results\").innerHTML = 'There are multiple licenses associated to this address. Please contact us at licensing@hackney.gov.uk.';\r\n }//Close else(when numberReturned is not 1)\r\n }//Close else (when numberReturned is not 0)\r\n \r\n \r\n //Activate the JS of the component\r\n const accordion = document.querySelector('[data-module=\"govuk-accordion\"]');\r\n if (accordion) {\r\n new Accordion(accordion).init();\r\n }\r\n \r\n \r\n }) //Close then\r\n .catch((error) => {\r\n //Catch geoserver error\r\n document.getElementById(\"error_message\").innerHTML = 'Sorry, there was a problem retrieving the results for this address.';\r\n }) \r\n}\r\n\r\n"]}