UNPKG

@sls-next/lambda-at-edge

Version:

Provides handlers that can be used in CloudFront Lambda@Edge to deploy next.js applications to the edge

1 lines 648 kB
"use strict";var e=require("./prerender-manifest.json"),t=require("./manifest.json"),a=require("./routes-manifest.json"),n=require("stream"),i=require("zlib"),r=require("http"),p=require("perf_hooks"),d=require("url"),o=require("punycode"),s=require("https"),l=require("crypto"),u=require("os"),m=require("path"),c=require("fs"),f=require("buffer");require("http2");var v=require("process"),h=require("child_process"),g=require("util");function w(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function y(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var b=w(e),S=w(t),E=w(a),_=w(n),T=w(i),N=w(r),A=w(d),C=w(o),D=w(s),x=w(l),L=y(l),R=w(f),k=w(g);const P={"accept-encoding":!0,"content-length":!0,"if-modified-since":!0,"if-none-match":!0,"if-range":!0,"if-unmodified-since":!0,"transfer-encoding":!0,via:!0},O={202:"Accepted",502:"Bad Gateway",400:"Bad Request",409:"Conflict",100:"Continue",201:"Created",417:"Expectation Failed",424:"Failed Dependency",403:"Forbidden",504:"Gateway Timeout",410:"Gone",505:"HTTP Version Not Supported",418:"I'm a teapot",419:"Insufficient Space on Resource",507:"Insufficient Storage",500:"Server Error",411:"Length Required",423:"Locked",420:"Method Failure",405:"Method Not Allowed",301:"Moved Permanently",302:"Moved Temporarily",207:"Multi-Status",300:"Multiple Choices",511:"Network Authentication Required",204:"No Content",203:"Non Authoritative Information",406:"Not Acceptable",404:"Not Found",501:"Not Implemented",304:"Not Modified",200:"OK",206:"Partial Content",402:"Payment Required",308:"Permanent Redirect",412:"Precondition Failed",428:"Precondition Required",102:"Processing",407:"Proxy Authentication Required",431:"Request Header Fields Too Large",408:"Request Timeout",413:"Request Entity Too Large",414:"Request-URI Too Long",416:"Requested Range Not Satisfiable",205:"Reset Content",303:"See Other",503:"Service Unavailable",101:"Switching Protocols",307:"Temporary Redirect",429:"Too Many Requests",401:"Unauthorized",422:"Unprocessable Entity",415:"Unsupported Media Type",305:"Use Proxy"},V={enableHTTPCompression:!1},I=(e,{enableHTTPCompression:t,rewrittenUri:a}=V)=>{const{request:n,response:i={headers:{}}}=e,r={headers:{}},p=new _.default.Readable,d=Object.assign(p,N.default.IncomingMessage.prototype);d.url=a||n.uri,d.method=n.method,d.rawHeaders=[],d.headers={},d.connection={},n.querystring&&(d.url=d.url+"?"+n.querystring);const o=n.headers||{};for(const e of Object.keys(o)){const t=o[e];t.forEach((e=>{d.rawHeaders.push(e.key),d.rawHeaders.push(e.value)})),d.headers[e]=t[0].value}d.getHeader=e=>d.headers[e.toLowerCase()],d.getHeaders=()=>d.headers,n.body&&n.body.data&&d.push(n.body.data,n.body.encoding?"base64":void 0),d.push(null);const s=new _.default;s.finished=!1,Object.defineProperty(s,"statusCode",{get:()=>r.status,set(e){r.status=e.toString(),r.statusDescription=O[e]}}),s.headers={};const l={};s.writeHead=(e,t)=>(r.status=e.toString(),r.statusDescription=O[e],t&&(s.headers=Object.assign(s.headers,t)),s),s.write=e=>{r.body||(r.body=Buffer.from("")),r.body=Buffer.concat([r.body,Buffer.isBuffer(e)?e:Buffer.from(e)])};let u=t&&(e=>{let t=!1;const a=e["accept-encoding"];if(a)for(let e=0;e<a.length;e++){const{value:n}=a[e];-1!==n.split(",").map((e=>e.split(";")[0].trim())).indexOf("gzip")&&(t=!0)}return t})(o);const m=new Promise((e=>{s.end=t=>{!0!==s.finished&&(s.finished=!0,t&&s.write(t),s.statusCode||(s.statusCode=200),r.body&&(r.bodyEncoding="base64",r.body=u?T.default.gzipSync(r.body).toString("base64"):Buffer.from(r.body).toString("base64")),r.headers=((e,t,a)=>{const n={};return Object.entries(a).forEach((([e,t])=>{n[e.toLowerCase()]=t})),Object.entries(e).forEach((([e,a])=>{const i=e.toLowerCase();e=t[i]||e,P[i]||(n[i]=[],a instanceof Array?a.forEach((t=>{t&&n[i].push({key:e,value:t.toString()})})):a&&n[i].push({key:e,value:a.toString()}))})),n})(s.headers,l,i.headers),u&&(r.headers["content-encoding"]=[{key:"Content-Encoding",value:"gzip"}]),e(r))}}));return s.setHeader=(e,t)=>{s.headers[e.toLowerCase()]=t,l[e.toLowerCase()]=e},s.removeHeader=e=>{delete s.headers[e.toLowerCase()]},s.getHeader=e=>s.headers[e.toLowerCase()],s.getHeaders=()=>s.headers,s.hasHeader=e=>!!s.getHeader(e),{req:d,res:s,responsePromise:m}};I.SPECIAL_NODE_HEADERS=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];var M=I;function q(e,t){void 0===t&&(t={});for(var a=function(e){for(var t=[],a=0;a<e.length;){var n=e[a];if("*"!==n&&"+"!==n&&"?"!==n)if("\\"!==n)if("{"!==n)if("}"!==n)if(":"!==n)if("("!==n)t.push({type:"CHAR",index:a,value:e[a++]});else{var i=1,r="";if("?"===e[d=a+1])throw new TypeError('Pattern cannot start with "?" at '+d);for(;d<e.length;)if("\\"!==e[d]){if(")"===e[d]){if(0==--i){d++;break}}else if("("===e[d]&&(i++,"?"!==e[d+1]))throw new TypeError("Capturing groups are not allowed at "+d);r+=e[d++]}else r+=e[d++]+e[d++];if(i)throw new TypeError("Unbalanced pattern at "+a);if(!r)throw new TypeError("Missing pattern at "+a);t.push({type:"PATTERN",index:a,value:r}),a=d}else{for(var p="",d=a+1;d<e.length;){var o=e.charCodeAt(d);if(!(o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122||95===o))break;p+=e[d++]}if(!p)throw new TypeError("Missing parameter name at "+a);t.push({type:"NAME",index:a,value:p}),a=d}else t.push({type:"CLOSE",index:a,value:e[a++]});else t.push({type:"OPEN",index:a,value:e[a++]});else t.push({type:"ESCAPED_CHAR",index:a++,value:e[a++]});else t.push({type:"MODIFIER",index:a,value:e[a++]})}return t.push({type:"END",index:a,value:""}),t}(e),n=t.prefixes,i=void 0===n?"./":n,r="[^"+F(t.delimiter||"/#?")+"]+?",p=[],d=0,o=0,s="",l=function(e){if(o<a.length&&a[o].type===e)return a[o++].value},u=function(e){var t=l(e);if(void 0!==t)return t;var n=a[o],i=n.type,r=n.index;throw new TypeError("Unexpected "+i+" at "+r+", expected "+e)},m=function(){for(var e,t="";e=l("CHAR")||l("ESCAPED_CHAR");)t+=e;return t};o<a.length;){var c=l("CHAR"),f=l("NAME"),v=l("PATTERN");if(f||v){var h=c||"";-1===i.indexOf(h)&&(s+=h,h=""),s&&(p.push(s),s=""),p.push({name:f||d++,prefix:h,suffix:"",pattern:v||r,modifier:l("MODIFIER")||""})}else{var g=c||l("ESCAPED_CHAR");if(g)s+=g;else if(s&&(p.push(s),s=""),l("OPEN")){h=m();var w=l("NAME")||"",y=l("PATTERN")||"",b=m();u("CLOSE"),p.push({name:w||(y?d++:""),pattern:w&&!y?r:y,prefix:h,suffix:b,modifier:l("MODIFIER")||""})}else u("END")}}return p}function j(e,t){return function(e,t){void 0===t&&(t={});var a=U(t),n=t.encode,i=void 0===n?function(e){return e}:n,r=t.validate,p=void 0===r||r,d=e.map((function(e){if("object"==typeof e)return new RegExp("^(?:"+e.pattern+")$",a)}));return function(t){for(var a="",n=0;n<e.length;n++){var r=e[n];if("string"!=typeof r){var o=t?t[r.name]:void 0,s="?"===r.modifier||"*"===r.modifier,l="*"===r.modifier||"+"===r.modifier;if(Array.isArray(o)){if(!l)throw new TypeError('Expected "'+r.name+'" to not repeat, but got an array');if(0===o.length){if(s)continue;throw new TypeError('Expected "'+r.name+'" to not be empty')}for(var u=0;u<o.length;u++){var m=i(o[u],r);if(p&&!d[n].test(m))throw new TypeError('Expected all "'+r.name+'" to match "'+r.pattern+'", but got "'+m+'"');a+=r.prefix+m+r.suffix}}else if("string"!=typeof o&&"number"!=typeof o){if(!s){var c=l?"an array":"a string";throw new TypeError('Expected "'+r.name+'" to be '+c)}}else{m=i(String(o),r);if(p&&!d[n].test(m))throw new TypeError('Expected "'+r.name+'" to match "'+r.pattern+'", but got "'+m+'"');a+=r.prefix+m+r.suffix}}else a+=r}return a}}(q(e,t),t)}function z(e,t){var a=[];return function(e,t,a){void 0===a&&(a={});var n=a.decode,i=void 0===n?function(e){return e}:n;return function(a){var n=e.exec(a);if(!n)return!1;for(var r=n[0],p=n.index,d=Object.create(null),o=function(e){if(void 0===n[e])return"continue";var a=t[e-1];"*"===a.modifier||"+"===a.modifier?d[a.name]=n[e].split(a.prefix+a.suffix).map((function(e){return i(e,a)})):d[a.name]=i(n[e],a)},s=1;s<n.length;s++)o(s);return{path:r,index:p,params:d}}}($(e,a,t),a,t)}function F(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function U(e){return e&&e.sensitive?"":"i"}function B(e,t,a){return function(e,t,a){void 0===a&&(a={});for(var n=a.strict,i=void 0!==n&&n,r=a.start,p=void 0===r||r,d=a.end,o=void 0===d||d,s=a.encode,l=void 0===s?function(e){return e}:s,u="["+F(a.endsWith||"")+"]|$",m="["+F(a.delimiter||"/#?")+"]",c=p?"^":"",f=0,v=e;f<v.length;f++){var h=v[f];if("string"==typeof h)c+=F(l(h));else{var g=F(l(h.prefix)),w=F(l(h.suffix));if(h.pattern)if(t&&t.push(h),g||w)if("+"===h.modifier||"*"===h.modifier){var y="*"===h.modifier?"?":"";c+="(?:"+g+"((?:"+h.pattern+")(?:"+w+g+"(?:"+h.pattern+"))*)"+w+")"+y}else c+="(?:"+g+"("+h.pattern+")"+w+")"+h.modifier;else c+="("+h.pattern+")"+h.modifier;else c+="(?:"+g+w+")"+h.modifier}}if(o)i||(c+=m+"?"),c+=a.endsWith?"(?="+u+")":"$";else{var b=e[e.length-1],S="string"==typeof b?m.indexOf(b[b.length-1])>-1:void 0===b;i||(c+="(?:"+m+"(?="+u+"))?"),S||(c+="(?="+m+"|"+u+")")}return new RegExp(c,U(a))}(q(e,a),t,a)}function $(e,t,a){return e instanceof RegExp?function(e,t){if(!t)return e;for(var a=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=a.exec(e.source);i;)t.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=a.exec(e.source);return e}(e,t):Array.isArray(e)?function(e,t,a){var n=e.map((function(e){return $(e,t,a).source}));return new RegExp("(?:"+n.join("|")+")",U(a))}(e,t,a):B(e,t,a)}var H=function(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var a={},n=t||{},i=e.split(";"),r=n.decode||K,p=0;p<i.length;p++){var d=i[p],o=d.indexOf("=");if(!(o<0)){var s=d.substring(0,o).trim();if(null==a[s]){var l=d.substring(o+1,d.length).trim();'"'===l[0]&&(l=l.slice(1,-1)),a[s]=W(l,r)}}}return a},K=decodeURIComponent;function W(e,t){try{return t(e)}catch(t){return e}}const G=(e,t)=>{const a=e.headers[t];return"string"==typeof a||a instanceof String?a:a&&a.length>0?a[0].value.split(":")[0]:void 0};function J(e){const t=G(e,"x-forwarded-host");return t||G(e,"host")}const X=(e,t)=>{var a;const n=null===(a=t.i18n)||void 0===a?void 0:a.domains;if(n){const t=J(e);if(t){const e=n.find((e=>e.domain===t));if(e)return e.defaultLocale}}return null};function Y(e,t,a=null){if(t.i18n){const n=null!=a?a:t.i18n.defaultLocale,i=t.i18n.locales,r=e.startsWith(t.basePath)?t.basePath:"",p=e.toLowerCase();for(const t of i)if(p===`${r}/${t}`.toLowerCase()||p.startsWith(`${r}/${t}/`.toLowerCase()))return e.replace(new RegExp(`${r}/${t}`,"i"),`${r}/${null!=a?a:t}`);return"/"===e||e===`${r}`?`${r}/${n}`:e.replace(`${r}/`,`${r}/${n}/`)}return e}function Q(e,t){if(t.i18n){const a=e.toLowerCase(),n=t.i18n.locales;for(const e of n){const t=`/${e.toLowerCase()}`;if(a===t)return"/";if(a.startsWith(`${t}/`))return`${a.slice(t.length)}`}}return e}const Z=async(e,t,a)=>{var n;if(a.i18n){const i=null===(n=a.i18n.defaultLocale)||void 0===n?void 0:n.toLowerCase(),r={};for(const e of a.i18n.locales)r[e.toLowerCase()]=e;const p=await Promise.resolve().then((function(){return require("./index-ac8d47d0.js")})).then((function(e){return e.index}));for(const n of p.languages(e)){const e=n.toLowerCase();if(e===i)break;if(r[e])return`${a.basePath}/${r[e]}${t.trailingSlash?"/":""}`}}};function ee(e,t){if(t.basePath&&e.startsWith(t.basePath)&&(e=e.slice(t.basePath.length)),t.i18n){const a=e.toLowerCase();for(const e of t.i18n.locales){const t=e.toLowerCase();if(a===`/${t}`||a.startsWith(`/${t}/`))return`/${e}`}return`/${t.i18n.defaultLocale}`}return""}function te(e,t){return z(t,{decode:decodeURIComponent})(e)}function ae(e,t){try{const a=e.toLowerCase();if(a.startsWith("https://")||a.startsWith("http://")){const{origin:a,pathname:n,search:i}=new URL(e),r=`${a}${j(n,{encode:encodeURIComponent})(t)}${i}`;return!e.endsWith("/")&&r.endsWith("/")?r.slice(0,-1):r}{const a=e.replace(/\?/g,"\\?");return j(a,{encode:encodeURIComponent})(t)}}catch(t){return console.error(`Could not compile destination ${e}, returning null instead. Error: ${t}`),null}}const ne=(e,t)=>{for(const{route:a,regex:n}of t){if(new RegExp(n,"i").test(e))return a}},ie=(e,t)=>{const a=Y(e,t),n={};for(const e of t.headers)if(te(a,e.source))for(const{key:t,value:a}of e.headers)t&&(n[t.toLowerCase()]=[{key:t,value:a}]);return n},re=(e,t)=>{var a;const[n]=(null!==(a=e.req.url)&&void 0!==a?a:"").split("?"),i=ie(n,t);for(const[{key:t,value:a}]of Object.values(i))t&&e.res.setHeader(t,a)},pe=(e,t)=>{var a;for(const[n,i]of Object.entries(t.headers||[])){const t=i.map((({key:e})=>e)),r=i.map((({value:e})=>e)).join(";");r&&e.res.setHeader(null!==(a=t[0])&&void 0!==a?a:n,r)}},de=e=>{var t;const[a,n]=(null!==(t=e.req.url)&&void 0!==t?t:"").split("?"),i={};for(const[t,a]of Object.entries(e.req.headers))a&&Array.isArray(a)?i[t.toLowerCase()]=a.map((e=>({key:t,value:e}))):a&&(i[t.toLowerCase()]=[{key:t,value:a}]);return{headers:i,querystring:n,uri:a}},oe=(e,t)=>{const{basePath:a}=t;if(a){if(!e.startsWith(a))return{normalisedUri:e,missingExpectedBasePath:!0};e=e.slice(a.length)}return e.endsWith("/")&&(e=e.slice(0,-1)),{normalisedUri:""===e?"/":e,missingExpectedBasePath:!1}},se=(e,t,a)=>{const n=`${ee(e,a)}/404`;if(t.pages.html.nonDynamic[n]||t.pages.ssg.nonDynamic[n])return{isData:!1,isStatic:!0,file:`pages${n}.html`,statusCode:404}},le=(e,t,a)=>se(e,t,a)||{isData:!0,isRender:!0,page:"pages/_error.js",statusCode:404},ue=(e,t,a)=>se(e,t,a)||{isData:!1,isRender:!0,page:"pages/_error.js",statusCode:404},me=e=>"/"==e?"pages/index.html":`pages${e}.html`,ce=(e,t,a,n,i,r)=>{var p,d,o;const{pages:s}=a,{normalisedUri:l,missingExpectedBasePath:u}=oe(Y(t,n,X(e,n)),n);if(!u){if(s.html.nonDynamic[l]){const e=Q(l,n),t="/404"===e?404:"/500"===e?500:void 0;return{isData:!1,isStatic:!0,file:s.html.nonDynamic[l],statusCode:t}}if(s.ssg.nonDynamic[l]&&!i){const e=s.ssg.nonDynamic[l],t=null!==(p=e.srcRoute)&&void 0!==p?p:l,a=Q(l,n),i="/404"===a?404:"/500"===a?500:void 0;return{isData:!1,isStatic:!0,file:me(l),page:s.ssr.nonDynamic[t]||s.ssr.dynamic[t],revalidate:e.initialRevalidateSeconds,statusCode:i}}const e=decodeURI(l);if(s.ssg.nonDynamic[e]&&!i){const t=s.ssg.nonDynamic[e];if(t.initialRevalidateSeconds){const a=null!==(d=t.srcRoute)&&void 0!==d?d:e,i=Q(e,n),r="/404"===i?404:"/500"===i?500:void 0;return{isData:!1,isStatic:!0,file:me(l),page:s.ssr.nonDynamic[a]||s.ssr.dynamic[a],revalidate:t.initialRevalidateSeconds,statusCode:r}}}if((null!==(o=s.ssg.notFound)&&void 0!==o?o:{})[l]&&!i)return ue(t,a,n);if(s.ssr.nonDynamic[l])return l.startsWith("/api/")?{isApi:!0,page:s.ssr.nonDynamic[l]}:{isData:!1,isRender:!0,page:s.ssr.nonDynamic[l]}}const m=!r&&function(e,t,a,n){const i=Y(t,a,X(e,a)),r=a.rewrites;for(const t of r){const r=te(i,t.source);if(!r)continue;const p=r.params,d=ae(t.destination,p);if(!d)return;if(n&&i===d){if(404===ce(e,d,n,a,!1,!0).statusCode)continue}const o=Object.keys(p).filter((e=>"nextInternalLocale"!==e)).filter((e=>!t.destination.endsWith(`:${e}`)&&!t.destination.includes(`:${e}/`))).map((e=>{const t=p[e];return"string"==typeof t?`${e}=${t}`:t.map((t=>`${e}=${t}`)).join("&")})).filter((e=>e)).join("&");if(o){const e=d.includes("?")?"&":"?";return`${d}${e}${o}`}return d}}(e,t,n,a);if(m){const[t,r]=m.split("?");if((c=t).startsWith("http://")||c.startsWith("https://"))return{isExternal:!0,path:t,querystring:r};return{...ce(e,t,a,n,i,!0),querystring:r}}var c;if(!u){const e=ne(l,s.dynamic),t=e&&s.ssg.dynamic[e];if(t&&!i)return{isData:!1,isStatic:!0,file:me(l),page:e?s.ssr.dynamic[e]:void 0,fallback:t.fallback};const a=e&&s.ssr.dynamic[e];if(a)return e.startsWith("/api/")?{isApi:!0,page:a}:{isData:!1,isRender:!0,page:a};const n=e&&s.html.dynamic[e];if(n)return{isData:!1,isStatic:!0,file:n}}return ue(t,a,n)};const fe=(e,t)=>{const a=`/_next/data/${t}`;return"/"===e?`${a}/index.json`:`${a}${e}.json`},ve={__prerender_bypass:"",__next_preview_data:""},he=e=>(e||[]).reduce(((e,t)=>{const a=H(t.value);return ge(a)?a:e}),ve),ge=e=>!(!e.__next_preview_data||!e.__prerender_bypass);function we(e,t,a){let n;if(t){const[a,i]=e.split("?");n=`${a}?${t}${i?`&${i}`:""}`}else n=e;const i=a;return{isRedirect:!0,status:i,statusDescription:r.STATUS_CODES[i]||"",headers:{location:[{key:"Location",value:n}],refresh:308===a?[{key:"Refresh",value:`0;url=${n}`}]:[],"cache-control":[{key:"Cache-Control",value:"s-maxage=0"}]}}}async function ye(e,t,a){var n,i,r;if(!1===(null===(n=a.i18n)||void 0===n?void 0:n.localeDetection))return;const p=await async function(e,t){var a,n,i,r,p,d;const o=null===(a=t.i18n)||void 0===a?void 0:a.domains,s=J(e);if(o&&s){const t=e.headers["accept-language"],a=t&&(null===(n=t[0])||void 0===n?void 0:n.value),l=e.headers.cookie?null===(i=e.headers.cookie[0])||void 0===i?void 0:i.value:void 0;let u,m=[];l&&(u=H(l).NEXT_LOCALE),m=u?[u.toLowerCase()]:(await Promise.resolve().then((function(){return require("./index-ac8d47d0.js")})).then((function(e){return e.index}))).languages(a).map((e=>e.toLowerCase()));const c=o.find((e=>e.domain===s));if(c)for(const e of m)if((null===(r=c.defaultLocale)||void 0===r?void 0:r.toLowerCase())===e||(null===(p=c.locales)||void 0===p?void 0:p.map((e=>e.toLowerCase())).includes(e)))return;for(const t of m)for(const a of o)if(a.defaultLocale.toLowerCase()===t)return`${a.domain}${e.uri}`;for(const t of m)for(const a of o)if(null===(d=a.locales)||void 0===d?void 0:d.map((e=>e.toLowerCase())).includes(t))return`${a.domain}${e.uri}`}}(e,a);if(p)return p;const d=a.basePath,o=t.trailingSlash,s=d?`${d}${o?"/":""}`:"/",l=e.headers.cookie?null===(i=e.headers.cookie[0])||void 0===i?void 0:i.value:void 0;if(e.uri===s&&l){const e=H(l).NEXT_LOCALE;if(e)return await Z(e,t,a)}const u=e.headers["accept-language"],m=u&&(null===(r=u[0])||void 0===r?void 0:r.value);return e.uri===s&&m?await Z(m,t,a):void 0}const be=(e,t)=>{const{headers:a}=e;return function(e,t){var a;if(t&&t.username&&t.password){const n="Basic "+Buffer.from(t.username+":"+t.password).toString("base64");if(!e||(null===(a=e[0])||void 0===a?void 0:a.value)!==n)return{isUnauthorized:!0,status:401,statusDescription:"Unauthorized",body:"Unauthorized",headers:{"www-authenticate":[{key:"WWW-Authenticate",value:"Basic"}]}}}}(a.authorization,t.authentication)},Se=(e,t)=>{const a=function(e,t){var a;const n=Y(e.uri,t),i=null!==(a=t.redirects)&&void 0!==a?a:[];for(const e of i){const t=te(n,e.source);if(t){const a=ae(e.destination,t.params);return a?{path:a,statusCode:e.statusCode}:null}}return null}(e,t);if(a){const{path:t,statusCode:n}=a;return we(t,e.querystring,n)}},Ee=(e,t)=>{const a=decodeURI(e);if(t.publicFiles&&t.publicFiles[a])return{isPublicFile:!0,file:e}},_e=async(e,t,a,n)=>{const i=be(e,t);if(i)return i;const r=((e,t)=>{const a=function(e,t){const a=e.headers.host;if(a&&a.length>0){const n=a[0].value,i=t.domainRedirects;if(i&&i[n])return`${i[n]}${e.uri}`}}(e,t);if(a)return we(a,e.querystring,308)})(e,t);if(r)return r;const{normalisedUri:p,missingExpectedBasePath:d}=oe(e.uri,n),o=p.endsWith("/404"),s=p.startsWith("/_next/data"),l=Ee(p,t),u=!!l,m=(e=>{if(e.startsWith("/_next/static"))return{isNextStaticFile:!0,file:e}})(p);if(!d){const a=!o&&((e,t,a)=>{const n=function(e,t,a){const{uri:n}=e;if(a){if(n.endsWith("/"))return n.slice(0,-1)}else if(/^\/[^/]/.test(e.uri)){const e=t.trailingSlash;if(!e&&n.endsWith("/"))return n.slice(0,-1);if(e&&!n.endsWith("/"))return n+"/"}}(e,t,a);if(n)return we(n,e.querystring,308)})(e,t,s||u||!!m);if(a)return a;if(l)return l;if(m)return m}const c=Se(e,n)||await(async(e,t,a)=>{const n=await ye(e,t,a);if(n)return we(n,e.querystring,307)})(e,t,n);if(c)return c;const f=await(async(e,t)=>{const a=he(e);if(ge(a))try{return(await Promise.resolve().then((function(){return require("./index-236a3d0c.js")})).then((function(e){return e.index}))).verify(a.__next_preview_data,t),!0}catch(e){console.warn("Found preview headers without valid authentication token")}return!1})(e.headers.cookie,a.preview.previewModeSigningKey);return s?((e,t,a,n)=>{var i,r,p;const{buildId:d,pages:o}=t,s=Y(((e,t)=>{const a=`/_next/data/${t}`;return e.startsWith(a)?e.slice(a.length).replace(/\.json$/,"").replace(/^(\/index)?$/,"/"):e})(e,d),a);if(o.ssg.nonDynamic[s]&&!n){const e=o.ssg.nonDynamic[s],t=null!==(i=e.srcRoute)&&void 0!==i?i:s;return{isData:!0,isStatic:!0,file:fe(s,d),page:o.ssr.nonDynamic[t],revalidate:e.initialRevalidateSeconds}}const l=decodeURI(s);if(o.ssg.nonDynamic[l]&&!n){const e=o.ssg.nonDynamic[l];if(e.initialRevalidateSeconds){const t=null!==(r=e.srcRoute)&&void 0!==r?r:l;return{isData:!0,isStatic:!0,file:fe(s,d),page:o.ssr.nonDynamic[t],revalidate:e.initialRevalidateSeconds}}}if((null!==(p=o.ssg.notFound)&&void 0!==p?p:{})[s]&&!n)return le(e,t,a);if(o.ssr.nonDynamic[s])return{isData:!0,isRender:!0,page:o.ssr.nonDynamic[s]};const u=ne(s,o.dynamic),m=u&&o.ssg.dynamic[u];if(m&&!n)return{isData:!0,isStatic:!0,file:fe(s,d),page:u?o.ssr.dynamic[u]:void 0,fallback:m.fallback};const c=u&&o.ssr.dynamic[u];return c?{isData:!0,isRender:!0,page:c}:le(e,t,a)})(p,t,n,f):ce(e,e.uri,t,n,f)},Te=async(e,t,a,n,i,r)=>{var p;console.error(`Error rendering page: ${a.page}. Error:\n${e}\nRendering Next.js error page.`);const{req:d,res:o}=t,s=ee(null!==(p=d.url)&&void 0!==p?p:"",i),l=`${s}/500`;if(n.pages.html.nonDynamic[l]||n.pages.ssg.nonDynamic[l])return{isData:a.isData,isStatic:!0,file:`pages${s}/500.html`,statusCode:500};{o.statusCode=500;const e=r("./pages/_error.js");await Promise.race([e.render(d,o),t.responsePromise])}},Ne=async(e,t,a,n,i)=>{const{req:r,res:p}=e;re(e,n),r.url&&n.i18n&&!t.isData&&(r.url=Y(r.url,n,X(de(e),n))),t.statusCode&&(p.statusCode=t.statusCode);const d=i(t.page);try{if(t.isData){const{renderOpts:e}=await d.renderReqToHTML(r,p,"passthrough");p.setHeader("Content-Type","application/json"),p.end(JSON.stringify(e.pageData))}else t.isApi||await Promise.race([d.render(r,p),e.responsePromise])}catch(r){return Te(r,e,t,a,n,i)}},Ae=async(e,t,a,n,i)=>{const r=de(e),p=await _e(r,t,a,n);if(p.querystring&&(e.req.url=`${e.req.url}${r.querystring?"&":"?"}${p.querystring}`),p.isRedirect)return((e,t)=>{pe(e,t),e.res.statusCode=t.status,e.res.statusMessage=t.statusDescription,e.res.end()})(e,p);if(p.isRender)return Ne(e,p,t,n,i);if(p.isApi){const{page:t}=p;return re(e,n),e.req.hasOwnProperty("originalRequest")||Object.defineProperty(e.req,"originalRequest",{get:()=>e.req}),e.res.hasOwnProperty("originalResponse")||Object.defineProperty(e.res,"originalResponse",{get:()=>e.res}),void i(t).default(e.req,e.res)}return p.isUnauthorized?((e,t)=>{pe(e,t),e.res.statusCode=t.status,e.res.statusMessage=t.statusDescription,e.res.end()})(e,p):p};var Ce=(()=>{var e={343:(e,t,a)=>{a.r(t),a.d(t,{Observable:()=>y,combineLatest:()=>S,default:()=>_,merge:()=>b,zip:()=>E});const n=()=>"function"==typeof Symbol,i=e=>n()&&Boolean(Symbol[e]),r=e=>i(e)?Symbol[e]:"@@"+e;n()&&!i("observable")&&(Symbol.observable=Symbol("observable"));const p=r("iterator"),d=r("observable"),o=r("species");function s(e,t){let a=e[t];if(null!=a){if("function"!=typeof a)throw new TypeError(a+" is not a function");return a}}function l(e){let t=e.constructor;return void 0!==t&&(t=t[o],null===t&&(t=void 0)),void 0!==t?t:y}function u(e){u.log?u.log(e):setTimeout((()=>{throw e}))}function m(e){Promise.resolve().then((()=>{try{e()}catch(e){u(e)}}))}function c(e){let t=e._cleanup;if(void 0!==t&&(e._cleanup=void 0,t))try{if("function"==typeof t)t();else{let e=s(t,"unsubscribe");e&&e.call(t)}}catch(e){u(e)}}function f(e){e._observer=void 0,e._queue=void 0,e._state="closed"}function v(e,t,a){e._state="running";let n=e._observer;try{let i=s(n,t);switch(t){case"next":i&&i.call(n,a);break;case"error":if(f(e),!i)throw a;i.call(n,a);break;case"complete":f(e),i&&i.call(n)}}catch(e){u(e)}"closed"===e._state?c(e):"running"===e._state&&(e._state="ready")}function h(e,t,a){if("closed"!==e._state){if("buffering"!==e._state)return"ready"!==e._state?(e._state="buffering",e._queue=[{type:t,value:a}],void m((()=>function(e){let t=e._queue;if(t){e._queue=void 0,e._state="ready";for(let a=0;a<t.length&&(v(e,t[a].type,t[a].value),"closed"!==e._state);++a);}}(e)))):void v(e,t,a);e._queue.push({type:t,value:a})}}class g{constructor(e,t){this._cleanup=void 0,this._observer=e,this._queue=void 0,this._state="initializing";let a=new w(this);try{this._cleanup=t.call(void 0,a)}catch(e){a.error(e)}"initializing"===this._state&&(this._state="ready")}get closed(){return"closed"===this._state}unsubscribe(){"closed"!==this._state&&(f(this),c(this))}}class w{constructor(e){this._subscription=e}get closed(){return"closed"===this._subscription._state}next(e){h(this._subscription,"next",e)}error(e){h(this._subscription,"error",e)}complete(){h(this._subscription,"complete")}}class y{constructor(e){if(!(this instanceof y))throw new TypeError("Observable cannot be called as a function");if("function"!=typeof e)throw new TypeError("Observable initializer must be a function");this._subscriber=e}subscribe(e){return"object"==typeof e&&null!==e||(e={next:e,error:arguments[1],complete:arguments[2]}),new g(e,this._subscriber)}forEach(e){return new Promise(((t,a)=>{if("function"!=typeof e)return void a(new TypeError(e+" is not a function"));function n(){i.unsubscribe(),t()}let i=this.subscribe({next(t){try{e(t,n)}catch(e){a(e),i.unsubscribe()}},error:a,complete:t})}))}map(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return new(l(this))((t=>this.subscribe({next(a){try{a=e(a)}catch(e){return t.error(e)}t.next(a)},error(e){t.error(e)},complete(){t.complete()}})))}filter(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return new(l(this))((t=>this.subscribe({next(a){try{if(!e(a))return}catch(e){return t.error(e)}t.next(a)},error(e){t.error(e)},complete(){t.complete()}})))}reduce(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");let t=l(this),a=arguments.length>1,n=!1,i=arguments[1];return new t((t=>this.subscribe({next(r){let p=!n;if(n=!0,!p||a)try{i=e(i,r)}catch(e){return t.error(e)}else i=r},error(e){t.error(e)},complete(){if(!n&&!a)return t.error(new TypeError("Cannot reduce an empty sequence"));t.next(i),t.complete()}})))}concat(...e){let t=l(this);return new t((a=>{let n,i=0;return function r(p){n=p.subscribe({next(e){a.next(e)},error(e){a.error(e)},complete(){i===e.length?(n=void 0,a.complete()):r(t.from(e[i++]))}})}(this),()=>{n&&(n.unsubscribe(),n=void 0)}}))}flatMap(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");let t=l(this);return new t((a=>{let n=[],i=this.subscribe({next(i){if(e)try{i=e(i)}catch(e){return a.error(e)}let p=t.from(i).subscribe({next(e){a.next(e)},error(e){a.error(e)},complete(){let e=n.indexOf(p);e>=0&&n.splice(e,1),r()}});n.push(p)},error(e){a.error(e)},complete(){r()}});function r(){i.closed&&0===n.length&&a.complete()}return()=>{n.forEach((e=>e.unsubscribe())),i.unsubscribe()}}))}[d](){return this}static from(e){let t="function"==typeof this?this:y;if(null==e)throw new TypeError(e+" is not an object");let a=s(e,d);if(a){let n=a.call(e);if(Object(n)!==n)throw new TypeError(n+" is not an object");return function(e){return e instanceof y}(n)&&n.constructor===t?n:new t((e=>n.subscribe(e)))}if(i("iterator")&&(a=s(e,p),a))return new t((t=>{m((()=>{if(!t.closed){for(let n of a.call(e))if(t.next(n),t.closed)return;t.complete()}}))}));if(Array.isArray(e))return new t((t=>{m((()=>{if(!t.closed){for(let a=0;a<e.length;++a)if(t.next(e[a]),t.closed)return;t.complete()}}))}));throw new TypeError(e+" is not observable")}static of(...e){return new("function"==typeof this?this:y)((t=>{m((()=>{if(!t.closed){for(let a=0;a<e.length;++a)if(t.next(e[a]),t.closed)return;t.complete()}}))}))}static get[o](){return this}}function b(...e){return new y((t=>{if(0===e.length)return y.from([]);let a=e.length,n=e.map((e=>y.from(e).subscribe({next(e){t.next(e)},error(e){t.error(e)},complete(){0==--a&&t.complete()}})));return()=>n.forEach((e=>e.unsubscribe()))}))}function S(...e){return new y((t=>{if(0===e.length)return y.from([]);let a=e.length,n=new Set,i=!1,r=e.map((()=>{})),p=e.map(((p,d)=>y.from(p).subscribe({next(a){if(r[d]=a,!i){if(n.add(d),n.size!==e.length)return;n=null,i=!0}t.next(Array.from(r))},error(e){t.error(e)},complete(){0==--a&&t.complete()}})));return()=>p.forEach((e=>e.unsubscribe()))}))}function E(...e){return new y((t=>{if(0===e.length)return y.from([]);let a=e.map((()=>[]));function n(){return a.some(((e,t)=>0===e.length&&i[t].closed))}let i=e.map(((e,i)=>y.from(e).subscribe({next(e){a[i].push(e),a.every((e=>e.length>0))&&(t.next(a.map((e=>e.shift()))),n()&&t.complete())},error(e){t.error(e)},complete(){n()&&t.complete()}})));return()=>i.forEach((e=>e.unsubscribe()))}))}n()&&Object.defineProperty(y,Symbol("extensions"),{value:{symbol:d,hostReportError:u},configurable:!0});const _=y}},t={};function a(n){if(t[n])return t[n].exports;var i=t[n]={exports:{}},r=!0;try{e[n](i,i.exports,a),r=!1}finally{r&&delete t[n]}return i.exports}return a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.ab=__dirname+"/",a(343)})(),De="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function xe(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})})),t}function Le(e){var t={exports:{}};return e(t,t.exports),t.exports}Le((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SERVER_DIRECTORY=t.PAGES_MANIFEST=t.SERVER_PROPS_ID=t.CLIENT_STATIC_FILES_RUNTIME_WEBPACK=t.PERMANENT_REDIRECT_STATUS=t.SERVER_FILES_MANIFEST=t.STATIC_PROPS_ID=t.BUILD_MANIFEST=t.BLOCKED_PAGES=t.STATIC_STATUS_PAGES=t.PRERENDER_MANIFEST=t.DEV_CLIENT_PAGES_MANIFEST=t.OPTIMIZED_FONT_PROVIDERS=t.TEMPORARY_REDIRECT_STATUS=t.SERVERLESS_DIRECTORY=t.EXPORT_MARKER=t.GOOGLE_FONT_PROVIDER=t.PHASE_PRODUCTION_BUILD=t.CLIENT_STATIC_FILES_RUNTIME_MAIN=t.BUILD_ID_FILE=t.CONFIG_FILE=t.CLIENT_STATIC_FILES_RUNTIME=t.PHASE_PRODUCTION_SERVER=t.EXPORT_DETAIL=t.IMAGES_MANIFEST=t.CLIENT_STATIC_FILES_RUNTIME_AMP=t.CLIENT_PUBLIC_FILES_PATH=t.CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL=t.STRING_LITERAL_DROP_BUNDLE=t.TRACE_OUTPUT_VERSION=t.CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH=t.FONT_MANIFEST=t.REACT_LOADABLE_MANIFEST=t.ROUTES_MANIFEST=t.CLIENT_STATIC_FILES_PATH=t.BODY_RENDER_TARGET=t.PHASE_EXPORT=t.PHASE_DEVELOPMENT_SERVER=void 0;t.PHASE_EXPORT="phase-export";t.PHASE_PRODUCTION_BUILD="phase-production-build";t.PHASE_PRODUCTION_SERVER="phase-production-server";t.PHASE_DEVELOPMENT_SERVER="phase-development-server";t.PAGES_MANIFEST="pages-manifest.json";t.BUILD_MANIFEST="build-manifest.json";t.EXPORT_MARKER="export-marker.json";t.EXPORT_DETAIL="export-detail.json";t.PRERENDER_MANIFEST="prerender-manifest.json";t.ROUTES_MANIFEST="routes-manifest.json";t.IMAGES_MANIFEST="images-manifest.json";t.SERVER_FILES_MANIFEST="required-server-files.json";t.DEV_CLIENT_PAGES_MANIFEST="_devPagesManifest.json";t.REACT_LOADABLE_MANIFEST="react-loadable-manifest.json";t.FONT_MANIFEST="font-manifest.json";t.SERVER_DIRECTORY="server";t.SERVERLESS_DIRECTORY="serverless";t.CONFIG_FILE="next.config.js";t.BUILD_ID_FILE="BUILD_ID";t.BLOCKED_PAGES=["/_document","/_app","/_error"];t.CLIENT_PUBLIC_FILES_PATH="public";t.CLIENT_STATIC_FILES_PATH="static";t.CLIENT_STATIC_FILES_RUNTIME="runtime";t.BODY_RENDER_TARGET="__NEXT_BODY_RENDER_TARGET__";t.STRING_LITERAL_DROP_BUNDLE="__NEXT_DROP_CLIENT_FILE__";t.CLIENT_STATIC_FILES_RUNTIME_MAIN="main";t.CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH="react-refresh";t.CLIENT_STATIC_FILES_RUNTIME_AMP="amp";t.CLIENT_STATIC_FILES_RUNTIME_WEBPACK="webpack";const a=Symbol("polyfills");t.CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL=a;t.TEMPORARY_REDIRECT_STATUS=307;t.PERMANENT_REDIRECT_STATUS=308;t.STATIC_PROPS_ID="__N_SSG";t.SERVER_PROPS_ID="__N_SSP";const n="https://fonts.googleapis.com/css";t.GOOGLE_FONT_PROVIDER=n;const i=[{url:n,preconnect:"https://fonts.gstatic.com"},{url:"https://use.typekit.net",preconnect:"https://use.typekit.net"}];t.OPTIMIZED_FONT_PROVIDERS=i;t.STATIC_STATUS_PAGES=["/500"];t.TRACE_OUTPUT_VERSION=1}));var Re,ke=async function(e){const t=[];return await function(e){return Pe.default.prototype.concat.call(...e)}(e).forEach((e=>{t.push(e)})),t.join("")},Pe=(Re=Ce)&&Re.__esModule?Re:{default:Re};const Oe=async(e,t,a,n)=>{var i;const r=ue(null!==(i=e.req.url)&&void 0!==i?i:"",t,a);return r.isStatic?r:await Ne(e,r,t,a,n)},Ve=async(e,t,a,n,i)=>{const{req:r,res:p}=e;re(e,n);const d=i(t.page);try{const{html:o,renderOpts:s}=await(async(e,t,a,n)=>{var i;const{renderOpts:r,html:p}=await e.renderReqToHTML(t,a,n);let d;if("string"==typeof p)d=p;else if(p&&(d=await(null===(i=p.toUnchunkedString)||void 0===i?void 0:i.call(p)),!d))try{d=await ke([p])}catch(e){console.log("html could not be rendered using resultsToString().")}return d||(console.log("html is empty, falling back to using page's rendering function for html"),d=await e.renderReqToHTML(t,a)),{html:d,renderOpts:r}})(d,r,p,"passthrough");return s.isNotFound?t.isData?(p.setHeader("Content-Type","application/json"),p.statusCode=404,void p.end(JSON.stringify({notFound:!0}))):Oe(e,a,n,i):{isStatic:!1,route:t,html:o,renderOpts:s}}catch(r){return Te(r,e,t,a,n,i)}},Ie=async(e,t,a,n,i)=>{if(t.isRender)return Ne(e,t,a,n,i);if(t.isStatic){const r=t;if((r.fallback&&r.isData||null===r.fallback)&&r.page){return Ve(e,r,a,n,i)}if(r.fallback)return{...r,file:`pages${r.fallback}`}}return await Oe(e,a,n,i)},Me=e=>{const{initialRevalidateSeconds:t}=e;if(!(e.expiresHeader||e.lastModifiedHeader&&"number"==typeof t))return!1;const a=e.expiresHeader?new Date(e.expiresHeader):((e,t)=>new Date(new Date(e).getTime()+1e3*t))(e.lastModifiedHeader,t),n=Math.ceil(Math.max(0,(a.getTime()-Date.now())/1e3));return{secondsRemainingUntilRevalidation:n,cacheControl:`public, max-age=0, s-maxage=${n}, must-revalidate`}},qe=e=>({secondsRemainingUntilRevalidation:e,cacheControl:`public, max-age=0, s-maxage=${e}, must-revalidate`});var je={},ze=je;function Fe(e){return e<0?-1:1}function Ue(e,t){t.unsigned||--e;const a=t.unsigned?0:-Math.pow(2,e),n=Math.pow(2,e)-1,i=t.moduloBitLength?Math.pow(2,t.moduloBitLength):Math.pow(2,e),r=t.moduloBitLength?Math.pow(2,t.moduloBitLength-1):Math.pow(2,e-1);return function(e,p){p||(p={});let d=+e;if(p.enforceRange){if(!Number.isFinite(d))throw new TypeError("Argument is not a finite number");if(d=Fe(d)*Math.floor(Math.abs(d)),d<a||d>n)throw new TypeError("Argument is not in byte range");return d}if(!isNaN(d)&&p.clamp)return d=function(e){return e%1==.5&&0==(1&e)?Math.floor(e):Math.round(e)}(d),d<a&&(d=a),d>n&&(d=n),d;if(!Number.isFinite(d)||0===d)return 0;if(d=Fe(d)*Math.floor(Math.abs(d)),d%=i,!t.unsigned&&d>=r)return d-i;if(t.unsigned)if(d<0)d+=i;else if(-0===d)return 0;return d}}je.void=function(){},je.boolean=function(e){return!!e},je.byte=Ue(8,{unsigned:!1}),je.octet=Ue(8,{unsigned:!0}),je.short=Ue(16,{unsigned:!1}),je["unsigned short"]=Ue(16,{unsigned:!0}),je.long=Ue(32,{unsigned:!1}),je["unsigned long"]=Ue(32,{unsigned:!0}),je["long long"]=Ue(32,{unsigned:!1,moduloBitLength:64}),je["unsigned long long"]=Ue(32,{unsigned:!0,moduloBitLength:64}),je.double=function(e){const t=+e;if(!Number.isFinite(t))throw new TypeError("Argument is not a finite floating-point value");return t},je["unrestricted double"]=function(e){const t=+e;if(isNaN(t))throw new TypeError("Argument is NaN");return t},je.float=je.double,je["unrestricted float"]=je["unrestricted double"],je.DOMString=function(e,t){return t||(t={}),t.treatNullAsEmptyString&&null===e?"":String(e)},je.ByteString=function(e,t){const a=String(e);let n;for(let e=0;void 0!==(n=a.codePointAt(e));++e)if(n>255)throw new TypeError("Argument is not a valid bytestring");return a},je.USVString=function(e){const t=String(e),a=t.length,n=[];for(let e=0;e<a;++e){const i=t.charCodeAt(e);if(i<55296||i>57343)n.push(String.fromCodePoint(i));else if(56320<=i&&i<=57343)n.push(String.fromCodePoint(65533));else if(e===a-1)n.push(String.fromCodePoint(65533));else{const a=t.charCodeAt(e+1);if(56320<=a&&a<=57343){const t=1023&i,r=1023&a;n.push(String.fromCodePoint(65536+1024*t+r)),++e}else n.push(String.fromCodePoint(65533))}}return n.join("")},je.Date=function(e,t){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e},je.RegExp=function(e,t){return e instanceof RegExp||(e=new RegExp(e)),e};var Be=Le((function(e){e.exports.mixin=function(e,t){const a=Object.getOwnPropertyNames(t);for(let n=0;n<a.length;++n)Object.defineProperty(e,a[n],Object.getOwnPropertyDescriptor(t,a[n]))},e.exports.wrapperSymbol=Symbol("wrapper"),e.exports.implSymbol=Symbol("impl"),e.exports.wrapperForImpl=function(t){return t[e.exports.wrapperSymbol]},e.exports.implForWrapper=function(t){return t[e.exports.implSymbol]}})),$e=[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,9